Compare commits

..

228 Commits

Author SHA1 Message Date
Santo Shakil 8136babc81 fix(mobile): treat wired ethernet as unmetered on ios
check the metered flags instead of the interface type, so ethernet counts like android already does.
2026-06-27 16:35:03 +06:00
Santo Shakil 6e1143e799 fix(mobile): hide video thumbnail when video is ready (#29012) 2026-06-26 22:20:40 -05:00
github-actions 09d4a6815f chore: version v3.0.0-rc.3 2026-06-26 16:49:02 +00:00
Weblate (bot) 23d1dbcb23 chore(web): update translations (#29290)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
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/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/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/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/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
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/ta/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
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_Hant/
Translation: Immich/immich

Co-authored-by: Abel Mislovic <mislovica@gmail.com>
Co-authored-by: Adjenz <adjenz@proton.me>
Co-authored-by: Andrea <ghosts.adm@gmail.com>
Co-authored-by: Conrad Menz <weblate@spamstopover.de>
Co-authored-by: Dan Bishop <d@nbishop.uk>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Dinesh R <dinodinu@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.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: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: KZeliop <kzeliop@gmail.com>
Co-authored-by: Kong <cptkong1@gmail.com>
Co-authored-by: Maj Mohar <maj.mohar4@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com>
Co-authored-by: Sean Young <assanges@users.noreply.hosted.weblate.org>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Tijs-B <tijs.bergmans@telenet.be>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vincent Halman <vincent_halman@hotmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
2026-06-26 16:46:30 +00:00
Jason Rasmussen 6507b1f94c feat: pump doc references (#29331) 2026-06-26 16:45:06 +00:00
Santo Shakil 29949bebe4 fix(mobile): only toggle backup from the switch, not the whole row (#29236)
tapping anywhere on the enable backup row flipped backup on or off, so it was easy to toggle by accident. now only the switch does it.
2026-06-26 20:00:08 +05:30
Daniel Dietzler d85e599ad9 feat: ultimate plugin type safety (#29340) 2026-06-26 16:27:19 +02:00
jameskimmel b16cc496b2 docs: MS smtp guide (#29289)
Signed-off-by: jameskimmel <17176225+jameskimmel@users.noreply.github.com>
2026-06-26 16:16:38 +02:00
Ben Beckford 953ef5c047 feat: webhook workflow action (#29258)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-26 16:08:45 +02:00
jullang a876d4a9f1 fix: small typo in openapi-spec (#29308)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-26 10:28:52 +00:00
Daniel Dietzler 688241a462 feat: plugin-sdk safety all around (#29323) 2026-06-25 18:23:55 -04:00
shenlong cb1af3a8ec feat: favorite bottom sheet action (#29320)
* chore: cleanup partner action test

* feat: favorite bottom sheet action

* review suggestions

* implicit favorite handling

* feat: viewer favorite icon to action (#29321)

* feat: viewer favorite icon to action

* feat: advance info action

* implicit favorite handling

* feat: viewer favorite icon to action

# Conflicts:
#	mobile/lib/presentation/widgets/asset_viewer/viewer_top_app_bar.widget.dart

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

* chore: timeline action test (#29324)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

* clear selection only on success

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-25 16:55:06 -04:00
shenlong 49a821b0d0 chore: fix mobile test flakiness (#29325)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-25 22:56:59 +05:30
shenlong 3a7034d25e chore: cleanup partner action test (#29296)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-25 10:49:34 -04:00
Yaros 4099fa6b4a fix(mobile): app doesn't exit full-screen mode (#29301)
* fix(mobile): app doesn't exit full-screen mode

* chore: rename restoreSystemUI to restoreEdgeToEdge
2026-06-24 20:48:01 -05:00
Daniel Dietzler 9751530af8 feat: plugin wrapper type safety (#29300) 2026-06-24 15:22:35 -04:00
Daniel Dietzler 0931a19c5c fix: run test suite for plugin changes (#29311) 2026-06-24 16:29:46 +00:00
Alex 08b2e2c0b5 fix(docs): Revert v3 bump (#29310)
Revert "fix(docsc): v3 bump (#29246)"

This reverts commit dc7d57ff9a.
2026-06-24 11:18:37 -05:00
Santo Shakil e5b50a55a4 fix(mobile): blank notifications page after enabling notifications (#29232)
the old notification toggles were removed in a cleanup, so once notifications were enabled the page had nothing left and went blank. show a "notifications enabled" status tile with a shortcut to the system notification settings instead.
2026-06-24 09:15:28 -05:00
shenlong 9d6c219276 fix: current viewer asset reactivity (#29282)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-23 18:40:24 +00:00
shenlong f29f86542c feat: partner actions (#29281)
* feat: partner actions

# Conflicts:
#	i18n/en.json

* cleanup

* fix tests

* ci fix

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-23 23:50:59 +05:30
okxint 5165cf1d2f fix(mobile): force AssetViewerPage recreation on repeated view intents (#29235)
* fix(mobile): force AssetViewerPage recreation on repeated view intents

When View in Immich is triggered a second time while the viewer is
already open, auto_route's replaceAll reuses the existing route (same
type, null key) and Flutter keeps the old ConsumerState alive. The
PageController and preloader inside _AssetViewerState are late final,
so they never reset — the viewer stays frozen on the previous asset.

Passing UniqueKey() to AssetViewerRoute ensures each view intent
creates a fresh widget element, so initState runs, the PageController
is initialised from scratch, and the new TimelineService from the
updated ProviderScope override is picked up correctly.

Fixes #29230

* clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-06-23 17:43:56 +00:00
shenlong f4c8459484 feat: mobile actions (#29280)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-23 16:50:57 +00:00
Mees Frensel 22ec449e43 chore: remove unused i18n strings (#29288) 2026-06-23 18:02:29 +02:00
Weblate (bot) 0b1019c344 chore(web): update translations (#29204)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/
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/fil/
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/gsw/
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/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ne/
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_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ur/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translation: Immich/immich

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Benjamin Kunz <benjamin.kunz.ch@gmail.com>
Co-authored-by: Cohinem <twitch9ofe@gmail.com>
Co-authored-by: Conrad Menz <weblate@spamstopover.de>
Co-authored-by: Damian Krysta <damian@krysta.dev>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Edmundas <edmius@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: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Insoo Seok <tocoyo@gmail.com>
Co-authored-by: Jayden Lo <jaydenlo08@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es>
Co-authored-by: Manar Aldroubi <droubi@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: Melih Ozkan <malihozkan156@gmail.com>
Co-authored-by: Mr.Biswas <kallan.biswas001@gmail.com>
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nicolas Ceballos <nicoshafes@gmail.com>
Co-authored-by: Para <ahh-produktivitet@tutanota.com>
Co-authored-by: Piero B. <biagini93@gmail.com>
Co-authored-by: PierreLapolla <plapolla9@gmail.com>
Co-authored-by: Ronnel <misc.woe@outlook.ph>
Co-authored-by: Sakib Iqbal <sakib.iqbal@gmail.com>
Co-authored-by: Saugat Tripathi <saugat.tripathi76@gmail.com>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Umair Jibran <wablate@umairjibran.com>
Co-authored-by: Unimpeded Lemur <yg7lh0fz3@mozmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vitor Coelho <vitorc195@gmail.com>
Co-authored-by: grgergo <gergo_g@proton.me>
Co-authored-by: muysup <79565421+MuySup@users.noreply.github.com>
Co-authored-by: Òscar Casajuana <elboletaire@underave.net>
2026-06-23 15:50:30 +00:00
Mees Frensel 06f3b4f259 refactor(web): simple actions (#29257) 2026-06-23 17:08:46 +02:00
Ben Beckford 99f94a363d chore(web): workflow property ordering (#29261)
* chore(web): workflow property ordering

* chore(web): extract schema property sorting to method
2026-06-23 13:03:33 +00:00
Daniel Dietzler c3092b1c2c chore: basque was missing on mobile (#29284) 2026-06-23 08:57:05 -04:00
renovate[bot] 0656e7e231 chore(deps): update dependency typescript to v6 (#28772)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-23 14:01:09 +02:00
renovate[bot] 1692b81b7c chore(deps): lock file maintenance (pub) (#28733) 2026-06-23 12:43:35 +02:00
renovate[bot] ff2028c4c8 chore(deps): update prom/prometheus docker digest to a75c5a3 (#29271) 2026-06-23 12:43:16 +02:00
Timon f22836e1bf refactor(server): describe check upload id as string (#29274) 2026-06-23 12:42:42 +02:00
renovate[bot] 7dd02ffbad chore(deps): update github-actions (#29272)
Co-authored-by: bo0tzz <git@bo0tzz.me>
2026-06-23 08:49:21 +00:00
shenlong e51c4cb355 feat: column button (#29265)
* refactor: icon buttons implicit loading

* chore: cleanup

* feat: ui color override

* feat: column button

* feat: ui menu item (#29266)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-22 20:56:00 -05:00
shenlong d4102c0489 refactor: ui icon buttons implicit loading (#29263)
* refactor: icon buttons implicit loading

* chore: cleanup

* feat: ui color override (#29264)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-22 16:24:52 -04:00
shenlong 30a73c1105 feat: mobile-ui snackbar (#29260)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-22 16:22:26 -04:00
Jason Rasmussen ec7c0f9ec8 fix: sync backfill (#29267) 2026-06-22 16:19:01 -04:00
Brandon Wees a5198e23a8 refactor: use SemVer classes for version compatability message (#29056)
* refactor: use SemVer classes for version compatability message

* chore: readd major version compatabilty messages

* fix: remove 1.106.0 check

(we dont support v1 servers anymore)
2026-06-22 11:28:56 -04:00
Mees Frensel 51f2905fcc fix(web): remove map's fullscreen button (#29192) 2026-06-22 16:58:07 +02:00
Vogeluff 3b7d75c18a feat(web): Add text-white-shadow to elements and increase the shadows effect (#29165)
* fix(web): increase text shadow strength for white text on thumbnails

* fix(web): fix class order for text-white-shadow

* fixup: format fix
2026-06-22 09:43:15 -05:00
Daniel Dietzler c484bd99b6 fix: ignore external libraries for integrity report checksum check (#29248) 2026-06-22 13:56:24 +00:00
Anthony Clerici c0bf5a4c56 fix(server): use VBR for QSV so the max bitrate is respected (#29240)
* fix(server): use VBR for QSV so the max bitrate is respected

* update test
2026-06-22 09:56:20 -04:00
MuySup d9d50d2848 fix: turkish readme translation (#29234)
* Translation completed

3-2-1 rule translated

* Fix formatting of warning message in Turkish README
2026-06-22 09:55:58 -04:00
Daniel Dietzler c7453a67fd fix: detail panel people reactivity and iterator consumption (#29250) 2026-06-22 15:47:09 +02:00
Daniel Dietzler e918e3a313 feat: keyboard seeking for new video player (#29208) 2026-06-22 09:42:59 -04:00
Matthew Momjian dc7d57ff9a fix(docsc): v3 bump (#29246)
v3 bump in docs
2026-06-21 20:44:58 -05:00
Alex b24a617142 chore: bump mobile build (#29215) 2026-06-19 12:50:20 -05:00
Mees Frensel 62b00a1f26 refactor: slideshow and setalbumcover actions (#29211)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:54:33 +00:00
Timon 95fc5e9682 docs: clarify duplicate exif merging intent (#29203) 2026-06-19 10:57:35 +02:00
github-actions 38920fc4ca chore: version v3.0.0-rc.2 2026-06-18 23:20:14 +00:00
Weblate (bot) 3abeb4df92 chore(web): update translations (#29162)
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/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
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/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
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/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
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/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translation: Immich/immich

Co-authored-by: Erik Sikander <erik.sikander@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jayden Lo <jaydenlo08@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Muxutruk <156070698+Muxutruk2@users.noreply.github.com>
Co-authored-by: Muxutruk <benat.eigurenzu@elorrieta-errekamari.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Zekai Şahin <zekainihas@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bones78 <jens@mueller-starck.de>
Co-authored-by: 김도윤 <wezardnote@gmail.com>
2026-06-18 23:17:29 +00:00
Daniel Dietzler 805bb84877 fix: defensive album owner migration (#29200) 2026-06-18 23:51:38 +02:00
Daniel Dietzler a719552243 fix: rc version check (#29194) 2026-06-18 21:00:12 +00:00
Santo Shakil 9a5e7a8e47 fix(mobile): endless spinner on album selection when device has no albums (#28994)
* fix(mobile): endless spinner on album selection when device has no albums

* use a page scoped future provider for the loading state

* refactor(mobile): decide album selection empty state in the parent
2026-06-18 21:38:15 +05:30
Daniel Dietzler 62c6bb27e3 fix: workflow asset type filter required (#29196) 2026-06-18 16:04:28 +00:00
renovate[bot] f3cb3cf98d fix(deps): update dependency nodemailer to v9 [security] (#29195) 2026-06-18 17:45:15 +02:00
Santo Shakil c35abb2f66 fix(mobile): re-lock locked folder when the app is backgrounded (#29089)
* fix(mobile): re-lock locked folder when the app is backgrounded

* fix(mobile): simplify locked folder overlay condition

* fix(mobile): lock locked folder on pause instead of resume
2026-06-18 21:10:18 +05:30
Santo Shakil 793487e52c fix(mobile): refresh memories on resume and day change (#28983)
* fix(mobile): refresh memories on resume and day change

* fix(mobile): invalidate memories once after the resume sync
2026-06-18 20:46:20 +05:30
Ebin Santhosh 769c4015d3 fix(mobile): prevent duplicate login pages for unauthenticated share intent warm start (#29054) 2026-06-18 20:45:35 +05:30
renovate[bot] c07cbe7ca8 chore(deps): update dependency multer to v2.2.0 [security] (#29183) 2026-06-18 16:31:10 +02:00
Timon 6d73bf4e36 refactor(web): move keyboard state into a store (#29181) 2026-06-18 16:29:26 +02:00
renovate[bot] 735f52a321 fix(deps): update typescript-projects (#29130)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-18 16:21:35 +02:00
Daniel Dietzler 53fe26593c fix: asset type filter (#29190) 2026-06-18 15:30:34 +02:00
Daniel Dietzler 40cffcd414 fix: remove local-only step ids from workflow json (#29188) 2026-06-18 08:54:35 -04:00
Timon 48861b085e chore(server): organize integrity dtos (#29191) 2026-06-18 14:44:28 +02:00
Timon 09d0380804 refactor(server): use zod time validation (#29189) 2026-06-18 11:56:02 +00:00
Timon 83091d2834 fix(server): allow non-utc datetime offsets (#29186) 2026-06-18 11:27:11 +00:00
renovate[bot] 9a3071ae5c chore(deps): lock file maintenance machine-learning (mise) (#29152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-17 19:34:45 -04:00
Mert 7ef2de6b53 feat(server): add hls playlist hint (#29150)
* add playlist hint

* update api

* unused import

* update crf in tests
2026-06-17 19:02:10 -04:00
Timon cbe34d7931 fix(web): shift+click on GPS asset extends range selection in geolocation utility (#29022) 2026-06-17 18:53:23 +02:00
Rizwan 06c8d5a183 fix(web): use deterministic version name in svelte config (#29172) 2026-06-17 16:42:26 +00:00
Daniel Dietzler ad9817c582 fix: web i18n (#29175) 2026-06-17 11:36:48 -05:00
Mees Frensel 14f6f2c04f refactor(web): simplify places page controls and use ui's Select (#29102) 2026-06-17 10:31:49 -04:00
Adam Gastineau 327521fa27 docs(mobile): point users towards shared setup docs (#29078) 2026-06-17 10:22:45 -04:00
Tom Vincent 3be803d0c0 docs(mobile-app): add Play App Signing certificate hash (#29168) 2026-06-17 14:19:04 +00:00
Jeevan Mohan Pawar a364b56b1c fix(server): skip existing users when sharing albums (#28884)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-17 15:54:20 +02:00
renovate[bot] f9db76433e chore(deps): update github-actions to v1.313.0 (#29154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-17 09:54:19 -04:00
Timon 3f2e51c5d4 refactor(server): use uuids in schemas (#29140) 2026-06-17 14:50:17 +02:00
Mees Frensel 430a2bbfd3 chore(server): add switch case exhaustiveness lint (#29029) 2026-06-17 12:04:41 +02:00
renovate[bot] fbb0bc6e39 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.6.10 (#29153) 2026-06-17 09:17:25 +00:00
Savely Krasovsky 8d30cfa2ce chore(ml): update intel graphics compiler and compute runtime (#29163)
chore(ml): update Intel graphics compiler and compute runtime to latest versions
2026-06-16 23:09:53 +00:00
github-actions c9aa9ba711 chore: version v3.0.0-rc.1 2026-06-16 19:50:41 +00:00
Weblate (bot) 7cf904acbe chore(web): update translations (#29036)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
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/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_GB/
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/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
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: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Bananenbrot <keram2810@outlook.de>
Co-authored-by: Charles Chase <cbs.chase927@passfwd.com>
Co-authored-by: Dan Bishop <d@nbishop.uk>
Co-authored-by: Dennis <dennis.kempel@hotmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com>
Co-authored-by: Enrico Jaupi <78313537@itiscastelli.onmicrosoft.com>
Co-authored-by: Erison Silva <hey@erison.work>
Co-authored-by: Fatah Rokbi <fatahrokbi@gmail.com>
Co-authored-by: Felipe Cabrera <me@felieppe.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Jayden Lo <jaydenlo08@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: MrKoby07 <hirmerkorbinian122@gmail.com>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Nicolas Ceballos <nicoshafes@gmail.com>
Co-authored-by: Paul Comte <paulcomte1@gmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Popa <spammailsfuermich@gmail.com>
Co-authored-by: SAHOON KIM <sahuni@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Unimpeded Lemur <yg7lh0fz3@mozmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: azuziii <azuzii@proton.me>
Co-authored-by: dimetrius <dmitrytashin@gmail.com>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: rubes <mail@armd.one>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
2026-06-16 19:48:06 +00:00
renovate[bot] 983a005709 chore(deps): update github-actions to v3 (#29147) 2026-06-16 19:18:01 +00:00
Santo Shakil cda499f2b5 fix(mobile): keep toasts off the dynamic island when keyboard is open (#29159) 2026-06-16 18:51:29 +00:00
Santo Shakil 12b7cd066b fix(mobile): show memories with no showAt/hideAt in the timeline lane (#29158) 2026-06-16 18:46:52 +00:00
shenlong 83b4dc1733 fix: scrolling state update after unmounted (#29149)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-16 13:14:09 -05:00
Daniel Dietzler a9d64b30ad chore: update multi-runner-build (#29148) 2026-06-16 19:37:12 +02:00
renovate[bot] 3927eb6755 chore(deps): update base-image to v202606161235 (#29151) 2026-06-16 17:29:17 +00:00
renovate[bot] 27cfa0e788 chore(deps): update github-actions (#29146) 2026-06-16 19:22:40 +02:00
renovate[bot] 76c042abc7 chore(deps): lock file maintenance (mise) (#29091) 2026-06-16 19:08:09 +02:00
shenlong 0f49bcbd27 chore: do not optimize on cleanup (#29118) 2026-06-16 12:42:12 -04:00
Mees Frensel df4a708aed chore(e2e): remove vite-tsconfig-paths (#29145) 2026-06-16 18:21:24 +02:00
renovate[bot] 34f78e3fd4 chore(deps): update github-actions (#29124) 2026-06-16 17:53:55 +02:00
Mees Frensel 3c2296b818 chore(web): use ui's Badge (#29143) 2026-06-16 17:12:25 +02:00
Daniel Dietzler 805ca1a2bf chore: maintenance page design tweaks (#29087) 2026-06-16 09:15:54 -05:00
Santo Shakil 9ee412110f fix(mobile): stop sync albums crashing on the main isolate (#29133)
the album sync provider read cancellationProvider, which only exists in the background isolate and throws on the main one. moved the cancel signal onto the isolate call path.

fixes #29125
fixes #29119
2026-06-16 09:14:33 -05:00
Brandon Wees 010220d588 fix: video thumbnail quality sharing (#29104) 2026-06-16 09:13:31 -05:00
shenlong 10fddf2d51 fix: resize map after scroll (#29112)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-16 09:13:28 -05:00
Mees Frensel d307ab60ca fix: update datetimeRelative description to minutes instead of seconds (#29137) 2026-06-16 16:09:45 +02:00
Timon ce59cc9241 docs(server): clarify AssetBulkUploadCheckItem.id is a correlation token (#29141) 2026-06-16 14:07:36 +00:00
Mees Frensel 1fa034125c fix(web): language selector (#29065) 2026-06-16 15:49:47 +02:00
okxint 8036dc4b8c fix(web): respect local timezone when building date range for search (#29128) 2026-06-16 13:45:49 +00:00
renovate[bot] 54895fb10e chore(deps): update node to ^24.13.2 (#29129) 2026-06-16 13:43:22 +00:00
Daniel Dietzler e70a1163f3 fix: too strict cron expression validation (#29138) 2026-06-16 13:20:40 +00:00
Daniel Dietzler a23a7c69ae fix: map settings (#29134) 2026-06-16 15:18:57 +02:00
Daniel Dietzler f21a753aff fix: integrity report checksum query (#29136) 2026-06-16 15:11:20 +02:00
Timon cc8d3b4107 fix(server): do not merge metadata when multiple duplicates are kept (#29035)
* fix(server): do not merge metadata when multiple duplicates are kept

* Update server/src/services/duplicate.service.spec.ts

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

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-06-15 16:05:04 -04:00
Alex 622a330d82 chore: slideshow transition improvement (#29079)
* chore: better slideshow transition

* chore: tune

* simplify setup

* better default

* fix: correctly zoom alternatively

* lint
2026-06-15 10:10:05 -05:00
Timon 5e8744a568 fix: lock transcoding options (#29076) 2026-06-15 10:50:00 -04:00
Timon b633cc4f04 fix(server): hide partner archived asset locations from map (#29028) 2026-06-15 16:30:52 +02:00
Timon a9ee6a7ce9 fix(web): show asset arrows (#29010)
* fix(web): show asset arrows

* lint
2026-06-15 10:22:59 -04:00
Daniel Dietzler c273ccf2e2 feat: languages (#29088) 2026-06-15 16:01:09 +02:00
Mees Frensel 5f1a180d1a chore(web): remove dead code (#29092) 2026-06-15 14:54:51 +02:00
Brandon Wees cc54de87aa fix(web): error loading image state (#29058) 2026-06-15 13:38:52 +02:00
Mees Frensel a97e5999e4 chore(web): make login page email and password required (#29068) 2026-06-15 13:34:49 +02:00
okxint 46631b3786 fix(web): prevent upload status panel from overlapping album action bar (#29044) 2026-06-15 13:21:02 +02:00
Mees Frensel 5a3be158b9 fix(web): show album names in duplicate review (#29080) 2026-06-15 12:47:17 +02:00
maxinegardenas b21af78454 fix(web): correctly handle person search with more than 100 results (#29002) 2026-06-12 20:04:52 +00:00
Santo Shakil abd62d9295 fix(mobile): show like and comment options on album photo deep links (#29020) 2026-06-12 14:55:26 -05:00
Jason Rasmussen e31d4aa909 fix: prerelease draft (#29034) 2026-06-12 12:43:19 -04:00
Daniel Dietzler 43b2d04e2c fix: version tests (#29032) 2026-06-12 15:54:42 +00:00
github-actions e4dbe777a0 chore: version v3.0.0-rc.0 2026-06-12 14:55:39 +00:00
Weblate (bot) d36aed4c5b chore: update translations (#27764)
chore(web): update translations















































































































































































































Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/af/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/az/
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/de_CH/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fil/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/
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/ta/
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/uz/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich

Co-authored-by: -J- <heyj0e@tuta.io>
Co-authored-by: 12LuA <Luca.strack@gmx.de>
Co-authored-by: AM <alex2539rulez@yahoo.com>
Co-authored-by: Abdel rahman Abdaldeen <abd.abdaldeen@gmail.com>
Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com>
Co-authored-by: Adam <adammarzec2@protonmail.com>
Co-authored-by: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Ah Tui <kit719@gmail.com>
Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Alessandro Mandelli <mandelli.alessandro@ngi.it>
Co-authored-by: Alex <darkstylo@gmail.com>
Co-authored-by: Alvaro Samudio <alvarosamudio1@gmail.com>
Co-authored-by: Andreas Fjetland <andreas@fjet.no>
Co-authored-by: Andreas W. Pross <andreas.pross@styletronix.net>
Co-authored-by: Andrii Solianyk <asolianik2015@gmail.com>
Co-authored-by: Andrius <sndriuss@gmail.com>
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Antonio Labate <antoniolabate19@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Avihai Zarouk <myaulamyau@gmail.com>
Co-authored-by: Bartłomiej <20731216+Jarsey45@users.noreply.github.com>
Co-authored-by: Bas Wevers <baswevers@gmail.com>
Co-authored-by: Bat-Uyanga Batdelger <batuyanga@gmail.com>
Co-authored-by: Benjamin Serec <serec.benjamin@gmail.com>
Co-authored-by: Bonnie 20402 <darioperreira2013@gmail.com>
Co-authored-by: Bora Atıcı <boratici.acc@gmail.com>
Co-authored-by: BrekkeLiten <david@brek.ke>
Co-authored-by: Calvin Erfmann <calvin.erfmann@pm.me>
Co-authored-by: Carlo Beltrame <weblate@pendantmusic.ch>
Co-authored-by: Carlos de Freitas <cjcfreitas@gmail.com>
Co-authored-by: Charles Frégeau <fregeauc@outlook.com>
Co-authored-by: Climent Fernández Andújar <climentfean@gmail.com>
Co-authored-by: Clément Pingliez <pingliezclement@gmail.com>
Co-authored-by: Cédric <cedric@laubacher.io>
Co-authored-by: D S <weblate.2w8z9@slmail.me>
Co-authored-by: Dan <rattly@duck.com>
Co-authored-by: David Bono <dbono2454@gmail.com>
Co-authored-by: David Maneiro <david.maneiro8@gmail.com>
Co-authored-by: David Miguel Rodrigues Rosa <dmr.rosa@gmail.com>
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Dmitry Banny <dj.icecore@gmail.com>
Co-authored-by: Dmytro Sergienko <dima.sergienko@gmail.com>
Co-authored-by: Don't use my name <maxabmeyer@gmail.com>
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com>
Co-authored-by: Dániel Gál <galdaniel.school@gmail.com>
Co-authored-by: Elyas Sindi <elyassindi@proton.me>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Felix Noren <fnoren17@gmail.com>
Co-authored-by: Filipe Monteiro <pimonteiro@protonmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Focron <eliaelmas55@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net>
Co-authored-by: Gnubblz <philipp@phild.de>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hamza Foziljonov <hamza.uztranslator@gmail.com>
Co-authored-by: Hans Cats <hanscats@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Haru Ijima <haruijimakun@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Iren <iren.biggel@gmail.com>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: JPar99 <github.wad969@passmail.com>
Co-authored-by: Jarle K. Hopland <jarlekh@gmail.com>
Co-authored-by: Jayson <mrjaysonbulugagao@gmail.com>
Co-authored-by: Jeanré du Plessis <jeanreduplessis2000@gmail.com>
Co-authored-by: Jedediah Russell <john17three@protonmail.com>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: Joel Molina Navarro <joelmolinanavarro21@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: João M. Gabaldi <opera-hidras-0r@icloud.com>
Co-authored-by: Juan Casimiro <jc7946033@gmail.com>
Co-authored-by: Julius Lehmann <julius.lehmann.privat@gmail.com>
Co-authored-by: KecskeTech <teonyitas@gmail.com>
Co-authored-by: Kristian Franceschini <kristian@kmsfhost.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Loonatiq <Loona9422@pm.me>
Co-authored-by: Lorenz Schmid <schmidlorenz@gmx.ch>
Co-authored-by: MSDNicrosoft <i@msdnicrosoft.work>
Co-authored-by: Manfred Bjørlin <manfred.bjorlin@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Marco Janssen <Marco@neverminds.net>
Co-authored-by: Marco Mertel <mertel.marco@gmail.com>
Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com>
Co-authored-by: Martin <weblate.recoil725@passmail.net>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matteo Morari <matteo.morari04@gmail.com>
Co-authored-by: Matthias Cramer <matthias.cramer@iway.ch>
Co-authored-by: Maxi Herczegh <maxiherczegh@outlook.com>
Co-authored-by: Maćvej Pažytnykh <ma.pazhitnykh@gmail.com>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: Melih Ozkan <malihozkan156@gmail.com>
Co-authored-by: Mike Moolenaar <mike.moolenaar@posteo.nl>
Co-authored-by: Milos <milos@milic.in>
Co-authored-by: Molnár Bence Attila <it@bence0327.hu>
Co-authored-by: Mona Lisa <monalisa@users.noreply.hosted.weblate.org>
Co-authored-by: Mona Lisa <nickwick@users.noreply.hosted.weblate.org>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: NAL <niko.a.leinonen@gmail.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nandhakumar Subramanian <nandha.kumar790@gmail.com>
Co-authored-by: Nicholas Amadori <nico282@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Nuno Aparicio <nunoxyz@gmail.com>
Co-authored-by: OffsetMonkey538 <offsetmonkey538@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com>
Co-authored-by: Osama <laptooxz@proton.me>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: Patrick Raths <piroh1990@gmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Pavlo Sydoriuk <sidopas@gmail.com>
Co-authored-by: Pazystamas <pazystamas@gmail.com>
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org>
Co-authored-by: Phillip Kang <phillipxkang@gmail.com>
Co-authored-by: Piero B. <biagini93@gmail.com>
Co-authored-by: Piero Bi <biagini93@ik.me>
Co-authored-by: PilgrimToHyperion <pilgrimtohyperion@gmail.com>
Co-authored-by: Piotr Pazhytnykh <pazhitnykhpetr@gmail.com>
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com>
Co-authored-by: Rafael Henrique <rafaelmobile124@gmail.com>
Co-authored-by: Raul <raul.plesa@gmail.com>
Co-authored-by: Ravuru Umesh <umeshravuru@gmail.com>
Co-authored-by: Remco <remco@pander.io>
Co-authored-by: Ricardo Tomazela do Prado <kao.prado@gmail.com>
Co-authored-by: Richiondrugs <riccardocastellano07@gmail.com>
Co-authored-by: Robert Virkus <robert.virkus@enough.de>
Co-authored-by: Robin Schanbacher <robin@schanbros.de>
Co-authored-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Co-authored-by: Sebastian <sebastiankiwidk@gmail.com>
Co-authored-by: Seungbeom Ha <tmdqja75@gmail.com>
Co-authored-by: Shaw <shawyunz@gmail.com>
Co-authored-by: Simone Ognibene <ognibene2001@gmail.com>
Co-authored-by: Steffen Seubert <seubert.steffen@gmail.com>
Co-authored-by: Sven Kortekaas <github@skortekaas.nl>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TA <tobi@warsnich.de>
Co-authored-by: TLuce <thomas.luce@ik.me>
Co-authored-by: Taleh Rzayev <talehji@gmail.com>
Co-authored-by: Thomas van Gemert <dendolla@users.noreply.hosted.weblate.org>
Co-authored-by: Thế Anh Hoàng <the.anh.ls@gmail.com>
Co-authored-by: Tijs-B <tijs.bergmans@telenet.be>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Tom Mueller <muellertomgabsnichtmehr@gmail.com>
Co-authored-by: Tomislav Renić <trenic@gmail.com>
Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Co-authored-by: Ulices <hasecilu@tuta.io>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: VRADDB <dimitri.debruyne@vanroey.be>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: Vishal Ghelani <vishal.ghelani@gmail.com>
Co-authored-by: WellsTsai <dan50907@gmail.com>
Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Co-authored-by: Yohsi <yohan.simard@proton.me>
Co-authored-by: Yolopix <13918281+y0lopix@users.noreply.github.com>
Co-authored-by: Yusuf Soyipek <yusuf@soyipek.com>
Co-authored-by: Zhigang Wu <wu.zhigang@xuan-ming.net>
Co-authored-by: Zillazapdos <harald.vagle.undheim@icloud.com>
Co-authored-by: adun <github.scariness216@passinbox.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: arvissidorovs <arvis.sidorovs@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bosund <bosund@gmail.com>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: daniqss <danielqueijo14@gmail.com>
Co-authored-by: david7xw <davdavid7xw@gmail.com>
Co-authored-by: dkorecko <github@david.korecko.com>
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org>
Co-authored-by: fascinate722 <fascinate722@gmail.com>
Co-authored-by: guillermo <guillermoremesa@gmail.com>
Co-authored-by: h1nnak <gerlich@mailbox.org>
Co-authored-by: hanlie <Hanlie@users.noreply.hosted.weblate.org>
Co-authored-by: iwonder <iwonder@users.noreply.hosted.weblate.org>
Co-authored-by: jasoisjaso <jaso.bih@gmail.com>
Co-authored-by: jicetus. <jicetus@users.noreply.hosted.weblate.org>
Co-authored-by: jmilovic <krunazajecar@gmail.com>
Co-authored-by: josuloo99 <josuloidi1999@gmail.com>
Co-authored-by: jw2122 <johwol25@gmail.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: miiyuh <itsazripp2@gmail.com>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: oliwia <mroskarez@gmail.com>
Co-authored-by: on9686 <on9686@gmail.com>
Co-authored-by: outsider-tabby-pox <outsider-tabby-pox@duck.com>
Co-authored-by: pneuly <pneuly@gmail.com>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: rubes <mail@armd.one>
Co-authored-by: s0nprem0 <s0nprem0@proton.me>
Co-authored-by: scudo <whiteshield.tg@protonmail.com>
Co-authored-by: slick-daddy <129640104+slick-daddy@users.noreply.github.com>
Co-authored-by: tct123 <tct1234@protonmail.com>
Co-authored-by: traumanndylan <traumanndylan@gmail.com>
Co-authored-by: tvirolai <tuomo.virolainen@rebase.fi>
Co-authored-by: veiskiboi <vesahok@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: x0x0b <42596409+x0x0b@users.noreply.github.com>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>
Co-authored-by: Сергій Савчук <serge.savchuk@gmail.com>
Co-authored-by: 星 <seirun124@gmail.com>
Co-authored-by: 정동걸 <i.jdk.dev@gmail.com>
2026-06-12 14:52:03 +00:00
Alex f1da9d2429 chore: update perm for build mobile in release gha (#29027) 2026-06-12 14:34:11 +00:00
Mees Frensel 232ca3cf3f chore(web): clarify workflow triggers (#29026) 2026-06-12 19:43:57 +05:30
Matthew Momjian 50f1121459 fix(docs): v3 bumps (#29007)
* v3 bumps

* format
2026-06-12 09:34:35 -04:00
Mees Frensel 892397807c chore(web): add switch case exhaustiveness lint (#29015) 2026-06-12 09:30:19 -04:00
Timon 714c647937 fix(web): focus on scrollable element on load (#29004)
fix(web): focus on scrollable element on load
2026-06-12 12:59:16 +02:00
Spencer Stingley c56f477a0f fix: Improving scroll behavior on image stacks that overflow the screen (#28885)
Co-authored-by: Spencer Stingley <accounts@blankcanvas.io>
Co-authored-by: Mees Frensel <33722705+meesfrensel@users.noreply.github.com>
2026-06-12 11:50:10 +02:00
shenlong 296cd40da9 refactor: nullable settings key (#28988)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-11 18:05:50 -05:00
Alex a17276fd1e chore: remove incompatibility message warning (#28993)
* chore: remove incompatibility message warning

* lint
2026-06-11 18:05:19 -05:00
Jason Rasmussen c3e23a6b3a fix: schema configuration (#29000) 2026-06-11 18:05:07 -05:00
Jason Rasmussen 13a7b4a276 fix: pump script (#28998) 2026-06-11 18:04:42 -05:00
renovate[bot] 563cff26bf chore(deps): update machine-learning (#28934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 14:40:20 -04:00
Daniel Dietzler e81b6778ca fix: workflow page reactivity issues (#28996) 2026-06-11 13:13:25 -05:00
Alex aa6af7ce36 chore: workflow trigger i18n (#28992) 2026-06-11 10:55:18 -05:00
Santo Shakil 59d036a2ed fix(mobile): give android notification channels proper names (#28986) 2026-06-11 15:07:37 +00:00
renovate[bot] 7a5c014558 fix(deps): update typescript-projects (#28627)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-11 17:02:54 +02:00
Santo Shakil e2954b6411 fix(mobile): show albums whose assets are all trashed (#28985) 2026-06-11 09:41:02 -05:00
renovate[bot] 0fb18ed241 chore(deps): update dependency commander to v15 (#28936) 2026-06-11 12:18:25 +02:00
renovate[bot] c0b3b08ce6 chore(deps): update exiftool to v35.21.0 (#28933) 2026-06-11 12:16:13 +02:00
Mees Frensel e8a1084e5b fix(web): heatmap layout and date formatting (#28976)
* fix(web): heatmap layout and date formatting

* chore

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-06-11 08:36:34 +00:00
Santo Shakil d227ba2d51 fix(mobile): stale details after editing asset date (#28977) 2026-06-10 21:32:02 -05:00
Santo Shakil 9cb94343d1 fix(mobile): keep timezone when editing asset date time (#28978)
* fix(mobile): keep timezone when editing asset date time

* fix(mobile): negative utc offsets with minutes off by an hour
2026-06-10 21:31:31 -05:00
Mert aa126e377c fix(server): add hint header for segment after init.mp4 (#28867)
* add hint header for segment after init.mp4

* use zod

* actually validate

* update openapi

* linting
2026-06-10 19:18:36 -04:00
Paul Makles 74878628c8 feat: integrity check jobs (missing files, untracked files, checksums) (#24205)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Signed-off-by: izzy <me@insrt.uk>
2026-06-10 21:02:27 +02:00
Mees Frensel 4ead3e697d chore(server): update asset not ready error messages (#28968) 2026-06-10 20:23:17 +02:00
Daniel Dietzler fb798a8f29 chore: remove person workflow elements (#28974) 2026-06-10 18:49:33 +02:00
Santo Shakil 07813135b5 fix(mobile): deduplicate people in asset details panel (#28972) 2026-06-10 14:37:45 +00:00
Daniel Dietzler 92a75b0cd3 fix(web): person that is in the same asset multiple times (#28971) 2026-06-10 09:32:29 -05:00
Alex 8132e8a38c feat: image quality option in sharing (#28918)
* feat: share with quality options

* merge main

* clean up

* refactor

* translation

* translation

* add settings and default behavior

* fix: lint

* cleanup

* merge main

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-10 09:26:09 -05:00
Yaros 43f2f56530 fix(mobile): map timeline layout crash (#28878) 2026-06-10 14:02:36 +00:00
renovate[bot] e580bb5d0a chore(deps): update github-actions (#28930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 09:45:02 -04:00
bo0tzz d3680871ef feat: warn if microservices worker is missing (#28869)
* feat: warn if microservices worker is missing

* fix: ci
2026-06-10 09:31:32 -04:00
Stefan Yoshovski b9b1cc2f65 feat(web): warn before overwriting existing locations in geolocation utility (#28840) 2026-06-10 11:09:12 +00:00
Pedro Vieira 7d198956a6 fix(web): Prevent face editor from closing when dismissing tag confirmation (#28900) 2026-06-10 12:31:52 +02:00
Pedro Vieira a7b5f81701 fix: normalize diacritics in person name search in Web & Mobile (#28887) 2026-06-10 12:05:07 +02:00
Timon 5c38373808 refactor(server): allow -1 rating again (#28886) 2026-06-10 10:55:51 +02:00
Ben Beckford 1ce961fbb3 feat: geolocation workflow filter (#28961)
* feat: geolocation workflow filter

* refactor: geolocation workflow filter

* feat: location filter workflow example
2026-06-10 05:05:01 +00:00
shenlong 4bc411b7c7 revert: clear album description sends null instead of empty string (#28956)
Revert "fix(mobile): clear album description sends null instead of empty string (#28817)"

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-09 22:05:37 -05:00
Santo Shakil 11c1025271 fix(mobile): add album picker to archive bottom sheet (#28953) 2026-06-09 14:45:32 -05:00
Jason Rasmussen 8b5385f94b feat: add prerelease support to pump version (#28922)
refactor: pump script
2026-06-09 14:42:10 -04:00
Alex d3438cf4a7 chore: improve OCR button and display on mobile (#28926)
* chore: improve OCR button and display on mobile

* Refactor

* format

* simplify ocr toggle button

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-09 13:20:18 -05:00
Alex 6c5c6a1035 fix: realign badge icon (#28951) 2026-06-09 11:44:29 -05:00
Santo Shakil c928787b3e fix(mobile): show error when creating an album fails (#28942)
it failed silently when the server was down. also disable create for blank titles.
2026-06-09 16:41:32 +00:00
Santo Shakil fe9ca4f40a fix(mobile): show memory and folder dates in local time (#28941) 2026-06-09 10:55:43 -05:00
Savely Krasovsky a665cec920 feat(ml): update Intel graphics compiler and compute runtime (#28924)
feat(ml): update Intel graphics compiler and compute runtime to latest versions
2026-06-09 11:08:03 -04:00
Alex 568283a8eb fix: stale translation generation (#28949) 2026-06-09 14:28:48 +00:00
renovate[bot] f382624e68 fix(deps): update @immich/ui to ^0.80.0 (#28935) 2026-06-09 11:19:41 +02:00
renovate[bot] 24dad15636 chore(deps): update grafana monorepo to v12.4.4 (#28931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 00:05:01 -04:00
renovate[bot] 7ab533b57b chore(deps): update dependency vitest to v3.2.6 [security] (#28915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 00:03:56 -04:00
Timon d10153bbc7 fix(server): hide isFavorite from album asset sync stream (#28923)
* fix(server): hide isFavorite from album asset sync stream

* some tests

* Revert "some tests"

This reverts commit 3242e6961c.

* alter existing test to clear test's intent

* Reapply "some tests"

This reverts commit f1d4c47f5f.

* drop one

* sql
2026-06-09 00:03:03 -04:00
Timon b846afeb08 chore(server): tests for hide isFavorite for partner assets (#28927) 2026-06-09 00:01:39 -04:00
shenlong e222b19576 fix: do not handle drag without enough scrub area (#28921)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-08 16:47:08 -05:00
shenlong 1fee99cd2a ci: verify pigeon autogen output during static analysis (#28920)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-08 16:46:51 -05:00
bo0tzz 70bb7e4b7e fix: step name reference in fix-format.yml (#28912) 2026-06-08 14:32:34 -04:00
Yaros f973927c68 docs: replace make for mise (#28913)
* docs: replace make for mise

* chore: remove makefile comment
2026-06-08 14:31:23 -04:00
Daniel Dietzler e29267359e fix: detail panel faces reactivity issues (#28910) 2026-06-08 18:07:57 +02:00
joojoooo 164cda87a3 fix(web): use irot/imir tags for HEIF Orientation (#27820)
* fix(web): use irot/imir tags for HEIF Orientation

* ignore Exif Orientation for HEIF images per MIAF standard compliance

* add Rotation and Mirroring to exiftool numericTags

* add isHeifBasedImage function to detect HEIF-based image extensions

* add getHeifBasedOrientation method to map irot/imir tags to ExifOrientation

* removed mirroring, simplified code

* Removed "Based" in "heifBased"

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-06-08 09:33:28 -04:00
renovate[bot] 12d344efe0 chore(deps): update pnpm to v11 (#28773)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-06-08 14:44:45 +02:00
Timon 474efd39f8 refactor(server): prevent sharing album with owner by filtering out user from albumUsers (#28891)
fix(server): prevent sharing album with owner by filtering out user from albumUsers
2026-06-07 17:46:26 -04:00
Timon 9e453440e6 refactor(server): deprecate PUT routes in favor of PATCH (#28859)
* add patch routes and deprecate put

* gen client
2026-06-07 09:40:01 -04:00
Timon 8860817c76 chore: global Java (#28874) 2026-06-07 09:36:28 -04:00
shenlong 3c108a8d22 fix: reload timeline on group by setting change (#28864)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-05 19:08:39 +00:00
Santo Shakil 8d553d6e9c chore: add santo to mobile codeowners (#28863) 2026-06-05 17:24:07 +00:00
Yaros 346b98ed4f feat(mobile): min face count per-user (#28805) 2026-06-05 13:16:07 -04:00
shenlong 60683bd91e fix: cross isolate drift watchers (#28862)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-05 12:15:41 -05:00
Daniel Dietzler b6938614b2 feat: latest language requests (#28858) 2026-06-05 18:01:27 +02:00
bo0tzz 98961a1d36 fix: filter close-duplicates for org members (#28856) 2026-06-05 10:34:29 -05:00
Daniel Dietzler 5ae95102b4 chore: workflow drag and drop improvements (#28838) 2026-06-04 21:45:31 -05:00
shenlong 216d0ba365 fix: notify timeline updates after sync (#28846)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-04 18:17:04 -05:00
Timon 28e42f7e29 refactor(mobile): use Optional only on API boundary (#28845) 2026-06-05 04:29:13 +05:30
Yaros 733373c0ca feat(mobile): ocr support (#26523) 2026-06-05 04:29:03 +05:30
shenlong 5617d6ca7c ci: ios builds (#28847)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-05 03:50:39 +05:30
Brandon Wees 875dd2dead fix: check continue origins with URL constructor (#28835)
* fix: check origins with URL constructor

* fix: fallback

* chore: tests
2026-06-04 16:20:05 -04:00
Jason Rasmussen 9043bc8435 fix: error handling (#28843) 2026-06-04 16:19:16 -04:00
Abhijeet Sanjiv Bonde b3d49045de feat: user upload heatmap (#28593)
* Feat - Heatmap

* Implemented Comments to prettify and code cleanup

* fixing code to pass cases.

* fixing errors for OpenAPI Clients

* Improving the code.

* Fix code

* Rerun generated client check

* Rerun generated client

* feat: command for user pages (#28554)

* fix(web): timeline stuttering with many assets in 1 day (#28509)

* fix(web): timeline stuttering with many assets in 1 day

* cache isInOrNearViewport per day

* skip inOrNearViewport check on first run

* chore(ml): allow insightface 1.x (#28595)

* chore(ml): allow insightface 1.x

The new insightface 1.0 release appears to have no breaking code changes nor relevant license changes ([before](https://github.com/deepinsight/insightface/blob/2a78baec428354883e0cda39c54b555a5ed8358a/README.md), [after](https://github.com/deepinsight/insightface/blob/70f3269ea628d0658c5723976944c9de414e96f8/README.md), c.f. https://github.com/immich-app/immich/blob/fd7ddfef54cdf2b6256c4fc08bc5ff3f86176775/machine-learning/README.md), and it works on my machine.

* Update uv.lock

* please excuse my incompetence

* Triggering the actions.

* bad merge

* Fix code

* Code clear

* Resolve conflict

* Resolve conflict

* Resolve conflict

* Resolve errors

* Resolve errors

* Resolve errors more

* chore: clean up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Ben Beckford <ben@benjaminbeckford.com>
Co-authored-by: Aaron Liu <aaronliu0130@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-06-04 15:36:09 -04:00
shenlong 58528cad08 refactor: replace drift_flutter with drift_sqlite_async (#28440)
replace drift_flutter with drift_sqlite_async

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-05 00:01:50 +05:30
Mees Frensel 99281de6ab refactor!: disallow star rating < 1 (#27896)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: timonrieger <mail@timonrieger.de>
2026-06-04 17:06:28 +00:00
Daniel Dietzler 6268d23d12 fix: restore video play/plause shortcut (#28837) 2026-06-04 18:51:16 +02:00
Daniel Dietzler d7999ce1d1 feat: workflows drag and drop enhancements (#28764) 2026-06-04 10:46:51 -05:00
shenlong 6b0fd89cd2 refactor: partner-page (#28783)
* refactor: partner-page

* cleanup

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-04 09:05:45 -04:00
Daniel Dietzler 4b0adb7a1e fix: stack arrow navigation when not directly navigating to an asset (#28828) 2026-06-04 14:49:12 +02:00
shenlong de70d19d20 feat: show notification and battery optimization warning (#26610)
* feat: show notification and battery optimization warning

* cleanup

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-04 12:24:39 +00:00
bo0tzz 7155bb1e80 chore: fix up docs placeholders (#28814) 2026-06-04 08:19:40 -04:00
Alex fa08e72d30 chore: scope flutter install from mise (#28820)
* chore: scope flutter install from mise

* ci: scope use-mise to mobile directory

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-04 17:24:38 +05:30
Timon e2de8c7c53 refactor(server)!: remove changeExpiryTime (#28816)
* fix(mobile): clear shared link password

* fix(mobile): clear shared link description

* fix(mobile): clear shared link expiry

* refactor(server)!: remove changeExpiryTime

* fix(mobile): clear shared link expiry

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-06-04 08:35:45 +00:00
Santo Shakil 429e181c8f fix(mobile): run iOS bg task phases in parallel (#28293)
onIosUpload runs sync local, sync remote, hash and handle backup
sequentially. on the bg refresh task path that's a 20s budget from
iOS, and sync + hash usually eat all of it before backup gets a turn
to enqueue any candidates.

these phases don't actually depend on each other. local + remote sync
touch different tables. hash works off whatever's already in drift.
handle backup reads candidates and just enqueues to URLSession bg.
anything one phase produces in this fire shows up to the others on
the next fire, and server-side dedup catches the rare race where
backup enqueues something sync remote was about to mark as already
uploaded.

so this runs all four concurrently via Future.wait, with hash getting
the full maxSeconds-1 budget instead of a fixed 5s. outer budget
timeout still caps everything before iOS expires.

second small change: getAssetsToHash orders by createdAt DESC instead
of id ASC to match getCandidates. when hash runs inside a refresh
fire it processes recent photos first.
2026-06-03 20:13:52 -05:00
winston 7f611d9031 test: fix tests when OpenVINO provider is available (#28802)
mocking `onnxruntime.get_available_providers()` to always use the CPU EP.
2026-06-03 20:52:08 -04:00
Timon e94e22f3f8 fix(server): respect timezone in iso date string encoding (#28810) 2026-06-03 19:00:10 -04:00
Timon 4a8c3b60be fix(mobile): clear album description sends null instead of empty string (#28817) 2026-06-03 18:22:19 -04:00
Timon 2190aa72a8 refactor(server): zod int validation (#28804) 2026-06-03 18:21:07 -04:00
Timon d21cb28526 fix(mobile): shared link edit sends explicit null instead of empty string (#28812)
* fix(mobile): clear shared link password

* fix(mobile): clear shared link description

* fix(mobile): clear shared link expiry
2026-06-03 18:19:35 -04:00
Timon 5c33eb3204 refactor(server)!: drop empty string to null conversion (#28808)
refactor(server): drop empty string to null conversion
2026-06-03 18:16:53 -04:00
Mert 137687bc0f fix(web): set src for progressive video player (#28813)
set src
2026-06-03 17:07:23 -04:00
Peter Ombodi 9d4a6614b1 feat(mobile): Android. Immich as a gallery / image viewer app (#26109)
* feat(mobile): handle Android ACTION_VIEW intent
- add ViewIntent Pigeon API and generated bindings
- implement Android ViewIntentPlugin + iOS no-op host
- route ExternalMediaViewer by ViewIntentAttachment
- buffer pending view intents and flush on user ready/resume

* feat(mobile): fallback to computed checksum for timeline match
- hash local asset on-demand when checksum missing
- search main timeline by localId or checksum before standalone viewer
- persist computed hash into local_asset_entity

* fix(mobile): proper handling is user authenticated

* feat(mobile): open ACTION_VIEW fallback in AssetViewer
drop ExternalMediaViewer route

* feat(mobile): add logger

* test(mobile): add unit tests for view intent pending/flush flow

* fix(mobile): fix format

* fix(mobile): remove redundant iOS code
update code related to LocalAsset model and asset viewer

* refactor(mobile): simplify view intent flow and support file-backed ACTION_VIEW assets
remove redundant view intent model/repository layer
handle transient ACTION_VIEW files in viewer/upload flow
clean up managed temp files for fallback assets

* refactor(mobile): extract MediaStore utils and resolve view intents via merged assets

* refactor(mobile): move deferred view intents into providers, split view-intent providers, and clean up ACTION_VIEW handling

* refactor(mobile): resolve merge conflicts
use NativeSyncApi for hash files instead method from removed BackgroundServicePlugin.kt

* style(mobile): format files

* style(mobile): format files #2

* refactor(mobile): lazily materialize view-intent files and clean up temp-file handling

* fix(mobile): flush pending view intents after login navigation

* refactor(mobile): split view intent handler by platform and trigger it from app events

* refactor(mobile): move view intent handling behind platform-specific factories

* refactor(mobile): simplify code

* fix(mobile): hand off deep-link viewer to main timeline after upload
Add MainTimelineHandoffCoordinator to switch the asset viewer to the main timeline once a view-intent asset is uploaded and becomes available, and guard viewer reload/navigation transitions to avoid race conditions and crashes.

* refactor(mobile): use remote asset ids for view intent handoff and simplify resolver

* refactor(mobile): resolve merge conflicts

* style(mobile): reformat code

* style(mobile): reformat code #2

* fix(mobile): stabilize Android view intent asset resolution and fallback viewer

* refactor(mobile): share AssetViewer pre-navigation state preparation

* fix(mobile): wait for main timeline before deferred view intent handoff

* refactor(mobile): decouple view intent asset resolver from providers

* fix(mobile): avoid double pop when canceling upload dialog

* fix(mobile): resolve view intent MIME type with fallbacks

* docs(mobile): clarify view intent fallback asset TODO

* fix(mobile): resolve merge conflicts

* cleanup

* lint

---------

Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-06-03 12:05:52 -05:00
Jason Rasmussen e4352a7817 fix: error log on aborted uploads (#28806) 2026-06-03 12:47:38 -04:00
shenlong 911dde39c9 ci: verify mobile backward compatibility (#28786)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-03 15:21:23 +00:00
moversity afa836181c fix(cli): prevent out-of-memory on file upload due to undici storing the request body (#28723)
fix(cli): add fetch param to prevent OOM of upload

Issue due to undici storing the entire request body in memory.
Related undici bug report: https://github.com/nodejs/undici/issues/4058

Fixes https://github.com/immich-app/immich/issues/28720

Signed-off-by: moversity <148445403+moversity@users.noreply.github.com>
2026-06-03 15:19:35 +00:00
Mert 963862b1b9 fix(mobile): proper background task cleanup (#28694)
* event-based cancellation

wire hash cancellation

await cleanup

remove forced kill

add regression tests

abort sync requests

fix cleanup ordering in teardown

exit isolate

test background sync

test sigabrt crash

cleanup

* abort local sync
2026-06-03 08:16:19 -04:00
Timon 96d521e149 feat(mobile): add three-state field serialization (#27231)
* bump to v7.22.0 and update patching

* gen client

* migrate mobile call sites
2026-06-03 08:13:17 -04:00
shenlong 1bb7517da0 chore: pump flutter to 3.44.1 (#28785)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-02 23:45:31 -05:00
shenlong 814c2e32e4 chore: patch minFaces and realtimeTranscoding (#28784)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-03 09:15:31 +05:30
immich-tofu[bot] 92841f311f Added Code of conduct 2026-06-02 21:57:50 +00:00
immich-tofu[bot] 9d2e576630 chore: modify .github/FUNDING.yml 2026-06-02 21:57:47 +00:00
immich-tofu[bot] 936418a464 chore: use immich.app email for security reports (#10594)
chore: use  immich.app email for security reports
2026-06-02 21:57:45 +00:00
Daniel Dietzler 84c75d95c7 fix: migration order (#28779) 2026-06-02 21:33:13 +00:00
885 changed files with 87731 additions and 28059 deletions
-1
View File
@@ -1 +0,0 @@
custom: ['https://buy.immich.app', 'https://immich.store']
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
outputs:
uses_template: ${{ steps.check.outputs.uses_template }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
sparse-checkout: .github/pull_request_template.md
sparse-checkout-cone-mode: false
+8 -6
View File
@@ -84,16 +84,17 @@ jobs:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ inputs.ref }}
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
working_directory: ./mobile
- name: Create the Keystore
if: ${{ !github.event.pull_request.head.repo.fork }}
@@ -102,7 +103,7 @@ jobs:
working-directory: ./mobile
run: printf "%s" $KEY_JKS | base64 -d > android/key.jks
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
- uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0
with:
distribution: 'zulu'
java-version: '17'
@@ -210,15 +211,16 @@ jobs:
run: sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ inputs.ref || github.sha }}
persist-credentials: false
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
working_directory: ./mobile
- name: Install Flutter dependencies
working-directory: ./mobile
@@ -235,7 +237,7 @@ jobs:
run: flutter build ios --config-only --no-codesign
- name: Setup Ruby
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0
uses: ruby/setup-ruby@89f90524b88a01fe6e0b732220432cc6142926af # v1.313.0
with:
ruby-version: '3.3'
bundler-cache: true
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
+37 -2
View File
@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- 'open-api/**'
- 'mobile/lib/utils/openapi_patching.dart'
- '.github/workflows/check-openapi.yml'
concurrency:
@@ -19,13 +20,47 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Check for breaking API changes
uses: oasdiff/oasdiff-action/breaking@50e6a3413e5aa9c3ae4d8393c34745be44288b46 # v0.0.48
uses: oasdiff/oasdiff-action/breaking@e24529087d93f837b28b50bb66ba9016380a7fcc # v0.1.2
with:
base: https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json
revision: open-api/immich-openapi-specs.json
fail-on: ERR
review: false
check-mobile-patches:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ github.token }}
working_directory: ./mobile
- name: Get packages
working-directory: ./mobile
run: flutter pub get
- name: Fetch base spec from main
run: |
curl -fsSL \
"https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json" \
-o /tmp/base-spec.json
- name: Check newly-required fields have a backward-compat patch
working-directory: ./mobile
env:
OPENAPI_BASE_SPEC: /tmp/base-spec.json
OPENAPI_REVISION_SPEC: ../open-api/immich-openapi-specs.json
run: flutter test test/openapi_patches_coverage.dart
+3 -3
View File
@@ -37,13 +37,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -69,7 +69,7 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
+6 -2
View File
@@ -14,7 +14,11 @@ jobs:
should_run: ${{ steps.should_run.outputs.run }}
steps:
- id: should_run
run: echo "run=${{ github.event_name == 'issues' || github.event.discussion.category.name == 'Feature Request' }}" >> $GITHUB_OUTPUT
run: |
echo "run=${{
(github.event_name == 'issues' || github.event.discussion.category.name == 'Feature Request')
&& !contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.issue.author_association || github.event.discussion.author_association)
}}" >> "$GITHUB_OUTPUT"
get_body:
runs-on: ubuntu-latest
@@ -35,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:e73f60195b39748c4876f23e3e6cd22a68a9754acec8aef1fd6979fd52cd2c9f
image: ghcr.io/immich-app/mdq:main@sha256:2a64c7f045cb7b580fbdf3614d7d1805f5775fec453e3d1023764180efa8c70b
outputs:
checked: ${{ steps.get_checkbox.outputs.checked }}
steps:
+4 -4
View File
@@ -50,14 +50,14 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -70,7 +70,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -83,6 +83,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
category: '/language:${{matrix.language}}'
+2 -2
View File
@@ -132,7 +132,7 @@ jobs:
suffixes: '-rocm'
platforms: linux/amd64
runner-mapping: '{"linux/amd64": "pokedex-large"}'
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@db54dcf16fbb12c43479a23749ceea0ad1b4a704 # multi-runner-build-workflow-v3.0.0
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@50dc3a14f0606ecd8fc28d78d3a3c655115ab695 # multi-runner-build-workflow-v3.1.0
permissions:
contents: read
actions: read
@@ -155,7 +155,7 @@ jobs:
name: Build and Push Server
needs: pre-job
if: ${{ fromJSON(needs.pre-job.outputs.should_run).server == true }}
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@db54dcf16fbb12c43479a23749ceea0ad1b4a704 # multi-runner-build-workflow-v3.0.0
uses: immich-app/devtools/.github/workflows/multi-runner-build.yml@50dc3a14f0606ecd8fc28d78d3a3c655115ab695 # multi-runner-build-workflow-v3.1.0
permissions:
contents: read
actions: read
+2 -2
View File
@@ -60,13 +60,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
+2 -2
View File
@@ -132,13 +132,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
+2 -2
View File
@@ -23,13 +23,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
+3 -3
View File
@@ -21,14 +21,14 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
ref: ${{ github.event.pull_request.head.ref }}
persist-credentials: true
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -45,7 +45,7 @@ jobs:
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
if: always()
with:
github-token: ${{ steps.generate-token.outputs.token }}
github-token: ${{ steps.token.outputs.token }}
script: |
github.rest.issues.removeLabel({
issue_number: context.payload.pull_request.number,
+23 -10
View File
@@ -3,16 +3,20 @@ name: Prepare new release
on:
workflow_dispatch:
inputs:
serverBump:
description: 'Bump server version'
releaseType:
description: 'Release type'
required: true
default: 'false'
type: choice
options:
- 'false'
- major
- minor
- patch
- premajor
- preminor
- prepatch
- prerelease
- release
mobileBump:
description: 'Bump mobile build number'
required: false
@@ -46,6 +50,7 @@ jobs:
outputs:
ref: ${{ steps.push-tag.outputs.commit_long_sha }}
version: ${{ steps.output.outputs.version }}
rc: ${{ steps.output.outputs.rc }}
permissions: {} # No job-level permissions are needed because it uses the app-token
steps:
- id: token
@@ -55,29 +60,35 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
token: ${{ steps.token.outputs.token }}
persist-credentials: true
ref: main
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
# TODO move to mise
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
- name: Bump version
env:
SERVER_BUMP: ${{ inputs.serverBump }}
RELEASE_TYPE: ${{ inputs.releaseType }}
MOBILE_BUMP: ${{ inputs.mobileBump }}
run: misc/release/pump-version.sh -s "${SERVER_BUMP}" -m "${MOBILE_BUMP}"
run: mise //:release --type "${RELEASE_TYPE}" --mobile "${MOBILE_BUMP}"
- id: output
run: echo "version=$IMMICH_VERSION" >> $GITHUB_OUTPUT
run: |
echo "version=$IMMICH_VERSION" >> $GITHUB_OUTPUT
if [[ "$IMMICH_VERSION" =~ -rc\.[0-9]+$ ]]; then
echo "rc=true" >> $GITHUB_OUTPUT
else
echo "rc=false" >> $GITHUB_OUTPUT
fi
- name: Commit and tag
id: push-tag
@@ -93,6 +104,7 @@ jobs:
needs: bump_version
permissions:
contents: read
pull-requests: write
secrets:
KEY_JKS: ${{ secrets.KEY_JKS }}
ALIAS: ${{ secrets.ALIAS }}
@@ -125,7 +137,7 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
token: ${{ steps.generate-token.outputs.token }}
persist-credentials: false
@@ -140,6 +152,7 @@ jobs:
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with:
draft: true
prerelease: ${{ needs.bump_version.outputs.rc }}
tag_name: ${{ needs.bump_version.outputs.version }}
token: ${{ steps.generate-token.outputs.token }}
generate_release_notes: true
+2 -2
View File
@@ -22,13 +22,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
+5 -2
View File
@@ -55,15 +55,16 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
working_directory: ./mobile
- name: Install dependencies
run: flutter pub get
@@ -89,6 +90,8 @@ jobs:
mobile/**/*.g.dart
mobile/**/*.gr.dart
mobile/**/*.drift.dart
mobile/**/*.g.swift
mobile/**/*.g.kt
- name: Verify files have not changed
if: steps.verify-changed-files.outputs.files_changed == 'true'
+66 -31
View File
@@ -28,6 +28,10 @@ jobs:
with:
github-token: ${{ steps.token.outputs.token }}
filters: |
scripts:
- 'packages/scripts/**'
- 'pnpm-lock.yaml'
- 'mise.toml'
i18n:
- 'i18n/**'
- 'mise.toml'
@@ -41,6 +45,8 @@ jobs:
- 'server/**'
- 'pnpm-lock.yaml'
- 'mise.toml'
- 'packages/plugin-core/**'
- 'packages/plugin-sdk/**'
cli:
- 'packages/cli/**'
- 'packages/sdk/**'
@@ -62,6 +68,34 @@ jobs:
- '.github/workflows/test.yml'
force-events: 'workflow_dispatch'
script-unit-tests:
name: Scripts unit tests
needs: pre-job
if: ${{ fromJSON(needs.pre-job.outputs.should_run).scripts == true }}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- id: token
uses: immich-app/devtools/actions/create-workflow-token@9db058b2e6eec20e07760b0e17a0505c78ec3191 # create-workflow-token-action-v2.0.1
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
- name: Run unit tests
run: pnpm --filter @immich/scripts test
server-unit-tests:
name: Test & Lint Server
needs: pre-job
@@ -77,13 +111,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -108,13 +142,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -139,13 +173,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -183,13 +217,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -221,13 +255,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -249,13 +283,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -299,13 +333,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -331,14 +365,14 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -367,14 +401,14 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
@@ -444,14 +478,14 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
submodules: 'recursive'
token: ${{ steps.token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
@@ -551,15 +585,16 @@ jobs:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
working_directory: ./mobile
- name: Install dependencies
run: flutter pub get
@@ -588,13 +623,13 @@ jobs:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -619,13 +654,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -648,7 +683,7 @@ jobs:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
@@ -670,13 +705,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
@@ -728,13 +763,13 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
token: ${{ steps.token.outputs.token }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
uses: immich-app/devtools/actions/use-mise@3bca63ca3c15020293b36b51737a3ee2c773340b # use-mise-action-v3.1.0
with:
github_token: ${{ steps.token.outputs.token }}
+1
View File
@@ -60,6 +60,7 @@
"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",
"package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb, bun.lock, pnpm-workspace.yaml, .pnpmfile.cjs"
},
"search.exclude": {
+1 -1
View File
@@ -4,4 +4,4 @@
/web/ @danieldietzler
/machine-learning/ @mertalev
/e2e/ @danieldietzler
/mobile/ @shenlong-tanwen
/mobile/ @shenlong-tanwen @santoshakil
-134
View File
@@ -1,134 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation
in our community a harassment-free experience for everyone, regardless
of age, body size, visible or invisible disability, ethnicity, sex
characteristics, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open,
welcoming, diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for
our community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our
mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or
political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in
a professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our
standards of acceptable behavior and will take appropriate and fair
corrective action in response to any behavior that they deem
inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct, and will
communicate reasons for moderation decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also
applies when an individual is officially representing the community in
public spaces. Examples of representing our community include using an
official e-mail address, posting via an official social media account,
or acting as an appointed representative at an online or offline
event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported to the community leaders responsible for enforcement
at our Discord channel. All complaints
will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and
security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in
determining the consequences for any action they deem in violation of
this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior
deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders,
providing clarity around the nature of the violation and an
explanation of why the behavior was inappropriate. A public apology
may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued
behavior. No interaction with the people involved, including
unsolicited interaction with those enforcing the Code of Conduct, for
a specified period of time. This includes avoiding interactions in
community spaces as well as external channels like social
media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards,
including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or
public communication with the community for a specified period of
time. No public or private interaction with the people involved,
including unsolicited interaction with those enforcing the Code of
Conduct, is allowed during this period. Violating these terms may lead
to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of
community standards, including sustained inappropriate behavior,
harassment of an individual, or aggression toward or disparagement of
classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction
within the community.
## Attribution
This Code of Conduct is adapted from the [Contributor
Covenant][homepage], version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of
conduct enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the
FAQ at https://www.contributor-covenant.org/faq. Translations are
available at https://www.contributor-covenant.org/translations.
-5
View File
@@ -1,5 +0,0 @@
# Security Policy
## Reporting a Vulnerability
Please report security issues to `security@immich.app`
+2 -2
View File
@@ -85,7 +85,7 @@ services:
container_name: immich_prometheus
ports:
- 9090:9090
image: prom/prometheus@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac
image: prom/prometheus@sha256:a75c5a35bc21d7afe69551eefa3cb1e1fb1775fe759408007a66b54ec3de1f29
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
@@ -97,7 +97,7 @@ services:
command: ['./run.sh', '-disable-reporting']
ports:
- 3000:3000
image: grafana/grafana:12.4.3-ubuntu@sha256:ca3f764fdc48cebdf22dd206f33ecb0795a9a7210eacd1b5c02204aebd78b223
image: grafana/grafana:12.4.4-ubuntu@sha256:df2e7ef5f32f771794cf76bad5f2bceac227036460a2cc269a9045e5662abc58
volumes:
- grafana-data:/var/lib/grafana
@@ -14,6 +14,8 @@ Under Email, enter the required details to connect with an SMTP server.
You can use [this guide](/guides/smtp-gmail) to use Gmail's SMTP server.
You can use [this guide](/guides/smtp-microsoft365) to use Microsoft's SMTP server.
## User's notifications settings
Users can manage their email notification settings from their account settings page on the web. They can choose to turn email notifications on or off for the following events:
@@ -17,7 +17,7 @@ running `apt install postgresql-NN-pgvector`, where `NN` is your Postgres versio
You must install VectorChord into your instance of Postgres using their [instructions][vchord-install]. After installation, add `shared_preload_libraries = 'vchord.so'` to your `postgresql.conf`. If you already have some `shared_preload_libraries` set, you can separate each extension with a comma. For example, `shared_preload_libraries = 'pg_stat_statements, vchord.so'`.
:::note Supported versions
Immich is known to work with Postgres versions `>= 14, < 19`.
Immich is known to work with Postgres versions `>= 14, < 20`.
VectorChord is known to work with pgvector versions `>= 0.7, < 0.9`.
@@ -144,7 +144,7 @@ ALTER TABLE face_search ALTER COLUMN embedding SET DATA TYPE vector(512);
<details>
<summary>Migration steps</summary>
1. Ensure you have at least 0.7.0 of pgvector installed. If it is below that, please upgrade it and run the SQL command `ALTER EXTENSION vector UPDATE;` using psql or your choice of database client
1. Ensure you have at least `0.7.0` of pgvector installed. If it is below that, please upgrade it and run the SQL command `ALTER EXTENSION vector UPDATE;` using psql or your choice of database client
2. Follow the Prerequisites to install VectorChord
3. If Immich does not have superuser permissions, run the SQL command `CREATE EXTENSION vchord CASCADE;`
4. Remove the `DB_VECTOR_EXTENSION=pgvector` environmental variable as it will make Immich still use pgvector if set
+1 -1
View File
@@ -112,7 +112,7 @@ services:
traefik.enable: true
# increase readingTimeouts for the entrypoint used here
traefik.http.routers.immich.entrypoints: websecure
traefik.http.routers.immich.rule: Host(`immich.your-domain.com`)
traefik.http.routers.immich.rule: Host(`immich.example.com`)
traefik.http.services.immich.loadbalancer.server.port: 2283
```
+1 -1
View File
@@ -90,7 +90,7 @@ immich-admin list-users
[
{
id: 'e65e6f88-2a30-4dbe-8dd9-1885f4889b53',
email: 'immich@example.com.com',
email: 'immich@example.com',
name: 'Immich Admin',
storageLabel: 'admin',
externalPath: null,
+1 -1
View File
@@ -7,7 +7,7 @@ Immich uses the [OpenAPI](https://swagger.io/specification/) standard to generat
OpenAPI is used to generate the client (Typescript, Dart) SDK. `openapi-generator-cli` can be installed [here](https://openapi-generator.tech/docs/installation/). The generated SDK is based on the `immich-openapi-specs.json` file, which is autogenerated by the server **when running in development mode**. The `immich-openapi-specs.json` file can be modified with `@nestjs/swagger` decorators used or referenced by controller endpoints. See the [NestJS OpenAPI docs](https://docs.nestjs.com/openapi/types-and-parameters) for more info. When you add a new endpoint or modify an existing one, you must run the server in development mode and run the command below to update the client SDK.
```bash
make open-api
mise open-api
```
You can find the generated client SDK in the `packages/sdk/client` for Typescript SDK and `mobile/openapi` for Dart SDK.
+1 -1
View File
@@ -218,7 +218,7 @@ When the Dev Container starts, it automatically:
- Debug ports: 9230 (workers), 9231 (API)
:::info
The Dev Container setup replaces the `make dev` command from the traditional setup. All services start automatically when you open the container.
The Dev Container setup replaces the `mise dev` command from the traditional setup. All services start automatically when you open the container.
:::
### Accessing Services
+1 -1
View File
@@ -12,11 +12,11 @@ Our [GitHub Repository](https://github.com/immich-app/immich) is a [monorepo](ht
| `.vscode/` | VSCode debug launch profiles |
| `packages/cli` | Source code for the CLI |
| `packages/sdk` | Source code for the generated OpenAPI SDK |
| `packages/scripts` | Scripts for version bumps and draft releases |
| `docker/` | Docker compose resources for dev, test, production |
| `design/` | Screenshots and logos for the README |
| `docs/` | Source code for the [https://immich.app](https://immich.app) website |
| `machine-learning/` | Source code for the `immich-machine-learning` docker image |
| `misc/release/` | Scripts for version bumps and draft releases |
| `mobile/` | Source code for the mobile app, both Android and iOS |
| `server/` | Source code for the `immich-server` docker image |
| `web/` | Source code for the `web` |
+1 -1
View File
@@ -2,7 +2,7 @@
A minimal devcontainer is supplied with this repository. All commands can be executed directly inside this container to avoid tedious installation of the environment.
:::warning
The provided devcontainer isn't complete at the moment. At least all dockerized steps in the Makefile won't work (`make dev`, ....). Feel free to contribute!
The provided devcontainer isn't complete at the moment. At least all dockerized steps in the Makefile won't work (`mise dev`, ....). Feel free to contribute!
:::
When contributing code through a pull request, please check the following:
+2 -2
View File
@@ -45,7 +45,7 @@ All the services are packaged to run as with single Docker Compose command.
5. From the root directory, run:
```bash title="Start development server"
make dev # required Makefile installed on the system.
mise dev
```
5. Access the dev instance in your browser at http://localhost:3000, or connect via the mobile app.
@@ -88,7 +88,7 @@ To see local changes to `@immich/ui` in Immich, do the following:
3. Uncomment the corresponding volume in web service of the `docker/docker-compose.dev.yml` file (`../../ui:/usr/src/ui`)
4. Uncomment the corresponding alias in the `web/vite.config.ts` file (`'@immich/ui': path.resolve(\_\_dirname, '../../ui/packages/ui')`)
5. Uncomment the import statement in `web/src/app.css` file `@import '../../../ui/packages/ui/dist/theme/default.css';` and comment out `@import '@immich/ui/theme/default.css';`
6. Start up the stack via `make dev`
6. Start up the stack via `mise dev`
7. After making changes in `@immich/ui`, rebuild it (`pnpm run build`)
### Mobile app
+1 -1
View File
@@ -12,7 +12,7 @@ You need to run `mise //server:install` before _once_.
The e2e tests can be run by first starting up a test production environment via:
```bash
make e2e
mise e2e
```
Before you can run the tests, you need to run the following commands _once_:
+10 -10
View File
@@ -15,14 +15,14 @@ When using "Deduplicate All" or viewing suggestions, Immich automatically presel
### Synchronizing metadata
When resolving duplicates, metadata from trashed assets is automatically synchronized to the kept assets. The following metadata is synchronized:
When resolving duplicates, metadata from trashed assets is automatically synchronized to the kept asset. This synchronization only happens when **exactly one** asset is kept and at least one asset is trashed. When more than one asset is kept, metadata is not merged — the assets keep their own metadata and are simply removed from the duplicate group. The following metadata is synchronized:
| Name | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Album | The kept assets will be added to _every_ album that the other assets in the group belong to. |
| Favorite | If any of the assets in the group have been added to favorites, every kept asset will also be added to favorites. |
| Rating | If one or more assets in the duplicate group have a rating, the highest rating is selected and synchronized to the kept assets. |
| Description | Descriptions from each asset are combined together and synchronized to all the kept assets. |
| Visibility | The most restrictive visibility is applied to the kept assets. |
| Location | Latitude and longitude are copied if all assets with geolocation data in the group share the same coordinates. |
| Tag | Tags from all assets in the group are merged and applied to every kept asset. |
| Name | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Album | The kept asset will be added to _every_ album that the other assets in the group belong to. |
| Favorite | If any of the assets in the group have been added to favorites, the kept asset will also be added to favorites. |
| Rating | If one or more assets in the duplicate group have a rating, the highest rating is selected and synchronized to the kept asset. |
| Description | Descriptions from each asset are combined together and synchronized to the kept asset. |
| Visibility | The most restrictive visibility is applied to the kept asset. |
| Location | Latitude and longitude are copied if all assets with geolocation data in the group share the same coordinates. |
| Tag | Tags from all assets in the group are merged and applied to the kept asset. |
+3 -1
View File
@@ -13,7 +13,9 @@ import MobileAppBackup from '/docs/partials/_mobile-app-backup.md';
:::info Android verification
Below are the SHA-256 fingerprints for the certificates signing the android applications.
- Playstore / Github releases:
- Google Play releases:
`5A:22:C1:83:47:54:05:F5:49:C4:EB:9F:B2:6C:2E:93:A3:EF:9C:57:66:15:0A:7A:F3:8C:8D:3F:E5:15:CC:D6`
- GitHub releases:
`86:C5:C4:55:DF:AF:49:85:92:3A:8F:35:AD:B3:1D:0C:9E:0B:95:7D:7F:94:C2:D2:AF:6A:24:38:AA:96:00:20`
- F-Droid releases:
`FA:8B:43:95:F4:A6:47:71:A0:53:D1:C7:57:73:5F:A2:30:13:74:F5:3D:58:0D:D1:75:AA:F7:A1:35:72:9C:BF`
+1 -1
View File
@@ -17,7 +17,7 @@ services:
ports:
- "8888:80"
environment:
PGADMIN_DEFAULT_EMAIL: user-name@domain-name.com
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: strong-password
volumes:
- pgadmin-data:/var/lib/pgadmin
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

+19
View File
@@ -0,0 +1,19 @@
# SMTP settings using Microsoft 365
This guide walks you through how to get the information you need to set up your Immich instance to send emails using Microsoft's SMTP server.
## Create an app password
You will need to generate an app password to use your Microsoft email in Immich. Depending on if you have a personal or business account, you can use https://go.microsoft.com/fwlink/?linkid=2274139 or https://myaccount.microsoft.com/securtiy-info respectively.
## Entering the SMTP credential in Immich
Entering your credential in Immich's email notification settings at `Administration -> Settings -> Notification Settings`
Host: smtp-mail.outlook.com
Port: 587
username: your mail address
Password: app password you created earlier
SMTPS: set it to disabled
<img src={require('./img/email-ms-settings.webp').default} width="80%" title="SMTP settings" />
+3 -1
View File
@@ -20,9 +20,11 @@ Hardware and software requirements for Immich:
- **RAM**: Minimum 6GB, recommended 8GB.
- **CPU**: Minimum 2 cores, recommended 4 cores.
- Immich runs on the `amd64` and `arm64` platforms.
Since `v2.6`, the machine learning container on `amd64` requires the `>= x86-64-v2` [microarchitecture level](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels).
Since `v3`, the machine learning container on `amd64` requires the `>= x86-64-v2` [microarchitecture level](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels).
Most CPUs released since ~2012 support this microarchitecture.
If you are using a virtual machine, ensure you have selected a [supported microarchitecture](https://pve.proxmox.com/pve-docs/chapter-qm.html#_qemu_cpu_types).
If you are unable to support this instruction set, the last version to support `x86-64-v1` is `v2.7.5`.
Note that this release is no longer supported, and you must run a matching `immich-server` version.
- **Storage**: Recommended Unix-compatible filesystem (EXT4, ZFS, APFS, etc.) with support for user/group ownership and permissions.
- The generation of thumbnails and transcoded video can increase the size of the photo library by 10-20% on average.
+4 -1
View File
@@ -1,5 +1,8 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.wrangler]]
version = "4.66.0"
version = "4.100.0"
backend = "npm:wrangler"
[tools.wrangler.options]
allow_builds = '["esbuild", "sharp", "workerd"]'
+1 -1
View File
@@ -28,4 +28,4 @@ run = "prettier --write ."
run = "wrangler pages deploy build --project-name=${PROJECT_NAME} --branch=${BRANCH_NAME}"
[tools]
wrangler = "4.91.0"
wrangler = "4.100.0"
+4
View File
@@ -1,4 +1,8 @@
[
{
"label": "v3.0.0-rc.3",
"url": "https://docs.v3.0.0-rc.3.archive.immich.app"
},
{
"label": "v2.7.5",
"url": "https://docs.v2.7.5.archive.immich.app"
+2 -1
View File
@@ -4,7 +4,8 @@ services:
e2e-auth-server:
container_name: immich-e2e-auth-server
build:
context: ../packages/e2e-auth-server
context: ../
dockerfile: packages/e2e-auth-server/Dockerfile
ports:
- 2286:2286
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
"version": "2.7.5",
"version": "3.0.0-rc.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.12.4",
"@types/node": "^24.13.2",
"@types/pg": "^8.15.1",
"@types/pngjs": "^6.0.4",
"@types/supertest": "^7.0.0",
@@ -54,7 +54,6 @@
"typescript": "^6.0.0",
"typescript-eslint": "^8.28.0",
"utimes": "^5.2.1",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.0"
}
}
@@ -99,7 +99,7 @@ describe('/admin/maintenance', () => {
},
{
interval: 500,
timeout: 10_000,
timeout: 60_000,
},
)
.toBeTruthy();
@@ -190,7 +190,7 @@ describe('/admin/maintenance', () => {
},
{
interval: 500,
timeout: 10_000,
timeout: 60_000,
},
)
.toBeFalsy();
+8 -7
View File
@@ -504,13 +504,14 @@ describe('/albums', () => {
});
});
it('should not be able to share album with owner', async () => {
it('should deduplicate owner from albumUsers on create', async () => {
const { status, body } = await request(app)
.post('/albums')
.send({ albumName: 'New album', albumUsers: [{ role: AlbumUserRole.Editor, userId: user1.userId }] })
.set('Authorization', `Bearer ${user1.accessToken}`);
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('Cannot share album with owner'));
expect(status).toBe(201);
expect(body.albumUsers).toHaveLength(1);
expect(body.albumUsers[0]).toMatchObject({ role: AlbumUserRole.Owner, user: { id: user1.userId } });
});
});
@@ -729,8 +730,8 @@ describe('/albums', () => {
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ albumUsers: [{ userId: user1.userId, role: AlbumUserRole.Editor }] });
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('User already added'));
expect(status).toBe(200);
expect(body.albumUsers.length).toEqual(1);
});
it('should not be able to add existing user to shared album', async () => {
@@ -744,8 +745,8 @@ describe('/albums', () => {
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ albumUsers: [{ userId: user2.userId, role: AlbumUserRole.Editor }] });
expect(status).toBe(400);
expect(body).toEqual(errorDto.badRequest('User already added'));
expect(status).toBe(200);
expect(body.albumUsers.length).toEqual(2);
});
});
@@ -0,0 +1,669 @@
import {
AssetMediaResponseDto,
IntegrityReportResponseDto,
LoginResponseDto,
ManualJobName,
QueueCommand,
QueueName,
} from '@immich/sdk';
import { readFile } from 'node:fs/promises';
import { app, testAssetDir, utils } from 'src/utils';
import request from 'supertest';
import { afterEach, beforeAll, describe, expect, it } from 'vitest';
const assetFilepath = `${testAssetDir}/metadata/gps-position/thompson-springs.jpg`;
const asset1Filepath = `${testAssetDir}/albums/nature/el_torcal_rocks.jpg`;
const asset2Filepath = `${testAssetDir}/albums/nature/wood_anemones.jpg`;
describe('/admin/integrity', () => {
let admin: LoginResponseDto;
let asset: AssetMediaResponseDto;
let user1: LoginResponseDto;
let asset1: AssetMediaResponseDto;
let user2: LoginResponseDto;
let asset2: AssetMediaResponseDto;
beforeAll(async () => {
await utils.resetDatabase();
admin = await utils.adminSetup();
user1 = await utils.userSetup(admin.accessToken, {
email: '1@example.com',
name: '1',
password: '1',
});
user2 = await utils.userSetup(admin.accessToken, {
email: '2@example.com',
name: '2',
password: '2',
});
for (const queue of Object.values(QueueName)) {
if (queue === QueueName.IntegrityCheck) {
continue;
}
await utils.queueCommand(admin.accessToken, queue, {
command: QueueCommand.Pause,
});
}
asset = await utils.createAsset(admin.accessToken, {
assetData: {
filename: 'asset.jpg',
bytes: await readFile(assetFilepath),
},
});
asset1 = await utils.createAsset(user1.accessToken, {
assetData: {
filename: 'asset.jpg',
bytes: await readFile(asset1Filepath),
},
});
asset2 = await utils.createAsset(user2.accessToken, {
assetData: {
filename: 'asset.jpg',
bytes: await readFile(asset2Filepath),
},
});
await utils.mkFolder('/data/bak');
await utils.copyFolder(`/data/upload/${admin.userId}`, `/data/bak/${admin.userId}`);
for (const queue of Object.values(QueueName)) {
if (queue === QueueName.IntegrityCheck) {
continue;
}
await utils.queueCommand(admin.accessToken, queue, {
command: QueueCommand.Empty,
});
await utils.queueCommand(admin.accessToken, queue, {
command: QueueCommand.Resume,
});
}
});
afterEach(async () => {
await utils.deleteFolder(`/data/upload/${admin.userId}`);
await utils.copyFolder(`/data/bak/${admin.userId}`, `/data/upload/${admin.userId}`);
});
describe('POST /summary (& jobs)', async () => {
it.sequential('reports no issues', async () => {
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFilesDeleteAll,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual({
missing_file: 0,
untracked_file: 0,
checksum_mismatch: 0,
});
});
it.sequential('should detect an untracked file (job: check untracked files)', async () => {
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
untracked_file: 1,
}),
);
});
it.sequential('should detect outdated untracked file reports (job: refresh untracked files)', async () => {
// these should not be detected:
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked2.png`);
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked3.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFilesRefresh,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
untracked_file: 0,
}),
);
});
it.sequential('should delete untracked files (job: delete all untracked file reports)', async () => {
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFilesDeleteAll,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
untracked_file: 0,
}),
);
});
it.sequential('should detect a missing file and not a checksum mismatch (job: check missing files)', async () => {
await utils.deleteFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
missing_file: 1,
checksum_mismatch: 0,
}),
);
});
it.sequential('should detect outdated missing file reports (job: refresh missing files)', async () => {
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFilesRefresh,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
missing_file: 0,
checksum_mismatch: 0,
}),
);
});
it.sequential('should delete assets with missing files (job: delete all missing file reports)', async () => {
await utils.deleteFolder(`/data/upload/${user1.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus, body: listBody } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus).toBe(200);
expect(listBody).toEqual(
expect.objectContaining({
missing_file: 1,
}),
);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFilesDeleteAll,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
missing_file: 0,
}),
);
await expect(utils.getAssetInfo(user1.accessToken, asset1.id)).resolves.toEqual(
expect.objectContaining({
isTrashed: true,
}),
);
});
it.sequential('should detect a checksum mismatch (job: check file checksums)', async () => {
await utils.truncateFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
checksum_mismatch: 1,
}),
);
});
it.sequential('should detect outdated checksum mismatch reports (job: refresh file checksums)', async () => {
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatchRefresh,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
checksum_mismatch: 0,
}),
);
});
it.sequential(
'should delete assets with mismatched checksum (job: delete all checksum mismatch reports)',
async () => {
await utils.truncateFolder(`/data/upload/${user2.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus, body: listBody } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus).toBe(200);
expect(listBody).toEqual(
expect.objectContaining({
checksum_mismatch: 1,
}),
);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatchDeleteAll,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/summary')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual(
expect.objectContaining({
checksum_mismatch: 0,
}),
);
await expect(utils.getAssetInfo(user2.accessToken, asset2.id)).resolves.toEqual(
expect.objectContaining({
isTrashed: true,
}),
);
},
);
});
describe('POST /report', async () => {
it.sequential('reports untracked files', async () => {
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/report?type=untracked_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual({
nextCursor: undefined,
items: expect.arrayContaining([
{
id: expect.any(String),
type: 'untracked_file',
path: `/data/upload/${admin.userId}/untracked1.png`,
assetId: null,
fileAssetId: null,
createdAt: expect.any(String),
},
]),
});
});
it.sequential('reports missing files', async () => {
await utils.deleteFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/report?type=missing_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual({
nextCursor: undefined,
items: expect.arrayContaining([
{
id: expect.any(String),
type: 'missing_file',
path: expect.any(String),
assetId: asset.id,
fileAssetId: null,
createdAt: expect.any(String),
},
]),
});
});
it.sequential('reports checksum mismatched files', async () => {
await utils.truncateFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, body } = await request(app)
.get('/admin/integrity/report?type=checksum_mismatch')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(body).toEqual({
nextCursor: undefined,
items: expect.arrayContaining([
{
id: expect.any(String),
type: 'checksum_mismatch',
path: expect.any(String),
assetId: asset.id,
fileAssetId: null,
createdAt: expect.any(String),
},
]),
});
});
});
describe('DELETE /report/:id', async () => {
it.sequential('delete untracked files', async () => {
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus, body: listBody } = await request(app)
.get('/admin/integrity/report?type=untracked_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus).toBe(200);
const report = (listBody as IntegrityReportResponseDto).items.find(
(item) => item.path === `/data/upload/${admin.userId}/untracked1.png`,
)!;
const { status } = await request(app)
.delete(`/admin/integrity/report/${report.id}`)
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus2, body: listBody2 } = await request(app)
.get('/admin/integrity/report?type=untracked_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus2).toBe(200);
expect(listBody2).not.toBe(
expect.objectContaining({
items: expect.arrayContaining([
expect.objectContaining({
id: report.id,
}),
]),
}),
);
});
it.sequential('delete assets missing files', async () => {
await utils.deleteFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus, body: listBody } = await request(app)
.get('/admin/integrity/report?type=missing_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus).toBe(200);
expect(listBody.items.length).toBe(1);
const report = (listBody as IntegrityReportResponseDto).items[0];
const { status } = await request(app)
.delete(`/admin/integrity/report/${report.id}`)
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityMissingFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus2, body: listBody2 } = await request(app)
.get('/admin/integrity/report?type=missing_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus2).toBe(200);
expect(listBody2.items.length).toBe(0);
});
it.sequential('delete assets with failing checksum', async () => {
await utils.truncateFolder(`/data/upload/${admin.userId}`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus, body: listBody } = await request(app)
.get('/admin/integrity/report?type=checksum_mismatch')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus).toBe(200);
expect(listBody.items.length).toBe(1);
const report = (listBody as IntegrityReportResponseDto).items[0];
const { status } = await request(app)
.delete(`/admin/integrity/report/${report.id}`)
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityChecksumMismatch,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status: listStatus2, body: listBody2 } = await request(app)
.get('/admin/integrity/report?type=checksum_mismatch')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(listStatus2).toBe(200);
expect(listBody2.items.length).toBe(0);
});
});
describe('GET /report/:type/csv', () => {
it.sequential('exports untracked files as csv', async () => {
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { status, headers, text } = await request(app)
.get('/admin/integrity/report/untracked_file/csv')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
expect(status).toBe(200);
expect(headers['content-type']).toContain('text/csv');
expect(headers['content-disposition']).toContain('.csv');
expect(text).toContain('id,type,assetId,fileAssetId,path');
expect(text).toContain(`untracked_file`);
expect(text).toContain(`/data/upload/${admin.userId}/untracked1.png`);
});
});
describe('GET /report/:id/file', () => {
it.sequential('downloads untracked file', async () => {
await utils.putTextFile('untracked-content', `/data/upload/${admin.userId}/untracked1.png`);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
const { body: listBody } = await request(app)
.get('/admin/integrity/report?type=untracked_file')
.set('Authorization', `Bearer ${admin.accessToken}`)
.send();
const report = (listBody as IntegrityReportResponseDto).items.find(
(item) => item.path === `/data/upload/${admin.userId}/untracked1.png`,
)!;
const { status, headers, body } = await request(app)
.get(`/admin/integrity/report/${report.id}/file`)
.set('Authorization', `Bearer ${admin.accessToken}`)
.buffer(true)
.send();
expect(status).toBe(200);
expect(headers['content-type']).toContain('application/octet-stream');
expect(body.toString()).toBe('untracked-content');
});
});
});
+47 -6
View File
@@ -2,6 +2,7 @@ import { AssetVisibility, LoginResponseDto } from '@immich/sdk';
import { readFile } from 'node:fs/promises';
import { basename, join } from 'node:path';
import { Socket } from 'socket.io-client';
import { createUserDto } from 'src/fixtures';
import { errorDto } from 'src/responses';
import { app, testAssetDir, utils } from 'src/utils';
import request from 'supertest';
@@ -9,28 +10,48 @@ import { afterAll, beforeAll, describe, expect, it } from 'vitest';
describe('/map', () => {
let websocket: Socket;
let partnerWebsocket: Socket;
let admin: LoginResponseDto;
let partner: LoginResponseDto;
let partnerArchivedAssetId: string;
let adminArchivedAssetId: string;
beforeAll(async () => {
await utils.resetDatabase();
admin = await utils.adminSetup({ onboarding: false });
partner = await utils.userSetup(admin.accessToken, createUserDto.user1);
websocket = await utils.connectWebsocket(admin.accessToken);
partnerWebsocket = await utils.connectWebsocket(partner.accessToken);
const files = ['formats/heic/IMG_2682.heic', 'metadata/gps-position/thompson-springs.jpg'];
const adminFiles = ['formats/heic/IMG_2682.heic', 'metadata/gps-position/thompson-springs.jpg'];
const adminArchivedFile = 'metadata/dates/datetimeoriginal-gps.jpg';
const partnerFile = 'metadata/gps-position/thompson-springs.jpg';
utils.resetEvents();
const uploadFile = async (input: string) => {
const uploadFile = async (accessToken: string, input: string) => {
const filepath = join(testAssetDir, input);
const { id } = await utils.createAsset(admin.accessToken, {
const { id } = await utils.createAsset(accessToken, {
assetData: { bytes: await readFile(filepath), filename: basename(filepath) },
});
await utils.waitForWebsocketEvent({ event: 'assetUpload', id });
return id;
};
await Promise.all(files.map((f) => uploadFile(f)));
await Promise.all(adminFiles.map((f) => uploadFile(admin.accessToken, f)));
[adminArchivedAssetId, partnerArchivedAssetId] = await Promise.all([
uploadFile(admin.accessToken, adminArchivedFile),
uploadFile(partner.accessToken, partnerFile),
]);
await Promise.all([
utils.archiveAssets(admin.accessToken, [adminArchivedAssetId]),
utils.archiveAssets(partner.accessToken, [partnerArchivedAssetId]),
utils.createPartner(partner.accessToken, admin.userId),
]);
});
afterAll(() => {
utils.disconnectWebsocket(websocket);
utils.disconnectWebsocket(partnerWebsocket);
});
describe('GET /map/markers', () => {
@@ -40,7 +61,6 @@ describe('/map', () => {
expect(body).toEqual(errorDto.unauthorized);
});
// TODO archive one of these assets
it('should get map markers for all non-archived assets', async () => {
const { status, body } = await request(app)
.get('/map/markers')
@@ -69,7 +89,28 @@ describe('/map', () => {
]);
});
// TODO archive one of these assets
it('should not expose partner archived asset locations', async () => {
const { status, body } = await request(app)
.get('/map/markers')
.query({ withPartners: true, isArchived: true })
.set('Authorization', `Bearer ${admin.accessToken}`);
expect(status).toBe(200);
const ids = body.map((m: { id: string }) => m.id);
expect(ids).not.toContain(partnerArchivedAssetId);
expect(ids).toContain(adminArchivedAssetId);
});
it('should include own archived asset locations', async () => {
const { status, body } = await request(app)
.get('/map/markers')
.query({ isArchived: true })
.set('Authorization', `Bearer ${admin.accessToken}`);
expect(status).toBe(200);
expect(body.map((m: { id: string }) => m.id)).toContain(adminArchivedAssetId);
});
it('should get all map markers', async () => {
const { status, body } = await request(app)
.get('/map/markers')
@@ -259,17 +259,6 @@ describe('/search', () => {
assets: [assetHeic],
}),
},
{
should: "should search city ('')",
deferred: () => ({
dto: {
city: '',
visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
}),
},
{
should: 'should search city (null)',
deferred: () => ({
@@ -291,18 +280,6 @@ describe('/search', () => {
assets: [assetDensity],
}),
},
{
should: "should search state ('')",
deferred: () => ({
dto: {
state: '',
visibility: AssetVisibility.Timeline,
withExif: true,
includeNull: true,
},
assets: [assetLast, assetNotocactus],
}),
},
{
should: 'should search state (null)',
deferred: () => ({
@@ -324,17 +301,6 @@ describe('/search', () => {
assets: [assetFalcon],
}),
},
{
should: "should search country ('')",
deferred: () => ({
dto: {
country: '',
visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
}),
},
{
should: 'should search country (null)',
deferred: () => ({
+1 -1
View File
@@ -95,7 +95,7 @@ describe('/server', () => {
major: expect.any(Number),
minor: expect.any(Number),
patch: expect.any(Number),
prerelease: null,
prerelease: expect.anything(),
});
});
});
+41
View File
@@ -0,0 +1,41 @@
import { LoginResponseDto, ManualJobName, QueueName } from '@immich/sdk';
import { expect, test } from '@playwright/test';
import { utils } from 'src/utils';
test.describe.configure({ mode: 'serial' });
test.describe.skip('Integrity', () => {
let admin: LoginResponseDto;
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
});
test('run integrity jobs to update stats', async ({ context, page }) => {
await utils.setAuthCookies(context, admin.accessToken);
await utils.createJob(admin.accessToken, {
name: ManualJobName.IntegrityUntrackedFiles,
});
await utils.waitForQueueFinish(admin.accessToken, QueueName.IntegrityCheck);
await page.goto('/admin/maintenance');
const count = page.getByText('Untracked Files').locator('..').locator('..').locator('div').nth(1);
const previousCount = Number.parseInt((await count.textContent()) ?? '');
await utils.mkFolder(`/data/upload/${admin.userId}`);
await utils.putTextFile('untracked', `/data/upload/${admin.userId}/untracked1.png`);
const checkButton = page.getByText('Integrity Report').locator('..').getByRole('button', { name: 'Check All' });
await checkButton.click();
await expect(checkButton).toBeEnabled();
await expect(count).toContainText((previousCount + 1).toString());
});
});
+46 -3
View File
@@ -192,6 +192,7 @@ export const utils = {
'user',
'system_metadata',
'tag',
'integrity_report',
];
const truncateTables = tables.filter((table) => table !== 'system_metadata');
@@ -559,10 +560,54 @@ export const utils = {
mkdirSync(`${testAssetDir}/temp`, { recursive: true });
},
putFile(source: string, dest: string) {
return executeCommand('docker', ['cp', source, `immich-e2e-server:${dest}`]).promise;
},
async putTextFile(contents: string, dest: string) {
const dir = await mkdtemp(join(tmpdir(), 'test-'));
const fn = join(dir, 'file');
await pipeline(Readable.from(contents), createWriteStream(fn));
return executeCommand('docker', ['cp', fn, `immich-e2e-server:${dest}`]).promise;
},
async move(source: string, dest: string) {
return executeCommand('docker', ['exec', 'immich-e2e-server', 'mv', source, dest]).promise;
},
async copyFolder(source: string, dest: string) {
return executeCommand('docker', ['exec', 'immich-e2e-server', 'cp', '-r', source, dest]).promise;
},
async deleteFile(path: string) {
return executeCommand('docker', ['exec', 'immich-e2e-server', 'rm', path]).promise;
},
async deleteFolder(path: string) {
return executeCommand('docker', ['exec', 'immich-e2e-server', 'rm', '-r', path]).promise;
},
async truncateFolder(path: string) {
return executeCommand('docker', [
'exec',
'immich-e2e-server',
'find',
path,
'-type',
'f',
'-exec',
'truncate',
'-s',
'1',
'{}',
';',
]).promise;
},
async mkFolder(path: string) {
return executeCommand('docker', ['exec', 'immich-e2e-server', 'mkdir', '-p', path]).promise;
},
createBackup: async (accessToken: string) => {
await utils.createJob(accessToken, {
name: ManualJobName.BackupDatabase,
@@ -579,10 +624,8 @@ export const utils = {
resetBackups: async (accessToken: string) => {
const { backups } = await listDatabaseBackups({ headers: asBearerAuth(accessToken) });
const backupFiles = backups.map((b) => b.filename);
await deleteDatabaseBackup(
{ databaseBackupDeleteDto: { backups: backupFiles } },
{ databaseBackupDeleteDto: { backups: backups.map((dto) => dto.filename) } },
{ headers: asBearerAuth(accessToken) },
);
},
+3 -2
View File
@@ -1,4 +1,3 @@
import tsconfigPaths from 'vite-tsconfig-paths';
import { defineConfig } from 'vitest/config';
const skipDockerSetup = process.env.VITEST_DISABLE_DOCKER_SETUP === 'true';
@@ -24,5 +23,7 @@ export default defineConfig({
maxWorkers: 1,
isolate: false,
},
plugins: [tsconfigPaths()],
resolve: {
tsconfigPaths: true,
},
});
+3 -2
View File
@@ -1,4 +1,3 @@
import tsconfigPaths from 'vite-tsconfig-paths';
import { defineConfig } from 'vitest/config';
const skipDockerSetup = process.env.VITEST_DISABLE_DOCKER_SETUP === 'true';
@@ -24,5 +23,7 @@ export default defineConfig({
maxWorkers: 1,
isolate: false,
},
plugins: [tsconfigPaths()],
resolve: {
tsconfigPaths: true,
},
});
+12 -21
View File
@@ -5,31 +5,34 @@
"acknowledge": "Neem kennis",
"action": "Aksie",
"action_common_update": "Werk by",
"action_description": "n Stel van aksies om op die gefiltreerde bates uit te voer",
"actions": "Aksies",
"active": "Aktief",
"active_count": "Aktief: {count}",
"activity": "Aktiwiteite",
"activity_changed": "Aktiwiteit is {enabled, select, true {geaktiveer} other {gedeaktiveer}}",
"add": "Voeg toe",
"add_a_description": "Voeg n beskrywing toe",
"add_a_location": "Voeg n ligging toe",
"add_a_name": "Voeg n naam toe",
"add_a_title": "Voeg n titel toe",
"add_action": "Voeg aksie toe",
"add_assets": "Voeg bates by",
"add_birthday": "Voeg n verjaarsdag toe",
"add_endpoint": "Voeg eindpunt toe",
"add_exclusion_pattern": "Voeg uitsluitingspatroon toe",
"add_location": "Voeg ligging toe",
"add_more_users": "Voeg meer gebruikers toe",
"add_partner": "Voeg vennoot toe",
"add_path": "Voeg pad toe",
"add_photos": "Voeg fotos toe",
"add_tag": "Voeg etiket toe",
"add_to": "Voeg toe tot…",
"add_to_album": "Voeg toe tot album",
"add_to_album_bottom_sheet_added": "Tot {album} toegevoeg",
"add_to_album_bottom_sheet_already_exists": "Reeds in {album}",
"add_to_album_bottom_sheet_some_local_assets": "Sommige plaaslike bates kon nie toe gevoeg word tot die album nie",
"add_to_albums": "Voeg toe tot albums",
"add_to_albums_count": "Voeg toe tot albums ({count})",
"add_to_shared_album": "Voeg toe tot gedeelde album",
"add_to_bottom_bar": "Voeg toe",
"add_upload_to_stack": "Voeg oplaai by stapel",
"add_url": "Voeg bronadres toe",
"added_to_archive": "Tot argief toegevoeg",
"added_to_favorites": "Tot gunstelinge toegevoeg",
@@ -46,6 +49,7 @@
"backup_database": "Skep Databasisstortlêer",
"backup_database_enable_description": "Aktiveer databasisstortlêers",
"backup_keep_last_amount": "Aantal vorige stortlêers om te hou",
"backup_onboarding_2_description": "plaaslike kopieë op verskillende toestelle. Dit sluit die hooflêers en n rugsteun van daardie lêers plaaslik in.",
"backup_onboarding_3_description": "totale kopieë van u data, insluitend die oorspronklike lêers. Dit sluit 1 kopie op n ander perseel en 2 lokale kopieë in.",
"backup_onboarding_description": "n <backblaze-link>3-2-1-rugsteunstrategie</backblaze-link> word sterk aanbeveel om u data veilig te hou. Hou kopieë van u fotos/videos sowel as die Immich-databasis vir n volledige rugsteunoplossing.",
"backup_onboarding_footer": "Lees hierdie <link>dokument</link> vir meer inligting oor hoe om n rugsteunkopie van Immich te maak.",
@@ -61,6 +65,7 @@
"confirm_reprocess_all_faces": "Is u seker u wil alle gesigte herverwerk? Dit sal ook genoemde mense skoonmaak.",
"confirm_user_password_reset": "Is u seker u wil {user} se wagwoord terugstel?",
"confirm_user_pin_code_reset": "Is u seker u wil {user} se PIN-kode herstel?",
"copy_config_to_clipboard_description": "Kopieer die huidige stelselkonfigurasie as n JSONobjek na die klipbord",
"create_job": "Skep taak",
"cron_expression": "Cron-uitdrukking",
"cron_expression_description": "Stel die skanderingsinterval in met die cron-formaat. Kyk gerus na bv. <link>Crontab Guru</link> vir meer inligting",
@@ -68,6 +73,8 @@
"disable_login": "Deaktiveer aantekening",
"duplicate_detection_job_description": "Begin masjienleer op items om soortgelyke beelde op te spoor. Maak staat op Slimsoek",
"exclusion_pattern_description": "Met uitsluitingspatrone kan u lêers en vouers ignoreer wanneer u u biblioteek skandeer. Dit is nuttig as u vouers het wat lêers bevat wat u nie wil invoer nie, soos RAW-lêers.",
"export_config_as_json_description": "Laai die huidige stelselkonfigurasie af as n JSONlêer",
"external_libraries_page_description": "Admin eksterne biblioteekbladsy",
"face_detection": "Gesigherkenning",
"face_detection_description": "Identifiseer die gesigte in media d.m.v. masjienleer. Vir videos word slegs die duimnael oorweeg. “Herlaai” (ver)werk al die media weer. “Stel terug” verwyder alle huidige gesigdata. “Onverwerk” plaas items in die ry wat nog nie verwerk is nie. Geïdentifiseerde gesigte sal ná voltooiing van Gesigidentifikasie vir Gesigherkenning in die ry geplaas word om hulle in bestaande of nuwe persone te groepeer.",
"facial_recognition_job_description": "Groepeer gesigte in mense. Die stap is vinniger nadat Gesigherkenning klaar is. “Herstel” (her-)groepeer alle gesigte. “Vermiste” plaas gesigte in ry wat nie n persoon gekoppel het nie.",
@@ -129,7 +136,6 @@
"advanced": "Gevorderd",
"albums": "Albums",
"all": "Alle",
"anti_clockwise": "Linksom",
"archive": "Argief",
"asset_skipped": "Oorgeslaan",
"asset_uploaded": "Opgelaai",
@@ -141,7 +147,6 @@
"camera": "Kamera",
"cancel": "Kanselleer",
"city": "Stad",
"clockwise": "Regsom",
"close": "Sluit",
"color": "Kleur",
"confirm": "Bevestig",
@@ -182,14 +187,12 @@
"unsaved_change": "Onbewaarde verandering",
"unselect_all": "Ontkies alles",
"unselect_all_duplicates": "Ontkies alle duplikate",
"unselect_all_in": "Ontkies alles in {group}",
"unstack": "Ontstapel",
"unstack_action_prompt": "{count} ongestapel",
"unstacked_assets_count": "{count, plural, one {# item} other {# items}} ontstapel",
"unsupported_field_type": "Onondersteunde veldtipe",
"unsupported_file_type": "Lêer {file} kan nie opgelaai word nie omdat die lêertipe {type} nie ondersteun word nie.",
"untagged": "Sonder etiket",
"untitled_workflow": "Naamlose werkvloei",
"up_next": "Volgende",
"update_location_action_prompt": "Werk die ligging van {count} gekose items by met:",
"updated_at": "Bygewerk",
@@ -197,8 +200,6 @@
"upload": "Laai op",
"upload_concurrency": "Aantal gelyktydige oplaaie",
"upload_details": "Oplaaidetails",
"upload_dialog_info": "Wil u n rugsteun maak van die gekose item(s) op die bediener?",
"upload_dialog_title": "Laai item op",
"upload_error_with_count": "Oplaaifout vir {count, plural, one {# item} other {# items}}",
"upload_errors": "Oplaai voltooi met {count, plural, one {# fout} other {# foute}}, verfris die blad om die nuwe items te sien.",
"upload_finished": "Klaar opgelaai",
@@ -227,7 +228,6 @@
"user_privacy": "Gebruikersprivaatheid",
"user_purchase_settings": "Koop",
"user_purchase_settings_description": "Bestuur u aankoop",
"user_role_set": "Stel {user} in as {role}",
"user_usage_detail": "Gedetailleerde gebruik van gebruikers",
"user_usage_stats": "Statistieke vir rekeninggebruik",
"user_usage_stats_description": "Bekyk statistieke van rekeninggebruik",
@@ -237,7 +237,6 @@
"utilities": "Gereedskap",
"validate": "Valideer",
"validate_endpoint_error": "Voer asb. n geldige bronadres in",
"validation_error": "Valideerfout",
"variables": "Veranderlikes",
"version": "Weergawe",
"version_announcement_closing": "Jou friend, Alex",
@@ -249,7 +248,6 @@
"video_hover_setting_description": "Speel videoduimnael wanneer muis oor item hang. Selfs indien gedeaktiveer kan afspeel begin deur oor die afspeelknop te hang.",
"videos": "Videos",
"videos_count": "{count, plural, one {# video} other {# videos}}",
"videos_only": "Slegs videos",
"view": "Bekyk",
"view_album": "Bekyk album",
"view_all": "Bekyk alle",
@@ -258,21 +256,16 @@
"view_details": "Bekyk detail",
"view_in_timeline": "Bekyk in tydlyn",
"view_link": "Bekyk skakel",
"view_links": "Bekyk skakels",
"view_name": "Bekyk",
"view_next_asset": "Bekyk volgende item",
"view_previous_asset": "Bekyk vorige item",
"view_qr_code": "Bekyk QR-kode",
"view_similar_photos": "Bekyk soortgelyke fotos",
"view_stack": "Bekyk stapel",
"view_user": "Bekyk gebruiker",
"viewer_remove_from_stack": "Verwyder van stapel",
"viewer_stack_use_as_main_asset": "Gebruik as hoofitem",
"viewer_unstack": "Ontstapel",
"visibility": "Sigbaarheid",
"visibility_changed": "Sigbaarheid verander vir {count, plural, one {# mens} other {# mense}}",
"visual": "Visueel",
"visual_builder": "Visuele bouer",
"waiting": "Wag",
"waiting_count": "Wagtend: {count}",
"warning": "Waarskuwing",
@@ -291,7 +284,6 @@
"workflow_navigation_prompt": "Is u seker u wil verlaat sonder om u veranderinge te bewaar?",
"workflow_summary": "Werkvloei-opsomming",
"workflow_update_success": "Werkvloei suksesvol bygewerk",
"workflow_updated": "Werkvloei bygewerk",
"workflows": "Werkvloeie",
"workflows_help_text": "Werkvloeie outomatiseer aksies op u items gebaseer op snellers en filters",
"wrong_pin_code": "Verkeerde PIN-kode",
@@ -301,6 +293,5 @@
"you_dont_have_any_shared_links": "U het geen gedeelde skakels nie",
"your_wifi_name": "U Wi-Fi-naam",
"zero_to_clear_rating": "druk 0 om itemgradering te wis",
"zoom_image": "Zoem in",
"zoom_to_bounds": "Zoem na rande"
"zoom_image": "Zoem in"
}
+146 -333
View File
File diff suppressed because it is too large Load Diff
+23 -7
View File
@@ -5,23 +5,23 @@
"acknowledge": "Təsdiq et",
"action": "Əməliyyat",
"action_common_update": "Yenilə",
"action_description": "Filtrlənmiş aktivliklər üzərində yerinə yetiriləcək əməliyyatlar toplusu",
"actions": "Əməliyyatlar",
"active": "Aktiv",
"active_count": "Aktiv: {count}",
"activity": "Fəaliyyət",
"activity_changed": "Fəaliyyət {enabled, select, true {aktivdir} other {aktiv deyil}}",
"add": "Əlavə et",
"add_a_description": "Təsviri əlavə et",
"add_a_location": "Məkan əlavə et",
"add_a_name": "Ad əlavə et",
"add_a_title": "Başlıq əlavə et",
"add_action": "Yeni əməliyyat əlavə et",
"add_assets": "Aktivlik əlavə et",
"add_birthday": "Doğum günü əlavə et",
"add_endpoint": "Son nöqtə əlavə et",
"add_exclusion_pattern": "Çıxarma nümunəsi əlavə et",
"add_location": "Məkan əlavə et",
"add_more_users": "Daha çox istifadəçi əlavə et",
"add_partner": "Partnyor əlavə et",
"add_path": "Yol əlavə et",
"add_photos": "Şəkillər əlavə et",
"add_tag": "Etiket əlavə et",
"add_to": "Bura əlavə et…",
@@ -29,11 +29,9 @@
"add_to_album_bottom_sheet_added": "{album} albomuna əlavə edildi",
"add_to_album_bottom_sheet_already_exists": "Artıq {album} albomunda var",
"add_to_album_bottom_sheet_some_local_assets": "Bəzi lokal resurslar alboma əlavə edilə bilmədi",
"add_to_album_toggle": "{album} üçün seçimi dəyişin",
"add_to_albums": "Albomlara əlavə et",
"add_to_albums_count": "({count}) albomlarına əlavə et",
"add_to_bottom_bar": "Əlavə et",
"add_to_shared_album": "Paylaşılan alboma əlavə et",
"add_upload_to_stack": "Yeni yüklənmə əlavə et",
"add_url": "URL əlavə et",
"added_to_archive": "Arxivə əlavə edildi",
@@ -46,7 +44,7 @@
"authentication_settings": "Səlahiyyətləndirmə parametrləri",
"authentication_settings_description": "Şifrə, OAuth və digər səlahiyyətləndirmə parametrləri",
"authentication_settings_disable_all": "Bütün giriş etmə metodlarını söndürmək istədiyinizdən əminsinizmi? Giriş etmə funksiyası tamamilə söndürüləcəkdir.",
"authentication_settings_reenable": "Yenidən aktiv etmək üçün <link> Server Əmri</link> -ni istifadə edin.",
"authentication_settings_reenable": "Yenidən aktiv etmək üçün <link> Server Əmri</link>-ni istifadə edin.",
"background_task_job": "Arxa plan tapşırıqları",
"backup_database": "Verilənlər bazasının dump-ını yaradın",
"backup_database_enable_description": "Verilənlər bazasının artıq nüsxələrini aktiv et",
@@ -54,6 +52,7 @@
"backup_onboarding_1_description": "buludda və ya başqa fiziki yerdə saytdan kənar surət.",
"backup_onboarding_2_description": "müxtəlif cihazlarda yerli nüsxələr. Bura əsas fayllar və həmin faylların ehtiyat lokal nüsxəsi daxildir.",
"backup_onboarding_3_description": "orijinal fayllar da daxil olmaqla məlumatlarınızın ümumi surətləri. Buraya 1 kənar nüsxə və 2 lokal nüsxə daxildir.",
"backup_onboarding_description": "<backblaze-link>3-2-1 yedəkləmə strategiyası</backblaze-link> məlumatlarınızı qorumaq üçün tövsiyə olunur. Yüklədiyiniz şəkil və videoların, həmçinin Immich verilənlər bazasının surətlərini saxlamalısınız ki, hərtərəfli yedəkləmə həlli əldə edəsiniz.",
"backup_onboarding_footer": "Immich-in ehtiyat nüsxəsini çıxarmaq haqqında ətraflı məlumat üçün <link>sənədlərə</link> müraciət edin.",
"backup_onboarding_parts_title": "3-2-1 ehtiyat nüsxəsinə aşağıdakılar daxildir:",
"backup_onboarding_title": "Ehtiyat surətlər",
@@ -61,14 +60,31 @@
"backup_settings_description": "Verilənlər bazasının ehtiyat nüsxə parametrlərini idarə et",
"cleared_jobs": "{job} üçün tapşırıqlar silindi",
"config_set_by_file": "Konfiqurasiya hal-hazırda konfiqurasiya faylı ilə təyin olunub",
"confirm_delete_library": "{library} kitabxanasını silmək istədiyinizdən əminmisiniz?",
"confirm_delete_library": "{library} kitabxanasını silmək istədiyinizə əminmisiniz?",
"confirm_email_below": "Təsdiqləmək üçün aşağıya {email} yazın",
"confirm_reprocess_all_faces": "Bütün üzləri yenidən emal etmək istədiyinizə əminsiniz? Bu, həmçinin adlandırılmış şəxsləri siləcək.",
"confirm_user_password_reset": "{user} adlı istifadəçinin şifrəsini sıfırlamaq istədiyinizdən əminmisiniz?",
"confirm_user_pin_code_reset": "{user} istifadəçisinin PIN kodunu sıfırlamaq istədiyinizə əminsiniz?",
"copy_config_to_clipboard_description": "Cari sistem konfiqurasiyasını JSON obyekt kimi mübadilə buferinə kopyalayın",
"create_job": "İş yarat",
"cron_expression": "Cron ifadəsi",
"cron_expression_description": "Cron formatından istifadə edərək skan intervalını təyin edin. Ətraflı məlumat üçün nümunələrə baxa bilərsiniz. <link>Crontab Guru</link>",
"cron_expression_presets": "Cron ifadəsi ön ayarları",
"disable_login": "Giriş etməni söndür",
"duplicate_detection_job_description": "Bənzər şəkilləri tapmaq üçün maşın öyrənməsini işə salın. Bu prosses Smart Search funksiyasına əsaslanır",
"exclusion_pattern_description": "İstisna nümunələri kitabxananızı skan edərkən faylları və qovluqları nəzərə almamağa imkan verir. Bu, RAW faylları kimi idxal etmək istəmədiyiniz faylları olan qovluqlarınız olduqda faydalıdır.",
"export_config_as_json_description": "Cari sistem konfiqurasiyasını JSON faylı kimi endirin",
"external_libraries_page_description": "Admin xarici kitabxana səhifəsi",
"face_detection": "Üz tanıma",
"failed_job_command": "{command} əmri {job} işi üçün uğursuz oldu",
"force_delete_user_warning": "XƏBƏRDARLIQ: Bu əməliyyat istifadəçi və bütün məlumatları siləcəkdir. Bu prossesi və silinən faylları geri qaytarmaq olmaz.",
"image_format": "Format",
"image_format_description": "WebP, JPEG faylına görə daha kiçik həcmə sahibdir, lakin onu kodlaşdırmaq daha çox vaxt alır.",
"image_fullsize_description": "Böyüdülmüş halda istifadə edilən, metadata-sı silinmiş tam ölçülü şəkil",
"image_fullsize_enabled": "Tam ölçülü şəkil generasiyasını aktiv et",
"image_fullsize_enabled_description": "Veb üçün uyğun olmayan formatlar üçün tam ölçülü şəkil yaradın. “Daxili önizləməyə üstünlük ver” aktiv olduqda, daxili önizləmələr çevrilmədən birbaşa istifadə olunur. JPEG kimi veb üçün uyğun formatlara təsir etmir.",
"image_fullsize_quality_description": "Tam ölçülü şəkil keyfiyyəti (1-100). Daha yüksək dəyər daha yaxşı keyfiyyət verir, lakin daha böyük ölçülü fayl yaradır.",
"image_fullsize_title": "Tam ölçülü şəkil tənzimləmələri",
"image_preview_title": "Önizləmə parametrləri",
"image_quality": "Keyfiyyət",
"image_resolution": "Çözümlülük",
+1707 -93
View File
File diff suppressed because it is too large Load Diff
+151 -337
View File
File diff suppressed because it is too large Load Diff
-4
View File
@@ -5,7 +5,6 @@
"acknowledge": "Akcept",
"active": "Stap Mekem",
"activity": "Wanem hemi Mekem",
"activity_changed": "WAnem hemi Mekem hemi",
"add": "Ad",
"add_a_description": "Putem Description blo hem",
"add_a_location": "Putem place blo hem",
@@ -13,11 +12,9 @@
"add_a_title": "Putem wan name blo hem",
"add_exclusion_pattern": "Putem wan paten wae hemi karem aot",
"add_location": "Putem wan place blo hem",
"add_more_users": "Putem mor man",
"readonly_mode_enabled": "Mod blo yu no save janjem i on",
"reassigned_assets_to_new_person": "Janjem{count, plural, one {# asset} other {# assets}} blo nu man",
"reassing_hint": "janjem ol sumtin yu bin joos i go blo wan man",
"recent_albums": "album i no old tu mas",
"recent_searches": "lukabout wea i no old tu mas",
"time_based_memories_duration": "hao mus second blo wan wan imij i stap lo scrin.",
"timezone": "taemzon",
@@ -33,7 +30,6 @@
"trash_action_prompt": "{count} igo lo plaes lo toti",
"trash_all": "Putem ol i go lo toti",
"trash_count": "Toti {count, number}",
"trash_emptied": "basket blo toti i empti nomo",
"trash_no_results_message": "Foto mo video lo basket blo toti yu save lukem lo plaes ia.",
"trash_page_delete_all": "Delete oli ol"
}
+5 -27
View File
@@ -10,39 +10,31 @@
"active": "সচল",
"active_count": "Active: {count}",
"activity": "কার্যকলাপ",
"activity_changed": "একটিভিটি এখন {enabled, select, true {enabled} other {disabled}} আছে",
"add": "যোগ করুন",
"add_a_description": "একটি বিবরণ যোগ করুন",
"add_a_location": "একটি অবস্থান যোগ করুন",
"add_a_name": "একটি নাম যোগ করুন",
"add_a_title": "একটি শিরোনাম যোগ করুন",
"add_action": "কর্ম যোগ করুন",
"add_action_description": "সম্পাদন করার জন্য একটি কাজ যোগ করতে ক্লিক করুন",
"add_assets": "সম্পদ যোগ করুন",
"add_birthday": "জন্মদিন যোগ করুন",
"add_endpoint": "এন্ডপয়েন্ট যোগ করুন",
"add_exclusion_pattern": "বহির্ভূতকরণ নমুনা",
"add_filter": "ফিল্টার যোগ করুন",
"add_filter_description": "একটি ফিল্টার শর্ত যোগ করতে ক্লিক করুন",
"add_location": "অবস্থান যুক্ত করুন",
"add_more_users": "আরো ব্যবহারকারী যুক্ত করুন",
"add_partner": "অংশীদার যোগ করুন",
"add_path": "পাথ যুক্ত করুন",
"add_photos": "ছবি যুক্ত করুন",
"add_step": "ধাপ যোগ করুন",
"add_tag": "ট্যাগ যুক্ত করুন",
"add_to": "যুক্ত করুন…",
"add_to_album": "এলবাম এ যোগ করুন",
"add_to_album_bottom_sheet_added": "{album} এ যোগ করা হয়েছে",
"add_to_album_bottom_sheet_already_exists": "{album} এ আগে থেকেই আছে",
"add_to_album_bottom_sheet_some_local_assets": "কিছু স্থানীয় ছবি বা ভিডিও অ্যালবামে যোগ করা যায়নি",
"add_to_album_toggle": "{album} - এর নির্বাচন পরিবর্তন করুন",
"add_to_albums": "অ্যালবামে যোগ করুন",
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
"add_to_bottom_bar": "এ যোগ করুন",
"add_to_shared_album": "শেয়ার করা অ্যালবামে যোগ করুন",
"add_upload_to_stack": "আপলোড স্ট্যাকে যোগ করুন",
"add_url": "লিঙ্ক যোগ করুন",
"add_workflow_step": "কাজের ধাপ যোগ করুন",
"added_to_archive": "আর্কাইভ এ যোগ করা হয়েছে",
"added_to_favorites": "ফেভারিটে যোগ করা হয়েছে",
"added_to_favorites_count": "পছন্দের তালিকায় {count, number} যোগ করা হয়েছে",
@@ -81,6 +73,7 @@
"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 ফাইল।",
"export_config_as_json_description": "বর্তমান সিস্টেম কনফিগারেশনটিকে একটি JSON ফাইল হিসেবে ডাউনলোড করুন",
@@ -190,9 +183,11 @@
"machine_learning_smart_search_enabled": "স্মার্ট সার্চ সক্ষম করুন",
"machine_learning_smart_search_enabled_description": "নিষ্ক্রিয় থাকলে, স্মার্ট সার্চের জন্য ছবিগুলো এনকোড (encode) করা হবে না।",
"machine_learning_url_description": "মেশিন লার্নিং সার্ভারের URL। যদি একের বেশি URL প্রদান করা হয়, তবে একটি সফলভাবে সাড়া না দেওয়া পর্যন্ত প্রতিটি সার্ভারে এক এক করে চেষ্টা করা হবে (প্রথম থেকে শেষ ক্রমানুসারে)। যে সার্ভারগুলো সাড়া দেবে না, সেগুলো পুনরায় সচল হওয়া পর্যন্ত সাময়িকভাবে উপেক্ষা করা হবে।",
"maintenance_backup_management": "ব্যাকআপ ব্যবস্থাপনা",
"maintenance_delete_backup": "ব্যাকআপ (Backup)মুছুন",
"maintenance_delete_backup_description": "এই ফাইলটি চিরতরে মুছে ফেলা হবে।",
"maintenance_delete_error": "ব্যাকআপ মুছে ফেলতে ব্যর্থ হয়েছে।",
"maintenance_integrity_check": "যাচাই",
"maintenance_restore_backup": "ব্যাকআপ পুনরুদ্ধার(Restore) করুন",
"maintenance_restore_backup_description": "Immich মুছে ফেলা হবে এবং নির্বাচিত ব্যাকআপ থেকে পুনরুদ্ধার করা হবে। কার্যক্রম চালিয়ে যাওয়ার আগে একটি ব্যাকআপ তৈরি করা হবে।",
"maintenance_restore_backup_different_version": "এই ব্যাকআপটি Immich-এর একটি ভিন্ন সংস্করণের মাধ্যমে তৈরি করা হয়েছিল!",
@@ -458,8 +453,6 @@
"album_delete_confirmation": "আপনি কি সত্যিই অ্যালবাম {album} মুছে ফেলতে চান?",
"album_delete_confirmation_description": "অ্যালবামটি শেয়ার করা থাকলেও অন্য ব্যবহারকারীরা আর এটি অ্যাক্সেস করতে পারবেন না।",
"album_info_updated": "অ্যালবামের তথ্য আপডেট করা হয়েছে",
"album_leave": "অ্যালবাম থেকে বেরিয়ে যেতে চান ?",
"album_leave_confirmation": "আপনি কি নিশ্চিত যে আপনি {album} ছেড়ে যেতে চান?",
"album_name": "অ্যালবামের নাম",
"album_options": "অ্যালবামের অপশনসমূহ",
"album_remove_user": "ব্যবহারকারী সরাতে চান?",
@@ -467,8 +460,6 @@
"album_share_no_users": "এই অ্যালবামটি সব ব্যবহারকারীর সঙ্গে শেয়ার করা হয়েছে, বা শেয়ার করার জন্য কোনো ব্যবহারকারী নেই।",
"album_updated": "অ্যালবাম আপডেট করা হয়েছে",
"album_updated_setting_description": "নতুন অ্যাসেট যুক্ত হলে শেয়ার করা অ্যালবামের জন্য ইমেইল নোটিফিকেশন পান",
"album_user_left": "বাম {album}",
"album_user_removed": "{user} কে সরানো হয়েছে",
"album_with_link_access": "লিঙ্ক থাকা যে কেউ এই অ্যালবামের ছবি ও মানুষজনকে দেখতে পারবে।",
"albums": "অ্যালবামসমূহ",
"all": "সব",
@@ -476,10 +467,8 @@
"all_people": "সব ব্যবহারকারী",
"all_videos": "সব ভিডিও",
"allow_dark_mode": "ডার্ক মোড চালু করুন",
"allow_edits": "এডিটের অনুমতি দিন",
"allow_public_user_to_download": "সাধারণ ব্যবহারকারী ডাউনলোড করতে পারবে",
"allow_public_user_to_upload": "সাধারণ ব্যবহারকারী আপলোড করতে পারবে",
"anti_clockwise": "বিপরীত দিক",
"api_key": "API কী",
"api_key_description": "এই মান একবারই দেখানো হবে। উইন্ডো বন্ধ করার আগে অবশ্যই এটি কপি করুন।",
"api_key_empty": "API কী-এর নাম খালি রাখা যাবে না",
@@ -495,8 +484,6 @@
"asset_added_to_album": "অ্যালবামে যুক্ত করা হয়েছে",
"asset_adding_to_album": "অ্যালবামে যুক্ত করা হচ্ছে…",
"asset_description_updated": "অ্যাসেটের বিবরণ আপডেট করা হয়েছে",
"asset_filename_is_offline": "{filename} অ্যাসেটটি বর্তমানে অফলাইন",
"asset_has_unassigned_faces": "অ্যাসেটটির কিছু মুখ অনির্ধারিত ফেস রয়েছে",
"asset_hashing": "হ্যাশিং চলছে…",
"asset_offline": "অ্যাসেট বর্তমানে অফলাইন",
"asset_offline_description": "এই এক্সটার্নাল অ্যাসেটটি এখন ডিস্কে নেই। সহায়তার জন্য Immich অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।",
@@ -517,7 +504,6 @@
"back": "ফিরে যান",
"back_close_deselect": "ফিরে যান, বন্ধ করুন বা নির্বাচন বাতিল করুন",
"backward": "পিছনে",
"birthdate_saved": "জন্ম তারিখ সংরক্ষণ সম্পন্ন",
"birthdate_set_description": "একটি ছবির সময়ে ব্যক্তির বয়স গণনার জন্য জন্ম তারিখ ব্যবহার করা হয়।",
"blurred_background": "ব্লারড ব্যাকগ্রাউন্ড",
"bugs_and_feature_requests": "বাগ ও ফিচার রিকোয়েস্ট",
@@ -536,7 +522,6 @@
"cannot_undo_this_action": "এই কাজ পূর্বাবস্থায় ফেরানো যাবে না!",
"cannot_update_the_description": "বিবরণ পরিবর্তন সম্ভব নয়",
"change_date": "তারিখ পরিবর্তন",
"change_expiration_time": "মেয়াদ শেষের সময় পরিবর্তন",
"change_location": "লোকেশন পরিবর্তন",
"change_name": "নাম পরিবর্তন করুন",
"change_name_successfully": "নাম সফলভাবে পরিবর্তন হয়েছে",
@@ -552,12 +537,10 @@
"clear_all_recent_searches": "সাম্প্রতিক সব অনুসন্ধান পরিষ্কার করুন",
"clear_message": "মেসেজ পরিষ্কার করুন",
"clear_value": "ভ্যালু মুছুন",
"clockwise": "ঘড়ির কাঁটার দিকে",
"close": "বন্ধ",
"collapse": "সংকুচিত করুন",
"collapse_all": "সব সংকুচিত",
"color": "রং",
"color_theme": "কালার থিম",
"comment_deleted": "মন্তব্য মুছে ফেলা হয়েছে",
"comment_options": "মন্তব্য অপশন",
"comments_and_likes": "মন্তব্য ও লাইক",
@@ -573,7 +556,6 @@
"copied_image_to_clipboard": "ছবি ক্লিপবোর্ডে কপি হয়েছে।",
"copied_to_clipboard": "ক্লিপবোর্ডে কপি হয়েছে!",
"copy_error": "Error-টি কপি করুন",
"copy_file_path": "ফাইল পাথ কপি",
"copy_image": "ছবি কপি",
"copy_link": "লিঙ্ক কপি",
"copy_link_to_clipboard": "ক্লিপবোর্ডে লিঙ্ক কপি করুন",
@@ -616,16 +598,13 @@
"delete_tag_confirmation_prompt": "আপনি কি নিশ্চিতভাবে {tagName} ট্যাগটি মুছতে চান?",
"delete_user": "ইউজার মুছুন",
"deleted_shared_link": "শেয়ার করা লিঙ্কটি মুছুন",
"deletes_missing_assets": "ডিস্ক থেকে হারানো অ্যাসেটগুলো মুছে",
"description": "বিবরন",
"details": "বিস্তারিত",
"direction": "দিকনির্দেশনা",
"disabled": "নিষ্ক্রিয়",
"disallow_edits": "সম্পাদনা করার অনুমতি দেবেন না",
"discord": "ডিসকর্ড",
"discover": "ডিসকভার",
"dismiss_all_errors": "সব ত্রুটি বাতিল করুন",
"dismiss_error": "ত্রুটি বাতিল করুন",
"display_options": "ডিসপ্লে অপশন",
"display_order": "ডিসপ্লে অর্ডার",
"display_original_photos": "অরিজিনাল ছবি দেখান",
@@ -645,6 +624,5 @@
"you_dont_have_any_shared_links": "আপনার কোনো শেয়ার করা লিঙ্ক নেই (You don't have any shared links)",
"your_wifi_name": "আপনার ওয়াই-ফাই এর নাম (Your Wi-Fi name)",
"zero_to_clear_rating": "অ্যাসেট রেটিং মুছে ফেলতে ০ চাপুন",
"zoom_image": "ছবি জুম করুন (Zoom Image)",
"zoom_to_bounds": "বাউন্ডস অনুযায়ী জুম করুন (Zoom to bounds)"
"zoom_image": "ছবি জুম করুন (Zoom Image)"
}
+1
View File
@@ -0,0 +1 @@
{}
+145 -331
View File
File diff suppressed because it is too large Load Diff
+146 -329
View File
File diff suppressed because it is too large Load Diff
-6
View File
@@ -8,7 +8,6 @@
"actions": "Ӗҫсем",
"active": "Хастар",
"activity": "Хастарлӑх",
"activity_changed": "Хастарлӑха {enabled, select, true {кӗртнӗ} other {сӳнтернӗ}}",
"add": "Хуш",
"add_a_description": "Ҫырса кӑтартни хуш",
"add_a_location": "Вырӑн хуш",
@@ -18,14 +17,11 @@
"add_endpoint": "Вӗҫӗмлӗ пӑнчӑ хушар",
"add_exclusion_pattern": "Кӑларса пӑрахмалли йӗрке хуш",
"add_location": "Вырӑн хуш",
"add_more_users": "Усӑҫсем ытларах хуш",
"add_partner": "Мӑшӑр хуш",
"add_path": "Ҫулне хуш",
"add_photos": "Сӑнӳкерчӗксем хуш",
"add_tag": "Тег хуш",
"add_to": "Мӗн те пулин хуш…",
"add_to_album": "Альбома хуш",
"add_to_shared_album": "Пӗрлехи альбома хуш",
"add_url": "URL хушӑр",
"added_to_archive": "Архива хушнӑ",
"added_to_favorites": "Суйласа илнине хушнӑ",
@@ -70,7 +66,6 @@
"feature_photo_updated": "Уйрӑм сӑнӳкерчӗк ҫӗнетнӗ",
"manage_sharing_with_partners": "Партнерсемпе пайланассине йӗркелесе пырӑр",
"map": "Карттӑ",
"map_marker_for_images": "{city}, {country} ҫинче ӳкернӗ ӳкерчӗксем валли карттӑ маркерӗ",
"map_marker_with_image": "Карттӑ маркерӗ ӳкерчӗкпе",
"map_settings": "Карттӑ ĕнерленĕвĕ",
"no_explore_results_message": "Хӑвӑр коллекципе киленмешкӗн сӑнӳкерчӗксем ытларах тийӗр.",
@@ -80,7 +75,6 @@
"people": "Ҫынсем",
"photos": "Сӑнӳкерчӗксем",
"photos_and_videos": "Сӑнӳкерчӗксем тете Видеосем",
"photos_count": "{count, plural, one {{count, number} Сӑнӳкерчӗк} other {{count, number} Сӑнӳкерчӗксем}}",
"photos_from_previous_years": "Иртнӗ ҫулсенчи сӑнӳкерчӗксем",
"place": "Тӗл",
"places": "Тӗлсем",
+114 -329
View File
File diff suppressed because it is too large Load Diff
+165 -348
View File
File diff suppressed because it is too large Load Diff
+63 -25
View File
@@ -1,48 +1,40 @@
{
"about": "Über",
"account": "Konto",
"account_settings": "Konto Einstellungen",
"account_settings": "Kontoistellige",
"acknowledge": "Bestätigä",
"action": "Aktion",
"action_common_update": "Update",
"action_description": "Aktionä, wo uf de gefilterti Mediä ausgführt werdä solled",
"actions": "Aktionen",
"action_description": "Aktionä, wo uf de gfilterte Medie usgführt wärde sölled",
"actions": "Aktionä",
"active": "Aktiv",
"active_count": "Aktiv: {count}",
"activity": "Aktivität",
"activity_changed": "Aktivität ist {enabled, select, true {aktiviert} other {deaktiviert}}",
"add": "Hinzuefüge",
"add_a_description": "Beschreibung hinzufügen",
"add_a_location": "Standort hinzuefügä",
"add_a_description": "Beschribig aege",
"add_a_location": "Standort afüege",
"add_a_name": "Namä hinzefügä",
"add_a_title": "Titel hinzufeügä",
"add_action": "Aktion hinzuefügä",
"add_action_description": "Klick do zum e Aktion hinzuefüge",
"add_assets": "Mediä hinzuefüge",
"add_birthday": "Geburtstag hinzuefüge",
"add_endpoint": "Endpunkt hinzuefüge",
"add_exclusion_pattern": "Ausschlussmuster hinzufügen",
"add_filter": "Filter hinzufügen",
"add_filter_description": "Klicke hier um eine Filterbedingung hinzuzufügen",
"add_location": "Standort hinzufügen",
"add_more_users": "Mehr Benutzer hinzufügen",
"add_partner": "Partner hinzufügen",
"add_path": "Pfad hinzufügen",
"add_photos": "Fotos hinzufügen",
"add_step": "Schritt hinzuefüege",
"add_tag": "Tag hinzufügen",
"add_to": "Hinzufügen zu…",
"add_to_album": "Zu Album hinzufügen",
"add_to_album_bottom_sheet_added": "Zu {album} hinzugefügt",
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
"add_to_album_bottom_sheet_some_local_assets": "Einige lokale Dateien konnten nicht zum Album hinzugefügt werden",
"add_to_album_toggle": "Auswahl umschalten für {album}",
"add_to_albums": "Zu Alben hinzufügen",
"add_to_albums_count": "Zu Alben hinzufügen ({count})",
"add_to_bottom_bar": "Hinzufügen zu",
"add_to_shared_album": "Zu geteiltem Album hinzufügen",
"add_to_bottom_bar": "zueege zu",
"add_upload_to_stack": "Upload zum Stapel hinzufügen",
"add_url": "URL hinzufügen",
"add_workflow_step": "Workflow-Schritt hinzufügen",
"add_url": "URL zueege",
"added_to_archive": "Zum Archiv hinzugefügt",
"added_to_favorites": "Zu Favoriten hinzugefügt",
"added_to_favorites_count": "{count, number} zu Favoriten hinzugefügt",
@@ -54,7 +46,7 @@
"authentication_settings_description": "Passwort-, OAuth- und andere Authentifizierungseinstellungen verwalten",
"authentication_settings_disable_all": "Bist du sicher, dass du alle Loginmethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.",
"authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.",
"background_task_job": "Hintergrundaufgaben",
"background_task_job": "Hintergrundfarbä",
"backup_database": "Datenbanksicherung erstellen",
"backup_database_enable_description": "Datenbank regelmässig sichern",
"backup_keep_last_amount": "Anzahl der aufzubewahrenden früheren Sicherungen",
@@ -64,7 +56,7 @@
"backup_onboarding_description": "Eine <backblaze-link>3-2-1 Sicherungsstrategie</backblaze-link> wird empfohlen, um deine Daten zu schützen. Du solltest sowohl Kopien deiner hochgeladenen Fotos/Videos als auch der Immich-Datenbank aufbewahren, um eine umfassende Sicherungslösung zu haben.",
"backup_onboarding_footer": "Weitere Informationen zum Sichern von Immich findest du in der <link>Dokumentation</link>.",
"backup_onboarding_parts_title": "Eine 3-2-1-Sicherung umfasst:",
"backup_onboarding_title": "Backups",
"backup_onboarding_title": "Sicherige",
"backup_settings": "Einstellungen für Datenbanksicherung",
"backup_settings_description": "Einstellungen zur regelmässigen Sicherung der Datenbank.",
"cleared_jobs": "Folgende Aufgaben zurückgesetzt: {job}",
@@ -76,16 +68,17 @@
"confirm_user_password_reset": "Bist du sicher, dass du das Passwort für {user} zurücksetzen möchtest?",
"confirm_user_pin_code_reset": "Bist du sicher, dass du den PIN-Code von {user} zurücksetzen möchtest?",
"copy_config_to_clipboard_description": "Aktuelle Systemkonfiguration als JSON-Objekt in die Zwischenablage kopieren",
"create_job": "Aufgabe erstellen",
"create_job": "Ufgab erstelle",
"cron_expression": "Cron-Ausdruck",
"cron_expression_description": "Setze das Scanintervall im Cron-Format. Für mehr Informationen, siehe z. B. <link>Crontab Guru</link>",
"cron_expression_presets": "Vorlagen für Cron-Ausdrücke",
"disable_login": "Login deaktivieren",
"disable_login": "Login deaktivierä",
"download_csv": "CSV herunterladen",
"duplicate_detection_job_description": "Verwendet maschinelles Lernen auf den Dateien, um Duplikate zu finden. Baut auf der intelligenten Suche auf",
"exclusion_pattern_description": "Mit Ausschlussmustern können Dateien und Ordner beim Scannen deiner Bibliothek ignoriert werden. Dies ist nützlich, wenn du Ordner hast, die Dateien enthalten, die du nicht importieren möchtest, wie z. B. RAW-Dateien.",
"export_config_as_json_description": "Aktuelle Systemkonfiguration als JSON-Datei herunterladen",
"external_libraries_page_description": "Externe Bibliotheksseite für Administratoren",
"face_detection": "Gesichtserkennung",
"face_detection": "Gsichtserkennig",
"face_detection_description": "Diese Aufgabe erkennt mit maschinellem Lernen Gesichter in Dateien. Bei Videos wird nur das Vorschaubild verwendet. „Aktualisieren“ verarbeitet alle Dateien neu. „Zurücksetzen“ setzt zusätzlich alle Gesichter zurück. „Fehlende“ fügt nur nicht verarbeitete Dateien in die Warteschlange ein. Erfasste Gesichter werden zur Gesichtsidentifizierung in die Warteschlange eingefügt, um sie in bestehende oder neue Personen zu gruppieren.",
"facial_recognition_job_description": "Diese Aufgabe gruppiert im Anschluss an die Gesichtserkennung die erkannten Gesichter zu Personen. „Zurücksetzen“ gruppiert alle Gesichter neu, während „Fehlende“ Gesichter ohne Zuordnung in die Warteschlange stellt.",
"failed_job_command": "Befehl {command} ist für Aufgabe {job} fehlgeschlagen",
@@ -99,7 +92,7 @@
"image_fullsize_title": "Hochauflösende Vorschaueinstellungen",
"image_prefer_embedded_preview": "Eingebettete Vorschau bevorzugen",
"image_prefer_embedded_preview_setting_description": "Verwende eingebettete Vorschaubilder in RAW-Fotos als Grundlage für die Bildverarbeitung, sofern diese zur Verfügung stehen. Dies kann bei einigen Bildern genauere Farben erzeugen, allerdings ist die Qualität der Vorschau kameraabhängig und das Bild kann mehr Kompressionsartefakte aufweisen.",
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen",
"image_prefer_wide_gamut": "weiterer Farbraum bevorzugen",
"image_prefer_wide_gamut_setting_description": "Display P3 (DCI-P3) für Vorschaubilder verwenden. Dadurch bleibt die Lebendigkeit von Bildern mit breiten Farbräumen besser erhalten, aber die Bilder können auf älteren Geräten mit einer älteren Browserversion etwas anders aussehen. sRGB-Bilder werden im sRGB-Format belassen, um Farbverschiebungen zu vermeiden.",
"image_preview_description": "Mittelgrosses Bild mit entfernten Metadaten, das bei der Betrachtung einer einzelnen Datei und für maschinelles Lernen verwendet wird",
"image_preview_quality_description": "Vorschauqualität von 1-100. Ein höherer Wert ist besser, erzeugt dadurch aber grössere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen. Ein niedriger Wert kann dafür aber die Qualität des maschinellen Lernens beeinträchtigen.",
@@ -107,7 +100,7 @@
"image_progressive": "Fortlaufend",
"image_progressive_description": "JPEG-Bilder schrittweise kodieren, um ein stufenweises Laden zu ermöglichen. Dies hat keine Auswirkungen auf WebP-Bilder.",
"image_quality": "Qualität",
"image_resolution": "Auflösung",
"image_resolution": "Uflösig",
"image_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Kodierung, haben grössere Dateigrössen und können die Reaktionsfähigkeit der App beeinträchtigen.",
"image_settings": "Bildeinstellungen",
"image_settings_description": "Qualität und Auflösung der generierten Bilder verwalten",
@@ -120,6 +113,8 @@
"job_not_concurrency_safe": "Diese Aufgabe kann nicht mehrmals parallel laufen gelassen werden.",
"job_settings": "Aufgabeneinstellungen",
"job_settings_description": "Gleichzeitige Ausführung von Aufgaben verwalten",
"jobs_delayed": "Qualität",
"jobs_failed": "{jobCount, plural, other {# failed}}",
"jobs_over_time": "Jobs im Laufe der Zeit",
"library_created": "Bibliothek erstellt: {library}",
"library_deleted": "Bibliothek gelöscht",
@@ -127,6 +122,49 @@
"library_folder_description": "Wähle einen Ordner zum Importieren. Dieser Ordner wird inklusive Unterordnern nach Bildern und Videos durchsucht.",
"library_remove_exclusion_pattern_prompt": "Bilst du sicher, dass du dieses Ausschlussmuster entfernen möchtest?",
"library_remove_folder_prompt": "Bist du sicher, dass du diesen Import-Ordner entfernen möchtest?",
"library_scanning": "Regelmässiges Scannen"
}
"library_scanning": "Regelmässiges Scannen",
"library_scanning_description": "Regelmässiges Scannen der Bibliothek konfigurieren",
"library_scanning_enable_description": "Regelmässiges Scannen der Bibliothek aktivieren",
"library_settings": "Externe Bibliothek",
"library_settings_description": "Einstellungen für externe Bibliotheken verwalten",
"library_tasks_description": "Externe Bibliotheken nach neuen und/oder geänderten Assets durchsuchen",
"library_updated": "Aktualisierte Bibliothek",
"library_watching_enable_description": "Änderungen an Dateien in externen Bibliotheken überwachen",
"library_watching_settings": "Bibliothek beobachten [EXPERIMENTELL]",
"library_watching_settings_description": "Automatisch nach geänderten Dateien suchen",
"logging_enable_description": "Logging aktivieren",
"logging_level_description": "Wenn aktiviert, welches Logging-Level soll verwendet werden.",
"logging_settings": "Logging",
"machine_learning_availability_checks": "Verfügbarkeitsüberprüfungen",
"machine_learning_availability_checks_description": "Verfügbare Machine-Learning-Server automatisch erkennen und bevorzugen",
"machine_learning_availability_checks_enabled": "Verfügbarkeitsüberprüfungen aktivieren",
"machine_learning_availability_checks_interval": "Überprüfungsintervall",
"machine_learning_availability_checks_interval_description": "Intervall in Millisekunden zwischen Verfügbarkeitsüberprüfungen",
"machine_learning_availability_checks_timeout": "Zeitüberschreitung der Anfrage",
"machine_learning_availability_checks_timeout_description": "Timeout in Millisekunden für Verfügbarkeitsüberprüfungen",
"machine_learning_clip_model": "CLIP Model",
"machine_learning_clip_model_description": "Der Name eines der <link>hier</link> gelisteten CLIP-Modelle. Hinweis: Nach dem Ändern eines Modells muss der Smart Search-Vorgang für alle Bilder erneut gestartet werden.",
"machine_learning_duplicate_detection": "Duplikatserkennung",
"machine_learning_duplicate_detection_enabled": "Duplikatserkennung aktivieren",
"machine_learning_duplicate_detection_enabled_description": "Falls deaktiviert, werden exakt identische Assets weiterhin dedupliziert.",
"machine_learning_duplicate_detection_setting_description": "Verwende CLIP embeddings um wahrscheinliche Dublikate zu finden",
"machine_learning_enabled": "Maschinelles Lernen aktivieren",
"machine_learning_enabled_description": "Falls deaktiviert, werden alle ML-Funktionen deaktiviert, unabhängig von den untenstehenden Einstellungen.",
"machine_learning_facial_recognition": "Gesichtserkennung",
"machine_learning_facial_recognition_description": "Gesichter in Bildern erkennen, identifizieren und gruppieren",
"machine_learning_facial_recognition_model": "Model für die Gesichtserkennung",
"machine_learning_facial_recognition_model_description": "Modell sind noch abstigender Grössi ufglitet. Grösseri Modell sind langsamer und bruched meh Arbeitsspeicher, aber produziered besseri Resultat. Gsichterkennig muss für alli Fotis neu usgfüehrt wärde, nochdem s Modell gwächslet worde esch.",
"machine_learning_facial_recognition_setting": "Gsichtserkennig ischalte",
"machine_learning_facial_recognition_setting_description": "Wenn usgschalte wärded Fotis ned für Gsichtserkennig enkodiert und wärded ned ide Personesektion uf de",
"machine_learning_max_detection_distance": "Maximali Erkennigsdistanz",
"machine_learning_max_detection_distance_description": "Maximali Distanz zwüsche zwei Bilder, um si als Duplikat z erkenne, zwische 0.001 - 0.1. Höcheri Wärt erkenned meh Duplikat, aber chönd Falschpositivi erzüge."
},
"video_quality": "Videoqualität",
"videos": "Videos",
"view": "Aasicht",
"view_album": "Album aazeige",
"view_all": "Alles aazeige",
"view_all_users": "Alli Nutzer aazeige",
"view_details": "Details aaluege",
"view_link": "Link aazeige"
}
+12 -323
View File
File diff suppressed because it is too large Load Diff
+44 -317
View File
File diff suppressed because it is too large Load Diff
+2253
View File
File diff suppressed because it is too large Load Diff
+887 -165
View File
File diff suppressed because it is too large Load Diff
+143 -329
View File
File diff suppressed because it is too large Load Diff
+154 -347
View File
File diff suppressed because it is too large Load Diff
+2116 -14
View File
File diff suppressed because it is too large Load Diff
-26
View File
@@ -16,17 +16,12 @@
"add_a_name": "افزودن نام",
"add_a_title": "افزودن عنوان",
"add_action": "افزودن عملیات",
"add_action_description": "برای افزودن و اعمال یک عملیات کلیک کنید",
"add_assets": "افزودن عکس یا فیلم",
"add_birthday": "افزودن تاریخ تولد",
"add_endpoint": "افزودن پایانه",
"add_exclusion_pattern": "افزودن الگوی استثنا",
"add_filter": "افزودن فیلتر",
"add_filter_description": "برای افزودن یک شرط فیلتر کلیک کنید",
"add_location": "افزودن مکان",
"add_more_users": "افزودن کاربرهای بیشتر",
"add_partner": "افزودن شریک",
"add_path": "افزودن مسیر",
"add_photos": "افزودن عکس ها",
"add_tag": "افزودن تگ",
"add_to": "افزودن به …",
@@ -34,14 +29,11 @@
"add_to_album_bottom_sheet_added": "به آلبوم {album} اضافه شد",
"add_to_album_bottom_sheet_already_exists": "قبلا در آلبوم {album} موجود است",
"add_to_album_bottom_sheet_some_local_assets": "برخی از محتواهای محلی را نشد به آلبوم اضافه کرد",
"add_to_album_toggle": "تغییر وضعیت انتخاب برای {album}",
"add_to_albums": "افزودن به آلبوم",
"add_to_albums_count": "افزودن به آلبوم ها {count}",
"add_to_bottom_bar": "افزودن به",
"add_to_shared_album": "افزودن به آلبوم اشتراکی",
"add_upload_to_stack": "افزودن فایل ارسالی به مجموعه",
"add_url": "افزودن آدرس URL",
"add_workflow_step": "افزودن یک مرحله به روند کار",
"added_to_archive": "به آرشیو اضافه شد",
"added_to_favorites": "به علاقه مندی ها اضافه شد",
"added_to_favorites_count": "{count, number} تا به علاقه مندی ها اضافه شد",
@@ -406,7 +398,6 @@
"all": "همه",
"all_people": "همه افراد",
"allow_dark_mode": "اجازه دادن به حالت تاریک",
"allow_edits": "اجازه ویرایش",
"api_key": "کلید API",
"api_keys": "کلیدهای API",
"app_settings": "تنظیمات برنامه",
@@ -427,7 +418,6 @@
"cannot_merge_people": "نمی‌توان افراد را ادغام کرد",
"cannot_update_the_description": "نمی‌توان توضیحات را به‌روزرسانی کرد",
"change_date": "تغییر تاریخ",
"change_expiration_time": "تغییر زمان انقضا",
"change_location": "تغییر مکان",
"change_name": "تغییر نام",
"change_name_successfully": "نام با موفقیت تغییر یافت",
@@ -443,7 +433,6 @@
"clear_value": "پاک کردن مقدار",
"close": "بستن",
"collapse_all": "جمع کردن همه",
"color_theme": "تم رنگ",
"comment_options": "گزینه‌های نظر",
"comments_are_disabled": "نظرات غیرفعال هستند",
"confirm": "تأیید",
@@ -455,7 +444,6 @@
"copied_image_to_clipboard": "تصویر به کلیپ‌بورد کپی شد.",
"copied_to_clipboard": "به کلیپ‌بورد کپی شد!",
"copy_error": "خطا در کپی",
"copy_file_path": "کپی مسیر فایل",
"copy_image": "کپی تصویر",
"copy_link": "کپی لینک",
"copy_link_to_clipboard": "کپی لینک به کلیپ‌بورد",
@@ -493,10 +481,8 @@
"details": "جزئیات",
"direction": "جهت",
"disabled": "غیرفعال",
"disallow_edits": "عدم اجازه ویرایش",
"discover": "کشف کردن",
"dismiss_all_errors": "رد تمام خطاها",
"dismiss_error": "رد خطا",
"display_options": "گزینه‌های نمایش",
"display_order": "ترتیب نمایش",
"display_original_photos": "نمایش عکس‌های اصلی",
@@ -579,7 +565,6 @@
"let_others_respond": "اجازه به دیگران برای پاسخ‌گویی",
"level": "سطح",
"library": "کتابخانه",
"library_options": "گزینه‌های کتابخانه",
"light": "روشن",
"link_to_oauth": "اتصال به OAuth",
"linked_oauth_account": "حساب OAuth متصل شده",
@@ -594,7 +579,6 @@
"main_branch_warning": "شما در حال استفاده از نسخه توسعه‌دهندگان هستید که آزمایشی و ناپایدار است. اکیداً توصیه می‌کنیم از نسخه رسمی استفاده کنید!",
"main_menu": "منوی اصلی",
"make": "ساختن",
"manage_shared_links": "مدیریت لینک‌های اشتراکی",
"manage_sharing_with_partners": "مدیریت محتوای مشترک با همسر",
"manage_the_app_settings": "مدیریت تنظیمات برنامه",
"manage_your_account": "مدیریت حساب کاربری",
@@ -602,13 +586,10 @@
"manage_your_devices": "مدیریت دستگاه‌های متصل",
"manage_your_oauth_connection": "مدیریت اتصال OAuth",
"map": "نقشه",
"map_assets_in_bounds": "{count} عکس ها",
"map_cannot_get_user_location": "موقعیت مکانی در دسترس نیست",
"map_location_dialog_yes": "بله",
"map_location_picker_page_use_location": "استفاده از این موقعیت مکانی",
"map_location_service_disabled_content": "برای نمایش دارایی‌ها بر اساس موقعیت مکانی، نیاز به فعال‌سازی سرویس مکان‌یابی دارید. می‌خواهید همین حالا فعال شود؟",
"map_location_service_disabled_title": "سرویس مکان‌یابی غیرفعال است",
"map_marker_for_images": "نشانگر روی نقشه برای عکس‌های گرفته‌شده در {city}, {country}",
"map_marker_with_image": "علامت‌گذاری نقشه با عکس",
"map_no_location_permission_content": "برای نمایش عکس‌های اطرافتان، برنامه نیاز به دسترسی به موقعیت مکانی دارد. اجازه دسترسی می‌دهید؟",
"map_no_location_permission_title": "دسترسی به موقعیت شما فعال نیست",
@@ -618,7 +599,6 @@
"map_settings_date_range_option_days": "{days} روز گذشته",
"map_settings_date_range_option_year": "پارسال",
"map_settings_date_range_option_years": "{years} سال گذشته",
"map_settings_dialog_title": "تنظیمات نقشه",
"map_settings_include_show_archived": "شامل موارد بایگانی شده",
"map_settings_include_show_partners": "شامل همسر",
"matches": "تطابق‌ها",
@@ -717,12 +697,9 @@
"refresh": "تازه سازی",
"refreshed": "تازه سازی شد",
"remove": "حذف",
"remove_deleted_assets": "حذف محتواهای حذف‌شده",
"remove_from_album": "حذف از آلبوم",
"remove_from_favorites": "حذف از علاقه‌مندی‌ها",
"rename": "تغییر نام",
"repair": "تعمیر",
"replace_with_upload": "جایگزینی با آپلود",
"reset": "بازنشانی",
"reset_password": "بازنشانی رمز عبور",
"restore": "بازیابی",
@@ -736,7 +713,6 @@
"saved_settings": "تنظیمات ذخیره شد",
"say_something": "چیزی بگویید",
"scan_all_libraries": "اسکن همه کتابخانه‌ها",
"scan_settings": "تنظیمات اسکن",
"search": "جستجو",
"search_albums": "جستجوی آلبوم‌ها",
"search_by_context": "جستجو براساس زمینه",
@@ -757,7 +733,6 @@
"select_face": "انتخاب چهره",
"select_featured_photo": "انتخاب عکس ویژه",
"select_keep_all": "انتخاب نگهداری همه",
"select_library_owner": "انتخاب مالک کتابخانه",
"select_new_face": "انتخاب چهره جدید",
"select_photos": "انتخاب عکس‌ها",
"selected": "انتخاب شده",
@@ -841,7 +816,6 @@
"view": "مشاهده",
"view_all": "مشاهده همه",
"view_all_users": "مشاهده همه کاربران",
"view_links": "مشاهده لینک‌ها",
"view_next_asset": "مشاهده محتوای بعدی",
"view_previous_asset": "مشاهده محتوای قبلی",
"waiting": "در انتظار",
+57 -331
View File
File diff suppressed because it is too large Load Diff
+28 -8
View File
@@ -7,34 +7,39 @@
"action_common_update": "I-update",
"actions": "Mga Aksyon",
"active": "Tumatakbo",
"active_count": "Aktibo: {count}",
"activity": "Mga Aktibidad",
"activity_changed": "Ang aktibidad ay {enabled, select, true {naka-enable} other {hindi naka-enable}}",
"add": "Mag dagdag",
"add_a_description": "Dagdagan ng deskripsyon",
"add_a_location": "Dagdagan ng lugar",
"add_a_name": "Dagdagan ng pangalan",
"add_a_title": "Dagdagan ng pamagat",
"add_action": "Magdagdag ng aksyon",
"add_assets": "Dagdagan ng asset",
"add_birthday": "Maglagay ng kaarawan",
"add_endpoint": "Dagdagan ng dulo",
"add_exclusion_pattern": "Magdagdag ng exlusion pattern",
"add_location": "Magdagdag ng lugar",
"add_more_users": "Magdagdag ng mga user",
"add_partner": "Magdagdag ng kasangga",
"add_path": "Magdagdag ng path",
"add_photos": "Magdagdag ng litrato",
"add_step": "Magdagdag ng step",
"add_tag": "Magdagdag ng tag",
"add_to": "Idagdag sa…",
"add_to_album": "Idagdag sa album",
"add_to_album_bottom_sheet_added": "Naidagdag sa {album}",
"add_to_album_bottom_sheet_already_exists": "Nasa {album} na",
"add_to_album_bottom_sheet_some_local_assets": "May ilang mga local assets ang hindi maidagdag sa album",
"add_to_albums": "Idagdag sa mga album",
"add_to_albums_count": "Idagdag sa mga album ({count})",
"add_to_shared_album": "Idagdag sa shared album",
"add_to_bottom_bar": "Idagdag sa",
"add_upload_to_stack": "Magdagdag ng upload para ma-stack",
"add_url": "Magdagdag ng URL",
"added_to_archive": "Naidagdag sa archive",
"added_to_favorites": "Naidagdag sa mga paborito",
"added_to_favorites_count": "Naidagdag ang {count, number} sa mga paborito",
"admin": {
"add_exclusion_pattern_description": "Dagdagan ng pattern para maibukod. Supportado ang pag-tutugma gamit ang *, **, at ?. Para hindi maisama ang mga file sa direktoryo na may pangalang \"Raw\", gamitin ang \"**/Raw/**\". Para hindi maisama ang lahat ng mga file na nagtatapos sa \".tif\", gamitin ang \"**/*.tif\". Para hindi maisama ang isang tiyak na folder, gamitin ang \"/path/to/ignore/**\".",
"admin_user": "Admin User",
"asset_offline_description": "Ang external library asset na ito ay hindi na makikita sa disk at nailipat na sa basurahan. Kung ang file ay nailipat sa loob ng library, tignan ang iyong timeline para sa kaukulang asset. Para maibalik ang asset na ito, siguraduhin na ang file ay maa-access ng Immich at muling i-scan ang library.",
"authentication_settings": "Setting ng mga Pagkakakilanlan",
"authentication_settings_description": "Pamahalaan ang password, OAuth, and iba pang setting ng pagkakakilanlan",
@@ -44,6 +49,10 @@
"backup_database": "Gumawa ng Dump ng Database",
"backup_database_enable_description": "Paganahin ang Database Dumps",
"backup_keep_last_amount": "Bilang ng mga itatagong nakaraang dump",
"backup_onboarding_1_description": "offsite na kopya sa cloud o sa ibang pisikal na lokasyon.",
"backup_onboarding_footer": "Para sa karagdagang impormasyon tungkol sa pag-backup ng Immich, maaaring tignan sa <link>dokumentasyon</link>.",
"backup_onboarding_parts_title": "Ang 3-2-1 backup ay kasama:",
"backup_onboarding_title": "Backups",
"backup_settings": "Setting ng mga Database Dump",
"backup_settings_description": "Pamahalaan ang mga setting ng database dump.",
"cleared_jobs": "Tinanggal na ang mga trabaho para sa {job}",
@@ -61,33 +70,44 @@
"disable_login": "I-disable ang login",
"duplicate_detection_job_description": "Hanapin ang mga magkakatulad na imahe gamit ang machine learning. Umaasa sa Smart Search",
"exclusion_pattern_description": "Maaaring gamitin ang mga pattern na pangbukod para hindi pansinin ang ilang file o folder habang binabasa ang iyong library. Mainam itong solusyon para sa mga folder na may file na ayaw niyong ma-import, tulad ng mga RAW na file.",
"face_detection": "Face detection",
"force_delete_user_warning": "BABALA: Tatanggalin itong user at lahat ng asset nila, Hindi ito mababawi at ang kanilang files ay hindi na mababalik",
"image_format": "Format",
"note_cannot_be_changed_later": "TANDAAN: Hindi na ito pwede baguhin sa susunod!",
"server_welcome_message_description": "Mensahe na ipapakita sa login page.",
"user_restore_description": "Ang account ni <b>{user}</b> ay maibabalik."
},
"album_user_left": "Umalis sa {album}",
"all_albums": "Lahat ng albums",
"all_people": "Lahat ng tao",
"all_videos": "Lahat ng video",
"api_key_description": "Isang beses lamang na ipapakita itong value. Siguraduhin na ikopya itong value bago iclose ang window na ito.",
"are_these_the_same_person": "Itong tao na ito ay parehas?",
"asset_adding_to_album": "Dinadagdag sa album...",
"asset_filename_is_offline": "Offline ang asset {filename}",
"asset_uploading": "Ina-upload...",
"change_your_password": "Palitan ang iyong password",
"country": "Bansa",
"create_album_page_untitled": "Walang pamagat",
"documentation": "Dokumentasyion",
"done": "Tapos na",
"download": "I-download",
"edit": "I-edit",
"editor_close_without_save_title": "Isara ang editor?",
"edit_album": "I-edit ang album",
"edit_avatar": "I-edit ang avatar",
"edit_birthday": "I-edit ang birthday",
"edit_date": "I-edit ang petsa",
"edit_date_and_time": "I-edit ang petsa at oras",
"explore": "I-explore",
"export": "I-export",
"has_quota": "May quota",
"hour": "Oras",
"info": "Informasyon",
"jobs": "Mga trabaho",
"language": "Wika",
"leave": "Umalis",
"no_results": "Walang resulta"
"no_results": "Walang resulta",
"shared_link_edit_expire_after_option_minutes": "{count} minuto",
"shared_link_edit_expire_after_option_months": "{count} buwan",
"shared_link_edit_expire_after_option_year": "{count} taon",
"shared_link_edit_password_hint": "I-enter ang share password",
"year": "Taon"
}
+159 -342
View File
File diff suppressed because it is too large Load Diff
+138 -325
View File
File diff suppressed because it is too large Load Diff
+140 -327
View File
File diff suppressed because it is too large Load Diff
+24 -195
View File
@@ -5,36 +5,34 @@
"acknowledge": "Bestätige",
"action": "Aktion",
"action_common_update": "Aktualisiere",
"action_description": "A Gruppe fo Aktione wo söll usgfüert werde",
"actions": "Aktione",
"active": "Aktiv",
"active_count": "Aktive:{count}",
"activity": "Aktivität",
"activity_changed": "Aktivität isch {enabled, select, true {aktiviert} other {deaktiviert}}",
"add": "Aafüege",
"add_a_description": "Beschriebig hinzuäzfüägä",
"add_a_location": "Standort hiifüege",
"add_a_name": "Name hiifüege",
"add_a_title": "Titel hiifüege",
"add_action": "Aktion hiifüege",
"add_assets": "Objäkt Hinzuefüege",
"add_birthday": "Geburtsdatum hiifüege",
"add_endpoint": "Endpunkt hiifüege",
"add_exclusion_pattern": "Ausschlussmuster hiifüege",
"add_location": "Standort hiifüege",
"add_more_users": "Wiiteri Nutzer hiifüege",
"add_partner": "Partner hiifüege",
"add_path": "Pfad hiifüege",
"add_photos": "Fotos hiifüege",
"add_step": "Schritt hinzuefüege",
"add_tag": "Tag hiifüege",
"add_to": "Hiifüege zu …",
"add_to_album": "Zum Album hiifüege",
"add_to_album_bottom_sheet_added": "Zu {album} hiigfüegt",
"add_to_album_bottom_sheet_already_exists": "Bereits in {album}",
"add_to_album_bottom_sheet_some_local_assets": "E paar lokali Dateie händ nöd chönne zum Album hiigfüegt werde",
"add_to_album_toggle": "Uswahl umschalte für {album}",
"add_to_albums": "Zu Albe hiifüege",
"add_to_albums_count": "Zu Albe hiifüege ({count})",
"add_to_bottom_bar": "Hiifüege zu",
"add_to_shared_album": "Zum gteilte Album hiifüege",
"add_upload_to_stack": "Upload zum Stapel hiifüege",
"add_url": "URL hiifüege",
"added_to_archive": "Zum Archiv hiigfüegt",
@@ -182,10 +180,15 @@
"machine_learning_smart_search_enabled": "Intelligenti Suechi aktiviere",
"machine_learning_smart_search_enabled_description": "Wenn die Option deaktiviert isch, werde dBilder nöd für dintelligenti Suechi bruucht.",
"machine_learning_url_description": "DURL vom Server fürs maschinelli Lärne. Wenn meh als eini URL aagee wird, wird jeder Server einzeln usprobiert, bis einer erfolgrich antwortet und zwar i dr Räihäfolg vom erschte bis zum letschte. Server, wo nöd antworted, werde vorübergehend ignoriert, bis si wieder verfügbar sind.",
"maintenance_delete_backup": "Backup lösche",
"maintenance_restore_backup": "Backup wiederherstelle",
"maintenance_restore_backup_description": "Immich wird glöscht und vom usgwählte Backup wiederhergstellt. Es Backup wird vorher erstellt.",
"maintenance_restore_backup_different_version": "Das Backup esch mitere andere Version vo Immich erstellt worde!",
"maintenance_settings": "Wartig",
"maintenance_settings_description": "Immich i de Wartigsmodus versetze.",
"maintenance_start": "Wartigsmodus startä",
"maintenance_start_error": "Wartigsmodus het nöd chönne gstartet werde.",
"maintenance_upload_backup_error": "Backup hed ned chönne ufeglade werde, esch es en .sql/.sql.gz Datei?",
"manage_concurrency": "Gliichziitigi Uusfüerig verwalte",
"manage_concurrency_description": "Gang zur Job-Site, um dJob-Parallelität z verwalte",
"manage_log_settings": "Log-Iistellige verwalte",
@@ -248,6 +251,8 @@
"notification_enable_email_notifications": "E-Mail-Benochrichtigige aktiviere",
"notification_settings": "Benochrichtigigs-Iistellige",
"notification_settings_description": "Benochrichtigigs-Iistellige (inkl. E-Mail) verwalte",
"oauth_allow_insecure_requests": "Unsicheri Aafroge erlaube",
"oauth_allow_insecure_requests_description": "ACHTUNG: Das deaktiviert TLS Zertifikats-Validierig für OAuth aafroge und setzt dech möglicherwiis MITM Attacke us.",
"oauth_auto_launch": "Auto-Start",
"oauth_auto_launch_description": "Automatischer Start vom OAuth-Aahmäldvorgang bim Ufruäfä vo dr Aahmäldigs-Site",
"oauth_auto_register": "Automatischi Registrierig",
@@ -255,6 +260,7 @@
"oauth_button_text": "Button-Text",
"oauth_client_secret_description": "Erforderlich, wenn PKCE (Proof Key for Code Exchange) nöd vom OAuth-Anbieter unterstützt wird",
"oauth_enable_description": "Ahmeldig mit OAuth",
"oauth_end_session_url_description": "Benutzer zu dere URI witerleite wenn sie sech uslogged.",
"oauth_mobile_redirect_uri": "Mobile Umleitigs-URI",
"oauth_mobile_redirect_uri_override": "Mobile Umleitigs-URI überschriebe",
"oauth_mobile_redirect_uri_override_description": "Iischalte, wenn dr OAuth-Anbieter kei mobile URI wie „{callback}“ erlaubt",
@@ -432,8 +438,6 @@
"admin_password": "Administrator Passwort",
"administration": "Verwaltig",
"advanced": "Erwiitert",
"advanced_settings_enable_alternate_media_filter_subtitle": "Bruuch die Option, um Medie während dr Synchronisierung nach andere Kriterie z filtere. Versuech das nume, wenn Problem mit dr Erkenig vo allne Albe dur dApp auftrete.",
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTELL] Benutz alternative Filter für dSynchronisierig vo de Geräte-Albe",
"advanced_settings_log_level_title": "Log-Level: {level}",
"advanced_settings_prefer_remote_subtitle": "Einigi Gerät sind sehr langsam bim Lade vo lokale Vorschaubilder. Aktivier die Iistellige, um stattdesse dServer-Bilder z lade.",
"advanced_settings_prefer_remote_title": "Server-Bilder bevorzuge",
@@ -441,8 +445,6 @@
"advanced_settings_proxy_headers_title": "Benutzerdefinierti Proxy-Header [Experimentell]",
"advanced_settings_readonly_mode_subtitle": "Aktiviert dr schriibgschützte Modus, i dem dFotos nume aazeigt werde chöi. Funktione wie mehri Bilder uswähle, teile, übertrage und lösche sind deaktiviert. Aktivier/Deaktivier dr schriibgschützte Modus über dr Benutzer-Avatar uf em Hauptbildschirm",
"advanced_settings_readonly_mode_title": "Schriibgschützte Modus",
"advanced_settings_self_signed_ssl_subtitle": "Verifizierig vo SSL-Zertifikate vom Server überspringe. Nötig bi selbstsignierte Zertifikate.",
"advanced_settings_self_signed_ssl_title": "Selbstsignierti SSL-Zertifikate erlaubä [Experimentell]",
"advanced_settings_sync_remote_deletions_subtitle": "Automatisches Lösche oder Wiederherstellig vo ener Datei uf däm Gerät, wenn die Aktion im Web durgfüert wird",
"advanced_settings_sync_remote_deletions_title": "Mit Server-Löschige synchronisiere [Experimentell]",
"advanced_settings_tile_subtitle": "Erwiiterti Benutzer-Iistellige",
@@ -458,11 +460,7 @@
"album_delete_confirmation": "Bisch du sicher, dass du sAlbum {album} wotsch lösche?",
"album_delete_confirmation_description": "Wenn das Album gteiltt worde isch, chönnt anderi Benutzer nümme druf zuegriife.",
"album_deleted": "Album glöscht",
"album_info_card_backup_album_excluded": "USGSCHLOSSÄ",
"album_info_card_backup_album_included": "IHGSCHLOSSÄ",
"album_info_updated": "Album-Infos aktualisiert",
"album_leave": "Album verloh?",
"album_leave_confirmation": "Bisch du sicher, dass du sAlbum {album} verla lasse wotsch?",
"album_name": "Albumname",
"album_options": "Albumoptione",
"album_remove_user": "Nutzer entfernä?",
@@ -472,15 +470,8 @@
"album_summary": "Album Zämmefassig",
"album_updated": "Album aktualisiert",
"album_updated_setting_description": "Erhalt e E-Mail-Benachrichtigig, wenn e freigähs Album neui Dateie enthält",
"album_user_left": "{album} verlasse",
"album_user_removed": "{user} entfernt",
"album_viewer_appbar_delete_confirm": "Bisch du sicher, dass du das Album us dim Konto wotsch lösche?",
"album_upload_assets": "Dateie vo dim Computer ufelade und zu Album hinzuefüege",
"album_viewer_appbar_share_err_delete": "Album het nöd chenne glöscht werde",
"album_viewer_appbar_share_err_leave": "Album het nöd chenne verloh werde",
"album_viewer_appbar_share_err_remove": "Bi dr Löschung vo Element us em Album isch es Problem uufgetrete",
"album_viewer_appbar_share_err_title": "Dr Titel het nöd chönne gänderet werde",
"album_viewer_appbar_share_leave": "Album verloh",
"album_viewer_appbar_share_to": "Teile über",
"album_viewer_page_share_add_users": "Nutzer hinzufüegä",
"album_with_link_access": "Lah jede mit em Link dFotos und dPersone i däm Album aaluege.",
"albums": "Albene",
@@ -492,21 +483,20 @@
"all": "Alli",
"all_albums": "Alli Albene",
"all_people": "Alli Persone",
"all_photos": "Alli Fotis",
"all_videos": "Alli Videos",
"allow_dark_mode": "Dunkle-Modus erlaube",
"allow_edits": "Bearbeitig erlaube",
"allow_public_user_to_download": "Erlaub öffentliche Benutzer zdownloade",
"allow_public_user_to_upload": "Erlaub öffentliche Benutzer ufezlade",
"allowed": "Erlaubt",
"alt_text_qr_code": "QR-Code Bild",
"anti_clockwise": "Gäge de Uhrzeigersinn",
"always_keep": "Immer bhalte",
"api_key": "API-Schlüssel",
"api_key_description": "Dä Wert wird nume einisch aazeigt. Bitte kopier ihn, bevor du sFänschter schliessisch.",
"api_key_empty": "Din API-Schlüssel-Name dörf nöd leer si",
"api_keys": "API-Schlüssel",
"app_architecture_variant": "Variante (Architektur)",
"app_bar_signout_dialog_content": "Bisch du sicher, dass du dich abmälde wotsch?",
"app_bar_signout_dialog_ok": "Jo",
"app_bar_signout_dialog_title": "Abmälde",
"app_download_links": "App Download Links",
"app_settings": "App-Ihstellige",
@@ -517,62 +507,46 @@
"archive": "Archiv",
"archive_action_prompt": "{count} zum Archiv hinzuegfüegt",
"archive_or_unarchive_photo": "Foti archivierä bzw. Archvierig ufhebä",
"archive_page_no_archived_assets": "Kei archivierti Inhält gfundä",
"archive_page_title": "Archiv ({count})",
"archive_size": "Archivgrössi",
"archive_size_description": "Archivgrössi für Downloads konfiguriere (in GiB)",
"archived": "Archiviert",
"archived_count": "{count, plural, other {# archiviert}}",
"are_these_the_same_person": "Isch das di gliichi Person?",
"are_you_sure_to_do_this": "Bisch du sicher, dass du das wotsch mache?",
"asset_action_delete_err_read_only": "Schriibgschützti Inhält chönd nöd glöscht werde, überspringe",
"asset_action_share_err_offline": "Die Offline-Date chönnd nöd glesä werdä, überspringä",
"asset_added_to_album": "Zum Album hinzugfüegt",
"asset_adding_to_album": "Hinzufüegä zum Album…",
"asset_created": "Datei erstellt",
"asset_description_updated": "Die Beschribiig vo de Datei isch aktualisiert worde",
"asset_filename_is_offline": "Datei {filename} isch offline",
"asset_has_unassigned_faces": "Datei het nöd zuegwiseni Gsichter",
"asset_hashing": "Berechni Prüfsummi…",
"asset_list_group_by_sub_title": "Gruppiere noch",
"asset_list_layout_settings_dynamic_layout_title": "Dynamischs Layout",
"asset_list_layout_settings_group_automatically": "Automatisch",
"asset_list_layout_settings_group_by": "Gruppierä Elemente noch",
"asset_list_layout_settings_group_by_month_day": "Monet + Tag",
"asset_list_layout_sub_title": "Layout",
"asset_list_settings_subtitle": "Iistellige fürs Foto-Gitter-Layout",
"asset_list_settings_title": "Fotigitter",
"asset_not_found_on_device_android": "Datei ned ufem Grät gfunde",
"asset_offline": "Datei offline",
"asset_offline_description": "Die externi Datei isch nümme uf em Datenträger vorhande. Bitte wend dich ah din Immich-Administrator, um Hilf z becho.",
"asset_restored_successfully": "Datei erfolgriich wiederhergstellt",
"asset_skipped": "Übersprungä",
"asset_skipped_in_trash": "Im Papierkorb",
"asset_trashed": "Datei glöscht",
"asset_troubleshoot": "Datei Fehlerbehebig",
"asset_uploaded": "Ufeglade",
"asset_uploading": "Ufelade…",
"asset_viewer_settings_subtitle": "Verwaltig vo de Iistellige für dFoto-Aazeig",
"asset_viewer_settings_title": "Foto-Aazeig",
"assets": "Dateie",
"assets_added_count": "{count, plural, one {# Datei} other {# Dateie}} hinzugefügt",
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateie}} zum Album hinzugefügt",
"assets_added_to_albums_count": "{assetTotal, plural, one {# Datei} other {# Dateie}} zu {albumTotal, plural, one {# Album} other {# Albene}} hinzugefügt",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Datei chan}other {Dateie chönnd}} nöd zum Album hinzuegfüegt werde",
"assets_cannot_be_added_to_albums": "{count, plural, one {Datei chan} other {Dateie chönnd}} nöd zu dene Albe hinzuegfüegt werde",
"assets_count": "{count, plural, one {# Datei} other {# Dateie}}",
"assets_deleted_permanently": "{count} Elemänt(e) permanent glöscht",
"assets_deleted_permanently_from_server": "{count} Elemänt(e) permanent vom Immich-Server glöscht",
"assets_downloaded_failed": "{count, plural, one {# Datei abeglade {error} gschiiteret} other {# Dateie abeglade {error} gschiiteret}}",
"assets_downloaded_successfully": "{count, plural, one {# Datei erfolgreich abeglade} other {# Dateie erfolgreich abeglade}}",
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateie}} i de Papirkorb verschobe",
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateie}} endgültig glöscht",
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateie}} entfernt",
"assets_removed_permanently_from_device": "{count} Element(er) permanent vo dim Gerät glöscht",
"assets_restore_confirmation": "Bisch du sicher, dass du alli Date us em Papirkorb wiederherställe wotsch? Die Aktion cha nöd rückgängig gmacht werde! Beachte, dass Offline-Dateie uf die Wiis nöd wiederherställt werde chönnd.",
"assets_restored_count": "{count, plural, one {# Datei} other {# Dateie}} wiederhergstellt",
"assets_restored_successfully": "{count} Elemänt(e) erfolgriich wiederhergstellt",
"assets_trashed": "{count} Element(e) glöscht",
"assets_trashed_count": "{count, plural, one {# Datei} other {# Dateie}} ih de Papierkorb verschobe",
"assets_trashed_from_server": "{count} Elemänt(e) vom Immich-Server glöscht",
"assets_were_part_of_album_count": "{count, plural, one {# Datei isch} other {# Dateie sind}} bereits im Album vorhanden",
"assets_were_part_of_albums_count": "{count, plural, one {Datei isch} other {Dateie sind}} bereits i de Albene",
"authorized_devices": "Verwendeti Grät",
@@ -581,84 +555,44 @@
"autoplay_slideshow": "Automatische Diashow",
"back": "Zrugg",
"back_close_deselect": "Zrugg, Schliesse oder Abwählä",
"background_backup_running_error": "Sicherig läuft im Hintergrund. Manuelli Sicherig cha nöd gstartet werde",
"background_location_permission": "Hintergrund Standortfreigob",
"background_location_permission_content": "Um im Hintergrund zwüsche de Netzwerke wächsle zchönne, mues Immich *immer* Zuegriff uf dr genaue Standort ha, damit dApp dr Name vom WLAN-Netzwerk ermittle cha",
"background_options": "Hintergrund Optione",
"backup": "Sicherig",
"backup_album_selection_page_albums_device": "Albene uf dem Grät ({count})",
"backup_album_selection_page_albums_tap": "Aatippe zum sichere, nomol aatippe zum usschliesse",
"backup_album_selection_page_assets_scatter": "Elemente (Fotos / Videos) chönnd sich über mehreri Albe verteile. Drum chönnd die vor dr Sicherig iigschlosse oder usgschlosse werde.",
"backup_album_selection_page_select_albums": "Albene uuswählä",
"backup_album_selection_page_selection_info": "Uuswahlinformatione",
"backup_album_selection_page_total_assets": "Element gsamt",
"backup_albums_sync": "Synchronisation vo de Sicherigsalbene",
"backup_all": "Alli",
"backup_background_service_backup_failed_message": "Es isch e Fähler bi dr Sicherig uufträtä. Versueche erneut…",
"backup_background_service_complete_notification": "Datei Backup abgschlossä",
"backup_background_service_connection_failed_message": "Es het kei Verbindung zum Server chönne hergstellt werde. Nomol versueche…",
"backup_background_service_current_upload_notification": "Lädt {filename} hoch",
"backup_background_service_default_notification": "Suech nach neue Element…",
"backup_background_service_error_title": "Fähler bi de Sicherig",
"backup_background_service_in_progress_notification": "Elemänt werdet gsicheret…",
"backup_background_service_upload_failure_notification": "{filename} het nöd chönne ufeglade werde",
"backup_controller_page_albums": "Gsicherti Albene",
"backup_controller_page_background_app_refresh_disabled_content": "Aktiviere Hintergrundaktualisierige i de Iihstellige -> Allgemein -> Hintergrundaktualisierige, um Sicherige im Hintergrund z ermöglichä.",
"backup_controller_page_background_app_refresh_disabled_title": "Hintergrundaktualisierige sind deaktiviert",
"backup_controller_page_background_app_refresh_enable_button_text": "Gang zu de Iistellige",
"backup_controller_page_background_battery_info_link": "Zeig mir wie",
"backup_controller_page_background_battery_info_message": "Für di beschte Resultat bi HintergrundSicherige: deaktiviere alli Batterieoptimierig und all Beschränkige für HintergrundAktivitäte vo Immich.\n\nWäge dem das gerätespezifisch isch, lueg bitte i de Infoe vom Hersteller vo dim Gerät nach.",
"backup_controller_page_background_battery_info_ok": "Ok",
"backup_controller_page_background_battery_info_title": "Batterieoptimierige",
"backup_controller_page_background_charging": "Nume während des Ladens",
"backup_controller_page_background_configure_error": "Hand nöd chönne de Hintergrundservice konfiguriere",
"backup_controller_page_background_delay": "Sicherig vo neue Elemente verzögeret um: {duration}",
"backup_controller_page_background_description": "Schalt de Hintergrundservice iih, um neui Elemente automatisch im Hintergrund z sichere, ohni dApp z öffne",
"backup_controller_page_background_is_off": "Automatischi Sicherig im Hintergrund isch deaktiviert",
"backup_controller_page_background_is_on": "Automatischi Sicherig im Hintergrund isch aktiviert",
"backup_controller_page_background_turn_off": "Hintergrundservice ussschaltä",
"backup_controller_page_background_turn_on": "Hintergrundservice iihschaltä",
"backup_controller_page_background_wifi": "Nume im WLAN",
"backup_controller_page_backup": "Sicherig",
"backup_controller_page_backup_selected": "Usgwählt: ",
"backup_controller_page_backup_sub": "Gsicherti Fotis und Videos",
"backup_controller_page_created": "Erstellt am: {date}",
"backup_controller_page_desc_backup": "Aktivier dSicherig, um Elemänt immer automatisch uf de Server ufezlade, während du dApp bruuchsch.",
"backup_controller_page_excluded": "Usgschlossä: ",
"backup_controller_page_failed": "Fählgschagä ({count})",
"backup_controller_page_filename": "Dateiname: {filename} [{size}]",
"backup_controller_page_id": "ID: {id}",
"backup_controller_page_info": "Informatione zur Sicherig",
"backup_controller_page_none_selected": "Keini usgwählt",
"backup_controller_page_remainder": "Verbliibend",
"backup_controller_page_remainder_sub": "No z sichere Fotis und Videos",
"backup_controller_page_server_storage": "Server-Speicher",
"backup_controller_page_start_backup": "Sicherig starte",
"backup_controller_page_status_off": "Sicherig im Vordergrund isch inaktiv",
"backup_controller_page_status_on": "Sicherig im Vordergrund isch aktiv",
"backup_controller_page_storage_format": "{used} von {total} gnutzt",
"backup_controller_page_to_backup": "No z sichere Albene",
"backup_controller_page_total_sub": "Alli Fotis und Videos",
"backup_controller_page_turn_off": "Sicherig im Vordergrund ussschalte",
"backup_controller_page_turn_on": "Sicherig im Vordergrund iihschalte",
"backup_controller_page_uploading_file_info": "Informatione",
"backup_err_only_album": "Das einzigi Album cha nöd entfernet werde",
"backup_error_sync_failed": "Synchronisierung gschiiteret. Sicherig cha nöd verarbeitet werde.",
"backup_info_card_assets": "Elemänt",
"backup_manual_cancelled": "Abbroche",
"backup_manual_in_progress": "Sicherig lauft scho. Bitte versuech es spöter nomol",
"backup_manual_success": "Erfolgriich",
"backup_manual_title": "Sicherigsstatus",
"backup_options": "Backup Optione",
"backup_options_page_title": "Sicherigsoptione",
"backup_setting_subtitle": "Verwaltig vo de Upload-iihstellige im Hintergrund und Vordergrund",
"backup_settings_subtitle": "Upload-Iihstellige verwalte",
"backward": "Rückwärts",
"biometric_auth_enabled": "Biometrische Authentifizierig aktiviert",
"biometric_locked_out": "Du bisch vo de biometrische Authenfizierig usgschlossä",
"biometric_no_options": "Kei biometrische Optione verfüegbar",
"biometric_not_available": "Dbiometrischi Authentifizierig isch uf däm Gerät nöd verfügbar",
"birthdate_saved": "Geburtsdatum erfolgrich gspeichert",
"birthdate_set_description": "Das Geburtsdatum wird bruucht, um sAlter vo däre Person zum Ziitpunkt vo enem Foto z berechne.",
"blurred_background": "Unscharfe Hintergrund",
"bugs_and_feature_requests": "Fähler & Verbesserigsvorschläg",
@@ -668,20 +602,6 @@
"bulk_keep_duplicates_confirmation": "Bisch du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateie}} behalte wotsch? Das wird alli Duplikat-Gruppä uuflöse, ohni öppis z lösche.",
"bulk_trash_duplicates_confirmation": "Bisch du sicher, dass du {count, plural, one {# duplizierte Datei} other {# duplizierte Dateie gemeinsam}} i de Papirkorb verschiebe wotsch? Das wird dgrössti Datei vo jeder Gruppe behalte und alli andere Duplikate i de Papirkorb verschiebe.",
"buy": "Immich erwerbä",
"cache_settings_clear_cache_button": "Zwüschespeicher lösche",
"cache_settings_clear_cache_button_title": "Löscht dr Zwüschecache vo dr App. Das wird dLeistungsfähigkeit vo dr App deutlich einschränke, bis dr Zwüschecache wieder ufbaut worde isch.",
"cache_settings_duplicated_assets_clear_button": "LÄÄRE",
"cache_settings_duplicated_assets_subtitle": "Fotos und Videos, wo vo dr App blockiert werdend",
"cache_settings_duplicated_assets_title": "Duplikate ({count})",
"cache_settings_statistics_album": "Vorschaubilder i dä Bibliothek",
"cache_settings_statistics_full": "Originalbilder",
"cache_settings_statistics_shared": "Vorschaubilder vo geteilte Albene",
"cache_settings_statistics_thumbnail": "Vorschaubilder",
"cache_settings_statistics_title": "Zwüschespiicher-Nutzig",
"cache_settings_subtitle": "Kontrolliere, wie Immich dr Zwüschecache bruucht",
"cache_settings_tile_subtitle": "Lokale Spiicher verwalte",
"cache_settings_tile_title": "Lokale Spiicher",
"cache_settings_title": "Zwüschespiicher Ihstellige",
"camera": "Kamera",
"camera_brand": "Kamera-Marke",
"camera_model": "Kamera-Modell",
@@ -694,10 +614,10 @@
"cannot_update_the_description": "Beschriibrig cha nöd aktualisiert werde",
"cast": "Überträge",
"cast_description": "Konfiguration verfügbarer Ziel",
"change": "Ändere",
"change_date": "Datum ändere",
"change_description": "Beschriibig aahpasse",
"change_display_order": "Aahzeigereihefolg ändere",
"change_expiration_time": "Verfallsziitpunkt ändere",
"change_location": "Standort ändere",
"change_name": "Name ändere",
"change_name_successfully": "Name isch erfolgrich gänderet worde",
@@ -715,16 +635,16 @@
"changed_visibility_successfully": "DSichtbarkeit isch erfolgrich gänderet worde",
"charging": "Uufladä",
"charging_requirement_mobile_backup": "Sicherig im Hintergrund fordert, dass sGerät ufglade wird",
"check_corrupt_asset_backup": "Uf bschädigti Asset-Sicherige prüefe",
"check_corrupt_asset_backup_button": "Überprüefig durrefüehrä",
"check_corrupt_asset_backup_description": "Führ die Prüefig nume mit aktiviertem WLAN dur, nachdem alli Dateie gsiichert worde sind. Dä Vorgang cha e paar Minute duurä.",
"check_logs": "Logs prüafä",
"checksum": "Prüefsumme",
"choose": "Uswähle",
"choose_matching_people_to_merge": "Wähl passendi Persone zum Zämmezfüehre",
"city": "Stadt",
"cleanup_confirm_description": "Immich hed {count} Dateie (vorem {date} erstellt) sicher ufem Server gfunde. Sölled die lokale Kopie vo dem Grät glöscht werde?",
"cleanup_confirm_prompt_title": "Vo dem Grät entferne?",
"cleanup_deleted_assets": "{count} Dateie i de lokali Papierchorb verschobe",
"cleanup_found_assets": "{count} ufegladni Dateie gfunde",
"cleanup_found_assets_with_size": "{count} gsicherti Dateie gfunde ({size})",
"cleanup_icloud_shared_albums_excluded": "Teilti iCloud Albe sind vom Scan usgschlosse",
"clear": "Lääre",
"clear_all": "Alles lääre",
@@ -732,20 +652,16 @@
"clear_file_cache": "Dateie-Cache lääre",
"clear_message": "Nochrichte lääre",
"clear_value": "Wert lääre",
"client_cert_dialog_msg_confirm": "Ok",
"client_cert_enter_password": "Passwort iigäh",
"client_cert_import": "Importiere",
"client_cert_import_success_msg": "Client Zertifikat isch importiert wordä",
"client_cert_invalid_msg": "Ungültigi Zertifikatsdatei oder falsches Passwort",
"client_cert_remove_msg": "Client Zertifikat isch entfernt wordä",
"client_cert_subtitle": "Unterstützt nume sPKCS12 (.p12, .pfx) Format. Zertifikat-Import oder -Entferne sind nume vor em Login möglech",
"client_cert_title": "SSL-Client-Zertifikat [Experimentell]",
"clockwise": "Im Uhrzeigersinn",
"close": "Schlüssä",
"collapse": "Zämmeklappe",
"collapse_all": "Alles zämmeklappe",
"color": "Farb",
"color_theme": "Farb-Theme",
"command": "Befähl",
"comment_deleted": "Kommentar glöscht",
"comment_options": "Kommentaroptione",
@@ -767,18 +683,13 @@
"contain": "Vollständig",
"context": "Kontext",
"continue": "Fortsetze",
"control_bottom_app_bar_create_new_album": "Neus Album erstellä",
"control_bottom_app_bar_delete_from_immich": "Vo Immich löschä",
"control_bottom_app_bar_delete_from_local": "Vom Grät lösche",
"control_bottom_app_bar_edit_location": "Standort bearbeite",
"control_bottom_app_bar_edit_time": "Datum und Uhrziit bearbeite",
"control_bottom_app_bar_share_link": "Link teile",
"control_bottom_app_bar_share_to": "Teile mit",
"control_bottom_app_bar_trash_from_immich": "I de Papierkorb verschiebä",
"copied_image_to_clipboard": "SBild isch i dZwüscheablag kopiert worde.",
"copied_to_clipboard": "I dZwüscheablage kopiert!",
"copy_error": "Kopier-Fähler",
"copy_file_path": "Dateipfad kopiere",
"copy_image": "Bild kopiere",
"copy_link": "Link kopiere",
"copy_link_to_clipboard": "Link I dZwüscheablage kopiere",
@@ -811,25 +722,20 @@
"created_at": "Erstellt",
"creating_linked_albums": "Erstelle verknüpfti Albene...",
"crop": "Zueschniidä",
"crop_aspect_ratio_fixed": "Fixiert",
"crop_aspect_ratio_free": "Frei",
"crop_aspect_ratio_original": "Original",
"curated_object_page_title": "Sachä",
"current_device": "Aktuells Grät",
"current_pin_code": "Aktuelle PIN Code",
"current_server_address": "Aktuelli Serveradresse",
"custom_locale": "Benutzerdefinierti Sproch",
"custom_locale_description": "Datumsahgoob und Zahle je nach Sproch und Land formatiere",
"custom_url": "Benutzerdefinierti URL",
"daily_title_text_date": "E, dd MMM",
"daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Dunkäl",
"dark_theme": "Dunkli Aahsicht umschalte",
"date": "Datum",
"date_after": "Datum noch",
"date_and_time": "Datum und Ziit",
"date_before": "Datum vor",
"date_format": "E d. LLL y • hh:mm",
"date_of_birth_saved": "SGeburtsdatum isch erfolgrich gspiicheret worde",
"date_range": "Datumsberiich",
"day": "Tag",
@@ -843,8 +749,6 @@
"delete_dialog_alert": "Die Elemente werde unwiderruflich vo Immich und vom Grät entfernt",
"delete_dialog_alert_local": "Die Inhält werdend vom Grät glöscht, bliibend aber uf dem Immich-Server",
"delete_dialog_alert_local_non_backed_up": "Einigi Inhalt sind nöd i Immich gsiichert und werde dauerhaft vom Gerät gelöscht",
"delete_dialog_alert_remote": "Die Inhält werdend dauerhaft vom Immich-Server glöscht",
"delete_dialog_ok_force": "Trotzdem lösche",
"delete_dialog_title": "Endgültig lösche",
"delete_duplicates_confirmation": "Bisch du sicher, dass du diä Duplikat endgültig lösche wotsch?",
"delete_face": "Gsicht löschä",
@@ -863,21 +767,16 @@
"delete_tag_confirmation_prompt": "Bisch du sicher, dass de {tagName} glöscht werde sött?",
"delete_user": "Nutzer lösche",
"deleted_shared_link": "teilte link lösche",
"deletes_missing_assets": "Löscht Dateie, welli uf de Feschtplatte fählend",
"description": "Beschriibig",
"description_input_hint_text": "Beschriibig hinzufüegä...",
"description_input_submit_error": "DBeschribig het nöd chenne gänderet werde, bitte lueg im Log für meh Details",
"deselect_all": "Alli abwähle",
"details": "Details",
"direction": "Richtig",
"disable": "Deaktiviere",
"disabled": "Deaktiviert",
"disallow_edits": "Bearbeitig verbüütä",
"discord": "Discord",
"discover": "Entdeckä",
"discovered_devices": "Gfundeni Grät",
"dismiss_all_errors": "Alli Fähler ignorierä",
"dismiss_error": "Fähler ignorierä",
"display_options": "Aahzeigeoptione",
"display_order": "Aahzeigereihefolg",
"display_original_photos": "Originali Fotis Aahzeige",
@@ -886,11 +785,9 @@
"documentation": "Dokumentation",
"done": "Fertig",
"download": "Abelade",
"download_action_prompt": "Abelade vo {count} Dateie",
"download_canceled": "Download abbroche",
"download_complete": "Download vollständig",
"download_enqueue": "Download i dWarteschlange gstellt",
"download_error": "Download fählerhaft",
"download_failed": "Download fählgschlage",
"download_finished": "Download abgschlosse",
"download_include_embedded_motion_videos": "Iigbetteti Videos",
@@ -900,9 +797,6 @@
"download_paused": "Download pausiert",
"download_settings": "Download",
"download_settings_description": "Iihstelligä fürs Abeladä vo Dateie verwalte",
"download_started": "Download gstartet",
"download_sucess": "Download erfolgriich",
"download_sucess_android": "Die Datei wurde nach DCIM/Immich abeglade",
"download_waiting_to_retry": "Warte uf neue Versuech",
"downloading": "Abelade",
"downloading_asset_filename": "Datei {filename} wird abeglade",
@@ -919,9 +813,7 @@
"edit_date_and_time": "Datum und Uhrziit bearbeite",
"edit_date_and_time_action_prompt": "{count} Date und Ziite gänderet",
"edit_date_and_time_by_offset": "Datum ändere um Versatz",
"edit_date_and_time_by_offset_interval": "Neue Datumsbereich: {from} - {to}",
"edit_description": "Beschriibig bearbeite",
"edit_description_prompt": "Bitte wähl e neui Beschriibig:",
"edit_exclusion_pattern": "Usschlussmuster bearbeite",
"edit_faces": "Gsichter bearbeite",
"edit_key": "Schlüssel bearbeite",
@@ -936,8 +828,6 @@
"edit_user": "Nutzer bearbeite",
"edit_workflow": "Workflow bearbeite",
"editor": "Bearbeiter",
"editor_close_without_save_prompt": "D’Änderige werden nöd gspeichert",
"editor_close_without_save_title": "Editor schlüssä?",
"email": "E-Mail",
"email_notifications": "E-Mail Benochrichtigunge",
"empty_folder": "Dä Ordner isch leer",
@@ -953,9 +843,7 @@
"enter_your_pin_code": "PIN-Code Iigäh",
"enter_your_pin_code_subtitle": "Gib din PIN-Code ii, um uf dr gschperrte Ordner zuezgriffä",
"error": "Fähler",
"error_change_sort_album": "Änderig vo dr Aazeigeräihefolg isch gscheitert",
"error_delete_face": "Fähler bim Löschä vom Gsicht",
"error_getting_places": "Fähler bim Abruefä vo dä Ört",
"error_loading_image": "Fähler bim Lade vom Bild",
"error_loading_partners": "Fähler bim Lade vo de Partner: {error}",
"error_saving_image": "Fähler: {error}",
@@ -1084,17 +972,9 @@
"exif": "EXIF",
"exif_bottom_sheet_description": "Beschriibig dezuefüege...",
"exif_bottom_sheet_description_error": "Fähler bim d Aktualisierig vo de Beschriibig",
"exif_bottom_sheet_details": "DETAILS",
"exif_bottom_sheet_location": "STANDORT",
"exif_bottom_sheet_no_description": "Kei Beschriibig",
"exif_bottom_sheet_people": "PERSONE",
"exif_bottom_sheet_person_add_person": "Name dezuefüege",
"exit_slideshow": "Diashow beende",
"expand_all": "Alli ufklappe",
"experimental_settings_new_asset_list_subtitle": "In Arbet",
"experimental_settings_new_asset_list_title": "Experimentells Föteli-Gitter aktiviere",
"experimental_settings_subtitle": "Benutzig uf eigni Gfohr!",
"experimental_settings_title": "Experimentell",
"expire_after": "Verfällt noch",
"expired": "Verfalle",
"expires_date": "Lauft ab: {date}",
@@ -1119,10 +999,8 @@
"favorite_action_prompt": "{count} zu de Favorite hinzuegfüegt",
"favorite_or_unfavorite_photo": "Favorisierts oder nöd favorisierts Foti",
"favorites": "Favorite",
"favorites_page_no_favorites": "Kei favorisierte Inhält gfundä",
"feature_photo_updated": "Profilbild aktualisiert",
"features": "Funktione",
"features_in_development": "Feature isch in Entwicklig",
"features_setting_description": "Funkione i de App verwalte",
"file_name_or_extension": "Dateiname oder -erwiiterig",
"file_size": "Dateigrössi",
@@ -1131,7 +1009,6 @@
"filter": "Filter",
"filter_people": "Persone filterä",
"filter_places": "Ort filterä",
"find_them_fast": "Finded sie schneller mit de Suechi noch Näme",
"first": "Erste",
"fix_incorrect_match": "Fählerhafti Überiistimmig behebe",
"folder": "Ordner",
@@ -1160,7 +1037,6 @@
"group_owner": "Gruppiere noch Bsitzer",
"group_places_by": "Ort gruppiere noch...",
"group_year": "Gruppierig noch Johr",
"haptic_feedback_switch": "Haptisches Feedback aktiviere",
"haptic_feedback_title": "Haptisches Feedback",
"has_quota": "Kontingent",
"hash_asset": "Dateihash",
@@ -1179,29 +1055,12 @@
"hide_person": "Person verbergä",
"hide_text_recognition": "Texterkennung verbergä",
"hide_unnamed_people": "Unbenannti Person verbergä",
"home_page_add_to_album_conflicts": "{added} Elemente zu {album} hinzugfüegt. {failed} Elemente sind bereits vorhande.",
"home_page_add_to_album_err_local": "Es chönd no nöd lokali Element zu Albe dezuegfuegt werde, überspringe",
"home_page_add_to_album_success": "{added} Element zu {album} dezuegfuegt.",
"home_page_album_err_partner": "Inhält vo Partner chönd im Momänt nöd zu Albe dezuegfuegt werde",
"home_page_archive_err_local": "Cha lokali Element nöd archiviere, überspringe",
"home_page_archive_err_partner": "Inhält vo Partner chönd nöd archiviert werde",
"home_page_building_timeline": "Ziitachse wird erstellt",
"home_page_delete_err_partner": "Inhält vo Partner chönd nöd glöscht werde, überspringe",
"home_page_delete_remote_err_local": "Lokali Element in de Uswahl zum Entferne vo Remote-Element, Überspringe",
"home_page_favorite_err_local": "Cha lokali Element no nöd favorisiere, überspringe",
"home_page_favorite_err_partner": "Inhält vo Partner chönd nöd favorisiert werde, überspringe",
"home_page_first_time_notice": "Wenn Du d'App zum erschte Mol bruuchsch, wähl bitte es Album zum Siichere uus, demit d'Ziitachs mit Föteli und Videos cha gfüllt werde",
"home_page_locked_error_local": "Lokali Dateie chönd nöd i de gsperrti Ordner verschobe werde, überspringe",
"home_page_locked_error_partner": "Dateie vo Partner chönd nöd i de gsperrti Ordner verschobe werde, überspringe",
"home_page_share_err_local": "Lokali Inhält chönd nöd per Link teilt werde, überspringe",
"home_page_upload_err_limit": "Es chönd max. 30 Element gliichzitig ufelglade werde, überspringe",
"host": "Host",
"hour": "Stund",
"hours": "Stunde",
"id": "ID",
"idle": "Untätig",
"ignore_icloud_photos": "iCloud Fotos ignorierä",
"ignore_icloud_photos_description": "Föteli, wo i de iCloud gspiicheret sind, wärded nöd uf de immich Server ufeglade",
"image": "Föteli",
"image_alt_text_date": "{isVideo, select, true {Video} other {Bild}} ufgnoo am {date}",
"image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Bild}} ufgnoo mit {person1} am {date}",
@@ -1213,10 +1072,6 @@
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Bild}} ufgnoo in {city}, {country} mit {person1} und {person2} am {date}",
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Bild}} ufgnoo in {city}, {country} mit {person1}, {person2} und {person3} am {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Bild}} ufgnoo in {city}, {country} mit {person1}, {person2} und {additionalCount, number} andere am {date}",
"image_saved_successfully": "Bild gspiicheret",
"image_viewer_page_state_provider_download_started": "Download gstartet",
"image_viewer_page_state_provider_download_success": "Erfolgriich abeglade",
"image_viewer_page_state_provider_share_error": "Fähler bim Teile",
"immich_logo": "Immich-Logo",
"immich_web_interface": "Immich-Web-Oberflächi",
"import_from_json": "Us JSON importierä",
@@ -1241,12 +1096,6 @@
"invalid_date_format": "Ungültigs Datumsformat",
"invite_people": "Persone ilade",
"invite_to_album": "Zum Album ilade",
"ios_debug_info_fetch_ran_at": "Abruäf lauft {dateTime}",
"ios_debug_info_last_sync_at": "Zletscht aktualisiert {dateTime}",
"ios_debug_info_no_processes_queued": "Kei Hintergründsprozäss i de Waarteschlange",
"ios_debug_info_no_sync_yet": "No kei Hindergrundsynchronisierigs-Uftrag usgfüehrt",
"ios_debug_info_processes_queued": "{count, plural, one {{count} Hindergrundsprozäss i de Waarteschlange} other {{count} Hindergrundsprozäss i de Waarteschlange}}",
"ios_debug_info_processing_ran_at": "Prozess lauft {dateTime}",
"items_count": "{count, plural, one {# Iitrag} other {# Iiträg}}",
"jobs": "Ufgobe",
"keep": "Bhalte",
@@ -1273,9 +1122,6 @@
"library": "Bibliothek",
"library_add_folder": "Ordner dezuefüege",
"library_edit_folder": "Ordner bearbeite",
"library_options": "Bibliotheksoptione",
"library_page_device_albums": "Albene uf dem Grät",
"library_page_new_album": "Neus Album",
"library_page_sort_asset_count": "Aazahl vo de Inhält",
"library_page_sort_created": "Zletscht erstellt",
"library_page_sort_last_modified": "Zletscht bearbeitet",
@@ -1315,11 +1161,9 @@
"login": "Aamälde",
"login_disabled": "Login isch deaktiviert",
"login_form_api_exception": "API Fähler. Bitte d'Serveradressa überprüäfe und noochemaa probiere.",
"login_form_back_button_text": "Zrugg",
"login_form_email_hint": "dini@email.ch",
"login_form_endpoint_hint": "http://din-server-ip:port",
"login_form_endpoint_url": "Server-URL",
"login_form_err_http": "Bitte gib http:// oder https:// aa",
"login_form_err_invalid_email": "Uungültigi E-Mail",
"login_form_err_invalid_url": "Uungültigi URL",
"login_form_err_leading_whitespace": "Läärzeiche am Aafang",
@@ -1329,7 +1173,6 @@
"login_form_failed_login": "Fähler bim Login, bitte überprüäf d'Server-URL, dini E-Mail oder's Passwoort",
"login_form_handshake_exception": "Fähler bim Verbindigsufbau mit em Server. Falls du en sälbscht-underschriibigs Zärtifikaat verwändisch, aktivier d'Uunderstützig defür i de Iistellige.",
"login_form_password_hint": "Passwort",
"login_form_save_login": "Aagmäldet bliibe",
"login_form_server_empty": "Serveradressa iigä.",
"login_form_server_error": "Es het nöd chönne Verbindig zum Server ufgnoh werde.",
"login_has_been_disabled": "D'Aamäldig isch deaktiviert worde.",
@@ -1346,7 +1189,6 @@
"main_menu": "Hauptmenü",
"maintenance_description": "Immich isch i de <link>Wartigmodus</link> versetzt worde.",
"maintenance_end": "Wartigsmodus beendä",
"maintenance_end_error": "Wartigmodus het nöd chenne beendet werde.",
"maintenance_logged_in_as": "Aktuell aagmäldet als {user}",
"maintenance_title": "Vorübergehend nöd verfügbar",
"make": "Markä",
@@ -1355,7 +1197,6 @@
"manage_media_access_settings": "Iistellige öffne",
"manage_media_access_subtitle": "Erlaub Immich, Mediedateie z verwalte und z verschiebe.",
"manage_media_access_title": "Verwaltig vo Mediedateie",
"manage_shared_links": "Freigäbeni Links verwalte",
"manage_sharing_with_partners": "Gmeinsami Nutzig mit Partner verwalte",
"manage_the_app_settings": "App-Iistellige verwalte",
"manage_your_account": "Dis Chonto verwalte",
@@ -1363,13 +1204,10 @@
"manage_your_devices": "Dini iigloggte Gerät verwalte",
"manage_your_oauth_connection": "Dini OAuth-Verchnüpfig verwalte",
"map": "Charte",
"map_assets_in_bounds": "{count, plural, =0 {Kei Fotos i däm Gebiet} one {# Foto} other {# Fotos}}",
"map_cannot_get_user_location": "Standort het nöd chenne ermittelt werde",
"map_location_dialog_yes": "Jo",
"map_location_picker_page_use_location": "Ufnahmeort verwände",
"map_location_service_disabled_content": "DOrtigsdienscht müend aktiviert si, um Inhält am aktuelle Standort aazeige z chönne. Wotsch dOrtigsdienscht jetzt aktiviere?",
"map_location_service_disabled_title": "Ortigsdienscht deaktiviert",
"map_marker_for_images": "Charte-Markierige für Bilder, wo i {city}, {country} ufgnoh worde sind",
"map_marker_with_image": "Charte-Markierig mit Bild",
"map_no_location_permission_content": "DOrtigsdienscht müend aktiviert si, um Inhält am aktuelle Standort aazeige z chönne. Wotsch dOrtigsdienscht jetzt aktiviere?",
"map_no_location_permission_title": "Kei Zuegriff uf dä Standort",
@@ -1379,14 +1217,11 @@
"map_settings_date_range_option_days": "Letschte {days} Täg",
"map_settings_date_range_option_year": "Letschtes Johr",
"map_settings_date_range_option_years": "Letschte {years} Johre",
"map_settings_dialog_title": "Charte-Iistellige",
"map_settings_include_show_archived": "Archivierti azeige",
"map_settings_include_show_partners": "Partner iibeziehä",
"map_settings_only_show_favorites": "Nur Favoritä azeige",
"map_settings_theme_settings": "Chartedesign",
"map_zoom_to_see_photos": "Ansicht chliiner mache, um Fotos z gseh",
"mark_all_as_read": "Alli als gläse markiere",
"mark_as_read": "Als gläse markiere",
"marked_all_as_read": "Alli als gläse markiert",
"matches": "Treffer",
"matching_assets": "Passendi Dateie",
@@ -1414,7 +1249,6 @@
"mobile_app_download_onboarding_note": "Herunterlade vo dr mobile App über eini vo de folgende Möglichkeitä",
"model": "Modäll",
"month": "Monet",
"monthly_title_text_date_format": "MMMM y",
"more": "Meh",
"move": "Verschiebä",
"move_off_locked_folder": "Us em gschperrte Ordner verschiebe",
@@ -1422,11 +1256,7 @@
"move_to_lock_folder_action_prompt": "{count} zum gschperrte Ordner hinzuegfüegt",
"move_to_locked_folder": "I dä gschperrte Ordner verschiebe",
"move_to_locked_folder_confirmation": "Die Fotos und Videos werde us allne Albe entfernet und chönnd nume no im gschperrte Ordner azeigt werde",
"moved_to_archive": "{count, plural, one {# Datei} other {# Dateie}} archiviert",
"moved_to_library": "{count, plural, one {# Datei} other {# Dateie}} i d'Bibliotheek verschobe",
"moved_to_trash": "I de Papiirschorb verschobe",
"multiselect_grid_edit_date_time_err_read_only": "S Daatum und d'Uhrziit vo schriibgschütztem Inehalt chan nöd veränderet werde, überspringe",
"multiselect_grid_edit_gps_err_read_only": "De Uufnaameort vo schriibgschütztem Inhält chan nöd veränderet werde, überspringe",
"mute_memories": "Erinnerige stumm schalte",
"my_albums": "Mini Albä",
"name": "Name",
@@ -1442,12 +1272,10 @@
"never": "Niemols",
"new_album": "Neus Album",
"new_api_key": "Neue API-Schlüssel",
"new_date_range": "Neue Datumsberiich",
"new_password": "Neus Passwort",
"new_person": "Neui Person",
"new_pin_code": "Neue PIN-Code",
"new_pin_code_subtitle": "Das isch din erschte Zuegriff uf de gspärrti Ordner. Erstell en PIN-Code, um sicher uf die Siite z'cho",
"new_timeline": "Neui Zytschine",
"new_update": "Neus Update",
"new_user_created": "Neue Benutzer isch erstellt worde",
"new_version_available": "NEUI VERSION VERFÜEGBAR",
@@ -1471,7 +1299,6 @@
"no_favorites_message": "Füeg Favoriite dezue, zum dini beschte Bild und Videos schnäll finde",
"no_libraries_message": "Erstell e externi Bibliotheek, zum dini Föteli und Videos aluäge",
"no_local_assets_found": "Kei lokali Datei mit dä Prüäfsumme gfunde",
"no_location_set": "Kei Standoort feschtgleit",
"no_locked_photos_message": "Föteli und Videos im gspärrte Ordner sind versteckt und wärded nöd aazeigt, wänn du dini Bibliotheek dursuächsch.",
"no_name": "Kei Name",
"no_notifications": "Kei Benochrichtigunge",
@@ -1481,7 +1308,6 @@
"no_results": "Kei Ergebniss",
"no_results_description": "Versuech's mit eme Synonüm oder eme allgemäinere Stichwort",
"no_shared_albums_message": "Erstell es Album, zum Föteli und Videos mit Persone i dim Näzwerk teile",
"no_uploads_in_progress": "Kei Upload am Laufä",
"not_allowed": "Nöd erlaubt",
"not_available": "N/A",
"not_in_any_album": "I keinem Album",
@@ -1507,5 +1333,8 @@
"on_this_device": "Uf däm Grät",
"onboarding": "Iistig",
"onboarding_locale_description": "Wähl dini bevorzugti Sprooch. Du chasch die au spöter i dine Iistellige ändere.",
"onboarding_privacy_description": "Diä folgende (optionali) Funktione hänged vo externä Diänscht ab und chönd jederziit i de Iistellige deaktiviärt wärde."
"onboarding_privacy_description": "Diä folgende (optionali) Funktione hänged vo externä Diänscht ab und chönd jederziit i de Iistellige deaktiviärt wärde.",
"upload_finished": "Ufelade beändet",
"users": "Benutzer",
"waiting": "Usstehend"
}
+1 -10
View File
@@ -2,7 +2,7 @@
"about": "વિશે",
"account": "ખાતું",
"account_settings": "ખાતાનાં સેટિંગ્સ",
"acknowledge": "જાણકારી મળી",
"acknowledge": "જાણકારી",
"action": "ક્રિયા",
"action_common_update": "સુધારો",
"action_description": "છાંટેલી વસ્તુઓ પર કરી શકાય તેવી ક્રિયાઓ",
@@ -10,24 +10,18 @@
"active": "સક્રિય",
"active_count": "સક્રિય: {count}",
"activity": "પ્રવૃત્તિ",
"activity_changed": "પ્રવૃત્તિ {enabled, select, true {સક્રિય} other {નિષ્ક્રિય}} છે",
"add": "ઉમેરો",
"add_a_description": "એક વર્ણન ઉમેરો",
"add_a_location": "એક સ્થાન ઉમેરો",
"add_a_name": "એક નામ ઉમેરો",
"add_a_title": "એક શીર્ષક ઉમેરો",
"add_action": "ક્રિયા ઉમેરો",
"add_action_description": "ક્રિયા ઉમેરવા માટે ક્લિક કરો",
"add_assets": "સંસાધનો ઉમેરો",
"add_birthday": "જન્મદિવસ ઉમેરો",
"add_endpoint": "એન્ડપોઇન્ટ ઉમેરો",
"add_exclusion_pattern": "બાકાત રાખવાની પદ્ધતિ ઉમેરો",
"add_filter": "ફિલ્ટર ઉમેરો",
"add_filter_description": "ફિલ્ટર શરત ઉમેરવા માટે ક્લિક કરો",
"add_location": "સ્થાન ઉમેરો",
"add_more_users": "વધારે યુઝર ઉમેરો",
"add_partner": "સાથી ઉમેરો",
"add_path": "પાથ ઉમેરો",
"add_photos": "ફોટો ઉમેરો",
"add_tag": "ટેગ ઉમેરો",
"add_to": "માં ઉમેરો",
@@ -35,14 +29,11 @@
"add_to_album_bottom_sheet_added": "{album} માં ઉમેરો",
"add_to_album_bottom_sheet_already_exists": "પહેલેથી જ {album} માં છે",
"add_to_album_bottom_sheet_some_local_assets": "કેટલાક લોકલ એસેટ્સને એલ્બમમાં ઉમેરવામાં આવી શક્યા નથી",
"add_to_album_toggle": "{album} માટે પસંદગી ટૉગલ કરો",
"add_to_albums": "આલ્બમો ઉમેરો",
"add_to_albums_count": "આલ્બમો માં ઉમેરો {count}",
"add_to_bottom_bar": "માં ઉમેરો",
"add_to_shared_album": "શેર કરેલ આલ્બમમાં ઉમેરો",
"add_upload_to_stack": "અપલોડને સ્ટેકમાં ઉમેરો",
"add_url": "URL ઉમેરો",
"add_workflow_step": "વર્કફ્લો પગલુ ઉમેરો",
"added_to_archive": "આર્કાઇવમાં સંગ્રહિત કરવામાં આવી છે",
"added_to_favorites": "મનપસંદ તરીકે ચિન્હીત કરેલ છે",
"added_to_favorites_count": "મનપસંદ તરીકે {count, number} ને ચિહ્નિત કરવામાં આવેલ છે",
+40 -324
View File
File diff suppressed because it is too large Load Diff
+1 -320
View File
File diff suppressed because it is too large Load Diff
+19 -300
View File
File diff suppressed because it is too large Load Diff
+150 -329
View File
File diff suppressed because it is too large Load Diff
-27
View File
@@ -15,7 +15,6 @@
"add_birthday": "Ավելացնել ծննդյան ամսաթիվ",
"add_endpoint": "Ավելացնել վերջնակետ",
"add_location": "Ավելացնել տեղ",
"add_more_users": "Ավելացնել հավելյալ օգտատերեր",
"add_partner": "Ավելացնել գործընկեր",
"add_photos": "Ավելացնել նկարներ",
"added_to_archive": "Ավելացվել է արխիվում",
@@ -25,12 +24,8 @@
"authentication_settings_disable_all": "Վստա՞հ եք, որ ցանկանում եք անջատել մուտքային մեթոդները։ Մուտքն ամբողջությամբ կանջատվի։"
},
"back": "Հետ",
"backup_all": "Բոլոր",
"backup_controller_page_background_battery_info_link": "Ցույց տուր ինչպես",
"backup_controller_page_background_battery_info_ok": "Լավ",
"backup_controller_page_background_wifi": "Միայն Wi-Fi միացումում",
"backup_controller_page_created": "Ստեղծվել է {date}֊ին",
"backup_controller_page_uploading_file_info": "Վերբեռնվում է ֆայլի տեղեկությունները",
"biometric_auth_enabled": "Կենսաչափական նույնականցումը միացված է",
"change_display_order": "Փոփոխել ցուցադրման հաջորդականությունը",
"change_location": "Փոխել տեղը",
@@ -38,12 +33,9 @@
"change_password_form_reenter_new_password": "Կրկին մուտքագրել նոր գաղտնաբառը",
"change_pin_code": "Փոփոխել ՊԻՆ կոդը",
"city": "Քաղաք",
"client_cert_dialog_msg_confirm": "Լավ",
"client_cert_title": "SSL հաճախորդի հավաստագիր",
"color": "Գույն",
"common_create_new_album": "Ստեղծել նոր ալբոմ",
"control_bottom_app_bar_create_new_album": "Ստեղծել նոր ալբոմ",
"control_bottom_app_bar_delete_from_immich": "Ջնջել Immich֊ից",
"control_bottom_app_bar_delete_from_local": "Ջնջել սարքավորումից",
"control_bottom_app_bar_edit_location": "Փոխել Տեղը",
"control_bottom_app_bar_trash_from_immich": "Տեղափոխել աղբաման",
@@ -51,10 +43,8 @@
"create_new": "ՍՏԵՂԾԵԼ ՆՈՐ",
"create_new_person": "Ստեղծել նոր անձ",
"create_shared_album_page_share_select_photos": "Ընտրե Նկարներ",
"curated_object_page_title": "Բաներ",
"current_pin_code": "Տվյալ ՊԻՆ կոդը",
"current_server_address": "Ընթացիկ սերվերի հասցե",
"daily_title_text_date": "E, MMM dd",
"dark": "Մութ",
"dark_theme": "Միացնել/անջատել մուգ տեսքը",
"day": "Օր",
@@ -63,37 +53,27 @@
"download_notfound": "Ներբեռնվածը չի հայտնաբերվել",
"edit_location": "Փոխել տեղը",
"enter_wifi_name": "Մուտքագրել Wi-Fi անունը",
"exif_bottom_sheet_person_add_person": "Ավելացնել անուն",
"experimental_settings_new_asset_list_subtitle": "Ընթացքում է",
"failed_to_authenticate": "Նույնականացումը ձախողվել է",
"folder_not_found": "Թղթապանակը չի հայտնաբերվել",
"hi_user": "Բարեւ {name} ({email})",
"ignore_icloud_photos": "Անտեսել iCloud֊ի նկարները",
"invalid_date_format": "Անվավեր ամսաթվի ձևաչափ",
"ios_debug_info_last_sync_at": "Վերջին թարմացումը {dateTime}֊ին",
"language_no_results_title": "Լեզուներ չեն գտնվել",
"library_page_device_albums": "Սարքավորման ալբոմները",
"location_picker_choose_on_map": "Ընտրել քարտեզի վրա",
"login_form_endpoint_url": "Սերվերի վերջնակետի URL",
"login_form_save_login": "Մնալ մուտքագրված",
"login_password_changed_success": "Գաղտնաբառը հաջողությամբ փոփոխվել է",
"map_assets_in_bounds": "{count} նկարներ",
"map_location_picker_page_use_location": "Օգտագործել այս տեղը",
"map_location_service_disabled_title": "Տեղորոշման ծառայություններն անջատված են",
"map_no_location_permission_title": "Տեղորոշման թույլտվությունը մերժված է",
"map_settings_date_range_option_day": "Վերջին 24 ժամում",
"map_settings_date_range_option_days": "Վերջին {days} օրում",
"map_settings_date_range_option_years": "Վերջին {years} տարում",
"mark_as_read": "Նշել կարդացած",
"new_pin_code": "Նոր ՊԻՆ կոդ",
"on_this_device": "Այս սարքավորումում",
"partner_list_user_photos": "{}-ին նկարները",
"permission_onboarding_go_to_settings": "Գնալ կարգավորումներ",
"photos": "Նկարներ",
"pin_verification": "ՊԻՆ կոդի ստուգում",
"reset_pin_code": "Վերականգնել ՊԻՆ կոդը",
"save": "Պահե",
"save_to_gallery": "Պահպանել պատկերասրահում",
"scan_library": "Նայե",
"search": "Փնտրե",
"search_city": "Որոնե քաղաք…",
@@ -106,14 +86,11 @@
"search_filter_media_type_title": "Ընտրել մեդիայի տեսակը",
"search_no_more_result": "Այլևս արդյունքներ չկան",
"search_no_people": "Ոչ մի անձ",
"search_page_motion_photos": "Շարժվող Նկարներ",
"select_photos": "Ընտրե նկարներ",
"setting_image_viewer_original_title": "Բեռնել բնագիր նկարը",
"setting_image_viewer_preview_title": "Բեռնել նախադիտման նկարը",
"setting_notifications_notify_never": "երբեք",
"setting_notifications_notify_seconds": "{count} վայրկյան",
"setting_video_viewer_original_video_title": "Ստիպել բնագիր տեսահոլովակը",
"share_add_photos": "Ավելացնել նկարներ",
"shared_album_activities_input_disable": "Մեկնաբանություններն անջատված են",
"shared_link_clipboard_copied_massage": "Պատճենահանված է",
"shared_link_edit_expire_after_option_day": "1 օր",
@@ -126,16 +103,12 @@
"shared_link_edit_expire_after_option_year": "{count} տարի",
"shared_link_manage_links": "Կառավարել կիսված հղումները",
"shared_with_me": "Ինձ հետ կիսված",
"sharing_silver_appbar_create_shared_album": "Նոր կիսված ալբոմ",
"sharing_silver_appbar_share_partner": "Կիսել գործընկերոջ հետ",
"sort_oldest": "Ամենահին նկարը",
"sort_recent": "Ամենանոր նկարը",
"theme_setting_image_viewer_quality_title": "Նկարի դիտման որակ",
"theme_setting_system_primary_color_title": "Օգտագործել համակարգի գույնը",
"timezone": "Ժամային գոտի",
"to_trash": "Աղբ",
"trash": "Աղբ",
"trash_page_title": "Աղբ ({count})",
"type": "Տեսակ",
"unknown": "Անհայտ",
"unknown_country": "Անհայտ Երկիր",
+138 -325
View File
File diff suppressed because it is too large Load Diff
-150
View File
@@ -9,7 +9,6 @@
"active": "Virkt",
"active_count": "Virk: {count}",
"activity": "Virkni",
"activity_changed": "Virkni er {enabled, select, true {enabled} other {disabled}}",
"add": "Bæta við",
"add_a_description": "Bæta við lýsingu",
"add_a_location": "Setja inn staðsetningu",
@@ -19,9 +18,7 @@
"add_endpoint": "Bæta við endapunkti",
"add_exclusion_pattern": "Bæta við útilokunarmynstri",
"add_location": "Bæta við staðsetningu",
"add_more_users": "Bæta við fleiri notendum",
"add_partner": "Bæta við maka",
"add_path": "Bæta við slóð",
"add_photos": "Bæta við myndum",
"add_tag": "Bæta við merki",
"add_to": "Bæta í…",
@@ -29,11 +26,9 @@
"add_to_album_bottom_sheet_added": "Bætt við {album}",
"add_to_album_bottom_sheet_already_exists": "Þegar í {album}",
"add_to_album_bottom_sheet_some_local_assets": "Ekki gekk að bæta sumum staðværum eignum í myndasafn",
"add_to_album_toggle": "Breyta vali fyrir {album}",
"add_to_albums": "Bæta í albúm",
"add_to_albums_count": "Bætt í albúm ({count})",
"add_to_bottom_bar": "Bæta í",
"add_to_shared_album": "Bæta í deilt albúm",
"add_upload_to_stack": "Bæta upphleðslu í hrúgu",
"add_url": "Setja inn URL",
"added_to_archive": "Bætt í geymslu",
@@ -431,8 +426,6 @@
"admin_password": "Lykilorð stjórnanda",
"administration": "Stjórnun",
"advanced": "Fyrir lengra komna",
"advanced_settings_enable_alternate_media_filter_subtitle": "Notið þessa stillingu til að sía efni þegar því er hlaðið inn byggt á öðrum eiginleikum. Reynið þetta bara ef Immich á í erfiðleikum með að greina öll myndasöfn.",
"advanced_settings_enable_alternate_media_filter_title": "[Á TILRAUNASTIGI] Nota aðrar síur fyrir samstillingu myndasafna á tæki",
"advanced_settings_log_level_title": "Stig atburða: {level}",
"advanced_settings_prefer_remote_subtitle": "Sum tæki eru agalega lengi að hlaða gaummyndum úr staðværum eignum. Virkið þetta til að hlaða inn gaummyndum úr fjarska í staðinn.",
"advanced_settings_prefer_remote_title": "Kjósa myndir úr fjarska",
@@ -440,8 +433,6 @@
"advanced_settings_proxy_headers_title": "Sérsniðnir vefselshausar [Á TILRAUNASTIGI]",
"advanced_settings_readonly_mode_subtitle": "Virkja skoðunarham þar sem aðeins má skoða myndir, aðgerðir á borð við að velja margar myndir, deila, streyma og eyða eru allar bannaðar. Af-/virkið skoðunarham í gegnum notandateiknið á aðalsíðunni",
"advanced_settings_readonly_mode_title": "Skoðunarhamur",
"advanced_settings_self_signed_ssl_subtitle": "Sleppir því að sannreyna TLS skírteini frá vefþjóninum. Nauðsyn ef notast er við sjálfskráð skírteini.",
"advanced_settings_self_signed_ssl_title": "Leyfa sjálfskráð TLS skírteini [Á TILRAUNASTIGI]",
"advanced_settings_sync_remote_deletions_subtitle": "Eyða eða endurheimta eign sjálfkrafa á þessu tæki þegar þetta er framkvæmt á vefnum",
"advanced_settings_sync_remote_deletions_title": "Samræma eyðingu úr fjarska [Á TILRAUNASTIGI]",
"advanced_settings_tile_subtitle": "Notandastillingar fyrir lengra komna",
@@ -457,11 +448,7 @@
"album_delete_confirmation": "Ertu viss um að þú viljir eyða myndasafni {album}?",
"album_delete_confirmation_description": "Ef þessu myndasafni er deilt með öðrum missa þeir notendur aðgang að því.",
"album_deleted": "Myndasafni eytt",
"album_info_card_backup_album_excluded": "SLEPPT",
"album_info_card_backup_album_included": "MEÐ TALIÐ",
"album_info_updated": "Upplýsingar um myndasafn uppfærðar",
"album_leave": "Fara úr myndasafni?",
"album_leave_confirmation": "Ertu viss um að þú viljir segja þig úr {album}?",
"album_name": "Nafn Myndasafns",
"album_options": "Valmöguleikar myndasafns",
"album_remove_user": "Fjarlægja notanda?",
@@ -471,15 +458,7 @@
"album_summary": "Samantekt myndasafns",
"album_updated": "Myndasafn uppfært",
"album_updated_setting_description": "Fá meldingu í tölvupósti þegar eignum er bætt í deilt myndasafn",
"album_user_left": "Fór úr {album}",
"album_user_removed": "Fjarlægði {user}",
"album_viewer_appbar_delete_confirm": "Ertu viss um að þú viljir eyða þessu myndasafni úr aðgangnum þínum?",
"album_viewer_appbar_share_err_delete": "Ekki gekk að eyða myndasafni",
"album_viewer_appbar_share_err_leave": "Ekki gekk að fara úr myndasafni",
"album_viewer_appbar_share_err_remove": "Það eru vandamál við að fjarlægja eignir úr þessu myndasafni",
"album_viewer_appbar_share_err_title": "Ekki gekk að breyta titli á myndasafni",
"album_viewer_appbar_share_leave": "Fara úr myndasafni",
"album_viewer_appbar_share_to": "Deila til",
"album_viewer_page_share_add_users": "Bæta við notendum",
"album_with_link_access": "Leyfa hverjum sem hefur hlekkinn að sjá myndir og fólk í myndasafninu.",
"albums": "Myndasöfn",
@@ -493,19 +472,16 @@
"all_people": "Allt fólk",
"all_videos": "Öll myndbönd",
"allow_dark_mode": "Leyfa skuggaham",
"allow_edits": "Leyfa breytingar",
"allow_public_user_to_download": "Leyfa almennum notendum að hala niður",
"allow_public_user_to_upload": "Leyfa almennum notendum að hlaða upp",
"allowed": "Leyft",
"alt_text_qr_code": "Mynd af snarkóða",
"anti_clockwise": "Öfugur sólarhringur",
"api_key": "API lykill",
"api_key_description": "Þetta gildi er aðeins sýnt einu sinni. Afritaðu það áður en glugganum er lokað.",
"api_key_empty": "Heiti API lyklisins ætti ekki að vera tómt",
"api_keys": "API lyklar",
"app_architecture_variant": "Margbreytni (Högun)",
"app_bar_signout_dialog_content": "Ertu viss um að þú viljir skrá þig út?",
"app_bar_signout_dialog_ok": "Já",
"app_bar_signout_dialog_title": "Skrá út",
"app_download_links": "Hlekkir til að hala niður forriti",
"app_settings": "Stillingar forrits",
@@ -516,25 +492,17 @@
"archive": "Geymsla",
"archive_action_prompt": "{count} bætt í Geymslu",
"archive_or_unarchive_photo": "Setja í eða taka úr geymslu",
"archive_page_no_archived_assets": "Engar eignir í geymslu fundust",
"archive_page_title": "Geymsla ({count})",
"archive_size": "Stærð geymslu",
"archive_size_description": "Stillið stærð geymslu fyrir niðurhöl (í GiB)",
"archived": "Geymt",
"archived_count": "{count, plural, other {Geymt #}}",
"are_these_the_same_person": "Eru þessi sama manneskjan?",
"are_you_sure_to_do_this": "Ertu viss um að þú viljir gera þetta?",
"asset_action_delete_err_read_only": "Get ekki eytt eignum í skoðunarham, sleppi",
"asset_action_share_err_offline": "Get ekki sótt ótengdar eignir, sleppi",
"asset_added_to_album": "Bætt í myndasafn",
"asset_adding_to_album": "Bæti í myndasafn…",
"asset_description_updated": "Lýsing eignarinnar hefur verið uppfærð",
"asset_filename_is_offline": "Eign {filename} er ótengd",
"asset_has_unassigned_faces": "Eign er með óskráð andlit",
"asset_hashing": "Hakka…",
"asset_list_group_by_sub_title": "Hópa eftir",
"asset_list_layout_settings_dynamic_layout_title": "Kviklegt viðmót",
"asset_list_layout_settings_group_automatically": "Sjálfvirkt",
"asset_list_layout_settings_group_by": "Hópa eignir eftir",
"asset_list_layout_settings_group_by_month_day": "Mánuður + dagur",
"asset_list_layout_sub_title": "Viðmót",
@@ -542,36 +510,26 @@
"asset_list_settings_title": "Myndanet",
"asset_offline": "Eign Ótengd",
"asset_offline_description": "Þessi utanaðkomandi eign finnst ekki lengur í skráakerfinu. Kallið á hjálp frá ykkar Immich stjórnanda.",
"asset_restored_successfully": "Eign endurheimtuð",
"asset_skipped": "Sleppt",
"asset_skipped_in_trash": "Í rusli",
"asset_trashed": "Eign hent í ruslið",
"asset_troubleshoot": "Bilanagreina eign",
"asset_uploaded": "Hlaðið upp",
"asset_uploading": "Hleð upp…",
"asset_viewer_settings_subtitle": "Sýsla með skoðun myndasafns",
"asset_viewer_settings_title": "Skoðun Eigna",
"assets": "Eignir",
"assets_added_count": "Bætti við {count, plural, one {# eign} other {# eignum}}",
"assets_added_to_album_count": "Bætti við {count, plural, one {# eign} other {# eigum}} í myndasafnið",
"assets_added_to_albums_count": "Bætti við {assetTotal, plural, one {# eign} other {# eignum}} í {albumTotal, plural, one {# myndasafn} other {# myndasöfn}}",
"assets_cannot_be_added_to_album_count": "Ekki hægt að bæta {count, plural, one {eign} other {eignum}} í myndasafnið",
"assets_cannot_be_added_to_albums": "Ekki hægt að bæta {count, plural, one {eign} other {eignum}} í neitt af þessum myndasöfnum",
"assets_count": "{count, plural, one {# eign} other {# eignir}}",
"assets_deleted_permanently": "{count} eign/-um eytt fyrir fullt og allt",
"assets_deleted_permanently_from_server": "{count} eign/-um eytt fyrir fullt og allt af Immich þjóninum",
"assets_downloaded_failed": "{count, plural, one {Sótt # skrá - {error} skrá brast} other {Sóttar # skrár - {error} skrár brugðust}}",
"assets_downloaded_successfully": "{count, plural, one {Sótti # skrá} other {Sótti # skrár}}",
"assets_moved_to_trash_count": "Færði {count, plural, one {# eign} other {# eignir}} í ruslið",
"assets_permanently_deleted_count": "Eyddi {count, plural, one {# eign} other {# eignum}} fyrir fullt og allt",
"assets_removed_count": "Fjarlægði {count, plural, one {# eign} other {# eignir}}",
"assets_removed_permanently_from_device": "{count} eign/-ir fjarlægðar af tækinu þínu fyrir fullt og allt",
"assets_restore_confirmation": "Ertu viss um að þú viljir endurheimta allar eignir úr ruslinu? Þú getur ekki tekið þetta til baka! Athugið að ótengdar eignir geta ekki verið endurheimtar á þennan hátt.",
"assets_restored_count": "Endurheimti {count, plural, one {# eign} other {# eignir}}",
"assets_restored_successfully": "{count} eign/-ir endurheimtar",
"assets_trashed": "{count} eign/-um hent í ruslið",
"assets_trashed_count": "Henti {count, plural, one {# eign} other {# eignum}} í ruslið",
"assets_trashed_from_server": "{count} eign/-um hent í ruslið á Immich þjóninum",
"assets_were_part_of_album_count": "{count, plural, one {Eign var} other {Eignir voru}} nú þegar í myndasafninu",
"assets_were_part_of_albums_count": "{count, plural, one {Eign var} other {Eignir voru}} nú þegar í myndasöfnunum",
"authorized_devices": "Leyfð Tæki",
@@ -580,85 +538,44 @@
"autoplay_slideshow": "Spila glærusýningu sjálfkrafa",
"back": "Til baka",
"back_close_deselect": "Til baka, loka eða hætta við val",
"background_backup_running_error": "Afritun er nú þegar í gangi í bakgrunni, get ekki hafið handvirka afritun",
"background_location_permission": "Leyfi á staðsetningu afritunar",
"background_location_permission_content": "Til að skipta um net í bakgrunni þarf Immich *alltaf* að hafa nákvæman aðgang að nákvæmum staðsetningargögnum svo að forritið geti lesið heitið á Wi-Fi netinu",
"background_options": "Bakgrunnsvalmöguleikar",
"backup": "Afrit",
"backup_album_selection_page_albums_device": "Myndasöfn á tæki ({count})",
"backup_album_selection_page_albums_tap": "Smelltu til að taka með, tvísmelltu til að sleppa",
"backup_album_selection_page_assets_scatter": "Eignum getur verið dreift á milli margra myndasafna. Þannig er hægt að velja hvaða myndasöfn eru afrituð.",
"backup_album_selection_page_select_albums": "Velja myndasöfn",
"backup_album_selection_page_selection_info": "Upplýsingar um val",
"backup_album_selection_page_total_assets": "Heildarfjöldi einkvæmra eigna",
"backup_albums_sync": "Samstilling afritaðra myndasafna",
"backup_all": "Allt",
"backup_background_service_backup_failed_message": "Ekki gekk að afrita eignir. Reyni aftur…",
"backup_background_service_complete_notification": "Afritun eigna lokið",
"backup_background_service_connection_failed_message": "Ekki gekk að tengjast þjóni. Reyni aftur…",
"backup_background_service_current_upload_notification": "Hleð upp {filename}",
"backup_background_service_default_notification": "Athuga með nýjar eignir…",
"backup_background_service_error_title": "Afritunarvilla",
"backup_background_service_in_progress_notification": "Afrita eignir…",
"backup_background_service_upload_failure_notification": "Ekki gekk að hlaða upp {filename}",
"backup_controller_page_albums": "Afrituð Myndasöfn",
"backup_controller_page_background_app_refresh_disabled_content": "Virkið bakgrunnsvinnslu í Settings > General > Background App Refresh til að afrita gögn í bakgrunni.",
"backup_controller_page_background_app_refresh_disabled_title": "Bakgrunnsvinnsla óvirk",
"backup_controller_page_background_app_refresh_enable_button_text": "Fara í stillingar",
"backup_controller_page_background_battery_info_link": "Sýndu mér hvernig",
"backup_controller_page_background_battery_info_message": "Slökktu á allri bestun á rafhlöðunotkun fyrir Immich til að fá sem áreiðanlegasta bakgrunnsafritun.\n\nÞetta er mismunandi eftir framleiðanda, flettu upp leiðbeiningum frá þínum framleiðanda.",
"backup_controller_page_background_battery_info_ok": "Í lagi",
"backup_controller_page_background_battery_info_title": "Bestun rafhlöðu",
"backup_controller_page_background_charging": "Aðeins þegar í hleðslu",
"backup_controller_page_background_configure_error": "Ekki gekk að stilla bakgrunnsþjónustuna",
"backup_controller_page_background_delay": "Seinka afritun nýrrar eignar: {duration}",
"backup_controller_page_background_description": "Kveiktu á bakgrunnsþjónustum til að afrita nýjar eignir sjálfkrafa án þess að þurfa að opna forritið",
"backup_controller_page_background_is_off": "Sjálfvirk afritun í bakgrunni er óvirk",
"backup_controller_page_background_is_on": "Sjálfvirk afritun í bakgrunni er virk",
"backup_controller_page_background_turn_off": "Slökkva á bakgrunnsþjónustu",
"backup_controller_page_background_turn_on": "Kveikja á bakgrunnsþjónustu",
"backup_controller_page_background_wifi": "Aðeins á Wi-Fi",
"backup_controller_page_backup": "Afrit",
"backup_controller_page_backup_selected": "Valið: ",
"backup_controller_page_backup_sub": "Afritaðar myndir og myndbönd",
"backup_controller_page_created": "Búið til á: {date}",
"backup_controller_page_desc_backup": "Kveikið á afritun í forgrunni til að afrita nýjar eignir sjálfkrafa þegar forritið er opnað.",
"backup_controller_page_excluded": "Sleppt: ",
"backup_controller_page_failed": "Brostið ({count})",
"backup_controller_page_filename": "Skráarheiti: {filename} [{size}]",
"backup_controller_page_id": "Auðkenni: {id}",
"backup_controller_page_info": "Upplýsingar um Afrit",
"backup_controller_page_none_selected": "Ekkert valið",
"backup_controller_page_remainder": "Afgangur",
"backup_controller_page_remainder_sub": "Myndir og myndbönd úr vali sem á eftir að afrita",
"backup_controller_page_server_storage": "Pláss á Þjóni",
"backup_controller_page_start_backup": "Hefja Afritun",
"backup_controller_page_status_off": "Sjálfvirk afritun í forgrunni er óvirk",
"backup_controller_page_status_on": "Sjálfvirk afritun í forgrunni er virk",
"backup_controller_page_storage_format": "{used} af {total} notað",
"backup_controller_page_to_backup": "Myndasöfn sem á að afrita",
"backup_controller_page_total_sub": "Allar einkvæmar myndir og myndbönd úr völdum myndasöfnum",
"backup_controller_page_turn_off": "Slökkva á afritun í forgrunni",
"backup_controller_page_turn_on": "Kveikja á afritun í forgrunni",
"backup_controller_page_uploading_file_info": "Hleð upp skráaupplýsingum",
"backup_err_only_album": "Get ekki fjarlægt eina myndasafnið",
"backup_error_sync_failed": "Samræming gekk ekki. Get ekki unnið afrit.",
"backup_info_card_assets": "eignir",
"backup_manual_cancelled": "Hætt við",
"backup_manual_in_progress": "Upphleðsla nú þegar í gangi. Reyndu aftur seinna",
"backup_manual_success": "Glæstur árangur",
"backup_manual_title": "Staða upphleðslu",
"backup_options": "Valmöguleikar Afritunar",
"backup_options_page_title": "Valmöguleikar afritunar",
"backup_setting_subtitle": "Sýsla með upphleðslu í for- og bakgrunni",
"backup_settings_subtitle": "Sýsla með upphleðslu",
"backup_upload_details_page_more_details": "Smelltu fyrir frekari upplýsingar",
"backward": "Afturábak",
"biometric_auth_enabled": "Auðkenning með lífkennum virk",
"biometric_locked_out": "Þú ert læst út úr auðkenningu með lífkennum",
"biometric_no_options": "Ekkert val á lífkennum í boði",
"biometric_not_available": "Auðkenning með lífkennum er ekki í boði á þessu tæki",
"birthdate_saved": "Fæðingardagur vistaður",
"birthdate_set_description": "Fæðingardagur er notaður til að reikna út aldur manneskju á myndinni.",
"blurred_background": "Skýjaður bakgrunnur",
"bugs_and_feature_requests": "Pöddur og Beiðnir um Nýja Eiginleika",
@@ -668,18 +585,6 @@
"bulk_keep_duplicates_confirmation": "Ertu viss um að þú viljir halda {count, plural, one {# margfaldri eign} other {# margföldum eignum}}? Þetta leysir alla margfeldnihópa án þess að eyða neinu.",
"bulk_trash_duplicates_confirmation": "Ertu viss um að þú viljir eyða {count, plural, one {# margfaldri eign} other {# margföldum eignum}}? Stærsta skráin í hverjum hóp verður geymd og öðrum hent í ruslið.",
"buy": "Kaupa Immich",
"cache_settings_clear_cache_button": "Hreinsa skyndiminni",
"cache_settings_duplicated_assets_clear_button": "HREINSA",
"cache_settings_duplicated_assets_title": "Margfaldar Eignir ({count})",
"cache_settings_statistics_album": "Gaummyndir fyrir myndasöfn",
"cache_settings_statistics_full": "Myndir í fullum gæðum",
"cache_settings_statistics_shared": "Gaummyndir fyrir sameiginleg myndasöfn",
"cache_settings_statistics_thumbnail": "Gaummynd",
"cache_settings_statistics_title": "Skyndiminni í notkun",
"cache_settings_subtitle": "Sýsla með högun skyndiminnis í smáforriti Immich",
"cache_settings_tile_subtitle": "Sýsla með högun staðbundinnar geymslu",
"cache_settings_tile_title": "Staðbundin geymsla",
"cache_settings_title": "Stillingar Skyndiminnis",
"camera": "Myndavél",
"camera_brand": "Framleiðandi myndvélar",
"camera_model": "Gerð myndavélar",
@@ -695,7 +600,6 @@
"change_date": "Breyta dagsetningu",
"change_description": "Breyta lýsingu",
"change_display_order": "Breyta röðun",
"change_expiration_time": "Breyta fyrningardagsetningu",
"change_location": "Breyta staðsetningu",
"change_name": "Breyta nafni",
"change_name_successfully": "Breytti heiti",
@@ -713,9 +617,6 @@
"changed_visibility_successfully": "Breytti sýn",
"charging": "Hleður",
"charging_requirement_mobile_backup": "Aftirun í bakgrunni krefst þess að tækið sé í hleðslu",
"check_corrupt_asset_backup": "Athuga með spillt afritunargögn",
"check_corrupt_asset_backup_button": "Framkvæma athugun",
"check_corrupt_asset_backup_description": "Vertu á Wi-Fi tengingu og með öll afrit klár þegar þetta er keyrt. Þetta gæti tekið nokkrar mínútur.",
"check_logs": "Athuga Atburðaskrá",
"checksum": "Prófsumma",
"choose_matching_people_to_merge": "Veldur samskonar fólk til að sameina",
@@ -726,20 +627,16 @@
"clear_file_cache": "Hreinsa Flýtiminni Skráa",
"clear_message": "Hreinsa skilboð",
"clear_value": "Hreinsa gildi",
"client_cert_dialog_msg_confirm": "Í lagi",
"client_cert_enter_password": "Sláðu inn lykilorð",
"client_cert_import": "Flytja inn",
"client_cert_import_success_msg": "Skírteini biðlara flutt inn",
"client_cert_invalid_msg": "Ógilt skírteini eða rangt lykilorð",
"client_cert_remove_msg": "Skírteini biðlara fjarlægt",
"client_cert_subtitle": "Styður einungis PKC12 (.p12, .ptx) snið. Einungis hægt að flytja inn/fjarlægja skírteini fyrir innskráningu",
"client_cert_title": "TLS skírteini biðlara [Á TILRAUNASTIGI]",
"clockwise": "Sólarhringur",
"close": "Loka",
"collapse": "Fella upp",
"collapse_all": "Fella allt upp",
"color": "Litur",
"color_theme": "Litaþema",
"command": "Skipun",
"comment_deleted": "Athugasemd eytt",
"comment_options": "Valmöguleikar athugasemda",
@@ -761,18 +658,13 @@
"contain": "Inniheldur",
"context": "Samhengi",
"continue": "Halda áfram",
"control_bottom_app_bar_create_new_album": "Búa til nýtt myndasafn",
"control_bottom_app_bar_delete_from_immich": "Eyða úr Immich",
"control_bottom_app_bar_delete_from_local": "Eyða úr tæki",
"control_bottom_app_bar_edit_location": "Breyta Staðsetningu",
"control_bottom_app_bar_edit_time": "Breyta Tíma og Dagsetningu",
"control_bottom_app_bar_share_link": "Deila Hlekk",
"control_bottom_app_bar_share_to": "Deila Til",
"control_bottom_app_bar_trash_from_immich": "Færa í Ruslið",
"copied_image_to_clipboard": "Afritaði mynd á klemmuspjald.",
"copied_to_clipboard": "Afritað á klemmuspjald!",
"copy_error": "Villa við að afrita",
"copy_file_path": "Afrita slóð",
"copy_image": "Afrita Mynd",
"copy_link": "Afrita hlekk",
"copy_link_to_clipboard": "Afrita hlekk á klemmuspjald",
@@ -799,9 +691,6 @@
"download_paused": "Niðurhal í pásu",
"download_settings": "Niðurhal",
"download_settings_description": "Sýsla með stillingar er varða niðurhal á eignum",
"download_started": "Niðurhal byrjað",
"download_sucess": "Niðurhal tókst",
"download_sucess_android": "Efninu hefur verið halað niður í DCIM/Immich",
"download_waiting_to_retry": "Bíð eftir annarri tilraun",
"downloading": "Hleð niður",
"downloading_asset_filename": "Hleð niður {filename}",
@@ -818,9 +707,7 @@
"edit_date_and_time": "Breyta tíma og dagsetningu",
"edit_date_and_time_action_prompt": "{count} tímasetningum breytt",
"edit_date_and_time_by_offset": "Breyta dagsetningu með hliðrun",
"edit_date_and_time_by_offset_interval": "Nýtt tímabil: {from} - {to}",
"edit_description": "Breyta lýsingu",
"edit_description_prompt": "Vinsamlega veldu nýja lýsingu:",
"edit_exclusion_pattern": "Breyta útilokunarmynstri",
"edit_faces": "Haga andlitum",
"edit_key": "Breyta lykli",
@@ -834,8 +721,6 @@
"edit_title": "Breyta Titli",
"edit_user": "Breyta notanda",
"editor": "Myndvinnsla",
"editor_close_without_save_prompt": "Breytingarnar verða ekki vistaðar",
"editor_close_without_save_title": "Loka myndvinnslu?",
"email": "Netfang",
"email_notifications": "Meldingar í tölvupósti",
"empty_folder": "Þessi mappa er tóm",
@@ -851,9 +736,7 @@
"enter_your_pin_code": "Sláðu inn PIN númerið þitt",
"enter_your_pin_code_subtitle": "Sláðu inn PIN númer til að fá aðgang að læstu möppunni",
"error": "Villa",
"error_change_sort_album": "Ekki gekk að breyta flokkunarröð myndasafna",
"error_delete_face": "Villa við að eyða andliti úr eign",
"error_getting_places": "Villa við að sækja staði",
"error_loading_image": "Villa við að hlaða mynd",
"error_loading_partners": "Villa við að hlaða félögum: {error}",
"error_saving_image": "Villa: {error}",
@@ -982,17 +865,9 @@
"exif": "Exif",
"exif_bottom_sheet_description": "Bæta við lýsingu...",
"exif_bottom_sheet_description_error": "Villa við að uppfæra lýsingu",
"exif_bottom_sheet_details": "SMÁATRIÐI",
"exif_bottom_sheet_location": "STAÐSETNING",
"exif_bottom_sheet_no_description": "Engin lýsing",
"exif_bottom_sheet_people": "FÓLK",
"exif_bottom_sheet_person_add_person": "Bæta við nafni",
"exit_slideshow": "Hætta glærusýningu",
"expand_all": "Fella allt niður",
"experimental_settings_new_asset_list_subtitle": "Í vinnslu",
"experimental_settings_new_asset_list_title": "Virkja myndanet á tilraunastigi",
"experimental_settings_subtitle": "Notkun á eigin áhættu!",
"experimental_settings_title": "Á tilraunastigi",
"expire_after": "Fyrnist eftir",
"expired": "Útrunnið",
"expires_date": "Fyrnist {date}",
@@ -1017,10 +892,8 @@
"favorite_action_prompt": "{count} bætt í Uppáhalds",
"favorite_or_unfavorite_photo": "Taka úr eða setja í uppáhalds",
"favorites": "Uppáhalds",
"favorites_page_no_favorites": "Engar uppáhalds eignir fundust",
"feature_photo_updated": "Birtingarmynd uppfærð",
"features": "Eiginleikar",
"features_in_development": "Eiginleikar í þróun",
"features_setting_description": "Sýsla með eiginleika smáforrits",
"file_name_or_extension": "Skráarheiti eða nafnauki",
"file_size": "Skráarstærð",
@@ -1029,7 +902,6 @@
"filter": "Sía",
"filter_people": "Sía fólk",
"filter_places": "Sía staði",
"find_them_fast": "Finndu þau í snatri með leit að nafni",
"first": "Fyrst",
"fix_incorrect_match": "Laga ranga pörun",
"folder": "Mappa",
@@ -1058,7 +930,6 @@
"group_owner": "Hópa eftir eigendum",
"group_places_by": "Hópa staði eftir...",
"group_year": "Hópa eftir ári",
"haptic_feedback_switch": "Virkja snertisvörun",
"haptic_feedback_title": "Snertisvörun",
"has_quota": "Er með úthutaða notkun",
"hash_asset": "Hakka eign",
@@ -1078,29 +949,12 @@
"hide_person": "Fela manneskju",
"hide_text_recognition": "Fela textagreiningu",
"hide_unnamed_people": "Fela ónefnt fólk",
"home_page_add_to_album_conflicts": "Bætti {added} eignum við safnið {album}. {failed} eignir eru nú þegar í safninu.",
"home_page_add_to_album_err_local": "Get ekki bætt staðværum eignum í safn, sleppi",
"home_page_add_to_album_success": "Bætti {added} eignum í safnið {album}.",
"home_page_album_err_partner": "Get ekki bætt eignum félaga í safn, sleppi",
"home_page_archive_err_local": "Get ekki sett staðværar eignir í geymslu, sleppi",
"home_page_archive_err_partner": "Get ekki sett eignir félaga í geymslu, sleppi",
"home_page_building_timeline": "Smíða tímalínu",
"home_page_delete_err_partner": "Get ekki eytt eignum félaga, sleppi",
"home_page_delete_remote_err_local": "Staðværar eignir í vali eigna í fjarska, sleppi",
"home_page_favorite_err_local": "Get ekki sett staðværar eignir í uppáhalds, sleppi",
"home_page_favorite_err_partner": "Get ekki sett eignir félaga í uppáhalds, sleppi",
"home_page_first_time_notice": "Ef þú ert að nota þetta smáforrit í fyrsta sinn, gakktu úr skugga um að þú veljir myndasafn til að afrita svo að tímalínan fyllist af myndum og myndböndum",
"home_page_locked_error_local": "Get ekki fært staðværar eignir í læsta möppu, sleppi",
"home_page_locked_error_partner": "Get ekki fært eignir félaga í læsta möppu, sleppi",
"home_page_share_err_local": "Get ekki deilt staðværum eignum með hlekk, sleppi",
"home_page_upload_err_limit": "Get bara hlaðið upp 30 myndum að hámarki í einu, sleppi",
"host": "Hýsill",
"hour": "Klukkustund",
"hours": "Klukkustundir",
"id": "Auðkenni",
"idle": "Hvílandi",
"ignore_icloud_photos": "Hundsa myndir í iCloud",
"ignore_icloud_photos_description": "Myndum sem eru geymdar í iCloud verður ekki hlaðið upp á Immich þjóninn",
"image": "Mynd",
"image_alt_text_date": "{isVideo, select, true {Myndband} other {Mynd}} tekin á {date}",
"image_alt_text_date_1_person": "{isVideo, select, true {Myndband} other {Mynd}} með {person1} á {date}",
@@ -1112,10 +966,6 @@
"image_alt_text_date_place_2_people": "{isVideo, select, true {Myndband} other {Mynd}} í {city}, {country} með {person1} og {person2} á {date}",
"image_alt_text_date_place_3_people": "{isVideo, select, true {Myndband} other {Mynd}} í {city}, {country} með {person1}, {person2}, og {person3} á {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} í {city}, {country} með {person1}, {person2}, og {additionalCount, number} öðrum á {date}",
"image_saved_successfully": "Mynd vistuð",
"image_viewer_page_state_provider_download_started": "Niðurhal hafið",
"image_viewer_page_state_provider_download_success": "Niðurhal tókst",
"image_viewer_page_state_provider_share_error": "Villa við deilingu",
"immich_logo": "Immich merkið",
"immich_web_interface": "Vefviðmót Immich",
"import_from_json": "Flytja inn úr JSON",
+424 -607
View File
File diff suppressed because it is too large Load Diff
+81 -328
View File
File diff suppressed because it is too large Load Diff
-38
View File
@@ -10,24 +10,18 @@
"active": "აქტიური",
"active_count": "აქტიური: {count}",
"activity": "აქტივობა",
"activity_changed": "აქტივობა {enabled, select, true {ჩართული} other {გამორთული}}",
"add": "დაამატე",
"add_a_description": "დაამატე აღწერა",
"add_a_location": "დაამატე ადგილი",
"add_a_name": "დაამატე სახელი",
"add_a_title": "დაასათაურე",
"add_action": "დაამატე მოქმედება",
"add_action_description": "დააჭირე რომ დაამატო მოქმედება",
"add_assets": "რესურსის ატვირთვა",
"add_birthday": "დაბადების დღის დამატება",
"add_endpoint": "ბოლოწერტილის დამატება",
"add_exclusion_pattern": "დაამატე გამონაკლისი ნიმუში",
"add_filter": "დაამატე ფილტრი",
"add_filter_description": "დააჭირე ფილტრის დასამატებლად",
"add_location": "დაამატე ადგილი",
"add_more_users": "დაამატე მომხმარებლები",
"add_partner": "დაამატე პარტნიორი",
"add_path": "დაამატე მისამართი",
"add_photos": "დაამატე ფოტოები",
"add_tag": "დაამატე თეგი",
"add_to": "დაამატე ...ში",
@@ -35,11 +29,9 @@
"add_to_album_bottom_sheet_added": "დამატებულია {album}-ში",
"add_to_album_bottom_sheet_already_exists": "{album}-ში უკვე არსებობს",
"add_to_album_bottom_sheet_some_local_assets": "ზოგიერთი ლოკალური რესურსი ვერ დაემატა ალბომში",
"add_to_album_toggle": "გადართე მონიშვნა {album}_სთვის",
"add_to_albums": "დაამატე ალბომებში",
"add_to_albums_count": "დაამატე ალბომში ({count})",
"add_to_bottom_bar": "დაამატე ...ში",
"add_to_shared_album": "დაამატე საზიარო ალბომში",
"add_upload_to_stack": "დაამატე ატვირთული სტეკში",
"add_url": "დაამატე URL",
"added_to_archive": "დაარქივდა",
@@ -149,17 +141,12 @@
"administration": "ადმინისტრაცია",
"advanced": "დამატებით",
"advanced_settings_troubleshooting_title": "პრობლემების გადაწყვეტა",
"album_info_card_backup_album_excluded": "ამოღებულია",
"album_info_card_backup_album_included": "ჩასმულია",
"albums": "ალბომები",
"all": "ყველა",
"allowed": "დაშვებულია",
"anti_clockwise": "საათის ისრის საწინააღმდეგო",
"app_bar_signout_dialog_ok": "დიახ",
"archive": "არქივი",
"archived": "დაარქივებულია",
"asset_hashing": "დაჰეშვა.…",
"asset_list_layout_settings_group_automatically": "ავტომატური",
"asset_list_layout_sub_title": "განლაგება",
"asset_skipped": "გამოტოვებულია",
"asset_uploaded": "ატვირთულია",
@@ -167,19 +154,14 @@
"assets": "ობიექტები",
"back": "უკან",
"backup": "მარქაფი",
"backup_all": "ყველა",
"backup_controller_page_background_battery_info_ok": "დიახ",
"backup_controller_page_backup": "მარქაფი",
"backup_controller_page_backup_selected": "არჩეულია: ",
"backup_controller_page_excluded": "ამოღებულია: ",
"backup_controller_page_remainder": "დარჩენილია",
"backup_info_card_assets": "აქტივები",
"backup_manual_cancelled": "გაუქმებულია",
"backup_manual_success": "წარმატება",
"backward": "უკან გადასვლა",
"build": "აგება",
"cache_settings_duplicated_assets_clear_button": "გასუფთავება",
"cache_settings_statistics_thumbnail": "მინიატურები",
"camera": "კამერა",
"cancel": "გაუქმება",
"canceled": "გაუქმებულია",
@@ -188,9 +170,7 @@
"charging": "იტენება",
"city": "ქალაქი",
"clear": "გასუფთავება",
"client_cert_dialog_msg_confirm": "დიახ",
"client_cert_import": "შემოტანა",
"clockwise": "საათის ისრის მიმართულებით",
"close": "დახურვა",
"collapse": "აკეცვა",
"color": "ფერი",
@@ -207,7 +187,6 @@
"created": "შექმნილია",
"created_at": "შეიქმნა",
"crop": "ამოჭრა",
"curated_object_page_title": "ნივთები",
"dark": "მუქი",
"date": "თარიღი",
"day": "დღე",
@@ -235,10 +214,6 @@
"enqueued": "რიგში ჩასმულია",
"error": "შეცდომა",
"exif": "Exif",
"exif_bottom_sheet_details": "დეტალები",
"exif_bottom_sheet_location": "მდებარეობა",
"exif_bottom_sheet_people": "ხალხი",
"experimental_settings_title": "საცდელი",
"expired": "ვადაამოწურულია",
"explore": "დათვალიერება",
"explorer": "გამცილებელი",
@@ -284,7 +259,6 @@
"location": "მდებარეობა",
"lock": "დაბლოკვა",
"login": "შესვლა",
"login_form_back_button_text": "უკან",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "http://your-server-ip:პორტი",
"login_form_password_hint": "პაროლი",
@@ -293,7 +267,6 @@
"look": "შეხედვა",
"make": "მწარმოებელი",
"map": "რუკა",
"map_location_dialog_yes": "დიახ",
"matches": "დამთხვევები",
"memories": "მოგონებები",
"memory": "მეხსიერება",
@@ -340,7 +313,6 @@
"pending": "რიგშია",
"people": "ხალხი",
"permission": "წვდომა",
"permission_onboarding_back": "უკან",
"person": "პიროვნება",
"photos": "ფოტოები",
"place": "ადგილი",
@@ -370,7 +342,6 @@
"remote": "დაშორებული",
"remove": "წაშლა",
"rename": "სახელის გადარქმევა",
"repair": "შეკეთება",
"repository": "რეპოზიტორია",
"rescan": "თავიდან სკანირება",
"reset": "ჩამოყრა",
@@ -388,19 +359,11 @@
"search_by_ocr_example": "ლატე",
"search_filter_date": "თარიღი",
"search_filter_location": "მდებარეობა",
"search_page_categories": "კატეგორიები",
"search_page_screenshots": "ეკრანის ანაბეჭდები",
"search_page_selfies": "სელფიები",
"search_page_things": "ნივთები",
"search_suggestion_list_smart_search_hint_2": "m:თქვენი-საძებნი-სტრიქონი",
"second": "წამი",
"select": "აირჩიეთ",
"selected": "არჩეულია",
"set": "დაყენება",
"setting_image_viewer_title": "გამოსახულებები",
"setting_languages_apply": "გადატარება",
"setting_notifications_notify_immediately": "დაუყოვნებლივ",
"setting_notifications_notify_never": "არასდროს",
"setting_video_viewer_looping_title": "წრიულად",
"settings": "მორგება",
"share": "გაზიარება",
@@ -467,7 +430,6 @@
"videos": "ვიდეოები",
"view": "დათვალიერება",
"view_name": "ხედი",
"viewer_unstack": "განჯგუფება",
"waiting": "მოლოდინი",
"warning": "გაფრთხილება",
"week": "კვირა",
+1
View File
@@ -0,0 +1 @@
{}
-2
View File
@@ -7,7 +7,6 @@
"add_a_name": "Атын қосу",
"add_birthday": "Туған күнін қосу",
"add_location": "жерді қосу",
"add_more_users": "қосымша адамдарды тіркеу",
"add_partner": "жолдасты қосу",
"add_photos": "суреттерді қосу",
"add_tag": "тегті қосу",
@@ -16,7 +15,6 @@
"add_to_album_bottom_sheet_added": "{album}'ға қосылған",
"add_to_album_bottom_sheet_already_exists": "Онсыз да {album} болған",
"add_to_albums": "альбомдарға қосу",
"add_to_shared_album": "бөліскен альбомға қосу",
"add_url": "URL таңдау",
"added_to_archive": "Архивке жіберілген",
"added_to_favorites": "таңдаулыларға қосылған",
-9
View File
@@ -10,24 +10,18 @@
"active": "កំពុងសកម្ម",
"active_count": "ដំណើរការ :{count}",
"activity": "សកម្មភាពផ្សេងៗ",
"activity_changed": "សកម្មភាពគឺ {enabled, select, true {បានបើក} other {បានបិទ}}",
"add": "បន្ថែម",
"add_a_description": "បន្ថែមការពិពណ៌នា",
"add_a_location": "បន្ថែមទីតាំង",
"add_a_name": "បន្ងែមឈ្មោះ",
"add_a_title": "បន្ងែមចំណងជើង",
"add_action": "បន្ថែមសកម្មភាព",
"add_action_description": "ចុចដើម្បីបន្ថែមសកម្មភាឲ្យអនុវត្ត",
"add_assets": "បន្ថែមទ្រព្យ",
"add_birthday": "បន្ថែមថ្ងៃខែឆ្មាំកំណើត",
"add_endpoint": "បន្ថែម Endpoint",
"add_exclusion_pattern": "បន្ថែមលំនាំលើកលែង",
"add_filter": "បន្ថែមតម្រង",
"add_filter_description": "ចុចដើម្បីបន្ថែមតម្រងផ្សេងទៀត",
"add_location": "បន្ថែមទីតាំង",
"add_more_users": "បន្ថែមអ្នកប្រើប្រាស់",
"add_partner": "បន្ថែមដៃគូ",
"add_path": "បន្លែម Path",
"add_photos": "បន្ថែមរូបថត",
"add_tag": "បន្ថែមស្លាក",
"add_to": "បន្ថែមទៅក្នុង…",
@@ -35,14 +29,11 @@
"add_to_album_bottom_sheet_added": "បានបន្ថែមទៅក្នុង {album}",
"add_to_album_bottom_sheet_already_exists": "បន្ថែមក្នុង {album} រួចទៅហើយ",
"add_to_album_bottom_sheet_some_local_assets": "ទ្រព្យក្នុងម៉ាស៊ីនមួយចំនួនមិនអាចបន្ថែមចូលអាល់ប៊ុមបានទេ",
"add_to_album_toggle": "បិទបើកការជ្រើសរើសសម្រាប់ {album}",
"add_to_albums": "បន្ថែមទៅក្នុងអាល់ប៊ុមច្រើន",
"add_to_albums_count": "បន្ថែមទៅក្នុងអាល់ប៊ុមចំនួន ({count})",
"add_to_bottom_bar": "បន្ថែមទៅក្នុង",
"add_to_shared_album": "បន្ថែមទៅក្នុងអាល់ប៊ុមដែលបានចែករំលែក",
"add_upload_to_stack": "បន្ថែមការបង្ហោះទៅជង់",
"add_url": "បន្ថែម URL",
"add_workflow_step": "បន្ថែមលំនាំការងារ",
"added_to_archive": "បានបន្ថែមទៅក្នុងបណ្ណសារ",
"added_to_favorites": "បានបន្ថែមទៅក្នុងចំណង់ចំណូលចិត្ត",
"added_to_favorites_count": "បានបន្ថែម {count, number} ទៅក្នុងចំណង់ចំណូលចិត្ត",
+1 -202
View File
@@ -10,24 +10,18 @@
"active": "ಸಕ್ರಿಯ",
"active_count": "ಸಕ್ರಿಯ: {count}",
"activity": "ಚಟುವಟಿಕೆ",
"activity_changed": "ಚಟುವಟಿಕೆ {enabled, select, true{ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ} other {ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ}}",
"add": "ಸೇರಿಸಿ",
"add_a_description": "ವಿವರಣೆಯನ್ನು ಸೇರಿಸಿ",
"add_a_location": "ಸ್ಥಳವನ್ನು ಸೇರಿಸಿ",
"add_a_name": "ಹೆಸರನ್ನು ಸೇರಿಸಿ",
"add_a_title": "ಶೀರ್ಷಿಕೆಯನ್ನು ಸೇರಿಸಿ",
"add_action": "ಕ್ರಿಯೆಯನ್ನು ಸೇರಿಸಿ",
"add_action_description": "ನಿರ್ವಹಿಸಲು ಕ್ರಿಯೆಯನ್ನು ಸೇರಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
"add_assets": "ಆಸ್ತಿ ಸೇರಿಸಿ",
"add_birthday": "ಜನ್ಮದಿನ ಸೇರಿಸಿ",
"add_endpoint": "ಎಂಡ್‌ಪಾಯಿಂಟ್ ಸೇರಿಸಿ",
"add_exclusion_pattern": "ಹೊರಗಿಡುವಿಕೆ ಮಾದರಿಯನ್ನು ಸೇರಿಸಿ",
"add_filter": "ಫಿಲ್ಟರ್ ಸೇರಿಸಿ",
"add_filter_description": "ಫಿಲ್ಟರ್ ಸ್ಥಿತಿಯನ್ನು ಸೇರಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
"add_location": "ಸ್ಥಳ ಸೇರಿಸಿ",
"add_more_users": "ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ",
"add_partner": "ಪಾಲುದಾರರನ್ನು ಸೇರಿಸಿ",
"add_path": "ಹಾದಿಯನ್ನು ಸೇರಿಸಿ",
"add_photos": "ಫೋಟೋಗಳನ್ನು ಸೇರಿಸಿ",
"add_tag": "ಟ್ಯಾಗ್ ಸೇರಿಸಿ",
"add_to": "ಸೇರಿಸಿ…",
@@ -35,14 +29,11 @@
"add_to_album_bottom_sheet_added": "{album} ಗೆ ಸೇರಿಸಲಾಗಿದೆ",
"add_to_album_bottom_sheet_already_exists": "ಈಗಾಗಲೇ {album} ನಲ್ಲಿದೆ",
"add_to_album_bottom_sheet_some_local_assets": "ಕೆಲವು ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಆಲ್ಬಮ್‌ಗೆ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ",
"add_to_album_toggle": "{album}ಗಾಗಿ ಆಯ್ಕೆಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ",
"add_to_albums": "ಆಲ್ಬಮ್‌ಗಳಿಗೆ ಸೇರಿಸಿ",
"add_to_albums_count": "({count}) ಆಲ್ಬಮ್‌ಗಳಿಗೆ ಸೇರಿಸಿ",
"add_to_bottom_bar": "ಗೆ ಸೇರಿಸಿ",
"add_to_shared_album": "ಹಂಚಿದ ಆಲ್ಬಮ್‌ಗೆ ಸೇರಿಸಿ",
"add_upload_to_stack": "ಸ್ಟ್ಯಾಕ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಸೇರಿಸಿ",
"add_url": "URL ಸೇರಿಸಿ",
"add_workflow_step": "ಕೆಲಸದ ಹರಿವಿನ ಹಂತವನ್ನು ಸೇರಿಸಿ",
"added_to_archive": "ಆರ್ಕೈವ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ",
"added_to_favorites": "ಮೆಚ್ಚಿನವುಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ",
"added_to_favorites_count": "{count, number} ಮೆಚ್ಚಿನವುಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ",
@@ -452,8 +443,6 @@
"advanced_settings_clear_image_cache": "ಇಮೇಜ್ ಕ್ಯಾಶ್ ತೆರವುಗೊಳಿಸಿ",
"advanced_settings_clear_image_cache_error": "ಚಿತ್ರದ ಸಂಗ್ರಹವನ್ನು ತೆರವುಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ",
"advanced_settings_clear_image_cache_success": "{size} ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ತೆರವುಗೊಳಿಸಲಾಗಿದೆ",
"advanced_settings_enable_alternate_media_filter_subtitle": "ಪರ್ಯಾಯ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ಸಿಂಕ್ ಮಾಡುವಾಗ ಮಾಧ್ಯಮವನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ. ಅಪ್ಲಿಕೇಶನ್ ಎಲ್ಲಾ ಆಲ್ಬಮ್‌ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವಲ್ಲಿ ನಿಮಗೆ ಸಮಸ್ಯೆಗಳಿದ್ದರೆ ಮಾತ್ರ ಇದನ್ನು ಪ್ರಯತ್ನಿಸಿ.",
"advanced_settings_enable_alternate_media_filter_title": "[ಪ್ರಾಯೋಗಿಕ] ಪರ್ಯಾಯ ಸಾಧನ ಆಲ್ಬಮ್ ಸಿಂಕ್ ಫಿಲ್ಟರ್ ಬಳಸಿ",
"advanced_settings_log_level_title": "ಲಾಗ್ ಮಟ್ಟ: {level}",
"advanced_settings_prefer_remote_subtitle": "ಕೆಲವು ಸಾಧನಗಳು ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳಿಂದ ಥಂಬ್‌ನೇಲ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ತುಂಬಾ ನಿಧಾನವಾಗಿವೆ. ಬದಲಿಗೆ ರಿಮೋಟ್ ಚಿತ್ರಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.",
"advanced_settings_prefer_remote_title": "ದೂರಸ್ಥ ಚಿತ್ರಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಿ",
@@ -461,8 +450,6 @@
"advanced_settings_proxy_headers_title": "ಕಸ್ಟಮ್ ಪ್ರಾಕ್ಸಿ ಹೆಡರ್‌ಗಳು [ಪ್ರಾಯೋಗಿಕ]",
"advanced_settings_readonly_mode_subtitle": "ಫೋಟೋಗಳನ್ನು ಮಾತ್ರ ವೀಕ್ಷಿಸಬಹುದಾದ ಓದಲು-ಮಾತ್ರ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಬಹು ಚಿತ್ರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು, ಹಂಚಿಕೊಳ್ಳುವುದು, ಬಿತ್ತರಿಸುವುದು, ಅಳಿಸುವುದು ಮುಂತಾದ ಎಲ್ಲವನ್ನೂ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ. ಮುಖ್ಯ ಪರದೆಯಿಂದ ಬಳಕೆದಾರ ಅವತಾರ್ ಮೂಲಕ ಓದಲು-ಮಾತ್ರವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ",
"advanced_settings_readonly_mode_title": "ಓದಲು-ಮಾತ್ರ ಮೋಡ್",
"advanced_settings_self_signed_ssl_subtitle": "ಸರ್ವರ್ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಾಗಿ SSL ಪ್ರಮಾಣಪತ್ರ ಪರಿಶೀಲನೆಯನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಸ್ವಯಂ ಸಹಿ ಮಾಡಿದ ಪ್ರಮಾಣಪತ್ರಗಳಿಗೆ ಅಗತ್ಯವಿದೆ.",
"advanced_settings_self_signed_ssl_title": "ಸ್ವಯಂ ಸಹಿ ಮಾಡಿದ SSL ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಅನುಮತಿಸಿ [ಪ್ರಾಯೋಗಿಕ]",
"advanced_settings_sync_remote_deletions_subtitle": "ವೆಬ್‌ನಲ್ಲಿ ಆ ಕ್ರಮ ಕೈಗೊಂಡಾಗ ಈ ಸಾಧನದಲ್ಲಿನ ಸ್ವತ್ತನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಳಿಸಿ ಅಥವಾ ಮರುಸ್ಥಾಪಿಸಿ",
"advanced_settings_sync_remote_deletions_title": "ರಿಮೋಟ್ ಅಳಿಸುವಿಕೆಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಿ [ಪ್ರಾಯೋಗಿಕ]",
"advanced_settings_tile_subtitle": "ಸುಧಾರಿತ ಬಳಕೆದಾರ ಸೆಟ್ಟಿಂಗ್‌ಗಳು",
@@ -478,31 +465,18 @@
"album_delete_confirmation": "ನೀವು {album} ಆಲ್ಬಮ್ ಅನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"album_delete_confirmation_description": "ಈ ಆಲ್ಬಮ್ ಹಂಚಿಕೊಂಡರೆ, ಇತರ ಬಳಕೆದಾರರು ಇನ್ನು ಮುಂದೆ ಇದನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.",
"album_deleted": "ಆಲ್ಬಮ್ ಅಳಿಸಲಾಗಿದೆ",
"album_info_card_backup_album_excluded": "ಹೊರಗಿಡಲಾಗಿದೆ",
"album_info_card_backup_album_included": "ಸೇರಿಸಲಾಗಿದೆ",
"album_info_updated": "ಆಲ್ಬಮ್ ಮಾಹಿತಿಯನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ",
"album_leave": "ಆಲ್ಬಮ್ ತೊರೆಯುವುದೇ?",
"album_leave_confirmation": "ನೀವು {album} ತೊರೆಯಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"album_name": "ಆಲ್ಬಮ್ ಹೆಸರು",
"album_options": "ಆಲ್ಬಮ್ ಆಯ್ಕೆಗಳು",
"album_remove_user": "ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?",
"album_remove_user_confirmation": "ನೀವು {user} ಅವರನ್ನು ತೆಗೆದುಹಾಕಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"album_search_not_found": "ನಿಮ್ಮ ಹುಡುಕಾಟಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವ ಯಾವುದೇ ಆಲ್ಬಮ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ",
"album_selected": "ಆಲ್ಬಮ್ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ",
"album_share_no_users": "ನೀವು ಈ ಆಲ್ಬಮ್ ಅನ್ನು ಎಲ್ಲಾ ಬಳಕೆದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಂಡಿರುವಂತೆ ಕಾಣುತ್ತಿದೆ ಅಥವಾ ಹಂಚಿಕೊಳ್ಳಲು ನಿಮ್ಮ ಬಳಿ ಯಾವುದೇ ಬಳಕೆದಾರರು ಇಲ್ಲ.",
"album_summary": "ಆಲ್ಬಮ್ ಸಾರಾಂಶ",
"album_updated": "ಆಲ್ಬಮ್ ನವೀಕರಿಸಲಾಗಿದೆ",
"album_updated_setting_description": "ಹಂಚಿಕೊಂಡ ಆಲ್ಬಮ್ ಹೊಸ ಸ್ವತ್ತುಗಳನ್ನು ಹೊಂದಿರುವಾಗ ಇಮೇಲ್ ಅಧಿಸೂಚನೆಯನ್ನು ಸ್ವೀಕರಿಸಿ",
"album_upload_assets": "ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಸ್ವತ್ತುಗಳನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಆಲ್ಬಮ್‌ಗೆ ಸೇರಿಸಿ",
"album_user_left": "ಎಡ {album}",
"album_user_removed": "{user} ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
"album_viewer_appbar_delete_confirm": "ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಈ ಆಲ್ಬಮ್ ಅನ್ನು ಅಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"album_viewer_appbar_share_err_delete": "ಆಲ್ಬಮ್ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ",
"album_viewer_appbar_share_err_leave": "ಆಲ್ಬಮ್ ತೊರೆಯಲು ವಿಫಲವಾಗಿದೆ",
"album_viewer_appbar_share_err_remove": "ಆಲ್ಬಮ್‌ನಿಂದ ಸ್ವತ್ತುಗಳನ್ನು ತೆಗೆದುಹಾಕುವಲ್ಲಿ ಸಮಸ್ಯೆಗಳಿವೆ",
"album_viewer_appbar_share_err_title": "ಆಲ್ಬಮ್ ಶೀರ್ಷಿಕೆಯನ್ನು ಬದಲಾಯಿಸಲು ವಿಫಲವಾಗಿದೆ",
"album_viewer_appbar_share_leave": "ಆಲ್ಬಮ್ ತೊರೆಯಿರಿ",
"album_viewer_appbar_share_to": "ಹಂಚಿಕೊಳ್ಳಿ",
"album_viewer_page_share_add_users": "ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ",
"album_with_link_access": "ಲಿಂಕ್ ಹೊಂದಿರುವ ಯಾರಾದರೂ ಈ ಆಲ್ಬಮ್‌ನಲ್ಲಿರುವ ಫೋಟೋಗಳು ಮತ್ತು ಜನರನ್ನು ನೋಡಲಿ.",
"albums": "ಆಲ್ಬಂಗಳು",
@@ -516,7 +490,6 @@
"all_photos": "ಎಲ್ಲಾ ಫೋಟೋಗಳು",
"all_videos": "ಎಲ್ಲಾ ವೀಡಿಯೊಗಳು",
"allow_dark_mode": "ಡಾರ್ಕ್ ಮೋಡ್ ಅನ್ನು ಅನುಮತಿಸಿ",
"allow_edits": "ಸಂಪಾದನೆಗಳನ್ನು ಅನುಮತಿಸಿ",
"allow_public_user_to_download": "ಸಾರ್ವಜನಿಕ ಬಳಕೆದಾರರು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಿ",
"allow_public_user_to_upload": "ಸಾರ್ವಜನಿಕ ಬಳಕೆದಾರರಿಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಿ",
"allowed": "ಅನುಮತಿಸಲಾಗಿದೆ",
@@ -524,7 +497,6 @@
"always_keep": "ಯಾವಾಗಲೂ ಇಟ್ಟುಕೊಳ್ಳಿ",
"always_keep_photos_hint": "ಸ್ಥಳಾವಕಾಶ ಮುಕ್ತಗೊಳಿಸುವುದರಿಂದ ಈ ಸಾಧನದಲ್ಲಿ ಎಲ್ಲಾ ಫೋಟೋಗಳನ್ನು ಇರಿಸುತ್ತದೆ.",
"always_keep_videos_hint": "ಸ್ಥಳಾವಕಾಶ ಮುಕ್ತಗೊಳಿಸುವುದರಿಂದ ಎಲ್ಲಾ ವೀಡಿಯೊಗಳು ಈ ಸಾಧನದಲ್ಲಿ ಉಳಿಯುತ್ತವೆ.",
"anti_clockwise": "ಅಪ್ರದಕ್ಷಿಣಾಕಾರವಾಗಿ",
"api_key_description": "ಈ ಮೌಲ್ಯವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ತೋರಿಸಲಾಗುತ್ತದೆ. ವಿಂಡೋವನ್ನು ಮುಚ್ಚುವ ಮೊದಲು ದಯವಿಟ್ಟು ಅದನ್ನು ನಕಲಿಸಲು ಮರೆಯದಿರಿ.",
"api_key_empty": "ನಿಮ್ಮ API ಕೀ ಹೆಸರು ಖಾಲಿಯಾಗಿರಬಾರದು",
"app_bar_signout_dialog_content": "ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
@@ -536,23 +508,15 @@
"appears_in": "ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ",
"archive": "ಆರ್ಕೈವ್",
"archive_or_unarchive_photo": "ಫೋಟೋವನ್ನು ಆರ್ಕೈವ್ ಮಾಡಿ ಅಥವಾ ಅನ್‌ಆರ್ಕೈವ್ ಮಾಡಿ",
"archive_page_no_archived_assets": "ಯಾವುದೇ ಆರ್ಕೈವ್ ಮಾಡಿದ ಸ್ವತ್ತುಗಳು ಕಂಡುಬಂದಿಲ್ಲ",
"archive_size_description": "ಡೌನ್‌ಲೋಡ್‌ಗಳಿಗಾಗಿ ಆರ್ಕೈವ್ ಗಾತ್ರವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (GiB ನಲ್ಲಿ)",
"are_these_the_same_person": "ಇವರು ಒಂದೇ ವ್ಯಕ್ತಿಯೇ?",
"are_you_sure_to_do_this": "ನೀವು ಇದನ್ನು ಮಾಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"array_field_not_fully_supported": "ಅರೇ ಕ್ಷೇತ್ರಗಳಿಗೆ ಹಸ್ತಚಾಲಿತ JSON ಸಂಪಾದನೆಯ ಅಗತ್ಯವಿದೆ",
"asset_action_delete_err_read_only": "ಓದಲು ಮಾತ್ರ ಸ್ವತ್ತು(ಗಳನ್ನು) ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"asset_action_share_err_offline": "ಆಫ್‌ಲೈನ್ ಸ್ವತ್ತು(ಗಳನ್ನು) ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"asset_added_to_album": "ಆಲ್ಬಮ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ",
"asset_adding_to_album": "ಆಲ್ಬಮ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತಿದೆ…",
"asset_created": "ಸ್ವತ್ತನ್ನು ರಚಿಸಲಾಗಿದೆ",
"asset_description_updated": "ಸ್ವತ್ತಿನ ವಿವರಣೆಯನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ",
"asset_filename_is_offline": "{filename} ಸ್ವತ್ತು ಆಫ್‌ಲೈನ್‌ನಲ್ಲಿದೆ",
"asset_has_unassigned_faces": "ಸ್ವತ್ತು ನಿಯೋಜಿಸದ ಮುಖಗಳನ್ನು ಹೊಂದಿದೆ",
"asset_hashing": "ಹ್ಯಾಶಿಂಗ್…",
"asset_list_group_by_sub_title": "ಗುಂಪು ಮಾಡಿ",
"asset_list_layout_settings_dynamic_layout_title": "ಡೈನಾಮಿಕ್ ಲೇಔಟ್",
"asset_list_layout_settings_group_automatically": "ಸ್ವಯಂಚಾಲಿತ",
"asset_list_layout_settings_group_by": "ಸ್ವತ್ತುಗಳನ್ನು ಈ ಪ್ರಕಾರ ಗುಂಪು ಮಾಡಿ",
"asset_list_layout_settings_group_by_month_day": "ತಿಂಗಳು + ದಿನ",
"asset_list_layout_sub_title": "ವಿನ್ಯಾಸ",
@@ -563,100 +527,55 @@
"asset_not_found_on_icloud": "ಐಕ್ಲೌಡ್ ನಲ್ಲಿ ಸ್ವತ್ತು ಕಂಡುಬಂದಿಲ್ಲ. ಐಕ್ಲೌಡ್ ನಲ್ಲಿ ಕೆಟ್ಟ ಫೈಲ್ ಸಂಗ್ರಹವಾಗಿರುವುದರಿಂದ ಸ್ವತ್ತನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗದಿರಬಹುದು",
"asset_offline": "ಸ್ವತ್ತು ಆಫ್‌ಲೈನ್",
"asset_offline_description": "ಈ ಬಾಹ್ಯ ಆಸ್ತಿ ಇನ್ನು ಮುಂದೆ ಡಿಸ್ಕ್‌ನಲ್ಲಿ ಕಂಡುಬರುವುದಿಲ್ಲ. ಸಹಾಯಕ್ಕಾಗಿ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಮ್ಮಿಚ್ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.",
"asset_restored_successfully": "ಸ್ವತ್ತನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರುಸ್ಥಾಪಿಸಲಾಗಿದೆ",
"asset_skipped": "ಬಿಟ್ಟುಬಿಡಲಾಗಿದೆ",
"asset_skipped_in_trash": "ಕಸದಲ್ಲಿದೆ",
"asset_trashed": "ಸ್ವತ್ತನ್ನು ಅನುಪಯುಕ್ತಕ್ಕೆ ಕಳುಹಿಸಲಾಗಿದೆ",
"asset_troubleshoot": "ಆಸ್ತಿ ಸಮಸ್ಯೆ ನಿವಾರಣೆ",
"asset_uploaded": "ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ",
"asset_uploading": "ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…",
"asset_viewer_settings_subtitle": "ನಿಮ್ಮ ಗ್ಯಾಲರಿ ವೀಕ್ಷಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ",
"asset_viewer_settings_title": "ಆಸ್ತಿ ವೀಕ್ಷಕ",
"assets": "ಸ್ವತ್ತುಗಳು",
"assets_deleted_permanently": "{count} ಸ್ವತ್ತು(ಗಳು) ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗಿದೆ",
"assets_deleted_permanently_from_server": "ಇಮ್ಮಿಚ್ ಸರ್ವರ್‌ನಿಂದ {count} ಸ್ವತ್ತು(ಗಳು) ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗಿದೆ",
"assets_removed_permanently_from_device": "ನಿಮ್ಮ ಸಾಧನದಿಂದ {count} ಸ್ವತ್ತು(ಗಳನ್ನು) ಶಾಶ್ವತವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
"assets_restore_confirmation": "ನಿಮ್ಮ ಎಲ್ಲಾ ಅನುಪಯುಕ್ತ ಸ್ವತ್ತುಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ! ಯಾವುದೇ ಆಫ್‌ಲೈನ್ ಸ್ವತ್ತುಗಳನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ಮರುಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.",
"assets_restored_successfully": "{count} ಸ್ವತ್ತು(ಗಳು) ಯಶಸ್ವಿಯಾಗಿ ಮರುಸ್ಥಾಪಿಸಲಾಗಿದೆ",
"assets_trashed": "{count} ಸ್ವತ್ತು(ಗಳು) ಅನುಪಯುಕ್ತಕ್ಕೆ ಕಳುಹಿಸಲಾಗಿದೆ",
"assets_trashed_from_server": "ಇಮ್ಮಿಚ್ ಸರ್ವರ್‌ನಿಂದ {count} ಸ್ವತ್ತು(ಗಳು) ಅನುಪಯುಕ್ತಗೊಳಿಸಲಾಗಿದೆ",
"authorized_devices": "ಅಧಿಕೃತ ಸಾಧನಗಳು",
"automatic_endpoint_switching_subtitle": "ಲಭ್ಯವಿರುವಾಗ ಗೊತ್ತುಪಡಿಸಿದ ವೈ-ಫೈ ಮೂಲಕ ಸ್ಥಳೀಯವಾಗಿ ಸಂಪರ್ಕಿಸಿ ಮತ್ತು ಬೇರೆಡೆ ಪರ್ಯಾಯ ಸಂಪರ್ಕಗಳನ್ನು ಬಳಸಿ",
"automatic_endpoint_switching_title": "ಸ್ವಯಂಚಾಲಿತ URL ಬದಲಾವಣೆ",
"autoplay_slideshow": "ಸ್ಲೈಡ್‌ಶೋ ಅನ್ನು ಸ್ವಯಂಪ್ಲೇ ಮಾಡಿ",
"back": "ಹಿಂದೆ",
"back_close_deselect": "ಹಿಂದಕ್ಕೆ, ಮುಚ್ಚಿ ಅಥವಾ ಆಯ್ಕೆ ರದ್ದುಮಾಡಿ",
"background_backup_running_error": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಪ್ರಸ್ತುತ ಚಾಲನೆಯಲ್ಲಿದೆ, ಹಸ್ತಚಾಲಿತ ಬ್ಯಾಕಪ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ",
"background_location_permission": "ಹಿನ್ನೆಲೆ ಸ್ಥಳ ಅನುಮತಿ",
"background_location_permission_content": "ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು, ಇಮ್ಮಿಚ್ *ಯಾವಾಗಲೂ* ನಿಖರವಾದ ಸ್ಥಳ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರಬೇಕು ಇದರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ನ ಹೆಸರನ್ನು ಓದಬಹುದು",
"background_options": "ಹಿನ್ನೆಲೆ ಆಯ್ಕೆಗಳು",
"backup": "ಬ್ಯಾಕಪ್",
"backup_album_selection_page_albums_device": "ಸಾಧನದಲ್ಲಿರುವ ಆಲ್ಬಮ್‌ಗಳು ({count})",
"backup_album_selection_page_albums_tap": "ಸೇರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ, ಹೊರಗಿಡಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ",
"backup_album_selection_page_assets_scatter": "ಸ್ವತ್ತುಗಳು ಬಹು ಆಲ್ಬಮ್‌ಗಳಲ್ಲಿ ಹರಡಬಹುದು. ಹೀಗಾಗಿ, ಬ್ಯಾಕಪ್ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಆಲ್ಬಮ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಹೊರಗಿಡಬಹುದು.",
"backup_album_selection_page_select_albums": "ಆಲ್ಬಮ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ",
"backup_album_selection_page_selection_info": "ಆಯ್ಕೆ ಮಾಹಿತಿ",
"backup_album_selection_page_total_assets": "ಒಟ್ಟು ಅನನ್ಯ ಸ್ವತ್ತುಗಳು",
"backup_albums_sync": "ಬ್ಯಾಕಪ್ ಆಲ್ಬಮ್‌ಗಳ ಸಿಂಕ್ರೊನೈಸೇಶನ್",
"backup_all": "ಎಲ್ಲವೂ",
"backup_background_service_backup_failed_message": "ಸ್ವತ್ತುಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ…",
"backup_background_service_connection_failed_message": "ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ. ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ…",
"backup_background_service_default_notification": "ಹೊಸ ಸ್ವತ್ತುಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ…",
"backup_background_service_in_progress_notification": "ನಿಮ್ಮ ಸ್ವತ್ತುಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ…",
"backup_background_service_upload_failure_notification": "{filename} ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ",
"backup_controller_page_background_app_refresh_disabled_content": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಬಳಸಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳು > ಸಾಮಾನ್ಯ > ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್ ರಿಫ್ರೆಶ್‌ನಲ್ಲಿ ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್ ರಿಫ್ರೆಶ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.",
"backup_controller_page_background_app_refresh_disabled_title": "ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್ ರಿಫ್ರೆಶ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
"backup_controller_page_background_battery_info_link": "ಹೇಗೆಂದು ನನಗೆ ತೋರಿಸಿ",
"backup_controller_page_background_battery_info_message": "ಅತ್ಯುತ್ತಮ ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಅನುಭವಕ್ಕಾಗಿ, ಇಮ್ಮಿಚ್‌ಗಾಗಿ ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸುವ ಯಾವುದೇ ಬ್ಯಾಟರಿ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ದಯವಿಟ್ಟು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ.\n\nಇದು ಸಾಧನ-ನಿರ್ದಿಷ್ಟವಾಗಿರುವುದರಿಂದ, ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಾಧನ ತಯಾರಕರಿಗೆ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ನೋಡಿ.",
"backup_controller_page_background_battery_info_ok": "ಸರಿ",
"backup_controller_page_background_battery_info_title": "ಬ್ಯಾಟರಿ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳು",
"backup_controller_page_background_charging": "ಚಾರ್ಜ್ ಮಾಡುವಾಗ ಮಾತ್ರ",
"backup_controller_page_background_configure_error": "ಹಿನ್ನೆಲೆ ಸೇವೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ",
"backup_controller_page_background_delay": "ಹೊಸ ಸ್ವತ್ತುಗಳ ಬ್ಯಾಕಪ್ ವಿಳಂಬ: {duration}",
"backup_controller_page_background_description": "ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯದೆಯೇ ಯಾವುದೇ ಹೊಸ ಸ್ವತ್ತುಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ಯಾಕಪ್ ಮಾಡಲು ಹಿನ್ನೆಲೆ ಸೇವೆಯನ್ನು ಆನ್ ಮಾಡಿ",
"backup_controller_page_background_is_off": "ಸ್ವಯಂಚಾಲಿತ ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆಫ್ ಆಗಿದೆ",
"backup_controller_page_background_is_on": "ಸ್ವಯಂಚಾಲಿತ ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆನ್ ಆಗಿದೆ",
"backup_controller_page_background_turn_off": "ಹಿನ್ನೆಲೆ ಸೇವೆಯನ್ನು ಆಫ್ ಮಾಡಿ",
"backup_controller_page_background_turn_on": "ಹಿನ್ನೆಲೆ ಸೇವೆಯನ್ನು ಆನ್ ಮಾಡಿ",
"backup_controller_page_background_wifi": "ವೈ-ಫೈ ನಲ್ಲಿ ಮಾತ್ರ",
"backup_controller_page_backup": "ಬ್ಯಾಕಪ್",
"backup_controller_page_backup_sub": "ಬ್ಯಾಕಪ್ ಮಾಡಿದ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು",
"backup_controller_page_created": "ರಚಿಸಲಾದ ದಿನಾಂಕ: {date}",
"backup_controller_page_desc_backup": "ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯುವಾಗ ಸರ್ವರ್‌ಗೆ ಹೊಸ ಸ್ವತ್ತುಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಮುನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಅನ್ನು ಆನ್ ಮಾಡಿ.",
"backup_controller_page_failed": "ವಿಫಲವಾಗಿದೆ ({count})",
"backup_controller_page_filename": "ಫೈಲ್ ಹೆಸರು: {filename} [{size}]",
"backup_controller_page_id": "ಐಡಿ: {id}",
"backup_controller_page_info": "ಬ್ಯಾಕಪ್ ಮಾಹಿತಿ",
"backup_controller_page_none_selected": "ಯಾವುದನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿಲ್ಲ",
"backup_controller_page_remainder": "ಶೇಷ",
"backup_controller_page_remainder_sub": "ಆಯ್ಕೆಯಿಂದ ಬ್ಯಾಕಪ್ ಮಾಡಲು ಉಳಿದಿರುವ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು",
"backup_controller_page_server_storage": "ಸರ್ವರ್ ಸಂಗ್ರಹಣೆ",
"backup_controller_page_start_backup": "ಬ್ಯಾಕಪ್ ಪ್ರಾರಂಭಿಸಿ",
"backup_controller_page_status_off": "ಸ್ವಯಂಚಾಲಿತ ಮುನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆಫ್ ಆಗಿದೆ",
"backup_controller_page_status_on": "ಸ್ವಯಂಚಾಲಿತ ಮುನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆನ್ ಆಗಿದೆ",
"backup_controller_page_to_backup": "ಬ್ಯಾಕಪ್ ಮಾಡಬೇಕಾದ ಆಲ್ಬಮ್‌ಗಳು",
"backup_controller_page_total_sub": "ಆಯ್ದ ಆಲ್ಬಮ್‌ಗಳಿಂದ ಎಲ್ಲಾ ಅನನ್ಯ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು",
"backup_controller_page_turn_off": "ಮುನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆಫ್ ಮಾಡಿ",
"backup_controller_page_turn_on": "ಮುನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಆನ್ ಮಾಡಿ",
"backup_controller_page_uploading_file_info": "ಫೈಲ್ ಮಾಹಿತಿಯನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ",
"backup_err_only_album": "ಒಂದೇ ಆಲ್ಬಮ್ ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ",
"backup_error_sync_failed": "ಸಿಂಕ್ ವಿಫಲವಾಗಿದೆ. ಬ್ಯಾಕಪ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.",
"backup_info_card_assets": "ಸ್ವತ್ತುಗಳು",
"backup_manual_cancelled": "ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ",
"backup_manual_in_progress": "ಅಪ್‌ಲೋಡ್ ಈಗಾಗಲೇ ಪ್ರಗತಿಯಲ್ಲಿದೆ. ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಪ್ರಯತ್ನಿಸಿ",
"backup_manual_success": "ಯಶಸ್ಸು",
"backup_manual_title": "ಅಪ್‌ಲೋಡ್ ಸ್ಥಿತಿ",
"backup_options": "ಬ್ಯಾಕಪ್ ಆಯ್ಕೆಗಳು",
"backup_options_page_title": "ಬ್ಯಾಕಪ್ ಆಯ್ಕೆಗಳು",
"backup_setting_subtitle": "ಹಿನ್ನೆಲೆ ಮತ್ತು ಮುನ್ನೆಲೆ ಅಪ್‌ಲೋಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ",
"backup_settings_subtitle": "ಅಪ್‌ಲೋಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ",
"backup_upload_details_page_more_details": "ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ",
"backward": "ಹಿಂದಕ್ಕೆ",
"biometric_auth_enabled": "ಬಯೋಮೆಟ್ರಿಕ್ ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
"biometric_locked_out": "ನೀವು ಬಯೋಮೆಟ್ರಿಕ್ ದೃಢೀಕರಣದಿಂದ ಹೊರಗುಳಿದಿದ್ದೀರಿ",
"biometric_no_options": "ಯಾವುದೇ ಬಯೋಮೆಟ್ರಿಕ್ ಆಯ್ಕೆಗಳು ಲಭ್ಯವಿಲ್ಲ",
"biometric_not_available": "ಈ ಸಾಧನದಲ್ಲಿ ಬಯೋಮೆಟ್ರಿಕ್ ದೃಢೀಕರಣ ಲಭ್ಯವಿಲ್ಲ",
"birthdate_saved": "ಜನ್ಮ ದಿನಾಂಕವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಉಳಿಸಲಾಗಿದೆ",
"birthdate_set_description": "ಫೋಟೋ ತೆಗೆಯುವ ಸಮಯದಲ್ಲಿ ಆ ವ್ಯಕ್ತಿಯ ವಯಸ್ಸನ್ನು ಲೆಕ್ಕಹಾಕಲು ಜನ್ಮ ದಿನಾಂಕವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.",
"blurred_background": "ಮಸುಕಾದ ಹಿನ್ನೆಲೆ",
"bugs_and_feature_requests": "ದೋಷಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯ ವಿನಂತಿಗಳು",
@@ -666,20 +585,6 @@
"bulk_keep_duplicates_confirmation": "ನೀವು {count, plural, one {# duplicate asset} other {# duplicate assets}} ಅನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಇದು ಯಾವುದನ್ನೂ ಅಳಿಸದೆ ಎಲ್ಲಾ ನಕಲಿ ಗುಂಪುಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.",
"bulk_trash_duplicates_confirmation": "ನೀವು ಖಚಿತವಾಗಿಯೂ ಬಲ್ಕ್ ಟ್ರ್ಯಾಶ್ ಮಾಡಲು ಬಯಸುತ್ತೀರಾ {count, plural, one {# duplicate asset} other {# duplicate assets}}? ಇದು ಪ್ರತಿ ಗುಂಪಿನ ಅತಿದೊಡ್ಡ ಆಸ್ತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಇತರ ಎಲ್ಲಾ ನಕಲುಗಳನ್ನು ಟ್ರ್ಯಾಶ್ ಮಾಡುತ್ತದೆ.",
"buy": "ಇಮ್ಮಿಚ್ ಖರೀದಿಸಿ",
"cache_settings_clear_cache_button": "ಸಂಗ್ರಹವನ್ನು ತೆರವುಗೊಳಿಸಿ",
"cache_settings_clear_cache_button_title": "ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಯಾಶ್ ಅನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ. ಕ್ಯಾಶ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸುವವರೆಗೆ ಇದು ಅಪ್ಲಿಕೇಶನ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಗಮನಾರ್ಹವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.",
"cache_settings_duplicated_assets_clear_button": "ತೆರವುಗೊಳಿಸಿ",
"cache_settings_duplicated_assets_subtitle": "ಅಪ್ಲಿಕೇಶನ್ ಪಟ್ಟಿ ಮಾಡಿರುವ ನಿರ್ಲಕ್ಷಿಸಲಾದ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು",
"cache_settings_duplicated_assets_title": "ನಕಲಿ ಸ್ವತ್ತುಗಳು ({count})",
"cache_settings_statistics_album": "ಲೈಬ್ರರಿ ಥಂಬ್‌ನೇಲ್‌ಗಳು",
"cache_settings_statistics_full": "ಪೂರ್ಣ ಚಿತ್ರಗಳು",
"cache_settings_statistics_shared": "ಹಂಚಿಕೊಂಡ ಆಲ್ಬಮ್ ಥಂಬ್‌ನೇಲ್‌ಗಳು",
"cache_settings_statistics_thumbnail": "ಥಂಬ್‌ನೇಲ್‌ಗಳು",
"cache_settings_statistics_title": "ಕ್ಯಾಶ್ ಬಳಕೆ",
"cache_settings_subtitle": "ಇಮ್ಮಿಚ್ ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಯಾಶಿಂಗ್ ನಡವಳಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸಿ",
"cache_settings_tile_subtitle": "ಸ್ಥಳೀಯ ಸಂಗ್ರಹಣೆಯ ನಡವಳಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸಿ",
"cache_settings_tile_title": "ಸ್ಥಳೀಯ ಸಂಗ್ರಹಣೆ",
"cache_settings_title": "ಕ್ಯಾಶಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು",
"camera": "ಕ್ಯಾಮೆರಾ",
"camera_brand": "ಕ್ಯಾಮೆರಾ ಬ್ರ್ಯಾಂಡ್",
"camera_model": "ಕ್ಯಾಮೆರಾ ಮಾದರಿ",
@@ -695,7 +600,6 @@
"change_date": "ದಿನಾಂಕ ಬದಲಾಯಿಸಿ",
"change_description": "ವಿವರಣೆಯನ್ನು ಬದಲಾಯಿಸಿ",
"change_display_order": "ಪ್ರದರ್ಶನ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸಿ",
"change_expiration_time": "ಮುಕ್ತಾಯ ಸಮಯವನ್ನು ಬದಲಾಯಿಸಿ",
"change_location": "ಸ್ಥಳ ಬದಲಾಯಿಸಿ",
"change_name": "ಹೆಸರು ಬದಲಾಯಿಸಿ",
"change_name_successfully": "ಹೆಸರನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಬದಲಾಯಿಸಲಾಗಿದೆ",
@@ -709,11 +613,7 @@
"change_password_form_password_mismatch": "ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ",
"change_password_form_reenter_new_password": "ಹೊಸ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮತ್ತೆ ನಮೂದಿಸಿ",
"change_pin_code": "ಪಿನ್ ಕೋಡ್ ಬದಲಾಯಿಸಿ",
"change_trigger": "ಟ್ರಿಗ್ಗರ್ ಬದಲಾಯಿಸಿ",
"change_trigger_prompt": "ನೀವು ಟ್ರಿಗ್ಗರ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಇದು ಎಲ್ಲಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕ್ರಿಯೆಗಳು ಮತ್ತು ಫಿಲ್ಟರ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.",
"charging_requirement_mobile_backup": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್‌ಗೆ ಸಾಧನವು ಚಾರ್ಜ್ ಆಗುತ್ತಿರಬೇಕು",
"check_corrupt_asset_backup": "ಭ್ರಷ್ಟ ಆಸ್ತಿ ಬ್ಯಾಕಪ್‌ಗಳಿಗಾಗಿ ಪರಿಶೀಲಿಸಿ",
"check_corrupt_asset_backup_description": "ಈ ಪರಿಶೀಲನೆಯನ್ನು ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ರನ್ ಮಾಡಿ ಮತ್ತು ಎಲ್ಲಾ ಸ್ವತ್ತುಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಿದ ನಂತರ. ಈ ಪ್ರಕ್ರಿಯೆಯು ಕೆಲವು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.",
"choose_matching_people_to_merge": "ವಿಲೀನಗೊಳಿಸಲು ಹೊಂದಾಣಿಕೆಯಾಗುವ ಜನರನ್ನು ಆರಿಸಿ",
"city": "ನಗರ",
"cleanup_confirm_description": "ಇಮ್ಮಿಚ್ {date} ಕ್ಕಿಂತ ಮೊದಲು ರಚಿಸಲಾದ {count} ಸ್ವತ್ತುಗಳನ್ನು ಸರ್ವರ್‌ಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಬ್ಯಾಕಪ್ ಮಾಡಿರುವುದನ್ನು ಕಂಡುಕೊಂಡರು. ಈ ಸಾಧನದಿಂದ ಸ್ಥಳೀಯ ಪ್ರತಿಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?",
@@ -731,8 +631,6 @@
"clear_file_cache": "ಫೈಲ್ ಸಂಗ್ರಹವನ್ನು ತೆರವುಗೊಳಿಸಿ",
"clear_message": "ಸಂದೇಶವನ್ನು ತೆರವುಗೊಳಿಸಿ",
"clear_value": "ಮೌಲ್ಯವನ್ನು ತೆರವುಗೊಳಿಸಿ",
"client_cert_dialog_msg_confirm": "ಸರಿ",
"client_cert_enter_password": "ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ",
"client_cert_import": "ಆಮದು ಮಾಡಿ",
"client_cert_import_success_msg": "ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗಿದೆ",
"client_cert_invalid_msg": "ಅಮಾನ್ಯ ಪ್ರಮಾಣಪತ್ರ ಫೈಲ್ ಅಥವಾ ತಪ್ಪು ಪಾಸ್‌ವರ್ಡ್",
@@ -741,12 +639,10 @@
"client_cert_remove_msg": "ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
"client_cert_subtitle": "PKCS12 (.p12, .pfx) ಸ್ವರೂಪವನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ. ಲಾಗಿನ್ ಆಗುವ ಮೊದಲು ಮಾತ್ರ ಪ್ರಮಾಣಪತ್ರ ಆಮದು/ತೆಗೆದುಹಾಕುವಿಕೆ ಲಭ್ಯವಿದೆ",
"client_cert_title": "SSL ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ [ಪ್ರಾಯೋಗಿಕ]",
"clockwise": "ಕ್ಲಾಕ್‌ವೈಸ್",
"close": "ಮುಚ್ಚಿ",
"collapse": "ಕುಗ್ಗಿಸು",
"collapse_all": "ಎಲ್ಲವನ್ನು ಕುಗ್ಗಿಸಿ",
"color": "ಬಣ್ಣ",
"color_theme": "ಬಣ್ಣ ಥೀಮ್",
"command": "ಆಜ್ಞೆ",
"command_palette_prompt": "ಪುಟಗಳು, ಕ್ರಿಯೆಗಳು ಅಥವಾ ಆಜ್ಞೆಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಹುಡುಕಿ",
"command_palette_to_close": "ಮುಚ್ಚಲು",
@@ -761,12 +657,10 @@
"context": "ಸಂದರ್ಭ",
"continue": "ಮುಂದುವರಿಸಿ",
"control_bottom_app_bar_edit_time": "ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಸಂಪಾದಿಸಿ",
"control_bottom_app_bar_share_to": "ಹಂಚಿಕೊಳ್ಳಲು",
"control_bottom_app_bar_trash_from_immich": "ಅನುಪಯುಕ್ತಕ್ಕೆ ಸರಿಸಿ",
"copied_image_to_clipboard": "ಚಿತ್ರವನ್ನು ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ.",
"copied_to_clipboard": "ಕ್ಲಿಪ್ ಬೋರ್ಡ್ ಗೆ ನಕಲಿಸಲಾಗಿದೆ!",
"copy_error": "ದೋಷವನ್ನು ನಕಲಿಸಿ",
"copy_file_path": "ಫೈಲ್ ಮಾರ್ಗವನ್ನು ನಕಲಿಸಿ",
"copy_image": "ಚಿತ್ರವನ್ನು ನಕಲಿಸಿ",
"copy_link": "ಲಿಂಕ್ ನಕಲಿಸಿ",
"copy_link_to_clipboard": "ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಿ",
@@ -799,11 +693,9 @@
"created_at": "ರಚಿಸಲಾಗಿದೆ",
"creating_linked_albums": "ಲಿಂಕ್ಡ್ ಆಲ್ಬಮ್ ಗಳನ್ನು ರಚಿಸುವುದು ...",
"crop": "ಬೆಳೆ",
"crop_aspect_ratio_fixed": "ಸ್ಥಿರ",
"crop_aspect_ratio_free": "ಉಚಿತ",
"crop_aspect_ratio_original": "ಮೂಲ",
"crop_aspect_ratio_square": "ಚೌಕ",
"curated_object_page_title": "ವಿಷಯಗಳು",
"current_device": "ಪ್ರಸ್ತುತ ಸಾಧನ",
"current_pin_code": "ಪ್ರಸ್ತುತ ಪಿನ್ ಕೋಡ್",
"current_server_address": "ಪ್ರಸ್ತುತ ಸರ್ವರ್ ವಿಳಾಸ",
@@ -822,8 +714,6 @@
"day": "ದಿನ",
"days": "ದಿನಗಳು",
"deduplicate_all": "ಎಲ್ಲವನ್ನೂ ಸಮರ್ಪಿಸಿ",
"default_locale": "ಡೀಫಾಲ್ಟ್ ಲೊಕೇಲ್",
"default_locale_description": "ನಿಮ್ಮ ಬ್ರೌಸರ್ ಲೊಕೇಲ್ ಆಧಾರಿತ ಸ್ವರೂಪ ದಿನಾಂಕಗಳು ಮತ್ತು ಸಂಖ್ಯೆಗಳು",
"delete": "ಅಳಿಸಿ",
"delete_action_confirmation_message": "ನೀವು ಈ ಸ್ವತ್ತನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಈ ಕ್ರಿಯೆಯು ಸ್ವತ್ತನ್ನು ಸರ್ವರ್‌ನ ಅನುಪಯುಕ್ತಕ್ಕೆ ಸರಿಸುತ್ತದೆ ಮತ್ತು ನೀವು ಅದನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದರೆ ಕೇಳುತ್ತದೆ",
"delete_album": "ಆಲ್ಬಮ್ ಅಳಿಸಿ",
@@ -831,13 +721,10 @@
"delete_dialog_alert": "ಈ ಐಟಂಗಳನ್ನು ಇಮ್ಮಿಚ್ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದಿಂದ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ",
"delete_dialog_alert_local": "ಈ ಐಟಂಗಳನ್ನು ನಿಮ್ಮ ಸಾಧನದಿಂದ ಶಾಶ್ವತವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ಆದರೆ ಇಮ್ಮಿಚ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಇನ್ನೂ ಲಭ್ಯವಿರುತ್ತದೆ",
"delete_dialog_alert_local_non_backed_up": "ಕೆಲವು ಐಟಂಗಳನ್ನು ಇಮ್ಮಿಚ್‌ಗೆ ಬ್ಯಾಕಪ್ ಮಾಡಲಾಗಿಲ್ಲ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದಿಂದ ಶಾಶ್ವತವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ",
"delete_dialog_alert_remote": "ಈ ಐಟಂಗಳನ್ನು ಇಮ್ಮಿಚ್ ಸರ್ವರ್‌ನಿಂದ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ",
"delete_duplicates_confirmation": "ನೀವು ಈ ನಕಲುಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"delete_local_dialog_ok_backed_up_only": "ಬ್ಯಾಕಪ್ ಮಾಡಿರುವುದನ್ನು ಮಾತ್ರ ಅಳಿಸಿ",
"delete_tag_confirmation_prompt": "ನೀವು {tagName} ಟ್ಯಾಗ್ ಅನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"deletes_missing_assets": "ಡಿಸ್ಕ್‌ನಿಂದ ಕಾಣೆಯಾದ ಸ್ವತ್ತುಗಳನ್ನು ಅಳಿಸುತ್ತದೆ",
"description": "ವಿವರಣೆ",
"description_input_submit_error": "ವಿವರಣೆಯನ್ನು ನವೀಕರಿಸುವಲ್ಲಿ ದೋಷ, ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ ಲಾಗ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ",
"details": "ವಿವರಗಳು",
"direction": "ನಿರ್ದೇಶನ",
"disabled": "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
@@ -851,7 +738,6 @@
"download_include_embedded_motion_videos_description": "ಚಲನೆಯ ಫೋಟೋಗಳಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡಲಾದ ವೀಡಿಯೊಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಫೈಲ್ ಆಗಿ ಸೇರಿಸಿ",
"download_settings": "ಡೌನ್‌ಲೋಡ್",
"download_settings_description": "ಸ್ವತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ",
"download_sucess_android": "ಮಾಧ್ಯಮವನ್ನು DCIM/Immich ಗೆ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ",
"downloading": "ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ",
"drop_files_to_upload": "ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಫೈಲ್‌ಗಳನ್ನು ಎಲ್ಲಿಯಾದರೂ ಬಿಡಿ",
"duplicates": "ನಕಲುಗಳು",
@@ -860,11 +746,7 @@
"edit": "ತಿದ್ದು",
"edit_date_and_time": "ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಸಂಪಾದಿಸಿ",
"edit_date_and_time_action_prompt": "{count} ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಸಂಪಾದಿಸಲಾಗಿದೆ",
"edit_date_and_time_by_offset_interval": "ಹೊಸ ದಿನಾಂಕ ಶ್ರೇಣಿ: {from} - {to}",
"edit_description_prompt": "ದಯವಿಟ್ಟು ಹೊಸ ವಿವರಣೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ:",
"editor": "ಸಂಪಾದಕ",
"editor_close_without_save_prompt": "ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗುವುದಿಲ್ಲ",
"editor_confirm_reset_all_changes": "ನೀವು ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು ಮರುಹೊಂದಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"email": "ಇಮೇಲ್",
"empty_folder": "ಈ ಫೋಲ್ಡರ್ ಖಾಲಿಯಾಗಿದೆ",
"empty_trash_confirmation": "ನೀವು ಕಸವನ್ನು ಖಾಲಿ ಮಾಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಇದು ಇಮ್ಮಿಚ್‌ನಿಂದ ಕಸದಲ್ಲಿರುವ ಎಲ್ಲಾ ಸ್ವತ್ತುಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ತೆಗೆದುಹಾಕುತ್ತದೆ.\nನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ!",
@@ -873,7 +755,6 @@
"enabled": "ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
"enter_your_pin_code_subtitle": "ಲಾಕ್ ಮಾಡಿದ ಫೋಲ್ಡರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ನಿಮ್ಮ ಪಿನ್ ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ",
"error": "ದೋಷ",
"error_change_sort_album": "ಆಲ್ಬಮ್ ವಿಂಗಡಣಾ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸಲು ವಿಫಲವಾಗಿದೆ",
"error_delete_face": "ಸ್ವತ್ತಿನಿಂದ ಮುಖವನ್ನು ಅಳಿಸುವಾಗ ದೋಷ ಎದುರಾಗಿದೆ",
"error_tag_face_bounding_box": "ಮುಖವನ್ನು ಟ್ಯಾಗ್ ಮಾಡುವಲ್ಲಿ ದೋಷ - ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ",
"error_title": "ದೋಷ - ಏನೋ ತಪ್ಪಾಗಿದೆ",
@@ -980,8 +861,6 @@
"unable_to_upload_file": "ಫೈಲ್ ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"
},
"exif": "ಎಕ್ಸಿಫ್",
"experimental_settings_new_asset_list_title": "ಪ್ರಾಯೋಗಿಕ ಫೋಟೋ ಗ್ರಿಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ",
"experimental_settings_subtitle": "ನಿಮ್ಮ ಸ್ವಂತ ಅಪಾಯದಲ್ಲಿ ಬಳಸಿ!",
"expired": "ಅವಧಿ ಮೀರಿದೆ",
"explore": "ಪರಿಶೋಧಿಸು",
"explorer": "ಎಕ್ಸ್‌ಪ್ಲೋರರ್",
@@ -995,14 +874,11 @@
"favorite": "ನೆಚ್ಚಿನ",
"favorite_or_unfavorite_photo": "ನೆಚ್ಚಿನ ಅಥವಾ ಮೆಚ್ಚಿನದರಿಂದ ತೆಗೆದುಹಾಕಿದ ಫೋಟೋ",
"favorites": "ಮೆಚ್ಚಿನವುಗಳು",
"favorites_page_no_favorites": "ಯಾವುದೇ ನೆಚ್ಚಿನ ಸ್ವತ್ತುಗಳು ಕಂಡುಬಂದಿಲ್ಲ",
"features": "ವೈಶಿಷ್ಟ್ಯಗಳು",
"features_setting_description": "ಅಪ್ಲಿಕೇಶನ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಿ",
"file_name_or_extension": "ಫೈಲ್ ಹೆಸರು ಅಥವಾ ವಿಸ್ತರಣೆ",
"filename": "ಫೈಲ್ ಹೆಸರು",
"filetype": "ಫೈಲ್ ಪ್ರಕಾರ",
"filter_description": "ಗುರಿ ಸ್ವತ್ತುಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಷರತ್ತುಗಳು",
"find_them_fast": "ಹುಡುಕಾಟದ ಮೂಲಕ ಹೆಸರಿನಿಂದ ಅವುಗಳನ್ನು ವೇಗವಾಗಿ ಹುಡುಕಿ",
"folders": "ಫೋಲ್ಡರ್‌ಗಳು",
"folders_feature_description": "ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳಿಗಾಗಿ ಫೋಲ್ಡರ್ ವೀಕ್ಷಣೆಯನ್ನು ಬ್ರೌಸ್ ಮಾಡುವುದು",
"forward": "ಮುಂದೆ",
@@ -1012,24 +888,8 @@
"geolocation_instruction_location": "GPS ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಹೊಂದಿರುವ ಸ್ವತ್ತಿನ ಸ್ಥಳವನ್ನು ಬಳಸಲು ಅದರ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ, ಅಥವಾ ನಕ್ಷೆಯಿಂದ ನೇರವಾಗಿ ಸ್ಥಳವನ್ನು ಆಯ್ಕೆಮಾಡಿ",
"get_wifiname_error": "ವೈ-ಫೈ ಹೆಸರನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ನೀವು ಅಗತ್ಯ ಅನುಮತಿಗಳನ್ನು ನೀಡಿದ್ದೀರಿ ಮತ್ತು ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಗೊಂಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ",
"header_settings_field_validator_msg": "ಮೌಲ್ಯ ಖಾಲಿಯಾಗಿರಬಾರದು",
"home_page_add_to_album_conflicts": "{album} ಆಲ್ಬಮ್‌ಗೆ {added} ಸ್ವತ್ತುಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. {failed} ಸ್ವತ್ತುಗಳು ಈಗಾಗಲೇ ಆಲ್ಬಮ್‌ನಲ್ಲಿವೆ.",
"home_page_add_to_album_err_local": "ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಆಲ್ಬಮ್‌ಗಳಿಗೆ ಸೇರಿಸಲು ಇನ್ನೂ ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_add_to_album_success": "{album} ಆಲ್ಬಮ್‌ಗೆ {added} ಸ್ವತ್ತುಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.",
"home_page_album_err_partner": "ಆಲ್ಬಮ್‌ಗೆ ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಸೇರಿಸಲು ಇನ್ನೂ ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_archive_err_local": "ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಇನ್ನೂ ಆರ್ಕೈವ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_archive_err_partner": "ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಆರ್ಕೈವ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_delete_err_partner": "ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_delete_remote_err_local": "ಅಳಿಸು ರಿಮೋಟ್ ಆಯ್ಕೆಯಲ್ಲಿ ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳು, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_favorite_err_local": "ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಇನ್ನೂ ಮೆಚ್ಚಿನವು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_favorite_err_partner": "ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಇನ್ನೂ ಮೆಚ್ಚಿನವು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_first_time_notice": "ನೀವು ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮೊದಲ ಬಾರಿಗೆ ಬಳಸುತ್ತಿದ್ದರೆ, ದಯವಿಟ್ಟು ಬ್ಯಾಕಪ್ ಆಲ್ಬಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳಿ ಇದರಿಂದ ಟೈಮ್‌ಲೈನ್‌ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ತುಂಬಿಸಬಹುದು",
"home_page_locked_error_local": "ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಲಾಕ್ ಮಾಡಿದ ಫೋಲ್ಡರ್‌ಗೆ ಸರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_locked_error_partner": "ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಲಾಕ್ ಮಾಡಿದ ಫೋಲ್ಡರ್‌ಗೆ ಸರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_share_err_local": "ಲಿಂಕ್ ಮೂಲಕ ಸ್ಥಳೀಯ ಸ್ವತ್ತುಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"home_page_upload_err_limit": "ಒಮ್ಮೆಗೆ ಗರಿಷ್ಠ 30 ಸ್ವತ್ತುಗಳನ್ನು ಮಾತ್ರ ಅಪ್‌ಲೋಡ್ ಮಾಡಬಹುದು, ಬಿಟ್ಟುಬಿಡಬಹುದು",
"host": "ಹೋಸ್ಟ್",
"hour": "ಗಂಟೆ",
"ignore_icloud_photos_description": "ಐಕ್ಲೌಡ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಫೋಟೋಗಳನ್ನು ಇಮ್ಮಿಚ್ ಸರ್ವರ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ",
"image": "ಚಿತ್ರ",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} ಅನ್ನು {city}, {country} ನಲ್ಲಿ {person1}, {person2}, ಮತ್ತು {additionalCount, number} others ಜೊತೆಗೆ {date} ರಂದು ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ",
"include_shared_partner_assets": "ಹಂಚಿಕೊಂಡ ಪಾಲುದಾರ ಸ್ವತ್ತುಗಳನ್ನು ಸೇರಿಸಿ",
@@ -1039,7 +899,6 @@
"night_at_midnight": "ಪ್ರತಿ ರಾತ್ರಿ ಮಧ್ಯರಾತ್ರಿಯಲ್ಲಿ",
"night_at_twoam": "ಪ್ರತಿದಿನ ರಾತ್ರಿ 2 ಗಂಟೆಗೆ"
},
"ios_debug_info_no_sync_yet": "ಯಾವುದೇ ಹಿನ್ನೆಲೆ ಸಿಂಕ್ ಕೆಲಸ ಇನ್ನೂ ಚಾಲನೆಯಾಗಿಲ್ಲ",
"jobs": "ಉದ್ಯೋಗಗಳು",
"keep": "ಇರಿಸಿಕೊಳ್ಳಿ",
"keep_description": "ಸ್ಥಳಾವಕಾಶ ಮುಕ್ತಗೊಳಿಸುವಾಗ ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಏನು ಉಳಿಯುತ್ತದೆ ಎಂಬುದನ್ನು ಆರಿಸಿ.",
@@ -1068,7 +927,6 @@
"login": "ಲಾಗಿನ್",
"login_disabled": "ಲಾಗಿನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
"login_form_api_exception": "API ವಿನಾಯಿತಿ. ದಯವಿಟ್ಟು ಸರ್ವರ್ URL ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.",
"login_form_err_http": "ದಯವಿಟ್ಟು http:// ಅಥವಾ https:// ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ",
"login_form_failed_get_oauth_server_config": "OAuth ಬಳಸಿಕೊಂಡು ಲಾಗಿಂಗ್ ಮಾಡುವಾಗ ದೋಷ, ಸರ್ವರ್ URL ಪರಿಶೀಲಿಸಿ",
"login_form_failed_get_oauth_server_disable": "ಈ ಸರ್ವರ್‌ನಲ್ಲಿ OAuth ವೈಶಿಷ್ಟ್ಯ ಲಭ್ಯವಿಲ್ಲ",
"login_form_failed_login": "ನಿಮ್ಮನ್ನು ಲಾಗಿನ್ ಮಾಡುವಲ್ಲಿ ದೋಷ, ಸರ್ವರ್ URL, ಇಮೇಲ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ",
@@ -1084,7 +942,6 @@
"loop_videos_description": "ವಿವರ ವೀಕ್ಷಕದಲ್ಲಿ ವೀಡಿಯೊವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೂಪ್ ಮಾಡಲು ಸಕ್ರಿಯಗೊಳಿಸಿ.",
"main_branch_warning": "ನೀವು ಅಭಿವೃದ್ಧಿ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಿ; ಬಿಡುಗಡೆ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಲು ನಾವು ಬಲವಾಗಿ ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ!",
"maintenance_description": "ಇಮ್ಮಿಚ್ ಅನ್ನು <link>maintenance mode</link> ಕ್ಕೆ ಇರಿಸಲಾಗಿದೆ.",
"maintenance_end_error": "ನಿರ್ವಹಣಾ ಕ್ರಮವನ್ನು ಕೊನೆಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ.",
"maintenance_logged_in_as": "ಪ್ರಸ್ತುತ {user} ಆಗಿ ಲಾಗಿನ್ ಆಗಿದ್ದೀರಿ",
"maintenance_restore_library_confirm": "ಇದು ಸರಿಯಾಗಿ ಕಂಡುಬಂದರೆ, ಬ್ಯಾಕಪ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿ!",
"maintenance_restore_library_hint_missing_files": "ನೀವು ಪ್ರಮುಖ ಫೈಲ್‌ಗಳನ್ನು ಕಳೆದುಕೊಂಡಿರಬಹುದು",
@@ -1104,10 +961,8 @@
"map": "ನಕ್ಷೆ",
"map_cannot_get_user_location": "ಬಳಕೆದಾರರ ಸ್ಥಳವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ",
"map_location_service_disabled_content": "ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸ್ಥಳದಿಂದ ಸ್ವತ್ತುಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಸ್ಥಳ ಸೇವೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಅಗತ್ಯವಿದೆ. ನೀವು ಈಗ ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಬಯಸುವಿರಾ?",
"map_marker_for_images": "{city}, {country} ದಲ್ಲಿ ತೆಗೆದ ಚಿತ್ರಗಳಿಗಾಗಿ ನಕ್ಷೆ ಮಾರ್ಕರ್",
"map_marker_with_image": "ಚಿತ್ರದೊಂದಿಗೆ ನಕ್ಷೆ ಮಾರ್ಕರ್",
"map_no_location_permission_content": "ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸ್ಥಳದಿಂದ ಸ್ವತ್ತುಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಸ್ಥಳ ಅನುಮತಿ ಅಗತ್ಯವಿದೆ. ನೀವು ಈಗ ಅದನ್ನು ಅನುಮತಿಸಲು ಬಯಸುವಿರಾ?",
"map_zoom_to_see_photos": "ಫೋಟೋಗಳನ್ನು ನೋಡಲು ಝೂಮ್ ಔಟ್ ಮಾಡಿ",
"matches": "ಪಂದ್ಯಗಳು",
"memories": "ನೆನಪುಗಳು",
"memories_check_back_tomorrow": "ಹೆಚ್ಚಿನ ನೆನಪುಗಳಿಗಾಗಿ ನಾಳೆ ಮತ್ತೆ ಪರಿಶೀಲಿಸಿ",
@@ -1128,8 +983,6 @@
"move_off_locked_folder": "ಲಾಕ್ ಮಾಡಿದ ಫೋಲ್ಡರ್‌ನಿಂದ ಹೊರಗೆ ಸರಿಸಿ",
"move_to_lock_folder_action_prompt": "ಲಾಕ್ ಮಾಡಲಾದ ಫೋಲ್ಡರ್‌ಗೆ {count} ಸೇರಿಸಲಾಗಿದೆ",
"move_to_locked_folder_confirmation": "ಈ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಎಲ್ಲಾ ಆಲ್ಬಮ್‌ಗಳಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಲಾಕ್ ಮಾಡಲಾದ ಫೋಲ್ಡರ್‌ನಿಂದ ಮಾತ್ರ ವೀಕ್ಷಿಸಬಹುದಾಗಿದೆ",
"multiselect_grid_edit_date_time_err_read_only": "ಓದಲು ಮಾತ್ರ ಸ್ವತ್ತು(ಗಳ) ದಿನಾಂಕವನ್ನು ಸಂಪಾದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"multiselect_grid_edit_gps_err_read_only": "ಓದಲು ಮಾತ್ರ ಸ್ವತ್ತು(ಗಳ) ಸ್ಥಳವನ್ನು ಸಂಪಾದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತಿದೆ",
"name": "ಹೆಸರು",
"network_requirement_photos_upload": "ಫೋಟೋಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾವನ್ನು ಬಳಸಿ",
"network_requirement_videos_upload": "ವೀಡಿಯೊಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾವನ್ನು ಬಳಸಿ",
@@ -1183,7 +1036,6 @@
"partner_can_access_location": "ನಿಮ್ಮ ಫೋಟೋಗಳನ್ನು ತೆಗೆದ ಸ್ಥಳ",
"partner_page_empty_message": "ನಿಮ್ಮ ಫೋಟೋಗಳನ್ನು ಇನ್ನೂ ಯಾವುದೇ ಪಾಲುದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಂಡಿಲ್ಲ.",
"partner_page_no_more_users": "ಸೇರಿಸಲು ಇನ್ನು ಬಳಕೆದಾರರಿಲ್ಲ",
"partner_page_partner_add_failed": "ಪಾಲುದಾರರನ್ನು ಸೇರಿಸಲು ವಿಫಲವಾಗಿದೆ",
"partner_page_stop_sharing_content": "{partner} ಇನ್ನು ಮುಂದೆ ನಿಮ್ಮ ಫೋಟೋಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.",
"partners": "ಪಾಲುದಾರರು",
"password": "ಪಾಸ್ವರ್ಡ್",
@@ -1194,14 +1046,9 @@
"pending": "ಬಾಕಿ ಉಳಿದಿದೆ",
"people": "ಜನರು",
"people_feature_description": "ಜನರಿಂದ ಗುಂಪು ಮಾಡಲಾದ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಬ್ರೌಸ್ ಮಾಡಲಾಗುತ್ತಿದೆ",
"people_sidebar_description": "ಸೈಡ್‌ಬಾರ್‌ನಲ್ಲಿ ಜನರು ಎಂಬ ಲಿಂಕ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಿ",
"permanent_deletion_warning_setting_description": "ಸ್ವತ್ತುಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸುವಾಗ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಿ",
"permanently_delete_assets_prompt": "ನೀವು {count, plural, one {this asset?} other {these <b>#</b> assets?}} ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ? ಇದು {count, plural, one {it from its} other {them from their}} ಆಲ್ಬಮ್(ಗಳು) ಅನ್ನು ಸಹ ತೆಗೆದುಹಾಕುತ್ತದೆ.",
"permission_empty": "ನಿಮ್ಮ ಅನುಮತಿ ಖಾಲಿಯಾಗಿರಬಾರದು",
"permission_onboarding_permission_denied": "ಅನುಮತಿ ನಿರಾಕರಿಸಲಾಗಿದೆ. ಇಮ್ಮಿಚ್ ಬಳಸಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಫೋಟೋ ಮತ್ತು ವೀಡಿಯೊ ಅನುಮತಿಗಳನ್ನು ನೀಡಿ.",
"permission_onboarding_permission_granted": "ಅನುಮತಿ ನೀಡಲಾಗಿದೆ! ನೀವು ಸಿದ್ಧರಾಗಿದ್ದೀರಿ.",
"permission_onboarding_permission_limited": "ಅನುಮತಿ ಸೀಮಿತವಾಗಿದೆ. ಇಮ್ಮಿಚ್ ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಗ್ಯಾಲರಿ ಸಂಗ್ರಹವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಫೋಟೋ ಮತ್ತು ವೀಡಿಯೊ ಅನುಮತಿಗಳನ್ನು ನೀಡಿ.",
"permission_onboarding_request": "ನಿಮ್ಮ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಇಮ್ಮಿಚ್‌ಗೆ ಅನುಮತಿ ಬೇಕು.",
"person": "ವ್ಯಕ್ತಿ",
"photo_shared_all_users": "ನೀವು ನಿಮ್ಮ ಫೋಟೋಗಳನ್ನು ಎಲ್ಲಾ ಬಳಕೆದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಂಡಿರುವಂತೆ ಕಾಣುತ್ತಿದೆ ಅಥವಾ ಹಂಚಿಕೊಳ್ಳಲು ನಿಮ್ಮ ಬಳಿ ಯಾವುದೇ ಬಳಕೆದಾರರಿಲ್ಲ.",
"photos": "ಫೋಟೋಗಳು",
@@ -1219,7 +1066,6 @@
"previous": "ಹಿಂದಿನ",
"primary": "ಪ್ರಾಥಮಿಕ",
"privacy": "ಗೌಪ್ಯತೆ",
"profile_drawer_client_server_up_to_date": "ಕ್ಲೈಂಟ್ ಮತ್ತು ಸರ್ವರ್ ನವೀಕೃತವಾಗಿವೆ",
"profile_drawer_readonly_mode": "ಓದಲು-ಮಾತ್ರ ಮೋಡ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ನಿರ್ಗಮಿಸಲು ಬಳಕೆದಾರರ ಅವತಾರ್ ಐಕಾನ್ ಅನ್ನು ದೀರ್ಘಕಾಲ ಒತ್ತಿರಿ.",
"profile_image_of_user": "{user} ರ ಪ್ರೊಫೈಲ್ ಚಿತ್ರ",
"purchase_account_info": "ಬೆಂಬಲಿಗ",
@@ -1231,7 +1077,6 @@
"purchase_failed_activation": "ಸಕ್ರಿಯಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ! ಸರಿಯಾದ ಉತ್ಪನ್ನ ಕೀಲಿಗಾಗಿ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಮೇಲ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ!",
"purchase_individual_title": "ವೈಯಕ್ತಿಕ",
"purchase_input_suggestion": "ಉತ್ಪನ್ನ ಕೀಲಿ ಇದೆಯೇ? ಕೆಳಗೆ ಕೀಲಿಯನ್ನು ನಮೂದಿಸಿ",
"purchase_license_subtitle": "ಸೇವೆಯ ನಿರಂತರ ಅಭಿವೃದ್ಧಿಯನ್ನು ಬೆಂಬಲಿಸಲು ಇಮ್ಮಿಚ್ ಅನ್ನು ಖರೀದಿಸಿ",
"purchase_panel_info_1": "ಇಮ್ಮಿಚ್ ನಿರ್ಮಾಣವು ಸಾಕಷ್ಟು ಸಮಯ ಮತ್ತು ಶ್ರಮವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಅದನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಉತ್ತಮಗೊಳಿಸಲು ನಾವು ಪೂರ್ಣ ಸಮಯದ ಎಂಜಿನಿಯರ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ. ಓಪನ್-ಸೋರ್ಸ್ ಸಾಫ್ಟ್‌ವೇರ್ ಮತ್ತು ನೈತಿಕ ವ್ಯವಹಾರ ಅಭ್ಯಾಸಗಳು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಸುಸ್ಥಿರ ಆದಾಯದ ಮೂಲವಾಗುವುದು ಮತ್ತು ಶೋಷಣೆಯ ಕ್ಲೌಡ್ ಸೇವೆಗಳಿಗೆ ನಿಜವಾದ ಪರ್ಯಾಯಗಳೊಂದಿಗೆ ಗೌಪ್ಯತೆಯನ್ನು ಗೌರವಿಸುವ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುವುದು ನಮ್ಮ ಧ್ಯೇಯವಾಗಿದೆ.",
"purchase_panel_info_2": "ನಾವು ಪೇವಾಲ್‌ಗಳನ್ನು ಸೇರಿಸದಿರಲು ಬದ್ಧರಾಗಿರುವುದರಿಂದ, ಈ ಖರೀದಿಯು ಇಮ್ಮಿಚ್‌ನಲ್ಲಿ ನಿಮಗೆ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನೀಡುವುದಿಲ್ಲ. ಇಮ್ಮಿಚ್‌ನ ನಡೆಯುತ್ತಿರುವ ಅಭಿವೃದ್ಧಿಯನ್ನು ಬೆಂಬಲಿಸಲು ನಾವು ನಿಮ್ಮಂತಹ ಬಳಕೆದಾರರನ್ನು ಅವಲಂಬಿಸಿದ್ದೇವೆ.",
"purchase_remove_product_key_prompt": "ನೀವು ಉತ್ಪನ್ನ ಕೀಲಿಯನ್ನು ತೆಗೆದುಹಾಕಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
@@ -1246,7 +1091,6 @@
"reassing_hint": "ಆಯ್ದ ಸ್ವತ್ತುಗಳನ್ನು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವ್ಯಕ್ತಿಗೆ ನಿಯೋಜಿಸಿ",
"refresh": "ರಿಫ್ರೆಶ್",
"refreshed": "ರಿಫ್ರೆಶ್ ಮಾಡಲಾಗಿದೆ",
"refreshes_every_file": "ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮತ್ತು ಹೊಸ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಪುನಃ ಓದುತ್ತದೆ",
"remove": "ತೆಗೆದುಹಾಕಿ",
"remove_assets_album_confirmation": "ನೀವು ಆಲ್ಬಮ್‌ನಿಂದ {count, plural, one {# asset} other {# assets}} ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"remove_assets_shared_link_confirmation": "ಈ ಹಂಚಿಕೆಯ ಲಿಂಕ್‌ನಿಂದ {count, plural, one {# asset} other {# assets}} ಅನ್ನು ತೆಗೆದುಹಾಕಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
@@ -1257,12 +1101,8 @@
"remove_from_shared_link": "ಹಂಚಿಕೊಂಡ ಲಿಂಕ್‌ನಿಂದ ತೆಗೆದುಹಾಕಿ",
"remove_photo_from_memory": "ಈ ನೆನಪಿನಿಂದ ಫೋಟೋ ತೆಗೆದುಹಾಕಿ",
"removed_api_key": "ತೆಗೆದುಹಾಕಲಾದ API ಕೀ: {name}",
"removed_photo_from_memory": "ನೆನಪಿನಿಂದ ಫೋಟೋ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
"rename": "ಮರುಹೆಸರಿಸಿ",
"repair": "ದುರಸ್ತಿ",
"repair_no_results_message": "ಟ್ರ್ಯಾಕ್ ಮಾಡದ ಮತ್ತು ಕಾಣೆಯಾದ ಫೈಲ್‌ಗಳು ಇಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ",
"repository": "ರೆಪೊಸಿಟರಿ",
"require_user_to_change_password_on_first_login": "ಮೊದಲ ಲಾಗಿನ್‌ನಲ್ಲಿ ಬಳಕೆದಾರರು ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ",
"reset": "ಮರುಹೊಂದಿಸಿ",
"reset_pin_code_description": "ನಿಮ್ಮ ಪಿನ್ ಕೋಡ್ ಅನ್ನು ನೀವು ಮರೆತಿದ್ದರೆ, ಅದನ್ನು ಮರುಹೊಂದಿಸಲು ನೀವು ಸರ್ವರ್ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು",
"reset_pin_code_with_password": "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಪಿನ್ ಕೋಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಬಹುದು",
@@ -1282,11 +1122,8 @@
"search_for_existing_person": "ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವ್ಯಕ್ತಿಯನ್ನು ಹುಡುಕಿ",
"search_no_people_named": "\"{name}\" ಹೆಸರಿನ ಯಾವುದೇ ಜನರಿಲ್ಲ",
"search_no_result": "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬಂದಿಲ್ಲ, ಬೇರೆ ಹುಡುಕಾಟ ಪದ ಅಥವಾ ಸಂಯೋಜನೆಯನ್ನು ಪ್ರಯತ್ನಿಸಿ",
"search_page_no_objects": "ಯಾವುದೇ ವಸ್ತುಗಳ ಮಾಹಿತಿ ಲಭ್ಯವಿಲ್ಲ",
"search_page_no_places": "ಯಾವುದೇ ಸ್ಥಳಗಳ ಮಾಹಿತಿ ಲಭ್ಯವಿಲ್ಲ",
"search_page_search_photos_videos": "ನಿಮ್ಮ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಹುಡುಕಿ",
"select_person_to_tag": "ಟ್ಯಾಗ್ ಮಾಡಲು ವ್ಯಕ್ತಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ",
"select_user_for_sharing_page_err_album": "ಆಲ್ಬಮ್ ರಚಿಸಲು ವಿಫಲವಾಗಿದೆ",
"server_restarting_description": "ಈ ಪುಟವು ಕ್ಷಣಮಾತ್ರದಲ್ಲಿ ರಿಫ್ರೆಶ್ ಆಗುತ್ತದೆ.",
"set_as_album_cover": "ಆಲ್ಬಮ್ ಕವರ್ ಆಗಿ ಹೊಂದಿಸಿ",
"set_as_featured_photo": "ವೈಶಿಷ್ಟ್ಯಗೊಳಿಸಿದ ಫೋಟೋ ಎಂದು ಹೊಂದಿಸಿ",
@@ -1298,19 +1135,11 @@
"setting_image_viewer_original_subtitle": "ಮೂಲ ಪೂರ್ಣ-ರೆಸಲ್ಯೂಶನ್ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಕ್ರಿಯಗೊಳಿಸಿ (ದೊಡ್ಡದು!). ಡೇಟಾ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಸಾಧನದ ಸಂಗ್ರಹ ಎರಡರಲ್ಲೂ).",
"setting_image_viewer_preview_subtitle": "ಮಧ್ಯಮ ರೆಸಲ್ಯೂಶನ್ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಮೂಲವನ್ನು ನೇರವಾಗಿ ಲೋಡ್ ಮಾಡಲು ಅಥವಾ ಥಂಬ್‌ನೇಲ್ ಅನ್ನು ಮಾತ್ರ ಬಳಸಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ.",
"setting_languages_subtitle": "ಅಪ್ಲಿಕೇಶನ್‌ನ ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಿ",
"setting_notifications_notify_failures_grace_period": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ವೈಫಲ್ಯಗಳನ್ನು ಸೂಚಿಸಿ: {duration}",
"setting_notifications_single_progress_subtitle": "ಪ್ರತಿ ಸ್ವತ್ತಿನ ವಿವರವಾದ ಅಪ್‌ಲೋಡ್ ಪ್ರಗತಿ ಮಾಹಿತಿ",
"setting_notifications_single_progress_title": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ವಿವರ ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಿ",
"setting_notifications_subtitle": "ನಿಮ್ಮ ಅಧಿಸೂಚನೆ ಆದ್ಯತೆಗಳನ್ನು ಹೊಂದಿಸಿ",
"setting_notifications_total_progress_subtitle": "ಒಟ್ಟಾರೆ ಅಪ್‌ಲೋಡ್ ಪ್ರಗತಿ (ಮುಗಿದಿದೆ/ಒಟ್ಟು ಸ್ವತ್ತುಗಳು)",
"setting_notifications_total_progress_title": "ಹಿನ್ನೆಲೆ ಬ್ಯಾಕಪ್ ಒಟ್ಟು ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಿ",
"setting_video_viewer_auto_play_subtitle": "ವೀಡಿಯೊಗಳು ತೆರೆದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ಲೇ ಆಗಲು ಪ್ರಾರಂಭಿಸಿ",
"setting_video_viewer_original_video_subtitle": "ಸರ್ವರ್‌ನಿಂದ ವೀಡಿಯೊವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡುವಾಗ, ಟ್ರಾನ್ಸ್‌ಕೋಡ್ ಲಭ್ಯವಿದ್ದರೂ ಸಹ ಮೂಲವನ್ನು ಪ್ಲೇ ಮಾಡಿ. ಬಫರಿಂಗ್‌ಗೆ ಕಾರಣವಾಗಬಹುದು. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಲೆಕ್ಕಿಸದೆ ಸ್ಥಳೀಯವಾಗಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೊಗಳನ್ನು ಮೂಲ ಗುಣಮಟ್ಟದಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತದೆ.",
"settings_require_restart": "ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅನ್ವಯಿಸಲು ದಯವಿಟ್ಟು ಇಮ್ಮಿಚ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ",
"shared_album_activity_remove_content": "ನೀವು ಈ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಲು ಬಯಸುವಿರಾ?",
"shared_album_section_people_action_error": "ಆಲ್ಬಮ್ ತೊರೆಯುವಾಗ/ತೆಗೆದುಹಾಕುವಾಗ ದೋಷ ಕಂಡುಬಂದಿದೆ",
"shared_album_section_people_action_leave": "ಆಲ್ಬಮ್‌ನಿಂದ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ",
"shared_album_section_people_action_remove_user": "ಆಲ್ಬಮ್‌ನಿಂದ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ",
"shared_intent_upload_button_progress_text": "{current} / {total} ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ",
"shared_link_create_error": "ಹಂಚಿಕೊಂಡ ಲಿಂಕ್ ರಚಿಸುವಾಗ ದೋಷ ಕಂಡುಬಂದಿದೆ",
"shared_link_custom_url_description": "ಕಸ್ಟಮ್ URL ನೊಂದಿಗೆ ಈ ಹಂಚಿಕೊಂಡ ಲಿಂಕ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ",
@@ -1328,8 +1157,6 @@
"shared_link_password_description": "ಈ ಹಂಚಿಕೊಂಡ ಲಿಂಕ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ",
"shared_links_description": "ಲಿಂಕ್ ಮೂಲಕ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
"sharing_enter_password": "ಈ ಪುಟವನ್ನು ವೀಕ್ಷಿಸಲು ದಯವಿಟ್ಟು ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಿ.",
"sharing_page_description": "ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿರುವ ಜನರೊಂದಿಗೆ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಹಂಚಿದ ಆಲ್ಬಮ್‌ಗಳನ್ನು ರಚಿಸಿ.",
"sharing_sidebar_description": "ಸೈಡ್‌ಬಾರ್‌ನಲ್ಲಿ ಹಂಚಿಕೆಗೆ ಲಿಂಕ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಿ",
"shift_to_permanent_delete": "ಆಸ್ತಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ⇧ ಒತ್ತಿರಿ",
"show_and_hide_people": "ಜನರನ್ನು ತೋರಿಸಿ ಮತ್ತು ಮರೆಮಾಡಿ",
"show_in_timeline_setting_description": "ಈ ಬಳಕೆದಾರರ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ನಿಮ್ಮ ಟೈಮ್‌ಲೈನ್‌ನಲ್ಲಿ ತೋರಿಸಿ",
@@ -1340,14 +1167,12 @@
"sort_created": "ದಿನಾಂಕ ರಚಿಸಲಾಗಿದೆ",
"sort_items": "ವಸ್ತುಗಳ ಸಂಖ್ಯೆ",
"sort_modified": "ದಿನಾಂಕ ಮಾರ್ಪಡಿಸಲಾಗಿದೆ",
"sort_newest": "ಹೊಸ ಫೋಟೋ",
"sort_oldest": "ಹಳೆಯ ಫೋಟೋ",
"sort_people_by_similarity": "ಹೋಲಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ಜನರನ್ನು ವಿಂಗಡಿಸಿ",
"sort_recent": "ತೀರಾ ಇತ್ತೀಚಿನ ಫೋಟೋ",
"sort_title": "ಶೀರ್ಷಿಕೆ",
"stack": "ಸ್ಟಾಕ್",
"stack_duplicates": "ಸ್ಟಾಕ್ ನಕಲುಗಳು",
"stack_select_one_photo": "ಸ್ಟ್ಯಾಕ್‌ಗಾಗಿ ಒಂದು ಮುಖ್ಯ ಫೋಟೋವನ್ನು ಆಯ್ಕೆಮಾಡಿ",
"stack_selected_photos": "ಆಯ್ದ ಫೋಟೋಗಳನ್ನು ಜೋಡಿಸಿ",
"stacktrace": "ಸ್ಟಾಕ್ಟ್ರೇಸ್",
"start": "ಪ್ರಾರಂಭ",
@@ -1374,7 +1199,6 @@
"swap_merge_direction": "ಸ್ವಾಪ್ ವಿಲೀನ ನಿರ್ದೇಶನ",
"sync": "ಸಿಂಕ್",
"sync_albums": "ಆಲ್ಬಮ್ ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಿ",
"sync_albums_manual_subtitle": "ಅಪ್‌ಲೋಡ್ ಮಾಡಿದ ಎಲ್ಲಾ ವೀಡಿಯೊಗಳು ಮತ್ತು ಫೋಟೋಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿದ ಬ್ಯಾಕಪ್ ಆಲ್ಬಮ್‌ಗಳಿಗೆ ಸಿಂಕ್ ಮಾಡಿ",
"sync_local": "ಸ್ಥಳೀಯ ಸಿಂಕ್ ಮಾಡಿ",
"sync_remote": "ಸಿಂಕ್ ರಿಮೋಟ್",
"sync_status": "ಸಿಂಕ್ ಸ್ಥಿತಿ",
@@ -1383,7 +1207,6 @@
"tag": "ಟ್ಯಾಗ್ ಮಾಡಿ",
"tag_assets": "ಟ್ಯಾಗ್ ಸ್ವತ್ತುಗಳು",
"tag_feature_description": "ತಾರ್ಕಿಕ ಟ್ಯಾಗ್ ವಿಷಯಗಳ ಮೂಲಕ ಗುಂಪು ಮಾಡಲಾದ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಬ್ರೌಸ್ ಮಾಡುವುದು",
"tag_not_found_question": "ಟ್ಯಾಗ್ ಸಿಗುತ್ತಿಲ್ಲವೇ? <link>Create a new tag.</link>",
"tag_people": "ಟ್ಯಾಗ್ ಜನರು",
"tags": "ಟ್ಯಾಗ್ಗಳು",
"tap_to_run_job": "ಕೆಲಸವನ್ನು ಚಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ",
@@ -1396,15 +1219,10 @@
"theme_setting_asset_list_tiles_per_row_title": "ಪ್ರತಿ ಸಾಲಿನಲ್ಲಿರುವ ಸ್ವತ್ತುಗಳ ಸಂಖ್ಯೆ ({count})",
"theme_setting_colorful_interface_subtitle": "ಹಿನ್ನೆಲೆ ಮೇಲ್ಮೈಗಳಿಗೆ ಪ್ರಾಥಮಿಕ ಬಣ್ಣವನ್ನು ಅನ್ವಯಿಸಿ.",
"theme_setting_colorful_interface_title": "ವರ್ಣರಂಜಿತ ಇಂಟರ್ಫೇಸ್",
"theme_setting_image_viewer_quality_subtitle": "ವಿವರ ಚಿತ್ರ ವೀಕ್ಷಕರ ಗುಣಮಟ್ಟವನ್ನು ಹೊಂದಿಸಿ",
"theme_setting_image_viewer_quality_title": "ಚಿತ್ರ ವೀಕ್ಷಕರ ಗುಣಮಟ್ಟ",
"theme_setting_primary_color_subtitle": "ಪ್ರಾಥಮಿಕ ಕ್ರಿಯೆಗಳು ಮತ್ತು ಉಚ್ಚಾರಣೆಗಳಿಗೆ ಬಣ್ಣವನ್ನು ಆರಿಸಿ.",
"theme_setting_primary_color_title": "ಪ್ರಾಥಮಿಕ ಬಣ್ಣ",
"theme_setting_system_primary_color_title": "ಸಿಸ್ಟಮ್ ಬಣ್ಣವನ್ನು ಬಳಸಿ",
"theme_setting_system_theme_switch": "ಸ್ವಯಂಚಾಲಿತ (ಸಿಸ್ಟಂ ಸೆಟ್ಟಿಂಗ್ ಅನುಸರಿಸಿ)",
"theme_setting_theme_subtitle": "ಆ್ಯಪ್‌ನ ಥೀಮ್ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಆರಿಸಿ",
"theme_setting_three_stage_loading_subtitle": "ಮೂರು-ಹಂತದ ಲೋಡಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಬಹುದು ಆದರೆ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿನ ನೆಟ್‌ವರ್ಕ್ ಲೋಡ್‌ಗೆ ಕಾರಣವಾಗುತ್ತದೆ",
"theme_setting_three_stage_loading_title": "ಮೂರು ಹಂತದ ಲೋಡಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ",
"then": "ನಂತರ",
"they_will_be_merged_together": "ಅವುಗಳನ್ನು ಒಟ್ಟಿಗೆ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ",
"third_party_resources": "ಮೂರನೇ ಭಾಗದ ಸಂಪನ್ಮೂಲಗಳು",
@@ -1428,21 +1246,14 @@
"trash": "ಅನುಪಯುಕ್ತ",
"trash_all": "ಎಲ್ಲಾ ಅನುಪಯುಕ್ತ",
"trash_delete_asset": "ಅನುಪಯುಕ್ತ / ಅಳಿಸು ಆಸ್ತಿ",
"trash_emptied": "ಖಾಲಿ ಕಸ",
"trash_no_results_message": "ಅನುಪಯುಕ್ತಕ್ಕೆ ವರ್ಗಾಯಿಸಲಾದ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು ಇಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ.",
"trash_page_delete_all": "ಎಲ್ಲವನ್ನೂ ಅಳಿಸಿ",
"trash_page_empty_trash_dialog_content": "ನಿಮ್ಮ ಅನುಪಯುಕ್ತ ಸ್ವತ್ತುಗಳನ್ನು ಖಾಲಿ ಮಾಡಲು ನೀವು ಬಯಸುವಿರಾ? ಈ ಐಟಂಗಳನ್ನು ಇಮ್ಮಿಚ್‌ನಿಂದ ಶಾಶ್ವತವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ",
"trash_page_info": "ಅನುಪಯುಕ್ತಕ್ಕೆ ಸೇರಿಸಿದ ಐಟಂಗಳನ್ನು {days} ದಿನಗಳ ನಂತರ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ",
"trash_page_no_assets": "ಕಸದ ಆಸ್ತಿ ಇಲ್ಲ",
"trash_page_restore_all": "ಎಲ್ಲವನ್ನು ಮರುಸ್ಥಾಪಿಸಿ",
"trash_page_select_assets_btn": "ಸ್ವತ್ತುಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ",
"trigger": "ಟ್ರಿಗ್ಗರ್",
"trigger_asset_uploaded": "ಆಸ್ತಿ ಅಪ್ ಲೋಡ್ ಮಾಡಲಾಗಿದೆ",
"trigger_asset_uploaded_description": "ಹೊಸ ಸ್ವತ್ತನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿದಾಗ ಟ್ರಿಗರ್ ಮಾಡಲಾಗುತ್ತದೆ",
"trigger_description": "ಕೆಲಸದ ಹರಿವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಒಂದು ಘಟನೆ",
"trigger_person_recognized": "ವ್ಯಕ್ತಿ ಗುರುತಿಸಲಾಗಿದೆ",
"trigger_person_recognized_description": "ಒಬ್ಬ ವ್ಯಕ್ತಿಯನ್ನು ಪತ್ತೆಹಚ್ಚಿದಾಗ ಪ್ರಚೋದಿಸಲಾಗುತ್ತದೆ",
"trigger_type": "ಟ್ರಿಗ್ಗರ್ ಪ್ರಕಾರ",
"troubleshoot": "ತೊಂದರೆ",
"type": "ಟೈಪ್ ಮಾಡಿ",
"unable_to_change_pin_code": "ಪಿನ್ ಕೋಡ್ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ",
@@ -1468,7 +1279,6 @@
"unsupported_field_type": "ಬೆಂಬಲಿಸದ ಕ್ಷೇತ್ರ ಪ್ರಕಾರ",
"unsupported_file_type": "{file} ಫೈಲ್ ಪ್ರಕಾರವು ಬೆಂಬಲಿತವಾಗಿಲ್ಲದ {type} ಕಾರಣ ಅದನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.",
"untagged": "ಅನ್ಟಾಗ್ಡ್",
"untitled_workflow": "ಶೀರ್ಷಿಕೆರಹಿತ ಕೆಲಸದ ಹರಿವು",
"up_next": "ಮುಂದಿನ ಅಪ್",
"update_location_action_prompt": "{count} ಆಯ್ಕೆಮಾಡಿದ ಸ್ವತ್ತುಗಳ ಸ್ಥಳವನ್ನು ಇದರೊಂದಿಗೆ ನವೀಕರಿಸಿ:",
"updated_at": "ನವೀಕರಿಸಲಾಗಿದೆ",
@@ -1476,8 +1286,6 @@
"upload": "ಅಪ್ ಲೋಡ್ ಮಾಡಿ",
"upload_concurrency": "ಅಪ್ ಲೋಡ್ ಕನ್ಕ್ಯುರೆನ್ಸಿ",
"upload_details": "ಅಪ್ ಲೋಡ್ ವಿವರಗಳು",
"upload_dialog_info": "ಆಯ್ಕೆಮಾಡಿದ ಸ್ವತ್ತು(ಗಳನ್ನು) ಸರ್ವರ್‌ಗೆ ಬ್ಯಾಕಪ್ ಮಾಡಲು ನೀವು ಬಯಸುವಿರಾ?",
"upload_dialog_title": "ಅಪ್ಲೋಡ್ ಆಸ್ತಿ",
"upload_errors": "{count, plural, one {# ದೋಷ} other {# ದೋಷಗಳು}} ನೊಂದಿಗೆ ಅಪ್‌ಲೋಡ್ ಪೂರ್ಣಗೊಂಡಿದೆ, ಹೊಸ ಅಪ್‌ಲೋಡ್ ಸ್ವತ್ತುಗಳನ್ನು ನೋಡಲು ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಿ.",
"upload_finished": "ಅಪ್ಲೋಡ್ ಮುಗಿದಿದೆ",
"upload_status_duplicates": "ನಕಲು",
@@ -1509,7 +1317,6 @@
"utilities": "ಉಪಯುಕ್ತತೆಗಳು",
"validate": "ಮೌಲ್ಯೀಕರಿಸಿ",
"validate_endpoint_error": "ದಯವಿಟ್ಟು ಮಾನ್ಯವಾದ URL ಅನ್ನು ನಮೂದಿಸಿ",
"validation_error": "ಕ್ರಮಬದ್ಧ ದೋಷ",
"variables": "ಅಸ್ಥಿರಗಳು",
"version": "ಆವೃತ್ತಿ",
"version_announcement_closing": "ನಿಮ್ಮ ಸ್ನೇಹಿತ, ಅಲೆಕ್ಸ್",
@@ -1520,7 +1327,6 @@
"video_hover_setting": "ಹೋವರ್‌ನಲ್ಲಿ ವೀಡಿಯೊ ಥಂಬ್‌ನೇಲ್ ಪ್ಲೇ ಮಾಡಿ",
"video_hover_setting_description": "ಮೌಸ್ ಐಟಂ ಮೇಲೆ ಸುಳಿದಾಡುತ್ತಿರುವಾಗ ವೀಡಿಯೊ ಥಂಬ್‌ನೇಲ್ ಪ್ಲೇ ಮಾಡಿ. ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದರೂ ಸಹ, ಪ್ಲೇ ಐಕಾನ್ ಮೇಲೆ ಸುಳಿದಾಡುವ ಮೂಲಕ ಪ್ಲೇಬ್ಯಾಕ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.",
"videos": "ವೀಡಿಯೊಗಳು",
"videos_only": "ವೀಡಿಯೊಗಳು ಮಾತ್ರ",
"view": "ವೀಕ್ಷಿಸಿ",
"view_album": "ಆಲ್ಬಮ್ ವೀಕ್ಷಿಸಿ",
"view_all": "ಎಲ್ಲವನ್ನೂ ವೀಕ್ಷಿಸಿ",
@@ -1529,20 +1335,15 @@
"view_details": "ವಿವರಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
"view_in_timeline": "ಟೈಮ್ ಲೈನ್ ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ",
"view_link": "ಲಿಂಕ್ ವೀಕ್ಷಿಸಿ",
"view_links": "ಲಿಂಕ್ ಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
"view_name": "ವೀಕ್ಷಿಸಿ",
"view_next_asset": "ಮುಂದಿನ ಆಸ್ತಿಯನ್ನು ವೀಕ್ಷಿಸಿ",
"view_previous_asset": "ಹಿಂದಿನ ಆಸ್ತಿಯನ್ನು ವೀಕ್ಷಿಸಿ",
"view_qr_code": "ಕ್ಯೂಆರ್ ಕೋಡ್ ವೀಕ್ಷಿಸಿ",
"view_similar_photos": "ಇದೇ ರೀತಿಯ ಫೋಟೋಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
"view_stack": "ಸ್ಟಾಕ್ ವೀಕ್ಷಿಸಿ",
"view_user": "ಬಳಕೆದಾರರನ್ನು ವೀಕ್ಷಿಸಿ",
"viewer_remove_from_stack": "ಸ್ಟಾಕ್ನಿಂದ ತೆಗೆದುಹಾಕಿ",
"viewer_stack_use_as_main_asset": "ಮುಖ್ಯ ಆಸ್ತಿಯಾಗಿ ಬಳಸಿ",
"viewer_unstack": "ಅನ್-ಸ್ಟಾಕ್",
"visibility": "ಗೋಚರತೆ",
"visual": "ವಿಷುಯಲ್",
"visual_builder": "ವಿಷುಯಲ್ ಬಿಲ್ಡರ್",
"waiting": "ಕಾಯಲಾಗುತ್ತಿದೆ",
"warning": "ಎಚ್ಚರಿಕೆ",
"week": "ವಾರ",
@@ -1560,7 +1361,6 @@
"workflow_navigation_prompt": "ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸದೆಯೇ ನೀವು ಹೊರಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
"workflow_summary": "ಕೆಲಸದ ಹರಿವಿನ ಸಾರಾಂಶ",
"workflow_update_success": "ಕೆಲಸದ ಹರಿವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ",
"workflow_updated": "ಕೆಲಸದ ಹರಿವನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ",
"workflows": "ಕೆಲಸದ ಹರಿವುಗಳು",
"workflows_help_text": "ಟ್ರಿಗ್ಗರ್‌ಗಳು ಮತ್ತು ಫಿಲ್ಟರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಮ್ಮ ಸ್ವತ್ತುಗಳ ಮೇಲಿನ ಕ್ರಿಯೆಗಳನ್ನು ಕೆಲಸದ ಹರಿವುಗಳು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುತ್ತವೆ",
"wrong_pin_code": "ತಪ್ಪಾದ ಪಿನ್ ಕೋಡ್",
@@ -1569,6 +1369,5 @@
"you_dont_have_any_shared_links": "ನೀವು ಯಾವುದೇ ಹಂಚಿಕೊಂಡ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ",
"your_wifi_name": "ನಿಮ್ಮ ವೈ-ಫೈ ಹೆಸರು",
"zero_to_clear_rating": "ಆಸ್ತಿ ರೇಟಿಂಗ್ ಅನ್ನು ತೆರವುಗೊಳಿಸಲು 0 ಒತ್ತಿರಿ",
"zoom_image": "ಜೂಮ್ ಇಮೇಜ್",
"zoom_to_bounds": "ಮಡಿಕಲು"
"zoom_image": "ಜೂಮ್ ಇಮೇಜ್"
}
+145 -329
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -0,0 +1 @@
{}
+140 -326
View File
File diff suppressed because it is too large Load Diff

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