Author SHA1 Message Date
Codex 916718b558 fix(web): normalize maintenance backup test formatting 2026-10-31 07:55:35 +03:00
Codex 8a5ef4c96e Prepare local 3.4.0 web and Android release 2026-10-31 07:42:26 +03:00
Santo ShakilandCodex a3a52a43ca fix(mobile): show 10-bit heic and avif originals on ios (#32821)
(cherry picked from commit ca25e8becc4bfb18d63ca7920d26a984eae0e16f)
2026-10-31 07:23:57 +03:00
Jason RasmussenandCodex e15bdf9af3 fix(ci): release notes script (#32827)
(cherry picked from commit f47b02f91d6d55e0b0281609c37e6b1676626115)
2026-10-31 07:23:57 +03:00
Zack PollardandCodex b3fe177869 feat: futo backups 1.12.1 with restic's parallel scan (#32830)
(cherry picked from commit ca99e909199cfcec87a6e5b613a94bde23847249)
2026-10-31 07:23:57 +03:00
Zack PollardandCodex f5f154f2d8 fix(server): single library exclusion matcher (#32081)
(cherry picked from commit c3dee6f98b7a231adc3d0716a287c4b47bc69d3e)
2026-10-31 07:23:13 +03:00
Zack PollardandCodex abfb6c0a0e fix(server): keep user motion files on embedded motion replace (#32079)
(cherry picked from commit ddb799e0a44d112ecacc4867780f31bb8f71dc4f)
2026-10-31 07:22:45 +03:00
Zack PollardandCodex 91e416b104 fix(server): live photo match library (#32080)
(cherry picked from commit 05658ecba8679f54c4b95deeec3940b54ab0ecf7)
2026-10-31 07:22:45 +03:00
Zack PollardandCodex 92cf23b642 fix(server): compress database backups on 75% of the cores, up to 32 (#32823)
(cherry picked from commit 02c0d4d392217b02b670afb0b4ce9941330120ec)
2026-10-31 07:22:45 +03:00
YarosandCodex e708a80474 fix(mobile): don't block startup when offline (#32652)
* fix(mobile): don't block startup when offline

* chore: implement suggestions

---------

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit 32b137ab3713545324873f552adb51b9ef2aecde)
2026-10-31 07:22:45 +03:00
arno0392andCodex 276d5620fd fix(server): convert to nv12 before hwupload for VAAPI with software decoding (#32474)
* fix(server): convert to nv12 before hwupload for VAAPI with software decoding

* test(server): cover nv12 conversion for VAAPI sw decode

* output nv12 directly

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
(cherry picked from commit 4bdc4480b2771a5a0dfed26e1149d680f6c204d9)
2026-10-31 07:22:45 +03:00
Jason RasmussenandCodex 11900d5a8c chore: add CLAUDE.md (#32801)
* chore: add CLAUDE.md

* chore: pr feedback

* chore: contributing guideline rules

* chore: pr feedback

(cherry picked from commit fc30140e6ec313c94405e7ca4fbab8096dc1c6c7)
2026-10-31 07:22:45 +03:00
immich-push-o-matic[bot]andCodex 5dfa7214df chore: version v3.4.0-rc.0
(cherry picked from commit 81778c8c4a9e015511af21eada4bbf829296580d)
2026-10-31 07:22:44 +03:00
Weblate (bot)andCodex 6808ed3239 chore(web): update translations (#32256)
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/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/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/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/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/nb/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/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/sv/
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/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich

Co-authored-by: Adam Havránek <helak@users.noreply.hosted.weblate.org>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@users.noreply.hosted.weblate.org>
Co-authored-by: Ali Najafi <alinajafi321@users.noreply.hosted.weblate.org>
Co-authored-by: Andi Chandler <andibing@users.noreply.hosted.weblate.org>
Co-authored-by: Artem Grauberger <artart241@users.noreply.hosted.weblate.org>
Co-authored-by: Azharul Haque <drhaque@users.noreply.hosted.weblate.org>
Co-authored-by: Benedict Leuchtenberger <beyney@users.noreply.hosted.weblate.org>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: DevServs <devservs@users.noreply.hosted.weblate.org>
Co-authored-by: Diego Nunnari <danunnari@gmail.com>
Co-authored-by: Donatas I <dilidonas@users.noreply.hosted.weblate.org>
Co-authored-by: Dragos Miron <dragosmr@gmail.com>
Co-authored-by: Eduard Ereza Martínez <ereza@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Geisler Dias <geisler@users.noreply.hosted.weblate.org>
Co-authored-by: Gideon Wentink <gjwentink@users.noreply.hosted.weblate.org>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: HackingAll <hackingallyt@users.noreply.hosted.weblate.org>
Co-authored-by: HaikerMaiker <haikermaiker@users.noreply.hosted.weblate.org>
Co-authored-by: Hans Cats <hanscats@gmail.com>
Co-authored-by: Hans Cats <hanscats@users.noreply.hosted.weblate.org>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Hosted Weblate user 165391 <neo0732@users.noreply.hosted.weblate.org>
Co-authored-by: Hurricane_32 <hurricane_32@users.noreply.hosted.weblate.org>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Idan <idan062@gmail.com>
Co-authored-by: Idan <idanlights@users.noreply.hosted.weblate.org>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@users.noreply.hosted.weblate.org>
Co-authored-by: Jani Buni <alejandrolage@outlook.com>
Co-authored-by: Javier Villanueva García <jajajavi2203@users.noreply.hosted.weblate.org>
Co-authored-by: Jean Dumoulin <dumoulin.jea@users.noreply.hosted.weblate.org>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Kisnov <gabrielmarfil0@gmail.com>
Co-authored-by: Kisnov <kisnov@users.noreply.hosted.weblate.org>
Co-authored-by: Kurt Inge Smådal <kurtinge@users.noreply.hosted.weblate.org>
Co-authored-by: Lars Winkelmann <lars.winkelmann@users.noreply.hosted.weblate.org>
Co-authored-by: Lightning_A <lightningaa@users.noreply.hosted.weblate.org>
Co-authored-by: Luis Fernando Illapa <bymoxb@users.noreply.hosted.weblate.org>
Co-authored-by: Marty Etoolie <elioyart@users.noreply.hosted.weblate.org>
Co-authored-by: Matjaž T. <blaze666@users.noreply.hosted.weblate.org>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Mees Frensel <meesfrensel@users.noreply.hosted.weblate.org>
Co-authored-by: Mārtiņš Bruņenieks <papuass@users.noreply.hosted.weblate.org>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nagy Krisztián <nkgy17@users.noreply.hosted.weblate.org>
Co-authored-by: Nicola Bortoletto <translate@nicolabortoletto.com>
Co-authored-by: Nimrod Milo <nimrod@honeybook.com>
Co-authored-by: Nitai <nitai9h@users.noreply.hosted.weblate.org>
Co-authored-by: Noé Brunner <nobrunner@hotmail.com>
Co-authored-by: Olaf Nielsen <solluh@users.noreply.hosted.weblate.org>
Co-authored-by: Oğuz Ersen <ersen@users.noreply.hosted.weblate.org>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: PPNplus <ppnplus@users.noreply.hosted.weblate.org>
Co-authored-by: PanSketo <pansketo@users.noreply.hosted.weblate.org>
Co-authored-by: Para <ahh-produktivitet@tutanota.com>
Co-authored-by: Pranav Sharma <pranavsharma-io@users.noreply.hosted.weblate.org>
Co-authored-by: Ricky991108 <ricky991108@users.noreply.hosted.weblate.org>
Co-authored-by: Setynus <setynus@users.noreply.hosted.weblate.org>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Stefano Sisti <sisti86@users.noreply.hosted.weblate.org>
Co-authored-by: Suu <suu@users.noreply.hosted.weblate.org>
Co-authored-by: Sylvain Pichon <sp_@users.noreply.hosted.weblate.org>
Co-authored-by: Tijs-B <tijs-b@users.noreply.hosted.weblate.org>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: VeryUsual <72707293+VeryUsual@users.noreply.github.com>
Co-authored-by: Yoshi <yoshi@users.noreply.hosted.weblate.org>
Co-authored-by: Yuta Tu <yuta_tu@hotmail.com>
Co-authored-by: abergui <abergui@users.noreply.hosted.weblate.org>
Co-authored-by: asdwak <liborsenar1@users.noreply.hosted.weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin1ddc447d824349b2@users.noreply.hosted.weblate.org>
Co-authored-by: elron27 <elron27@users.noreply.hosted.weblate.org>
Co-authored-by: eyrewiut <eyrewiut@users.noreply.hosted.weblate.org>
Co-authored-by: granary17 <granary17@users.noreply.hosted.weblate.org>
Co-authored-by: jstmrby <jstmrby@users.noreply.hosted.weblate.org>
Co-authored-by: jutn-dev <jutn-dev@users.noreply.hosted.weblate.org>
Co-authored-by: madsULF <mads@ulf.dk>
Co-authored-by: nut491 <nut491@users.noreply.hosted.weblate.org>
Co-authored-by: omegadl2 <omegadl@users.noreply.hosted.weblate.org>
Co-authored-by: prabakaran k <prabakaranstk@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: waclaw66 <waclaw66@users.noreply.hosted.weblate.org>
(cherry picked from commit 2c3fc559ef01036ce012028a19a3729e6bb8f5d7)
2026-10-31 07:22:08 +03:00
Paul MaklesandCodex 925aaed54c feat: backups (#32268)
Signed-off-by: izzy <me@insrt.uk>
Co-authored-by: Zack Pollard <zack@futo.org>
(cherry picked from commit 177b57b689be293bad96b8092e473dc03e068e9c)
2026-10-31 07:21:01 +03:00
Codex 132af2fc74 Prepare local14 web and Android release
Build Mobile / pre-job (push) Canceled after 0s
CLI Build / CLI Publish (push) Canceled after 0s
CodeQL / Analyze (javascript) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
Docker / pre-job (push) Canceled after 0s
Docs build / pre-job (push) Canceled after 0s
Migration Order / Verify migration ORDER (push) Canceled after 0s
Static Code Analysis / pre-job (push) Canceled after 0s
Test / pre-job (push) Canceled after 0s
Test / ShellCheck (push) Canceled after 0s
Test / OpenAPI Clients (push) Canceled after 0s
Test / SQL Schema Checks (push) Canceled after 0s
Build Mobile / Build and sign Android (push) Canceled after 0s
Build Mobile / Build and sign iOS (push) Canceled after 0s
CLI Build / Docker (push) Canceled after 0s
Docker / Re-Tag ML (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Re-Tag ML (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Re-Tag ML (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Re-Tag ML (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Re-Tag ML (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Re-Tag ML (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Re-Tag Server (push) Canceled after 0s
Docker / Build and Push ML (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Build and Push ML (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Build and Push ML (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Build and Push ML (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Build and Push ML (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Build and Push ML (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Build and Push Server (push) Canceled after 0s
Docker / Mirror to Docker Hub (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Mirror to Docker Hub (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Mirror to Docker Hub (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Mirror to Docker Hub (immich-server) (push) Canceled after 0s
Docker / Mirror to Docker Hub (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Mirror to Docker Hub (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Mirror to Docker Hub (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Docker Build & Push Server Success (push) Canceled after 0s
Docker / Docker Build & Push ML Success (push) Canceled after 0s
Docs build / Docs Build (push) Canceled after 0s
Static Code Analysis / Run Dart Code Analysis (push) Canceled after 0s
Test / Scripts unit tests (push) Canceled after 0s
Test / Test & Lint Server (push) Canceled after 0s
Test / Unit Test CLI (push) Canceled after 0s
Test / Unit Test CLI (Windows) (push) Canceled after 0s
Test / Lint Web (push) Canceled after 0s
Test / Test Web (push) Canceled after 0s
Test / Test i18n (push) Canceled after 0s
Test / End-to-End Lint (push) Canceled after 0s
Test / Medium Tests (Server) (push) Canceled after 0s
Test / End-to-End Tests (Server & CLI) (ubuntu-24.04-arm) (push) Canceled after 0s
Test / End-to-End Tests (Server & CLI) (ubuntu-latest) (push) Canceled after 0s
Test / End-to-End Tests (Web) (ubuntu-24.04-arm) (push) Canceled after 0s
Test / End-to-End Tests (Web) (ubuntu-latest) (push) Canceled after 0s
Test / End-to-End Tests Success (push) Canceled after 0s
Test / Unit Test Mobile (push) Canceled after 0s
Test / Unit Test ML (push) Canceled after 0s
Test / .github Files Formatting (push) Canceled after 0s
2026-10-29 20:44:43 +03:00
Zack PollardandCodex 9e5bdda89c chore(deps): update base-image to v202610291416 (#32810)
(cherry picked from commit a0c5b32fb8bfd3c3660e3a5a1ee038d3997bdd5b)
2026-10-29 20:43:01 +03:00
Zack PollardandCodex 79ea67f6be feat(server): compress database backups with pigz when it is installed (#32806)
(cherry picked from commit 97af09ca3cbd7f08ea033f176e777c9a9de8fdb5)
2026-10-29 20:43:01 +03:00
BaneinaandCodex 79b175465e fix(server): normalize bounding boxes when matching detected faces to existing faces (#32486)
(cherry picked from commit 5583cd7857a414f10039a9fb5bf03867bd4390c8)
2026-10-29 20:43:01 +03:00
Bautrell12andCodex c76bd08f73 feat(web): enable the shortcut "f" to favorite/unfavorite in multiselection mode (#31411)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit aeee9be333f4faac877b99cacd355329a5001c25)
2026-10-29 20:43:01 +03:00
Daniel DietzlerandCodex f2e05e9d98 chore: migrate oauth claim validation to zod (#32373)
(cherry picked from commit 0808f24a37cf376a509f1b4046cd52fd2d72b20d)
2026-10-29 20:43:01 +03:00
DawidKrynskiandCodex c8a957a116 fix(mobile): use context search once server features are loaded (#31800)
Co-authored-by: Dawid Krynski <188586034+DawidKrynski@users.noreply.github.com>
Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit be8e42526700d9ec5e72061e33f5039d50e40bae)
2026-10-29 20:43:01 +03:00
Ethan FerrierandCodex f7697264ed fix(mobile): ocr delete by asset (#32611)
(cherry picked from commit 56ed326acda2220fc7e3b21b17b3c8d24daf99cc)
2026-10-29 20:43:01 +03:00
Jason RasmussenandCodex 648dea2072 chore: remove isar reference (#32800)
(cherry picked from commit 323e750eb50ee0728110c8a1c5902c63cbda5850)
2026-10-29 20:42:12 +03:00
renovate[bot]andCodex 895b755f53 chore(deps): update base-image to v202610271109 (#32799)
(cherry picked from commit a56303f393ebb3a16f191a6f9a442d15285398cb)
2026-10-29 20:42:12 +03:00
renovate[bot]andCodex 568a9d977e chore(deps): update dependency @immich/ui to v0.91.1 (#32798)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit d5918c00420601f1ec97e6d67425c81958b3eb80)
2026-10-29 20:42:12 +03:00
Brent SaltzmanandCodex 3c383e46d1 fix: avoid duplicate manufacturer in camera name (#32657)
* fix(web,mobile): avoid duplicate manufacturer in camera name

Some cameras (e.g. Canon) already include the manufacturer in the EXIF
model, which made the details view show "Canon Canon EOS R6m2". Only
prepend the make when the model does not already start with it.

* refactor(web,mobile): address review feedback on camera name helper

- Use toLowerCase instead of toLocaleLowerCase for the comparison
- Hoist the whitespace regex to a static in the Dart helper
- Match any word of the make, so "EASTMAN KODAK COMPANY" with
  "KODAK EASYSHARE C875" is deduplicated too
- Compute the camera name once in DetailPanel

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit cb2ea1e308d8a85f2f340f50b646f161d3528670)
2026-10-29 20:41:02 +03:00
xuanandCodex 477fcc2338 docs(i18n): remove the deleted star-history chart from the remaining 16 translated READMEs (#32549)
(cherry picked from commit d31befb8514fe2f0ade360b6477abb90a940fd73)
2026-10-29 20:41:02 +03:00
renovate[bot]andCodex ff52f491fb chore(deps): update dependency onnxruntime to v1.31.0 (#32582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 257090aaaedf0d7dcff9e2295f55524f786dd9ae)
2026-10-29 20:41:02 +03:00
Valentin AgachiandCodex c3933169de feat(server): add OCR extraction workflow filter (#32464)
feat(server): add OCR workflow filter

(cherry picked from commit 2e0eb35e93dcf8468398d7015daa5ab231c7dd9c)
2026-10-29 20:41:01 +03:00
Codex 2c1f321627 Align local web integrations with updated lint rules and Cast types 2026-10-28 21:00:29 +03:00
Codex e8c1fd297d Prepare local13 release and align dependency lockfile 2026-10-28 20:46:38 +03:00
bo0tzzandCodex 8e3e3a48ae perf(server): only serialize exif for returned search rows (#32620)
(cherry picked from commit e51de38c40a29fd5eb1347cd991bbbafccfe62c6)
2026-10-28 20:41:41 +03:00
austinmdillowandCodex dc5553b239 feat: workflow filter by missing EXIF property (#32713)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit a1a80cb1c416d3a480963a78d7b9df329d867bf6)
2026-10-28 20:41:41 +03:00
renovate[bot]andCodex 32e02a05d2 chore(deps): update terraform cloudflare to v5 (#32794)
(cherry picked from commit d8aaa950099f6687a8f6861f63466242a748ac1b)
2026-10-28 20:41:41 +03:00
shenlongandCodex c581bce715 fix: include partner shared assets for people even without showInTimeline (#32675)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
(cherry picked from commit 21ed7454836073a646273c7475b347e043439a90)
2026-10-28 20:41:41 +03:00
Daniel DietzlerandCodex dd23264385 chore: deploy docs when terraform changes (#32795)
(cherry picked from commit 4ea9c1f7c520f1e1c6b6f22968abdb7f9b4aa29f)
2026-10-28 20:41:41 +03:00
Jason RasmussenandCodex 6dbe72b6a1 fix: gc time for long-lived queries (#32793)
(cherry picked from commit 079568691580605e92c5d3c3c9037cfbd657f374)
2026-10-28 20:41:41 +03:00
Daniel DietzlerandCodex 72f96701f0 feat: cluster group admin permission for regenerate people (#32787)
(cherry picked from commit 9f273a604d5bdbd9583758c3a79d2fc0141c7a77)
2026-10-28 20:41:41 +03:00
Jason RasmussenandCodex b4ae7f0dcf feat: passkey feature level (#32791)
(cherry picked from commit f5d33ff6618510917fb9f7bce705ec9583a207fb)
2026-10-28 20:41:41 +03:00
renovate[bot]andCodex 09bb2a9fb5 fix(deps): update typescript-projects (#32759)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit f26b9c83adb12848e94bcfc77e1b67be1756bdc9)
2026-10-28 20:41:41 +03:00
bo0tzzandCodex 8f2bfa099e fix(server): scope duplicate group resolution to the caller's assets (#32603)
(cherry picked from commit 7bb91afbe15e82502f8f6c92b61edb3865ce76f3)
2026-10-28 20:41:28 +03:00
bo0tzzandCodex 07083aec22 fix(server): anchor the folder view path match (#32612)
(cherry picked from commit c76e1517321df98df6e9b2f856493ac49ec05877)
2026-10-28 20:41:28 +03:00
bo0tzzandCodex 64d50dc4b7 perf(server): index asset (ownerId, updateId) for sync (#32624)
(cherry picked from commit 73603bcafe5d1e52434f736476d07c9578f3b888)
2026-10-28 20:41:28 +03:00
renovate[bot]andCodex 7fb7699c06 chore(deps): update dependency eslint-plugin-unicorn to v78 (#32588)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 72e2bc8b0bc4a7e0a84ac16c0bde7f5e538729fb)
2026-10-28 20:41:28 +03:00
Santo ShakilandCodex 3127dbec71 refactor(mobile): move the native core decoders into a codecs crate (#32765)
* refactor(mobile): move the native core decoders into a codecs crate

* make Format private

* rename the decode export and options for what they hold

* drop the unused ios and server groups and rename the target params

(cherry picked from commit 11bf875313782b8a9e10269bb6f85226b7bdcd72)
2026-10-28 20:40:53 +03:00
Horatiu George TodoranandCodex f418967d55 perf: RKNN half RAM model usage + no weight duplication in multi-core (#23958)
* perf(ml): share RKNN weights across NPU cores and halve model RAM

* perf(ml): default rknn threads to npu cores and cache shape setup

* perf(ml): serve rknn runs in arrival order

(cherry picked from commit e659fb62f2bb3f6b1db08ed643d3d054a539c415)
2026-10-28 20:40:53 +03:00
YarosandCodex 1f422ea4c4 fix(server): add album-shared assets to albums (#32609)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
(cherry picked from commit 37c34343e1b98edf07dc3ff34c5da461de03c746)
2026-10-28 20:40:53 +03:00
Codex 8119a5ee22 Finalize local12 formatting and document guarded browser APIs 2026-10-27 23:27:18 +03:00
Codex 54881128d6 Adapt local features and dependency locks for SvelteKit 3 and local12 2026-10-27 23:17:33 +03:00
renovate[bot]andCodex d15be0dd83 chore(deps): update rust crate libc to v0.2.191 (#32753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 12381a3b4bca8634f785c23cd4c6bf4063477b3b)
2026-10-27 23:12:52 +03:00
Eduard Ereza MartínezandCodex 47cc38061e fix(docs): update README_ca_ES.md to match the English version (#30300)
* Update README_ca_ES.md to match the English version

* fix(docs): update README_ca_ES.md to match the English version

(cherry picked from commit 0fe886d1b573d579fdb3fd243a477e0e6ac08f52)
2026-10-27 23:12:52 +03:00
MertandCodex db411a4497 feat(server): add jxl as target format (#32732)
(cherry picked from commit 9560989cb97fb93cd6ab74f7811acce133a9b768)
2026-10-27 23:12:52 +03:00
renovate[bot]andCodex f1a09c1389 chore(deps): update dependency fastapi to v0.160.0 (#32756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit cadb945108d7a547845ba5279c745fca64ba2cf8)
2026-10-27 23:12:52 +03:00
renovate[bot]andCodex c8222bba94 chore(deps): update dependency terragrunt to v1.2.0 (#32757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e50ada17c817499a131eefb58a112850dfd22ea6)
2026-10-27 23:12:51 +03:00
TimonandCodex af66681b99 chore: bump openapi-generator version to v7.26 (#32454)
(cherry picked from commit b3c1b3d260b0186a9d6e82277f0e57a6e6d88738)
2026-10-27 23:12:42 +03:00
bo0tzzandCodex a93bbdf3e7 feat: inline hashes in helmet CSP (#30529)
* feat: inline hashes in helmet CSP

* tests

* fix: svelte3 merge

* chore: clean up

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
(cherry picked from commit 02a5d4b2060dad6f5779c196b7bb2b43f871ffb2)
2026-10-27 23:12:41 +03:00
bo0tzzandCodex 1707635743 fix(server): require update access on the motion video when linking a live photo (#32606)
* fix(server): require update access on the motion video when linking a live photo

* chore: allow linking with existing shared link assets

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
(cherry picked from commit a7afb4c9e9d2f099f9204a41f62e17b54fca3b17)
2026-10-27 23:12:41 +03:00
renovate[bot]andCodex 7a6123f8e6 fix(deps): update dependency @immich/ui to ^0.91.0 (#32587)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit d073539afdd20530baaf85ba414f396b94112b5c)
2026-10-27 23:12:40 +03:00
renovate[bot]andCodex 4960eddaf3 fix(deps): update typescript-projects (#32755)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 8aa9054366fac2738799a2356f9b760a2a441709)
2026-10-27 23:12:40 +03:00
bo0tzzandCodex d35a6613e6 chore: tighten auto-close template check (#32719)
(cherry picked from commit 2400de96668d3510a1a50dd1c658d483e9ad01aa)
2026-10-27 23:12:21 +03:00
Mees FrenselandCodex f96816b55f refactor(web): bulk (un)archive actions (#32189)
(cherry picked from commit d26c0eec10f1bb49117b71b667c88a8a715b2489)
2026-10-27 23:12:21 +03:00
YarosandCodex eca952720a fix: permission for admin notification endpoints (#32567)
(cherry picked from commit 045d295d2d0b506af6f2abe14d1ed2cb89c5235f)
2026-10-27 23:12:13 +03:00
Kairui LiuandCodex c482c1e53e fix: preserve stack primary asset selection (#31380)
* fix: preserve stack primary asset selection

* test: select stacked assets by id

* chore: limit dart formatting changes

* fix: address stack viewer review feedback

* fix: align stack ordering with server

* fix: keep stack primary asset first

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
(cherry picked from commit 5a5d7be11084969c3c00a294ce6c0527042f88e7)
2026-10-27 23:12:13 +03:00
cevdetandCodex 75a1d7c5c8 perf(web): reduce favicon assets (#32594)
(cherry picked from commit 5177913e0a1dba27d5d46ae4ba46222e94e17d0b)
2026-10-27 23:12:13 +03:00
Mees FrenselandCodex 5630e541e3 refactor(web): clean up (#32627)
(cherry picked from commit 5ff8436781681755042fe6416024d0c4885b851d)
2026-10-27 23:12:13 +03:00
Mees FrenselandCodex 27ccbee82d refactor(web): use svelte builtin id generator (#32631)
(cherry picked from commit 285552785f1bd7cb5ad431c8b3423d1d5e858188)
2026-10-27 23:12:13 +03:00
Antonio SarroandCodex 3458767d66 fix(web): downloads aborted when switching assets in the viewer (#32663)
* fix(web): downloads aborted when switching assets in the viewer

The service worker also handled the download request, so the viewer cancelling its image urls killed the download too. Only handle image requests there.

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
(cherry picked from commit 8c3fdda7ead1a70158780e45a67a11413b208dba)
2026-10-27 23:12:13 +03:00
Mees FrenselandCodex cd28300f94 fix(web): show metadata field if it is missing for one duplicate asset (#32601)
(cherry picked from commit b203227fdddff02c4686ff8db9d6054818900929)
2026-10-27 23:12:13 +03:00
Maximilian RinkandCodex d8030f3d14 fix(server): index edited assets in smart search (#32300)
(cherry picked from commit adca900fe277bd6dff93b96b6a7841a8632ce62b)
2026-10-27 23:12:13 +03:00
renovate[bot]andCodex 0ff6470791 chore(deps): update dependency opentofu to v1.13.2 (#32751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7cae55ec4ee7ab53d610cdf82b04a817e4ad8e8e)
2026-10-27 23:12:13 +03:00
renovate[bot]andCodex 717152b191 chore(deps): update terraform cloudflare to v4.52.10 (#32754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 054e6cdce4b0f94c15fa3f4c0d0a076742f4a4d0)
2026-10-27 23:11:57 +03:00
renovate[bot]andCodex 06dbcf7c84 chore(deps): update prom/prometheus docker digest to fa33022 (#32749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1a1f15639011971d1674b124d6f0bbdaaf053822)
2026-10-27 23:11:57 +03:00
renovate[bot]andCodex 9767ea9c02 chore(deps): update node.js to 43b9ba1 (#32748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0632acf701f3d9f559199bee89b5d3cd86b84822)
2026-10-27 23:11:45 +03:00
JakksonnandCodex 071b8db397 docs: add Polish README translation (#32745)
* docs: added Polish README translation

* docs: improved translations

(cherry picked from commit 5ce14cff4db45fc7ed544f6ec52eef4bc35ef6e2)
2026-10-27 23:11:45 +03:00
renovate[bot]andCodex 1c9813e130 chore(deps): update github-actions (#32758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8875673b6856eb1b793137cd7b0e2be76acc6f0b)
2026-10-27 23:11:45 +03:00
Santo ShakilandCodex 6569aad605 feat(server): accept the iOS app origin for mobile passkeys (#32733)
(cherry picked from commit 1119e9c7a7c9f5ad657aa4e893b897772f75a124)
2026-10-27 23:11:30 +03:00
renovate[bot]andCodex a2794f0986 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.20 (#32752)
(cherry picked from commit 506c83e8265bba829505deb23ad05a62eca579fc)
2026-10-27 23:11:30 +03:00
renovate[bot]andCodex 6ffc365b75 fix(deps): update dependency chokidar to v6 (#32760)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 4c33587fe88c52e50cb63dc8cea347fac6ef01ac)
2026-10-27 23:11:30 +03:00
renovate[bot]andCodex dc19d3a259 fix(deps): update opentelemetry-js monorepo to v3 (#32762)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 14977d6cc8c27e226334681ba878aa1243887055)
2026-10-27 23:11:29 +03:00
renovate[bot]andCodex f2a502448d chore(deps): update dependency @sveltejs/enhanced-img to v1 (#32395)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit df50249c03ddac9417a2172cfbbaef848163ed4f)
2026-10-27 23:11:28 +03:00
Jason RasmussenandCodex a3ffe3b3c3 refactor: asset face queries (#32679)
(cherry picked from commit 5077a85d5e6775c48b38de7fcf25f2a3864b6a83)
2026-10-27 23:11:20 +03:00
Daniel DietzlerandCodex 8125af4859 chore: migrate web imports from .js to .ts (#32742)
(cherry picked from commit f97c2243fbe5f64a4e1bf96128b82a37cc481506)
2026-10-27 23:11:20 +03:00
Daniel DietzlerandCodex e5b4dd1041 feat: sveltekit 3 (#32737)
(cherry picked from commit 2576ee28cfb790e99ddf401a129e1d9a18713121)
2026-10-27 23:11:06 +03:00
Codex 621504fcda Prepare local11 release and cover concurrent JPEG XL color transforms 2026-10-26 22:38:18 +03:00
YarosandCodex 919a4fd9ef fix: watch asset delete/archive in search (#31343)
* fix: watch asset delete/archive in search

* fix: restore via toast

* chore: format

* refactor: simplify search asset pruning

* chore: implement suggestions

* chore: more suggestions

* fix: mounted check

(cherry picked from commit f7b8ae5da370f947223b006618e5b4e5fb42fd33)
2026-10-26 22:35:01 +03:00
MertandCodex 2ed9207c3f perf(mobile): cache srgb transform (#32730)
(cherry picked from commit 18f1a44d1b934fc9d98ddb2be6918b7617c9c896)
2026-10-26 22:34:24 +03:00
Mees FrenselandCodex c48394aa6e refactor(web): use declaration tags instead of @const (#32639)
(cherry picked from commit c6d1e15c77c5f3786b26b292def27247b258cde5)
2026-10-26 22:34:24 +03:00
renovate[bot]andCodex 86c8b9e04d chore(deps): update machine-learning (#32125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 256eb55dbe92ac77e02794442f9487e88ffed2b1)
2026-10-25 16:24:17 +03:00
renovate[bot]andCodex 1190d0cc80 fix(deps): update dependency pillow to v13 [security] (#32621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ea7080bd755f7e879e0753dea59fabde331667b7)
2026-10-25 16:23:45 +03:00
bo0tzzandCodex 9669f7cc6e perf(server): use a createdAt range for "recently added" time buckets (#32434)
(cherry picked from commit cf719e733e6250e0fcd8f45d2e2c46f166d3557d)
2026-10-25 16:23:45 +03:00
Codex a5b2dcb3c2 Define the JPEG XL decode bound for the local Android image pipeline 2026-10-24 12:21:17 +03:00
Codex f94fbfe14e Integrate native core build prerequisites for local Android release 2026-10-24 11:58:44 +03:00
MertandCodex 70ef2884f0 feat(mobile): jxl decoder (#32592) 2026-10-24 11:52:05 +03:00
Santo ShakilandCodex 918d66fbdb fix(mobile): cancel cronet image requests only between reads (#32659)
* fix(mobile): cancel cronet image requests only between reads

* rename cronet callback flags
2026-10-24 11:51:43 +03:00
Jason RasmussenCodexcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>jrasm91
5d1167a36c refactor: apikeys, passkeys, and sessions (#32670)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jrasm91 <4334196+jrasm91@users.noreply.github.com>
2026-10-24 11:51:43 +03:00
Jason RasmussenandCodex e3bf54e2ba refactor: album queries (#32668) 2026-10-24 11:51:43 +03:00
Codex d17640a283 Handle optional OAuth config in visibility regression assertion 2026-10-22 21:15:41 +03:00
Codex 9e889bd4dc Adapt local regression tests to new configuration queries 2026-10-22 20:48:48 +03:00
Codex ca4d8d5a7a Prepare 3.3.5-local.8 and complete deletion regression test imports 2026-10-22 20:44:45 +03:00
Jason RasmussenandCodex 5f54700344 refactor: folder view queries (#32667)
(cherry picked from commit 6bf016964515ed65bb45cd1cf7b7bfadb405559a)
2026-10-22 20:43:53 +03:00
Jason RasmussenandCodex 0991f506bb refactor: shared link queries (#32666)
(cherry picked from commit 0a73481a8fdb3cfbab29f23da48e26133dc4c064)
2026-10-22 20:43:53 +03:00
Jason RasmussenandCodex fa77f168a0 refactor: notification queries (#32653)
(cherry picked from commit 8f3ba2c808e02e2a606b6acc65ce22f8ee3f9b34)
2026-10-22 20:43:53 +03:00
gitTurbofliegerandCodex 3aa65809b1 fix(mobile): stop trashing assets after deletion cancellation (#32522)
* fix(mobile): stop trashing assets after deletion cancellation

* fix(mobile): handle Android system delete cancellation

* fix(mobile): simplify

* simplify test

(cherry picked from commit 3517973b8a316c8fb729bf82fe4bbf95884b9146)
2026-10-22 20:43:53 +03:00
Jason RasmussenandCodex 9a66f16102 fix: account management url visibility (#32645)
(cherry picked from commit 22fe7b4179464c73d7e0487df90f2064fa30a5e0)
2026-10-22 20:43:14 +03:00
Jason RasmussenandCodex 493870ad7b refactor: config queries (#32498)
(cherry picked from commit b45ec0f55abb9dc39fbbb39dcf5296d45a726ba0)
2026-10-22 20:43:14 +03:00
Jason RasmussenandCodex 1e20bdd74e refactor: workflow queries (#32654)
(cherry picked from commit 98680ad6993ed917e630f8f4d1dbd1fbb6c41936)
2026-10-22 20:43:14 +03:00
Santo ShakilandCodex 99a7830f6c fix(mobile): bump sqlite3_connection_pool to 0.2.13 (#32662)
* fix(mobile): bump sqlite3_connection_pool to 0.2.13

* fix(mobile): require sqlite3_connection_pool 0.2.13

(cherry picked from commit 539499ee5e3843d338287edcf6808c1820c74800)
2026-10-22 20:43:14 +03:00
Codex e04e70db2e Close startup log connection and use portable export filenames 2026-10-22 05:39:19 +03:00
Codex 75517057d0 Keep Svelte compiler warning option portable with pnpm 12 2026-10-22 05:33:35 +03:00
Codex 3efc91ff9a Prepare localized 3.3.5-local.7 release with updated dependencies 2026-10-22 05:29:35 +03:00
Clément DelestreandCodex 7c07c001cd fix(mobile): keep header image when starting selection (#32356)
* fix(mobile): keep header image when starting selection

* fix(mobile): fade out header actions during selection

Hide the back button and person options menu with the same fade as the
timeline app bar, and block taps on the person name and birthday while
assets are selected.

---------

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit 745bdd2edf72ce0f75e748e2d68c37b6ea196cc5)
2026-10-22 05:25:45 +03:00
renovate[bot]andCodex f1f7f82e91 chore(deps): update base-image to v202610211607 (#32644)
Co-authored-by: bo0tzz <git@bo0tzz.me>
(cherry picked from commit b9269f873982c9b1c0f9267aefad8b8b9eacb7d9)
2026-10-22 05:25:45 +03:00
bo0tzzandCodex b3bd5d1fd1 feat(server): remove deprecated password field from update-me (#32623)
* feat(server): remove deprecated password field from update-me

* fix: tests for removed password field

(cherry picked from commit 3f6a071203187681b6c06b977665dc624c431336)
2026-10-22 05:25:45 +03:00
bo0tzzandCodex ad9b368cb8 fix(server): exclude partners' locked assets from legacy search (#32604)
(cherry picked from commit 8dab52c7491c79cba742315dea8d7f5212915875)
2026-10-22 05:25:45 +03:00
renovate[bot]andCodex 7c78b00df6 fix(deps): update dependency ioredis to v6 (#32137)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 48474ecff56fe02cb84a8136d923863d4978a7e0)
2026-10-22 05:25:45 +03:00
renovate[bot]andCodex 4dfb6e88af chore(deps): update node.js to v24.22.1 (#32633)
Co-authored-by: bo0tzz <git@bo0tzz.me>
(cherry picked from commit c5086b68f76b78964e22c52bd78060344d82aebf)
2026-10-22 05:25:45 +03:00
renovate[bot]andCodex 744797e59d chore(deps): update node.js to v24.22.1 (#32634)
(cherry picked from commit c78e5c37843916199e380f077add45bd15a8bba3)
2026-10-22 05:25:45 +03:00
renovate[bot]andCodex 689105c949 fix(deps): update dependency exiftool-vendored to v39 (#31917)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit bb9f18a1d007d530fcf477a0fa56528fdfa91dd0)
2026-10-22 05:25:45 +03:00
bo0tzzandCodex 1332a30630 chore(deps): update dependency certifi to v2026.10.19 (#32636)
(cherry picked from commit cda02c46e6cb36cf17d54570b2a024c51111cdf0)
2026-10-22 05:25:15 +03:00
bo0tzzandCodex 648e5608b7 chore(deps): update python docker digests (#32635)
(cherry picked from commit f97b00284d5752c2cddced549527ae692e820957)
2026-10-22 05:25:14 +03:00
Jonathan JogenforsandCodex 42dffaa0c8 fix(server): dont follow symlinks (#32614)
(cherry picked from commit 10e216b8385ac40e6aa150f75fc4730c4e8a7494)
2026-10-22 05:24:55 +03:00
renovate[bot]andCodex ec3359f1cb fix(deps): update typescript-projects (#32132)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 767f47a8fb35e0605e49b0dd4f30587bb76085ad)
2026-10-22 05:23:59 +03:00
renovate[bot]andCodex 235e57bf77 fix(deps): update dependency cookie to v2 (#31916)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit e505e5113b43177ad215d075dca25dc056dd1a40)
2026-10-22 05:23:59 +03:00
Adam GastineauandCodex 630240971f chore(mobile): use Xcode and iOS 27.1 SDK for CI builds (#32632)
(cherry picked from commit cb4195ad439ba962a2def7f04738eafc749554d9)
2026-10-22 05:23:59 +03:00
renovate[bot]andCodex 44e312cfba chore(deps): update pnpm to v12 (#31911)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 638cfbca5e06486caa00423a83d557c66d6a5ae3)
2026-10-22 05:23:59 +03:00
renovate[bot]andCodex 67c158a0ab chore(deps): update grafana/grafana docker tag to v13 (#31910)
(cherry picked from commit 1d4be15bc59d25b180ee8712e784d73d8e9d6889)
2026-10-22 05:23:24 +03:00
renovate[bot]andCodex 1554f0d439 chore(deps): update dependency unplugin-swc to v2 (#31909)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 493b40a7a6c34dac05533c3d3682a38f0eef6038)
2026-10-22 05:23:24 +03:00
renovate[bot]andCodex 3e250d7878 fix(deps): update dependency nodemailer to v10 [security] (#31907)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 5d2cd0800efad0e396790782af25378c8cb345ab)
2026-10-22 05:23:24 +03:00
renovate[bot]andCodex a6d63285b7 fix(deps): update dependency chokidar to v5 (#31915)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit d1e874fc1e16ab53c80f723dd1905cd7e106cac0)
2026-10-22 05:23:23 +03:00
renovate[bot]andCodex c1552140b0 fix(deps): update dependency happy-dom to v21 (#32589)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit f1cd87e37be8a47f463cb53241a651407a0eebf2)
2026-10-22 05:23:23 +03:00
renovate[bot]andCodex 238617e566 fix(deps): update dependency archiver to v8 (#31913)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 51da695c62f3415a97c7b752ef62927e39ab086f)
2026-10-22 05:23:23 +03:00
YarosandCodex 3f3671fbe5 fix(ml): preloaded model loaded twice (#32610)
fix(ml): reuse cached model across names that clean to the same model

(cherry picked from commit 166e93559f123313cf9cb4e7324c4ee30e21c618)
2026-10-22 05:23:22 +03:00
bo0tzzandCodex 01ba579766 perf(server): index updateId on asset_face, stack and workflow (#32432)
asset_face, stack and workflow were the only tables with an updateId
column but no index on it. Face and stack sync (AssetFacesV1/V2,
StacksV1, PartnerStacksV1) filter and order on updateId, so every mobile
sync seq-scanned every face on the instance and walked all of the user's
(or partners') stacks, even when nothing had changed. workflow isn't
synced; it gets the index for consistency.

Incremental sync with nothing changed, PG 14:

| query                              | before   | after    |
| ---------------------------------- | -------- | -------- |
| assetFace.getUpserts (425k faces)  | 33-37 ms | 0.15 ms  |
| stack.getUpserts (6k stacks)       | 0.8 ms   | 0.004 ms |
| partnerStack.getUpserts (6k)       | 0.6 ms   | 0.007 ms |

The face scan grows with the instance's face count (~10x that at 4M
faces); the stack one with the user's stack count.

(cherry picked from commit 9df807ed4a9536a28dad463270082095ec1fe94d)
2026-10-22 05:23:22 +03:00
bo0tzzandCodex e2864b6664 fix(server): do not expose album members to shared link viewers (#32607)
(cherry picked from commit 380f3e74e622938b6b6c450859df8655be4e21ba)
2026-10-22 05:23:22 +03:00
bo0tzzandCodex 1756d70fda fix(server): only set OAuth cookies for server-generated state (#32600)
(cherry picked from commit d468c468867edcbafd4d934d3ba97bee2414050f)
2026-10-22 05:23:22 +03:00
Jason RasmussenandCodex b12be9119f feat: passkeys (#32194)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 6233a79bf7e4cec11e9ea1094908ff3b228fcbe0)
2026-10-22 05:23:22 +03:00
Santo ShakilandCodex e66d5a70e7 fix(mobile): hide server addresses in upload error logs (#32550)
* fix(mobile): hide server addresses in upload error logs

* fix(mobile): remove duplicate upload failure logs

(cherry picked from commit 211773f778ca24ac33e64d46e50b3ab46702c851)
2026-10-22 05:22:44 +03:00
renovate[bot]andCodex 1a81902a36 chore(deps): update dependency opentofu to v1.13.1 (#32130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 99fb4b1fec4ec3e445a86307766c02552fdae982)
2026-10-22 05:22:12 +03:00
renovate[bot]andCodex ec5b4eb939 chore(deps): update grafana/grafana docker tag to v12.4.13-ubuntu (#32127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f4720273e1c42f53bb7b218a3fc116ca2e1547a1)
2026-10-22 05:21:33 +03:00
renovate[bot]andCodex 3457823b5b chore(deps): update node.js to v24.22.0 (#32585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 215c496f6276e5f0ffb8e8b9b6555e7684b954b1)
2026-10-22 05:21:33 +03:00
renovate[bot]andCodex ffbe3d1681 chore(deps): update node.js to v24.22.0 (#32586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit cd5d091f72838fc4b16ce2c9ebb59686c415ecdf)
2026-10-22 05:21:33 +03:00
bo0tzzandCodex 5c0f0b498a fix(ci): remove scope labels when they no longer match (#31026)
(cherry picked from commit 5d7556fe6d0699fc932b94a328ecb5e5145a0fce)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex c46f748412 chore: link CONTRIBUTING.md in issue and feature request templates (#32514)
(cherry picked from commit f1984aa0905626ee05b5fd9fdef3cf35b77d951e)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex 59be6583b8 fix(server): only serve edited assets to shared links in archive downloads (#32562)
(cherry picked from commit cd47ee30676e8575a5048d12cde2ee86fc02b965)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex aeefb962d4 fix(server): sanitize EXIF template variables and tighten storage path check (#32566)
(cherry picked from commit 6141f8bdbf6d21a14558d9f7d7325918023d1037)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex f80be1030b fix(server): restrict partner timeline requests to timeline assets (#32565)
* fix(server): restrict partner timeline requests to timeline assets

* test(server): update medium timeline tests for consolidated check

(cherry picked from commit e9fb180f466a687cebda9b7e17cef403de4b81fa)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex 7df744b684 fix(cli): only act on files that were sent in the bulk upload check (#32564)
(cherry picked from commit 9e20805e21c72b95f8c23f4985c8a20b4c3da12a)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex c66634fcfd fix(server): escape template variables in custom email templates (#32563)
* fix(server): escape template variables in custom email templates

* fix(server): strip preview tags until stable

(cherry picked from commit 616839e8d43a9de21d0c9391847fba97ac41a759)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex d92248c664 fix(server): require upload access for checksum duplicate check (#32559)
* fix(server): require upload access for checksum duplicate check

* fix(server): use the upload access check for the checksum short circuit

(cherry picked from commit 5c02b17495947d7332cce13273226082bd8ae2a1)
2026-10-22 05:21:00 +03:00
bo0tzzandCodex 67152772d2 fix(server): anchor plugin allowedHosts matching (#32560)
(cherry picked from commit 4acf935ba3ee7b6171e3965cb3ce47b2ba9bad1a)
2026-10-22 05:21:00 +03:00
Adam GastineauandCodex 564b720bce fix(mobile): prevent crash when generated/openapi has unexpected files (#32599)
(cherry picked from commit 4f38929bdaaa88d48429ac642abf9ec292e3ca82)
2026-10-22 05:21:00 +03:00
Tiago DeaneandCodex 6aaebd167d feat: option for mobile smooth timeline scrubbing (#32552)
* feat(mobile): add smooth timeline scrubbing setting

* refactor: read smooth scrubbing setting where the scrubber is built

(cherry picked from commit 222d9276d31e890d3d9beb6dae5d96a6f6ab52f0)
2026-10-22 05:21:00 +03:00
renovate[bot]andCodex 2d236024bc fix(deps): update dependency kysely-postgres-js to v5 (#31919)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 21fe4994a203da3876271bc290c47b69694fd42a)
2026-10-22 05:20:59 +03:00
renovate[bot]andCodex e09b352067 fix(deps): update typescript-projects (#32581)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 50edbedf15526c3b43c43a261a1aaddfb782b5ce)
2026-10-22 05:20:59 +03:00
MertandCodex 4c89b0f7df perf(server): more efficient person queries (#32523)
(cherry picked from commit 38a2ce4daa678615561d2b87a8f2bb30f70fdc53)
2026-10-22 05:20:19 +03:00
renovate[bot]andCodex b020f12f41 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.15 (#32580)
(cherry picked from commit a22480e3eb2c07535c126f7ac20f6e04f51c6200)
2026-10-22 05:19:50 +03:00
bo0tzzandCodex 43848a7d68 fix: locking around concurrency-1 jobs (#28410)
* fix: locking around concurrency-1 jobs

* fix: no lock on queue duplicates

(cherry picked from commit 477452b5c51ca71ecdf74205e0004eaec4e18874)
2026-10-22 05:19:10 +03:00
renovate[bot]andCodex 9e96fdc627 chore(deps): update github-actions (#32584)
(cherry picked from commit be825a0518addd098166471706a64c8305cafca2)
2026-10-22 05:19:10 +03:00
Mateus NavarroandCodex 434b7efd66 fix(mobile): border radius on list tiles in library page (#32476) (#32503)
* fix(mobile): standardize list tile radius in Quick Access Button List when pressed (#32476)

* fix(mobile): adjust list tile border radius based on partner presence in Quick Access Button List

* refactor(mobile): improve way to handle border radius of items in the QuickAccessButtonList

(cherry picked from commit fff2bd73f9b38a5a5b510ea69a77a470dd1acf56)
2026-10-22 05:18:40 +03:00
Santo ShakilandCodex 814cc14f88 feat(mobile): share logs from the startup error screen (#32288)
* fix(mobile): hide server addresses and tokens in shared logs

* feat(mobile): share logs from the startup error screen

* use only the shared logs patterns on the startup error screen

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* redact the startup error screen share

* fix(mobile): hide server addresses and tokens in shared logs

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* fix(mobile): redact logs when they are written

* log the startup error and share it as a log row

* fix(mobile): hide ipv6 addresses and name labels after their settings

* comment why the startup error row is only added here

(cherry picked from commit f7fa8a3a2d2c3b0ab59f90fbcc3c230c58a2aede)
2026-10-22 05:18:40 +03:00
Santo ShakilandCodex 59bf69f1d5 fix(mobile): hide server addresses and tokens in shared logs (#32287)
* fix(mobile): hide server addresses and tokens in shared logs

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* fix(mobile): redact logs when they are written

* fix(mobile): hide ipv6 addresses and name labels after their settings

(cherry picked from commit 89d2de1274a3e1a70a6169f4cfe1feebfb327791)
2026-10-22 05:18:40 +03:00
1216 changed files with 30664 additions and 11185 deletions
@@ -9,6 +9,8 @@ body:
Stick to only a single feature per request. If you list multiple different features at once,
your request will be closed.
Please read our [contributing guidelines](https://github.com/immich-app/immich/blob/main/CONTRIBUTING.md) before opening a feature request.
- type: checkboxes
attributes:
label: I have searched the existing feature requests, both open and closed, to make sure this is not a duplicate request.
+5
View File
@@ -1,6 +1,11 @@
name: Report an issue with Immich
description: Report an issue with Immich
body:
- type: markdown
attributes:
value: |
Please read our [contributing guidelines](https://github.com/immich-app/immich/blob/main/CONTRIBUTING.md) before opening an issue.
- type: checkboxes
attributes:
label: I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
+9 -2
View File
@@ -26,10 +26,17 @@ jobs:
env:
BODY: ${{ github.event.pull_request.body }}
run: |
BODY=$(printf '%s\n' "$BODY" | tr -d '\r' | perl -0pe 's/<!--.*?-->//gs')
section() { printf '%s\n' "$BODY" | awk -v h="$1" 'index($0, h) == 1 { f = 1; next } /^## / { f = 0 } f'; }
OK=true
while IFS= read -r header; do
printf '%s\n' "$BODY" | grep -qF "$header" || OK=false
done < <(sed '/<!--/,/-->/d' .github/pull_request_template.md | grep "^## ")
done < <(perl -0pe 's/<!--.*?-->//gs' .github/pull_request_template.md | grep "^## ")
section "## Checklist" | grep -qE '^\s*- \[[xX]\]' || OK=false
[[ "$(section "## Please describe to which degree" | tr -d '[:space:]')" =~ ^(\.\.\.)?$ ]] && OK=false
echo "uses_template=$OK" | tee --append "$GITHUB_OUTPUT"
close_template:
@@ -51,7 +58,7 @@ jobs:
run: |
gh api graphql \
-f prId="$NODE_ID" \
-f body="This PR has been automatically closed as the description doesn't follow [our template](https://github.com/immich-app/immich/blob/main/.github/pull_request_template.md). After you edit it to match the template, the PR will automatically be reopened." \
-f body="This PR has been automatically closed as the description doesn't follow [our template](https://github.com/immich-app/immich/blob/main/.github/pull_request_template.md). Please make sure every section is present and filled in. After you edit it to match the template, the PR will automatically be reopened." \
-f query='
mutation CommentAndClosePR($prId: ID!, $body: String!) {
addComment(input: {
+4 -4
View File
@@ -204,7 +204,7 @@ jobs:
contents: read
# Run on main branch or workflow_dispatch, or on PRs/other branches (build only, no upload)
if: ${{ !github.event.pull_request.head.repo.fork && fromJSON(needs.pre-job.outputs.should_run).mobile == true }}
runs-on: macos-26
runs-on: xcode-27
steps:
- id: token
@@ -214,8 +214,8 @@ jobs:
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
permission-contents: read
- name: Select Xcode 26
run: sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer
- name: Select Xcode 27.1
run: sudo xcode-select -s /Applications/Xcode_27.1.app/Contents/Developer
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -230,7 +230,7 @@ jobs:
working_directory: ./mobile
- name: Setup Ruby
uses: ruby/setup-ruby@984c0c890880bbf811283d6f09c4607c62d210a4 # v1.323.0
uses: ruby/setup-ruby@e1bd6146574da5e0795075b5319b300edb30c5b0 # v1.333.0
with:
ruby-version: '3.4'
bundler-cache: true # zizmor: ignore[cache-poisoning] release branches cannot read caches written by pull requests
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
persist-credentials: false
- name: Check for breaking API changes
uses: oasdiff/oasdiff-action/breaking@5e81b5c380accc6b523f9d32a637ca630e33620b # v0.1.17
uses: oasdiff/oasdiff-action/breaking@9ce3a29eb0e6478dd0140932a678c7fb59d08f22 # v0.1.20
with:
base: https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json
revision: open-api/immich-openapi-specs.json
+5 -5
View File
@@ -58,7 +58,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -71,10 +71,10 @@ 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@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/autobuild@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# в„№пёЏ 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
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
@@ -84,6 +84,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
category: '/language:${{matrix.language}}'
+1
View File
@@ -35,6 +35,7 @@ jobs:
filters: |
docs:
- 'docs/**'
- 'deployment/**'
open-api:
- 'open-api/immich-openapi-specs.json'
force-filters: |
+4 -4
View File
@@ -115,7 +115,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -154,8 +154,8 @@ jobs:
previous=$(grep -A1 -xF "${TAG}" <<< "${tags}" | tail -1)
echo "generating notes from ${previous}"
mise //:notes --tag "${TAG}" --previous "${previous}" > "${RUNNER_TEMP}/notes.md"
cat "${RUNNER_TEMP}/notes.md"
mise //:notes --tag "${TAG}" --previous "${previous}"
cat misc/release/notes.md
- name: Create draft release
env:
@@ -171,7 +171,7 @@ jobs:
--draft \
--verify-tag \
--prerelease="${PRERELEASE}" \
--notes-file "${RUNNER_TEMP}/notes.md" \
--notes-file misc/release/notes.md \
docker/docker-compose.yml \
docker/docker-compose.rootless.yml \
docker/example.env \
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
- name: Generate a token
id: generate_token
if: ${{ inputs.skip != true }}
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
+1
View File
@@ -22,3 +22,4 @@ jobs:
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
sync-labels: true
+1
View File
@@ -28,3 +28,4 @@ vite.config.js.timestamp-*
.devcontainer/.env*
*.tsbuildinfo
*.tsbuildInfo
misc/release/notes.md
+1 -1
View File
@@ -1 +1 @@
24.21.0
24.22.1
+21
View File
@@ -0,0 +1,21 @@
# AGENTS.md
Immich monorepo: `server/` (NestJS API + job workers), `web/` (SvelteKit SPA), `mobile/` (Flutter), `native/` (Rust core for mobile), `machine-learning/` (FastAPI + ONNX), `e2e/` (API + Playwright tests), `packages/` (`@immich/sdk`, `@immich/cli`, plugin SDK/core, release scripts), `open-api/`, `i18n/`, `docs/`. Before changing code in `server/`, `web/`, `mobile/`, `native/`, `machine-learning/` or `e2e/`, read that folder's `AGENTS.md`.
## Rules
- No PRs of LLM-generated code; the human contributor must understand and be able to explain every change (see `CONTRIBUTING.md`).
- Do not generate PR titles, descriptions, issue text, review comments or discussion answers. Translating human-written text is fine.
- Never work on issues labelled `good first issue`; those PRs are closed automatically.
- Run every build, lint, test and codegen task through mise: `mise //<dir>:<task>`, root tasks as `mise //:<task>`. `mise tasks ls --all` lists them.
- Never hand-edit generated files: `open-api/immich-openapi-specs.json`, `packages/sdk/src/fetch-client.ts`, `mobile/generated/openapi/`, `server/src/queries/*.sql`, and Dart codegen (`*.g.dart`, `*.drift.dart`, `*.freezed.dart`, `router.gr.dart`, `lib/generated/`, `lib/platform/*.g.dart`).
- Only edit `i18n/en.json`; the other locale files come from Weblate.
- Do not add code comments. Make the code self-explanatory through naming and structure instead.
- PR titles are conventional commits. Keep a PR to one focused change.
- Sharing/asset ownership and external libraries are feature-frozen: bug fixes only.
- Renaming or removing a docs page requires an entry in `docs/static/_redirects`.
## Skills
- **Regenerate the API clients**: after any change to a server controller or DTO, run `mise //:open-api`. It rebuilds the server, rewrites the OpenAPI spec, regenerates the TypeScript SDK and the Dart client. The CI job "OpenAPI Clients" fails if this is stale. If a response field became required, the Dart client also needs a backward-compatibility patch in `open-api/patch`, checked by `flutter test test/openapi_patches_coverage.dart` (job "check-mobile-patches").
- **Add a translation string**: add the key to `i18n/en.json`, then run `mise //:i18n:format-fix` so the file stays key-sorted (CI job "Test i18n" fails otherwise). For the mobile app also run `mise //mobile:translation`. Web keys are typed against `en.json`, so the key must exist before `tsc` passes.
+1
View File
@@ -33,6 +33,7 @@
<a href="readme_i18n/README_uk_UA.md">Українська</a>
<a href="readme_i18n/README_ru_RU.md">Русский</a>
<a href="readme_i18n/README_bg_BG.md">Български</a>
<a href="readme_i18n/README_pl_PL.md">Polski</a>
<a href="readme_i18n/README_pt_BR.md">Português Brasileiro</a>
<a href="readme_i18n/README_sv_SE.md">Svenska</a>
<a href="readme_i18n/README_ar_JO.md">العربية</a>
+42 -52
View File
@@ -1,79 +1,69 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.opentofu]]
version = "1.12.6"
version = "1.13.2"
backend = "aqua:opentofu/opentofu"
[tools.opentofu."platforms.linux-arm64"]
checksum = "sha256:9bd0228a81bcd0c88f7045c74378f45a815779f19897191dff7d9efba9976b9e"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762688"
[tools.opentofu."platforms.linux-arm64-musl"]
checksum = "sha256:9bd0228a81bcd0c88f7045c74378f45a815779f19897191dff7d9efba9976b9e"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762688"
checksum = "sha256:88e2d9e3f94f97b76ab2faf55ade87578f56aed19c5e45fa139d70e994366d1f"
checksum_source = "mise-versions"
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742799"
[tools.opentofu."platforms.linux-x64"]
checksum = "sha256:50a6106fa4de523d09c87af85f3db1dd47535fc005727fdca6852146476b88ec"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762723"
[tools.opentofu."platforms.linux-x64-musl"]
checksum = "sha256:50a6106fa4de523d09c87af85f3db1dd47535fc005727fdca6852146476b88ec"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762723"
checksum = "sha256:ac05d9952662c7db28dd57e93f0a68018837bfdf9342384ec0987977c16a9645"
checksum_source = "mise-versions"
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742636"
[tools.opentofu."platforms.macos-arm64"]
checksum = "sha256:f958ec5e511063be9feb180ca015a4cb7977566a9cf6a8550bba8c2a9b5aba74"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762710"
checksum = "sha256:0d1cdc85f38992055b48e7fb161304a2ddfe2e5ee0ff68ffec9d0349c8bd1b59"
checksum_source = "mise-versions"
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742637"
[tools.opentofu."platforms.macos-x64"]
checksum = "sha256:44bb1855f372f17f365fb94517906e78da5001da10f4c98de57a39bf982f3a92"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762655"
checksum = "sha256:dc6e4eb1d3ed6550c2ef052596f933dbcd8c806957665ea83ae7537147cb3074"
checksum_source = "mise-versions"
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742982"
[tools.opentofu."platforms.windows-x64"]
checksum = "sha256:bcbcd9ca744af6c4053e2d5e75dae79ff33ad7dc38d45e1233e693d096284538"
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_windows_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762708"
checksum = "sha256:e74fc2bda0c81ce696b6b7016a4d5c1f557638161239e4101e9ee7d8e0faba59"
checksum_source = "mise-versions"
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_windows_amd64.tar.gz"
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742635"
[[tools.terragrunt]]
version = "1.0.3"
version = "1.2.0"
backend = "aqua:gruntwork-io/terragrunt"
[tools.terragrunt."platforms.linux-arm64"]
checksum = "sha256:e5b60ab05b5214db694e6bc215d8124fb626e277cdb56b86f6147ae110d510fe"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654253"
[tools.terragrunt."platforms.linux-arm64-musl"]
checksum = "sha256:e5b60ab05b5214db694e6bc215d8124fb626e277cdb56b86f6147ae110d510fe"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654253"
checksum = "sha256:1e13b7f0646fa7962bc6c5bfba14a30d6a589325b82561e21b66be5981d86395"
checksum_source = "mise-versions"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_linux_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662437526"
[tools.terragrunt."platforms.linux-x64"]
checksum = "sha256:6d48049baf82e0bf9c804368dc85cbfeadc10955e33777e9e8de3e020b94b073"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654196"
[tools.terragrunt."platforms.linux-x64-musl"]
checksum = "sha256:6d48049baf82e0bf9c804368dc85cbfeadc10955e33777e9e8de3e020b94b073"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654196"
checksum = "sha256:23b5f2f9203d34919f7fd270a4b635b721b4903beca9762a1e4853b159bc9be8"
checksum_source = "mise-versions"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_linux_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662437263"
[tools.terragrunt."platforms.macos-arm64"]
checksum = "sha256:aacb5be2ca5475300cbce246dfbd8a45eb47510fbaa70fab8561c49ef5db03aa"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654084"
checksum = "sha256:79790d841ce71fe94c689fb6f5034afd31ad53d5904937c7a10934cca9d9734b"
checksum_source = "mise-versions"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_darwin_arm64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662436516"
[tools.terragrunt."platforms.macos-x64"]
checksum = "sha256:3133c2251e191aede8e3dd2a5b3aee2e91c5f08f88f117aee40eed9a24c8ef6b"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406653970"
checksum = "sha256:0b0e63e80509eb1ffb4f89b892bc6fbf7728f27f0a73974400f1bd82a80b8627"
checksum_source = "mise-versions"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_darwin_amd64.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662436142"
[tools.terragrunt."platforms.windows-x64"]
checksum = "sha256:183b2745b4e04980a6bfa4450ff81956a12596ca22d70f7aaa793980f5b036db"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.0.3/terragrunt_windows_amd64.exe.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/406654412"
checksum = "sha256:c9a146b9aad456a289614023ad5778123d819af3cf9efd1c6130f196cfcb1999"
checksum_source = "mise-versions"
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_windows_amd64.exe.tar.gz"
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662438255"
+2 -2
View File
@@ -1,6 +1,6 @@
[tools]
terragrunt = "1.1.1"
opentofu = "1.12.6"
terragrunt = "1.2.0"
opentofu = "1.13.2"
[tasks."tg:fmt"]
run = "terragrunt hclfmt"
+18 -28
View File
@@ -2,34 +2,24 @@
# Manual edits may be lost in future updates.
provider "registry.opentofu.org/cloudflare/cloudflare" {
version = "4.52.9"
constraints = "4.52.9"
version = "5.28.1"
constraints = "5.28.1"
hashes = [
"h1:LRBYMKjZyuld8kgVhzoceRtdtkht+w8LunrdpgqrL28=",
"h1:Q2NeLtrjSTZwHHsMZXKpqOAbxF8DWgqpmH5j+1pUZGw=",
"h1:Q4wiux11bDVWRmJScdjp8jLbxMRsj8k3xGtPtY4BPDo=",
"h1:VVW111jEbRMTu7hXeGQMmZ/oSTB8LIYhjM5ztyymqAI=",
"h1:Z7sTk8/B9XYFAEpTq1ib/WsB2QvpegGwef395tHCUSo=",
"h1:eakzS6UsflV4gN/oQWdRPYvvmySKkhgKPyykCfPSVH0=",
"h1:eesNMA1JUNBKCnuEvRLW2CT3tNrIejbXJG4A176nA9Q=",
"h1:o8txgjqnDDODxQQ6ITwHsvPqHllCbMGnJkjCWNJK5ME=",
"h1:rDTPIzab3tbGdtU3NmES08+tRlKG8jygNAFDFbheiuM=",
"h1:sIoAt5vaxgFBrst1Esfm7ixQQ/T7/JNPZu0m4bw+Bc4=",
"h1:sPCs3KnD/db5TMz2CNgiYix7sRS8+FP92T4ipSYT9vw=",
"h1:uXPLsMQUYVJjRGUfmfDQXsKzYr1scvF6PYKj+3f0Nr4=",
"h1:vQibC9lgBRQjRQ5KxFH61wd3/q2I40groLPjZ/jiikQ=",
"zh:0826cad9b57368f06466ec3e1f766086f44a373288753e144f681ddc0e61ab49",
"zh:15bf8d8abdcd202652466f3ef91110f143a7fad13c6173c7180e3dc0dbe9254b",
"zh:1a60d1d2e55a17942902b1ccc91e8f6cb150c035843d3eefc074f1291a0e7d5f",
"zh:23373a63fe06bbfa90c6c105c08429031719bedafa2458973cbdad32a384b5a7",
"zh:256a97b79cedee2575002f77ac3bf18888ce0fc97170ae8a357db406bb0a88e3",
"zh:3dd9f93c167cd59491ae77781032491d36a80843a1e44f9ee68b41b3f8e3ab8e",
"zh:5182d2d61930dd83584d8feb56102614f80ddeec532b939b58085ad74b796a6e",
"zh:5e3ca1888ba3b3bd8abd0f7dfcdd82fb5a8819affee899ed7fd891a33c17e0cb",
"zh:7a3ce2119e39fb3a90a6a459a26863851309dbc92e0735336cbc98692539cb4d",
"zh:c095dc680a646cc078c10bb0551e2ea8f08e7abdbcbc58cfd332c56b58788631",
"zh:d2400e010e069c19916c99136e200cf873eba6db2b18d3eb9541b38eb1f565fa",
"zh:dbc2f19f09aaefbd69334005bca2bcb0c9b690de1ed76f7ba97ce8e59a6e85df",
"zh:e685225f432da3e23b8717848de8c0ad0e22363450b2ac92cd24a56739ab5e9b",
"h1:9YL6g+iEfg3OzX6qSZOYsictVO0fNP09D6jRwIZKwQ0=",
"h1:GjOKfCmvcyE06fUp5WrAzfCLkTQaCg2Ko/kFlq8OfpM=",
"h1:QTIohIPsVCqEmknrR2PdbVXyK1fjS805rMaZpEEpzFQ=",
"h1:SFb952CVUFUoFjfor+GUqAV6DQ6bnUfaFcWL2yJlFBo=",
"h1:aso3s6IuIQju5L/OLrywCfQl7aA5TF+sb5pZzo8JG20=",
"h1:cxGa9LRKCzwNacgnLjXnHUygkvAEd6pb8g8sRwzPSRE=",
"h1:kBW0qcDqNupOnsi7vvx/0TQRxXLtmDKAHwOwH5l03pc=",
"h1:t6x20B8TpQAG0TsUlyWLrAWNO+V8JE8K3Ij0hW0feSU=",
"zh:219d464dd727c0e5c90a97b44aa5d7988acc4eec47f3684f7ecd006b17c46d9c",
"zh:2511f2380209c81121e6eb943d7e68d03602a4fcf4f0311dfc67e198179b9303",
"zh:2ae200482bf592cd703981c4d4fe87a52c0dfae81a70261295f59b1bb0d01a6c",
"zh:7df6fe6573379c2faf2e801fdbca58ac909266dbee604feaa993439b8616c9b3",
"zh:9fb5a295588351ce565515dc2a770047e8bab786a4a9665511ab9a9ca2db5f1b",
"zh:a182f4aec86c74e9db4affa22323c5a21f5d92c1fcf91b934570753d04f4daf8",
"zh:a39bb8624fb6c714e38bc0e632aae117a9fede5a18a248ab15dd1b60013c0324",
"zh:bef2ffbdb68569549fe432b550592e07456759a7288f84f7c37c9d933a493f54",
]
}
@@ -5,7 +5,7 @@ terraform {
required_providers {
cloudflare = {
source = "cloudflare/cloudflare"
version = "4.52.9"
version = "5.28.1"
}
}
}
+18 -28
View File
@@ -2,34 +2,24 @@
# Manual edits may be lost in future updates.
provider "registry.opentofu.org/cloudflare/cloudflare" {
version = "4.52.9"
constraints = "4.52.9"
version = "5.28.1"
constraints = "5.28.1"
hashes = [
"h1:LRBYMKjZyuld8kgVhzoceRtdtkht+w8LunrdpgqrL28=",
"h1:Q2NeLtrjSTZwHHsMZXKpqOAbxF8DWgqpmH5j+1pUZGw=",
"h1:Q4wiux11bDVWRmJScdjp8jLbxMRsj8k3xGtPtY4BPDo=",
"h1:VVW111jEbRMTu7hXeGQMmZ/oSTB8LIYhjM5ztyymqAI=",
"h1:Z7sTk8/B9XYFAEpTq1ib/WsB2QvpegGwef395tHCUSo=",
"h1:eakzS6UsflV4gN/oQWdRPYvvmySKkhgKPyykCfPSVH0=",
"h1:eesNMA1JUNBKCnuEvRLW2CT3tNrIejbXJG4A176nA9Q=",
"h1:o8txgjqnDDODxQQ6ITwHsvPqHllCbMGnJkjCWNJK5ME=",
"h1:rDTPIzab3tbGdtU3NmES08+tRlKG8jygNAFDFbheiuM=",
"h1:sIoAt5vaxgFBrst1Esfm7ixQQ/T7/JNPZu0m4bw+Bc4=",
"h1:sPCs3KnD/db5TMz2CNgiYix7sRS8+FP92T4ipSYT9vw=",
"h1:uXPLsMQUYVJjRGUfmfDQXsKzYr1scvF6PYKj+3f0Nr4=",
"h1:vQibC9lgBRQjRQ5KxFH61wd3/q2I40groLPjZ/jiikQ=",
"zh:0826cad9b57368f06466ec3e1f766086f44a373288753e144f681ddc0e61ab49",
"zh:15bf8d8abdcd202652466f3ef91110f143a7fad13c6173c7180e3dc0dbe9254b",
"zh:1a60d1d2e55a17942902b1ccc91e8f6cb150c035843d3eefc074f1291a0e7d5f",
"zh:23373a63fe06bbfa90c6c105c08429031719bedafa2458973cbdad32a384b5a7",
"zh:256a97b79cedee2575002f77ac3bf18888ce0fc97170ae8a357db406bb0a88e3",
"zh:3dd9f93c167cd59491ae77781032491d36a80843a1e44f9ee68b41b3f8e3ab8e",
"zh:5182d2d61930dd83584d8feb56102614f80ddeec532b939b58085ad74b796a6e",
"zh:5e3ca1888ba3b3bd8abd0f7dfcdd82fb5a8819affee899ed7fd891a33c17e0cb",
"zh:7a3ce2119e39fb3a90a6a459a26863851309dbc92e0735336cbc98692539cb4d",
"zh:c095dc680a646cc078c10bb0551e2ea8f08e7abdbcbc58cfd332c56b58788631",
"zh:d2400e010e069c19916c99136e200cf873eba6db2b18d3eb9541b38eb1f565fa",
"zh:dbc2f19f09aaefbd69334005bca2bcb0c9b690de1ed76f7ba97ce8e59a6e85df",
"zh:e685225f432da3e23b8717848de8c0ad0e22363450b2ac92cd24a56739ab5e9b",
"h1:9YL6g+iEfg3OzX6qSZOYsictVO0fNP09D6jRwIZKwQ0=",
"h1:GjOKfCmvcyE06fUp5WrAzfCLkTQaCg2Ko/kFlq8OfpM=",
"h1:QTIohIPsVCqEmknrR2PdbVXyK1fjS805rMaZpEEpzFQ=",
"h1:SFb952CVUFUoFjfor+GUqAV6DQ6bnUfaFcWL2yJlFBo=",
"h1:aso3s6IuIQju5L/OLrywCfQl7aA5TF+sb5pZzo8JG20=",
"h1:cxGa9LRKCzwNacgnLjXnHUygkvAEd6pb8g8sRwzPSRE=",
"h1:kBW0qcDqNupOnsi7vvx/0TQRxXLtmDKAHwOwH5l03pc=",
"h1:t6x20B8TpQAG0TsUlyWLrAWNO+V8JE8K3Ij0hW0feSU=",
"zh:219d464dd727c0e5c90a97b44aa5d7988acc4eec47f3684f7ecd006b17c46d9c",
"zh:2511f2380209c81121e6eb943d7e68d03602a4fcf4f0311dfc67e198179b9303",
"zh:2ae200482bf592cd703981c4d4fe87a52c0dfae81a70261295f59b1bb0d01a6c",
"zh:7df6fe6573379c2faf2e801fdbca58ac909266dbee604feaa993439b8616c9b3",
"zh:9fb5a295588351ce565515dc2a770047e8bab786a4a9665511ab9a9ca2db5f1b",
"zh:a182f4aec86c74e9db4affa22323c5a21f5d92c1fcf91b934570753d04f4daf8",
"zh:a39bb8624fb6c714e38bc0e632aae117a9fede5a18a248ab15dd1b60013c0324",
"zh:bef2ffbdb68569549fe432b550592e07456759a7288f84f7c37c9d933a493f54",
]
}
+1 -1
View File
@@ -5,7 +5,7 @@ terraform {
required_providers {
cloudflare = {
source = "cloudflare/cloudflare"
version = "4.52.9"
version = "5.28.1"
}
}
}
+2 -2
View File
@@ -85,7 +85,7 @@ services:
container_name: immich_prometheus
ports:
- 9090:9090
image: prom/prometheus@sha256:5ce7540c3c00ef4ab0c9d2c995c6a5b9c421f44b4a115d97a2c7af3b1c21cbb0
image: prom/prometheus@sha256:fa3302279710be2f21a8301ec17a8b4f2301fd829bd113839b3b6b02b6f191a2
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.11-ubuntu@sha256:23f2328b859c7677c7065c81b479600706ef9cc9004977af5bbd68b159b8ea60
image: grafana/grafana:13.2.4-ubuntu@sha256:d838696907b4350d9232eb8da1503dc1d1010a0359d3ce4b3f7d2ff7db28eb75
volumes:
- grafana-data:/var/lib/grafana
+1 -1
View File
@@ -34,7 +34,7 @@ The mobile app is written in [Dart](https://dart.dev/) using [Flutter](https://f
<MobileArchitecture className="p-4 dark:bg-immich-dark-primary my-4" />
The diagrams shows the target architecture, the current state of the code-base is not always following the architecture yet. New code and contributions should follow this architecture.
Currently, it uses [Isar Database](https://isar.dev/) for a local database and [Riverpod](https://riverpod.dev/) for state management (providers).
Currently, it uses [Drift](https://drift.simonbinder.eu/) (SQLite) for a local database and [Riverpod](https://riverpod.dev/) for state management (providers).
Entities and Models are the two types of data classes used. While entities are stored in the on-device database, models are ephemeral and only kept in memory.
The Repositories should be the only place where other data classes are used internally (such as OpenAPI DTOs). However, their interfaces must not use foreign data classes!
@@ -85,7 +85,9 @@ You do not need to redo any machine learning jobs after enabling hardware accele
- RKNPU driver V0.9.8 or later must be available in the host server
- You may confirm this by running `cat /sys/kernel/debug/rknpu/version` to check the version
- Optional: Configure your `.env` file, see [environment variables](/install/environment-variables) for RKNN specific settings
- In particular, setting `MACHINE_LEARNING_RKNN_THREADS` to 2 or 3 can _dramatically_ improve performance for RK3576 and RK3588 compared to the default of 1, at the expense of multiplying the amount of RAM each model uses by that amount.
- By default each model gets one context per NPU core (1 on RK3566/RK3568, 2 on RK3576, 3 on RK3588), so concurrent requests run on all cores at once. The contexts of a model share its weights, but each one needs its own working memory. Extra contexts therefore cost little for models that are mostly weights, such as CLIP, but for OCR detection each one can add close to the model's own memory again, more so at higher OCR resolutions. Set `MACHINE_LEARNING_RKNN_THREADS=1` to trade throughput for memory.
- Keep `MACHINE_LEARNING_WORKERS=1` unless you have a specific reason not to: each worker process still loads its own copy of the weights.
- Raise Immich job concurrency (Smart Search, Face Detection, OCR) a bit above the number of NPU cores, e.g. `4`–`6`, so a prepared image is always waiting when a core frees up.
## Setup
@@ -100,7 +102,7 @@ You do not need to redo any machine learning jobs after enabling hardware accele
You can confirm the device is being recognized and used by checking its utilization. There are many tools to display this, such as `nvtop` for NVIDIA or Intel, `intel_gpu_top` for Intel, and `radeontop` for AMD.
You can also check the logs of the `immich-machine-learning` container. When a Smart Search or Face Detection job begins, or when you search with text in Immich, you should either see a log for `Available ORT providers` containing the relevant provider (e.g. `CUDAExecutionProvider` in the case of CUDA), or a `Loaded ANN model` log entry without errors in the case of ARM NN.
You can also check the logs of the `immich-machine-learning` container. When a Smart Search or Face Detection job begins, or when you search with text in Immich, you should either see a log for `Available ORT providers` containing the relevant provider (e.g. `CUDAExecutionProvider` in the case of CUDA), a `Loaded ANN model` log entry without errors in the case of ARM NN, or a `Loaded RKNN model ... threads sharing its weights` log entry for RKNN.
#### Single Compose File
@@ -174,7 +176,7 @@ Note that you should increase job concurrencies to increase overall utilization
- Less heat generation
- Very slightly lower accuracy (RKNPU always uses FP16, while ARM NN by default uses higher precision FP32 unless `MACHINE_LEARNING_ANN_FP16_TURBO` is enabled)
- Varying speed (tested on RK3588):
- If `MACHINE_LEARNING_RKNN_THREADS` is at the default of 1, RKNPU will have substantially lower throughput for ML jobs than ARM NN in most cases, but similar latency (such as when searching)
- If `MACHINE_LEARNING_RKNN_THREADS` is set to 3, it will be somewhat faster than ARM NN at FP32, but somewhat slower than ARM NN if `MACHINE_LEARNING_ANN_FP16_TURBO` is enabled
- With a single context (`MACHINE_LEARNING_RKNN_THREADS=1`), RKNPU will have substantially lower throughput for ML jobs than ARM NN in most cases, but similar latency (such as when searching)
- With three contexts (the default on RK3588), it will be somewhat faster than ARM NN at FP32, but somewhat slower than ARM NN if `MACHINE_LEARNING_ANN_FP16_TURBO` is enabled
- When other tasks also use the GPU (like transcoding), RKNPU has a significant advantage over ARM NN as it uses the otherwise idle NPU instead of competing for GPU usage
- Lower RAM usage if `MACHINE_LEARNING_RKNN_THREADS` is at the default of 1, but significantly higher if greater than 1 (which is necessary for it to fully utilize the NPU and hence be comparable in speed to ARM NN)
- Lower RAM usage than earlier RKNN builds: the contexts of a model share its weights instead of each loading their own copy. Keep `MACHINE_LEARNING_WORKERS=1` and raise Immich ML job concurrency a bit above the core count so every NPU core stays busy.
+5
View File
@@ -209,6 +209,11 @@ The default configuration looks like this:
"timeout": 30000,
"tokenEndpointAuthMethod": "client_secret_post"
},
"passkey": {
"enabled": true,
"domain": null,
"additionalDomains": []
},
"passwordLogin": {
"enabled": true
},
+1 -1
View File
@@ -179,7 +179,7 @@ Redis (Sentinel) URL example JSON before encoding:
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | `4` | machine learning |
| `MACHINE_LEARNING_MAX_BATCH_SIZE__OCR` | Set the maximum number of boxes that will be processed at once by the OCR model | `6` | machine learning |
| `MACHINE_LEARNING_RKNN` | Enable RKNN hardware acceleration if supported | `True` | machine learning |
| `MACHINE_LEARNING_RKNN_THREADS` | How many threads of RKNN runtime should be spun up while inferencing. | `1` | machine learning |
| `MACHINE_LEARNING_RKNN_THREADS` | Number of RKNN contexts per model, which share its weights | number of NPU cores | machine learning |
| `MACHINE_LEARNING_MODEL_ARENA` | Pre-allocates CPU memory to avoid memory fragmentation | true | machine learning |
| `MACHINE_LEARNING_MODEL_REVISION` | Model revision to download; `main` selects the original exports and `v2` selects the newer exports | `main` | machine learning |
+1 -1
View File
@@ -1,7 +1,7 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.wrangler]]
version = "4.137.0"
version = "4.152.0"
backend = "npm:wrangler"
[tools.wrangler.options]
+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.137.0"
wrangler = "4.152.0"
+14
View File
@@ -0,0 +1,14 @@
# e2e/AGENTS.md
End-to-end tests against a real Immich stack from `docker-compose.yml` (server on port 2285): API specs with vitest, browser specs with Playwright.
## Rules
- `test-assets/` is a git submodule; initialize it before running exif or upload specs.
- Use the shared helpers in `src/utils.ts` (`utils.adminSetup`, `utils.userSetup`, `utils.resetDatabase`, `utils.createAsset`, `utils.waitForQueueFinish`, `asBearerAuth`, `asKeyAuth`, `immichCli`) instead of re-implementing login or fixtures.
## Skills
- **Run API specs**: `src/specs/server/**/*.e2e-spec.ts`, run with `mise //e2e:test` (it builds the SDK, CLI and Docker images first). If nothing answers at `127.0.0.1:2285`, the vitest `globalSetup` starts the Docker stack itself; set `VITEST_DISABLE_DOCKER_SETUP=true` to reuse a running one. One file: `pnpm exec vitest --run src/specs/server/api/album.e2e-spec.ts`. Maintenance-mode specs use `pnpm exec vitest --run --config vitest.maintenance.config.ts`.
- **Run browser specs**: Playwright projects are `web` (`src/specs/web/`, real backend), `maintenance` (`src/specs/maintenance/web/`), and `ui` (`src/ui/specs/`, mocked network from `src/ui/mock-network/`). `mise //e2e:test-web` runs all projects and installs browsers first. One project or file: `pnpm exec playwright test --project=web src/specs/web/album.e2e-spec.ts`; add `--ui` for the Playwright UI. Set `PLAYWRIGHT_DISABLE_WEBSERVER=1` to reuse a running stack.
- **Write an API spec**: in `beforeAll` call `await utils.resetDatabase()` and `admin = await utils.adminSetup()`, create users with `utils.userSetup(admin.accessToken, dto)`, and call the server through `@immich/sdk` functions with `asBearerAuth(token)` or through `supertest` on `app` for raw status-code and validation checks. After uploads, `await utils.waitForQueueFinish(admin.accessToken, 'thumbnailGeneration')` before asserting on derived data.
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
"version": "3.3.3",
"version": "3.4.0-rc.0",
"description": "",
"main": "index.js",
"type": "module",
@@ -40,8 +40,8 @@
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^75.0.0",
"exiftool-vendored": "^35.0.0",
"eslint-plugin-unicorn": "^78.0.0",
"exiftool-vendored": "^39.0.0",
"globals": "^17.0.0",
"luxon": "^3.4.4",
"pg": "^8.11.3",
@@ -0,0 +1,384 @@
import * as sdk from '@immich/sdk';
import { LoginResponseDto, StorageFolder } from '@immich/sdk';
import { io, Socket } from 'socket.io-client';
import { createUserDto } from 'src/fixtures';
import { app, asBearerAuth, baseUrl, utils } from 'src/utils';
import request from 'supertest';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
describe('/futo-backups', () => {
let admin: LoginResponseDto;
let nonAdmin: LoginResponseDto;
let requestOpts: any;
let filename: string;
let socket: Socket;
let libraryId: string;
beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
nonAdmin = await utils.userSetup(admin.accessToken, createUserDto.user1);
requestOpts = { headers: asBearerAuth(admin.accessToken) };
await utils.resetBackups(admin.accessToken);
await sdk.futoBackupsResetOrchestrator(requestOpts);
socket = io(baseUrl, {
path: '/api/futo-backups/socket.io',
transports: ['websocket'],
extraHeaders: asBearerAuth(admin.accessToken),
});
socket.onAny(console.info);
});
afterAll(async () => {
socket.close();
// trigger update for orchestrator module config
if (libraryId) {
await utils.deleteLibrary(admin.accessToken, libraryId);
}
});
const finishedJobStatuses = new Set(['complete', 'warn', 'failed', 'cancelled', 'incomplete']);
const waitForMessage = (type: string, matches: (payload: any) => boolean = () => true) => {
return new Promise((resolve) => {
const listener = (msg: string) => {
const payload = JSON.parse(msg);
if (payload.type !== type || !matches(payload)) {
return;
}
resolve(payload);
socket.offAny(listener);
};
socket.onAny(listener);
});
};
describe('Orchestration Module', async () => {
it('works', async () => {
await expect(sdk.futoBackupsOnboardingStatus(requestOpts)).resolves.toEqual(
expect.objectContaining({
hasOnboardedKey: false,
hasBackend: false,
hasBackup: false,
hasSchedule: false,
hasSkippedExtraConfig: false,
}),
);
});
it('is inaccessible without admin', async () => {
await expect(sdk.futoBackupsOnboardingStatus({ headers: asBearerAuth(nonAdmin.accessToken) })).rejects.toEqual(
expect.objectContaining({ data: { message: expect.any(String) } }),
);
});
it('is inaccessible without logging in', async () => {
await expect(sdk.futoBackupsOnboardingStatus()).rejects.toEqual(
expect.objectContaining({ data: { message: 'Authentication required' } }),
);
});
});
describe('Local Backup', { concurrent: false }, async () => {
beforeAll(async () => {
await sdk.futoBackupsImportRecoveryKey(
{
importRecoveryKeyRequest: {
recoveryKey: '0'.repeat(64),
},
},
requestOpts,
);
});
it('configures a local backend', { concurrent: false }, async () => {
await utils.mkFolder('/local-backend');
await sdk.futoBackupsCreateLocalBackend(
{
createLocalBackendRequestDto: {
path: '/local-backend',
},
},
requestOpts,
);
});
it('configures Immich backup', { concurrent: false }, async () => {
const event = waitForMessage('IntegrationUpdate');
await sdk.futoBackupsConfigureImmichIntegration(
{
configureImmichIntegrationRequestDto: {
name: 'Immich',
worm: false,
cron: '0 3 * * *',
backupConfiguration: true,
dataFolders: [StorageFolder.Backups, StorageFolder.Upload],
libraries: ['all'],
},
},
requestOpts,
);
await event;
await expect(sdk.futoBackupsGetIntegrations(requestOpts)).resolves.toEqual(
expect.objectContaining({
immichIntegration: expect.objectContaining({
configuration: {
backupConfiguration: true,
dataFolders: ['backups', 'upload'],
libraries: ['all'],
},
}),
immichState: {
dataFolders: expect.arrayContaining(Object.values(StorageFolder)),
dataPath: '/data',
// may have stale libraries from other test runs
libraries: expect.any(Array),
},
}),
);
});
it('updates configuration', { concurrent: false }, async () => {
await utils.mkFolder('/test');
({ id: libraryId } = await utils.createLibrary(admin.accessToken, {
ownerId: admin.userId,
name: 'My Library',
importPaths: ['/test'],
}));
await expect(sdk.futoBackupsGetIntegrations(requestOpts)).resolves.toEqual(
expect.objectContaining({
immichIntegration: expect.any(Object),
immichState: expect.objectContaining({
libraries: expect.arrayContaining([
expect.objectContaining({
name: 'My Library',
importPaths: ['/test'],
}),
]),
}),
}),
);
});
it('creates a snapshot', { concurrent: false }, async () => {
const event = waitForMessage('JobUpdate', ({ job }) => finishedJobStatuses.has(job?.status));
const { repositories } = await sdk.futoBackupsGetRepositories(requestOpts);
const { id } = repositories[0];
filename = await utils.createBackup(admin.accessToken);
await sdk.futoBackupsCreateBackup({ id }, requestOpts);
await event;
const { snapshots } = await sdk.futoBackupsGetSnapshots({ id }, requestOpts);
const { id: snapshotId } = snapshots[0];
await expect(sdk.futoBackupsGetSnapshotListing({ id, snapshot: snapshotId }, requestOpts)).resolves
.toMatchInlineSnapshot(`
{
"items": [
{
"isDirectory": true,
"path": "/data",
},
{
"isDirectory": true,
"path": "/test",
},
],
"parent": "/",
"path": "/",
}
`);
await expect(sdk.futoBackupsGetSnapshotListing({ id, snapshot: snapshotId, path: '/data' }, requestOpts)).resolves
.toMatchInlineSnapshot(`
{
"items": [
{
"isDirectory": true,
"path": "/data/backups",
},
{
"isDirectory": true,
"path": "/data/upload",
},
],
"parent": "/",
"path": "/data",
}
`);
await expect(
sdk.futoBackupsGetSnapshotListing({ id, snapshot: snapshotId, path: '/data/backups' }, requestOpts),
).resolves.toEqual(
expect.objectContaining({
items: expect.arrayContaining([
{ isDirectory: false, path: '/data/backups/.immich' },
{ isDirectory: false, path: `/data/backups/${filename}` },
{ isDirectory: true, path: '/data/backups/yucca' },
]),
parent: '/data',
path: '/data/backups',
}),
);
});
});
describe('Restore Local Backup', { concurrent: false }, async () => {
let cookie: string;
beforeAll(async () => {
await sdk.futoBackupsResetOrchestrator(requestOpts);
await utils.resetDatabase();
socket.disconnect();
await utils.disconnectDatabase();
});
afterAll(async () => {
await utils.connectDatabase();
});
it('restores backup', { timeout: 60_000, concurrent: false }, async () => {
const { status, headers } = await request(app).post('/admin/database-backups/start-restore').send();
expect(status).toBe(201);
cookie = headers['set-cookie'][0].split(';', 1)[0];
await expect
.poll(
async () => {
const { status, body } = await request(app).get('/server/config');
expect(status).toBe(200);
return body.maintenanceMode;
},
{
interval: 500,
timeout: 10_000,
},
)
.toBeTruthy();
const maintenanceRequestOpts = {
headers: {
cookie,
},
};
await expect(sdk.futoBackupsGetSchedules(maintenanceRequestOpts)).resolves.toEqual({ schedules: [] });
await sdk.futoBackupsImportRecoveryKey(
{
importRecoveryKeyRequest: {
recoveryKey: '0'.repeat(64),
},
},
maintenanceRequestOpts,
);
const {
backend: { id: backendId },
} = await sdk.futoBackupsCreateLocalBackend(
{
createLocalBackendRequestDto: {
path: '/local-backend',
},
},
maintenanceRequestOpts,
);
const { repositories } = await sdk.futoBackupsInspectRepositories({}, maintenanceRequestOpts);
const { id: repositoryId, snapshots } = repositories[0];
const { id: snapshotId } = (snapshots ?? [])[0];
socket = io(baseUrl, {
path: '/api/futo-backups/socket.io',
transports: ['websocket'],
extraHeaders: {
cookie,
},
});
const event = waitForMessage('JobUpdate', ({ job }) => finishedJobStatuses.has(job?.status));
await sdk.futoBackupsRestoreFromPoint(
{
id: repositoryId,
snapshot: snapshotId,
backend: backendId,
repositorySnapshotRestoreFromPointRequestDto: {
yuccaConfig: '/data/yucca',
include: ['/data'],
},
},
maintenanceRequestOpts,
);
await event;
socket.disconnect();
const { status: restoreStatus } = await request(app).post('/admin/maintenance').set('Cookie', cookie).send({
action: 'restore_database',
restoreBackupFilename: filename,
});
expect(restoreStatus).toBe(201);
await expect
.poll(
async () => {
const { status, body } = await request(app).get('/server/config');
expect(status).toBe(200);
return body.maintenanceMode;
},
{
interval: 500,
timeout: 10_000,
},
)
.toBeTruthy();
const { status: status2, body } = await request(app).get('/admin/maintenance/status');
expect(status2).toBe(200);
expect(body).toEqual(
expect.objectContaining({
active: true,
action: 'restore_database',
}),
);
await expect
.poll(
async () => {
const { status, body } = await request(app).get('/server/config');
expect(status).toBe(200);
return body.maintenanceMode;
},
{
interval: 500,
timeout: 60_000,
},
)
.toBeFalsy();
await expect(sdk.futoBackupsGetSchedules(requestOpts)).resolves.toEqual({
schedules: expect.arrayContaining([expect.objectContaining({ id: expect.any(String) })]),
});
});
});
});
@@ -95,6 +95,7 @@ test.describe('Database Backups', () => {
await page.waitForURL('/maintenance**');
}
await page.getByRole('button', { name: 'Database Backup' }).click();
await page.getByRole('button', { name: 'Next' }).click();
await page.getByRole('button', { name: 'Restore', exact: true }).click();
await page.getByRole('dialog').getByRole('button', { name: 'Restore' }).click();
@@ -0,0 +1,173 @@
import * as sdk from '@immich/sdk';
import { LoginResponseDto, StorageFolder, getServerFeatures } from '@immich/sdk';
import { expect, test } from '@playwright/test';
import { io, type Socket } from 'socket.io-client';
import { asBearerAuth, baseUrl, utils } from 'src/utils';
test.describe.configure({ mode: 'serial' });
test.describe('FUTO Backups', () => {
let admin: LoginResponseDto;
let socket: Socket;
const finishedJobStatuses = new Set(['complete', 'warn', 'failed', 'cancelled', 'incomplete']);
const waitForJobEnd = () =>
new Promise<void>((resolve) => {
const listener = (msg: string) => {
try {
const payload = JSON.parse(msg);
if (payload.type === 'JobUpdate' && finishedJobStatuses.has(payload.job?.status)) {
socket.offAny(listener);
resolve();
}
} catch {
// no-op
}
};
socket.onAny(listener);
});
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
const headers = asBearerAuth(admin.accessToken);
await sdk.futoBackupsResetOrchestrator({ headers });
await sdk.futoBackupsImportRecoveryKey({ importRecoveryKeyRequest: { recoveryKey: '0'.repeat(64) } }, { headers });
await sdk.futoBackupsConfirmRecoveryKey({ headers });
await sdk.futoBackupsEnableTelemetry({ headers });
await utils.mkFolder('/local-backend');
socket = io(baseUrl, {
path: '/api/futo-backups/socket.io',
transports: ['websocket'],
extraHeaders: headers,
forceNew: true,
});
await new Promise<void>((resolve) => socket.on('connect', () => resolve()));
});
test.afterAll(async () => {
socket?.close();
});
test('the backups link opens the upsell before backups are configured', async ({ context, page }) => {
const headers = asBearerAuth(admin.accessToken);
await utils.setAuthCookies(context, admin.accessToken);
await expect(getServerFeatures({ headers })).resolves.toMatchObject({ backups: false });
await page.goto('/link?target=backups');
await page.waitForURL('/admin/backups');
await expect(page.getByRole('heading', { name: 'FUTO Backups', exact: true })).toBeVisible();
await expect(page.getByRole('button', { name: 'Get Started' })).toBeVisible();
await expect(page.getByRole('link', { name: 'Set up Backups' })).toBeVisible();
await expect(getServerFeatures({ headers })).resolves.toMatchObject({ backups: true });
});
test('the backups link opens the dashboard once backups are configured', async ({ context, page }) => {
test.setTimeout(60_000);
const headers = asBearerAuth(admin.accessToken);
await utils.setAuthCookies(context, admin.accessToken);
await sdk.futoBackupsCreateLocalBackend({ createLocalBackendRequestDto: { path: '/local-backend' } }, { headers });
await sdk.futoBackupsConfigureImmichIntegration(
{
configureImmichIntegrationRequestDto: {
name: 'Immich',
worm: false,
cron: '0 3 * * *',
backupConfiguration: true,
dataFolders: [StorageFolder.Backups, StorageFolder.Upload],
libraries: ['all'],
},
},
{ headers },
);
const { repositories } = await sdk.futoBackupsGetRepositories({ headers });
const backupEnd = waitForJobEnd();
await sdk.futoBackupsCreateBackup({ id: repositories[0].id }, { headers });
await backupEnd;
await page.goto('/link?target=backups');
await page.waitForURL('/admin/backups');
await expect(page.getByText('Your library backup')).toBeVisible();
await expect(page.getByText('Last backup successful')).toBeVisible();
});
test('manually triggers a backup and waits for completion', async ({ context, page }) => {
test.setTimeout(60_000);
await utils.setAuthCookies(context, admin.accessToken);
await page.goto('/admin/backups');
await page.getByRole('button', { name: 'Back up now', exact: true }).click();
const dialog = page.getByRole('dialog');
await expect(dialog.getByRole('heading', { name: 'Backing up your library' })).toBeVisible();
await expect(dialog.getByRole('heading', { name: 'Backup complete' })).toBeVisible({ timeout: 45_000 });
});
test('resets immich and restores from the local FUTO Backups backup', async ({ context, page }) => {
test.setTimeout(120_000);
await utils.setAuthCookies(context, admin.accessToken);
await utils.resetBackups(admin.accessToken);
await utils.createBackup(admin.accessToken);
await sdk.futoBackupsResetOrchestrator({ headers: asBearerAuth(admin.accessToken) });
await utils.resetDatabase();
await page.goto('/');
await page.getByRole('button', { name: 'Restore from backup' }).click();
try {
await page.waitForURL('/maintenance**');
} catch {
await page.goto('/maintenance');
await page.waitForURL('/maintenance**');
}
await page.getByRole('button', { name: 'FUTO Backups' }).click();
const dialog = page.getByRole('dialog');
await expect(dialog.filter({ hasText: 'Telemetry required for closed beta' })).toBeVisible();
await dialog.getByRole('button', { name: 'Continue' }).click();
await expect(dialog.filter({ hasText: 'Import recovery key' })).toBeVisible();
await dialog.getByLabel('Recovery Key').fill('0'.repeat(64));
await dialog.getByRole('button', { name: 'Save' }).click();
await expect(dialog.filter({ hasText: 'Where would you like to restore from?' })).toBeVisible();
await dialog.getByText('Local Storage').click();
await expect(dialog.filter({ hasText: 'Create local backend' })).toBeVisible();
await dialog.getByLabel('Path').fill('/local-backend');
await dialog.getByRole('button', { name: 'Save' }).click();
await expect(dialog.filter({ hasText: 'Select Backup' })).toBeVisible();
await dialog
.getByRole('button', { name: /Last backup/ })
.first()
.click();
await expect(dialog.filter({ hasText: /Restore from/ })).toBeVisible();
await dialog.getByRole('button', { name: 'Restore' }).first().click();
await expect(dialog.filter({ hasText: 'Confirm restore from snapshot' })).toBeVisible();
await dialog.getByRole('button', { name: 'Restore', exact: true }).click();
await expect(dialog.filter({ hasText: 'Restoring' })).toBeVisible();
await expect(dialog.filter({ hasText: 'Restoring' })).toBeHidden({ timeout: 60_000 });
await page.getByRole('button', { name: 'Continue' }).click();
await page.getByRole('dialog').getByRole('button', { name: 'Restore' }).click();
await page.waitForURL('/maintenance?**');
await page.waitForURL('/photos', { timeout: 90_000 });
});
});
+3 -9
View File
@@ -628,25 +628,19 @@ describe('/albums', () => {
]);
});
it('should not be able to remove foreign asset from foreign album', async () => {
it('should be able to remove foreign asset from shared album as an editor', async () => {
const { status, body } = await request(app)
.delete(`/albums/${user1Albums[0].id}/assets`)
.set('Authorization', `Bearer ${user2.accessToken}`)
.send({ ids: [user1Asset1.id] });
expect(status).toBe(200);
expect(body).toEqual([
expect.objectContaining({
id: user1Asset1.id,
success: false,
error: 'no_permission',
}),
]);
expect(body).toEqual([expect.objectContaining({ id: user1Asset1.id, success: true })]);
});
it('should be able to remove own asset from own album', async () => {
const { status, body } = await request(app)
.delete(`/albums/${user1Albums[0].id}/assets`)
.delete(`/albums/${user1Albums[2].id}/assets`)
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ ids: [user1Asset1.id] });
+1 -1
View File
@@ -355,7 +355,7 @@ describe('/asset', () => {
.set('Authorization', `Bearer ${user1.accessToken}`)
.send({ livePhotoVideoId: asset.id });
expect(body).toEqual(errorDto.badRequest('Live photo video does not belong to the user'));
expect(body).toEqual(errorDto.badRequest('Not found or no asset.update access'));
expect(status).toEqual(400);
});
+2 -2
View File
@@ -567,7 +567,7 @@ describe('/search', () => {
'New York',
'Shanghai',
'State of Berlin',
'St.-Petersburg',
'St. Petersburg',
'Tbilisi',
'Tokyo',
'Virginia',
@@ -591,7 +591,7 @@ describe('/search', () => {
'New York',
'Shanghai',
'State of Berlin',
'St.-Petersburg',
'St. Petersburg',
'Tbilisi',
'Tokyo',
'Virginia',
@@ -98,6 +98,7 @@ describe('/server', () => {
configFile: false,
duplicateDetection: false,
facialRecognition: false,
backups: false,
map: true,
reverseGeocoding: true,
importFaces: false,
@@ -206,6 +206,13 @@ describe('/shared-links', () => {
);
});
it('should not return album users', async () => {
const { status, body } = await request(app).get('/shared-links/me').query({ key: linkWithAlbum.key });
expect(status).toBe(200);
expect(body.album.albumUsers).toEqual([]);
});
it('should return unauthorized for incorrect shared link', async () => {
const { status, body } = await request(app)
.get('/shared-links/me')
-40
View File
@@ -1,40 +0,0 @@
import { LoginResponseDto, getMyUser, login } from '@immich/sdk';
import { createUserDto } from 'src/fixtures.js';
import { app, asBearerAuth, utils } from 'src/utils.js';
import request from 'supertest';
import { beforeAll, describe, expect, it } from 'vitest';
describe('/users', () => {
let admin: LoginResponseDto;
let nonAdmin: LoginResponseDto;
beforeAll(async () => {
await utils.resetDatabase();
admin = await utils.adminSetup({ onboarding: false });
nonAdmin = await utils.userSetup(admin.accessToken, createUserDto.user2);
});
describe('PUT /users/me', () => {
/** @deprecated */
it('should allow a user to change their password (deprecated)', async () => {
const user = await getMyUser({ headers: asBearerAuth(nonAdmin.accessToken) });
expect(user.shouldChangePassword).toBe(true);
const { status, body } = await request(app)
.put(`/users/me`)
.send({ password: 'super-secret' })
.set('Authorization', `Bearer ${nonAdmin.accessToken}`);
expect(status).toBe(200);
expect(body).toMatchObject({
email: nonAdmin.userEmail,
shouldChangePassword: false,
});
const token = await login({ loginCredentialDto: { email: nonAdmin.userEmail, password: 'super-secret' } });
expect(token.accessToken).toBeDefined();
});
});
});
+4 -3
View File
@@ -28,7 +28,7 @@ test.describe('Registration', () => {
await page.goto('/auth/login?autoLaunch=0');
await page.getByLabel('Email').fill('admin@immich.app');
await page.getByLabel('Password', { exact: true }).fill('password');
await page.getByRole('button', { name: 'Login' }).click();
await page.getByRole('button', { name: 'Login', exact: true }).click();
// onboarding
await expect(page).toHaveURL('/auth/onboarding');
@@ -66,11 +66,12 @@ test.describe('Registration', () => {
await page.goto('/auth/login?autoLaunch=0');
await page.getByLabel('Email').fill('user@immich.cloud');
await page.getByLabel('Password').fill('password');
await page.getByRole('button', { name: 'Login' }).click();
await page.getByRole('button', { name: 'Login', exact: true }).click();
// change password
await expect(page.getByRole('heading')).toHaveText('Change Password');
await expect(page).toHaveURL('/auth/change-password');
await page.getByLabel('Password', { exact: true }).fill('password');
await page.getByLabel('New Password').fill('new-password');
await page.getByLabel('Confirm Password').fill('new-password');
await page.getByRole('button', { name: 'Change password' }).click();
@@ -79,7 +80,7 @@ test.describe('Registration', () => {
await expect(page).toHaveURL('/auth/login?autoLaunch=0');
await page.getByLabel('Email').fill('user@immich.cloud');
await page.getByLabel('Password').fill('new-password');
await page.getByRole('button', { name: 'Login' }).click();
await page.getByRole('button', { name: 'Login', exact: true }).click();
// onboarding
await expect(page).toHaveURL('/auth/onboarding');
+1 -1
View File
@@ -103,7 +103,7 @@ test.describe('Shared Links', () => {
test('show error for invalid shared link', async ({ page }) => {
await page.goto('/share/invalid');
await page.getByRole('heading', { name: 'Invalid share key' }).waitFor();
await page.getByRole('heading', { name: 'Page not found' }).waitFor();
});
test('auth on navigation from shared link to timeline', async ({ context, page }) => {
@@ -14,9 +14,7 @@ type DayDistributionStrategy = (
rng: SeededRandom,
) => MockTimelineAsset[];
/**
* Strategies for determining total asset count per month
*/
/** Strategies for determining total asset count per month */
export const ASSET_DISTRIBUTION: Record<MonthDistribution, AssetDistributionStrategy | null> = {
empty: null, // Special case - handled separately
sparse: (rng) => rng.nextInt(3, 9), // 3-8 assets
@@ -25,9 +23,7 @@ export const ASSET_DISTRIBUTION: Record<MonthDistribution, AssetDistributionStra
'very-dense': (rng) => rng.nextInt(80, 151), // 80-150 assets
};
/**
* Strategies for distributing assets across days within a month
*/
/** Strategies for distributing assets across days within a month */
export const DAY_DISTRIBUTION: Record<DayPattern, DayDistributionStrategy> = {
'single-day': (year, month, daysInMonth, totalAssets, ownerId, rng) => {
// All assets on one day in the middle of the month
@@ -1,6 +1,4 @@
/**
* Generator functions for timeline model objects
*/
/** Generator functions for timeline model objects */
import { faker } from '@faker-js/faker';
import { AssetVisibility } from '@immich/sdk';
@@ -12,9 +10,7 @@ import { ASSET_DISTRIBUTION, DAY_DISTRIBUTION } from './distribution-patterns';
import type { MockTimelineAsset, MockTimelineData, SerializedTimelineData, TimelineConfig } from './timeline-config';
import { ASPECT_RATIO_WEIGHTS, GENERATION_CONSTANTS, validateTimelineConfig } from './timeline-config';
/**
* Generate a random aspect ratio based on weighted probabilities
*/
/** Generate a random aspect ratio based on weighted probabilities */
export function generateAspectRatio(rng: SeededRandom): string {
const random = rng.next();
let cumulative = 0;
@@ -89,9 +85,7 @@ export function generateAsset(
return asset;
}
/**
* Generate assets for a specific day
*/
/** Generate assets for a specific day */
export function generateDayAssets(
year: number,
month: number,
@@ -104,10 +98,10 @@ export function generateDayAssets(
}
/**
* Distribute assets evenly across consecutive days
*
* @returns Array of generated timeline assets
*/
Distribute assets evenly across consecutive days
@returns Array of generated timeline assets
*/
export function generateConsecutiveDays(
year: number,
month: number,
@@ -133,9 +127,7 @@ export function generateConsecutiveDays(
return assets;
}
/**
* Generate assets for a month with specified distribution pattern
*/
/** Generate assets for a month with specified distribution pattern */
export function generateMonthAssets(
year: number,
month: number,
@@ -173,9 +165,7 @@ export function generateMonthAssets(
return assets;
}
/**
* Main generator function for timeline data
*/
/** Main generator function for timeline data */
export function generateTimelineData(config: TimelineConfig): MockTimelineData {
validateTimelineConfig(config);
+30 -34
View File
@@ -1,6 +1,4 @@
/**
* REST API output functions for converting timeline data to API response formats
*/
/** REST API output functions for converting timeline data to API response formats */
import {
AlbumUserRole,
@@ -19,9 +17,7 @@ import { signupDto } from 'src/fixtures.js';
import { parseTimeBucketKey } from 'src/ui/generators/timeline/utils.js';
import type { MockTimelineAsset, MockTimelineData } from './timeline-config';
/**
* Convert timeline/asset models to columnar format (parallel arrays)
*/
/** Convert timeline/asset models to columnar format (parallel arrays) */
export function toColumnarFormat(assets: MockTimelineAsset[]): TimeBucketAssetResponseDto {
const result: TimeBucketAssetResponseDto = {
id: [],
@@ -70,11 +66,11 @@ export function toColumnarFormat(assets: MockTimelineAsset[]): TimeBucketAssetRe
}
/**
* Extract a single bucket from timeline data (mimics getTimeBucket API)
* Automatically handles both ISO timestamp and simple month formats
* Returns data in columnar format matching the actual API
* When albumId is provided, only returns assets from that album
*/
Extract a single bucket from timeline data (mimics getTimeBucket API)
Automatically handles both ISO timestamp and simple month formats
Returns data in columnar format matching the actual API
When albumId is provided, only returns assets from that album
*/
export function getTimeBucket(
timelineData: MockTimelineData,
timeBucket: string,
@@ -141,16 +137,16 @@ export type Changes = {
};
/**
* Helper function to determine if an asset should be included based on filter criteria
* @param asset - The asset to check
* @param isTrashed - Filter for trashed status (undefined means no filter)
* @param isArchived - Filter for archived status (undefined means no filter)
* @param isFavorite - Filter for favorite status (undefined means no filter)
* @param deletedAssetIds - Set of IDs for assets that have been deleted
* @param archivedAssetIds - Set of IDs for assets that have been archived
* @param favoritedAssetIds - Set of IDs for assets that have been favorited
* @returns true if the asset matches all filter criteria
*/
Helper function to determine if an asset should be included based on filter criteria
@param asset - The asset to check
@param isTrashed - Filter for trashed status (undefined means no filter)
@param isArchived - Filter for archived status (undefined means no filter)
@param isFavorite - Filter for favorite status (undefined means no filter)
@param deletedAssetIds - Set of IDs for assets that have been deleted
@param archivedAssetIds - Set of IDs for assets that have been archived
@param favoritedAssetIds - Set of IDs for assets that have been favorited
@returns true if the asset matches all filter criteria
*/
function shouldIncludeAsset(
asset: MockTimelineAsset,
isTrashed: boolean | undefined,
@@ -175,9 +171,9 @@ function shouldIncludeAsset(
return isFavorite === undefined || actuallyFavorited === isFavorite;
}
/**
* Get summary for all buckets (mimics getTimeBuckets API)
* When albumId is provided, only includes buckets that contain assets from that album
*/
Get summary for all buckets (mimics getTimeBuckets API)
When albumId is provided, only includes buckets that contain assets from that album
*/
export function getTimeBuckets(
timelineData: MockTimelineData,
isTrashed: boolean | undefined,
@@ -279,9 +275,9 @@ const createDefaultOwner = (ownerId: string) => {
};
/**
* Convert a TimelineAssetConfig to a full AssetResponseDto
* This matches the response from GET /api/assets/:id
*/
Convert a TimelineAssetConfig to a full AssetResponseDto
This matches the response from GET /api/assets/:id
*/
export function toAssetResponseDto(asset: MockTimelineAsset, owner?: UserResponseDto): AssetResponseDto {
const now = new Date().toISOString();
@@ -292,7 +288,7 @@ export function toAssetResponseDto(asset: MockTimelineAsset, owner?: UserRespons
make: null,
model: null,
exifImageWidth: asset.ratio > 1 ? 4000 : 3000,
exifImageHeight: asset.ratio > 1 ? Math.round(4000 / asset.ratio) : Math.round(3000 * asset.ratio),
exifImageHeight: Math.round(asset.ratio > 1 ? 4000 : 3000 / asset.ratio),
fileSizeInByte: asset.fileSizeInByte,
orientation: '1',
dateTimeOriginal: asset.fileCreatedAt,
@@ -348,9 +344,9 @@ export function toAssetResponseDto(asset: MockTimelineAsset, owner?: UserRespons
}
/**
* Get a single asset by ID from timeline data
* This matches the response from GET /api/assets/:id
*/
Get a single asset by ID from timeline data
This matches the response from GET /api/assets/:id
*/
export function getAsset(
timelineData: MockTimelineData,
assetId: string,
@@ -368,9 +364,9 @@ export function getAsset(
}
/**
* Get a mock album from timeline data
* This matches the response from GET /api/albums/:id
*/
Get a mock album from timeline data
This matches the response from GET /api/albums/:id
*/
export function getAlbum(
timelineData: MockTimelineData,
ownerId: string,
@@ -57,9 +57,7 @@ export type MonthSpec = {
pattern: DayPattern;
};
/**
* Configuration for timeline data generation
*/
/** Configuration for timeline data generation */
export type TimelineConfig = {
ownerId?: string;
months: MonthSpec[];
@@ -88,9 +86,7 @@ export type SerializedTimelineData = {
album: MockAlbum;
};
/**
* Validates a TimelineConfig object to ensure all values are within expected ranges
*/
/** Validates a TimelineConfig object to ensure all values are within expected ranges */
export function validateTimelineConfig(config: TimelineConfig): void {
if (!config.months || config.months.length === 0) {
throw new Error('TimelineConfig must contain at least one month');
@@ -146,9 +142,7 @@ export function validateTimelineConfig(config: TimelineConfig): void {
}
}
/**
* Create a default timeline configuration
*/
/** Create a default timeline configuration */
export function createDefaultTimelineConfig(): TimelineConfig {
const months: MonthSpec[] = [
// 2024 - Mix of patterns
+19 -30
View File
@@ -1,9 +1,7 @@
import { DateTime } from 'luxon';
import { GENERATION_CONSTANTS, MockTimelineAsset } from 'src/ui/generators/timeline/timeline-config.js';
/**
* Linear Congruential Generator for deterministic pseudo-random numbers
*/
/** Linear Congruential Generator for deterministic pseudo-random numbers */
export class SeededRandom {
private seed: number;
@@ -11,38 +9,32 @@ export class SeededRandom {
this.seed = seed;
}
/**
* Generate next random number in range [0, 1)
*/
/** Generate next random number in range [0, 1) */
next(): number {
// LCG parameters from Numerical Recipes
this.seed = (this.seed * 1_664_525 + 1_013_904_223) % 2_147_483_647;
return this.seed / 2_147_483_647;
}
/**
* Generate random integer in range [min, max)
*/
/** Generate random integer in range [min, max) */
nextInt(min: number, max: number): number {
return Math.floor(this.next() * (max - min)) + min;
}
/**
* Generate random boolean with given probability
*/
/** Generate random boolean with given probability */
nextBoolean(probability = 0.5): boolean {
return this.next() < probability;
}
}
/**
* Select random days using seed variation to avoid collisions.
*
* @param daysInMonth - Total number of days in the month
* @param numDays - Number of days to select
* @param rng - Random number generator instance
* @returns Array of selected day numbers, sorted in descending order
*/
Select random days using seed variation to avoid collisions.
@param daysInMonth - Total number of days in the month
@param numDays - Number of days to select
@param rng - Random number generator instance
@returns Array of selected day numbers, sorted in descending order
*/
export function selectRandomDays(daysInMonth: number, numDays: number, rng: SeededRandom): number[] {
const selectedDays = new Set<number>();
const maxAttempts = numDays * GENERATION_CONSTANTS.MAX_SELECT_ATTEMPTS; // Safety limit
@@ -64,9 +56,7 @@ export function selectRandomDays(daysInMonth: number, numDays: number, rng: Seed
return [...selectedDays].toSorted((a, b) => b - a);
}
/**
* Select item from array using seeded random
*/
/** Select item from array using seeded random */
export function selectRandom<T>(arr: T[], rng: SeededRandom): T {
if (arr.length === 0) {
throw new Error('Cannot select from empty array');
@@ -75,9 +65,7 @@ export function selectRandom<T>(arr: T[], rng: SeededRandom): T {
return arr[index];
}
/**
* Select multiple random items from array using seeded random without duplicates
*/
/** Select multiple random items from array using seeded random without duplicates */
export function selectRandomMultiple<T>(arr: T[], count: number, rng: SeededRandom): T[] {
if (arr.length === 0) {
throw new Error('Cannot select from empty array');
@@ -104,11 +92,11 @@ export function selectRandomMultiple<T>(arr: T[], count: number, rng: SeededRand
}
/**
* Parse timeBucket parameter to extract year-month key
* Handles both formats:
* - ISO timestamp: "2024-12-01T00:00:00.000Z" -> "2024-12-01"
* - Simple format: "2024-12-01" -> "2024-12-01"
*/
Parse timeBucket parameter to extract year-month key
Handles both formats:
- ISO timestamp: "2024-12-01T00:00:00.000Z" -> "2024-12-01"
- Simple format: "2024-12-01" -> "2024-12-01"
*/
export function parseTimeBucketKey(timeBucket: string): string {
if (!timeBucket) {
throw new Error('timeBucket parameter cannot be empty');
@@ -150,6 +138,7 @@ export function getMockAsset(
return null;
}
// eslint-disable-next-line unicorn/no-unnecessary-parameters
const isInDifferentPeriod = (date1: DateTime, date2: DateTime): boolean => {
if (unit === 'day') {
return !date1.startOf('day').equals(date2.startOf('day'));
+23
View File
@@ -1,5 +1,6 @@
import { BrowserContext } from '@playwright/test';
import { playwrightHost } from 'src/../playwright.config.js';
import { adminConfig, publicConfig, userConfig } from 'src/ui/mock-network/config-fixtures.js';
export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserId: string) => {
await context.addCookies([
@@ -113,6 +114,27 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI
},
});
});
await context.route('**/api/public/config', async (route) => {
return route.fulfill({
status: 200,
contentType: 'application/json',
json: publicConfig,
});
});
await context.route('**/api/config', async (route) => {
return route.fulfill({
status: 200,
contentType: 'application/json',
json: userConfig,
});
});
await context.route('**/api/admin/config', async (route) => {
return route.fulfill({
status: 200,
contentType: 'application/json',
json: adminConfig,
});
});
await context.route('**/api/server/features', async (route) => {
return route.fulfill({
status: 200,
@@ -121,6 +143,7 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI
smartSearch: false,
facialRecognition: false,
duplicateDetection: false,
backups: false,
map: true,
reverseGeocoding: true,
importFaces: false,
+171
View File
@@ -0,0 +1,171 @@
export const publicConfig = {
ffmpeg: { realtime: { enabled: false } },
map: {
enabled: true,
lightStyle: 'https://tiles.immich.cloud/v1/style/light.json',
darkStyle: 'https://tiles.immich.cloud/v1/style/dark.json',
},
oauth: { autoLaunch: false, buttonText: 'Login with OAuth', enabled: false },
passkey: { enabled: true },
passwordLogin: { enabled: true },
server: { loginPageMessage: '' },
};
export const userConfig = {
ffmpeg: { realtime: { enabled: false, videoCodecs: ['h264', 'hevc'], resolutions: [480, 720, 1080] } },
machineLearning: {
enabled: false,
clip: { enabled: true },
duplicateDetection: { enabled: true },
facialRecognition: { enabled: true, minFaces: 3 },
ocr: { enabled: true },
},
map: {
enabled: true,
lightStyle: 'https://tiles.immich.cloud/v1/style/light.json',
darkStyle: 'https://tiles.immich.cloud/v1/style/dark.json',
},
reverseGeocoding: { enabled: true },
oauth: { autoLaunch: false, buttonText: 'Login with OAuth', enabled: false, accountManagementUrl: '' },
passkey: { enabled: true },
passwordLogin: { enabled: true },
image: { thumbnail: { size: 250 }, preview: { size: 1440 }, fullsize: { enabled: false } },
trash: { enabled: true, days: 30 },
notifications: { smtp: { enabled: false } },
server: { externalDomain: '', loginPageMessage: '', publicUsers: true },
user: { deleteDelay: 7 },
};
export const adminConfig = {
backup: { database: { enabled: true, cronExpression: '0 02 * * *', keepLastAmount: 14 } },
ffmpeg: {
crf: 23,
threads: 0,
preset: 'ultrafast',
targetVideoCodec: 'h264',
acceptedVideoCodecs: ['h264'],
targetAudioCodec: 'aac',
acceptedAudioCodecs: ['aac', 'mp3', 'opus'],
acceptedContainers: ['mov', 'ogg', 'webm'],
targetResolution: '720',
maxBitrate: '0',
bframes: -1,
refs: 0,
gopSize: 0,
temporalAQ: false,
cqMode: 'auto',
twoPass: false,
preferredHwDevice: 'auto',
transcode: 'required',
tonemap: 'hable',
accel: 'disabled',
accelDecode: true,
realtime: { enabled: false, videoCodecs: ['h264', 'hevc'], resolutions: [480, 720, 1080] },
},
integrityChecks: {
missingFiles: { enabled: true, cronExpression: '0 03 * * *' },
untrackedFiles: { enabled: true, cronExpression: '0 03 * * *' },
checksumFiles: { enabled: true, cronExpression: '0 03 * * *', timeLimit: 3_600_000, percentageLimit: 1 },
},
job: {
thumbnailGeneration: { concurrency: 3 },
metadataExtraction: { concurrency: 5 },
videoConversion: { concurrency: 1 },
faceDetection: { concurrency: 2 },
smartSearch: { concurrency: 2 },
backgroundTask: { concurrency: 5 },
migration: { concurrency: 5 },
search: { concurrency: 5 },
sidecar: { concurrency: 5 },
library: { concurrency: 5 },
notifications: { concurrency: 5 },
ocr: { concurrency: 1 },
workflow: { concurrency: 5 },
editor: { concurrency: 2 },
integrityCheck: { concurrency: 1 },
},
logging: { enabled: true, level: 'log' },
machineLearning: {
enabled: false,
urls: ['http://immich-machine-learning:3003'],
availabilityChecks: { enabled: true, timeout: 2000, interval: 30_000 },
clip: { enabled: true, modelName: 'ViT-B-32__openai' },
duplicateDetection: { enabled: true, maxDistance: 0.01 },
facialRecognition: { enabled: true, modelName: 'buffalo_l', minScore: 0.7, maxDistance: 0.5, minFaces: 3 },
ocr: {
enabled: true,
modelName: 'PP-OCRv5_mobile',
minDetectionScore: 0.5,
minRecognitionScore: 0.8,
maxResolution: 736,
},
},
map: {
enabled: true,
lightStyle: 'https://tiles.immich.cloud/v1/style/light.json',
darkStyle: 'https://tiles.immich.cloud/v1/style/dark.json',
},
reverseGeocoding: { enabled: true },
metadata: { faces: { import: false } },
oauth: {
autoLaunch: false,
autoRegister: true,
buttonText: 'Login with OAuth',
clientId: '',
clientSecret: '',
defaultStorageQuota: null,
enabled: false,
issuerUrl: '',
accountManagementUrl: '',
endSessionEndpoint: '',
mobileOverrideEnabled: false,
mobileRedirectUri: '',
prompt: '',
scope: 'openid email profile',
signingAlgorithm: 'RS256',
profileSigningAlgorithm: 'none',
storageLabelClaim: 'preferred_username',
storageQuotaClaim: 'immich_quota',
roleClaim: 'immich_role',
tokenEndpointAuthMethod: 'client_secret_post',
timeout: 30_000,
allowInsecureRequests: false,
},
passkey: { enabled: true, domain: null, additionalDomains: [] },
passwordLogin: { enabled: true },
storageTemplate: {
enabled: false,
hashVerificationEnabled: true,
template: '{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}',
},
image: {
thumbnail: { format: 'webp', size: 250, quality: 80, progressive: false },
preview: { format: 'jpeg', size: 1440, quality: 80, progressive: false },
colorspace: 'p3',
extractEmbedded: false,
fullsize: { enabled: false, format: 'jpeg', quality: 80, progressive: false },
},
newVersionCheck: { enabled: true, channel: 'stable' },
nightlyTasks: {
startTime: '00:00',
databaseCleanup: true,
generateMemories: true,
syncQuotaUsage: true,
missingThumbnails: true,
clusterNewFaces: true,
},
trash: { enabled: true, days: 30 },
theme: { customCss: '' },
library: { scan: { enabled: true, cronExpression: '0 0 * * *' }, watch: { enabled: false } },
server: { externalDomain: '', loginPageMessage: '', publicUsers: true },
notifications: {
smtp: {
enabled: false,
from: '',
replyTo: '',
transport: { ignoreCert: false, host: '', port: 587, secure: false, username: '', password: '' },
},
},
templates: { email: { welcomeTemplate: '', albumInviteTemplate: '', albumUpdateTemplate: '' } },
user: { deleteDelay: 7 },
};
@@ -100,7 +100,7 @@ test.describe('OCR with stacked assets', () => {
const stackThumbnails = page.locator('#stack-slideshow [data-asset]');
await expect(stackThumbnails).toHaveCount(2);
await stackThumbnails.nth(1).click();
await page.locator(`#stack-slideshow [data-asset="${secondAssetDto.id}"]`).click();
// refreshOcr() clears showOverlay when switching assets, so re-enable it
await expect(ocrBoxes).toHaveCount(0);
@@ -242,6 +242,7 @@ test.describe('OCR text interaction', () => {
return;
}
// eslint-disable-next-line unicorn/no-unnecessary-parameters
const createTouch = (id: number, x: number, y: number) => {
return new Touch({
identifier: id,
@@ -75,8 +75,8 @@ test.describe('asset-viewer stack', () => {
await page.goto(`/photos/${fixture.primaryAsset.id}`);
await ensureDetailPanelVisible(page);
const stackAssets = page.locator('#stack-slideshow [data-asset]');
await stackAssets.nth(1).click();
const secondAsset = page.locator(`#stack-slideshow [data-asset="${secondAssetDto.id}"]`);
await secondAsset.click();
const tags = page.getByTestId('detail-panel-tags').getByRole('link');
await expect(tags.first()).toHaveText('test/2');
@@ -150,10 +150,10 @@ test.describe('Timeline', () => {
});
test.describe('keyboard', () => {
/**
* This text tests keyboard nativation, and also ensures that the scroll-to-asset behavior
* scrolls the minimum amount. That is, if you are navigating using right arrow (auto scrolling
* as necessary downwards), then the asset should always be at the lowest row of the grid.
*/
This text tests keyboard nativation, and also ensures that the scroll-to-asset behavior
scrolls the minimum amount. That is, if you are navigating using right arrow (auto scrolling
as necessary downwards), then the asset should always be at the lowest row of the grid.
*/
test('Next/previous asset - ArrowRight/ArrowLeft', async ({ page }) => {
await pageUtils.openPhotosPage(page);
await thumbnailUtils.withAssetId(page, assets[0].id).focus();
+8 -5
View File
@@ -31,6 +31,7 @@ import {
createUserAdmin,
deleteAssets,
deleteDatabaseBackup,
deleteLibrary,
getAssetInfo,
getConfig,
getConfigDefaults,
@@ -270,13 +271,13 @@ export const utils = {
}
},
waitForWebsocketEvent: ({ event, id, total: count, timeout: ms }: WaitOptions): Promise<void> => {
waitForWebsocketEvent: ({ event, id, total: count, timeout: ms = 10_000 }: WaitOptions): Promise<void> => {
return new Promise<void>((resolve, reject) => {
if (!id && !count) {
reject(new Error('id or count must be provided for waitForWebsocketEvent'));
}
const timeout = setTimeout(() => reject(new Error(`Timed out waiting for ${event} event`)), ms || 10_000);
const timeout = setTimeout(() => reject(new Error(`Timed out waiting for ${event} event`)), ms);
const type = id ? `id=${id}` : `count=${count}`;
console.log(`Waiting for ${event} [${type}]`);
const set = events[event];
@@ -466,6 +467,8 @@ export const utils = {
updateLibrary: (accessToken: string, id: string, dto: UpdateLibraryDto) =>
updateLibrary({ id, updateLibraryDto: dto }, { headers: asBearerAuth(accessToken) }),
deleteLibrary: (accessToken: string, id: string) => deleteLibrary({ id }, { headers: asBearerAuth(accessToken) }),
createPartner: (accessToken: string, id: string) =>
createPartner({ partnerCreateDto: { sharedWithId: id } }, { headers: asBearerAuth(accessToken) }),
@@ -550,7 +553,7 @@ export const utils = {
{
headers: asBearerAuth(accessToken),
fetch: (...args: Parameters<typeof fetch>) =>
// eslint-disable-next-line unicorn/no-invalid-argument-count, unicorn/prefer-await
// eslint-disable-next-line unicorn/prefer-await
fetch(...args).then((response) => {
setCookie = response.headers.getSetCookie();
return response;
@@ -660,10 +663,10 @@ export const utils = {
return !jobCounts.active && (!jobCounts.waiting || queues[queue].queueStatus.isPaused);
},
waitForQueueFinish: (accessToken: string, queue: keyof QueuesResponseLegacyDto, ms?: number) => {
waitForQueueFinish: (accessToken: string, queue: keyof QueuesResponseLegacyDto, ms: number = 15_000) => {
// eslint-disable-next-line no-async-promise-executor
return new Promise<void>(async (resolve, reject) => {
const timeout = setTimeout(() => reject(new Error('Timed out waiting for queue to empty')), ms || 15_000);
const timeout = setTimeout(() => reject(new Error('Timed out waiting for queue to empty')), ms);
while (true) {
const done = await utils.isQueueEmpty(accessToken, queue);
+3
View File
@@ -1,5 +1,6 @@
{
"about": "Oor",
"accept": "Aanvaar",
"account": "Rekening",
"account_settings": "Rekeninginstellings",
"acknowledge": "Neem kennis",
@@ -29,11 +30,13 @@
"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_album_item_count": "Voeg {count, plural, one {# item} other {# items}} tot album toe",
"add_to_albums": "Voeg toe tot albums",
"add_to_albums_count": "Voeg toe tot albums ({count})",
"add_to_bottom_bar": "Voeg toe",
"add_upload_to_stack": "Voeg oplaai by stapel",
"add_url": "Voeg bronadres toe",
"add_user": "Voeg gebruiker toe",
"added_to_archive": "Tot argief toegevoeg",
"added_to_favorites": "Tot gunstelinge toegevoeg",
"added_to_favorites_count": "{count, number} tot gunstelinge toegevoeg",
-4
View File
@@ -1210,7 +1210,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}، {country} مع {person1}، {person2}، و{person3} في {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} تم التقاطها في {city}, {country} with {person1}, {person2}, مع {additionalCount, number} آخرين في {date}",
"immich_logo": "شعار immich",
"immich_web_interface": "واجهة ويب immich",
"import_from_json": "استيراد من JSON",
"import_path": "مسار الاستيراد",
"in_albums": "في {count, plural, one {# ألبوم } other {# ألبومات}}",
@@ -1915,8 +1914,6 @@
"setting_image_viewer_help": "يقوم عارض التفاصيل بتحميل الصورة المصغرة الصغيرة أولاً ، ثم يقوم بتحميل المعاينة متوسطة الحجم (إذا تم تمكينها) ، ويقوم أخيرًا بتحميل الأصل (إذا تم تمكينه).",
"setting_image_viewer_original_subtitle": "تمكين تحميل الصورة الكاملة الدقة الأصلية (كبيرة!).تعطيل لتقليل استخدام البيانات (كل من الشبكة وعلى ذاكرة التخزين المؤقت للجهاز).",
"setting_image_viewer_original_title": "تحميل الصورة الأصلية",
"setting_image_viewer_preview_subtitle": "تمكين تحميل صورة متوسطة الدقة.تعطيل إما لتحميل مباشرة أو استخدام الصورة المصغرة مباشرة.",
"setting_image_viewer_preview_title": "تحميل صورة معاينة",
"setting_languages_apply": "تغيير الإعدادات",
"setting_languages_subtitle": "تغيير لغة التطبيق",
"setting_notifications_notify_minutes": "{count} دقائق",
@@ -1982,7 +1979,6 @@
"shared_link_password_description": "طلب كلمة مرور للوصول إلى هذا الرابط المشترك",
"shared_links": "روابط مشتركة",
"shared_links_description": "وصف الروابط المشتركة",
"shared_photos_and_videos_count": "{assetCount, plural, other {# الصور ومقاطع الفيديو المُشارَكة.}}",
"shared_with_me": "تمت مشاركتها معي",
"shared_with_partner": "تمت المشاركة مع {partner}",
"sharing": "مشاركة",
-4
View File
@@ -1212,7 +1212,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Відэа} other {Фота}} зробленае ў {city}, {country} з {person1}, {person2} і {person3} {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Відэа} other {Фота}} зробленае ў {city}, {country} з {person1}, {person2} і яшчэ {additionalCount, number} інш. {date}",
"immich_logo": "Лагатып Immich",
"immich_web_interface": "Вэб-інтэрфейс Immich",
"import_from_json": "Імпарт з JSON",
"import_path": "Шлях імпарту",
"in_albums": "У {count, plural, one {# альбоме} few {# альбомах} many {# альбомах} other {# альбома}}",
@@ -1931,8 +1930,6 @@
"setting_image_viewer_help": "Дэталёвы прагляд спачатку запампоўвае маленькую мініяцюру, потым папярэдні прагляд сярэдняга памеру (калі ўключана), і нарэшце арыгінал (калі ўключана).",
"setting_image_viewer_original_subtitle": "Уключыце для загрузкі зыходнага відарыса ў поўнай раздзяляльнасці (вялікі!). Адключыце, каб зменшыць выкарыстанне трафіка (як сеткі, так і кэша прылады).",
"setting_image_viewer_original_title": "Загружаць арыгінальны відарыс",
"setting_image_viewer_preview_subtitle": "Уключыце для запампавання відарыса сярэдняй раздзяляльнасці. Адключыце, каб загружаць толькі арыгінал ці мініяцюру.",
"setting_image_viewer_preview_title": "Загружаць відарыс перадпрагляду",
"setting_languages_apply": "Ужыць",
"setting_languages_subtitle": "Змяненне мовы праграмы",
"setting_notifications_notify_minutes": "{count} хв",
@@ -1998,7 +1995,6 @@
"shared_link_password_description": "Патрабаваць пароль для доступу да гэтай абагуленай спасылкі",
"shared_links": "Абагуленыя спасылкі",
"shared_links_description": "Абагульвайце фота і відэа праз спасылку",
"shared_photos_and_videos_count": "{assetCount, plural, one {# абагуленае фота і відэа.} few {# абагуленыя фота і відэа.} many {# абагуленых фота і відэа.} other {# абагуленага фота і відэа.}}",
"shared_with_me": "Абагуленыя са мной",
"shared_with_partner": "Абагулена з {partner}",
"sharing": "Абагульванне",
+25 -6
View File
@@ -323,6 +323,13 @@
"oauth_timeout": "Време на изчакване при заявка",
"oauth_timeout_description": "Време за изчакване на отговор на заявка, в милисекунди",
"ocr_job_description": "Използване на машинно обучение за разпознаване на текст в изображенията",
"passkey_additional_domains": "Допълнителни домейни",
"passkey_additional_domains_description": "Допълнителни, доверени домейни (свързани заявки за произход). Те ще работят само ако домейнът с ключ за достъп също е достъпен.",
"passkey_domain": "Домейн с ключ за достъп",
"passkey_domain_description": "Домейн, използван за пароли (доверяваща се страна). Оставете празно, за да се прави извод от заглавията на оригинала. Промяната на тази стойност ще направи съществуващите пароли да не работят.",
"passkey_enable_description": "Влизане с парола",
"passkey_settings": "Вход с парола",
"passkey_settings_description": "Управление на настройки за влизане с парола",
"password_enable_description": "Влизане с имейл и парола",
"password_settings": "Вписване с парола",
"password_settings_description": "Управление на настройките за влизане с парола",
@@ -671,6 +678,7 @@
"birthdate_set_description": "Датата на раждане се използва за изчисляване на възрастта на този човек към момента на снимката.",
"birthday_memory_age": "{age, selectordinal, one {#ви} two {#ри} few {#ти} other {#ти}} рожден ден",
"birthday_memory_title": "Ражден ден на {name}",
"birthday_memory_title_with_age": "Рожден ден на {name} · {age, plural, one {# година} other {# години}}",
"blurred_background": "Замъглен заден фон",
"browse_templates": "Разглеждане на шаблони",
"bugs_and_feature_requests": "Бъгове и заявки за функции",
@@ -872,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Изтрий локално само архивираните",
"delete_local_dialog_ok_force": "Въпреки това изтрий",
"delete_others": "Изтрий останалите",
"delete_passkey": "Премахване на парола",
"delete_passkey_prompt": "Наистина ли искате да премахнете паролата?",
"delete_permanently": "Изтрий за постоянно",
"delete_permanently_action_prompt": "{count} изтрити за постоянно",
"delete_shared_link": "Изтриване на споделен линк",
@@ -941,6 +951,7 @@
"edit_location_action_prompt": "{count} локации са редактирани",
"edit_location_dialog_title": "Местоположение",
"edit_name": "Редактиране на име",
"edit_passkey": "Смяна на парола",
"edit_people": "Редактиране на хора",
"edit_person": "Редактиране на данни за човек",
"edit_tag": "Редактиране на етикет",
@@ -1238,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Видео} other {Снимка}} заснето с {city}, {country} и {person1}, {person2}, и {person3} на {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Видео} other {Снимка}} заснето в {city}, {country} с {person1}, {person2}, и {additionalCount, number} други на{date}",
"immich_logo": "Immich лого",
"immich_web_interface": "Уеб интерфейс на Immich",
"import_from_json": "Импортиране от JSON",
"import_path": "Път за импортиране",
"in_albums": "В {count, plural, one {# албум} other {# албума}}",
@@ -1286,6 +1296,7 @@
"last": "Последен",
"last_months": "{count, plural, one {Последния месец} other {Последните # месеца}}",
"last_seen": "Последно видяно",
"last_used": "Последно използвана",
"latest_version": "Последна версия",
"latitude": "Ширина",
"leave": "Излез",
@@ -1361,6 +1372,7 @@
"login_has_been_disabled": "Влизането е деактивирано",
"login_password_changed_error": "Грешка при обновяване на паролата",
"login_password_changed_success": "Успешно обновена парола",
"login_with_passkey": "Влизане с паролa",
"logout_all_device_confirmation": "Сигурни ли сте, че искате да излезете от всички устройства?",
"logout_this_device_confirmation": "Сигурни ли сте, че искате да излезете от това устройство?",
"logs": "Дневник",
@@ -1400,6 +1412,7 @@
"manage_media_access_title": "Управление на медийни файлове",
"manage_oauth_account": "Управление на OAuth акаунт",
"manage_people": "Управление на хора",
"manage_people_access_description_v2": "Даване на достъп на други потребители до {count, plural, one {този човек} other {тези хора}}, като им разрешавате да виждат и управляват от ваше име. Това действие не споделя достъп до никакви ресурси.",
"manage_person_access": "Управление на достъпа",
"manage_sharing_with_other_users": "Управление на споделяне с други потребители",
"manage_sharing_with_partners": "Управление на споделянето с партньори",
@@ -1408,6 +1421,7 @@
"manage_your_api_keys": "Управление на вашите API ключове",
"manage_your_devices": "Управление на влезлите в системата устройства",
"manage_your_oauth_connection": "Управление на OAuth връзката",
"manage_your_passkeys": "Управлявайте вашите пароли",
"map": "Карта",
"map_assets_in_bounds": "{count, plural, =0 {Няма снимки в тази зона} one {# снимка} other {# снимки}}",
"map_cannot_get_user_location": "Не можах да получа местоположението",
@@ -1527,6 +1541,7 @@
"new_album": "Нов Албум",
"new_api_key": "Нов API ключ",
"new_feature": "Нова функция",
"new_passkey": "Нова паролa",
"new_password": "Нова парола",
"new_person": "Нов човек",
"new_pin_code": "Нов PIN код",
@@ -1639,6 +1654,8 @@
"partner_sharing": "Споделяне с партньори",
"partners": "Партньори",
"partners_description": "Споделете своите снимки и видео с други потребители",
"passkeys": "{count, plural, one {Парола} other {Пароли}}",
"passkeys_not_supported": "Този браузър не поддържа пароли",
"password": "Парола",
"password_does_not_match": "Паролата не съвпада",
"password_required": "Изисква се парола",
@@ -1823,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Премахнати #}} от Любими",
"removed_from_stack": "Активът е премахнат от групата",
"removed_memory": "Премахнат спомен",
"removed_passkey": "Премахната парола: {name}",
"removed_tagged_assets": "Премахнат е етикетът от {count, plural, one {# елемент} other {# елемента}}",
"rename": "Преименувай",
"repository": "Хранилище",
@@ -1984,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Ако е избрано, можете да навигирате към предишна/следваща снимка като натиснете върху лявата/дясната страна на екрана.",
"setting_image_navigation_enable_title": "Натисни за навигиране",
"setting_image_navigation_title": "Навигиране на снимка",
"setting_image_viewer_help": "При показване на обект първо се зарежда миниатюра, после изображение със средно качество (ако е разрешено) и накрая оригинала (ако е разрешено).",
"setting_image_viewer_help": "При показване на обект първо се зарежда миниатюра, после изображение със средно качество и накрая оригинала (ако е разрешено).",
"setting_image_viewer_original_subtitle": "Разреши за да се зарежда оригиналното изображение в пълен размер (голям!). Забрани за да се намали обема на данните (по мрежата и в кеша на устройството).",
"setting_image_viewer_original_title": "Зареждане на оригинално изображение",
"setting_image_viewer_preview_subtitle": "Разреши за да се зарежда изображение със средно качество (и размер). Забрани за да се зарежда само оригинал и миниатюра.",
"setting_image_viewer_preview_title": "Зареждане на миниатюра",
"setting_languages_apply": "Приложи",
"setting_languages_subtitle": "Смени езика на приложението",
"setting_notifications_notify_minutes": "{count} минути",
@@ -2008,8 +2024,9 @@
"share_everyone": "Споделете с всеки",
"share_everyone_description": "Дайте на {user} достъп до всички ваши хора.",
"share_link": "Връзка за споделяне",
"share_logs": "Споделяне на дневници",
"share_original": "Използвай оригинала (голям размер)",
"share_preview": "Използвай миниатюра (намален размер)",
"share_preview": "Използвай миниатюра (умален размер)",
"share_quality_body": "Натиснете и задръжте бутона за споделяне, за да изберете качеството на изображението, преди да го споделите.",
"share_quality_title": "Изберете качеството при споделяне",
"share_with": "Споделете достъп с",
@@ -2059,7 +2076,6 @@
"shared_link_password_description": "Изискване на парола за достъп до споделения линк",
"shared_links": "Споделени връзки",
"shared_links_description": "Сподели снимки и видеа с линк",
"shared_photos_and_videos_count": "{assetCount, plural, other {# споделени снимки и видеа.}}",
"shared_with": "Споделено с",
"shared_with_count": "Споделени ({count})",
"shared_with_me": "Споделено с мен",
@@ -2187,6 +2203,8 @@
"theme": "Тема",
"theme_selection": "Избор на тема",
"theme_selection_description": "Автоматично задаване на светла или тъмна тема спрямо системните предпочитания на браузъра ви",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Превъртай непрекъснато при влачене по скролбара, вместо да скачаш по месеци",
"theme_setting_asset_list_smooth_scrubbing_title": "Плавно превъртане на времевата линия",
"theme_setting_asset_list_storage_indicator_title": "Показвай индикатор за хранилището в заглавията на обектите",
"theme_setting_asset_list_tiles_per_row_title": "Брой обекти на ред ({count})",
"theme_setting_colorful_interface_subtitle": "Нанеси основен цвят върху фоновите повърхности.",
@@ -2338,6 +2356,7 @@
"view_group": "Вижте група",
"view_in_timeline": "Покажи във времева линия",
"view_link": "Преглед на връзката",
"view_more": "Вижте още",
"view_name": "Прегледай",
"view_next_asset": "Преглед на следващия файл",
"view_previous_asset": "Преглед на предишния файл",
+6 -5
View File
@@ -34,7 +34,7 @@
"add_to_albums": "অ্যালবামে যোগ করুন",
"add_to_albums_count": "অ্যালবামে যোগ করুন ({count})",
"add_to_bottom_bar": "এ যোগ করুন",
"add_upload_to_stack": "আপলোড স্ট্যাকে যোগ করুন",
"add_upload_to_stack": "আপলোড করুন এবং {isStack, select, true {স্ট্যাকে যোগ করুন} other {স্ট্যাক তৈরি করুন}}",
"add_url": "লিঙ্ক যোগ করুন",
"add_user": "ব্যবহারকারী যোগ করুন",
"added_to_archive": "আর্কাইভ এ যোগ করা হয়েছে",
@@ -323,6 +323,11 @@
"oauth_timeout": "রিকোয়েস্ট টাইম-আউট (Request Timeout)",
"oauth_timeout_description": "মিলিসেকেন্ডে রিকোয়েস্টের টাইম-আউট (Timeout for requests in milliseconds)",
"ocr_job_description": "ছবি থেকে টেক্সট শনাক্ত করতে মেশিন লার্নিং ব্যবহার করুন",
"passkey_additional_domains": "অতিরিক্ত ডোমেইনসমূহ",
"passkey_additional_domains_description": "অতিরিক্ত বিশ্বস্ত ডোমেইনসমূহ (সংশ্লিষ্ট উৎস থেকে আসা অনুরোধ)। পাসকি ডোমেইনটিও অ্যাক্সেসযোগ্য থাকলেই কেবল এগুলো কাজ করবে।",
"passkey_domain": "পাসকি ডোমেইন",
"passkey_domain_description": "পাসকির জন্য ব্যবহৃত ডোমেইন (রিলাইং পার্টি)। অরিজিন হেডার থেকে স্বয়ংক্রিয়ভাবে নির্ধারণ করতে চাইলে ফাঁকা রাখুন। এই মান পরিবর্তন করলে বিদ্যমান পাসকিগুলো আর কাজ করবে না।",
"passkey_enable_description": "পাসকি দিয়ে লগইন করুন",
"password_enable_description": "ইমেল এবং পাসওয়ার্ড দিয়ে লগইন করুন",
"password_settings": "পাসওয়ার্ড লগইন (Password Login)",
"password_settings_description": "পাসওয়ার্ড লগইন সেটিংস ম্যানেজ করুন",
@@ -1220,7 +1225,6 @@
"image_alt_text_date_place_3_people": "{city}, {country}-এ {person1}, {person2}, এবং {person3}-এর সাথে {date} তারিখে তোলা {isVideo, select, true {ভিডিও} other {ছবি}}",
"image_alt_text_date_place_4_or_more_people": "{city}, {country}-এ {person1}, {person2}, এবং আরও {additionalCount, number} জনের সাথে {date} তারিখে তোলা {isVideo, select, true {ভিডিও} other {ছবি}}",
"immich_logo": "ইমিচ লোগো",
"immich_web_interface": "ইমিচ ওয়েব ইন্টারফেস",
"import_from_json": "জেএসওএন থেকে আমদানি করুন",
"import_path": "আমদানি পথ",
"in_albums": "{count, plural, one {#টি অ্যালবামে} other {#টি অ্যালবামে}}",
@@ -1949,8 +1953,6 @@
"setting_image_viewer_help": "ডিটেইল ভিউয়ার প্রথমে ছোট থাম্বনেইল লোড করে, তারপর মাঝারি আকারের প্রিভিউ লোড করে (চালু থাকলে), অবশেষে মূল ছবি লোড করে (চালু থাকলে)।",
"setting_image_viewer_original_subtitle": "মূল পূর্ণ-রেজোলিউশন ছবি লোড করতে চালু করুন (বড়!)। ডেটা ব্যবহার কমাতে (নেটওয়ার্ক ও ডিভাইস ক্যাশ উভয়ই) নিষ্ক্রিয় করুন।",
"setting_image_viewer_original_title": "মূল ছবি লোড করুন",
"setting_image_viewer_preview_subtitle": "মাঝারি-রেজোলিউশন ছবি লোড করতে চালু করুন। সরাসরি মূল ছবি লোড করতে বা শুধুমাত্র থাম্বনেইল ব্যবহার করতে নিষ্ক্রিয় করুন।",
"setting_image_viewer_preview_title": "প্রিভিউ ছবি লোড করুন",
"setting_languages_apply": "প্রয়োগ করুন",
"setting_languages_subtitle": "অ্যাপের ভাষা পরিবর্তন করুন",
"setting_notifications_notify_minutes": "{count} মিনিট",
@@ -2016,7 +2018,6 @@
"shared_link_password_description": "এই শেয়ার লিংক অ্যাক্সেস করতে পাসওয়ার্ড আবশ্যক করুন",
"shared_links": "শেয়ার করা লিংক",
"shared_links_description": "একটি লিংক দিয়ে ছবি ও ভিডিও শেয়ার করুন",
"shared_photos_and_videos_count": "{assetCount, plural, other {#টি শেয়ার করা ছবি ও ভিডিও।}}",
"shared_with_me": "আমার সাথে শেয়ার করা হয়েছে",
"shared_with_partner": "{partner}-এর সাথে শেয়ার করা হয়েছে",
"sharing": "শেয়ারিং",
+36 -17
View File
@@ -86,7 +86,7 @@
"failed_job_command": "L’ordre {command} ha fallat a la tasca: {job}",
"force_delete_user_warning": "ADVERTÈNCIA: Aquesta acció suprimirà immediatament l’usuari i tots els recursos. Aquesta acció no es pot desfer i els fitxers no es podran recuperar.",
"image_format": "Format",
"image_format_description": "WebP genera fitxers més petits que JPEG, però es codifica més lentament.",
"image_format_description": "WebP genera fitxers més petits que JPEG, però es codifica més lentament. JPEG XL és la millor opció per a una compressió d’alta qualitat, però no tots els navegadors i aplicacions el poden mostrar.",
"image_fullsize_description": "Imatge de mida completa amb les metadades eliminades. S’utilitza en ampliar",
"image_fullsize_enabled": "Activa la generació d’imatges de mida completa",
"image_fullsize_enabled_description": "Genera imatges de mida completa per a formats no aptes per al web. Quan s’activa «Prefereix la previsualització incrustada», s’utilitzen directament previsualitzacions incrustades sense conversió. No afecta els formats aptes per al web com JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Qualitat de la previsualització de l’1 al 100. Un valor més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l’aplicació. Establir-hi un valor baix pot afectar la qualitat de l’aprenentatge automàtic.",
"image_preview_title": "Configuració de les previsualitzacions",
"image_progressive": "Progressiu",
"image_progressive_description": "Codifica les imatges JPEG en mode progressiu perquè es visualitzin amb una càrrega gradual. No té cap efecte sobre les imatges WebP.",
"image_progressive_description": "Codifica les imatges JPEG en mode progressiu perquè es visualitzin amb una càrrega gradual. No té cap efecte sobre altres formats.",
"image_quality": "Qualitat",
"image_resolution": "Resolució",
"image_resolution_description": "Les resolucions més altes poden conservar més detalls, però tarden més temps a codificar-se, tenen mides de fitxer més grans i poden reduir la capacitat de resposta de l’aplicació.",
@@ -163,7 +163,7 @@
"machine_learning_clip_model_description": "El nom d’un model CLIP que aparegui <link>aquí</link>. Tingueu en compte que si canvieu de model, cal que torneu a executar la tasca «Cerca intel·ligent» per a totes les imatges.",
"machine_learning_duplicate_detection": "Detecció de duplicats",
"machine_learning_duplicate_detection_enabled": "Activa la detecció de duplicats",
"machine_learning_duplicate_detection_enabled_description": "Si està desactivada, els elements idèntics encara es desduplicaran.",
"machine_learning_duplicate_detection_enabled_description": "Si està desactivada, els recursos idèntics encara es desduplicaran.",
"machine_learning_duplicate_detection_setting_description": "Utilitza incrustacions CLIP per a trobar possibles duplicats",
"machine_learning_enabled": "Activa l’aprenentatge automàtic",
"machine_learning_enabled_description": "Si està desactivat, totes les funcions de ML es desactivaran, independentment de la configuració següent.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Temps d’espera de les sol·licituds",
"oauth_timeout_description": "Temps d’espera de les sol·licituds en mil·lisegons",
"ocr_job_description": "Utilitza aprenentatge automàtic per a reconèixer text a les imatges",
"passkey_additional_domains": "Dominis addicionals",
"passkey_additional_domains_description": "Dominis addicionals i de confiança (peticions d’origen relacionades). Només funcionen si el domini de la clau d’accés també és accessible.",
"passkey_domain": "Domini de la clau d’accés",
"passkey_domain_description": "Domini utilitzat per a les claus d’accés («relying party»). Deixeu-lo en blanc per a deduir-lo de la capçalera d’origen. Canviar aquest valor farà que les claus d’accés existents deixin de funcionar.",
"passkey_enable_description": "Inicia la sessió amb una clau d’accés",
"passkey_settings": "Inici de sessió amb clau d’accés",
"passkey_settings_description": "Gestiona la configuració de l’inici de sessió amb claus d’accés",
"password_enable_description": "Inicia la sessió amb adreça electrònica i contrasenya",
"password_settings": "Inici de sessió amb contrasenya",
"password_settings_description": "Gestioneu els paràmetres de l’inici de sessió amb contrasenya",
@@ -395,7 +402,7 @@
"theme_settings": "Configuració del tema",
"theme_settings_description": "Gestioneu la personalització de la interfície web de l’Immich",
"thumbnail_generation_job": "Genera les miniatures",
"thumbnail_generation_job_description": "Genera les miniatures grans, petites i borroses per a cada element, així com miniatures per a cada persona",
"thumbnail_generation_job_description": "Genera les miniatures grans, petites i borroses per a cada recurs, així com miniatures per a cada persona",
"transcoding_acceleration_api": "API d’acceleració",
"transcoding_acceleration_api_description": "L’API que interactuarà amb el vostre dispositiu per a accelerar la transcodificació. Aquesta configuració és de l’estil «millor esforç»: en cas d’error, tornarà a la transcodificació per programari. El VP9 pot funcionar o no depenent del vostre maquinari.",
"transcoding_acceleration_nvenc": "NVENC (requereix GPU d’NVIDIA)",
@@ -506,7 +513,7 @@
"advanced_settings_clear_image_cache_error": "No s’ha pogut esborrar la memòria cau de les imatges",
"advanced_settings_clear_image_cache_success": "S’han esborrat correctament {size}",
"advanced_settings_log_level_title": "Nivell del registre: {level}",
"advanced_settings_prefer_remote_subtitle": "Alguns dispositius són molt lents en carregar miniatures dels elements locals. Activeu aquest paràmetre per a carregar imatges remotes en el seu lloc.",
"advanced_settings_prefer_remote_subtitle": "Alguns dispositius són molt lents en carregar miniatures dels recursos locals. Activeu aquest paràmetre per a carregar imatges remotes en el seu lloc.",
"advanced_settings_prefer_remote_title": "Prefereix les imatges remotes",
"advanced_settings_proxy_headers_subtitle": "Definiu les capçaleres de servidor intermediari que l’Immich ha d’enviar amb cada sol·licitud de xarxa",
"advanced_settings_proxy_headers_title": "Capçaleres de servidor intermediari personalitzades [EXPERIMENTAL]",
@@ -615,11 +622,11 @@
"assets_cannot_be_added_to_albums": "{count, plural, one {El recurs} other {Els recursos}} no es poden afegir a cap dels àlbums",
"assets_count": "{count, plural, one {# recurs} other {# recursos}}",
"assets_moved_to_trash_count": "{count, plural, one {S’ha mogut # recurs} other {S’han mogut # recursos}} a la paperera",
"assets_permanently_deleted_count": "{count, plural, one {S’ha suprimit # recurs} other {S’ha suprimit # recursos}} permanentment",
"assets_permanently_deleted_count": "{count, plural, one {S’ha suprimit # recurs} other {S’han suprimit # recursos}} permanentment",
"assets_removed_count": "{count, plural, one {S’ha eliminat # recurs} other {S’han eliminat # recursos}}",
"assets_restore_confirmation": "Segur que voleu restaurar tots els recursos de la paperera? Aquesta acció no es pot desfer! Tingueu en compte que els recursos fora de línia no es poden restaurar d’aquesta manera.",
"assets_restored_count": "{count, plural, one {S’ha restaurat # recurs} other {S’han restaurat # recursos}}",
"assets_trashed": "{count, plural, one {S’ha enviat # element} other {S’ha enviat # elements}} a la paperera",
"assets_trashed": "{count, plural, one {S’ha enviat # recurs} other {S’han enviat # recursos}} a la paperera",
"assets_trashed_count": "{count, plural, one {S’ha enviat # recurs} other {S’han enviat # recursos}} a la paperera",
"assets_were_part_of_album_count": "{count, plural, one {El recurs ja era} other {Els recursos ja eren}} part de l’àlbum",
"assets_were_part_of_albums_count": "{count, plural, one {El recurs ja era} other {Els recursos ja eren}} part dels àlbums",
@@ -726,7 +733,7 @@
"cleanup_found_assets": "S’han trobat {count} recursos amb còpia al servidor",
"cleanup_found_assets_with_size": "S’han trobat {count} recursos amb còpia al servidor ({size})",
"cleanup_icloud_shared_albums_excluded": "Els àlbums compartits de l’iCloud s’exclouen de l’escaneig",
"cleanup_no_assets_found": "No s’han trobat recursos que coincideixin amb els criteris anteriors. L’alliberament d’espai només pot esborrar elements dels quals s’hagi fet còpia al servidor",
"cleanup_no_assets_found": "No s’han trobat recursos que coincideixin amb els criteris anteriors. L’alliberament d’espai només pot esborrar recursos dels quals s’hagi fet còpia al servidor",
"cleanup_preview_title": "Recursos a eliminar ({count})",
"cleanup_step3_description": "Escaneja cercant recursos que ja tinguin una còpia al servidor que encaixin amb la data de tall i la configuració de manteniment.",
"cleanup_step4_summary": "S’esborraran {count} recursos (creats abans del {date}) del dispositiu local. Les fotos romandran accessibles a l’aplicació Immich.",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Suprimeix només els que tinguin còpia al servidor",
"delete_local_dialog_ok_force": "Suprimeix igualment",
"delete_others": "Suprimeix els altres",
"delete_passkey": "Suprimeix la clau s’accés",
"delete_passkey_prompt": "Segur que voleu suprimir aquesta clau d’accés?",
"delete_permanently": "Suprimeix permanentment",
"delete_permanently_action_prompt": "{count} suprimits permanentment",
"delete_shared_link": "Suprimeix l’enllaç compartit",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} ubicacions editades",
"edit_location_dialog_title": "Ubicació",
"edit_name": "Edita el nom",
"edit_passkey": "Edita la clau d’accés",
"edit_people": "Edita les persones",
"edit_person": "Edita la persona",
"edit_tag": "Edita l’etiqueta",
@@ -1032,8 +1042,8 @@
"unable_to_add_comment": "No s’ha pogut afegir el comentari",
"unable_to_add_exclusion_pattern": "No s’ha pogut afegir el patró d’exclusió",
"unable_to_add_partners": "No s’han pogut afegir companys",
"unable_to_add_remove_archive": "No s’ha pogut {archived, select, true {eliminar l’element de} other {afegir l’element a}} l’arxiu",
"unable_to_add_remove_favorites": "No s’ha pogut {favorite, select, true {afegir l’element als} other {eliminar l’element dels}} preferits",
"unable_to_add_remove_archive": "No s’ha pogut {archived, select, true {eliminar el recurs de} other {afegir el recurs a}} l’arxiu",
"unable_to_add_remove_favorites": "No s’ha pogut {favorite, select, true {afegir el recurs als} other {eliminar el recurs dels}} preferits",
"unable_to_archive_unarchive": "No s’ha pogut {archived, select, true {arxivar} other {desarxivar}}",
"unable_to_change_album_user_role": "No s’ha pogut canviar el rol de l’usuari de l’àlbum",
"unable_to_change_date": "No s’ha pogut canviar la data",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo enregistrat} other {Imatge capturada}} a {city}, {country} amb {person1}, {person2} i {person3} el {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo enregistrat} other {Imatge capturada}} a {city}, {country} amb {person1}, {person2} i {additionalCount, number} més el {date}",
"immich_logo": "Logo de l’Immich",
"immich_web_interface": "Interfície web de l’Immich",
"import_from_json": "Importa d’un JSON",
"import_path": "Camí d’importació",
"in_albums": "En {count, plural, one {# àlbum} other {# àlbums}}",
@@ -1287,6 +1296,7 @@
"last": "Darrer",
"last_months": "{count, plural, one {Darrer mes} other {Darrers # mesos}}",
"last_seen": "Vist per darrera vegada",
"last_used": "Utilitzada per darrer cop",
"latest_version": "Darrera versió",
"latitude": "Latitud",
"leave": "Surt",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "S’ha desactivat l’inici de sessió",
"login_password_changed_error": "S’ha produït un error en actualitzar la contrasenya",
"login_password_changed_success": "La contrasenya s’ha canviat correctament",
"login_with_passkey": "Inicia la sessió amb una clau d’accés",
"logout_all_device_confirmation": "Segur que voleu tancar la sessió en tots els dispositius?",
"logout_this_device_confirmation": "Segur que voleu tancar la sessió d’aquest dispositiu?",
"logs": "Registres",
@@ -1410,6 +1421,7 @@
"manage_your_api_keys": "Gestioneu les vostres claus de l’API",
"manage_your_devices": "Gestioneu els vostres dispositius connectats",
"manage_your_oauth_connection": "Gestioneu la vostra connexió amb l’OAuth",
"manage_your_passkeys": "Gestiona les meves claus d’accés",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {No hi ha cap foto en aquesta zona} one {# foto} other {# fotos}}",
"map_cannot_get_user_location": "No s’ha pogut obtenir la ubicació de l’usuari",
@@ -1529,6 +1541,7 @@
"new_album": "Àlbum nou",
"new_api_key": "Clau de l’API nova",
"new_feature": "Funcionalitat nova",
"new_passkey": "Clau d’accés nova",
"new_password": "Contrasenya nova",
"new_person": "Persona nova",
"new_pin_code": "Codi PIN nou",
@@ -1641,6 +1654,8 @@
"partner_sharing": "Compartició amb companys",
"partners": "Companys",
"partners_description": "Compartiu les vostres fotos i vídeos amb altres usuaris",
"passkeys": "{count, plural, one {Clau d’accés} other {Claus d’accés}}",
"passkeys_not_supported": "Aquest navegador no admet les claus d’accés",
"password": "Contrasenya",
"password_does_not_match": "La contrasenya no coincideix",
"password_required": "La contrasenya és obligatòria",
@@ -1825,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {# eliminats}} dels preferits",
"removed_from_stack": "S’ha eliminat el recurs de la pila",
"removed_memory": "S’ha eliminat el record",
"removed_passkey": "S’ha suprimit la clau d’accés: {name}",
"removed_tagged_assets": "S’ha eliminat l’etiqueta {count, plural, one {d’# recurs} other {de # recursos}}",
"rename": "Canvia de nom",
"repository": "Repositori",
@@ -1986,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Si està activat, podeu navegar a la imatge anterior/següent tocant la quarta part més a l’esquerra/dreta de la pantalla.",
"setting_image_navigation_enable_title": "Toqueu per a navegar",
"setting_image_navigation_title": "Navegació per les imatges",
"setting_image_viewer_help": "El visualitzador de detalls carrega primer la miniatura petita, després carrega la previsualització de mida mitjana (si està activada), i finalment carrega l’original (si està activat).",
"setting_image_viewer_help": "El visualitzador de detalls carrega primer la miniatura petita, després carrega la previsualització de mida mitjana, i finalment carrega l’original (si està activat).",
"setting_image_viewer_original_subtitle": "Activeu-ho per a carregar la imatge en resolució original (molt gran!). Desactiveu-ho per a reduir el consum de dades (tant de xarxa com de memòria cau del dispositiu).",
"setting_image_viewer_original_title": "Carrega la imatge original",
"setting_image_viewer_preview_subtitle": "Activeu-ho per a carregar una imatge de resolució mitjana. Desactiveu-ho per carregar directament la imatge original, o bé utilitzar només la miniatura.",
"setting_image_viewer_preview_title": "Carrega la imatge de previsualització",
"setting_languages_apply": "Aplica",
"setting_languages_subtitle": "Canvia la llengua de l’aplicació",
"setting_notifications_notify_minutes": "{count} minuts",
@@ -2010,8 +2024,9 @@
"share_everyone": "Comparteix tothom",
"share_everyone_description": "Dóna accés a totes les vostres persones a {user}.",
"share_link": "Comparteix l’enllaç",
"share_logs": "Comparteix els registres",
"share_original": "Utilitza l’original (gran)",
"share_preview": "Utilitza la miniatura (petita)",
"share_preview": "Utilitza la previsualització (petita)",
"share_quality_body": "Mantingueu premut el botó de compartició per a triar la qualitat de la imatge abans de compartir-la.",
"share_quality_title": "Trieu la qualitat de la compartició",
"share_with": "Comparteix l’accés amb",
@@ -2061,7 +2076,6 @@
"shared_link_password_description": "Requereix una contrasenya per a accedir a aquest enllaç compartit",
"shared_links": "Enllaços compartits",
"shared_links_description": "Compartiu fotos i vídeos amb un enllaç",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotos i vídeos compartits.}}",
"shared_with": "Compartida amb",
"shared_with_count": "Compartit ({count})",
"shared_with_me": "Compartit amb mi",
@@ -2189,6 +2203,8 @@
"theme": "Tema",
"theme_selection": "Selecció del tema",
"theme_selection_description": "Activa automàticament el tema fosc o clar en funció de les preferències del sistema del navegador",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Es desplaça de manera contínua en arrossegar la barra de desplaçament, en lloc de saltar d’un mes a l’altre",
"theme_setting_asset_list_smooth_scrubbing_title": "Desplaçament suau per la cronologia",
"theme_setting_asset_list_storage_indicator_title": "Mostra l’indicador d’emmagatzematge a les tessel·les dels recursos",
"theme_setting_asset_list_tiles_per_row_title": "Nombre de recursos per fila ({count})",
"theme_setting_colorful_interface_subtitle": "Aplica el color primari a les superfícies de fons.",
@@ -2229,6 +2245,8 @@
"trigger": "Disparador",
"trigger_asset_metadata_extraction": "Extracció de metadades dels recursos",
"trigger_asset_metadata_extraction_description": "Es dispara quan s’extreuen les metadades EXIF d’un recurs",
"trigger_asset_ocr_extraction": "Extracció de text OCR dels recursos",
"trigger_asset_ocr_extraction_description": "Es dispara quan s’extreu el text OCR d’un recurs",
"trigger_asset_tagged": "Recurs etiquetat",
"trigger_asset_tagged_description": "Es dispara quan s’afegeix una etiqueta a un recurs",
"trigger_asset_uploaded": "Pujada de recursos",
@@ -2304,7 +2322,7 @@
"user": "Usuari",
"user_has_been_deleted": "Aquest usuari s’ha eliminat.",
"user_id": "Identificador d’usuari",
"user_liked": "A {user} li ha agradat {type, select, photo {aquesta foto} video {aquest vídeo} asset {aquest recurs} other {això}}",
"user_liked": "A {user} li ha agradat {type, select, image {aquesta foto} video {aquest vídeo} other {això}}",
"user_pin_code_settings": "Codi PIN",
"user_pin_code_settings_description": "Gestioneu el vostre codi PIN",
"user_privacy": "Privacitat de l’usuari",
@@ -2340,6 +2358,7 @@
"view_group": "Mostra el grup",
"view_in_timeline": "Mostra a la cronologia",
"view_link": "Mostra l’enllaç",
"view_more": "Mostra’n més",
"view_name": "Visualització",
"view_next_asset": "Mostra el recurs següent",
"view_previous_asset": "Mostra el recurs anterior",
+28 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Příkaz {command} se nezdařil pro úlohu: {job}",
"force_delete_user_warning": "UPOZORNĚNÍ: Tímto okamžitě odstraníte uživatele a všechny jeho položky. Tento krok nelze vrátit zpět a soubory nelze obnovit.",
"image_format": "Formát",
"image_format_description": "WebP vytváří menší soubory než JPEG, ale je pomalejší při kódování.",
"image_format_description": "WebP vytváří menší soubory než JPEG, ale je pomalejší při kódování. JPEG XL je nejlepší volbou pro kompresi ve vysoké kvalitě, ale ne všechny prohlížeče a aplikace jej dokážou zobrazit.",
"image_fullsize_description": "Obrázek v plné velikosti s odstraněnými metadaty, použito při přiblížení",
"image_fullsize_enabled": "Povolit generování obrázků v plné velikosti",
"image_fullsize_enabled_description": "Generovat obrázky v plné velikosti pro formáty, které nejsou vhodné pro web. Pokud je povolena možnost „Preferovat vložený náhled“, budou přímo použity vložené náhledy bez převodu. Neovlivňuje formáty vhodné pro web, jako je JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Kvalita náhledu od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit responzivitu aplikace. Nastavení nízké hodnoty může ovlivnit kvalitu strojového učení.",
"image_preview_title": "Náhledy",
"image_progressive": "Progresivní",
"image_progressive_description": "Kódujte JPEG obrázky progresivně pro postupné načítání zobrazení. Na WebP obrázky to nemá žádný vliv.",
"image_progressive_description": "Kódujte JPEG obrázky progresivně pro postupné načítání zobrazení. Na ostatní formáty to nemá žádný vliv.",
"image_quality": "Kvalita",
"image_resolution": "Rozlišení",
"image_resolution_description": "Vyšší rozlišení mohou zachovat více detailů, ale jejich kódování trvá déle, mají větší velikost souboru a mohou snížit odezvu aplikace.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Časový limit požadavku",
"oauth_timeout_description": "Časový limit pro požadavky v milisekundách",
"ocr_job_description": "Použijte strojové učení k rozpoznávání textu v obrázcích",
"passkey_additional_domains": "Další domény",
"passkey_additional_domains_description": "Další důvěryhodné domény (související požadavky na origin). Tyto budou fungovat pouze v případě, že je přístupná i doména s přístupovým klíčem.",
"passkey_domain": "Doména přístupového klíče",
"passkey_domain_description": "Doména používaná pro přístupové klíče (ověřující strana). Nechte pole prázdné, aby se hodnota odvodila z origin hlavičky. Změna této hodnoty způsobí, že stávající přístupové klíče přestanou fungovat.",
"passkey_enable_description": "Přihlášení pomocí přístupového klíče",
"passkey_settings": "Přihlášení pomocí přístupového klíče",
"passkey_settings_description": "Správa nastavení přihlášení pomocí přístupového klíče",
"password_enable_description": "Přihlášení pomocí e-mailu a hesla",
"password_settings": "Přihlášení heslem",
"password_settings_description": "Správa nastavení přihlašování pomocí hesla",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Smazat pouze zálohované",
"delete_local_dialog_ok_force": "Přesto smazat",
"delete_others": "Smazat ostatní",
"delete_passkey": "Odstranit přístupový klíč",
"delete_passkey_prompt": "Opravdu chcete tento přístupový klíč smazat?",
"delete_permanently": "Trvale smazat",
"delete_permanently_action_prompt": "{count} trvale smazáno",
"delete_shared_link": "Smazat sdílený odkaz",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} upravených poloh",
"edit_location_dialog_title": "Poloha",
"edit_name": "Upravit jméno",
"edit_passkey": "Upravit přístupový klíč",
"edit_people": "Upravit lidi",
"edit_person": "Upravit osobu",
"edit_tag": "Upravit značku",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {person3}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video pořízeno} other {Obrázek požízen}} {date} v místě {city}, {country} uživateli {person1}, {person2} a {additionalCount, plural, one {dalším # uživatelem} other {dalšími # uživateli}}",
"immich_logo": "Immich Logo",
"immich_web_interface": "Webové rozhraní Immich",
"import_from_json": "Import z JSONu",
"import_path": "Cesta importu",
"in_albums": "{count, plural, one {V # albu} few {Ve # albech} other {V # albech}}",
@@ -1287,6 +1296,7 @@
"last": "Poslední",
"last_months": "{count, plural, one {Poslední měsíc} few {Poslední # měsíce} other {Posledních # měsíců}}",
"last_seen": "Naposledy viděno",
"last_used": "Naposledy použito",
"latest_version": "Nejnovější verze",
"latitude": "Zeměpisná šířka",
"leave": "Opustit",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Přihlášení bylo zakázáno",
"login_password_changed_error": "Při aktualizaci vašeho hesla došlo k chybě",
"login_password_changed_success": "Heslo bylo úspěšně aktualizováno",
"login_with_passkey": "Přihlásit se pomocí přístupového klíče",
"logout_all_device_confirmation": "Opravdu chcete odhlásit všechna zařízení?",
"logout_this_device_confirmation": "Opravdu chcete odhlásit toto zařízení?",
"logs": "Protokoly",
@@ -1410,6 +1421,7 @@
"manage_your_api_keys": "Správa API klíčů",
"manage_your_devices": "Správa přihlášených zařízení",
"manage_your_oauth_connection": "Správa OAuth propojení",
"manage_your_passkeys": "Správa přístupových klíčů",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {Žádné fotografie v této oblasti} one {# fotografie} few {# fotografie} other {# fotografií}}",
"map_cannot_get_user_location": "Nelze zjistit polohu uživatele",
@@ -1529,6 +1541,7 @@
"new_album": "Nové album",
"new_api_key": "Nový API klíč",
"new_feature": "Nová funkce",
"new_passkey": "Nový přístupový klíč",
"new_password": "Nové heslo",
"new_person": "Nová osoba",
"new_pin_code": "Nový PIN kód",
@@ -1641,6 +1654,8 @@
"partner_sharing": "Sdílení mezi partnery",
"partners": "Partneři",
"partners_description": "Sdílejte své fotografie a videa s ostatními uživateli",
"passkeys": "{count, plural, one {přístupový klíč} few {přístupové klíče} other {přístupových klíčů}}",
"passkeys_not_supported": "Tento prohlížeč nepodporuje přístupové klíče",
"password": "Heslo",
"password_does_not_match": "Heslo se neshoduje",
"password_required": "Vyžadováno heslo",
@@ -1825,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, one {Odstraněn #} few {Odstraněny #} other {Odstraněno #}} z oblíbených",
"removed_from_stack": "Položka byla odebrána ze seskupení",
"removed_memory": "Vzpomínka odstraněna",
"removed_passkey": "Odstraněný přístupový klíč: {name}",
"removed_tagged_assets": "Odstraněná značka z {count, plural, one {# položky} other {# položek}}",
"rename": "Přejmenovat",
"repository": "Repozitář",
@@ -1986,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Pokud je zapnuto, budete moci přejít na předchozí/další obrázek klepnutím do levé/pravé čtvrtiny obrazovky.",
"setting_image_navigation_enable_title": "Klepnutí pro navigaci",
"setting_image_navigation_title": "Navigace mezi obrázky",
"setting_image_viewer_help": "V prohlížeči detailů se nejprve načte malá miniatura, poté se načte náhled střední velikosti (je-li povolen) a nakonec se načte originál (je-li povolen).",
"setting_image_viewer_help": "V prohlížeči detailů se nejprve načte malá miniatura, poté se načte náhled střední velikosti a nakonec se načte originál (je-li povolen).",
"setting_image_viewer_original_subtitle": "Umožňuje načíst původní obrázek v plném rozlišení (velký!). Zakažte pro snížení využití dat (v síti i v mezipaměti zařízení).",
"setting_image_viewer_original_title": "Načíst původní obrázek",
"setting_image_viewer_preview_subtitle": "Umožňuje načíst obrázek se středním rozlišením. Zakažte, pokud chcete přímo načíst originál nebo použít pouze miniaturu.",
"setting_image_viewer_preview_title": "Načíst náhled obrázku",
"setting_languages_apply": "Použít",
"setting_languages_subtitle": "Změna jazyka aplikace",
"setting_notifications_notify_minutes": "{count} minut",
@@ -2010,8 +2024,9 @@
"share_everyone": "Sdílet všechny",
"share_everyone_description": "Poskytněte {user} přístup ke všem vašim uživatelům.",
"share_link": "Sdílet odkaz",
"share_logs": "Sdílet protokol",
"share_original": "Použít originál (velký)",
"share_preview": "Použít miniaturu (malý)",
"share_preview": "Použít náhled (malý)",
"share_quality_body": "Při sdílení stiskněte a podržte tlačítko sdílení pro výběr kvality obrázku.",
"share_quality_title": "Vyberte si kvalitu sdílení",
"share_with": "Sdílet přístup s",
@@ -2061,7 +2076,6 @@
"shared_link_password_description": "Vyžadovat heslo pro přístup k tomuto sdílenému odkazu",
"shared_links": "Sdílené odkazy",
"shared_links_description": "Sdílet fotky a videa pomocí odkazu",
"shared_photos_and_videos_count": "{assetCount, plural, one {# sdílená fotografie a video.} few {# sdílené fotografie a videa.} other {# sdílených fotografií a videí.}}",
"shared_with": "Sdíleno s",
"shared_with_count": "Sdíleno ({count})",
"shared_with_me": "Sdílené se mnou",
@@ -2189,6 +2203,8 @@
"theme": "Motiv",
"theme_selection": "Výběr motivu",
"theme_selection_description": "Automatické nastavení světlého nebo tmavého motivu podle systémových preferencí prohlížeče",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Při tažení posuvníku posouvat plynule, místo aby se posun zastavoval na jednotlivých měsících",
"theme_setting_asset_list_smooth_scrubbing_title": "Plynulé posouvání časové osy",
"theme_setting_asset_list_storage_indicator_title": "Zobrazit indikátor úložiště na dlaždicích položek",
"theme_setting_asset_list_tiles_per_row_title": "Počet položek na řádek ({count})",
"theme_setting_colorful_interface_subtitle": "Použít hlavní barvu na povrchy pozadí.",
@@ -2229,6 +2245,8 @@
"trigger": "Spouštěč",
"trigger_asset_metadata_extraction": "Extrakce metadat položek",
"trigger_asset_metadata_extraction_description": "Spustí se při extrakci EXIF metadat z mediálního souboru",
"trigger_asset_ocr_extraction": "Extrakce dat pomocí OCR",
"trigger_asset_ocr_extraction_description": "Spustí se, když je text OCR položky extrahováný",
"trigger_asset_tagged": "Označená položka",
"trigger_asset_tagged_description": "Spustí se, když je k položce přidána značka",
"trigger_asset_uploaded": "Nahrání položky",
@@ -2304,7 +2322,7 @@
"user": "Uživatel",
"user_has_been_deleted": "Tento uživatel byl smazán.",
"user_id": "ID uživatele",
"user_liked": "Uživateli {user} se {type, select, photo {líbila tato fotka} video {líbilo toto video} asset {líbila tato položka} other {to líbilo}}",
"user_liked": "Uživateli {user} se {type, select, image {líbil tento obrázek} video {líbilo toto video} other {to líbilo}}",
"user_pin_code_settings": "PIN kód",
"user_pin_code_settings_description": "Správa vašeho PIN kódu",
"user_privacy": "Ochrana soukromí uživatelů",
@@ -2340,6 +2358,7 @@
"view_group": "Zobrazit skupinu",
"view_in_timeline": "Zobrazit na časové ose",
"view_link": "Zobrazit odkaz",
"view_more": "Zobrazit více",
"view_name": "Zobrazit",
"view_next_asset": "Zobrazit další položku",
"view_previous_asset": "Zobrazit předchozí položku",
+17 -11
View File
@@ -191,7 +191,7 @@
"machine_learning_ocr_min_detection_score_description": "Minimums konfidensscore for tekst, der skal detekteres, fra 0-1. Lavere værdier vil detektere mere tekst, men kan resultere i falsk positiver.",
"machine_learning_ocr_min_recognition_score": "Minimum genkendelsesscore",
"machine_learning_ocr_min_score_recognition_description": "Minimum konfidensscore for genkendelse af registreret tekst er fra 0-1. Lavere værdier vil genkende mere tekst, men kan resultere i falsk positiver.",
"machine_learning_ocr_model": "OCR model",
"machine_learning_ocr_model": "OCR-model",
"machine_learning_ocr_model_description": "Server modeller er mere præcise end mobil modeller, men tager længer tid at processere og bruger mere hukommelse.",
"machine_learning_settings": "Maskinlæringsindstillinger",
"machine_learning_settings_description": "Administrer maskinlæringsfunktioner og indstillinger",
@@ -443,7 +443,7 @@
"transcoding_realtime_enabled_description": "Hvis deaktiveret, kan serveren ikke starte nye realtids transkodningssessioner.",
"transcoding_realtime_resolutions": "Opløsninger",
"transcoding_realtime_resolutions_description": "Opløsninger tilgængelig for realtidstranskodning. Højere opløsninger kan forårsage afspilningsproblemer, hvis serveren ikke kan transkode dem hurtigt nok.",
"transcoding_realtime_video_codecs": "Video codecs",
"transcoding_realtime_video_codecs": "Video-codecs",
"transcoding_realtime_video_codecs_description": "De video codecs, tilgængelig for realtidstranskodning. Klienter vælger den bedste mulighed, de understøtter under afspilning. AV1 er mere effektiv end HEVC, som er mere effektiv end H.264. Når du bruger hardwareacceleration, skal du kun vælge de codecs, som acceleratoren kan enkode. Når du bruger softwaretranskodning, skal du bemærke, at H.264 er hurtigere end AV1, som er hurtigere end HEVC.",
"transcoding_reference_frames": "Referencerammer",
"transcoding_reference_frames_description": "Antallet af frames, der skal refereres til, når en given frame komprimeres. Højere værdier forbedrer kompressionseffektiviteten, men gør indkodning langsommere. 0 sætter denne værdi automatisk.",
@@ -669,8 +669,9 @@
"biometric_no_options": "Ingen biometrisk adgangskontrol tilgængelig",
"biometric_not_available": "Biometrisk adgangskontrol er ikke tilgængelig på denne enhed",
"birthdate_set_description": "Fødselsdato bruges til at beregne denne persons alder på det tidspunkt, et billede er taget.",
"birthday_memory_age": "{age}. fødselsdag",
"birthday_memory_age": "{age, selectordinal, other {#}}-års fødselsdag",
"birthday_memory_title": "{name}'s fødselsdag",
"birthday_memory_title_with_age": "{name}s fødselsdag · {age, plural, one {# år} other {# år}}",
"blurred_background": "Sløret baggrund",
"browse_templates": "Gennemse skabeloner",
"bugs_and_feature_requests": "Fejl & forbedringsønsker",
@@ -914,7 +915,7 @@
"downloading": "Downloader",
"downloading_archive_filename_size": "Downloader arkiv {filename} (cirka {size})",
"downloading_asset_filename": "Downloader mediefil {filename}",
"downloading_filename": "Downloading {filename}",
"downloading_filename": "Downloader {filename}",
"downloading_from_icloud": "Downloading fra iCloud",
"downloading_media": "Download medier",
"drag_to_reorder": "Træk for at ændre rækkefølgen",
@@ -1116,7 +1117,7 @@
},
"errors_text": "Fejl",
"exclusion_pattern": "Udelukkelsesmønster",
"exif": "Exif",
"exif": "EXIF",
"exif_bottom_sheet_description": "Tilføj beskrivelse...",
"exif_bottom_sheet_description_error": "Fejl ved opdatering af beskrivelsen",
"exif_bottom_sheet_no_description": "Ingen beskrivelse",
@@ -1238,7 +1239,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Billede}} taget i {city}, {country} med {person1}, {person2}, og {person3} den {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Billede}} taget i {city}, {country} med {person1}, {person2}, og {additionalCount, number} andre den {date}",
"immich_logo": "Immich logo",
"immich_web_interface": "Immich webinterface",
"import_from_json": "Importér fra JSON",
"import_path": "Import-sti",
"in_albums": "I {count, plural, one {# album} other {# albummer}}",
@@ -1400,6 +1400,7 @@
"manage_media_access_title": "Mediestyringsadgang",
"manage_oauth_account": "Administrer OAuth-konto",
"manage_people": "Administrér personer",
"manage_people_access_description_v2": "Giv andre brugere adgang til {count, plural, one {denne person} other {dine personer}}, så de kan se eller administrere {count, plural, one {personen} other {dem}} på dine vegne. Denne handling deler ikke nogen elementer.",
"manage_person_access": "Administrér adgang",
"manage_sharing_with_other_users": "Administrer deling med andre brugere",
"manage_sharing_with_partners": "Administrér deling med partnere",
@@ -1655,6 +1656,7 @@
"paused": "Sat på pause",
"pending": "Afventer",
"people": "Personer",
"people_cluster_group": "Persongruppe",
"people_count": "{count, plural, one {# person} other {# personer}}",
"people_edits_count": "Redigeret {count, plural, one {# person} other {# people}}",
"people_feature_description": "Gennemse billeder og videoer grupperet efter personer",
@@ -1674,9 +1676,12 @@
"person_age_years": "{years, plural, other {# år}} gammel",
"person_birthdate": "Født den {date}",
"person_edit_only_change_for_me": "Ændr kun for mig",
"person_edit_only_change_for_me_description": "Markér for kun at anvende ændringerne på din egen bruger",
"person_hidden": "{name}{hidden, select, true { (skjult)} other {}}",
"person_recognized": "Person genkendt",
"person_share_no_users": "Alle brugere i din persongruppe har allerede adgang til denne person.",
"person_update_strategy": "Udfør ændringer på",
"person_update_strategy_description": "Vælg, hvilke personer der skal opdateres, når du ændrer navn eller fødselsdato",
"person_update_strategy_everyone": "Alle med delt adgang",
"person_update_strategy_self": "Kun mig",
"photo_shared_all_users": "Det ser ud til, at du har delt dine billeder med alle brugere, eller også har du ikke nogen bruger at dele med.",
@@ -1760,7 +1765,8 @@
"purchase_settings_server_activated": "Serverens produktnøgle administreres af administratoren",
"query_asset_id": "Forespørgsels Asset ID",
"queue_status": "Kø {count}/{total}",
"rate_asset": "Vurder filer",
"rate_asset": "Bedøm mediefil",
"rate_asset_description": "Brug tasterne 1 til 5 til hurtigt at bedømme en mediefil, og 0 til at fjerne bedømmelsen",
"rating": "Stjernebedømmelse",
"rating_clear": "Nulstil vurdering",
"rating_count": "{count, plural, =0 {Unrated} one {# stjerne} other {# stjerner}}",
@@ -1979,11 +1985,9 @@
"setting_image_navigation_enable_subtitle": "Hvis aktiveret, kan du navigere til det forrige/næste billede ved at trykke på den yderste venstre/højre fjerdedel af skærmen.",
"setting_image_navigation_enable_title": "Tryk for at navigere",
"setting_image_navigation_title": "Billednavigation",
"setting_image_viewer_help": "Detaljeret visning indlæser miniaturebilleder først. Herefter indlæses mediumstørrelse forhåndsvisning af billedet (hvis dette er slået til), for til sidst at vise originalen (hvis dette er slået til).",
"setting_image_viewer_help": "Detaljevisningen indlæser først det lille miniaturebillede, derefter en mellemstor forhåndsvisning og til sidst originalfilen (hvis funktionen er aktiveret).",
"setting_image_viewer_original_subtitle": "Slå indlæsning af originalbillede i fuld størrelse til (stort!). Deaktiver for at reducere dataforbruget (både på netværket og for enhedscache).",
"setting_image_viewer_original_title": "Indlæs originalbillede",
"setting_image_viewer_preview_subtitle": "Slå indlæsning af et mediumstørrelse billede til. Slå fra for enten direkte at indlæse originalen eller kun at bruge miniaturebilledet.",
"setting_image_viewer_preview_title": "Indlæs forhåndsvisning af billedet",
"setting_languages_apply": "Anvend",
"setting_languages_subtitle": "Ændr app-sprog",
"setting_notifications_notify_minutes": "{count} minutter",
@@ -1998,6 +2002,7 @@
"settings_saved": "Indstillinger er gemt",
"setup_pin_code": "Indstil en PIN kode",
"share": "Del",
"share_back": "Del tilbage",
"share_dialog_preparing": "Forbereder...",
"share_everyone": "Del alle",
"share_everyone_description": "Giv {user} adgang til alle dine personer.",
@@ -2053,8 +2058,8 @@
"shared_link_password_description": "Kodeord krævet for at få adgang til dette delte link",
"shared_links": "Delte links",
"shared_links_description": "Del billeder og videoer med et link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# delte billeder & videoer.}}",
"shared_with": "Delt med",
"shared_with_count": "Delt ({count})",
"shared_with_me": "Delt med mig",
"shared_with_partner": "Delt med {partner}",
"sharing": "Delte",
@@ -2138,6 +2143,7 @@
"stop_motion_photo": "Stopmotionbillede",
"stop_photo_sharing": "Stop med at dele dine billeder?",
"stop_photo_sharing_description": "{partner} vil ikke længere kunne tilgå dine billeder.",
"stop_sharing_person_with_user": "Ophæv deling af denne person med denne bruger",
"stop_sharing_photos_with_user": "Afslut deling af dine fotos med denne bruger",
"storage": "Lagringsplads",
"storage_label": "Lagringsmærkat",
+29 -10
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Befehl {command} ist für Aufgabe {job} fehlgeschlagen",
"force_delete_user_warning": "WARNUNG: Diese Aktion löscht sofort den Benutzer und all seine Dateien. Dies kann nicht rückgängig gemacht werden und die Dateien können nicht wiederhergestellt werden.",
"image_format": "Format",
"image_format_description": "WebP erzeugt kleinere Dateien als JPEG, ist aber etwas langsamer in der Erstellung.",
"image_format_description": "WebP erzeugt kleinere Dateien als JPEG, die Kodierung dauert jedoch länger. JPEG XL ist die beste Option für eine hochwertige Komprimierung, wird jedoch nicht von allen Browsern und Apps unterstützt.",
"image_fullsize_description": "Hochauflösendes Bild mit entfernten Metadaten, das beim Zoomen verwendet wird",
"image_fullsize_enabled": "Hochauflösende Vorschaubilder aktivieren",
"image_fullsize_enabled_description": "Generiere Hochauflösende Vorschaubilder in Originalauflösung für nicht web-kompatibel Formate. Wenn \"Eingebettete Vorschau bevorzugen\" aktiviert ist, werden eingebettete Vorschaubilder direkt verwendet. Hat keinen Einfluss auf web-kompatible Formate wie JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Vorschauqualität von 1-100. Ein höherer Wert ist besser, erzeugt dadurch aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen. Die Einstellung eines niedrigen Wertes kann dafür aber die Qualität des maschinellen Lernens beeinträchtigen.",
"image_preview_title": "Vorschaueinstellungen",
"image_progressive": "Fortschrittlich",
"image_progressive_description": "JPEG-Bilder werden schrittweise kodiert, um ein stufenweises Laden zu ermöglichen. Dies hat keine Auswirkungen auf WebP-Bilder.",
"image_progressive_description": "JPEG-Bilder werden schrittweise kodiert, um ein stufenweises Laden zu ermöglichen. Dies hat keine Auswirkungen auf andere Dateiformate.",
"image_quality": "Qualität",
"image_resolution": "Auflösung",
"image_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Kodierung, haben größere Dateigrößen und können die Reaktionsfähigkeit von Anwendungen beeinträchtigen.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Zeitüberschreitung bei Anfrage",
"oauth_timeout_description": "Zeitüberschreitung für Anfragen in Millisekunden",
"ocr_job_description": "Verwende Machine Learning zur Erkennung von Text in Bildern",
"passkey_additional_domains": "Zusätzliche Domains",
"passkey_additional_domains_description": "Zusätzliche, vertrauenswürdige Domänen(Related Origin Requests). Diese funktionieren nur, wenn auch die Passkey-Domäne erreichbar ist.",
"passkey_domain": "Passkex Domäne",
"passkey_domain_description": "Für Passkeys verwendete Domäne(Relying Party). Lassen Sie dieses Feld leer, damit der Wert aus dem Original-Header abgeleitet wird. Eine Änderung dieses Werts führt dazu, dass vorhandene Passkeys nicht mehr funktionieren.",
"passkey_enable_description": "Mit einem Passkey anmelden",
"passkey_settings": "Anmeldung per Passkey",
"passkey_settings_description": "Einstellungen für die Anmeldung per Passkey verwalten",
"password_enable_description": "Mit E-Mail und Passwort anmelden",
"password_settings": "Passwort-Anmeldung",
"password_settings_description": "Passwort-Anmeldeeinstellungen verwalten",
@@ -670,8 +677,8 @@
"biometric_not_available": "Die biometrische Authentifizierung ist auf diesem Gerät nicht verfügbar",
"birthdate_set_description": "Das Geburtsdatum wird verwendet, um das Alter dieser Person zum Zeitpunkt eines Fotos zu berechnen.",
"birthday_memory_age": "{age, selectordinal, one {#st} two {#nd} few {#rd} other {#th}} Geburtstag",
"birthday_memory_title": "{name}'s Geburtstag",
"birthday_memory_title_with_age": "{name}'s Geburtstag· {age, plural, one {# Jahr alt} other {# Jahre alt}}",
"birthday_memory_title": "{name}s Geburtstag",
"birthday_memory_title_with_age": "{name}s Geburtstag· {age, plural, one {# Jahr alt} other {# Jahre alt}}",
"blurred_background": "Unscharfer Hintergrund",
"browse_templates": "Vorlagen durchsuchen",
"bugs_and_feature_requests": "Fehler & Verbesserungsvorschläge",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Nur gesicherte Inhalte löschen",
"delete_local_dialog_ok_force": "Trotzdem löschen",
"delete_others": "Andere löschen",
"delete_passkey": "Passkey löschen",
"delete_passkey_prompt": "Sind Sie sicher, dass Sie diesen Passkey löschen wollen?",
"delete_permanently": "Endgültig löschen",
"delete_permanently_action_prompt": "{count} endgültig gelöscht",
"delete_shared_link": "geteilten Link löschen",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} Geolokationen angepasst",
"edit_location_dialog_title": "Standort bearbeiten",
"edit_name": "Name bearbeiten",
"edit_passkey": "Passkey bearbeiten",
"edit_people": "Personen bearbeiten",
"edit_person": "Person bearbeiten",
"edit_tag": "Tag bearbeiten",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Bild}} aufgenommen 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}} aufgenommen in {city}, {country} mit {person1}, {person2}, und {additionalCount, number} anderen am {date}",
"immich_logo": "Immich-Logo",
"immich_web_interface": "Immich-Web-Oberfläche",
"import_from_json": "Aus JSON importieren",
"import_path": "Importpfad",
"in_albums": "In {count, plural, one {# Album} other {# Alben}}",
@@ -1287,6 +1296,7 @@
"last": "Letzte",
"last_months": "{count, plural, one {Letzter Monat} other {Letzte # Monate}}",
"last_seen": "Zuletzt gesehen",
"last_used": "Zuletzt verwendet",
"latest_version": "Neuste Version",
"latitude": "Breitengrad",
"leave": "Verlassen",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Die Anmeldung wurde deaktiviert",
"login_password_changed_error": "Fehler beim Ändern deines Passwortes",
"login_password_changed_success": "Passwort erfolgreich geändert",
"login_with_passkey": "Anmeldung mit Passkey",
"logout_all_device_confirmation": "Bist du sicher, dass du alle Geräte abmelden willst?",
"logout_this_device_confirmation": "Bist du sicher, dass du dieses Gerät abmelden willst?",
"logs": "Protokolle",
@@ -1410,6 +1421,7 @@
"manage_your_api_keys": "Deine API-Schlüssel verwalten",
"manage_your_devices": "Deine eingeloggten Geräte verwalten",
"manage_your_oauth_connection": "Deine OAuth-Verknüpfung verwalten",
"manage_your_passkeys": "Verwalten Sie Ihre Passkeys",
"map": "Karte",
"map_assets_in_bounds": "{count, plural, =0 {Keine Fotos in diesem Bereich} one {# Foto} other {# Fotos}}",
"map_cannot_get_user_location": "Standort konnte nicht ermittelt werden",
@@ -1529,6 +1541,7 @@
"new_album": "Neues Album",
"new_api_key": "Neuer API-Schlüssel",
"new_feature": "Neue Funktion",
"new_passkey": "Neuer Passkey",
"new_password": "Neues Passwort",
"new_person": "Neue Person",
"new_pin_code": "Neuer PIN-Code",
@@ -1641,6 +1654,8 @@
"partner_sharing": "Partner-Sharing",
"partners": "Partner",
"partners_description": "Teile deine Fotos und Videos mit anderen Benutzern",
"passkeys": "{count, plural, one {Passkey} other {Passkeys}}",
"passkeys_not_supported": "Passkeys werden von diesem Browser nicht unterstützt",
"password": "Passwort",
"password_does_not_match": "Passwort stimmt nicht überein",
"password_required": "Passwort benötigt",
@@ -1825,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {#}} aus den Favoriten entfernt",
"removed_from_stack": "Datei aus Stapel entfernen",
"removed_memory": "Erinnerung entfernt",
"removed_passkey": "Passkey entfernt: {name}",
"removed_tagged_assets": "Tag von {count, plural, one {# Datei} other {# Dateien}} entfernt",
"rename": "Umbenennen",
"repository": "Repository",
@@ -1986,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Aktivieren, um durch Tippen auf den linksäußeren/rechtsäußeren Bildschirmrand zum vorherigen/nächsten Bild zu navigieren.",
"setting_image_navigation_enable_title": "Tippen zum Navigieren",
"setting_image_navigation_title": "Bild Navigation",
"setting_image_viewer_help": "Der Detailbildbetrachter lädt zuerst ein (kleines) Vorschaubild, dann ein Vorschaubild in mittlerer Größe (falls aktiviert) und schließlich das Original (falls aktiviert).",
"setting_image_viewer_help": "Der Detailbildbetrachter lädt zuerst ein Vorschaubild, dann ein Vorschaubild mittlerer Größe und schließlich das Original (falls aktiviert).",
"setting_image_viewer_original_subtitle": "Aktivieren, um das Originalbild in voller Auflösung (groß!) zu laden. Deaktivieren, um den Datenverbrauch zu reduzieren (sowohl im Netzwerk als auch im Gerätespeicher).",
"setting_image_viewer_original_title": "Original laden",
"setting_image_viewer_preview_subtitle": "Aktivieren, um ein Bild mit mittlerer Auflösung zu laden. Deaktivieren, um entweder das Original direkt zu laden oder nur das Vorschaubild zu verwenden.",
"setting_image_viewer_preview_title": "Vorschaubild laden",
"setting_languages_apply": "Anwenden",
"setting_languages_subtitle": "App-Sprache ändern",
"setting_notifications_notify_minutes": "{count} Minuten",
@@ -2010,8 +2024,9 @@
"share_everyone": "Teilt es mit allen",
"share_everyone_description": "Gewähren Sie {user} Zugriff auf alle Ihre Personen.",
"share_link": "Link teilen",
"share_logs": "Logbücher teilen",
"share_original": "Original verwenden (groß)",
"share_preview": "Thumbnail verwenden (klein)",
"share_preview": "Vorschau anzeigen (klein)",
"share_quality_body": "Halte den Teilen Button gedrückt um die Bildqualität vor dem Teilen auszuwählen.",
"share_quality_title": "Wähle deine Qualität zum Teilen aus",
"share_with": "Zugriff freigeben für",
@@ -2061,7 +2076,6 @@
"shared_link_password_description": "Für den Zugriff auf diesen freigegebenen Link ist ein Passwort erforderlich",
"shared_links": "Geteilte Links",
"shared_links_description": "Teile Fotos und Videos mit einem Link",
"shared_photos_and_videos_count": "{assetCount, plural, one {# geteiltes Foto oder Video.} other {# geteilte Fotos & Videos.}}",
"shared_with": "Geteilt mit",
"shared_with_count": "Geteilt ({count})",
"shared_with_me": "Mit mir geteilt",
@@ -2189,6 +2203,8 @@
"theme": "Theme",
"theme_selection": "Themenauswahl",
"theme_selection_description": "Automatische Einstellung des Themes auf Hell oder Dunkel, je nach Systemeinstellung des Browsers",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Beim Ziehen des Scrollbalkens kontinuierlich scrollen, ohne an den Monaten einzurasten",
"theme_setting_asset_list_smooth_scrubbing_title": "Gleichmäßiges Verschieben auf der Zeitleiste",
"theme_setting_asset_list_storage_indicator_title": "Fortschrittsbalken der Sicherung auf dem Vorschaubild",
"theme_setting_asset_list_tiles_per_row_title": "Anzahl der Elemente pro Reihe ({count})",
"theme_setting_colorful_interface_subtitle": "Primärfarbe auf App-Hintergrund anwenden.",
@@ -2229,6 +2245,8 @@
"trigger": "Auslöser",
"trigger_asset_metadata_extraction": "Extraktion von Datei-Metadaten",
"trigger_asset_metadata_extraction_description": "Wird ausgelöst, wenn die EXIF-Daten einer Datei extrahiert werden",
"trigger_asset_ocr_extraction": "Auslesen von OCR-Text aus Dateien",
"trigger_asset_ocr_extraction_description": "Wird ausgelöst, wenn der OCR-Text einer Datei extrahiert wird",
"trigger_asset_tagged": "Datei getaggt",
"trigger_asset_tagged_description": "Wird ausgelöst, wenn einer Datei ein Tag zugewiesen wird",
"trigger_asset_uploaded": "Datei hochladen",
@@ -2340,6 +2358,7 @@
"view_group": "Gruppe ansehen",
"view_in_timeline": "In Zeitleiste anzeigen",
"view_link": "Link anzeigen",
"view_more": "Mehr anzeigen",
"view_name": "Ansicht",
"view_next_asset": "Nächste Datei anzeigen",
"view_previous_asset": "Vorherige Datei anzeigen",
+3 -2
View File
@@ -100,7 +100,7 @@
"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.",
"image_preview_title": "Vorschaueinstellungen",
"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_progressive_description": "JPEG-Bilder schrittweise kodieren, um ein stufenweises Laden zu ermöglichen. Dies hat keine Auswirkungen auf andere Dateiformate.",
"image_quality": "Qualität",
"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.",
@@ -248,7 +248,8 @@
"map_settings_description": "Karten- und GPS-Einstellungen verwalten",
"map_style_description": "URL zu einem style.json Karten-Theme",
"memory_cleanup_job": "Erinnerungen aufräumen",
"memory_generate_job": "Erinnerungen Generierung"
"memory_generate_job": "Erinnerungen Generierung",
"metadata_extraction_job": "Metadaten extrahieren"
},
"video_quality": "Videoqualität",
"videos": "Videos",
+27 -4
View File
@@ -1,5 +1,6 @@
{
"about": "Σχετικά",
"accept": "Αποδοχή",
"account": "Λογαριασμός",
"account_settings": "Ρυθμίσεις Λογαριασμού",
"acknowledge": "Έλαβα γνώση",
@@ -29,11 +30,13 @@
"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_item_count": "Προσθήκη {αριθμός, πληθυντικός, ένα {#αντικείμενο} άλλο {#αντικείμενα}} στο άλμπουμ",
"add_to_albums": "Προσθήκη στα άλμπουμ",
"add_to_albums_count": "Προσθήκη στα άλμπουμ ({count})",
"add_to_bottom_bar": "Προσθήκη σε",
"add_upload_to_stack": "Προσθήκη αρχείου στην ουρά",
"add_url": "Προσθήκη Συνδέσμου",
"add_user": "Προσθήκη χρήστη",
"added_to_archive": "Προστέθηκε στο αρχείο",
"added_to_favorites": "Προστέθηκε στα αγαπημένα",
"added_to_favorites_count": "Προστέθηκαν {count, number} στα αγαπημένα",
@@ -290,6 +293,8 @@
"notification_enable_email_notifications": "Ενεργοποίηση ειδοποιήσεων μέσω email",
"notification_settings": "Ρυθμίσεις ειδοποιήσεων",
"notification_settings_description": "Διαχείρηση ρυθμίσεων ειδοποιήσεων, συμπεριλαμβανομένου του email",
"oauth_account_management_url": "URL Διαχείρισης Λογαριασμού",
"oauth_account_management_url_description": "Τοποθεσία στον πάροχο εξωτερικής ταυτοποίησης όπου ο χρήστης μπορεί να διαχειριστεί τις ρυθμίσεις ή το προφίλ του.",
"oauth_allow_insecure_requests": "Να επιτρέπονται μη ασφαλή αιτήματα",
"oauth_allow_insecure_requests_description": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό απενεργοποιεί την επαλήθευση πιστοποιητικών TLS για αιτήματα OAuth και μπορεί να σας εκθέσει σε επιθέσεις MITM.",
"oauth_auto_launch": "Αυτόματη εκκίνηση",
@@ -318,6 +323,13 @@
"oauth_timeout": "Χρονικό όριο Αιτήματος",
"oauth_timeout_description": "Χρονικό όριο Αιτήματος σε milliseconds",
"ocr_job_description": "Χρήση μηχανικής μάθησης για αναγνώριση κειμένου σε εικόνες",
"passkey_additional_domains": "Επιπλέον τομείς",
"passkey_additional_domains_description": "Επιπλέον, έμπιστοι τομείς (αιτήματα από σχετική προέλευση). Αυτοί θα λειτουργήσουν μόνο εάν είναι προσβάσιμος και ο τομέας του κλειδιού πρόσβασης (passkey).",
"passkey_domain": "Τομέας κλειδιού πρόσβασης (Passkey)",
"passkey_domain_description": "Τομέας που χρησιμοποιείται για τα κλειδιά πρόσβασης (passkeys) (εμπιστευόμενο μέρος). Αφήστε το κενό για να προσδιοριστεί αυτόματα από την κεφαλίδα προέλευσης. Η αλλαγή αυτής της τιμής θα έχει ως αποτέλεσμα τα υπάρχοντα κλειδιά πρόσβασης να πάψουν να λειτουργούν.",
"passkey_enable_description": "Σύνδεση με κλειδί πρόσβασης (passkey)",
"passkey_settings": "Είσοδος με κλειδί πρόσβασης",
"passkey_settings_description": "Διαχείριση ρυθμίσεων σύνδεσης με κλειδί πρόσβασης",
"password_enable_description": "Σύνδεση με ηλεκτρονικό ταχυδρομείο",
"password_settings": "Σύνδεση με κωδικό",
"password_settings_description": "Διαχείριση ρυθμίσεων σύνδεσης μέσω κωδικού πρόσβασης",
@@ -363,10 +375,17 @@
"storage_template_migration_info": "Το πρότυπο αποθήκευσης θα μετατρέψει όλες τις επεκτάσεις σε πεζά γράμματα. Οι αλλαγές στο πρότυπο θα ισχύουν μόνο για νέα περιουσιακά στοιχεία. Για να εφαρμόσετε αναδρομικά το πρότυπο σε περιουσιακά στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το <link>{job}</link>.",
"storage_template_migration_job": "Εργασία Μεταφοράς Προτύπων Αποθήκευσης",
"storage_template_more_details": "Για περισσότερες λεπτομέρειες σχετικά με αυτήν τη δυνατότητα, ανατρέξτε στο <template-link>Πρότυπο Αποθήκευσης</template-link> και στις <implications-link>συνέπειές</implications-link> του",
"storage_template_onboarding_description_v3": "Τα πρότυπα αποθήκευσης σας επιτρέπουν να ορίσετε έναν προσαρμοσμένο φάκελο στον δίσκο για τα αρχεία που ανεβάζετε. Αυτό μπορεί πάντα να αλλαχτεί ξανά αργότερα.",
"storage_template_option_custom": "Προσαρμοσμένος",
"storage_template_option_custom_description": "Δημιουργήστε την δική σας δομή φακέλων με τις πρότυπες μεταβλητές",
"storage_template_option_date_description": "Ταξινομήστε τα αρχεία μέσα σε φακέλους ανά χρόνο, μήνα και ημέρα",
"storage_template_option_none": "Κανένα πρότυπο",
"storage_template_option_none_description": "Διατήρηση της δομής φακέλων όπως την χρησιμοποιεί το Immich εξ'ορισμού",
"storage_template_path_length": "Όριο μήκους διαδρομής: <b>{length, number}</b>/{limit, number}, κατά προσέγγιση",
"storage_template_settings": "Πρότυπο αποθήκευσης",
"storage_template_settings_description": "Διαχείριση της δομής φακέλου και του ονόματος, του ανεβασμένου αρχείου",
"storage_template_user_label": "<code>{label}</code> είναι η Ετικέτα Αποθήκευσης του χρήστη",
"storage_template_variables": "Πρότυπες μεταβλητές",
"system_settings": "Ρυθμίσεις Συστήματος",
"tag_cleanup_job": "Καθαρισμός ετικετών",
"template_email_available_tags": "Μπορείτε να χρησιμοποιήσετε τις εξής μεταβλητές στο πρότυπό σας: {tags}",
@@ -489,6 +508,7 @@
"admin_password": "Κωδικός πρόσβασης Διαχειριστή",
"administration": "Διαχείριση",
"advanced": "Για προχωρημένους",
"advanced_filters": "Προηγμένα φίλτρα",
"advanced_settings_clear_image_cache": "Καθαρισμός προσωρινής μνήμης εικόνων",
"advanced_settings_clear_image_cache_error": "Αποτυχία καθαρισμού προσωρινής μνήμης εικόνων",
"advanced_settings_clear_image_cache_success": "Επιτυχής εκκαθάριση {size}",
@@ -543,6 +563,7 @@
"allow_public_user_to_download": "Επιτρέψτε σε δημόσιο χρήστη να κατεβάσει",
"allow_public_user_to_upload": "Επιτρέψτε στον δημόσιο χρήστη να ανεβάσει",
"allowed": "Επιτρεπόμενο",
"also_known_as": "γνωστό και ως",
"alt_text_qr_code": "Εικόνα κωδικού QR",
"always_keep": "Διατήρηση πάντα",
"always_keep_photos_hint": "Η «Απελευθέρωση χώρου» θα κρατήσει όλες τις φωτογραφίες σε αυτήν τη συσκευή.",
@@ -655,6 +676,7 @@
"biometric_no_options": "Δεν υπάρχουν διαθέσιμοι τρόποι βιομετρικής ταυτοποίησης",
"biometric_not_available": "Δεν υπάρχει διαθέσιμη βιομετρική ταυτοποίηση σε αυτή τη συσκευή",
"birthdate_set_description": "Η ημερομηνία γέννησης χρησιμοποιείται για τον υπολογισμό της ηλικίας αυτού του ατόμου, τη χρονική στιγμή μιας φωτογραφίας.",
"birthday_memory_title": "Του/Της {name} τα γενέθλια",
"blurred_background": "Θολό φόντο",
"browse_templates": "Περιήγηση σε πρότυπα",
"bugs_and_feature_requests": "Σφάλματα & Αιτήματα Λειτουργιών",
@@ -719,6 +741,8 @@
"clear_all_recent_searches": "Εκκαθάριση όλων των πρόσφατων αναζητήσεων",
"clear_failed_count": "Αποτυχία εκκαθάρισης ({count})",
"clear_file_cache": "Εκκαθάριση της Προσωρινής Μνήμης Αρχείων",
"clear_file_cache_error": "Αποτυχία διαγραφής προσωρινής μνήμης αρχείων",
"clear_file_cache_success": "Έγινε εκκαθάριση της προσωρινής μνήμης αρχείων",
"clear_message": "Εκκαθάριση μηνύματος",
"clear_value": "Εκκαθάριση τιμής",
"client_cert_import": "Εισαγωγή",
@@ -730,6 +754,9 @@
"client_cert_subtitle": "Υποστηρίζει μόνο τη μορφή PKCS12 (.p12, .pfx). Η εισαγωγή/αφαίρεση πιστοποιητικού είναι διαθέσιμη μόνο πριν από τη σύνδεση",
"client_cert_title": "Πιστοποιητικό SSL πελάτη [ΠΕΙΡΑΜΑΤΙΚΟ]",
"close": "Κλείσιμο",
"cluster_group_description": "Τα άτομα αναγνωρίζονται στις φωτογραφίες όλων των μελών του γκρουπ",
"cluster_group_facial_recognition": "Επαναφορά αναγνώρισης προσώπου",
"cluster_group_facial_recognition_prompt": "Επαναφέροντας την αναγνώριση προσώπου θα διαγραφούν όλα τα άτομα για όλους τους χρήστες σε αυτό το γκρουπ. Θα χαθούν και τα ήδη ρυθμισμένα ονόματα και ημερομηνίες γέννησης. Είστε σίγουρος ότι θέλετε να συνεχίσετε?",
"collapse": "Σύμπτυξη",
"collapse_all": "Σύμπτυξη όλων",
"color": "Χρώμα",
@@ -1204,7 +1231,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Βίντεο} other {Εικόνα}} τραβηγμένο στην/στον {city}, {country} με τον/την {person1}, τον/την {person2} και τον/την {person3} στις {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Βίντεο} other {Εικόνα}} τραβηγμένο στον/στην {city}, {country} με τον/την {person1}, {person2}, και {additionalCount, number} άλλους στις {date}",
"immich_logo": "Λογότυπο Immich",
"immich_web_interface": "Ιστότοπος Immich",
"import_from_json": "Εισαγωγή από αρχείο JSON",
"import_path": "Εισαγωγή διαδρομής",
"in_albums": "Μέσα σε {count, plural, one {# άλμπουμ} other {# άλμπουμ}}",
@@ -1908,8 +1934,6 @@
"setting_image_viewer_help": "Το πρόγραμμα προβολής λεπτομερειών φορτώνει πρώτα τη μικρογραφία, στη συνέχεια φορτώνει την προεπισκόπηση μεσαίου μεγέθους (αν είναι ενεργοποιημένη), τέλος φορτώνει το πρωτότυπο (αν είναι ενεργοποιημένο).",
"setting_image_viewer_original_subtitle": "Ενεργοποιήστε τη φόρτωση της πρωτότυπης εικόνας πλήρους ανάλυσης (μεγάλη!). Απενεργοποιήστε για να μειώσετε τη χρήση δεδομένων (τόσο στο δίκτυο όσο και στην κρυφή μνήμη της συσκευής).",
"setting_image_viewer_original_title": "Φόρτωση πρωτότυπης εικόνας",
"setting_image_viewer_preview_subtitle": "Ενεργοποιήστε τη φόρτωση μιας εικόνας μέσης ανάλυσης. Απενεργοποιήστε είτε για να φορτώνεται απευθείας το πρωτότυπο είτε για να χρησιμοποιείται μόνο η μικρογραφία.",
"setting_image_viewer_preview_title": "Φόρτωση εικόνας προεπισκόπησης",
"setting_languages_apply": "Εφαρμογή",
"setting_languages_subtitle": "Αλλάξτε τη γλώσσα της εφαρμογής",
"setting_notifications_notify_minutes": "{count} λεπτά",
@@ -1975,7 +1999,6 @@
"shared_link_password_description": "Απαίτηση κωδικού για πρόσβαση στον κοινοποιημένο σύνδεσμο",
"shared_links": "Κοινόχρηστοι σύνδεσμοι",
"shared_links_description": "Μοιραστείτε φωτογραφίες και βίντεο με σύνδεσμο",
"shared_photos_and_videos_count": "{assetCount, plural, other {# κοινόχρηστες φωτογραφίες & βίντεο.}}",
"shared_with_me": "Μοιρασμένα μαζί μου",
"shared_with_partner": "Σε κοινή χρήση με {partner}",
"sharing": "Κοινοποίηση",
+43 -3
View File
@@ -62,6 +62,12 @@
"backup_onboarding_title": "Backups",
"backup_settings": "Database Dump Settings",
"backup_settings_description": "Manage database dump settings.",
"backups": "Backups",
"backups_attempts": "Backup attempts",
"backups_hide_reminder": "Hide backups reminder",
"backups_hide_reminder_description": "If you already manage backups outside of Immich, you can hide the backup setup reminder.",
"backups_settings": "Backup settings",
"backups_snapshots": "Snapshots",
"cleared_jobs": "Cleared jobs for: {job}",
"config_set_by_file": "Config is currently set by a config file",
"confirm_delete_library": "Are you sure you want to delete {library} library?",
@@ -87,7 +93,7 @@
"failed_job_command": "Command {command} failed for job: {job}",
"force_delete_user_warning": "WARNING: This will immediately remove the user and all assets. This cannot be undone and the files cannot be recovered.",
"image_format": "Format",
"image_format_description": "WebP produces smaller files than JPEG, but is slower to encode.",
"image_format_description": "WebP produces smaller files than JPEG, but is slower to encode. JPEG XL is the best option for high-quality compression, but not all browsers and apps can display it.",
"image_fullsize_description": "Full-size image with stripped metadata, used when zoomed in",
"image_fullsize_enabled": "Enable full-size image generation",
"image_fullsize_enabled_description": "Generate full-size image for non-web-friendly formats. When \"Prefer embedded preview\" is enabled, embedded previews are used directly without conversion. Does not affect web-friendly formats like JPEG.",
@@ -101,7 +107,7 @@
"image_preview_quality_description": "Preview quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness. Setting a low value may affect machine learning quality.",
"image_preview_title": "Preview Settings",
"image_progressive": "Progressive",
"image_progressive_description": "Encode JPEG images progressively for gradual loading display. This has no effect on WebP images.",
"image_progressive_description": "Encode JPEG images progressively for gradual loading display. This has no effect on other formats.",
"image_quality": "Quality",
"image_resolution": "Resolution",
"image_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes and can reduce app responsiveness.",
@@ -324,6 +330,13 @@
"oauth_timeout": "Request Timeout",
"oauth_timeout_description": "Timeout for requests in milliseconds",
"ocr_job_description": "Use machine learning to recognize text in images",
"passkey_additional_domains": "Additional domains",
"passkey_additional_domains_description": "Additional, trusted domains (related origin requests). These will only work if the passkey domain is also accessible.",
"passkey_domain": "Passkey domain",
"passkey_domain_description": "Domain used for passkeys (relying party). Leave blank to infer from the origin header. Changing this value will result in existing passkeys no longer working.",
"passkey_enable_description": "Login with a passkey",
"passkey_settings": "Passkey Login",
"passkey_settings_description": "Manage passkey login settings",
"password_enable_description": "Login with email and password",
"password_settings": "Password Login",
"password_settings_description": "Manage password login settings",
@@ -874,6 +887,8 @@
"delete_local_dialog_ok_backed_up_only": "Delete Backed Up Only",
"delete_local_dialog_ok_force": "Delete Anyway",
"delete_others": "Delete others",
"delete_passkey": "Delete passkey",
"delete_passkey_prompt": "Are you sure you want to delete this passkey?",
"delete_permanently": "Delete permanently",
"delete_permanently_action_prompt": "{count} deleted permanently",
"delete_shared_link": "Delete shared link",
@@ -943,6 +958,7 @@
"edit_location_action_prompt": "{count} location edited",
"edit_location_dialog_title": "Location",
"edit_name": "Edit name",
"edit_passkey": "Edit passkey",
"edit_people": "Edit people",
"edit_person": "Edit person",
"edit_tag": "Edit tag",
@@ -1013,6 +1029,7 @@
"failed_to_keep_this_delete_others": "Failed to keep this asset and delete the other assets",
"failed_to_load_asset": "Failed to load asset",
"failed_to_load_assets": "Failed to load assets",
"failed_to_load_database_backups": "Failed to load database backups",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_load_people": "Failed to load people",
"failed_to_remove_product_key": "Failed to remove product key",
@@ -1287,6 +1304,7 @@
"last": "Last",
"last_months": "{count, plural, one {Last month} other {Last # months}}",
"last_seen": "Last seen",
"last_used": "Last used",
"latest_version": "Latest Version",
"latitude": "Latitude",
"leave": "Leave",
@@ -1379,6 +1397,7 @@
"login_has_been_disabled": "Login has been disabled",
"login_password_changed_error": "There was an error updating your password",
"login_password_changed_success": "Password updated successfully",
"login_with_passkey": "Login with passkey",
"logout_all_device_confirmation": "Are you sure you want to log out all devices?",
"logout_this_device_confirmation": "Are you sure you want to log out this device?",
"logs": "Logs",
@@ -1389,10 +1408,12 @@
"main_branch_warning": "You're using a development version; we strongly recommend using a release version!",
"main_menu": "Main menu",
"maintenance_action_restore": "Restoring Database",
"maintenance_action_rollback": "Restoring from Backup",
"maintenance_description": "Immich has been put into <link>maintenance mode</link>.",
"maintenance_end": "End maintenance mode",
"maintenance_logged_in_as": "Currently logged in as {user}",
"maintenance_restore_from_backup": "Restore From Backup",
"maintenance_restore_latest_backup_description": "We'll restore your database from the most recent backup. You can also pick a different one.",
"maintenance_restore_library": "Restore Your Library",
"maintenance_restore_library_confirm": "If this looks correct, continue to restoring a backup!",
"maintenance_restore_library_description": "Restoring Database",
@@ -1405,6 +1426,13 @@
"maintenance_restore_library_hint_regenerate_later": "You can regenerate these later in settings",
"maintenance_restore_library_hint_storage_template_missing_files": "Using storage template? You may be missing files",
"maintenance_restore_library_loading": "Loading integrity checks and heuristics…",
"maintenance_restore_loading_backups": "Loading backups…",
"maintenance_restore_no_backups": "There are no database backups.",
"maintenance_restore_select_another": "Select another backup",
"maintenance_restore_source_database_backup": "Database Backup",
"maintenance_restore_source_futo_backups": "FUTO Backups",
"maintenance_restore_source_title": "Where would you like to restore from?",
"maintenance_restore_upload_backup": "Upload a backup",
"maintenance_task_backup": "Creating a backup of the existing database…",
"maintenance_task_migrations": "Running database migrations…",
"maintenance_task_restore": "Restoring the chosen backup…",
@@ -1427,6 +1455,7 @@
"manage_your_api_keys": "Manage your API keys",
"manage_your_devices": "Manage your logged-in devices",
"manage_your_oauth_connection": "Manage your OAuth connection",
"manage_your_passkeys": "Manage your passkeys",
"map": "Map",
"map_assets_in_bounds": "{count, plural, =0 {No photos in this area} one {# photo} other {# photos}}",
"map_cannot_get_user_location": "Cannot get user's location",
@@ -1546,6 +1575,7 @@
"new_album": "New Album",
"new_api_key": "New API Key",
"new_feature": "New Feature",
"new_passkey": "New passkey",
"new_password": "New password",
"new_person": "New person",
"new_pin_code": "New PIN code",
@@ -1658,6 +1688,8 @@
"partner_sharing": "Partner Sharing",
"partners": "Partners",
"partners_description": "Share your photos and videos with other users",
"passkeys": "{count, plural, one {Passkey} other {Passkeys}}",
"passkeys_not_supported": "Passkeys are not supported by this browser",
"password": "Password",
"password_does_not_match": "Password does not match",
"password_required": "Password Required",
@@ -1773,6 +1805,8 @@
"purchase_panel_title": "Support the project",
"purchase_per_server": "Per server",
"purchase_per_user": "Per user",
"purchase_product_key_description": "Product keys support Immich development and give you a supporter badge.",
"purchase_product_key_excludes_backups": "Product keys do not include FUTO Backups.",
"purchase_remove_product_key": "Remove Product Key",
"purchase_remove_product_key_prompt": "Are you sure you want to remove the product key?",
"purchase_remove_server_product_key": "Remove Server product key",
@@ -1842,6 +1876,7 @@
"removed_from_favorites_count": "{count, plural, other {Removed #}} from favorites",
"removed_from_stack": "Removed asset from stack",
"removed_memory": "Removed memory",
"removed_passkey": "Removed passkey: {name}",
"removed_tagged_assets": "Removed tag from {count, plural, one {# asset} other {# assets}}",
"rename": "Rename",
"repository": "Repository",
@@ -2025,6 +2060,7 @@
"share_everyone": "Share everyone",
"share_everyone_description": "Give {user} access to all of your people.",
"share_link": "Share Link",
"share_logs": "Share Logs",
"share_original": "Use original (large)",
"share_preview": "Use preview (small)",
"share_quality_body": "Press and hold the share button to choose the image quality before you share.",
@@ -2203,6 +2239,8 @@
"theme": "Theme",
"theme_selection": "Theme selection",
"theme_selection_description": "Automatically set the theme to light or dark based on your browser's system preference",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Scroll continuously when dragging the scrollbar instead of snapping to months",
"theme_setting_asset_list_smooth_scrubbing_title": "Smooth timeline scrubbing",
"theme_setting_asset_list_storage_indicator_title": "Show storage indicator on asset tiles",
"theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({count})",
"theme_setting_colorful_interface_subtitle": "Apply primary color to background surfaces.",
@@ -2243,6 +2281,8 @@
"trigger": "Trigger",
"trigger_asset_metadata_extraction": "Asset Metadata Extraction",
"trigger_asset_metadata_extraction_description": "Triggered when the EXIF metadata of an asset is extracted",
"trigger_asset_ocr_extraction": "Asset OCR Extraction",
"trigger_asset_ocr_extraction_description": "Triggered when the OCR text of an asset is extracted",
"trigger_asset_tagged": "Asset Tagged",
"trigger_asset_tagged_description": "Triggered when a tag is added to an asset",
"trigger_asset_uploaded": "Asset Upload",
@@ -2318,7 +2358,7 @@
"user": "User",
"user_has_been_deleted": "This user has been deleted.",
"user_id": "User ID",
"user_liked": "{user} liked {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
"user_liked": "{user} liked {type, select, image {this photo} video {this video} other {this}}",
"user_pin_code_settings": "PIN Code",
"user_pin_code_settings_description": "Manage your PIN code",
"user_privacy": "User Privacy",
+6 -4
View File
@@ -368,6 +368,12 @@
"storage_template_migration_info": "The storage template will convert all extensions to lowercase. Template changes will only apply to new assets. To retroactively apply the template to previously uploaded assets, run the <link>{job}</link>.",
"storage_template_migration_job": "Storage Template Migration Job",
"storage_template_more_details": "For more details about this feature, refer to the <template-link>Storage Template</template-link> and its <implications-link>implications</implications-link>",
"storage_template_onboarding_description_v3": "Storage templates allow you to define a custom folder structure on disk for your uploaded assets. This can always be changed later.",
"storage_template_option_custom": "Custom",
"storage_template_option_custom_description": "Build your own folder structure with template variables",
"storage_template_option_date_description": "Sort files into year, month, and day folders",
"storage_template_option_none": "No template",
"storage_template_option_none_description": "Keep the folder structure Immich uses by default",
"storage_template_path_length": "Approximate path length limit: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "Storage Template",
"storage_template_settings_description": "Manage the folder structure and file name of the upload asset",
@@ -1224,7 +1230,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} taken in {city}, {country} with {person1}, {person2}, and {person3} on {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} taken in {city}, {country} with {person1}, {person2}, and {additionalCount, number} others on {date}",
"immich_logo": "Immich Logo",
"immich_web_interface": "Immich Web Interface",
"import_from_json": "Import from JSON",
"import_path": "Import path",
"in_albums": "In {count, plural, one {# album} other {# albums}}",
@@ -1958,8 +1963,6 @@
"setting_image_viewer_help": "The detail viewer loads the small thumbnail first, then loads the medium-size preview (if enabled), finally loads the original (if enabled).",
"setting_image_viewer_original_subtitle": "Enable to load the original full-resolution image (large!). Disable to reduce data usage (both network and on device cache).",
"setting_image_viewer_original_title": "Load original image",
"setting_image_viewer_preview_subtitle": "Enable to load a medium-resolution image. Disable to either directly load the original or only use the thumbnail.",
"setting_image_viewer_preview_title": "Load preview image",
"setting_languages_apply": "Apply",
"setting_languages_subtitle": "Change the app's language",
"setting_notifications_notify_minutes": "{count} minutes",
@@ -2025,7 +2028,6 @@
"shared_link_password_description": "Require a password to access this shared link",
"shared_links": "Shared links",
"shared_links_description": "Share photos and videos with a link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# shared photos & videos.}}",
"shared_with_me": "Shared with me",
"shared_with_partner": "Shared with {partner}",
"sharing": "Sharing",
+10 -5
View File
@@ -1238,7 +1238,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} farita en {city}, {country} kun {person1}, {person2} kaj {person3} je {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} farita en {city}, {country} kun {person1}, {person2}, kaj {additionalCount, number} aliaj homoj je {date}",
"immich_logo": "Bildsimbolo de Immich",
"immich_web_interface": "Interfaco de Immich",
"import_from_json": "Importi el JSON-dosiero",
"import_path": "Vojo de importado",
"in_albums": "En {count, plural, one {# albumo} other {# albumoj}}",
@@ -1669,6 +1668,7 @@
"person_birthdate": "Naskiĝis je {date}",
"person_hidden": "{name}{hidden, select, true { (kaŝita)} other {}}",
"person_recognized": "Homo rekonita",
"person_update_strategy_self": "Nur mi",
"photo_shared_all_users": "Ŝajne vi dividis viajn fotojn kun ĉiuj uzantoj, aŭ povus esti ke ne ekzistas aliaj uzantoj.",
"photos": "Fotoj",
"photos_and_videos": "Fotoj kaj videoj",
@@ -1871,6 +1871,9 @@
"search_filter_camera_title": "Elektu tipon de fotilo",
"search_filter_date": "Dato",
"search_filter_date_interval": "de {start} ĝis {end}",
"search_filter_date_last_30_days": "Lastaj 30 tagoj",
"search_filter_date_last_year": "Pasintjare",
"search_filter_date_this_year": "Ĉi-jare",
"search_filter_date_title": "Elektu intervalon de datoj",
"search_filter_display_option_not_in_album": "Ne en albumo",
"search_filter_display_options": "Opcioj pri aranĝo sur ekrano",
@@ -1952,8 +1955,6 @@
"setting_image_viewer_help": "La detala montrilo unue montras la malgrandan bildeton, poste ŝargas la mezgrandan antaŭvidon (se ŝaltita), kaj fine ŝargas la originalan (se ŝaltita).",
"setting_image_viewer_original_subtitle": "Ŝalti por ŝargi la originalan bildon (povas esti tre granda!) Malŝalti por ŝpareme uzi datumojn (de retkonekto kaj memoro en via aparato).",
"setting_image_viewer_original_title": "Ŝargi originalan bildon",
"setting_image_viewer_preview_subtitle": "Ŝalti por ŝargi mez-distingivan bildon. Malŝalti por ŝargi aŭ la originalon aŭ la bildeton.",
"setting_image_viewer_preview_title": "Ŝargi antaŭvidan bildon",
"setting_languages_apply": "Validigi",
"setting_languages_subtitle": "Ŝanĝi lingvon de la apo",
"setting_notifications_notify_minutes": "{count} minutoj",
@@ -2017,7 +2018,6 @@
"shared_link_password_description": "Devigi uzon de pasvorto por uzi la ligilon",
"shared_links": "Dividitaj ligiloj",
"shared_links_description": "Dividi fotojn kaj videojn per ligilo",
"shared_photos_and_videos_count": "{assetCount, plural, other {# dividitaj fotoj kaj videoj.}}",
"shared_with_me": "Dividitaj kun mi",
"shared_with_partner": "Dividitaj kun {partner}",
"sharing": "Dividado",
@@ -2098,6 +2098,7 @@
"stop_photo_sharing": "Ĉu ĉesi dividi viajn fotojn?",
"stop_photo_sharing_description": "{partner} ne plu rajtos atingi viajn fotojn.",
"stop_sharing_photos_with_user": "Ĉesi dividi fotojn kun tiu ĉi uzanto",
"sync": "Sinkronigi",
"to_favorite": "Aldoni al preferataĵoj",
"unfavorite": "Forigi el preferataĵoj",
"unfavorite_action_prompt": "{count} forigita(j) el Preferataĵoj",
@@ -2110,6 +2111,9 @@
"waiting": "En atendovico",
"waiting_count": "En atendovico: {count}",
"week": "Semajno",
"welcome": "Bonvenon",
"welcome_to_immich": "Bonvenon al Immich",
"whats_new": "Kio estas nova",
"wifi_name": "Nomo de Vifireto",
"workflow_delete_prompt": "Ĉu vi certas, ke vi volas forigi tiun ĉi laborfluon?",
"workflow_deleted": "Laborfluo forigita",
@@ -2125,5 +2129,6 @@
"workflows_help_text": "Laborfluo aŭtomatigas agojn pri elementoj, laŭ ekigiloj kaj filtriloj",
"year": "Jaro",
"yes": "Jes",
"you_dont_have_any_shared_links": "Vi ne havas ajnan dividitan ligilon"
"you_dont_have_any_shared_links": "Vi ne havas ajnan dividitan ligilon",
"your_wifi_name": "Via Vifio-nomo"
}
+29 -13
View File
@@ -66,7 +66,7 @@
"confirm_delete_library": "¿Estás seguro de que quieres eliminar la biblioteca {library}?",
"confirm_delete_library_assets": "¿Estás seguro de que quieras eliminar esta biblioteca? Esto eliminará {count, plural, one {# recurso contenido} other {todos # recursos contenidos}} de Immich y no puede deshacerse. Los archivos permanecerán en disco.",
"confirm_email_below": "Para confirmar, escribe \"{email}\" a continuación",
"confirm_reprocess_all_faces": "¿Estás seguro de que deseas reprocesar todas las caras? Esto borrará a todas las personas que nombraste.",
"confirm_reprocess_all_faces": "¿Estás seguro de que deseas volver a procesar todos los rostros? Esto borrará a todas las personas que etiquetaste.",
"confirm_user_password_reset": "¿Estás seguro de que quieres restablecer la contraseña de {user}?",
"confirm_user_pin_code_reset": "¿Seguro que quieres restablecer el PIN de {user}?",
"copy_config_to_clipboard_description": "Copiar la configuración actual del sistema como un objeto JSON al",
@@ -80,13 +80,13 @@
"exclusion_pattern_description": "Los patrones de exclusión te permiten ignorar archivos y carpetas al escanear tu biblioteca. Es útil si tienes carpetas que contienen archivos que no deseas importar, por ejemplo archivos RAW.",
"export_config_as_json_description": "Descargar la configuración actual del sistema como un archivo JSON",
"external_libraries_page_description": "Página de biblioteca externa del administrador",
"face_detection": "Detección de caras",
"face_detection": "Detección de rostros",
"face_detection_description": "Detecta las caras en los recursos mediante aprendizaje automático. En el caso de los vídeos, solo se tiene en cuenta la miniatura. \"Actualizar\" (re)procesará todos los recursos. \"Restablecer\" borra además todos los datos de caras actuales. \"Faltante\" pone en cola los recursos que aún no se han procesado. Las caras detectadas se pondrán en cola para el reconocimiento facial una vez finalizada la detección, agrupándolos en personas existentes o nuevas.",
"facial_recognition_job_description": "Agrupa las caras detectadas en personas. Este paso se realiza después de completar la detección de caras. \"Restablecer\" (re)agrupa todas las caras. \"Faltante\" pone en cola las caras que no tienen una persona asignada.",
"facial_recognition_job_description": "Agrupa los rostros detectados. Este paso se realiza después de completar la detección de rostros. \"Restablecer\" (re)agrupa todos los rostros. \"Faltante\" pone en cola los rostros que no tienen una persona asignada.",
"failed_job_command": "El comando {command} ha fallado para la tarea: {job}",
"force_delete_user_warning": "CUIDADO: Esta acción eliminará inmediatamente el usuario y todos los recursos. Esta acción no se puede deshacer y los archivos no pueden ser recuperados.",
"image_format": "Formato",
"image_format_description": "WebP genera archivos más pequeños que JPEG, pero es más lento al codificarlos.",
"image_format_description": "WebP genera archivos más pequeños que JPEG, pero es más lento al codificarlos. JPEG XL es la mejor opción para obtener una compresión de alta calidad, pero no todos los navegadores y aplicaciones pueden mostrarlo.",
"image_fullsize_description": "Imagen de tamaño completo con metadatos removidos, usado cuando se hace zoom",
"image_fullsize_enabled": "Activar generación de imágenes a tamaño completo",
"image_fullsize_enabled_description": "Generar imágenes a tamaño completo para formatos no aptos para web. Cuando \"Preferir vista previa incrustada\" está activada, las vistas previas incrustadas se utilizan directamente sin conversión. No afecta a los formatos aptos para la web, como JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Calidad de vista previa de 1 a 100. Es mejor cuanto más alta sea la calidad pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación. Establecer un valor bajo puede afectar la calidad del aprendizaje automático.",
"image_preview_title": "Ajustes de las vistas previas",
"image_progressive": "Progressivo",
"image_progressive_description": "Codifica imágenes JPEG progresivamente para una visualización con carga gradual. Esto no afecta a las imágenes WebP.",
"image_progressive_description": "Codifica imágenes JPEG progresivamente para una visualización con carga gradual. Esto no afecta a otros formatos.",
"image_quality": "Calidad",
"image_resolution": "Resolución",
"image_resolution_description": "Las resoluciones más altas pueden conservar más detalles pero requieren más tiempo para codificar, tienen tamaños de archivo más grandes y pueden afectar la capacidad de respuesta de la aplicación.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Tiempo de espera de la solicitud agotado",
"oauth_timeout_description": "Tiempo de espera de solicitudes en milisegundos",
"ocr_job_description": "Usar aprendizaje automático para reconocer texto en imágenes",
"passkey_additional_domains": "Dominios adicionales",
"passkey_additional_domains_description": "Dominios de confianza adicionales (related origin requests). Estos solo servirán si el dominio de llaves de acceso tambien es accesible.",
"passkey_domain": "Dominio de llaves de acceso",
"passkey_domain_description": "Dominio usado para las llaves de acceso (relying party). Dejar en blanco para deducirlo en base al cabezal origin. Las llaves de acceso existentes dejaran de funcionar si se cambia este valor.",
"passkey_enable_description": "Inicia sesión con una llave de acceso",
"passkey_settings": "Login con llave de acceso",
"passkey_settings_description": "Administrar configuración de inicio de sesión con llaves de acceso",
"password_enable_description": "Iniciar sesión con correo electrónico y contraseña",
"password_settings": "Contraseña de inicio de sesión",
"password_settings_description": "Administrar la configuración de inicio de sesión con contraseña",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Borrar solo las que tengan copia de seguridad",
"delete_local_dialog_ok_force": "Borrar de todos modos",
"delete_others": "Eliminar otros",
"delete_passkey": "Borrar llave de acceso",
"delete_passkey_prompt": "¿Esta seguro que desea borrar esta llave de acceso?",
"delete_permanently": "Eliminar permanentemente",
"delete_permanently_action_prompt": "{count} eliminados permanentemente",
"delete_shared_link": "Eliminar enlace compartido",
@@ -942,7 +951,8 @@
"edit_location_action_prompt": "{count} ubicaciones actualizadas",
"edit_location_dialog_title": "Ubicación",
"edit_name": "Cambiar nombre",
"edit_people": "Editar persona",
"edit_passkey": "Editar llave de acceso",
"edit_people": "Editar personas",
"edit_person": "Editar persona",
"edit_tag": "Editar etiqueta",
"edit_title": "Editar Titulo",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {person3} el {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} tomada en {city}, {country} con {person1}, {person2}, y {additionalCount, number} más el {date}",
"immich_logo": "Logo de Immich",
"immich_web_interface": "Interfaz web de Immich",
"import_from_json": "Importar desde JSON",
"import_path": "Importar ruta",
"in_albums": "En {count, plural, one {# álbum} other {# álbumes}}",
@@ -1287,6 +1296,7 @@
"last": "Último",
"last_months": "{count, plural, one {Último mes} other {Últimos # meses}}",
"last_seen": "Ultima vez visto",
"last_used": "Última vez usado",
"latest_version": "Última versión",
"latitude": "Latitud",
"leave": "Abandonar",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "El inicio de sesión ha sido deshabilitado",
"login_password_changed_error": "Hubo un error actualizando la contraseña",
"login_password_changed_success": "Contraseña cambiado con éxito",
"login_with_passkey": "Iniciar sesión con llave de acceso",
"logout_all_device_confirmation": "¿Estás seguro de que quieres cerrar sesión en todos los dispositivos?",
"logout_this_device_confirmation": "¿Estás seguro de que quieres cerrar sesión en este dispositivo?",
"logs": "Registros",
@@ -1410,6 +1421,7 @@
"manage_your_api_keys": "Administre sus claves API",
"manage_your_devices": "Administre sus dispositivos conectados",
"manage_your_oauth_connection": "Administra tu conexión OAuth",
"manage_your_passkeys": "Administrar llaves de acceso",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {No hay fotos en esta área} one {# foto} other {# fotos}}",
"map_cannot_get_user_location": "No se pudo obtener la posición del usuario",
@@ -1529,6 +1541,7 @@
"new_album": "Nuevo álbum",
"new_api_key": "Nueva clave API",
"new_feature": "Nueva característica",
"new_passkey": "Nueva llave de acceso",
"new_password": "Nueva contraseña",
"new_person": "Nueva persona",
"new_pin_code": "Nuevo PIN",
@@ -1641,6 +1654,7 @@
"partner_sharing": "Compartir con compañeros",
"partners": "Miembros",
"partners_description": "Comparte tus fotos y vídeos con otros usuarios",
"passkeys_not_supported": "Este navegador no admite llaves de acceso",
"password": "Contraseña",
"password_does_not_match": "Las contraseñas no coinciden",
"password_required": "Contraseña requerida",
@@ -1825,6 +1839,7 @@
"removed_from_favorites_count": "{count, plural, other {Eliminados #}} de favoritos",
"removed_from_stack": "Recurso eliminado de la pila",
"removed_memory": "Recuerdo eliminado",
"removed_passkey": "Llave de acceso eliminada: {name}",
"removed_tagged_assets": "Etiqueta eliminada de {count, plural, one {# recurso} other {# recursos}}",
"rename": "Renombrar",
"repository": "Repositorio",
@@ -1986,11 +2001,9 @@
"setting_image_navigation_enable_subtitle": "Si está habilitado, puedes navegar a la imagen anterior/siguiente tocando una cuarta parte más a la izquierda/derecha de la pantalla.",
"setting_image_navigation_enable_title": "Toca para navegar",
"setting_image_navigation_title": "Navegación de imágenes",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano (si está habilitada), finalmente carga la original (si está habilitada).",
"setting_image_viewer_help": "El visor de detalles carga primero la miniatura pequeña, luego carga la vista previa de tamaño mediano, finalmente carga la original (si está habilitada).",
"setting_image_viewer_original_subtitle": "Activar para cargar la imagen en resolución original (¡muy grande!). Deshabilitar para reducir el consumo de datos (de red y caché).",
"setting_image_viewer_original_title": "Cargar imagen original",
"setting_image_viewer_preview_subtitle": "Activar para cargar una imagen de resolución media. Deshabilitar para cargar directamente la imagen original o usar una miniatura.",
"setting_image_viewer_preview_title": "Cargar imagen de previsualización",
"setting_languages_apply": "Aplicar",
"setting_languages_subtitle": "Cambia el idioma de la aplicación",
"setting_notifications_notify_minutes": "{count} minutos",
@@ -2010,6 +2023,7 @@
"share_everyone": "Compartir con todos",
"share_everyone_description": "Otorga a {user} acceso a todas tus personas.",
"share_link": "Compartir enlace",
"share_logs": "Compartir registros",
"share_original": "Usar original (grande)",
"share_preview": "Usar vista previa (pequeño)",
"share_quality_body": "Mantén pulsado el botón de compartir para elegir la calidad de la imagen antes de compartirla.",
@@ -2061,7 +2075,6 @@
"shared_link_password_description": "Requerir una contraseña para acceder a este enlace compartido",
"shared_links": "Enlaces compartidos",
"shared_links_description": "Comparte fotos y vídeos con un enlace",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotos y vídeos compartidos.}}",
"shared_with": "Compartido con",
"shared_with_count": "Compartido ({count})",
"shared_with_me": "Compartidos conmigo",
@@ -2189,6 +2202,8 @@
"theme": "Tema",
"theme_selection": "Selección de tema",
"theme_selection_description": "Establece el tema automáticamente como \"claro\" u \"oscuro\" según las preferencias del sistema/navegador",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Desplazar continuamente al mover la barra de desplazamiento en lugar de saltar de mes en mes",
"theme_setting_asset_list_smooth_scrubbing_title": "Desplazamiento suave de la linea de tiempo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamiento en las miniaturas de los recursos",
"theme_setting_asset_list_tiles_per_row_title": "Número de recursos por fila ({count})",
"theme_setting_colorful_interface_subtitle": "Aplicar el color primario a las superficies de fondo.",
@@ -2207,7 +2222,7 @@
"timezone": "Zona horaria",
"to_archive": "Archivar",
"to_change_password": "Cambiar contraseña",
"to_favorite": "A los favoritos",
"to_favorite": "Añadir a favoritos",
"to_login": "Iniciar sesión",
"to_multi_select": "para multi selección",
"to_parent": "Ir a los padres",
@@ -2304,7 +2319,7 @@
"user": "Usuario",
"user_has_been_deleted": "Este usuario ha sido eliminado.",
"user_id": "Id. de usuario",
"user_liked": "{user} le gustó {type, select, photo {esta foto} video {este vídeo} asset {este recurso} other {esto}}",
"user_liked": "{user} le gustó {type, select, image {esta foto} video {este vídeo} other {esto}}",
"user_pin_code_settings": "PIN",
"user_pin_code_settings_description": "Gestione su PIN",
"user_privacy": "Privacidad del usuario",
@@ -2340,6 +2355,7 @@
"view_group": "Ver grupo",
"view_in_timeline": "Ver en la línea de tiempo",
"view_link": "Ver enlace",
"view_more": "Ver más",
"view_name": "Ver",
"view_next_asset": "Mostrar siguiente recurso",
"view_previous_asset": "Mostrar recurso anterior",
+27 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Käsk {command} ebaõnnestus töötes: {job}",
"force_delete_user_warning": "HOIATUS: See kustutab koheselt kasutaja ja kõik tema üksused. Tegevust ei saa tagasi võtta ja faile ei saa taastada.",
"image_format": "Vorming",
"image_format_description": "WebP failid on väiksemad kui JPEG, aga kodeerimine on aeglasem.",
"image_format_description": "WebP failid on väiksemad kui JPEG, aga kodeerimine on aeglasem. JPEG XL on parim valik kõrge kvaliteedi jaoks, aga kõik brauserid ja rakendused ei suuda seda kuvada.",
"image_fullsize_description": "Täismõõdus pilt ilma metaandmeteta, kasutatakse sisse suumimisel",
"image_fullsize_enabled": "Luba täismõõdus piltide genereerimine",
"image_fullsize_enabled_description": "Genereeri mitte-veebisõbralike vormingute jaoks täismõõdus pilt. Kui \"Eelista manustatud eelvaadet\" on lubatud, kasutatakse manustatud eelvaateid otse ilma teisendamiseta. Ei mõjuta veebisõbralikke vorminguid nagu JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Eelvaate kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust. Madal väärtus võib mõjutada masinõppe kvaliteeti.",
"image_preview_title": "Eelvaate seaded",
"image_progressive": "Progressiivne",
"image_progressive_description": "Kodeeri JPEG-pildid järk-järguliseks laadimiseks. See ei mõjuta WebP-pilte.",
"image_progressive_description": "Kodeeri JPEG-pildid järk-järguliseks laadimiseks. See ei mõjuta teisi formaate.",
"image_quality": "Kvaliteet",
"image_resolution": "Resolutsioon",
"image_resolution_description": "Kõrgemad resolutsioonid säilitavad rohkem detaile, aga kodeerimine võtab kauem aega, tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Päringu ajalõpp",
"oauth_timeout_description": "Päringute ajalõpp millisekundites",
"ocr_job_description": "Kasuta piltidelt teksti tuvastamiseks masinõpet",
"passkey_additional_domains": "Täiendavad domeenid",
"passkey_additional_domains_description": "Täiendavad usaldatud domeenid. Need toimivad ainult siis, kui pääsuvõtme domeen on ka ligipääsetav.",
"passkey_domain": "Pääsuvõtme domeen",
"passkey_domain_description": "Pääsuvõtmete jaoks kasutatav domeen. Jäta tühjaks, et tuletada \"origin\" päisest. Selle väärtuse muutmisel lakkavad olemasolevad pääsuvõtmed töötamast.",
"passkey_enable_description": "Logi sisse pääsuvõtmega",
"passkey_settings": "Pääsuvõtmega sisenemine",
"passkey_settings_description": "Halda pääsuvõtmega sisenemise seadeid",
"password_enable_description": "Logi sisse e-posti aadressi ja parooliga",
"password_settings": "Parooliga sisselogimine",
"password_settings_description": "Halda parooliga sisselogimise seadeid",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Kustuta ainult varundatud",
"delete_local_dialog_ok_force": "Kustuta sellegipoolest",
"delete_others": "Kustuta teised",
"delete_passkey": "Kustuta pääsuvõti",
"delete_passkey_prompt": "Kas oled kindel, et soovid selle pääsuvõtme kustutada?",
"delete_permanently": "Kustuta jäädavalt",
"delete_permanently_action_prompt": "{count} jäädavalt kustutatud",
"delete_shared_link": "Kustuta jagatud link",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} asukoht muudetud",
"edit_location_dialog_title": "Asukoht",
"edit_name": "Muuda nime",
"edit_passkey": "Muuda pääsuvõtit",
"edit_people": "Muuda isikuid",
"edit_person": "Muuda isikut",
"edit_tag": "Muuda silti",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} kohas {city}, {country} koos isikutega {person1}, {person2} ja {person3}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Pilt}} tehtud {date} kohas {city}, {country} koos {person1}, {person2} ja veel {additionalCount, number} isikuga",
"immich_logo": "Immich'i logo",
"immich_web_interface": "Immich'i veebiliides",
"import_from_json": "Impordi JSON-formaadist",
"import_path": "Imporditee",
"in_albums": "{count, plural, one {# albumis} other {# albumis}}",
@@ -1287,6 +1296,7 @@
"last": "Viimane",
"last_months": "{count, plural, one {Eelmine kuu} other {Eelmised # kuud}}",
"last_seen": "Viimati nähtud",
"last_used": "Viimati kasutatud",
"latest_version": "Uusim versioon",
"latitude": "Laiuskraad",
"leave": "Lahku",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Sisselogimine on keelatud",
"login_password_changed_error": "Parooli muutmisel tekkis viga",
"login_password_changed_success": "Parool edukalt uuendatud",
"login_with_passkey": "Logi sisse pääsuvõtmega",
"logout_all_device_confirmation": "Kas oled kindel, et soovid kõigist seadmetest välja logida?",
"logout_this_device_confirmation": "Kas oled kindel, et soovid sellest seadmest välja logida?",
"logs": "Logid",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Üksuste haldamise ligipääs",
"manage_oauth_account": "Halda OAuth kontot",
"manage_people": "Halda isikuid",
"manage_people_access_description_v2": "Anna teistele kasutajatele ligipääs {count, plural, one {sellele isikule} other {oma isikutele}}, lubades neil andmeid vaadata ja sinu nimel hallata. See tegevus ei jaga üksuseid.",
"manage_person_access": "Halda ligipääsu",
"manage_sharing_with_other_users": "Halda teiste kasutajatega jagamist",
"manage_sharing_with_partners": "Halda partneritega jagamist",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Halda oma API võtmeid",
"manage_your_devices": "Halda oma autenditud seadmeid",
"manage_your_oauth_connection": "Halda oma OAuth ühendust",
"manage_your_passkeys": "Halda oma pääsuvõtmeid",
"map": "Kaart",
"map_assets_in_bounds": "{count, plural, =0 {Selles piirkonnas fotosid ei ole} one {# foto} other {# fotot}}",
"map_cannot_get_user_location": "Ei saa kasutaja asukohta tuvastada",
@@ -1528,6 +1541,7 @@
"new_album": "Uus album",
"new_api_key": "Uus API võti",
"new_feature": "Uus funktsionaalsus",
"new_passkey": "Uus pääsuvõti",
"new_password": "Uus parool",
"new_person": "Uus isik",
"new_pin_code": "Uus PIN-kood",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Partneriga jagamine",
"partners": "Partnerid",
"partners_description": "Jaga oma fotosid ja videosid teiste kasutajatega",
"passkeys": "{count, plural, one {Pääsuvõti} other {Pääsuvõtmed}}",
"passkeys_not_supported": "See veebilehitseja ei toeta pääsuvõtmeid",
"password": "Parool",
"password_does_not_match": "Parool ei klapi",
"password_required": "Parool on nõutud",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {# eemaldatud}} lemmikutest",
"removed_from_stack": "Üksus virnast eemaldatud",
"removed_memory": "Mäletus eemaldatud",
"removed_passkey": "Eemaldatud pääsuvõti: {name}",
"removed_tagged_assets": "Silt eemaldatud {count, plural, one {# üksuselt} other {# üksuselt}}",
"rename": "Nimeta ümber",
"repository": "Koodihoidla",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Kui lubatud, saad liikuda eelmise/järgmise pildi juurde ekraani vasakut/paremat serva puudutades.",
"setting_image_navigation_enable_title": "Puudutusega navigeerimine",
"setting_image_navigation_title": "Piltide navigeerimine",
"setting_image_viewer_help": "Detailivaatur laadib kõigepealt väikese pisipildi, seejärel keskmises mõõdus eelvaate (kui lubatud) ja lõpuks algse pildi (kui lubatud).",
"setting_image_viewer_help": "Detailivaatur laadib kõigepealt väikese pisipildi, seejärel keskmises mõõdus eelvaate ning lõpuks algse pildi (kui lubatud).",
"setting_image_viewer_original_subtitle": "Lülita sisse, et laadida algne täisresolutsiooniga pilt (suur!). Lülita välja, et vähendada andmekasutust (nii võrgu kui seadme puhvri).",
"setting_image_viewer_original_title": "Laadi algne pilt",
"setting_image_viewer_preview_subtitle": "Luba keskmise resolutsiooniga pildi laadimine. Keela, et laadida kohe algne pilt või kasutada ainult pisipilti.",
"setting_image_viewer_preview_title": "Laadi pildi eelvaade",
"setting_languages_apply": "Rakenda",
"setting_languages_subtitle": "Muuda rakenduse keelt",
"setting_notifications_notify_minutes": "{count} minutit",
@@ -2009,8 +2024,9 @@
"share_everyone": "Jaga kõik",
"share_everyone_description": "Anna kasutajale {user} ligipääs kõigile oma isikutele.",
"share_link": "Jaga linki",
"share_logs": "Jaga logisid",
"share_original": "Kasuta algset (suur)",
"share_preview": "Kasuta pisipilti (väike)",
"share_preview": "Kasuta eelvaadet (väike)",
"share_quality_body": "Vajuta ja hoia jagamise nuppu, et valida enne jagamist pildifaili kvaliteet.",
"share_quality_title": "Vali jagamise kvaliteet",
"share_with": "Jaga ligipääsu",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Nõua jagatud lingile ligi pääsemiseks parooli",
"shared_links": "Jagatud lingid",
"shared_links_description": "Jaga fotosid ja videosid lingiga",
"shared_photos_and_videos_count": "{assetCount, plural, other {# jagatud fotot ja videot.}}",
"shared_with": "Jagatud",
"shared_with_count": "Jagatud ({count})",
"shared_with_me": "Minuga jagatud",
@@ -2188,6 +2203,8 @@
"theme": "Teema",
"theme_selection": "Teema valik",
"theme_selection_description": "Sea automaatselt hele või tume teema vastavalt veebilehitseja eelistustele",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Liigu kerimisriba lohistamisel sujuvalt, mitte kuude kaupa",
"theme_setting_asset_list_smooth_scrubbing_title": "Sujuv ajajoone liigutamine",
"theme_setting_asset_list_storage_indicator_title": "Kuva üksuste ruutudel talletusindikaatorit",
"theme_setting_asset_list_tiles_per_row_title": "Üksuste arv reas ({count})",
"theme_setting_colorful_interface_subtitle": "Rakenda taustapindadele põhivärv.",
@@ -2303,7 +2320,7 @@
"user": "Kasutaja",
"user_has_been_deleted": "See kasutaja on kustutatud.",
"user_id": "Kasutaja ID",
"user_liked": "Kasutajale {user} meeldis {type, select, photo {see foto} video {see video} asset {see üksus} other {see}}",
"user_liked": "Kasutajale {user} meeldis {type, select, image {see foto} video {see video} other {see}}",
"user_pin_code_settings": "PIN-kood",
"user_pin_code_settings_description": "Halda oma PIN-koodi",
"user_privacy": "Kasutaja privaatsus",
@@ -2339,6 +2356,7 @@
"view_group": "Vaata gruppi",
"view_in_timeline": "Vaata ajajoonel",
"view_link": "Vaata linki",
"view_more": "Vaata rohkem",
"view_name": "Vaade",
"view_next_asset": "Vaata järgmist üksust",
"view_previous_asset": "Vaata eelmist üksust",
-4
View File
@@ -1206,7 +1206,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Bideoa} other {Irudia}} {city}-(e)n hartua, {country}-(e)n, {person1}, {person2} eta {person3}-(r)ekin {date}-(e)an",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Bideoa} other {Irudia}} {city}, {country}-(e)n hartua {person1}, {person2} eta beste {additionalCount, number}-(r)ekin hartua {date}-(e)an",
"immich_logo": "Immich-en logoa",
"immich_web_interface": "Immich Web interfazea",
"import_from_json": "JSON-etik inportatu",
"import_path": "Inportatzeko bidea",
"in_albums": "{count, plural, one {Album batean} other {# albumetan}}",
@@ -1910,8 +1909,6 @@
"setting_image_viewer_help": "Xehetasun-ikusleak miniatura kargatzen du lehenik, gero tamaina ertaineko aurrebista kargatzen du (gaituta badago), azkenik jatorrizkoa kargatzen du (gaituta badago).",
"setting_image_viewer_original_subtitle": "Gaitu bereizmen osoko jatorrizko irudia kargatzeko (handia!). Desgaitu datuen erabilera murrizteko (sarean eta gailuaren cachean).",
"setting_image_viewer_original_title": "Jatorrizko irudia kargatu",
"setting_image_viewer_preview_subtitle": "Gaitu bereizmen ertaineko irudiak kargatzeko. Desgaitu jatorrizkoa zuzenean kargatzeko edo miniatura soilik erabiltzeko.",
"setting_image_viewer_preview_title": "Aurrebista irudia kargatu",
"setting_languages_apply": "Ezarri",
"setting_languages_subtitle": "Aplikazioaren hizkuntza aldatu",
"setting_notifications_notify_minutes": "{count, plural, one {Minutu bat} other {# minutu}}",
@@ -1975,7 +1972,6 @@
"shared_link_password_description": "Eskatu pasahitz bat partekatutako esteka honetara sartzeko",
"shared_links": "Partekatutako estekak",
"shared_links_description": "Partekatu argazkiak eta bideoak esteka batekin",
"shared_photos_and_videos_count": "{assetCount, plural, one {Partekatutako argazki eta bideo bat.} other {# partekatutako argazki eta bideo.}}",
"shared_with_me": "Nirekin partekatutakoak",
"shared_with_partner": "{partner}-(r)ekin partekatuta",
"sharing": "Partekatzen",
+9 -4
View File
@@ -323,6 +323,13 @@
"oauth_timeout": "مهلت درخواست",
"oauth_timeout_description": "مهلت درخواست به میلی‌ثانیه",
"ocr_job_description": "استفاده از یادگیری ماشین برای تشخیص متن در تصاویر",
"passkey_additional_domains": "دامنه های بیشتر",
"passkey_additional_domains_description": "این دامنه‌ها فقط زمانی کار می‌کنند که دامنه اصلیِ Passkey هم قابل دسترسی باشد.",
"passkey_domain": "Passkey دامنه‌",
"passkey_domain_description": "دامنه‌ای که برای کلیدهای عبور (Passkey) استفاده می‌شود. اگر این قسمت را خالی بگذارید، دامنه به‌صورت خودکار از اطلاعات درخواست تشخیص داده می‌شود.توجه: با تغییر این دامنه، کلیدهای عبوری که قبلاً ساخته‌اید دیگر کار نخواهند کرد.",
"passkey_enable_description": "ورود با phasskey",
"passkey_settings": "ورود با passkey",
"passkey_settings_description": "تنظیمات مدیریت ورود با passkey",
"password_enable_description": "ورود با ایمیل و گذرواژه",
"password_settings": "ورود با گذرواژه",
"password_settings_description": "مدیریت تنظیمات ورود با گذرواژه",
@@ -368,6 +375,8 @@
"storage_template_migration_info": "الگوی ذخیره‌سازی همهٔ پسوندها را به حروف کوچک تبدیل می‌کند. تغییرات الگو فقط روی دارایی‌های جدید اعمال می‌شود. برای اعمال عطف‌به‌ماسبق الگو روی دارایی‌های قبلاً بارگذاری‌شده، <link>{job}</link> را اجرا کنید.",
"storage_template_migration_job": "وظیفهٔ مهاجرت الگوی ذخیره‌سازی",
"storage_template_more_details": "برای جزئیات بیشتر دربارهٔ این ویژگی، به <template-link>الگوی ذخیره‌سازی</template-link> و <implications-link>پیامدهای</implications-link> آن مراجعه کنید",
"storage_template_onboarding_description_v3": "با استفاده از الگوهای ذخیره‌سازی، می‌توانید مشخص کنید فایل‌های آپلودشده در چه پوشه‌هایی و با چه ساختاری روی دیسک ذخیره شوند. این تنظیمات را هر زمان که بخواهید می‌توانید تغییر دهید.",
"storage_template_option_custom": "سفارشی",
"storage_template_path_length": "حداکثر طول مسیر تقریبی: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "الگوی ذخیره‌سازی",
"storage_template_settings_description": "مدیریت ساختار پوشه و نام فایل دارایی بارگذاری‌شده",
@@ -1224,7 +1233,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {ویدیو} other {تصویر}} گرفته‌شده در {city}، {country} با {person1}، {person2} و {person3} در {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {ویدیو} other {تصویر}} گرفته‌شده در {city}، {country} با {person1}، {person2} و {additionalCount, number} نفر دیگر در {date}",
"immich_logo": "لوگوی Immich",
"immich_web_interface": "رابط وب Immich",
"import_from_json": "واردات از JSON",
"import_path": "مسیر واردات",
"in_albums": "در {count, plural, one {# آلبوم} other {# آلبوم}}",
@@ -1959,8 +1967,6 @@
"setting_image_viewer_help": "نمایشگر جزئیات ابتدا تصویر بندانگشتی کوچک، سپس پیش‌نمایش با اندازهٔ متوسط (در صورت فعال‌بودن) و در نهایت تصویر اصلی (در صورت فعال‌بودن) را بارگذاری می‌کند.",
"setting_image_viewer_original_subtitle": "فعال‌سازی برای بارگذاری تصویر اصلی با وضوح کامل (بسیار بزرگ!). غیرفعال‌سازی برای کاهش مصرف داده (هم شبکه و هم کش دستگاه).",
"setting_image_viewer_original_title": "بارگذاری تصویر اصلی",
"setting_image_viewer_preview_subtitle": "فعال‌سازی برای بارگذاری تصویر با وضوح متوسط. غیرفعال‌سازی برای بارگذاری مستقیم تصویر اصلی یا فقط استفاده از تصویر بندانگشتی.",
"setting_image_viewer_preview_title": "بارگذاری تصویر پیش‌نمایش",
"setting_languages_apply": "اعمال",
"setting_languages_subtitle": "تغییر زبان برنامه",
"setting_notifications_notify_minutes": "{count} دقیقه",
@@ -2026,7 +2032,6 @@
"shared_link_password_description": "برای دسترسی به این پیوند هم‌رسانی، نیاز به گذرواژه است",
"shared_links": "پیوند‌های هم‌رسانی",
"shared_links_description": "هم‌رسانی عکس‌ها و ویدیوها با یک پیوند",
"shared_photos_and_videos_count": "{assetCount, plural, other {# عکس و ویدیوی مشترک.}}",
"shared_with_me": "مشترک با من",
"shared_with_partner": "مشترک با {partner}",
"sharing": "هم‌رسانی",
+12 -5
View File
@@ -193,9 +193,11 @@
"machine_learning_smart_search_enabled": "Ota käyttöön älykäs haku",
"machine_learning_smart_search_enabled_description": "Jos ei käytössä, kuvia ei koodata älykkäälle etsinnälle.",
"machine_learning_url_description": "Koneoppimispalvelimen URL-osoite. Jos lisätään useampi kuin yksi URL-osoite, kutakin osoitetta kohden yritetään kerran, kunnes yksi niistä vastaa. Yritykset tehdään järjestyksessä ensimmäisestä viimeiseen. Palvelimet, jotka eivät vastaa, ohitetaan tilapäisesti, kunnes ne ovat taas tavoitettavissa.",
"maintenance_backup_management": "varmuuskopioiden hallinta",
"maintenance_delete_backup": "Poista varmuuskopio",
"maintenance_delete_backup_description": "Tämä tiedosto poistetaan pysyvästi.",
"maintenance_delete_error": "Varmuuskopion poistaminen epäonnistui.",
"maintenance_integrity_missing_file": "Puuttuvat tiedostot",
"maintenance_restore_backup": "Palauta varmuuskopio",
"maintenance_restore_backup_description": "Immich tyhjennetään ja palautetaan valitusta varmuuskopiosta. Ennen jatkamista luodaan varmuuskopio.",
"maintenance_restore_backup_different_version": "Tämä varmuuskopio luotiin Immichin eri versiolla!",
@@ -270,6 +272,7 @@
"notification_enable_email_notifications": "Ota käyttöön sähköposti-ilmoitukset",
"notification_settings": "Ilmoitusasetukset",
"notification_settings_description": "Hallitse ilmoitusasetuksia, myös sähköpostin",
"oauth_account_management_url": "Käyttäjien hallinnan URL-osoite",
"oauth_allow_insecure_requests": "Salli turvattomat pyynnöt",
"oauth_allow_insecure_requests_description": "VAROITUS: Tämä poistaa TLS-varmenteen tarkistuksen OAuth-pyynnöiltä ja voi altistaa sinut väliintulohyökkäyksille (MITM).",
"oauth_auto_launch": "Automaattinen käynnistys",
@@ -1071,6 +1074,7 @@
"failed": "Epäonnistui",
"failed_count": "Epäonnistuneita: {count}",
"failed_to_authenticate": "Todennus epäonnistui",
"failed_to_delete_file": "Tiedoston poistaminen epäonnistui",
"failed_to_load_assets": "Kohteiden lataus epäonnistui",
"failed_to_load_folder": "Kansion lataaminen epäonnistui",
"favorite": "Suosikki",
@@ -1102,6 +1106,7 @@
"free_up_space_description": "Siirrä varmuuskopioidut valokuvat ja videot laitteen roskakoriin vapauttaaksesi tilaa. Palvelimella olevat kopiosi säilyvät turvassa.",
"free_up_space_settings_subtitle": "Vapauta laitteen tilaa",
"full_path": "Koko polku: {path}",
"full_path_or_folder": "Koko tiedostopolku tai kansio",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Ominaisuus lataa ulkoisia kohteita Googlelta toimiakseen.",
"general": "Yleinen",
@@ -1160,7 +1165,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {person3}n kanssa {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {additionalCount, number} muun kanssa {date}",
"immich_logo": "Immich-logo",
"immich_web_interface": "Immich-verkkokäyttöliittymä",
"import_from_json": "Tuo JSON-tiedostosta",
"import_path": "Tuontipolku",
"in_albums": "{count, plural, one {# albumissa} other {# albumissa}}",
@@ -1183,6 +1187,7 @@
"invalid_date_format": "Virheellinen päivämäärämuoto",
"invite_people": "Kutsu ihmisiä",
"invite_to_album": "Kutsu albumiin",
"iso": "ISO",
"items_count": "{count, plural, one {# kpl} other {# kpl}}",
"jobs": "Taustatehtävät",
"keep": "Säilytä",
@@ -1210,6 +1215,7 @@
"latitude": "Leveysaste",
"leave": "Poistu",
"leave_album": "Poistu albumista",
"leave_group": "Poistu ryhmästä",
"lens_model": "Objektiivin malli",
"let_others_respond": "Anna muiden vastata",
"level": "Taso",
@@ -1231,6 +1237,7 @@
"link_to_oauth": "Linkki OAuth",
"linked_oauth_account": "Linkitetty OAuth-tili",
"list": "Lista",
"load_more": "Lataa lisää",
"loading": "Ladataan",
"loading_search_results_failed": "Hakutulosten lataaminen epäonnistui",
"local": "Paikallinen",
@@ -1313,6 +1320,7 @@
"manage_media_access_settings": "Avaa asetukset",
"manage_media_access_subtitle": "Anna Immich-sovellukselle lupa hallinoida ja siirtää mediatiedostoja.",
"manage_media_access_title": "Lupa median hallinnointiin",
"manage_oauth_account": "Hallitse OAuth käyttäjää",
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
"manage_the_app_settings": "Hallitse sovelluksen asetuksia",
"manage_your_account": "Hallitse tiliäsi",
@@ -1341,8 +1349,10 @@
"marked_all_as_read": "Merkitty kaikki luetuiksi",
"matches": "Osumia",
"matching_assets": "Vastaava sisältö",
"media": "Media",
"media_chrome": {
"captions": "Tekstitykset",
"captions_off": "Pois",
"disable_captions": "Poista tekstitykset käytöstä",
"enable_captions": "Ota tekstitykset käyttöön",
"enter_fullscreen_mode": "Siirry koko ruudun tilaan",
@@ -1822,11 +1832,9 @@
"setting_image_navigation_enable_subtitle": "Jos tämä toiminto on käytössä, voit siirtyä edelliseen/seuraavaan kuvaan napauttamalla näytön vasenta/oikeaa reunaa.",
"setting_image_navigation_enable_title": "Napauta navigoidaksesi",
"setting_image_navigation_title": "Kuvien selaus",
"setting_image_viewer_help": "Kuvaa katseltaessa ensin ladataan pikkukuva, sitten keskilaatuinen pikkukuva (jos käytössä) ja lopuksi alkuperäinen (jos käytössä).",
"setting_image_viewer_help": "Kuvaa katseltaessa ensin ladataan pikkukuva, sitten keskilaatuinen pikkukuva ja lopuksi alkuperäinen (jos käytössä).",
"setting_image_viewer_original_subtitle": "Ota käyttöön ladataksesi alkuperäinen täysitarkkuuksinen kuva (suuri!). Poista käytöstä vähentääksesi datan käyttöä (sekä verkossa että laitteen välimuistissa).",
"setting_image_viewer_original_title": "Lataa alkuperäinen kuva",
"setting_image_viewer_preview_subtitle": "Ota käyttöön ladataksesi keskitarkkuuksinen kuva. Poista käytöstä ladataksesi alkuperäinen kuva tai käyttääksesi vain esikatselukuvaa.",
"setting_image_viewer_preview_title": "Lataa esikatselukuva",
"setting_languages_apply": "Käytä",
"setting_languages_subtitle": "Vaihda sovelluksen kieli",
"setting_notifications_notify_minutes": "{count} minuuttia",
@@ -1886,7 +1894,6 @@
"shared_link_password_description": "Vaadi salasana tämän jakolinkin käyttämiseksi",
"shared_links": "Jaetut linkit",
"shared_links_description": "Jaa kuvia ja videoita linkin avulla",
"shared_photos_and_videos_count": "{assetCount, plural, other {# jaettua kuvaa ja videota.}}",
"shared_with_me": "Jaettu minulle",
"shared_with_partner": "Jaa kumppanin {partner} kanssa",
"sharing": "Jakaminen",
+28 -11
View File
@@ -86,7 +86,7 @@
"failed_job_command": "La commande {command} a échoué pour la tâche : {job}",
"force_delete_user_warning": "ATTENTION : Cette opération entraîne la suppression immédiate de l'utilisateur et de tous ses médias. Cette opération ne peut être annulée et les fichiers ne peuvent être récupérés.",
"image_format": "Format",
"image_format_description": "WebP produit des fichiers plus petits que JPEG, mais son encodage est plus lent.",
"image_format_description": "WebP produit des fichiers plus petits que JPEG, mais son encodage est plus lent. JPEG XL est la meilleure option pour la compression de grande qualité, mais certains navigateurs ou applis ne savent pas l'afficher.",
"image_fullsize_description": "Image en taille réelle, sans métadonnées, utilisée lors d'un zoom",
"image_fullsize_enabled": "Activer la génération d'image en taille d'origine",
"image_fullsize_enabled_description": "Générer une image en taille réelle pour les formats non compatibles avec le web. Lorsque l'option « Préférer l'aperçu intégré » est activée, les aperçus intégrés sont utilisés directement sans conversion. Cette option n'affecte pas les formats compatibles avec le web tels que JPEG.",
@@ -98,9 +98,9 @@
"image_prefer_wide_gamut_setting_description": "Utiliser Display P3 pour les miniatures. Cela préserve mieux la vivacité des images avec des espaces colorimétriques étendus, mais les images peuvent apparaître différemment sur les anciens appareils avec une ancienne version du navigateur. Conserver les images sRGB en sRGB pour éviter les décalages de couleur.",
"image_preview_description": "Image de taille moyenne avec métadonnées retirées, utilisée lors de la visualisation d'un seul média et pour l'apprentissage automatique",
"image_preview_quality_description": "Qualité de l'aperçu : de 1 à 100. Une valeur plus élevée produit de meilleurs résultats, mais elle produit des fichiers plus volumineux et peut réduire la réactivité de l'application. Une valeur trop basse peut affecter la qualité de l'apprentissage automatique.",
"image_preview_title": "Paramètres de prévisualisation",
"image_preview_title": "Paramètres de l'aperçu",
"image_progressive": "Progressif",
"image_progressive_description": "Encode les images JPEG de manière progressive pour un affichage graduel. Cela n'a pas d'effet sur les images en WebP.",
"image_progressive_description": "Encode les images JPEG de manière progressive pour un affichage graduel. Cela n'a pas d'effet sur les autres formats.",
"image_quality": "Qualité",
"image_resolution": "Résolution",
"image_resolution_description": "Les résolutions plus élevées permettent de préserver davantage de détails, mais l'encodage est plus long, les fichiers sont plus volumineux et la réactivité de l'application peut s'en trouver réduite.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Expiration de la durée de la requête",
"oauth_timeout_description": "Délai d'expiration des requêtes en millisecondes",
"ocr_job_description": "Utiliser un modèle d'apprentissage automatique pour reconnaitre le texte dans les images",
"passkey_additional_domains": "Domaines additionnels",
"passkey_additional_domains_description": "Domaines supplémentaires et de confiance (requêtes d'origine liées). Ces domaines ne fonctionneront que si le domaine à clé d'accès est également accessible.",
"passkey_domain": "Domaine à clé d'accès",
"passkey_domain_description": "Domaine utilisé pour les clés d'accès (partie dépendante). Laissez vide pour déduire à partir de l'en-tête d'origine. Changer cette valeur fera en sorte que les clés d'accès existantes ne fonctionnent plus.",
"passkey_enable_description": "Se connecter avec une clé d'accès",
"passkey_settings": "Connexion par clé d'accès",
"passkey_settings_description": "Gérer les paramètres de connexion de la clé d'accès",
"password_enable_description": "Connexion avec courriel et mot de passe",
"password_settings": "Connexion par mot de passe",
"password_settings_description": "Gérer les paramètres de connexion par mot de passe",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Suppression des données sauvegardées uniquement",
"delete_local_dialog_ok_force": "Supprimer tout de même",
"delete_others": "Supprimer les autres",
"delete_passkey": "Supprimer la clé d'accès",
"delete_passkey_prompt": "Êtes-vous sûr de vouloir supprimer cette clé d'accès?",
"delete_permanently": "Supprimer définitivement",
"delete_permanently_action_prompt": "{count} supprimé(s) définitivement",
"delete_shared_link": "Supprimer le lien partagé",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} localisation(s) mise(s) à jour",
"edit_location_dialog_title": "Localisation",
"edit_name": "Modifier le nom",
"edit_passkey": "Modifier la clé d'accès",
"edit_people": "Modifier les personnes",
"edit_person": "Modifier la personne",
"edit_tag": "Modifier l'étiquette",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} prise à {city}, {country} avec {person1}, {person2}, et {person3} le {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} prise à {city}, {country} avec {person1}, {person2} et {additionalCount, number} autres personnes le {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Interface Web Immich",
"import_from_json": "Importer depuis un fichier JSON",
"import_path": "Chemin d'importation",
"in_albums": "Dans {count, plural, one {# album} other {# albums}}",
@@ -1287,6 +1296,7 @@
"last": "Dernier",
"last_months": "{count, plural, one {Dernier mois} other {Derniers # mois}}",
"last_seen": "Dernièrement utilisé",
"last_used": "Dernière utilisation",
"latest_version": "Dernière version",
"latitude": "Latitude",
"leave": "Quitter",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "La connexion a été désactivée",
"login_password_changed_error": "Une erreur s'est produite lors de la mise à jour de votre mot de passe",
"login_password_changed_success": "Mot de passe mis à jour avec succès",
"login_with_passkey": "Se connecter avec la clé d'accès",
"logout_all_device_confirmation": "Êtes-vous sûr de vouloir déconnecter tous les appareils ?",
"logout_this_device_confirmation": "Êtes-vous sûr de vouloir déconnecter cet appareil ?",
"logs": "Journaux",
@@ -1410,10 +1421,11 @@
"manage_your_api_keys": "Gérer vos clés API",
"manage_your_devices": "Gérer vos appareils",
"manage_your_oauth_connection": "Gérer votre connexion OAuth",
"manage_your_passkeys": "Gérez vos clés d'accès",
"map": "Carte",
"map_assets_in_bounds": "{count, plural, =0 {Aucune photo dans cette zone} one {# photo} other {# photos}}",
"map_cannot_get_user_location": "Impossible d'obtenir la localisation de l'utilisateur",
"map_location_picker_page_use_location": "Utiliser ma position",
"map_location_picker_page_use_location": "Utiliser cette position",
"map_location_service_disabled_content": "Le service de localisation doit être activé pour afficher les médias de votre emplacement actuel. Souhaitez-vous l'activer maintenant ?",
"map_location_service_disabled_title": "Service de localisation désactivé",
"map_marker_for_image": "Marqueur de carte pour une image prise à {city}, {country}",
@@ -1529,6 +1541,7 @@
"new_album": "Nouvel Album",
"new_api_key": "Nouvelle clé API",
"new_feature": "Nouvelle fonctionnalité",
"new_passkey": "Nouvelle clé d'accès",
"new_password": "Nouveau mot de passe",
"new_person": "Nouvelle personne",
"new_pin_code": "Nouveau code PIN",
@@ -1641,6 +1654,8 @@
"partner_sharing": "Partage avec les partenaires",
"partners": "Partenaires",
"partners_description": "Partager vos photos et vos vidéos avec d'autres utilisateurs",
"passkeys": "{count, plural, one {Clé d'accès} other {Clés d'accès}}",
"passkeys_not_supported": "Les clés d'accès ne sont pas prises en charge par ce navigateur",
"password": "Mot de passe",
"password_does_not_match": "Les mots de passe ne correspondent pas",
"password_required": "Mot de passe obligatoire",
@@ -1825,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, one {# supprimé} other {# supprimés}} des favoris",
"removed_from_stack": "Supprimer le média de la pile",
"removed_memory": "Souvenir supprimé",
"removed_passkey": "Clé d'accès supprimée : {name}",
"removed_tagged_assets": "Étiquette supprimée de {count, plural, one {# média} other {# médias}}",
"rename": "Renommer",
"repository": "Dépôt",
@@ -1986,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Si activé, vous pouvez naviguer vers l'image précédente / suivante en appuyant sur le quart le plus à gauche / à droite de l'écran.",
"setting_image_navigation_enable_title": "Appuyer pour naviguer",
"setting_image_navigation_title": "Navigation dans les images",
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite miniature, puis l'aperçu de taille moyenne (s'il est activé), enfin l'original (s'il est activé).",
"setting_image_viewer_help": "Le visualiseur de détails charge d'abord la petite miniature, puis l'aperçu de taille moyenne, enfin l'original (s'il est activé).",
"setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en résolution originale (fichier volumineux !). Désactiver pour réduire l'utilisation des données (réseau et cache de l'appareil).",
"setting_image_viewer_original_title": "Charger l'image originale",
"setting_image_viewer_preview_subtitle": "Activer pour charger une image de résolution moyenne. Désactiver pour charger directement l'original ou utiliser uniquement la miniature.",
"setting_image_viewer_preview_title": "Charger l'image d'aperçu",
"setting_languages_apply": "Appliquer",
"setting_languages_subtitle": "Changer la langue de l'application",
"setting_notifications_notify_minutes": "{count} minutes",
@@ -2010,8 +2024,9 @@
"share_everyone": "Partager tout le monde",
"share_everyone_description": "Donner à {user} accès à toutes vos personnes.",
"share_link": "Partager le lien",
"share_logs": "Partager les journaux",
"share_original": "Utiliser l'originale (grand)",
"share_preview": "Utiliser la miniature (petite)",
"share_preview": "Utiliser l'aperçu (petit)",
"share_quality_body": "Appuyez longtemps sur le bouton partager pour choisir la qualité d'image avant de partager.",
"share_quality_title": "Choisissez votre qualité d'envoi",
"share_with": "Partager l'accès avec",
@@ -2061,7 +2076,6 @@
"shared_link_password_description": "Demander un mot de passe pour accéder à ce lien partagé",
"shared_links": "Liens partagés",
"shared_links_description": "Partager les photos et vidéos via un lien",
"shared_photos_and_videos_count": "{assetCount, plural, other {# photos et vidéos partagées.}}",
"shared_with": "Partagé avec",
"shared_with_count": "Partagé ({count})",
"shared_with_me": "Partagé avec moi",
@@ -2189,6 +2203,8 @@
"theme": "Thème",
"theme_selection": "Sélection du thème",
"theme_selection_description": "Ajuster automatiquement le thème clair ou sombre via les préférences système",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Faites défiler en continu en glissant la barre de défilement au lieu de passer à plusieurs mois",
"theme_setting_asset_list_smooth_scrubbing_title": "Nettoyage fluide de la timeline",
"theme_setting_asset_list_storage_indicator_title": "Afficher l'indicateur de stockage sur les tuiles des éléments",
"theme_setting_asset_list_tiles_per_row_title": "Nombre de médias par ligne ({count})",
"theme_setting_colorful_interface_subtitle": "Appliquer la couleur principale sur les surfaces d'arrière-plan.",
@@ -2304,7 +2320,7 @@
"user": "Utilisateur",
"user_has_been_deleted": "Cet utilisateur à été supprimé.",
"user_id": "ID Utilisateur",
"user_liked": "{user} a aimé {type, select, photo {cette photo} video {cette vidéo} asset {ce média} other {ceci}}",
"user_liked": "{user} a aimé {type, select, image {cette photo} video {cette vidéo} other {ceci}}",
"user_pin_code_settings": "Code PIN",
"user_pin_code_settings_description": "Gérer votre code PIN",
"user_privacy": "Vie privée pour l'utilisateur",
@@ -2340,6 +2356,7 @@
"view_group": "Voir le groupe",
"view_in_timeline": "Voir dans la vue chronologique",
"view_link": "Voir le lien",
"view_more": "Voir plus",
"view_name": "Vue",
"view_next_asset": "Voir le média suivant",
"view_previous_asset": "Voir le média précédent",
+24 -6
View File
@@ -323,6 +323,13 @@
"oauth_timeout": "Iarratas Ama",
"oauth_timeout_description": "Am críochnaithe d'iarratais i milleasoicindí",
"ocr_job_description": "Úsáid foghlaim meaisín chun téacs in íomhánna a aithint",
"passkey_additional_domains": "Fearainn bhreise",
"passkey_additional_domains_description": "Fearainn bhreise iontaofa (iarratais ó bhunús gaolmhar). Ní oibreoidh siad seo ach amháin má tá rochtain ar fhearann an eochair phas (passkey) chomh maith.",
"passkey_domain": "Fearann eochrach pas",
"passkey_domain_description": "Fearann a úsáidtear le haghaidh eochracha rochtana (páirtí ag brath). Fág bán é chun é a dhíorthú ón gceanntásc tionscnaimh. Má athraítear an luach seo, ní bheidh na heochracha rochtana atá ann cheana inúsáidte a thuilleadh.",
"passkey_enable_description": "Logáil isteach le heochair phas",
"passkey_settings": "Logáil Isteach Eochair-Phas",
"passkey_settings_description": "Bainistigh socruithe logála isteach le heochracha pas",
"password_enable_description": "Logáil isteach le ríomhphost agus pasfhocal",
"password_settings": "Pasfhocal Logáil Isteach",
"password_settings_description": "Bainistigh socruithe logála isteach le pasfhocal",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Scrios Cúltaca Amháin",
"delete_local_dialog_ok_force": "Scrios Ar Aon Slí",
"delete_others": "Scrios cinn eile",
"delete_passkey": "Scrios eochair phas",
"delete_passkey_prompt": "An bhfuil tú cinnte gur mian leat an eochair phas seo a scriosadh?",
"delete_permanently": "Scrios go buan",
"delete_permanently_action_prompt": "{count} scriosta go buan",
"delete_shared_link": "Scrios nasc comhroinnte",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "suíomh {count} curtha in eagar",
"edit_location_dialog_title": "Suíomh",
"edit_name": "Cuir ainm in eagar",
"edit_passkey": "Cuir pas-eochair in eagar",
"edit_people": "Cuir daoine in eagar",
"edit_person": "Cuir duine in eagar",
"edit_tag": "Cuir an clib in eagar",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Íomhá}} tógtha i {city}, {country} le {person1}, {person2}, agus {person3} ar {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} tógtha i {city}, {country} le {person1}, {person2}, agus {additionalCount, number} daoine eile ar {date}",
"immich_logo": "Lógó Immich",
"immich_web_interface": "Comhéadan Gréasáin Immich",
"import_from_json": "Iompórtáil ó JSON",
"import_path": "Cosán allmhairithe",
"in_albums": "I {count, plural, one {# albam} other {# albaim}}",
@@ -1287,6 +1296,7 @@
"last": "Deireanach",
"last_months": "{count, plural, one {An mhí seo caite} other {An # mhí seo caite}}",
"last_seen": "Chonaic mé an uair dheireanach",
"last_used": "Úsáideadh go deireanach",
"latest_version": "Leagan is Déanaí",
"latitude": "Domhanleithead",
"leave": "Fág",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Tá logáil isteach díchumasaithe",
"login_password_changed_error": "Tharla earráid agus do phasfhocal á nuashonrú",
"login_password_changed_success": "Nuashonraíodh an focal faire go rathúil",
"login_with_passkey": "Logáil isteach le heochair phas",
"logout_all_device_confirmation": "An bhfuil tú cinnte gur mian leat logáil amach as gach gléas?",
"logout_this_device_confirmation": "An bhfuil tú cinnte gur mian leat logáil amach as an ngléas seo?",
"logs": "Logaí",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Rochtain Bainistíochta Meán",
"manage_oauth_account": "Bainistigh Cuntas OAuth",
"manage_people": "Daoine a bhainistiú",
"manage_people_access_description_v2": "Tabhair rochtain d’úsáideoirí eile ar {count, plural, one {an duine seo} other {do dhaoine}}, ionas gur féidir leo iad a fheiceáil nó a bhainistiú thar do cheann. Ní roinntear aon sócmhainní leis an ngníomh seo.",
"manage_person_access": "Bainistigh rochtain",
"manage_sharing_with_other_users": "Bainistigh comhroinnt le húsáideoirí eile",
"manage_sharing_with_partners": "Bainistigh comhroinnt le comhpháirtithe",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Bainistigh d’eochracha API",
"manage_your_devices": "Bainistigh do ghléasanna logáilte isteach",
"manage_your_oauth_connection": "Bainistigh do nasc OAuth",
"manage_your_passkeys": "Bainistigh do chuid eochracha pas",
"map": "Léarscáil",
"map_assets_in_bounds": "{count, plural, =0 {Gan aon ghrianghraif sa cheantar seo} one {# grianghraf} other {# grianghraf}}",
"map_cannot_get_user_location": "Ní féidir suíomh an úsáideora a fháil",
@@ -1528,6 +1541,7 @@
"new_album": "Albam Nua",
"new_api_key": "Eochair API Nua",
"new_feature": "Gné Nua",
"new_passkey": "Eochair phas nua",
"new_password": "Pasfhocal nua",
"new_person": "Duine nua",
"new_pin_code": "Cód PIN nua",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Comhroinnt Chomhpháirtíochta",
"partners": "Comhpháirtithe",
"partners_description": "Comhroinn do chuid grianghraf agus físeán le húsáideoirí eile",
"passkeys": "{count, plural, one {Eochair phas} other {Eochracha phas}}",
"passkeys_not_supported": "Ní thacaíonn an brabhsálaí seo le pas-eochracha",
"password": "Pasfhocal",
"password_does_not_match": "Ní hionann an focal faire",
"password_required": "Pasfhocal Riachtanach",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Baineadh #}} ó ceanáin",
"removed_from_stack": "Bhain mé an sócmhainn den charn",
"removed_memory": "Cuimhne bainte",
"removed_passkey": "Eochair rochtana bainte: {name}",
"removed_tagged_assets": "Baineadh an clib as {count, plural, one {# sócmhainn} other {# sócmhainní}}",
"rename": "Athainmnigh",
"repository": "Stór",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Más cumasaithe é, is féidir leat nascleanúint a dhéanamh chuig an íomhá roimhe seo/chéad íomhá eile trí thapáil ar an gceathrú is faide ar chlé/ar dheis den scáileán.",
"setting_image_navigation_enable_title": "Tapáil chun nascleanúint a dhéanamh",
"setting_image_navigation_title": "Nascleanúint Íomhá",
"setting_image_viewer_help": "Lódálann an breathnóir sonraí an mionsamhail bheag ar dtús, ansin luchtaíonn sé an réamhamharc meánmhéide (más cumasaithe), agus ar deireadh luchtaíonn sé an bunleagan (más cumasaithe).",
"setting_image_viewer_help": "Lódálann an breathnóir mionsonraí an mioníomhá bheag ar dtús, ansin an réamhamharc meánmhéide, agus ar deireadh an bunleagan (má tá sé cumasaithe).",
"setting_image_viewer_original_subtitle": "Cumasaigh chun an íomhá lántaifigh bhunaidh (mór!) a luchtú. Díchumasaigh chun úsáid sonraí a laghdú (ar an líonra agus ar an taisce ar an ngléas araon).",
"setting_image_viewer_original_title": "Luchtaigh an íomhá bhunaidh",
"setting_image_viewer_preview_subtitle": "Cumasaigh chun íomhá meántaifigh a luchtú. Díchumasaigh chun an bunleagan a luchtú go díreach nó chun an mionsamhail amháin a úsáid.",
"setting_image_viewer_preview_title": "Luchtaigh íomhá réamhamhairc",
"setting_languages_apply": "Cuir isteach",
"setting_languages_subtitle": "Athraigh teanga an aip",
"setting_notifications_notify_minutes": "{count} nóiméad",
@@ -2009,8 +2024,9 @@
"share_everyone": "Roinn le gach duine é",
"share_everyone_description": "Tabhair rochtain do {user} ar do chuid daoine go léir.",
"share_link": "Comhroinn an Nasc",
"share_logs": "Comhroinn Logaí",
"share_original": "Úsáid an bunleagan (mór)",
"share_preview": "Úsáid mionsamhail (beag)",
"share_preview": "Bain úsáid as an réamhamharc (beag)",
"share_quality_body": "Brúigh agus coinnigh an cnaipe comhroinnte chun cáilíocht na híomhá a roghnú sula roinneann tú.",
"share_quality_title": "Roghnaigh do cháilíocht roinnte",
"share_with": "Roinn rochtain le",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Éiligh pasfhocal chun rochtain a fháil ar an nasc comhroinnte seo",
"shared_links": "Naisc chomhroinnte",
"shared_links_description": "Roinn grianghraif agus físeáin le nasc",
"shared_photos_and_videos_count": "{assetCount, plural, other {# grianghraif & físeáin chomhroinnte.}}",
"shared_with": "Roinnte le",
"shared_with_count": "Roinnte ({count})",
"shared_with_me": "Roinnte liom",
@@ -2188,6 +2203,8 @@
"theme": "Téama",
"theme_selection": "Rogha téama",
"theme_selection_description": "Socraigh an téama go huathoibríoch go geal nó dorcha bunaithe ar rogha chórais do bhrabhsálaí",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Scrollaigh go leanúnach agus an barra scrollaithe á tharraingt, in áit léim go míonna ar leith",
"theme_setting_asset_list_smooth_scrubbing_title": "Scrobáil líne ama go réidh",
"theme_setting_asset_list_storage_indicator_title": "Taispeáin táscaire stórála ar thíleanna sócmhainní",
"theme_setting_asset_list_tiles_per_row_title": "Líon na sócmhainní in aghaidh an ró ({count})",
"theme_setting_colorful_interface_subtitle": "Cuir an dath príomhúil i bhfeidhm ar dhromchlaí cúlra.",
@@ -2339,6 +2356,7 @@
"view_group": "Féach ar an ngrúpa",
"view_in_timeline": "Féach san amlíne",
"view_link": "Féach ar an nasc",
"view_more": "Féach tuilleadh",
"view_name": "Amharc",
"view_next_asset": "Féach ar an gcéad tsócmhainn eile",
"view_previous_asset": "Féach ar an tsócmhainn roimhe seo",
+30 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "O comando {command} fallou para o traballo: {job}",
"force_delete_user_warning": "AVISO: Isto eliminará inmediatamente o usuario e todos os seus activos. Esta acción non se pode desfacer e os ficheiros non se poderán recuperar.",
"image_format": "Formato",
"image_format_description": "WebP produce ficheiros máis pequenos que JPEG, pero é máis lento de codificar.",
"image_format_description": "WebP produce ficheiros máis pequenos que JPEG, pero é máis lento de codificar. JPEG XL é a mellor opción para obter unha compresión de alta calidade, mais non todos os buscadores e aplicacións poden mostralo.",
"image_fullsize_description": "Imaxe a tamaño completo con metadatos eliminados, usada ao facer zoom",
"image_fullsize_enabled": "Activar a xeración de imaxes a tamaño completo",
"image_fullsize_enabled_description": "Xerar imaxe a tamaño completo para formatos non compatibles coa web. Cando \"Preferir vista previa incrustada\" está activado, as vistas previas incrustadas utilízanse directamente sen conversión. Non afecta a formatos compatibles coa web como JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Calidade da vista previa de 1 a 100. Canto máis alto, mellor, pero produce ficheiros máis grandes e pode reducir a capacidade de resposta da aplicación. Establecer un valor baixo pode afectar á calidade da aprendizaxe automática.",
"image_preview_title": "Configuración da vista previa",
"image_progressive": "Progresivo",
"image_progressive_description": "Codifica imaxes JPEG progresivamente para unha visualización con carga gradual. Isto non ten ningún efecto en imaxes WebP.",
"image_progressive_description": "Codifica imaxes JPEG progresivamente para unha visualización con carga gradual. Isto non ten ningún efecto en outros formatos.",
"image_quality": "Calidade",
"image_resolution": "Resolución",
"image_resolution_description": "Resolucións máis altas poden preservar máis detalles pero tardan máis en codificarse, teñen tamaños de ficheiro máis grandes e poden reducir a capacidade de resposta da aplicación.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Tempo máximo de espera da solicitude",
"oauth_timeout_description": "Tempo máximo de espera para as solicitudes en milisegundos",
"ocr_job_description": "Emprega aprendizaxe automática para recoñecer texto en imaxes",
"passkey_additional_domains": "Dominios adicionais",
"passkey_additional_domains_description": "Dominios adicionais de confianza (solicitudes de orixe relacionadas). Estes só funcionarán se o dominio da clave de acceso tamén é accesible.",
"passkey_domain": "Dominio da clave de acceso",
"passkey_domain_description": "Dominio empregado para as claves de acceso (parte de confianza). Déixeo en branco para deducilo da cabeceira da orixe. Cambiar este valor fará que as claves de acceso existentes deixen de funcionar.",
"passkey_enable_description": "Iniciar sesión cunha contrasinal",
"passkey_settings": "Acceso da chave de acceso",
"passkey_settings_description": "Xestionar a configuración de inicio de sesión con contrasinal",
"password_enable_description": "Iniciar sesión con correo electrónico e contrasinal",
"password_settings": "Inicio de sesión con contrasinal",
"password_settings_description": "Xestionar a configuración de inicio de sesión con contrasinal",
@@ -671,6 +678,7 @@
"birthdate_set_description": "A data de nacemento úsase para calcular a idade desta persoa no momento dunha foto.",
"birthday_memory_age": "{age, selectordinal, one {#º} two {#º} few {#º} other {#º}} aniversario",
"birthday_memory_title": "O aniversario de {name}",
"birthday_memory_title_with_age": "Aniversario de {name} · {age, plural, one {# ano de idade} other {# anos de idade}}",
"blurred_background": "Fondo borroso",
"browse_templates": "Explorar modelos",
"bugs_and_feature_requests": "Erros e Solicitudes de Funcións",
@@ -872,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Eliminar Só con Copia de Seguridade",
"delete_local_dialog_ok_force": "Eliminar Igualmente",
"delete_others": "Eliminar outros",
"delete_passkey": "Eliminar chave de acceso",
"delete_passkey_prompt": "Estás seguro que queres eliminar esta chave de acceso?",
"delete_permanently": "Eliminar permanentemente",
"delete_permanently_action_prompt": "{count} eliminado(s) permanentemente",
"delete_shared_link": "Eliminar ligazón compartida",
@@ -941,6 +951,7 @@
"edit_location_action_prompt": "{count} localización(s) editada(s)",
"edit_location_dialog_title": "Localización",
"edit_name": "Editar nome",
"edit_passkey": "Editar chave de acceso",
"edit_people": "Editar persoas",
"edit_person": "Editar persoa",
"edit_tag": "Editar etiqueta",
@@ -1238,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo} other {Imaxe}} tomado/a en {city}, {country} con {person1}, {person2} e {person3} o {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo} other {Imaxe}} tomado/a en {city}, {country} con {person1}, {person2} e {additionalCount, number} outros/as o {date}",
"immich_logo": "Logo de Immich",
"immich_web_interface": "Interface Web de Immich",
"import_from_json": "Importar desde JSON",
"import_path": "Ruta de importación",
"in_albums": "En {count, plural, one {# álbum} other {# álbums}}",
@@ -1286,6 +1296,7 @@
"last": "Último/a",
"last_months": "{count, plural, one {O mes pasado} other {Os últimos # meses}}",
"last_seen": "Visto por última vez",
"last_used": "Empregado por última vez",
"latest_version": "Última Versión",
"latitude": "Latitude",
"leave": "Saír",
@@ -1361,6 +1372,7 @@
"login_has_been_disabled": "O inicio de sesión foi desactivado",
"login_password_changed_error": "Houbo un erro ao actualizar o seu contrasinal",
"login_password_changed_success": "Contrasinal actualizado correctamente",
"login_with_passkey": "Iniciar sesión ca chave de acceso",
"logout_all_device_confirmation": "Está seguro de que quere pechar sesión en todos os dispositivos?",
"logout_this_device_confirmation": "Está seguro de que quere pechar sesión neste dispositivo?",
"logs": "Rexistros",
@@ -1400,6 +1412,7 @@
"manage_media_access_title": "Acceso á xestión de medios",
"manage_oauth_account": "Administrar conta OAuth",
"manage_people": "Xestionar persoas",
"manage_people_access_description_v2": "Conceder a outros usuarios o acesso {count, plural, one {a esta persoa} other {as túas persoas}}, permitindo que estes vexan ou fagan alteracións. Esta acción non comparte ningún ficheiro.",
"manage_person_access": "Xestionar o acceso",
"manage_sharing_with_other_users": "Administrar o uso compartido con outros usuarios",
"manage_sharing_with_partners": "Xestionar compartición con compañeiros/as",
@@ -1408,6 +1421,7 @@
"manage_your_api_keys": "Xestionar as súas claves API",
"manage_your_devices": "Xestionar os seus dispositivos con sesión iniciada",
"manage_your_oauth_connection": "Xestionar a súa conexión OAuth",
"manage_your_passkeys": "Xestuniar as túas chaves de acceso",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {Non hai fotos nesta área} one {# foto} other {# fotos}}",
"map_cannot_get_user_location": "Non se pode obter a localización do usuario",
@@ -1527,6 +1541,7 @@
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave API",
"new_feature": "Nova función",
"new_passkey": "Nova chave de acceso",
"new_password": "Novo contrasinal",
"new_person": "Nova persoa",
"new_pin_code": "Novo código PIN",
@@ -1639,6 +1654,8 @@
"partner_sharing": "Compartición con Compañeiro/a",
"partners": "Compañeiros/as",
"partners_description": "Comparte as túas fotos e vídeos con outros usuarios",
"passkeys": "{count, plural, one {Chave de acceso} other {Chaves de acceso}}",
"passkeys_not_supported": "Este navegador non soporta chaves de acceso",
"password": "Contrasinal",
"password_does_not_match": "O contrasinal non coincide",
"password_required": "Requírese Contrasinal",
@@ -1823,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Eliminados #}} de favoritos",
"removed_from_stack": "Elemento eliminado da pila",
"removed_memory": "Recordo eliminado",
"removed_passkey": "Chave de acceso {name} borrada",
"removed_tagged_assets": "Etiqueta eliminada de {count, plural, one {# activo} other {# activos}}",
"rename": "Renomear",
"repository": "Repositorio",
@@ -1984,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Se está activado, podes navegar entre as imáxenes seguintes e anteriores ao tocar na parte esquerda e dereita da pantalla.",
"setting_image_navigation_enable_title": "Toca para navegar",
"setting_image_navigation_title": "Navegación de Imaxes",
"setting_image_viewer_help": "O visor de detalles carga primeiro a miniatura pequena, despois carga a vista previa de tamaño medio (se está activada), e finalmente carga o orixinal (se está activado).",
"setting_image_viewer_help": "O visor de detalles carga primeiro a miniatura pequena, despois carga a vista previa de tamaño medio, e finalmente carga o orixinal (se está activado).",
"setting_image_viewer_original_subtitle": "Activar para cargar a imaxe orixinal a resolución completa (grande!). Desactivar para reducir o uso de datos (tanto na rede como na caché do dispositivo).",
"setting_image_viewer_original_title": "Cargar imaxe orixinal",
"setting_image_viewer_preview_subtitle": "Activar para cargar unha imaxe de resolución media. Desactivar para cargar directamente o orixinal ou usar só a miniatura.",
"setting_image_viewer_preview_title": "Cargar imaxe de vista previa",
"setting_languages_apply": "Aplicar",
"setting_languages_subtitle": "Cambiar a lingua da aplicación",
"setting_notifications_notify_minutes": "{count} minutos",
@@ -2008,8 +2024,9 @@
"share_everyone": "Compartir con todos",
"share_everyone_description": "Dálle a {user} acceso a todas as túas persoas.",
"share_link": "Ligazón para Compartir",
"share_logs": "Compartir rexistros",
"share_original": "Utilizar orixinal (grande)",
"share_preview": "Utilizar miniatura (pequena)",
"share_preview": "Usar vista previa (pequeña)",
"share_quality_body": "Mantén premido o botón de compartir para escoller a calidade da imaxe antes de compartila.",
"share_quality_title": "Escolle a calidade da compartición",
"share_with": "Compartir o acceso con",
@@ -2059,7 +2076,6 @@
"shared_link_password_description": "Requirir un contrasinal para acceder a esta ligazón compartida",
"shared_links": "Ligazóns compartidas",
"shared_links_description": "Compartir fotos e vídeos cunha ligazón",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotos e vídeos compartidos.}}",
"shared_with": "Compartido con",
"shared_with_count": "Compartido ({count})",
"shared_with_me": "Compartido comigo",
@@ -2187,6 +2203,8 @@
"theme": "Tema",
"theme_selection": "Selección de tema",
"theme_selection_description": "Establecer automaticamente o tema a claro ou escuro baseándose na preferencia do sistema do seu navegador",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Desprazamento continuo ao arrastrar a barra de desprazamento en lugar de axustarse aos meses",
"theme_setting_asset_list_smooth_scrubbing_title": "Fregado suave da liña de tempo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de almacenamento nas celas de activos",
"theme_setting_asset_list_tiles_per_row_title": "Número de activos por fila ({count})",
"theme_setting_colorful_interface_subtitle": "Aplicar cor primaria ás superficies de fondo.",
@@ -2227,6 +2245,8 @@
"trigger": "Disparador",
"trigger_asset_metadata_extraction": "Extracción de metadatos de activos",
"trigger_asset_metadata_extraction_description": "Activado cando se extraen os metadatos EXIF dun recurso",
"trigger_asset_ocr_extraction": "Extracción de activos empregando OCR",
"trigger_asset_ocr_extraction_description": "Activado cando se extrae o texto OCR dun recurso",
"trigger_asset_tagged": "Recurso etiquetado",
"trigger_asset_tagged_description": "Actívase cando se engade unha etiqueta a un recurso",
"trigger_asset_uploaded": "Carga de activos",
@@ -2302,7 +2322,7 @@
"user": "Usuario",
"user_has_been_deleted": "Este usuario foi eliminado.",
"user_id": "ID de Usuario",
"user_liked": "A {user} gustoulle {type, select, photo {esta foto} video {este vídeo} asset {este activo} other {isto}}",
"user_liked": "A {user} gustoulle {type, select, image {esta foto} video {este vídeo} other {isto}}",
"user_pin_code_settings": "Código PIN",
"user_pin_code_settings_description": "Xestionar seu código PIN",
"user_privacy": "Privacidade do usuario",
@@ -2338,6 +2358,7 @@
"view_group": "Ver grupo",
"view_in_timeline": "Ver na liña de tempo",
"view_link": "Ver ligazón",
"view_more": "Ver máis",
"view_name": "Vista",
"view_next_asset": "Ver seguinte activo",
"view_previous_asset": "Ver activo anterior",
-1
View File
@@ -1077,7 +1077,6 @@
"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}",
"immich_logo": "Immich-Logo",
"immich_web_interface": "Immich-Web-Oberflächi",
"import_from_json": "Us JSON importierä",
"import_path": "Importpfad",
"in_albums": "In {count, plural, one {# Album} other {# Albe}}",
+26 -6
View File
@@ -671,6 +671,7 @@
"birthdate_set_description": "תאריך לידה משמש לחישוב הגיל של האדם הזה בזמן תצלום.",
"birthday_memory_age": "{age, selectordinal, other {יום ההולדת ה־#}}",
"birthday_memory_title": "יום ההולדת של {name}",
"birthday_memory_title_with_age": "יום ההולדת של {name} · גיל {age, plural, one {#} other {#}}",
"blurred_background": "רקע מטושטש",
"browse_templates": "עיון בתבניות",
"bugs_and_feature_requests": "באגים & בקשות לתכונות",
@@ -1238,7 +1239,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {סרטון שצולם} other {תמונה שצולמה}} ב-{city}, {country} עם {person1}, {person2}, ו-{person3} ב-{date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {סרטון שצולם} other {תמונה שצולמה}} ב-{city}, {country} עם {person1}, {person2}, ו-{additionalCount, number} אחרים ב-{date}",
"immich_logo": "הלוגו של Immich",
"immich_web_interface": "ממשק האינטרנט של Immich",
"import_from_json": "ייבוא מ-JSON",
"import_path": "נתיב ייבוא",
"in_albums": "ב{count, plural, one {אלבום #} other {# אלבומים}}",
@@ -1399,6 +1399,9 @@
"manage_media_access_subtitle": "אפשר לאפליקציית Immich לנהל ולהזיז קבצי מדיה.",
"manage_media_access_title": "גישה לניהול מדיה",
"manage_oauth_account": "ניהול חשבון OAuth",
"manage_people": "ניהול אנשים",
"manage_people_access_description_v2": "מתן גישה למשתמשים אחרים אל {count, plural, one {האדם הזה} other {האנשים שלך}}, כך שיוכלו להציג או לנהל אותם בשמך. פעולה זו אינה משתפת תמונות.",
"manage_person_access": "ניהול גישה",
"manage_sharing_with_other_users": "ניהול שיתוף עם משתמשים אחרים",
"manage_sharing_with_partners": "ניהול שיתוף עם שותפים",
"manage_the_app_settings": "ניהול הגדרות האפליקציה",
@@ -1551,6 +1554,7 @@
"no_exif_info_available": "אין מידע זמין על מטא-נתונים (exif)",
"no_explore_results_message": "העלה תמונות נוספות כדי לחקור את האוסף שלך.",
"no_favorites_message": "הוסף מועדפים כדי למצוא במהירות את התמונות והסרטונים הכי טובים שלך",
"no_filter": "ללא סינון",
"no_libraries_message": "צור ספרייה חיצונית כדי לראות את התמונות והסרטונים שלך",
"no_local_assets_found": "לא נמצאו תמונות עם Checksum זהה",
"no_locked_photos_message": "תמונות וסרטונים בתיקייה הנעולה מוסתרים ולא יופיעו בזמן הגלישה או החיפוש בספרייה שלך.",
@@ -1635,6 +1639,7 @@
"partner_page_stop_sharing_content": "{partner} לא יוכל יותר לגשת לתמונות שלך.",
"partner_sharing": "שיתוף שותפים",
"partners": "שותפים",
"partners_description": "שיתוף התמונות והסרטונים שלך עם משתמשים אחרים",
"password": "סיסמה",
"password_does_not_match": "הסיסמה אינה תואמת",
"password_required": "נדרשת סיסמה",
@@ -1651,6 +1656,7 @@
"paused": "מושהה",
"pending": "ממתין",
"people": "אנשים",
"people_cluster_group": "קבוצת אשכול אנשים",
"people_count": "{count, plural, one {אדם #} other {# אנשים}}",
"people_edits_count": "{count, plural, one {אדם # נערך} other {# אנשים נערכו}}",
"people_feature_description": "עיון בתמונות וסרטונים שקובצו על ידי אנשים",
@@ -1669,8 +1675,15 @@
"person_age_year_months": "בגיל שנה ו{months, plural, one {חודש #} other {# חודשים}}",
"person_age_years": "בגיל {years, plural, one {שנה} other {# שנים}}",
"person_birthdate": "נולד בתאריך {date}",
"person_edit_only_change_for_me": "שינוי רק עבורי",
"person_edit_only_change_for_me_description": "סמן כדי להחיל את השינויים רק על המשתמש שלך",
"person_hidden": "{name}{hidden, select, true { (מוסתר)} other {}}",
"person_recognized": "זוהה אדם",
"person_share_no_users": "כל משתמש בקבוצת האשכול של האנשים שלך כבר יש לו גישה לאדם הזה.",
"person_update_strategy": "החלת השינויים על",
"person_update_strategy_description": "אילו אנשים לעדכן כאשר משנים שם או תאריך לידה",
"person_update_strategy_everyone": "כל מי שיש לו גישה משותפת",
"person_update_strategy_self": "רק אני",
"photo_shared_all_users": "נראה ששיתפת את התמונות שלך עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"photos": "תמונות",
"photos_and_videos": "תמונות & סרטונים",
@@ -1753,6 +1766,7 @@
"query_asset_id": "שאילתה על מזהה הפריט",
"queue_status": "{count} מתוך {total} עומדים בתור",
"rate_asset": "דירוג תמונה",
"rate_asset_description": "השתמש במקשים 1 עד 5 כדי לדרג תמונה במהירות, וב־0 כדי לנקות את הדירוג",
"rating": "דירוג כוכב",
"rating_clear": "נקה דירוג",
"rating_count": "{count, plural, =0 {ללא דירוג} one {כוכב אחד} other {# כוכבים}}",
@@ -1971,11 +1985,9 @@
"setting_image_navigation_enable_subtitle": "אם הגדרה זו מופעלת, ניתן לנווט לתמונה הקודמת/הבאה על ידי הקשה על הרבע הימני/השמאלי ביותר של המסך.",
"setting_image_navigation_enable_title": "הקשה לניווט",
"setting_image_navigation_title": "ניווט תמונה",
"setting_image_viewer_help": "מציג הפרטים טוען את התמונה הממוזערת הקטנה קודם, לאחר מכן טוען את התצוגה המקדימה בגודל בינוני (אם מופעל), לבסוף טוען את המקורית (אם מופעל).",
"setting_image_viewer_help": "מציג הפרטים טוען תחילה את התמונה הממוזערת הקטנה, לאחר מכן את התצוגה המקדימה בגודל בינוני, ולבסוף את המקור (אם מופעל).",
"setting_image_viewer_original_subtitle": "אפשר לטעון את התמונה המקורית ברזלוציה מלאה (גדולה!). השבת כדי להקטין שימוש בנתונים (גם בשרת וגם בזיכרון המטמון שבמכשיר).",
"setting_image_viewer_original_title": "טען תמונה מקורית",
"setting_image_viewer_preview_subtitle": "אפשר לטעון תמונה ברזלוציה בינונית. השבת כדי או לטעון את המקורית או רק להשתמש בתמונה הממוזערת.",
"setting_image_viewer_preview_title": "טען תמונת תצוגה מקדימה",
"setting_languages_apply": "החל",
"setting_languages_subtitle": "שינוי שפת היישום",
"setting_notifications_notify_minutes": "{count} דקות",
@@ -1990,12 +2002,16 @@
"settings_saved": "ההגדרות נשמרו",
"setup_pin_code": "הגדר קוד PIN",
"share": "שתף",
"share_back": "שיתוף חוזר",
"share_dialog_preparing": "מכין...",
"share_everyone": "שיתוף עם כולם",
"share_everyone_description": "מתן גישה ל־{user} לכל האנשים שלך.",
"share_link": "שתף קישור",
"share_original": "השתמש במקור (גדול)",
"share_preview": "השתמש בתמונה ממוזערת (קטנה)",
"share_preview": "שימוש בתצוגה מקדימה (קטנה)",
"share_quality_body": "לחץ לחיצה ארוכה על כפתור השיתוף כדי לבחור את איכות התמונה לפני השיתוף.",
"share_quality_title": "בחר את איכות השיתוף שלך",
"share_with": "שיתוף גישה עם",
"shared": "משותף",
"shared_album_activities_input_disable": "התגובה מושבתת",
"shared_album_activity_remove_content": "האם ברצונך למחוק את הפעילות הזאת?",
@@ -2003,6 +2019,7 @@
"shared_album_section_people_action_error": "שגיאה בעזיבה/הסרה מאלבום",
"shared_album_section_people_title": "אנשים",
"shared_by": "משותף על ידי",
"shared_by_me": "משותף על ידי",
"shared_by_user": "משותף על ידי {user}",
"shared_by_you": "משותף על ידך",
"shared_from_partner": "תמונות מאת {partner}",
@@ -2041,7 +2058,8 @@
"shared_link_password_description": "דרוש סיסמה כדי לגשת לקישור המשותף הזה",
"shared_links": "קישורים משותפים",
"shared_links_description": "שתף תמונות וסרטונים עם קישור",
"shared_photos_and_videos_count": "{assetCount, plural, other {# תמונות וסרטונים משותפים.}}",
"shared_with": "משותף עם",
"shared_with_count": "משותף ({count})",
"shared_with_me": "משותף איתי",
"shared_with_partner": "משותף עם {partner}",
"sharing": "שיתוף",
@@ -2125,6 +2143,7 @@
"stop_motion_photo": "עצור תמונה עם תנועה",
"stop_photo_sharing": "להפסיק לשתף את התמונות שלך?",
"stop_photo_sharing_description": "{partner} לא יוכל לגשת לתמונות שלך יותר.",
"stop_sharing_person_with_user": "הפסקת השיתוף של האדם הזה עם המשתמש הזה",
"stop_sharing_photos_with_user": "הפסק לשתף את התמונות שלך עם משתמש זה",
"storage": "שטח אחסון",
"storage_label": "תווית אחסון",
@@ -2317,6 +2336,7 @@
"view_group": "הצג קבוצה",
"view_in_timeline": "ראה בציר הזמן",
"view_link": "הצג קישור",
"view_more": "הצגת עוד",
"view_name": "הצג",
"view_next_asset": "הצג את התמונה הבאה",
"view_previous_asset": "הצג את התמונה הקודמת",
+15 -14
View File
@@ -5,17 +5,17 @@
"account_settings": "खाता सेटिंग्स",
"acknowledge": "स्वीकार करें",
"action": "कार्रवाई",
"action_common_update": "अद्यतन",
"actions": "कार्यवाहियां",
"active": "सक्रिय",
"active_count": "सक्रिय: {count}",
"action_common_update": "अपडेट",
"actions": "एक्शन्स",
"active": "एक्टिव",
"active_count": "एक्टिव: {count}",
"activity": "गतिविधि",
"add": "डालें",
"add_a_description": "एक विवरण डालें",
"add_a_location": "एक स्थान डालें",
"add": "जोड़ें",
"add_a_description": "विवरण डालें",
"add_a_location": "स्थान डालें",
"add_a_name": "नाम डालें",
"add_a_title": "एक शीर्षक डालें",
"add_action": "कार्रवाई डालें",
"add_a_title": "शीर्षक डालें",
"add_action": "ऐक्शन जोड़ें",
"add_assets": "एसेट्स जोड़ें",
"add_birthday": "अपने जन्मदिन का उल्लेख करें",
"add_endpoint": "endpoint डालें",
@@ -30,6 +30,7 @@
"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_item_count": "एल्बम में {count, plural, one {# आइटम} other {# आइटम्स}} जोड़ें",
"add_to_albums": "एकाधिक एल्बम में डाले",
"add_to_albums_count": "एल्बमों में डालें ({count})",
"add_to_bottom_bar": "इसमें जोड़ें",
@@ -63,7 +64,7 @@
"cleared_jobs": "{job}: के लिए कार्य साफ़ कर दिए गए",
"config_set_by_file": "Config वर्तमान में एक config फ़ाइल द्वारा सेट किया गया है",
"confirm_delete_library": "क्या आप वाकई {library} लाइब्रेरी को हटाना चाहते हैं?",
"confirm_delete_library_assets": "क्या आप वाकई इस लाइब्रेरी को हटाना चाहते हैं? यह इम्मीच से {count, plural, one {# contained asset} other {all # contained assets}} हटा दिया जाएगा और इसे पूर्ववत नहीं किया जा सकेगा। फ़ाइलें डिस्क पर रहेंगी।",
"confirm_delete_library_assets": "क्या आप वाकई इस लाइब्रेरी को हटाना चाहते हैं? यह Immich से {count, plural, one {# contained asset} other {all # contained assets}} हटा दिया जाएगा और इसे पूर्ववत नहीं किया जा सकेगा। फ़ाइलें डिस्क पर रहेंगी।",
"confirm_email_below": "पुष्टि करने के लिए नीचे \"{email}\" टाइप करें",
"confirm_reprocess_all_faces": "क्या आप वाकई सभी चेहरों को दोबारा संसाधित करना चाहते हैं? इससे नामित लोग भी साफ हो जायेंगे।",
"confirm_user_password_reset": "क्या आप वाकई {user} का पासवर्ड रीसेट करना चाहते हैं?",
@@ -109,6 +110,10 @@
"image_thumbnail_quality_description": "थंबनेल की गुणवत्ता 1-100 तक। उच्चतर बेहतर है, लेकिन बड़ी फ़ाइलें बनाता है और ऐप की प्रतिक्रियाशीलता को कम कर सकता है।",
"image_thumbnail_title": "थंबनेल सेटिंग्स",
"import_config_from_json_description": "JSON कॉन्फ़िगरेशन फ़ाइल अपलोड करके सिस्टम कॉन्फ़िगरेशन इंपोर्ट करें",
"integrity_checks_checksum_files": "चेकसम फाइलें",
"integrity_checks_checksum_files_description": "चेकसम जांच कॉन्फ़िगर करें",
"integrity_checks_checksum_files_enable_description": "चेकसम जांच चालू करें",
"integrity_checks_checksum_files_percentage_limit": "प्रतिशत सीमा",
"integrity_checks_checksum_files_time_limit": "समय सीमा",
"job_concurrency": "{job} समरूपता",
"job_created": "नौकरी बनाई गई",
@@ -1131,7 +1136,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} {city}, {country} में {person1}, {person2}, और {person3} के साथ {date} को लिया गया",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} {city}, {country} में {person1}, {person2}, और {additionalCount, number} अन्य लोगों के साथ {date} को लिया गया",
"immich_logo": "Immich लोगो",
"immich_web_interface": "इमिच वेब इंटरफ़ेस",
"import_from_json": "JSON से आयात करें",
"import_path": "आयात पथ",
"in_albums": "{count, plural, one {# album} other {# albums}} में",
@@ -1757,8 +1761,6 @@
"setting_image_viewer_help": "डिटेल व्यूअर पहले छोटा थंबनेल लोड करता है, फिर मीडियम-साइज़ प्रीव्यू लोड करता है (अगर इनेबल है), और आखिर में ओरिजिनल लोड करता है (अगर इनेबल है)।",
"setting_image_viewer_original_subtitle": "ओरिजिनल फुल-रिज़ॉल्यूशन इमेज (बड़ी!) लोड करने के लिए इनेबल करें। डेटा का इस्तेमाल कम करने के लिए डिसेबल करें (नेटवर्क और डिवाइस कैश दोनों)।",
"setting_image_viewer_original_title": "मूल छवि लोड करें",
"setting_image_viewer_preview_subtitle": "मीडियम-रिज़ॉल्यूशन इमेज लोड करने के लिए चालू करें। ओरिजिनल इमेज को सीधे लोड करने या सिर्फ़ थंबनेल इस्तेमाल करने के लिए बंद करें।",
"setting_image_viewer_preview_title": "पूर्वावलोकन छवि लोड करें",
"setting_languages_apply": "आवेदन करना",
"setting_languages_subtitle": "ऐप की भाषा बदलें",
"setting_notifications_notify_minutes": "{count} मिनट",
@@ -1818,7 +1820,6 @@
"shared_link_password_description": "इस शेयर किए गए लिंक को एक्सेस करने के लिए पासवर्ड ज़रूरी है",
"shared_links": "साझा किए गए लिंक",
"shared_links_description": "लिंक के साथ फ़ोटो और वीडियो शेयर करें",
"shared_photos_and_videos_count": "{assetCount, plural, other {# साझा फ़ोटो और वीडियो}}",
"shared_with_me": "मेरे साथ साझा किया गया",
"shared_with_partner": "{partner} के साथ शेयर किया गया",
"sharing": "शेयरिंग",
-4
View File
@@ -1213,7 +1213,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} snimljeno u {city}, {country} s {person1}, {person2} i {person3} {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} snimljeno u {city}, {country} s {person1}, {person2} i {additionalCount, number} drugih {date}",
"immich_logo": "Immich Logo",
"immich_web_interface": "Immich Web Sučelje",
"import_from_json": "Uvoz iz JSON-a",
"import_path": "Putanja uvoza",
"in_albums": "U {count, plural, one {# album} other {# albuma}}",
@@ -1918,8 +1917,6 @@
"setting_image_viewer_help": "Preglednik detalja prvo učitava malu sličicu, zatim učitava pregled srednje veličine (ako je omogućen), te na kraju učitava original (ako je omogućen).",
"setting_image_viewer_original_subtitle": "Omogućite za učitavanje originalne slike pune rezolucije (velika!). Onemogućite za smanjenje potrošnje podataka (i mrežne i na predmemoriji uređaja).",
"setting_image_viewer_original_title": "Učitaj originalnu sliku",
"setting_image_viewer_preview_subtitle": "Omogućite za učitavanje slike srednje rezolucije. Onemogućite za izravno učitavanje originala ili korištenje samo sličice.",
"setting_image_viewer_preview_title": "Učitaj sliku za pregled",
"setting_languages_apply": "Primijeni",
"setting_languages_subtitle": "Promijeni jezik aplikacije",
"setting_notifications_notify_minutes": "{count} minuta",
@@ -1985,7 +1982,6 @@
"shared_link_password_description": "Zahtjevaj loziku za pristup ovom dijeljenom linku",
"shared_links": "Dijeljene poveznice",
"shared_links_description": "Podijelite fotografije i videozapise putem poveznice",
"shared_photos_and_videos_count": "{assetCount, plural, one {# podijeljena fotografija ili videozapis.} few {# podijeljene fotografije i videozapisa.} other {# podijeljenih fotografija i videozapisa.}}",
"shared_with_me": "Podijeljeno sa mnom",
"shared_with_partner": "Podijeljeno s {partner}",
"sharing": "Dijeljenje",
+29 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "A(z) {command} parancs nem sikerült a következő feladathoz: {job}",
"force_delete_user_warning": "FIGYELEM: Ez azonnal eltávolítja a felhasználót és az összes hozzá tartozó elemet. A művelet nem visszavonható és a fájlokat sem lehet később visszanyerni.",
"image_format": "Formátum",
"image_format_description": "WebP a JPEG-nél kisebb fájlokat készít, de lassabban.",
"image_format_description": "WebP a JPEG-nél kisebb fájlokat készít, de lassabban. A JPEG XL a legjobb opció a magas minőségű tömörítéshez, de nem minden böngésző és app tudja megjeleníteni.",
"image_fullsize_description": "Teljes méretű kép eltávolított metaadatokkal, nagyításkor használva",
"image_fullsize_enabled": "Teljes méretű képgenerálás engedélyezése",
"image_fullsize_enabled_description": "Teljes méretű kép generálása nem webbarát formátumokhoz. Ha a „Beágyazott előnézet preferálása” engedélyezve van, a beágyazott előnézetek közvetlenül, átalakítás nélkül kerülnek felhasználásra. Nem érinti a webbarát formátumokat, például a JPEG-et.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Előnézet minősége 1-100 között. A magasabb szám jobb minőséget, de nagyobb fájlokat eredményez és belassíthatja az alkalmazást. Túl alacsony érték befolyásolhatja a gépi tanulás pontosságát.",
"image_preview_title": "Előnézet beállítások",
"image_progressive": "Progresszív",
"image_progressive_description": "JPEG képek progresszív kódolása a fokozatos megjelenítéshez betöltéskor. Nincs hatással a WebP képekre.",
"image_progressive_description": "JPEG képek progresszív kódolása a fokozatos megjelenítéshez betöltéskor. Nincs hatással más formátumú képekre.",
"image_quality": "Minőség",
"image_resolution": "Felbontás",
"image_resolution_description": "A nagyobb felbontás több részletet őriz meg, de lassabb létrehozni, nagyobb fájlt eredményez és belassíthatja az alkalmazást.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Kérés időkorlátja",
"oauth_timeout_description": "Kérések időkorlátja milliszekundumban",
"ocr_job_description": "Gépi tanulás használata a képeken lévő szövegek felismerésére",
"passkey_additional_domains": "További domainek",
"passkey_additional_domains_description": "További megbízható domainek (related origin kérések). Ezek csak akkor működnek, ha az azonosítókulcs domain is elérhető.",
"passkey_domain": "Azonosítókulcs domain",
"passkey_domain_description": "Azonosítókulcsok használatához használt domain (relying party). Hagyd üresen, ha az Origin fejlécből szeretnéd automatikusan meghatározni. Az érték módosítása után a meglévő azonosítókulcsok nem fognak működni.",
"passkey_enable_description": "Belépés azonosítókulccsal",
"passkey_settings": "Azonosítókulcsos belépés",
"passkey_settings_description": "Azonosítókulcsos belépés kezelése",
"password_enable_description": "Bejelentkezés e-maillel és jelszóval",
"password_settings": "Jelszavas bejelentkezés",
"password_settings_description": "Jelszavas bejelentkezés beállítások kezelése",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Csak a biztonsági mentés törlése",
"delete_local_dialog_ok_force": "Törlés mindenképp",
"delete_others": "Többi törlése",
"delete_passkey": "Azonosítókulcs törlése",
"delete_passkey_prompt": "Biztosan törölni szeretnéd ezt az azonosítókulcsot?",
"delete_permanently": "Törlés véglegesen",
"delete_permanently_action_prompt": "{count} törölve véglegesen",
"delete_shared_link": "Megosztott link törlése",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} hely változtatva",
"edit_location_dialog_title": "Hely",
"edit_name": "Név módosítása",
"edit_passkey": "Azonosítókulcs módosítása",
"edit_people": "Személyek módosítása",
"edit_person": "Személy szerkesztése",
"edit_tag": "Címke módosítása",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Videó} other {Kép}} itt: {country}, {city}, velük: {person1}, {person2} és {person3} (készült: {date})",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Videó} other {Kép}} itt: {country}, {city}, velük: {person1}, {person2} és további {additionalCount, number} személy (készült: {date})",
"immich_logo": "Immich logó",
"immich_web_interface": "Immich webes felület",
"import_from_json": "Importálás JSON-ből",
"import_path": "Importálási útvonal",
"in_albums": "{count, plural, other {# albumban}}",
@@ -1287,6 +1296,7 @@
"last": "Utolsó",
"last_months": "{count, plural, one {Elmúlt hónap} other {Elmúlt # hónap}}",
"last_seen": "Utoljára bejelentkezve",
"last_used": "Utoljára használva",
"latest_version": "Legfrissebb verzió",
"latitude": "Szélesség",
"leave": "Elhagyás",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "A bejelentkezés le van tiltva",
"login_password_changed_error": "Nem sikerült módosítani a jelszót",
"login_password_changed_success": "Jelszó sikeresen módosítva",
"login_with_passkey": "Belépés azonosítókulccsal",
"logout_all_device_confirmation": "Biztos, hogy minden eszközön ki szeretnél jelentkezni?",
"logout_this_device_confirmation": "Biztos, hogy ki szeretnél jelentkezni ezen az eszközön?",
"logs": "Naplók",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Médiakezelés hozzáférés",
"manage_oauth_account": "OAuth-fiók kezelése",
"manage_people": "Személyek kezelése",
"manage_people_access_description_v2": "Más felhasználók számára hozzáférés biztosítása {count, plural, one {ehhez a személyhez} other {a személyeidhez}}, lehetővé téve számukra, hogy a nevedben megtekintsék vagy kezeljék őket. Ez a művelet nem oszt meg semmilyen médiatartalmat.",
"manage_person_access": "Hozzáférés kezelése",
"manage_sharing_with_other_users": "Más felhasználókkal való megosztások kezelése",
"manage_sharing_with_partners": "Partnerekkel való megosztás kezelése",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Saját API-kulcsok kezelése",
"manage_your_devices": "Bejelentkezett eszközök kezelése",
"manage_your_oauth_connection": "OAuth kapcsolódás kezelése",
"manage_your_passkeys": "Azonosítókulcsaid kezelése",
"map": "Térkép",
"map_assets_in_bounds": "{count, plural, =0 {Nincsenek fotók ezen a területen} one {# fotó} other {# fotó}}",
"map_cannot_get_user_location": "A helymeghatározás nem sikerült",
@@ -1528,6 +1541,7 @@
"new_album": "Új album",
"new_api_key": "Új API-kulcs",
"new_feature": "Új funkció",
"new_passkey": "Új azonosítókulcs",
"new_password": "Új jelszó",
"new_person": "Új személy",
"new_pin_code": "Új PIN-kód",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Partnerrel megosztás",
"partners": "Partnerek",
"partners_description": "Fotóid és videóid megosztása más felhasználókkal",
"passkeys": "{count, plural, one {Azonosítókulcs} other {Azonosítókulcsok}}",
"passkeys_not_supported": "Ez a böngésző nem támogatja az azonosítókulcsok használatát",
"password": "Jelszó",
"password_does_not_match": "A jelszavak nem egyeznek",
"password_required": "Jelszó szükséges",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "A kedvencekből {count, plural, other {# elem}} eltávolítva",
"removed_from_stack": "Elem eltávolítva a kötegből",
"removed_memory": "Emlék eltávolítva",
"removed_passkey": "Eltávolított azonosítókulcs: {name}",
"removed_tagged_assets": "Címke eltávolítva {count, plural, other {# elemről}}",
"rename": "Átnevezés",
"repository": "Tároló",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Ha be van kapcsolva, a képernyő bal, illetve jobb szélének érintésével léphetsz az előző vagy a következő képre.",
"setting_image_navigation_enable_title": "Koppints a navigációhoz",
"setting_image_navigation_title": "Képnavigáció",
"setting_image_viewer_help": "Az elemnézegető először a kis bélyegképet tölti be, majd a közepes méretű előnézetet (ha engedélyezett), végül az eredetit (ha engedélyezett).",
"setting_image_viewer_help": "Az elemnézegető először a kis bélyegképet tölti be, majd a közepes méretű előnézetet, végül az eredetit (ha engedélyezett).",
"setting_image_viewer_original_subtitle": "Engedélyezi az eredeti teljes felbontású kép betöltését (nagy!). Kikapcsolva csökkenti az adathasználatot (a neten és az eszköz gyorsítótárán is).",
"setting_image_viewer_original_title": "Eredeti kép betöltése",
"setting_image_viewer_preview_subtitle": "Engedélyezi a közepes felbontású kép betöltését. Kikapcsolva vagy az eredeti kép töltődik be, vagy csak a bélyegkép.",
"setting_image_viewer_preview_title": "Előnézet betöltése",
"setting_languages_apply": "Alkalmaz",
"setting_languages_subtitle": "Az alkalmazás nyelvének megváltoztatása",
"setting_notifications_notify_minutes": "{count} perc",
@@ -2009,8 +2024,9 @@
"share_everyone": "Minden személy megosztása",
"share_everyone_description": "Hozzáférés biztosítása az összes személyedhez {user} számára.",
"share_link": "Link megosztása",
"share_logs": "Naplók megosztása",
"share_original": "Használd az eredetit (nagy)",
"share_preview": "Használd a miniatűrt (kicsi)",
"share_preview": "Használd az előnèzetet (kicsi)",
"share_quality_body": "A megosztás előtt tartsd lenyomva a megosztás gombot, hogy kiválaszd a képminőséget.",
"share_quality_title": "Válaszd ki a megosztási minőséget",
"share_with": "Hozzáférés megosztása velük",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Jelszó megadása szükséges ehhez a megosztott linkhez",
"shared_links": "Megosztott linkek",
"shared_links_description": "Fotók és videók megosztása linkkel",
"shared_photos_and_videos_count": "{assetCount, plural, other {# megosztott kép és videó}}",
"shared_with": "Megosztva velük",
"shared_with_count": "Megosztva ({count})",
"shared_with_me": "Velem megosztva",
@@ -2188,6 +2203,8 @@
"theme": "Téma",
"theme_selection": "Témaválasztás",
"theme_selection_description": "A téma automatikus beállítása világosra vagy sötétre a böngésző rendszerbeállítása alapján",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Görgetés folyamatosan a görgetősáv húzásakor, a hónapokra ugrás helyett",
"theme_setting_asset_list_smooth_scrubbing_title": "Folyamatos, sima idővonal-görgetés",
"theme_setting_asset_list_storage_indicator_title": "Tárhelyjelző megjelenítése az elemeken",
"theme_setting_asset_list_tiles_per_row_title": "Elemek száma soronként ({count})",
"theme_setting_colorful_interface_subtitle": "Elsődleges szín használata a háttérfelületeken.",
@@ -2228,6 +2245,8 @@
"trigger": "Eseményindító",
"trigger_asset_metadata_extraction": "Elem metaadatainak kinyerése",
"trigger_asset_metadata_extraction_description": "Az elem EXIF-adatainak kinyerésekor indul el",
"trigger_asset_ocr_extraction": "Elem OCR-kinyerése",
"trigger_asset_ocr_extraction_description": "Akkor lép működésbe, amikor egy médiatartalom OCR-szövege kinyerésre kerül",
"trigger_asset_tagged": "Elem megcímkézve",
"trigger_asset_tagged_description": "Akkor aktiválódik, amikor egy elemhez címke kerül hozzáadásra",
"trigger_asset_uploaded": "Elem feltöltve",
@@ -2303,7 +2322,7 @@
"user": "Felhasználó",
"user_has_been_deleted": "Ezt a felhasználót töröltük.",
"user_id": "Felhasználó azonosítója",
"user_liked": "{user} felhasználónak {type, select, photo {ez a fotó} video {ez a videó} asset {ez az elem} other {ez}} tetszik",
"user_liked": "{user} kedvelte {type, select, image {ezt a fotót} video {ezt a videót} other {ezt}}",
"user_pin_code_settings": "PIN-kód",
"user_pin_code_settings_description": "PIN-kód kezelése",
"user_privacy": "Felhasználói adatvédelem",
@@ -2339,6 +2358,7 @@
"view_group": "Csoport megtekintése",
"view_in_timeline": "Megtekintés az idővonalon",
"view_link": "Link megtekintése",
"view_more": "Több megjelenítése",
"view_name": "Megtekintés",
"view_next_asset": "Következő elem megtekintése",
"view_previous_asset": "Előző elem megtekintése",
-1
View File
@@ -97,7 +97,6 @@
"search_no_people": "Ոչ մի անձ",
"select_photos": "Ընտրե նկարներ",
"setting_image_viewer_original_title": "Բեռնել բնագիր նկարը",
"setting_image_viewer_preview_title": "Բեռնել նախադիտման նկարը",
"setting_notifications_notify_seconds": "{count} վայրկյան",
"setting_video_viewer_original_video_title": "Ստիպել բնագիր տեսահոլովակը",
"shared_album_activities_input_disable": "Մեկնաբանություններն անջատված են",
-4
View File
@@ -1238,7 +1238,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Gambar}} diambil di {city}, {country} dengan {person1}, {person2}, dan {person3} pada {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Gambar}} diambil di {city}, {country} berisi {person1}, {person2}, dan {additionalCount, number} lainnya pada {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Antarmuka Web Immich",
"import_from_json": "Impor dari JSON",
"import_path": "Jalur pengimporan",
"in_albums": "Dalam {count, plural, one {# album} other {# album}}",
@@ -1987,8 +1986,6 @@
"setting_image_viewer_help": "Penampil detail akan terlebih dahulu memuat gambar mini berukuran kecil, kemudian memuat pratinjau berukuran sedang (jika diaktifkan), dan akhirnya memuat file asli (jika diaktifkan).",
"setting_image_viewer_original_subtitle": "Aktifkan untuk memuat gambar asli dengan resolusi penuh (berukuran besar!). Nonaktifkan untuk mengurangi penggunaan data (baik jaringan maupun cache perangkat).",
"setting_image_viewer_original_title": "Muat gambar kualitas asli",
"setting_image_viewer_preview_subtitle": "Aktifkan untuk memuat gambar dengan resolusi sedang. Nonaktifkan jika ingin langsung memuat gambar asli atau hanya ingin memuat gambar kecil.",
"setting_image_viewer_preview_title": "Muat gambar pratinjau",
"setting_languages_apply": "Terapkan",
"setting_languages_subtitle": "Mengubah bahasa pada aplikasi",
"setting_notifications_notify_minutes": "{count} menit",
@@ -2059,7 +2056,6 @@
"shared_link_password_description": "Wajibkan sandi untuk mengakses tautan bersama ini",
"shared_links": "Tautan bersama",
"shared_links_description": "Bagikan foto dan video dengan tautan",
"shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video bersama.}}",
"shared_with": "Dibagikan kepada saya",
"shared_with_count": "Dibagikan ({count})",
"shared_with_me": "Dibagikan kepada saya",
-1
View File
@@ -1171,7 +1171,6 @@
"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}",
"immich_logo": "Immich merkið",
"immich_web_interface": "Vefviðmót Immich",
"import_from_json": "Flytja inn úr JSON",
"import_path": "Slóð innflutnings",
"in_albums": "Í {count, plural, one {# safni} other {# söfnum}}",
+27 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Esecuzione del comando {command} non riuscita per il processo: {job}",
"force_delete_user_warning": "ATTENZIONE: Questo rimuoverà immediatamente l'utente e tutti le sue risorse. Non è possibile tornare indietro e i file non potranno essere recuperati.",
"image_format": "Formato",
"image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma è più lento da codificare.",
"image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma è più lento da codificare. JPEG XL è la scelta migliore per una compressione di alta qualità, ma non tutti i browser possono visualizzarlo.",
"image_fullsize_description": "Immagini a dimensioni reali senza metadati, sono utilizzate durante lo zoom",
"image_fullsize_enabled": "Abilita la generazione delle immagini a dimensioni reali",
"image_fullsize_enabled_description": "Genera immagini a dimensioni reali per i formati non web-friendly. Quando è abilitata l'opzione \"Preferisci l'anteprima integrata\", le anteprime integrate saranno utilizzate direttamente senza conversione. Non influisce sui formati web-friendly come JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Qualità dell'anteprima da 1 a 100. Più alto è meglio ma produce file più pesanti e può ridurre la reattività dell'app. Impostare un valore basso può influenzare negativamente la qualità del machine learning.",
"image_preview_title": "Impostazioni anteprime",
"image_progressive": "Progressiva",
"image_progressive_description": "Codifica progressivamente le immagini JPEG per mostrarle con un caricamento graduale. Questo non ha effetto sulle immagini WebP.",
"image_progressive_description": "Codifica progressivamente le immagini JPEG per mostrarle con un caricamento graduale. Questo non ha effetto sugli altri formati.",
"image_quality": "Qualità",
"image_resolution": "Risoluzione",
"image_resolution_description": "Risoluzioni più elevate possono preservare più dettagli ma richiedere più tempo per la codifica, avere dimensioni di file più grandi e ridurre la reattività dell'app.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Timeout della richiesta",
"oauth_timeout_description": "Timeout delle richieste in millisecondi",
"ocr_job_description": "Utilizza il machine learning per riconoscere il testo nelle immagini",
"passkey_additional_domains": "Domini aggiuntivi",
"passkey_additional_domains_description": "Domini aggiuntivi e attendibili (richieste di origine correlate). Questi funzioneranno solo se anche il dominio della passkey è accessibile.",
"passkey_domain": "Dominio passkey",
"passkey_domain_description": "Dominio utilizzato per le passkey (parte affidabile). Lasciare vuoto per ricavarlo dall'intestazione “Origin”. La modifica di questo valore comporterà il mancato funzionamento delle passkey esistenti.",
"passkey_enable_description": "Accedi con una passkey",
"passkey_settings": "Accesso con passkey",
"passkey_settings_description": "Gestisci le impostazioni di accesso con passkey",
"password_enable_description": "Login con email e password",
"password_settings": "Login con password",
"password_settings_description": "Gestisci impostazioni del login con password",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Elimina solo con backup",
"delete_local_dialog_ok_force": "Elimina comunque",
"delete_others": "Elimina gli altri",
"delete_passkey": "Elimina passkey",
"delete_passkey_prompt": "Sei sicuro di voler eliminare questa chiave di accesso?",
"delete_permanently": "Elimina definitivamente",
"delete_permanently_action_prompt": "{count} eliminati definitivamente",
"delete_shared_link": "Elimina link condiviso",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} luoghi modificati",
"edit_location_dialog_title": "Posizione",
"edit_name": "Modifica nome",
"edit_passkey": "Modifica passkey",
"edit_people": "Modifica persone",
"edit_person": "Modifica persona",
"edit_tag": "Modifica tag",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video girato} other {Foto scattata}} a {city}, {country} con {person1}, {person2}, e {person3} il giorno {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video girato} other {Foto scattata}} a {city}, {country} con {person1}, {person2} e {additionalCount, number} altre persone il {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Interfaccia Web Immich",
"import_from_json": "Importa da JSON",
"import_path": "Importa percorso",
"in_albums": "In {count, plural, one {# album} other {# album}}",
@@ -1287,6 +1296,7 @@
"last": "Ultimo",
"last_months": "{count, plural, one {Ultimo mese} other {Ultimi # mesi}}",
"last_seen": "Ultimo accesso",
"last_used": "Ultimo utilizzo",
"latest_version": "Ultima Versione",
"latitude": "Latitudine",
"leave": "Esci",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Il login è stato disabilitato",
"login_password_changed_error": "C'è stato un errore durante l'aggiornamento della password",
"login_password_changed_success": "Password aggiornata con successo",
"login_with_passkey": "Accedi con passkey",
"logout_all_device_confirmation": "Sei sicuro di volerti disconnettere da tutti i dispositivi?",
"logout_this_device_confirmation": "Sei sicuro di volerti disconnettere da questo dispositivo?",
"logs": "Registri",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Accesso alla gestione di contenuti multimediali",
"manage_oauth_account": "Gestisci account OAuth",
"manage_people": "Gestisci persone",
"manage_people_access_description_v2": "Concedi ad altri utenti l'accesso a {count, plural, one {questa persona} other {le tue persone}}, consentendo loro di visualizzarle o gestirle per tuo conto. Questa azione non comporta la condivisione di alcuna risorsa.",
"manage_person_access": "Gestisci accesso",
"manage_sharing_with_other_users": "Gestisci la condivisione con gli altri utenti",
"manage_sharing_with_partners": "Gestisci la condivisione con i compagni",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Gestisci le tue chiavi API",
"manage_your_devices": "Gestisci i tuoi dispositivi collegati",
"manage_your_oauth_connection": "Gestisci la tua connessione OAuth",
"manage_your_passkeys": "Gestisci le tue passkeys",
"map": "Mappa",
"map_assets_in_bounds": "{count, plural, =0 {Nessuna foto in quest'area} one {# foto} other {# foto}}",
"map_cannot_get_user_location": "Non è possibile ottenere la posizione dell'utente",
@@ -1528,6 +1541,7 @@
"new_album": "Nuovo Album",
"new_api_key": "Nuova Chiave di API",
"new_feature": "Nuova funzionalità",
"new_passkey": "Nuova passkey",
"new_password": "Nuova password",
"new_person": "Nuova persona",
"new_pin_code": "Nuovo codice PIN",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Condivisione Compagno",
"partners": "Compagni",
"partners_description": "Condividi le tue foto e video con gli altri utenti",
"passkeys": "{count, plural, one {Passkey} other {Passkey}}",
"passkeys_not_supported": "Questo browser non supporta i passkey",
"password": "Password",
"password_does_not_match": "Le password non coincidono",
"password_required": "Password Richiesta",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, one {Rimosso } other {Rimossi #}} dai preferiti",
"removed_from_stack": "Rimuovi risorsa dal gruppo",
"removed_memory": "Memoria rimossa",
"removed_passkey": "Rimuovi passkey: {name}",
"removed_tagged_assets": "Rimossa etichetta {count, plural, one {# dalla risorsa} other {# dalle risorse}}",
"rename": "Rinomina",
"repository": "Repository",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Se abilitata, puoi passare all'immagine precedente/successiva toccando il quarto di schermo più a sinistra/più a destra.",
"setting_image_navigation_enable_title": "Clicca per navigare",
"setting_image_navigation_title": "Navigazione delle immagini",
"setting_image_viewer_help": "Il visualizzatore dei dettagli carica prima la miniatura piccola, poi quella di medie dimensioni (se abilitata) e infine l'originale (se abilitato).",
"setting_image_viewer_help": "Il visualizzatore dei dettagli carica prima la miniatura piccola, poi quella di medie dimensioni e infine l'originale (se abilitato).",
"setting_image_viewer_original_subtitle": "Abilita il caricamento dell’immagine originale in alta risoluzione (dimensioni elevate). Disattiva per ridurre il consumo di dati, sia di rete che in cache locale.",
"setting_image_viewer_original_title": "Carica l'immagine originale",
"setting_image_viewer_preview_subtitle": "Abilita per caricare un'immagine a risoluzione media. Disabilita per caricare direttamente l'immagine originale o usare la miniatura.",
"setting_image_viewer_preview_title": "Carica immagine di anteprima",
"setting_languages_apply": "Applica",
"setting_languages_subtitle": "Cambia la lingua dell'app",
"setting_notifications_notify_minutes": "{count} minuti",
@@ -2009,8 +2024,9 @@
"share_everyone": "Condividi tutte le persone",
"share_everyone_description": "Dai a {user} accesso a tutte le tue persone.",
"share_link": "Link di condivisione",
"share_logs": "Condividi i log",
"share_original": "Usa originale (grande)",
"share_preview": "Usa miniatura (piccola)",
"share_preview": "Usa anteprima (piccola)",
"share_quality_body": "Tieni premuto il pulsante di condivisione per scegliere la qualità dell'immagine prima di condividerla.",
"share_quality_title": "Seleziona la qualità di condivisione",
"share_with": "Condividi accesso con",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Imposta una password per questo link condiviso",
"shared_links": "Link condivisi",
"shared_links_description": "Condividi foto e video con un link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# foto e video condivisi.}}",
"shared_with": "Condiviso con",
"shared_with_count": "Condiviso ({count})",
"shared_with_me": "Condivisi con me",
@@ -2188,6 +2203,8 @@
"theme": "Tema",
"theme_selection": "Selezione tema",
"theme_selection_description": "Imposta automaticamente il tema chiaro o scuro in base all'impostazione del tuo browser",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Scorrere in modo continuo quando si trascina la barra di scorrimento, invece di passare automaticamente da un mese all'altro",
"theme_setting_asset_list_smooth_scrubbing_title": "Scorrimento fluido della timeline",
"theme_setting_asset_list_storage_indicator_title": "Mostra indicatore dello storage nei titoli delle risorse",
"theme_setting_asset_list_tiles_per_row_title": "Numero di risorse per riga ({count})",
"theme_setting_colorful_interface_subtitle": "Applica il colore primario alle superfici di sfondo.",
@@ -2303,7 +2320,7 @@
"user": "Utente",
"user_has_been_deleted": "L'utente è stato rimosso.",
"user_id": "ID utente",
"user_liked": "A {user} piace {type, select, photo {questa foto} video {questo video} asset {questa risorsa} other {questo elemento}}",
"user_liked": "A {user} piace {type, select, image {questa foto} video {questo video} other {questo elemento}}",
"user_pin_code_settings": "Codice PIN",
"user_pin_code_settings_description": "Gestisci il tuo codice PIN",
"user_privacy": "Privacy dell'utente",
@@ -2339,6 +2356,7 @@
"view_group": "Visualizza gruppo",
"view_in_timeline": "Visualizza nella timeline",
"view_link": "Visualizza link",
"view_more": "Scopri di più",
"view_name": "Vista",
"view_next_asset": "Visualizza risorsa successiva",
"view_previous_asset": "Visualizza risorsa precedente",
+522 -502
View File
File diff suppressed because it is too large Load Diff
-2
View File
@@ -1308,8 +1308,6 @@
"setting_image_navigation_enable_title": "ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ",
"setting_image_viewer_help": "ವಿವರ ವೀಕ್ಷಕವು ಮೊದಲು ಸಣ್ಣ ಥಂಬ್‌ನೇಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ, ನಂತರ ಮಧ್ಯಮ ಗಾತ್ರದ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ (ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ), ಅಂತಿಮವಾಗಿ ಮೂಲವನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ (ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ).",
"setting_image_viewer_original_subtitle": "ಮೂಲ ಪೂರ್ಣ-ರೆಸಲ್ಯೂಶನ್ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಕ್ರಿಯಗೊಳಿಸಿ (ದೊಡ್ಡದು!). ಡೇಟಾ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಸಾಧನದ ಸಂಗ್ರಹ ಎರಡರಲ್ಲೂ).",
"setting_image_viewer_preview_subtitle": "ಮಧ್ಯಮ ರೆಸಲ್ಯೂಶನ್ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಮೂಲವನ್ನು ನೇರವಾಗಿ ಲೋಡ್ ಮಾಡಲು ಅಥವಾ ಥಂಬ್‌ನೇಲ್ ಅನ್ನು ಮಾತ್ರ ಬಳಸಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ.",
"setting_image_viewer_preview_title": "ಪೂರ್ವವೀಕ್ಷಣೆ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಿ",
"setting_languages_subtitle": "ಅಪ್ಲಿಕೇಶನ್‌ನ ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಿ",
"setting_notifications_subtitle": "ನಿಮ್ಮ ಅಧಿಸೂಚನೆ ಆದ್ಯತೆಗಳನ್ನು ಹೊಂದಿಸಿ",
"setting_video_viewer_auto_play_subtitle": "ವೀಡಿಯೊಗಳು ತೆರೆದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ಲೇ ಆಗಲು ಪ್ರಾರಂಭಿಸಿ",
+97 -52
View File
@@ -45,7 +45,7 @@
"admin_user": "관리자",
"asset_offline_description": "해당 외부 라이브러리 항목은 디스크에서 더 이상 찾을 수 없으며 휴지통으로 이동되었습니다. 파일이 라이브러리 내에서 이동된 경우 타임라인에서 새로 인식된 항목이 있는지 확인하세요. 이 항목을 복원하려면 아래 경로에 Immich가 접근할 수 있는지 확인하고 라이브러리를 다시 스캔하세요.",
"authentication_settings": "인증 설정",
"authentication_settings_description": "비밀번호, OAuth 및 기타 인증 설정을 관리합니다.",
"authentication_settings_description": "비밀번호, 외부인증 및 기타 인증 설정을 관리합니다.",
"authentication_settings_disable_all": "모든 로그인 수단을 비활성화하시겠습니까? 더 이상 로그인할 수 없습니다.",
"authentication_settings_reenable": "다시 활성화하려면 <link>서버 명령어</link>를 사용하세요.",
"background_task_job": "백그라운드 작업",
@@ -81,12 +81,12 @@
"export_config_as_json_description": "현재 시스템 구성을 JSON 파일로 다운로드합니다.",
"external_libraries_page_description": "외부 라이브러리 관리 페이지",
"face_detection": "얼굴 감지",
"face_detection_description": "기계 학습을 사용해 항목에서 얼굴을 감지합니다. 동영상은 섬네일만 사용합니다. \"새로고침\"은 모든 항목을 처리합니다. \"초기화\"는 모든 얼굴 데이터를 삭제합니다. \"누락\"은 아직 처리되지 않은 항목을 대기열에 추가합니다. 감지된 얼굴은 얼굴 인식 단계에서 처리되며, 기존 인물 또는 새 인물로 그룹화됩니다.",
"face_detection_description": "기계 학습을 사용해 항목에서 얼굴을 감지합니다. 동영상은 썸네일만 사용합니다. \"새로고침\"은 모든 항목을 처리합니다. \"초기화\"는 모든 얼굴 데이터를 삭제합니다. \"누락\"은 아직 처리되지 않은 항목을 대기열에 추가합니다. 감지된 얼굴은 얼굴 인식 단계에서 처리되며, 기존 인물 또는 새 인물로 그룹화됩니다.",
"facial_recognition_job_description": "감지된 얼굴을 인물별로 그룹화합니다. 이 작업은 얼굴 감지가 완료된 후 진행됩니다. \"초기화\"는 모든 얼굴을 그룹화합니다. \"누락\"은 그룹화되지 않은 얼굴을 대기열에 추가합니다.",
"failed_job_command": "{job} 작업의 {command} 실패",
"force_delete_user_warning": "경고: 이 작업은 해당 사용자의 계정과 모든 항목을 즉시 삭제합니다. 이 작업은 되돌릴 수 없으며 삭제된 파일은 복구할 수 없습니다.",
"image_format": "형식",
"image_format_description": "WebP는 JPEG보다 파일 크기는 작지만 인코딩 속도가 느립니다.",
"image_format_description": "WebP는 JPEG보다 파일 크기는 작지만 인코딩 속도가 느립니다. JPEG XL은 고품질 압축을 위한 최상의 선택이지만, 모든 브라우저와 앱에서 이를 표시할 수 있는 것은 아닙니다.",
"image_fullsize_description": "메타데이터가 제거된 전체 크기 이미지. 이미지를 확대할 때 사용됩니다.",
"image_fullsize_enabled": "전체 크기 이미지 생성 활성화",
"image_fullsize_enabled_description": "웹에서 지원되지 않는 형식에 대해 전체 크기 이미지를 생성합니다. \"포함된 미리보기 우선 사용\"을 활성화하면 미리보기를 그대로 사용합니다.",
@@ -95,20 +95,20 @@
"image_prefer_embedded_preview": "포함된 미리보기 우선 사용",
"image_prefer_embedded_preview_setting_description": "RAW 사진에 포함된 미리보기가 있는 경우 이미지 처리에 사용합니다. 일부 이미지에서 더 정확한 색상을 얻을 수 있지만 압축 아티팩트가 있을 수 있습니다.",
"image_prefer_wide_gamut": "광색역 우선 사용",
"image_prefer_wide_gamut_setting_description": "섬네일에 Display P3를 사용합니다. 광색역 표현이 더 정확해지지만 구형 환경에서는 다르게 보일 수 있습니다. sRGB 이미지는 색역을 유지합니다.",
"image_prefer_wide_gamut_setting_description": "썸네일에 Display P3를 사용합니다. 광색역 표현이 더 정확해지지만 구형 환경에서는 다르게 보일 수 있습니다. sRGB 이미지는 색역을 유지합니다.",
"image_preview_description": "메타데이터가 제거된 중간 크기 이미지. 기계 학습 및 개별 항목을 표시할 때 사용됩니다.",
"image_preview_quality_description": "미리보기 품질을 1~100 범위에서 설정합니다. 값이 클수록 좋지만 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다. 너무 낮은 값은 기계 학습 품질에 영향을 줄 수 있습니다.",
"image_preview_title": "미리보기 설정",
"image_progressive": "점진적 로딩",
"image_progressive_description": "JPEG 이미지를 점진적으로 표시할 수 있게 단계적으로 인코딩합니다. WebP 이미지에는 영향이 없습니다.",
"image_progressive_description": "JPEG 이미지를 점진적으로 표시할 수 있도록 단계적으로 인코딩합니다. 다른 형식의 이미지에는 영향을 주지 않습니다.",
"image_quality": "품질",
"image_resolution": "해상도",
"image_resolution_description": "해상도가 높을수록 더 많은 세부 정보를 보존할 수 있지만, 인코딩 시간이 길어지고 파일 크기가 커지며 앱 반응 속도가 느려질 수 있습니다.",
"image_settings": "이미지 설정",
"image_settings_description": "생성되는 이미지의 품질 및 해상도를 관리합니다.",
"image_thumbnail_description": "메타데이터가 제거된 작은 섬네일. 메인 타임라인 등 사진 목록을 표시할 때 사용됩니다.",
"image_thumbnail_quality_description": "섬네일 품질을 1~100 범위에서 설정합니다. 값이 클수록 좋지만 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다.",
"image_thumbnail_title": "섬네일 설정",
"image_thumbnail_description": "메타데이터가 제거된 작은 썸네일. 메인 타임라인 등 사진 목록을 표시할 때 사용됩니다.",
"image_thumbnail_quality_description": "썸네일 품질을 1~100 범위에서 설정합니다. 값이 클수록 좋지만 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다.",
"image_thumbnail_title": "썸네일 설정",
"import_config_from_json_description": "JSON 파일을 업로드하여 시스템 구성을 가져옵니다.",
"integrity_checks_checksum_files": "체크섬 파일",
"integrity_checks_checksum_files_description": "체크섬 검사 설정",
@@ -256,15 +256,15 @@
"metadata_settings": "메타데이터 설정",
"metadata_settings_description": "메타데이터 설정을 관리합니다.",
"migration_job": "마이그레이션",
"migration_job_description": "각 항목의 섬네일 및 인물의 얼굴을 최신 폴더 구조에 맞게 마이그레이션",
"migration_job_description": "각 항목의 썸네일 및 인물의 얼굴을 최신 폴더 구조에 맞게 마이그레이션",
"nightly_tasks_cluster_faces_setting_description": "새로 감지된 얼굴의 인식 작업을 실행합니다.",
"nightly_tasks_cluster_new_faces_setting": "새 얼굴 그룹화",
"nightly_tasks_database_cleanup_setting": "데이터베이스 정리",
"nightly_tasks_database_cleanup_setting_description": "데이터베이스에서 오래되었거나 불필요한 데이터를 정리합니다.",
"nightly_tasks_generate_memories_setting": "추억 생성",
"nightly_tasks_generate_memories_setting_description": "사진 및 동영상에서 새로운 추억 모음을 생성합니다.",
"nightly_tasks_missing_thumbnails_setting": "누락된 섬네일 생성",
"nightly_tasks_missing_thumbnails_setting_description": "섬네일 생성 대기열에 누락된 항목을 추가합니다.",
"nightly_tasks_missing_thumbnails_setting": "누락된 썸네일 생성",
"nightly_tasks_missing_thumbnails_setting_description": "썸네일 생성 대기열에 누락된 항목을 추가합니다.",
"nightly_tasks_settings": "정기 작업 설정",
"nightly_tasks_settings_description": "특정 시간에 수행되는 작업을 관리합니다.",
"nightly_tasks_start_time_setting": "시작 시간",
@@ -294,25 +294,25 @@
"notification_settings": "알림 설정",
"notification_settings_description": "이메일을 포함한 알림 설정을 관리합니다.",
"oauth_account_management_url": "계정 관리 URL",
"oauth_account_management_url_description": "사용자가 자신의 설정이나 프로필을 관리할 수 있는 외부 ID 공급자의 위치입니다.",
"oauth_account_management_url_description": "사용자가 자신의 설정이나 프로필을 관리할 수 있는 외부 인증 공급자의 위치입니다.",
"oauth_allow_insecure_requests": "비보안 요청 허용",
"oauth_allow_insecure_requests_description": "경고: OAuth 요청에 대한 TLS 인증서 검증을 비활성화하여 중간자 공격에 노출될 수 있습니다.",
"oauth_allow_insecure_requests_description": "경고: 외부인증 요청에 대한 TLS 인증서 검증을 비활성화하여 중간자 공격에 노출될 수 있습니다.",
"oauth_auto_launch": "자동 실행",
"oauth_auto_launch_description": "로그인 페이지에 접근 시 OAuth 로그인 과정을 자동으로 진행",
"oauth_auto_launch_description": "로그인 페이지에 접근 시 외부인증 로그인 과정을 자동으로 진행",
"oauth_auto_register": "자동 등록",
"oauth_auto_register_description": "OAuth 로그인 후 새 사용자를 자동으로 등록합니다.",
"oauth_auto_register_description": "외부인증 로그인 후 새 사용자를 자동으로 등록합니다.",
"oauth_button_text": "버튼 텍스트",
"oauth_client_secret_description": "비공개 클라이언트 또는 공개 클라이언트가 PKCE(Proof Key for Code Exchange, 코드 교환용 검증 키)를 지원하지 않는 경우 필요합니다.",
"oauth_enable_description": "OAuth 로그인",
"oauth_enable_description": "외부인증 로그인",
"oauth_end_session_url_description": "사용자가 로그아웃할 때 이 URI로 리다이렉트합니다.",
"oauth_mobile_redirect_uri": "모바일 리다이렉트 URI",
"oauth_mobile_redirect_uri_override": "모바일 리다이렉트 URI 오버라이드",
"oauth_mobile_redirect_uri_override_description": "OAuth 공급자가 ''{callback}'' 등의 모바일 URI를 허용하지 않는 경우 활성화하세요.",
"oauth_mobile_redirect_uri_override_description": "외부인증 공급자가 ''{callback}'' 등의 모바일 URI를 허용하지 않는 경우 활성화하세요.",
"oauth_prompt_description": "프롬프트 파라미터 (예: select_account, login, consent)",
"oauth_role_claim": "역할 클레임",
"oauth_role_claim_description": "요청한 클레임을 사용자의 역할로 자동 설정합니다. 'user' 또는 'admin'을 선택할 수 있습니다.",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth 로그인 설정을 관리합니다.",
"oauth_settings": "외부인증",
"oauth_settings_description": "외부인증 로그인 설정을 관리합니다.",
"oauth_settings_more_details": "해당 기능에 대한 자세한 내용은 <link>문서</link>를 참조하세요.",
"oauth_storage_label_claim": "스토리지 레이블 클레임",
"oauth_storage_label_claim_description": "클레임의 값을 사용자 스토리지 레이블로 자동 설정합니다.",
@@ -323,6 +323,13 @@
"oauth_timeout": "요청 타임아웃",
"oauth_timeout_description": "요청 타임아웃 (밀리초 단위)",
"ocr_job_description": "기계 학습으로 이미지에서 텍스트를 인식합니다.",
"passkey_additional_domains": "추가적인 도메인",
"passkey_additional_domains_description": "추가적인 신뢰할 수 있는 도메인(원본 요청과 관련됨). 이러한 도메인은 패스키 도메인에 접근할 수 있는 경우에만 작동합니다.",
"passkey_domain": "패스키 도메인",
"passkey_domain_description": "패스키에 사용되는 도메인(신뢰 당사자). 빈칸으로 두면 Origin 헤더에서 자동으로 추론됩니다. 이 값을 변경하면 기존 패스키가 더 이상 작동하지 않게 됩니다.",
"passkey_enable_description": "패스키로 로그인",
"passkey_settings": "패스키 로그인",
"passkey_settings_description": "패스키 로그인 설정 관리",
"password_enable_description": "이메일과 비밀번호로 로그인",
"password_settings": "비밀번호 로그인",
"password_settings_description": "비밀번호 로그인 설정을 관리합니다.",
@@ -394,8 +401,8 @@
"theme_custom_css_settings_description": "CSS로 Immich의 디자인을 사용자 정의할 수 있습니다.",
"theme_settings": "테마 설정",
"theme_settings_description": "Immich 웹 인터페이스를 사용자 정의합니다.",
"thumbnail_generation_job": "섬네일 생성",
"thumbnail_generation_job_description": "각 항목 및 인물에 대해 크고 작은 썸네일, 흐릿한 섬네일 생성",
"thumbnail_generation_job": "썸네일 생성",
"thumbnail_generation_job_description": "각 항목 및 인물에 대해 크고 작은 썸네일, 흐릿한 썸네일 생성",
"transcoding_acceleration_api": "가속 API",
"transcoding_acceleration_api_description": "트랜스코딩 가속에 사용할 API를 지정합니다. 이 설정은 'best effort' 방식으로 동작하며, 실패 시 소프트웨어 트랜스코딩으로 전환됩니다. 하드웨어에 따라 VP9은 지원되지 않을 수 있습니다.",
"transcoding_acceleration_nvenc": "NVENC (NVIDIA GPU 필요)",
@@ -469,9 +476,9 @@
"trash_number_of_days_description": "항목을 영구적으로 삭제하기 전까지 휴지통에 보관할 기간(일)",
"trash_settings": "휴지통 설정",
"trash_settings_description": "휴지통 기능을 설정합니다.",
"unlink_all_oauth_accounts": "모든 OAuth 계정 연결 해제",
"unlink_all_oauth_accounts_description": "새 공급자로 이전하려면 먼저 모든 OAuth 계정의 연결을 해제해야 합니다.",
"unlink_all_oauth_accounts_prompt": "모든 OAuth 계정 연결을 해제하시겠습니까? 각 사용자의 OAuth ID를 초기화하며 되돌릴 수 없습니다.",
"unlink_all_oauth_accounts": "모든 외부인증 계정 연결 해제",
"unlink_all_oauth_accounts_description": "새 공급자로 이전하려면 먼저 모든 외부인증 계정의 연결을 해제해야 합니다.",
"unlink_all_oauth_accounts_prompt": "모든 외부인증 계정 연결을 해제하시겠습니까? 각 사용자의 외부인증 ID를 초기화하며 되돌릴 수 없습니다.",
"user_cleanup_job": "사용자 정리",
"user_delete_delay": "<b>{user}</b>님의 계정과 항목이 {delay, plural, one {#일} other {#일}} 후 영구적으로 삭제됩니다.",
"user_delete_delay_settings": "삭제 대기 기간",
@@ -506,7 +513,7 @@
"advanced_settings_clear_image_cache_error": "이미지 캐시 삭제 실패",
"advanced_settings_clear_image_cache_success": "{size}가 성공적으로 정리됨",
"advanced_settings_log_level_title": "로그 레벨: {level}",
"advanced_settings_prefer_remote_subtitle": "일부 기기의 경우 로컬 항목에서 섬네일을 로드하는 속도가 매우 느립니다. 서버 이미지를 대신 로드하려면 이 설정을 활성화하세요.",
"advanced_settings_prefer_remote_subtitle": "일부 기기의 경우 로컬 항목에서 썸네일을 로드하는 속도가 매우 느립니다. 서버 이미지를 대신 로드하려면 이 설정을 활성화하세요.",
"advanced_settings_prefer_remote_title": "서버 이미지 선호",
"advanced_settings_proxy_headers_subtitle": "Immich가 네트워크 요청 시 사용할 프록시 헤더를 정의합니다.",
"advanced_settings_proxy_headers_title": "커스텀 프록시 헤더 (실험적)",
@@ -556,6 +563,7 @@
"allow_public_user_to_download": "모든 사용자의 다운로드 허용",
"allow_public_user_to_upload": "모든 사용자의 업로드 허용",
"allowed": "허용됨",
"also_known_as": "별칭",
"alt_text_qr_code": "QR 코드 이미지",
"always_keep": "항상 유지",
"always_keep_photos_hint": "이 기기에 모든 사진이 보관됩니다.",
@@ -670,6 +678,7 @@
"birthdate_set_description": "생년월일은 사진 촬영 당시 인물의 나이를 계산하는 데 사용됩니다.",
"birthday_memory_age": "{age, selectordinal, other {#번째}} 생일",
"birthday_memory_title": "{name}의 생일",
"birthday_memory_title_with_age": "{name}의 생일 · {age, plural, other {# 살}}",
"blurred_background": "흐린 배경",
"browse_templates": "템플릿 둘러보기",
"bugs_and_feature_requests": "버그 제보 & 기능 요청",
@@ -750,7 +759,7 @@
"cluster_group_description": "그룹에 속한 모든 사람의 사진에서 인물들이 식별됩니다.",
"cluster_group_facial_recognition": "얼굴 인식 초기화",
"cluster_group_facial_recognition_prompt": "얼굴 인식을 초기화하면 그룹에 속한 모든 사용자의 모든 사람 정보가 삭제됩니다. 이미 설정된 이름과 생년월일 또한 삭제됩니다. 계속하시겠습니까?",
"cluster_group_invite_description": "이 클러스터 그룹에 참여하도록 초대를 받으셨습니다.",
"cluster_group_invite_description": "이 묶음 그룹에 참여하도록 초대를 받으셨습니다.",
"collapse": "접기",
"collapse_all": "모두 접기",
"color": "색상",
@@ -871,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "백업된 항목만 삭제",
"delete_local_dialog_ok_force": "무시하고 삭제",
"delete_others": "다른 인물 삭제",
"delete_passkey": "패스키 삭제",
"delete_passkey_prompt": "정말로 이 패스키를 삭제하시겠습니까?",
"delete_permanently": "영구 삭제",
"delete_permanently_action_prompt": "{count}개 항목이 영구적으로 삭제됨",
"delete_shared_link": "공유 링크 삭제",
@@ -940,7 +951,9 @@
"edit_location_action_prompt": "항목 {count}개의 위치가 변경됨",
"edit_location_dialog_title": "위치",
"edit_name": "이름 변경",
"edit_passkey": "패스키 편집",
"edit_people": "인물 수정",
"edit_person": "인물 편집",
"edit_tag": "태그 수정",
"edit_title": "제목 변경",
"edit_user": "사용자 수정",
@@ -1039,7 +1052,7 @@
"unable_to_change_location": "위치를 변경할 수 없습니다.",
"unable_to_change_password": "비밀번호를 변경할 수 없습니다.",
"unable_to_change_visibility": "인물 {count, plural, one {#명} other {#명}}의 표시 여부를 변경할 수 없음",
"unable_to_complete_oauth_login": "OAuth 로그인을 완료할 수 없습니다.",
"unable_to_complete_oauth_login": "외부인증 로그인을 완료할 수 없습니다.",
"unable_to_connect": "연결할 수 없음",
"unable_to_copy_to_clipboard": "클립보드에 복사할 수 없습니다. HTTPS로 접속 중인지 확인하세요.",
"unable_to_create": "워크플로를 생성할 수 없습니다",
@@ -1062,15 +1075,15 @@
"unable_to_get_comments_number": "댓글 수를 불러올 수 없습니다.",
"unable_to_get_shared_link": "공유 링크를 불러오지 못했습니다.",
"unable_to_hide_person": "인물을 숨길 수 없습니다.",
"unable_to_leave_cluster_group": "클러스터 그룹을 떠날 수 없습니다.",
"unable_to_leave_cluster_group": "묶음 그룹을 떠날 수 없습니다.",
"unable_to_link_motion_video": "모션 비디오를 연결할 수 없습니다",
"unable_to_link_oauth_account": "OAuth 계정을 연결할 수 없습니다.",
"unable_to_load_cluster_group": "클러스터 그룹을 불러올 수 없습니다.",
"unable_to_link_oauth_account": "외부인증 계정을 연결할 수 없습니다.",
"unable_to_load_cluster_group": "묶음 그룹을 불러올 수 없습니다.",
"unable_to_load_map": "지도를 불러올 수 없습니다.",
"unable_to_load_map_description": "지도를 올바르게 표시하기 위해 WebGL이 필요합니다.",
"unable_to_log_out_all_devices": "모든 기기에서 로그아웃할 수 없습니다.",
"unable_to_log_out_device": "기기에서 로그아웃할 수 없습니다.",
"unable_to_login_with_oauth": "OAuth로 로그인할 수 없습니다.",
"unable_to_login_with_oauth": "외부인증으로 로그인할 수 없습니다.",
"unable_to_play_video": "동영상을 재생할 수 없습니다.",
"unable_to_reassign_assets_existing_person": "{name, select, null {다른 인물} other {{name}}}에게 항목을 재할당할 수 없습니다.",
"unable_to_reassign_assets_new_person": "새 인물에게 항목을 재할당할 수 없습니다.",
@@ -1208,6 +1221,7 @@
"headers_settings_tile_title": "사용자 지정 프록시 헤더",
"height": "높이",
"hi_user": "안녕하세요 {name}님, ({email})",
"hidden": "숨겨짐",
"hide_all_people": "모든 인물 숨기기",
"hide_asset_owners": "항목 소유자 숨기기",
"hide_gallery": "갤러리 숨기기",
@@ -1235,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{date} {country}, {city}에서 {person1}, {person2}님 및 {person3}님과 함께한 {isVideo, select, true {동영상} other {사진}}",
"image_alt_text_date_place_4_or_more_people": "{date} {country}, {city}에서 {person1}, {person2}님 및 {additionalCount, number}명과 함께한 {isVideo, select, true {동영상} other {사진}}",
"immich_logo": "Immich 로고",
"immich_web_interface": "Immich 웹 인터페이스",
"import_from_json": "JSON에서 가져오기",
"import_path": "가져올 경로",
"in_albums": "포함된 앨범 {count, plural, one {#개} other {#개}}",
@@ -1283,6 +1296,7 @@
"last": "마지막",
"last_months": "{count, plural, one {지난 1개월} other {지난#개월}}",
"last_seen": "최근 활동",
"last_used": "마지막으로 사용됨",
"latest_version": "최신 버전",
"latitude": "위도",
"leave": "나가기",
@@ -1308,8 +1322,8 @@
"link": "링크",
"link_motion_video": "모션 비디오 링크",
"link_to_docs": "자세한 내용은 <link>문서</link>를 참조하십시오.",
"link_to_oauth": "OAuth에 연결",
"linked_oauth_account": "OAuth 계정이 연결되었습니다.",
"link_to_oauth": "외부인증에 연결",
"linked_oauth_account": "외부인증 계정이 연결되었습니다.",
"list": "목록",
"live": "라이브",
"load_more": "더 불러오기",
@@ -1348,8 +1362,8 @@
"login_form_err_invalid_url": "잘못된 URL입니다.",
"login_form_err_leading_whitespace": "입력값 앞에 공백이 있습니다.",
"login_form_err_trailing_whitespace": "입력값 끝에 공백이 있습니다.",
"login_form_failed_get_oauth_server_config": "OAuth 로그인 중 오류가 발생했습니다. 서버 URL을 확인하세요.",
"login_form_failed_get_oauth_server_disable": "이 서버는 OAuth 기능을 지원하지 않습니다.",
"login_form_failed_get_oauth_server_config": "외부인증 로그인 중 오류가 발생했습니다. 서버 URL을 확인하세요.",
"login_form_failed_get_oauth_server_disable": "이 서버는 외부인증 기능을 지원하지 않습니다.",
"login_form_failed_login": "로그인 중 오류가 발생했습니다. 서버 URL, 이메일 및 비밀번호를 확인하세요.",
"login_form_handshake_exception": "서버와 통신 중 인증서 예외가 발생했습니다. 자체 서명된 인증서를 사용 중이라면, 설정에서 자체 서명된 인증서 허용을 활성화하세요.",
"login_form_password_hint": "비밀번호",
@@ -1358,6 +1372,7 @@
"login_has_been_disabled": "로그인이 비활성화됨",
"login_password_changed_error": "비밀번호 변경 중 오류가 발생했습니다.",
"login_password_changed_success": "비밀번호가 변경되었습니다.",
"login_with_passkey": "패스키로 로그인",
"logout_all_device_confirmation": "모든 기기에서 로그아웃하시겠습니까?",
"logout_this_device_confirmation": "이 기기에서 로그아웃하시겠습니까?",
"logs": "로그",
@@ -1395,14 +1410,18 @@
"manage_media_access_settings": "설정 열기",
"manage_media_access_subtitle": "Immich 앱이 미디어 파일을 관리하고 이동할 수 있도록 허용하십시오.",
"manage_media_access_title": "미디어 관리 액세스",
"manage_oauth_account": "OAuth 계정 관리",
"manage_oauth_account": "외부인증 계정 관리",
"manage_people": "인물 관리",
"manage_people_access_description_v2": "다른 사용자에게 {count, plural, one {이 인물} other {당신의 인물들}}에 대한 접근 권한을 부여하여, 해당 사용자가 귀하를 대신하여 이를 확인하거나 관리할 수 있도록 하세요. 이 작업으로 인해 어떤 자산도 공유되지는 않습니다.",
"manage_person_access": "권한 관리",
"manage_sharing_with_other_users": "다른 사용자와의 공유 관리",
"manage_sharing_with_partners": "공유할 파트너를 초대하거나 제거합니다.",
"manage_the_app_settings": "앱 동작 및 표시 환경을 사용자 정의합니다.",
"manage_your_account": "사용자의 계정 정보를 확인하고 변경합니다.",
"manage_your_api_keys": "API 키를 생성, 삭제하거나 권한을 관리합니다.",
"manage_your_devices": "현재 로그인한 기기를 확인하고 로그아웃할 수 있습니다.",
"manage_your_oauth_connection": "OAuth 연결을 관리합니다.",
"manage_your_oauth_connection": "외부인증 연결을 관리합니다.",
"manage_your_passkeys": "패스키 관리하기",
"map": "지도",
"map_assets_in_bounds": "{count, plural, =0 {이 구역에 사진 없음} other {# 개}}",
"map_cannot_get_user_location": "사용자의 위치를 가져올 수 없습니다.",
@@ -1522,6 +1541,7 @@
"new_album": "새 앨범",
"new_api_key": "새 API 키",
"new_feature": "새로운 기능",
"new_passkey": "새 패스키",
"new_password": "새 비밀번호",
"new_person": "새 인물 생성",
"new_pin_code": "새 PIN 코드",
@@ -1548,6 +1568,7 @@
"no_exif_info_available": "EXIF 정보 없음",
"no_explore_results_message": "더 많은 사진을 업로드하여 탐색 기능을 사용하세요.",
"no_favorites_message": "즐겨찾기에서 사진과 동영상을 빠르게 찾기",
"no_filter": "분류 없음",
"no_libraries_message": "외부 라이브러리로 다른 경로의 사진과 동영상을 확인하세요.",
"no_local_assets_found": "체크섬과 일치하는 로컬 항목을 찾을 수 없습니다.",
"no_locked_photos_message": "잠금 폴더의 사진 및 동영상은 숨겨지며 라이브러리를 탐색할 때 표시되지 않습니다.",
@@ -1579,7 +1600,7 @@
"notification_toggle_setting_description": "이메일 알림 활성화",
"notifications": "알림",
"notifications_setting_description": "알림 전송 설정을 관리합니다.",
"oauth": "OAuth",
"oauth": "외부인증",
"obtainium_configurator": "Obtainium 구성",
"obtainium_configurator_instructions": "Obtainium으로 Immich GitHub 릴리스에서 직접 안드로이드 앱을 설치하고 업데이트하세요. API 키를 생성하고 변형을 선택해 Obtanium 설정 링크를 생성하세요.",
"ocr": "OCR",
@@ -1632,6 +1653,9 @@
"partner_page_stop_sharing_content": "더 이상 {partner}님이 사진에 접근할 수 없습니다.",
"partner_sharing": "파트너와 공유",
"partners": "파트너",
"partners_description": "사진이나 동영상을 다른 사용자와 공유하세요",
"passkeys": "{count, plural, one {패스키} other {패스키들}}",
"passkeys_not_supported": "이 브라우저는 패스키를 지원하지 않습니다",
"password": "비밀번호",
"password_does_not_match": "비밀번호가 일치하지 않습니다.",
"password_required": "비밀번호 필요",
@@ -1648,6 +1672,7 @@
"paused": "일시 정지됨",
"pending": "진행 중",
"people": "인물",
"people_cluster_group": "인물 묶음 그룹",
"people_count": "{count}명",
"people_edits_count": "인물 {count, plural, one {#명} other {#명}}이 수정되었습니다.",
"people_feature_description": "사진과 동영상을 인물 그룹별로 탐색",
@@ -1666,8 +1691,15 @@
"person_age_year_months": "1세, {months, plural, one {#개월} other {#개월}}",
"person_age_years": "{years, plural, other {#}}살",
"person_birthdate": "{date} 출생",
"person_edit_only_change_for_me": "나에게만 변경",
"person_edit_only_change_for_me_description": "변경 사항이 해당 사용자에게만 적용되도록 하려면 체크하세요",
"person_hidden": "{name}{hidden, select, true { (숨김)} other {}}",
"person_recognized": "신원이 확인된 사람",
"person_share_no_users": "묶음 그룹에 속한 모든 사용자는 이미 이 사용자에 대한 접근 권한을 가지고 있습니다.",
"person_update_strategy": "변경 사항을 다음 항목에 적용",
"person_update_strategy_description": "이름이나 생년월일을 변경할 때 알릴 사람들",
"person_update_strategy_everyone": "공유 액세스 권한이 있는 모든 사용자",
"person_update_strategy_self": "나에게만",
"photo_shared_all_users": "이미 모든 사용자와 사진을 공유 중이거나 다른 사용자가 없는 것 같습니다.",
"photos": "사진",
"photos_and_videos": "사진 및 동영상",
@@ -1750,6 +1782,7 @@
"query_asset_id": "쿼리 항목 ID",
"queue_status": "전체 {total}, {count} 대기 중",
"rate_asset": "항목 별점",
"rate_asset_description": "1부터 5까지의 숫자키를 사용하여 자산에 빠르게 평점을 매기고, 0을 눌러 평점을 초기화하세요",
"rating": "별점",
"rating_clear": "별점 초기화",
"rating_count": "{count, plural, =0 {별점 없음} one {#점} other {#점}}",
@@ -1775,12 +1808,12 @@
"refresh_encoded_videos": "동영상 재인코딩",
"refresh_faces": "얼굴 새로고침",
"refresh_metadata": "메타데이터 갱신",
"refresh_thumbnails": "섬네일 다시 생성",
"refresh_thumbnails": "썸네일 다시 생성",
"refreshed": "새로고침이 완료되었습니다.",
"refreshing_encoded_video": "동영상을 다시 인코딩합니다.",
"refreshing_faces": "얼굴을 새로고침합니다.",
"refreshing_metadata": "메타데이터를 새로고침합니다.",
"regenerating_thumbnails": "섬네일을 다시 생성하는 중...",
"regenerating_thumbnails": "썸네일을 다시 생성하는 중...",
"remote": "원격",
"remote_assets": "원격 항목",
"remote_media_summary": "원격 미디어 요약",
@@ -1807,6 +1840,7 @@
"removed_from_favorites_count": "즐겨찾기에서 항목 {count, plural, other {#개}} 제거됨",
"removed_from_stack": "스택에서 자산을 제거했습니다.",
"removed_memory": "추억이 제거되었습니다.",
"removed_passkey": "패스키가 제거됨: {name}",
"removed_tagged_assets": "항목 {count, plural, one {#개} other {#개}}에서 태그를 제거함",
"rename": "이름 바꾸기",
"repository": "리포지터리",
@@ -1917,7 +1951,7 @@
"search_tags": "태그 검색...",
"search_timezone": "시간대 검색...",
"search_type": "검색 유형",
"search_type_description": "Immich가 검색어를 어떻게 해석할지 선택하세요: 시각적 항목, 파일 세부 정보 혹은 포함된 텍스트 중 하나",
"search_type_description": "Immich가 검색 결과를 어떻게 해석할지 선택하세요: 시각적 내용, 파일 세부 정보 혹은 포함된 텍스트 중 하나를 선택할 수 있습니다.",
"search_your_photos": "사진 검색",
"searching_locales": "로케일 검색...",
"second": "초",
@@ -1968,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "활성화되면 화면의 왼쪽 또는 오른쪽 끄트머리를 탭하여 이미지를 전환합니다.",
"setting_image_navigation_enable_title": "탭해서 전환",
"setting_image_navigation_title": "이미지 전환",
"setting_image_viewer_help": "상세 보기에서는 작은 섬네일, (활성화된 경우) 중간 섬네일, 원본 순으로 불러옵니다.",
"setting_image_viewer_help": "상세 보기는 먼저 작은 썸네일을 불러온 다음, 중간 크기의 미리보기를 불러오고, 마지막으로 원본 이미지를 불러옵니다(활성화된 경우).",
"setting_image_viewer_original_subtitle": "원본 고해상도 이미지를 불러옵니다. 데이터 사용량 및 캐시 크기를 줄이려면 비활성화하세요.",
"setting_image_viewer_original_title": "원본 이미지 로드",
"setting_image_viewer_preview_subtitle": "중간 해상도 이미지를 불러옵니다. 비활성화하는 경우 원본 또는 섬네일만 불러옵니다.",
"setting_image_viewer_preview_title": "미리보기 이미지 로드",
"setting_languages_apply": "적용",
"setting_languages_subtitle": "앱 언어 변경",
"setting_notifications_notify_minutes": "{count}분",
@@ -1987,12 +2019,17 @@
"settings_saved": "설정이 저장되었습니다.",
"setup_pin_code": "PIN 코드 설정",
"share": "공유",
"share_back": "다시 공유하기",
"share_dialog_preparing": "준비 중...",
"share_everyone": "모두에게 공유",
"share_everyone_description": "{user}님에게 귀하의 모든 인물들에 대한 접근 권한을 부여하세요.",
"share_link": "공유 링크",
"share_logs": "로그 공유하기",
"share_original": "원본 사용 (고해상도)",
"share_preview": "썸네일 사용 (저해상도)",
"share_preview": "미리보기 사용 (저해상도)",
"share_quality_body": "공유하기 전에 공유 버튼을 길게 눌러 이미지 품질을 선택하세요.",
"share_quality_title": "공유할 때 사용할 이미지 품질 변경",
"share_with": "다음 사용자와 액세스 권한 공유",
"shared": "공유됨",
"shared_album_activities_input_disable": "댓글이 비활성화되었습니다",
"shared_album_activity_remove_content": "이 활동을 삭제하시겠습니까?",
@@ -2000,6 +2037,7 @@
"shared_album_section_people_action_error": "앨범에서 나가기/제거 중 문제가 발생했습니다.",
"shared_album_section_people_title": "사용자",
"shared_by": "다음 사용자가 공유",
"shared_by_me": "나에 의해 공유됨",
"shared_by_user": "{user}님이 공유함",
"shared_by_you": "내가 공유함",
"shared_from_partner": "{partner}님의 사진",
@@ -2038,7 +2076,8 @@
"shared_link_password_description": "이 페이지를 보려면 비밀번호를 입력하세요.",
"shared_links": "공유 링크",
"shared_links_description": "링크를 통해 사진 및 동영상 공유",
"shared_photos_and_videos_count": "사진 및 동영상 {assetCount, plural, other {#개를 공유했습니다.}}",
"shared_with": "다음과 공유됨",
"shared_with_count": "({count})건 공유함",
"shared_with_me": "나와 공유됨",
"shared_with_partner": "{partner}님과 공유함",
"sharing": "공유",
@@ -2122,6 +2161,7 @@
"stop_motion_photo": "모션 포토 정지",
"stop_photo_sharing": "공유를 중단하시겠습니까?",
"stop_photo_sharing_description": "더 이상 {partner}님이 사진에 접근할 수 없습니다.",
"stop_sharing_person_with_user": "이 사용자와 이 사람 더 이상 공유 안 함",
"stop_sharing_photos_with_user": "이 사용자와 사진 공유 중단",
"storage": "저장 공간",
"storage_label": "스토리지 레이블",
@@ -2163,6 +2203,8 @@
"theme": "테마",
"theme_selection": "테마 선택",
"theme_selection_description": "시스템의 다크 모드 설정에 따라 테마를 자동으로 적용합니다.",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "스크롤바를 드래그할 때 특정 달에 고정되지 않고 계속 스크롤되도록 합니다",
"theme_setting_asset_list_smooth_scrubbing_title": "부드러운 타임라인 훑기",
"theme_setting_asset_list_storage_indicator_title": "타일에 서버 동기화 상태 표시",
"theme_setting_asset_list_tiles_per_row_title": "한 줄에 표시할 항목 수 ({count})",
"theme_setting_colorful_interface_subtitle": "기본 색상을 배경에 적용",
@@ -2203,6 +2245,8 @@
"trigger": "트리거",
"trigger_asset_metadata_extraction": "미디어 메타데이터 추출",
"trigger_asset_metadata_extraction_description": "사진 또는 동영상의 EXIF 메타데이터가 추출될 때 발생합니다",
"trigger_asset_ocr_extraction": "자산에서 OCR로 텍스트 추출",
"trigger_asset_ocr_extraction_description": "자산의 OCR 텍스트가 추출되면 트리거됩니다.",
"trigger_asset_tagged": "태그 적용됨",
"trigger_asset_tagged_description": "항목에 태그가 적용되었을 때 실행됩니다",
"trigger_asset_uploaded": "미디어 업로드 완료",
@@ -2228,8 +2272,8 @@
"unknown_year": "알 수 없는 연도",
"unlimited": "무제한",
"unlink_motion_video": "모션 비디오 링크 해제",
"unlink_oauth": "OAuth 연결 해제",
"unlinked_oauth_account": "OAuth 계정 연결이 해제되었습니다.",
"unlink_oauth": "외부인증 연결 해제",
"unlinked_oauth_account": "외부인증 계정 연결이 해제되었습니다.",
"unmute_memories": "음소거 해제",
"unnamed_album": "이름 없는 앨범",
"unnamed_album_delete_confirmation": "선텍한 앨범을 삭제하시겠습니까?",
@@ -2278,7 +2322,7 @@
"user": "사용자",
"user_has_been_deleted": "이 사용자는 삭제되었습니다.",
"user_id": "사용자 ID",
"user_liked": "{user}님이 {type, select, photo {이 사진} video {이 동영상} asset {이 항목} other {해당 항목}}을 좋아합니다.",
"user_liked": "{user}님이 {type, select, image {이 사진} video {이 동영상} other {이 항목}}에 좋아요를 남겼습니다.",
"user_pin_code_settings": "PIN 코드",
"user_pin_code_settings_description": "PIN 코드를 변경하거나 잊어버린 경우 초기화합니다.",
"user_privacy": "개인정보",
@@ -2300,8 +2344,8 @@
"version_history": "버전 기록",
"version_history_item": "{date} {version} 설치",
"video": "동영상",
"video_hover_setting": "섬네일 영상 미리보기",
"video_hover_setting_description": "섬네일 위에 마우스를 올리면 미리보기를 재생합니다. 비활성화해도 재생 아이콘에 마우스를 올려 미리볼 수 있습니다.",
"video_hover_setting": "썸네일 영상 미리보기",
"video_hover_setting_description": "썸네일 위에 마우스를 올리면 미리보기를 재생합니다. 비활성화해도 재생 아이콘에 마우스를 올려 미리볼 수 있습니다.",
"video_quality": "동영상 화질",
"videos": "동영상",
"videos_count": "동영상 {count, plural, one {#개} other {#개}}",
@@ -2314,6 +2358,7 @@
"view_group": "그룹 보기",
"view_in_timeline": "타임라인에서 보기",
"view_link": "링크 보기",
"view_more": "더보기",
"view_name": "보기",
"view_next_asset": "다음 항목 보기",
"view_previous_asset": "이전 항목 보기",
+21 -25
View File
@@ -17,9 +17,9 @@
"add_a_title": "Pridėti pavadinimą",
"add_action": "Pridėti veiksmą",
"add_assets": "Pridėti",
"add_birthday": "Pridėti gimimo diena",
"add_endpoint": "Pridėti galutinį tašką",
"add_exclusion_pattern": "Pridėti išimčių šabloną",
"add_birthday": "Pridėti gimimo dieną",
"add_endpoint": "Pridėti serverio adresą",
"add_exclusion_pattern": "Pridėti išimties šabloną",
"add_location": "Pridėti vietovę",
"add_partner": "Pridėti partnerį",
"add_photos": "Pridėti nuotraukų",
@@ -29,42 +29,42 @@
"add_to_album": "Pridėti į albumą",
"add_to_album_bottom_sheet_added": "Pridėta į {album}",
"add_to_album_bottom_sheet_already_exists": "Jau yra {album}",
"add_to_album_bottom_sheet_some_local_assets": "Dalis vietinių elementų negalėjo būti pridėti į albumą",
"add_to_album_bottom_sheet_some_local_assets": "Kai kurių vietinių išteklių nepavyko įtraukti į albumą",
"add_to_albums": "Pridėti į albumus",
"add_to_albums_count": "Pridėti į albumus ({count})",
"add_to_bottom_bar": "Pridėti prie",
"add_upload_to_stack": "Įkelti ir {isStack, select, true {pridėti į krūvą} other {sukurti krūvą}}",
"add_upload_to_stack": "Įtraukti ir {isStack, select, true {pridėti į rinkinį} other {sukurti rinkinį}}",
"add_url": "Pridėti URL",
"add_user": "Pridėti naudotoją",
"added_to_archive": "Pridėta į archyvą",
"added_to_favorites": "Pridėta prie mėgstamiausių",
"added_to_favorites_count": "{count, plural, one {# pridėtas} few {# pridėti} other {# pridėta}} prie mėgstamiausių",
"added_to_favorites": "Įtraukta į mėgstamiausius",
"added_to_favorites_count": "{count, plural, one {# įtrauktas} few {# įtraukti} other {# įtraukta}} prie mėgstamiausių",
"admin": {
"add_exclusion_pattern_description": "Pridėti išimčių taisykles. Palaikomi simboliai *,**, ir ?. Ignoruoti bet kokius failus bet kuriame aplanke pavadintame \"Raw\", naudokite \"**/Raw/**\". Ignoravimui failų su plėtiniu \".tif\", naudokite \"**/*.tiff\". Aplanko kelio nustatymams, naudokite \"/aplanko/kelias/ignoruoti/**\".",
"add_exclusion_pattern_description": "Pridėti išimčių taisykles. Palaikomi simboliai *,**, ir ?. Norėdami ignoruoti visus failus bet kuriame aplanke, kurio pavadinimas yra „Raw“, naudokite „**/Raw/**“. Norėdami ignoruoti visus failus, kurių pavadinimai baigiasi „.tif“, naudokite „**/*.tiff“. Norėdami ignoruoti absoliutų kelią, naudokite „/aplanko/kelias/ignoruoti/**“.",
"admin_user": "Administratorius",
"asset_offline_description": "Šis išorinės bibliotekos elementas nebepasiekiamas diske ir buvo perkeltas į šiukšliadėžę. Jei failas buvo perkeltas toje pačioje bibliotekoje, laiko skalėje rasite naują atitinkamą elementą. Jei norite šį elementą atkurti, įsitikinkite, kad Immich gali pasiekti failą žemiau nurodytu adresu, ir suvykdykite bibliotekos skenavimą.",
"asset_offline_description": "Šio išorinės bibliotekos elemento diske nebėra, todėl jis buvo perkeltas į šiukšlinę. Jei failas buvo perkeltas toje pačioje bibliotekoje, laiko skalėje rasite naują atitinkamą elementą. Norėdami atkurti šį elementą, įsitikinkite, kad „Immich“ turi prieigą prie jo kelio, ir nuskaitykite biblioteką.",
"authentication_settings": "Autentifikavimo nustatymai",
"authentication_settings_description": "Tvarkyti slaptažodžių, OAuth ir kitus autentifikavimo nustatymus",
"authentication_settings_disable_all": "Ar tikrai norite išjungti visus prisijungimo būdus? Prisijungimas bus visiškai išjungtas.",
"authentication_settings_reenable": "Norėdami vėl įjungti, naudokite <link>Serverio komandą</link>.",
"background_task_job": "Foninės užduotys",
"backup_database": "Sukurti duomenų bazės išklotinę",
"backup_database_enable_description": "Įgalinti duomenų bazės išklotinės",
"backup_database_enable_description": "Įgalinti duomenų bazės išklotines",
"backup_keep_last_amount": "Išsaugomų ankstesnių duomenų bazės išklotinių skaičius",
"backup_onboarding_1_description": "išorinė kopija debesyje arba kitoje fizinėje lokacijoje.",
"backup_onboarding_2_description": "vietinės kopijos kituose prietaisuose. Tai apima pagrindinius failus ir jų vietines kopijas.",
"backup_onboarding_3_description": "viso jūsų duomenų kopijų, įskaitant originalius failus. Tai apima 1 išorinę ir 2 vietines kopijas.",
"backup_onboarding_description": "Jūsų duomenų apsaugojimui rekomenduojama <backblaze-link>3-2-1 atsarginės kopijos strategija</backblaze-link> . Jūs turėtumėte saugoti įkeltų nuotraukų/video bei Immich duomenų bazės kopijas išsamiam atsarginių kopijų sprendimui.",
"backup_onboarding_1_description": "atsarginė kopija debesyje arba kitoje fizinėje vietoje.",
"backup_onboarding_2_description": "vietinės kopijos skirtinguose įrenginiuose. Tai apima pagrindinius failus ir jų atsargines kopijas, saugomas lokaliai.",
"backup_onboarding_3_description": "visos jūsų duomenų kopijos, įskaitant originalius failus. Tai yra 1 nuotolinė ir 2 vietinės kopijos.",
"backup_onboarding_description": "Rekomenduojame laikytis <backblaze-link>„3-2-1“ atsarginių kopijų strategijos</backblaze-link>, norint apsaugoti asmeninius duomenis. Siekiant užtikrinti visapusišką apsaugą, turėtumėte papildomai saugoti įkeltų nuotraukų ir vaizdo įrašų kopijas, taip pat „Immich“ duomenų bazę.",
"backup_onboarding_footer": "Daugiau informacijos apie „Immich“ atsarginių kopijų kūrimą rasite <link>dokumentacijoje</link>.",
"backup_onboarding_parts_title": "3-2-1 atsarginė kopija apima:",
"backup_onboarding_parts_title": "Atsarginių kopijų kūrimas taikant „3-2-1“ strategiją apima:",
"backup_onboarding_title": "Atsarginės kopijos",
"backup_settings": "Duomenų bazės išklotinių nustatymai",
"backup_settings_description": "Tvarkyti duomenų bazės išklotinės nustatymus. Pastaba: šie darbai nėra stebimi ir jums nebus pranešta apie nesėkmę.",
"cleared_jobs": "Išvalytos užduotys užduočiai: {job}",
"config_set_by_file": "Konfigūracija nustatyta pagal konfigūracinį failą",
"confirm_delete_library": "Ar tikrai norite ištrinti {library} biblioteką?",
"confirm_delete_library_assets": "Ar tikrai norite ištrinti šią biblioteką? Šis veiksmas ištrins {count, plural, one {# contained asset} other {all # contained assets}} iš Immich ir negali būti grąžintas. Failai liks diske.",
"confirm_email_below": "Patvirtinimui įveskite \"{email}\" žemiau",
"backup_settings_description": "Valdyti duomenų bazės išklotinės nustatymus.",
"cleared_jobs": "Išvalytos užduotys: {job}",
"config_set_by_file": "Konfigūracija nustatyta per konfigūracijos failą",
"confirm_delete_library": "Ar tikrai norite pašalinti biblioteką „{library}“?",
"confirm_delete_library_assets": "Ar tikrai norite pašalinti šią biblioteką? Tai negrįžtamai pašalins {count, plural, one {# esamą elementą} few {visus # esamus elementus} many {visus # esamus elementus} other {visus # esamus elementus}} iš „Immich“. Failai liks diske.",
"confirm_email_below": "Norėdami patvirtinti, įveskite „{email}“",
"confirm_reprocess_all_faces": "Ar tikrai norite iš naujo apdoroti visus veidus? Tai taip pat ištrins įvardytus asmenis.",
"confirm_user_password_reset": "Ar tikrai norite iš naujo nustatyti {user} slaptažodį?",
"confirm_user_pin_code_reset": "Ar tikrai norite iš naujo nustatyti {user} PIN kodą?",
@@ -1229,7 +1229,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Filmuota} other {Fotografuota}} su {person1}, {person2}, ir {person3} - {city}, {country} {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Filmuota} other {Fotografuota}} su {person1}, {person2}, ir {additionalCount, number} kitais - {city}, {country} {date}",
"immich_logo": "Immich logotipas",
"immich_web_interface": "Immich Web sąsaja",
"import_from_json": "Importuoti iš JSON",
"import_path": "Importavimo kelias",
"in_albums": "{count, plural, one {# Albume} few {#Albumuose} other {# Albumų}}",
@@ -1943,8 +1942,6 @@
"setting_image_viewer_help": "Detali peržiūra pirmiausia įkelia mažą miniatiūrą, tada įkelia vidutinio dydžio versiją (jei įjungta) ir galiausiai įkelia originalą (jei įjungta).",
"setting_image_viewer_original_subtitle": "Įjunkite, kad įkeltumėte originalų pilnos raiškos vaizdą (didelį!). Išjunkite, kad sumažintumėte duomenų naudojimą (tiek tinkle, tiek įrenginio talpykloje).",
"setting_image_viewer_original_title": "Užkrauti originalią nuotrauką",
"setting_image_viewer_preview_subtitle": "Įjunkite, jei norite įkelti vidutinės raiškos vaizdą. Išjunkite, jei norite tiesiogiai įkelti originalą ar naudoti tik miniatiūrą.",
"setting_image_viewer_preview_title": "Užkrauti peržiūros nuotrauką",
"setting_languages_apply": "Pritaikyti",
"setting_languages_subtitle": "Pakeisti programos kalbą",
"setting_notifications_notify_minutes": "{count} minučių",
@@ -2010,7 +2007,6 @@
"shared_link_password_description": "Bendrinimo nuorodos prieigai reikalingas slaptažodis",
"shared_links": "Bendrinimo nuorodos",
"shared_links_description": "Dalintis foto ir video su nuoroda",
"shared_photos_and_videos_count": "{assetCount, plural, one {# bendrinama nuotrauka ir vaizdo įrašas} few {# bendrinamos nuotraukos ir vaizdo įrašai} other {# bendrinamų nuotraukų ir vaizdo įrašų}}",
"shared_with_me": "Bendrinama su manimi",
"shared_with_partner": "Pasidalinta su {partner}",
"sharing": "Dalijimasis",
+7 -4
View File
@@ -113,6 +113,10 @@
"integrity_checks_checksum_files": "Kontrolsummas faili",
"integrity_checks_checksum_files_description": "Konfigurēt kontrolsummas pārbaudi",
"integrity_checks_checksum_files_enable_description": "Iespējot kontrolsummas pārbaudi",
"integrity_checks_checksum_files_time_limit": "Laika ierobežojums",
"integrity_checks_missing_files": "Trūkstošie faili",
"integrity_checks_settings": "Integritātes pārbaudes",
"integrity_checks_settings_description": "Integritātes pārbaužu intervālu pārvaldība",
"job_concurrency": "{job} vienlaicīgi",
"job_created": "Uzdevums izveidots",
"job_not_concurrency_safe": "Šis uzdevums nav drošs vienlaicīgai izpildei.",
@@ -191,6 +195,9 @@
"maintenance_delete_backup": "Dzēst rezerves kopiju",
"maintenance_delete_backup_description": "Šis fails tiks neatgriezeniski dzēsts.",
"maintenance_delete_error": "Neizdevās dzēst rezerves kopiju.",
"maintenance_integrity_check": "Pārbaudīt",
"maintenance_integrity_check_all": "Pārbaudīt visus",
"maintenance_integrity_checksum_mismatch": "Kontrolsummas neatbilstība",
"maintenance_integrity_report": "Integritātes pārbaude",
"maintenance_restore_backup": "Atjaunot no rezerves kopijas",
"maintenance_restore_backup_description": "Immich dati tiks dzēsti un atjaunoti no izvēlētā dublējuma. Tiks izveidots dublējums pirms turpinājuma.",
@@ -1152,7 +1159,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} uzņemts {city}, {country} ar {person1}, {person2} un {person3} {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} uzņemts {city}, {country} ar {person1}, {person2} un {additionalCount, number} citiem lietotājiem {date}",
"immich_logo": "Immich logo",
"immich_web_interface": "Immich tīmekļa saskarne",
"import_from_json": "Importēt no JSON",
"import_path": "Importa ceļš",
"in_albums": "{count, plural, one {# albumā} other {# albumos}}",
@@ -1806,8 +1812,6 @@
"setting_image_viewer_help": "Detaļu skatītājs vispirms ielādē mazo sīktēlu, pēc tam ielādē vidēja lieluma priekšskatījumu (ja iespējots), visbeidzot ielādē oriģinālu (ja iespējots).",
"setting_image_viewer_original_subtitle": "Iespējot sākotnējā pilnas izšķirtspējas attēla (liels!) ielādi. Atspējot, lai samazinātu datu lietojumu (gan tīklā, gan ierīces kešatmiņā).",
"setting_image_viewer_original_title": "Ielādēt oriģinālo attēlu",
"setting_image_viewer_preview_subtitle": "Iespējojiet vidējas izšķirtspējas attēla ielādēšanu. Atspējojiet vai nu tiešu oriģināla ielādi, vai izmantojiet tikai sīktēlu.",
"setting_image_viewer_preview_title": "Ielādēt priekšskatījuma attēlu",
"setting_languages_apply": "Lietot",
"setting_languages_subtitle": "Mainīt lietotnes valodu",
"setting_notifications_notify_minutes": "{count} minūtes",
@@ -1867,7 +1871,6 @@
"shared_link_password_description": "Lai piekļūtu šai koplietotajai saitei, nepieciešama parole",
"shared_links": "Kopīgotās saites",
"shared_links_description": "Kopīgot fotoattēlus un videoklipus, izmantojot saiti",
"shared_photos_and_videos_count": "{assetCount, plural, other {# koplietotie fotoattēli un videoklipi.}}",
"shared_with_me": "Kopīgots ar mani",
"shared_with_partner": "Kopīgots ar {partner}",
"sharing": "Kopīgošana",
-4
View File
@@ -1202,7 +1202,6 @@
"image_alt_text_date_place_3_people": "{date}-ന് {city}, {country} എന്നിവിടങ്ങളിൽ വെച്ച് {person1}, {person2}, {person3} എന്നിവർക്കൊപ്പം എടുത്ത {isVideo, select, true {വീഡിയോ} other {ചിത്രം}}",
"image_alt_text_date_place_4_or_more_people": "{date}-ന് {city}, {country} എന്നിവിടങ്ങളിൽ വെച്ച് {person1}, {person2}, കൂടാതെ മറ്റ് {additionalCount, number} പേർക്കുമൊപ്പം എടുത്ത {isVideo, select, true {വീഡിയോ} other {ചിത്രം}}",
"immich_logo": "Immich ലോഗോ",
"immich_web_interface": "Immich വെബ് ഇന്റർഫേസ്",
"import_from_json": "JSON-ൽ നിന്ന് ഇമ്പോർട്ടുചെയ്യുക",
"import_path": "ഇമ്പോർട്ട് പാത്ത്",
"in_albums": "{count, plural, one {# ആൽബത്തിൽ} other {# ആൽബങ്ങളിൽ}}",
@@ -1906,8 +1905,6 @@
"setting_image_viewer_help": "വിശദാംശ വ്യൂവർ ആദ്യം ചെറിയ തംബ്നെയിൽ ലോഡുചെയ്യുന്നു, തുടർന്ന് ഇടത്തരം പ്രിവ്യൂ (പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ), ഒടുവിൽ യഥാർത്ഥ ചിത്രം (പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ) ലോഡുചെയ്യുന്നു.",
"setting_image_viewer_original_subtitle": "യഥാർത്ഥ പൂർണ്ണ-റെസല്യൂഷൻ ചിത്രം (വലുത്!) ലോഡുചെയ്യാൻ പ്രവർത്തനക്ഷമമാക്കുക. ഡാറ്റ ഉപയോഗം (നെറ്റ്‌വർക്കും ഉപകരണ കാഷെയും) കുറയ്ക്കാൻ പ്രവർത്തനരഹിതമാക്കുക.",
"setting_image_viewer_original_title": "യഥാർത്ഥ ചിത്രം ലോഡുചെയ്യുക",
"setting_image_viewer_preview_subtitle": "ഇടത്തരം റെസല്യൂഷനുള്ള ചിത്രം ലോഡുചെയ്യാൻ പ്രവർത്തനക്ഷമമാക്കുക. ഒന്നുകിൽ യഥാർത്ഥ ചിത്രം നേരിട്ട് ലോഡുചെയ്യുന്നതിനോ അല്ലെങ്കിൽ തംബ്നെയിൽ മാത്രം ഉപയോഗിക്കുന്നതിനോ പ്രവർത്തനരഹിതമാക്കുക.",
"setting_image_viewer_preview_title": "പ്രിവ്യൂ ചിത്രം ലോഡുചെയ്യുക",
"setting_languages_apply": "പ്രയോഗിക്കുക",
"setting_languages_subtitle": "ആപ്പിന്റെ ഭാഷ മാറ്റുക",
"setting_notifications_notify_minutes": "{count} മിനിറ്റ്",
@@ -1971,7 +1968,6 @@
"shared_link_password_description": "ഈ പങ്കിട്ട ലിങ്ക് ആക്‌സസ് ചെയ്യാൻ ഒരു പാസ്‌വേഡ് ആവശ്യമാണ്",
"shared_links": "പങ്കിട്ട ലിങ്കുകൾ",
"shared_links_description": "ഒരു ലിങ്ക് ഉപയോഗിച്ച് ഫോട്ടോകളും വീഡിയോകളും പങ്കിടുക",
"shared_photos_and_videos_count": "{assetCount, plural, other {പങ്കിട്ട # ഫോട്ടോകളും വീഡിയോകളും.}}",
"shared_with_me": "എനിക്കായി പങ്കിട്ടത്",
"shared_with_partner": "{partner}-മായി പങ്കിട്ടു",
"sharing": "പങ്കിടൽ",
-4
View File
@@ -1136,7 +1136,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {city}, {country} येथे {person1}, {person2} आणि {person3} सोबत {date} रोजी घेतलेला",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {व्हिडिओ} other {फोटो}} {city}, {country} येथे {person1}, {person2} आणि इतर {additionalCount, number} जणांसोबत {date} रोजी घेतलेला",
"immich_logo": "Immich लोगो",
"immich_web_interface": "Immich वेब इंटरफेस",
"import_from_json": "JSON मधून आयात करा",
"import_path": "इम्पोर्ट पाथ",
"in_albums": "{count, plural, one {# album} other {# albums}} मध्ये",
@@ -1718,8 +1717,6 @@
"setting_image_viewer_help": "डीटेल व्ह्यूअर आधी लहान थंबनेल लोड करतो, नंतर (सक्षम असल्यास) मध्यम आकाराचे प्रिव्ह्यू लोड करतो, आणि शेवटी (सक्षम असल्यास) मूळ प्रतिमा लोड करतो.",
"setting_image_viewer_original_subtitle": "पूर्ण-रिझोल्यूशनची मूळ प्रतिमा लोड करण्यासाठी सक्षम करा (मोठी). डेटा वापर कमी करण्यासाठी (नेटवर्क व डिव्हाइस कॅश दोन्ही) अक्षम करा.",
"setting_image_viewer_original_title": "मूळ प्रतिमा लोड करा",
"setting_image_viewer_preview_subtitle": "मध्यम-रिझोल्यूशन प्रतिमा लोड करण्यासाठी सक्षम करा. अक्षम केल्यास थेट मूळ प्रतिमा लोड होईल किंवा फक्त थंबनेल वापरला जाईल.",
"setting_image_viewer_preview_title": "प्रिव्ह्यू प्रतिमा लोड करा",
"setting_languages_apply": "लागू करा",
"setting_languages_subtitle": "अॅपची भाषा बदला",
"setting_notifications_notify_minutes": "{count} मिनिटे",
@@ -1779,7 +1776,6 @@
"shared_link_password_description": "हा शेअर्ड दुवा पाहण्यासाठी पासवर्ड आवश्यक आहे",
"shared_links": "शेअर्ड दुवे",
"shared_links_description": "दुव्याद्वारे फोटो आणि व्हिडिओ शेअर करा",
"shared_photos_and_videos_count": "{assetCount, plural, other {# शेअर्ड फोटो आणि व्हिडिओ}}",
"shared_with_me": "माझ्यासोबत शेअर केलेले",
"shared_with_partner": "{partner} सोबत शेअर केले",
"sharing": "शेअरिंग",
+77 -59
View File
@@ -43,7 +43,7 @@
"admin": {
"add_exclusion_pattern_description": "Legg til ekskluderingsmønstre. Globbing med *, ** og ? støttes. For å ignorere alle filer i en hvilken som helst mappe som heter \"Raw\", bruk \"**/Raw/**\". For å ignorere alle filer som slutter på \".tif\", bruk \"**/*.tif\". For å ignorere en absolutt filplassering, bruk \"/filsti/til/ignorer/**\".",
"admin_user": "Administrasjonsbruker",
"asset_offline_description": "Dette eksterne bibliotekselementet finnes ikke lenger på disk og har blitt flyttet til papirkurven. Hvis filen ble flyttet innad i biblioteket, se etter det tilsvarende elementet i tidslinjen din. For å gjenopprette elementet, vennligst sørg for at filstien under er tilgjengelig for Immich og skann biblioteket.",
"asset_offline_description": "Dette eksterne bibliotekselementet finnes ikke lenger på disk og har blitt flyttet til papirkurven. Hvis filen ble flyttet innad i biblioteket, se etter det tilsvarende elementet i tidslinjen din. For å gjenopprette elementet må du sørge for at filstien under er tilgjengelig for Immich og skann biblioteket.",
"authentication_settings": "Autentiseringsinnstillinger",
"authentication_settings_description": "Administrer passord, OAuth, og andre autentiseringsinnstillinger",
"authentication_settings_disable_all": "Er du sikker på at du ønsker å deaktivere alle innloggingsmetoder? Innlogging vil bli fullstendig deaktivert.",
@@ -86,7 +86,7 @@
"failed_job_command": "Kommandoen {command} feilet for oppgave: {job}",
"force_delete_user_warning": "ADVARSEL: Dette vil umiddelbart fjerne brukeren og alle data. Dette kan ikke angres, og filene kan ikke gjenopprettes.",
"image_format": "Format",
"image_format_description": "WebP produserer mindre filer enn JPEG, men kodes langsommere.",
"image_format_description": "WebP produserer mindre filer enn JPEG, men kodes langsommere. JPEG XL er det beste alternatiet for høykvalitets komprimering, men ikke alle nettlesere eller apper kan vise det.",
"image_fullsize_description": "Bilde i full størrelse med strippet metadata, brukt når du zoomer inn",
"image_fullsize_enabled": "Aktiver generering av bilder i full størrelse",
"image_fullsize_enabled_description": "Generer bilder i full størrelse for ikke-nettvennlige formater. Når \"Foretrekk innebygd forhåndsvisning\" er aktivert, brukes innebygde forhåndsvisninger direkte uten konvertering. Påvirker ikke nettvennlige formater som JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Kvalitet på forhåndsvisning fra 1-100. Høyere er bedre, men genererer større filer og kan redusere hastigheten på systemet. Ved for lav verdi kan det påvirke kvaliteten på maskinlæringen.",
"image_preview_title": "Forhåndsvisningsinnstillinger",
"image_progressive": "Progressiv",
"image_progressive_description": "Kod JPEG-bilder progressivt for gradvis lasting av visning. Dette har ingen effekt på WebP-bilder.",
"image_progressive_description": "Kod JPEG-bilder progressivt for gradvis lasting av visning. Dette har ingen effekt på andre formater.",
"image_quality": "Kvalitet",
"image_resolution": "Oppløsning",
"image_resolution_description": "Høyere oppløsninger kan bevare flere detaljer, men det tar lengre tid å kode, har større filstørrelser og kan redusere appresponsen.",
@@ -108,7 +108,7 @@
"image_settings_description": "Administrer kvalitet og oppløsning på genererte bilder",
"image_thumbnail_description": "Små miniatyrbilder med strippet metadata, brukt når du ser på grupper av bilder som hovedtidslinjen",
"image_thumbnail_quality_description": "Miniatyrbildekvalitet fra 1-100. Høyere er bedre, men produserer større filer og kan redusere appens respons.",
"image_thumbnail_title": "Miniatyrbilde oppsett",
"image_thumbnail_title": "Miniatyrbildeoppsett",
"import_config_from_json_description": "Importer systemkonfigurasjon ved å laste opp en JSON konfigurasjonsfil",
"integrity_checks_checksum_files": "Sjekksumfiler",
"integrity_checks_checksum_files_description": "Konfigurer sjekksumkontrollen",
@@ -236,8 +236,8 @@
"manage_log_settings": "Administrer logginnstillinger",
"map_dark_style": "Mørk stil",
"map_enable_description": "Aktiver kartfunksjoner",
"map_gps_settings": "Kart & GPS Innstillinger",
"map_gps_settings_description": "Administrer innstillinger for kart og GPS (Reversert geokoding)",
"map_gps_settings": "Kart- og GPS-innstillinger",
"map_gps_settings_description": "Administrer innstillinger for kart og GPS (reversert geokoding)",
"map_implications": "Kartfunksjonen er avhengig av en ekstern bilde tjeneste (tiles.immich.cloud)",
"map_light_style": "Lys stil",
"map_manage_reverse_geocoding_settings": "Administrer instillinger for <link>Omvendt Geokoding</link>",
@@ -276,7 +276,7 @@
"note_apply_storage_label_previous_assets": "Merk: For å bruke lagringsetiketten på tidligere opplastede filer, kjør",
"note_cannot_be_changed_later": "MERK: Dette kan ikke endres senere!",
"notification_email_from_address": "Fra adresse",
"notification_email_from_address_description": "Avsenderens e-postadresse, for eksempel: \"Immich Photo Server <noreply@example.com>\". Bruk en e-postadresse du har tillatelse til å sende epost fra.",
"notification_email_from_address_description": "Avsenderens e-postadresse, for eksempel: \"Immich Photo Server <noreply@example.com>\". Bruk en e-postadresse du har tillatelse til å sende e-post fra.",
"notification_email_host_description": "Verten til e-posts serveren (f.eks. smtp.immich.app)",
"notification_email_ignore_certificate_errors": "Ignorer sertifikatfeil",
"notification_email_ignore_certificate_errors_description": "Ignorer valideringsfeil for TLS-sertifikat (ikke anbefalt)",
@@ -288,7 +288,7 @@
"notification_email_setting_description": "Innstillinger for å sende e-postvarsler",
"notification_email_test_email": "Send test e-post",
"notification_email_test_email_failed": "Klarte ikke å sende test-e-post, sjekk instillingene",
"notification_email_test_email_sent": "En test-e-post er sendt til {email}. Vennligst sjekk innboksen din.",
"notification_email_test_email_sent": "En test-e-post er sendt til {email}. Sjekk innboksen din.",
"notification_email_username_description": "Brukernavn som skal brukes ved autentisering med e-posts serveren",
"notification_enable_email_notifications": "Aktiver e-postvarsler",
"notification_settings": "Varselinnstillinger",
@@ -323,6 +323,13 @@
"oauth_timeout": "Forespørselen tok for lang tid",
"oauth_timeout_description": "Tidsavbrudd for forespørsel i millisekunder",
"ocr_job_description": "Bruk maskinlæring for å gjenkjenne tekst i bilder",
"passkey_additional_domains": "Flere domener",
"passkey_additional_domains_description": "Flere klarerte domener (relaterte opprinnelsesforespørsler). Disse fungerer kun dersom passnøkkeldomenet også er tilgjengelig.",
"passkey_domain": "Domene for passnøkler",
"passkey_domain_description": "Domenet som brukes til passnøkler (den mottakende tjenesten). La feltet stå tomt for å hente fra opprinnelsesoverskriften (origin header). Hvis du endrer denne verdien, vil eksisterende passnøkler slutte å fungere.",
"passkey_enable_description": "Logg inn med en passnøkkel",
"passkey_settings": "Innstillinger for passnøkkel",
"passkey_settings_description": "Administrer innstillinger for innlogging med passnøkkel",
"password_enable_description": "Logg inn med e-post og passord",
"password_settings": "Passordinnlogging",
"password_settings_description": "Administrer innstillinger for passordinnlogging",
@@ -347,7 +354,7 @@
"server_external_domain_settings": "Eksternt domene",
"server_external_domain_settings_description": "Domene brukt for eksterne lenker",
"server_public_users": "Offentlige brukere",
"server_public_users_description": "Alle brukere (navn og epost) blir vist når en bruker blir lagt til et delt album. Når deaktivert, vil brukerne bare bli synlig for administratorer.",
"server_public_users_description": "Alle brukere (navn og e-post) blir vist når en bruker blir lagt til et delt album. Når deaktivert, vil brukerne bare bli synlig for administratorer.",
"server_settings": "Serverinstillinger",
"server_settings_description": "Administrer serverinnstillinger",
"server_stats_page_description": "Administrer serverstatistikk",
@@ -361,8 +368,8 @@
"storage_template_date_time_description": "Elementets opprettelsestidspunkt brukes for datotid-informasjonen",
"storage_template_date_time_sample": "Eksempeltid {date}",
"storage_template_enable_description": "Aktiver lagringsmal-motoren",
"storage_template_hash_verification_enabled": "Hash verifisering aktivert",
"storage_template_hash_verification_enabled_description": "Aktiver hasjverifisering. Ikke deaktiver dette med mindre du er sikker på konsekvensene",
"storage_template_hash_verification_enabled": "Hash-verifisering aktivert",
"storage_template_hash_verification_enabled_description": "Aktiver hash-verifisering. Ikke deaktiver dette med mindre du er sikker på konsekvensene",
"storage_template_migration": "Implementer lagringsmal",
"storage_template_migration_description": "Bruk gjeldende <link>{template}</link> på tidligere opplastede bilder",
"storage_template_migration_info": "Lagringsmalen vil endre filtypen til små bokstaver. Malendringer vil kun gjelde nye elementer. For å anvende malen på tidligere opplastede elementer, kjør <link>{job}</link>.",
@@ -382,11 +389,11 @@
"system_settings": "Systeminstillinger",
"tag_cleanup_job": "Oprydding i etiketter",
"template_email_available_tags": "Du kan bruke følgende variabler i din mal: {tags}",
"template_email_if_empty": "Hvis malen er tom, vil standard epost bli brut.",
"template_email_invite_album": "Inviter Album Mal",
"template_email_if_empty": "Hvis malen er tom, vil standard e-post bli brukt.",
"template_email_invite_album": "Inviter album-mal",
"template_email_preview": "Forhåndsvis",
"template_email_settings": "E-postmaler",
"template_email_update_album": "Oppdater Album Mal",
"template_email_update_album": "Oppdater album-mal",
"template_email_welcome": "Mal for velkomst-e-post",
"template_settings": "Varslings Mal",
"template_settings_description": "Administrer tilpassede maler for varsling",
@@ -481,7 +488,7 @@
"user_details": "Brukerdetaljer",
"user_management": "Brukeradministrasjon",
"user_password_has_been_reset": "Passordet til brukeren har blitt tilbakestilt:",
"user_password_reset_description": "Vennligst oppgi det midlertidige passordet til brukeren og informer dem om at de må endre passordet ved neste pålogging.",
"user_password_reset_description": "Oppgi det midlertidige passordet til brukeren og informer dem om at de må endre passordet ved neste pålogging.",
"user_restore_description": "<b>{user}</b>'s konto vil bli gjenopprettet.",
"user_restore_scheduled_removal": "Gjenopprett bruker - planlagt sletting den {date, date, long}",
"user_settings": "Brukerinnstillinger",
@@ -599,7 +606,7 @@
"asset_not_found_on_device_ios": "Elementet ble ikke funnet på enheten. Hvis du bruker iCloud, kan elementet være utilgjengelig på grunn av en feilaktig fil er lagret i iCloud",
"asset_not_found_on_icloud": "Elementet ble ikke funnet på iCloud. Elementet kan være utilgjengelig fordi det ligger en feilaktig fil i iCloud",
"asset_offline": "Fil utilgjengelig",
"asset_offline_description": "Dette eksterne elementet finnes ikke lenger på disken. Vennligst kontakt din Immich-administrator for hjelp.",
"asset_offline_description": "Dette eksterne elementet finnes ikke lenger på disken. Kontakt din Immich-administrator for hjelp.",
"asset_skipped": "Hoppet over",
"asset_skipped_in_trash": "I papirkurven",
"asset_troubleshoot": "Feilsøk element",
@@ -701,9 +708,9 @@
"change_name": "Endre navn",
"change_name_successfully": "Navneendring vellykket",
"change_password": "Endre passord",
"change_password_description": "Dette er enten første gang du logger inn i systemet, eller det har blitt gjort en forespørsel om å endre passordet ditt. Vennligst skriv inn det nye passordet nedenfor.",
"change_password_description": "Dette er enten første gang du logger inn i systemet, eller det har blitt gjort en forespørsel om å endre passordet ditt. Skriv inn det nye passordet nedenfor.",
"change_password_form_confirm_password": "Bekreft passord",
"change_password_form_description": "Hei {name}!\n\nDette er enten første gang du logger på systemet, eller det er sendt en forespørsel om å endre passordet ditt. Vennligst skriv inn det nye passordet nedenfor.",
"change_password_form_description": "Hei {name}!\n\nDette er enten første gang du logger på systemet, eller det er sendt en forespørsel om å endre passordet ditt. Skriv inn det nye passordet nedenfor.",
"change_password_form_log_out": "Logg ut av alle andre enheter",
"change_password_form_log_out_description": "Det er anbefalt å logge ut av alle andre enheter",
"change_password_form_new_password": "Nytt passord",
@@ -774,7 +781,7 @@
"confirm_delete_face": "Vil du virkelig slette {name} sitt ansikt fra ativia?",
"confirm_delete_shared_link": "Vil du virkelig slette denne delte lenken?",
"confirm_keep_this_delete_others": "Alle andre ressurser i denne stabelen vil bli slettet bortsett fra denne ressursen. Er du sikker på at du vil fortsette?",
"confirm_new_pin_code": "Bekreft ny PIN kode",
"confirm_new_pin_code": "Bekreft ny PIN-kode",
"confirm_password": "Bekreft passord",
"confirm_tag_face": "Vil du merke dette ansiktet som {name}?",
"confirm_tag_face_unnamed": "Vil du merke dette ansiktet?",
@@ -820,7 +827,7 @@
"create_shared_link": "Opprett delt lenke",
"create_tag": "Lag etikett",
"create_tag_description": "Lag en ny etikett. For nøstede etiketter vises hele banen til den nye etiketten nedenfor.",
"create_user": "Opprett Bruker",
"create_user": "Opprett bruker",
"create_workflow": "Opprett arbeidsflyt",
"created": "Opprettet",
"created_at": "Laget",
@@ -830,7 +837,7 @@
"crop_aspect_ratio_original": "Original",
"crop_aspect_ratio_square": "Firkant",
"current_device": "Nåværende enhet",
"current_pin_code": "Nåværende PIN kode",
"current_pin_code": "Nåværende PIN-kode",
"current_server_address": "Nåværende serveradresse",
"custom_date": "Egendefinert dato",
"custom_locale": "Tilpasset lokalisering",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Slett kun sikkerhetskopierte elementer",
"delete_local_dialog_ok_force": "Slett uansett",
"delete_others": "Slett andre",
"delete_passkey": "Slett passnøkkel",
"delete_passkey_prompt": "Er du sikker på at du vil slette denne passnøkkelen?",
"delete_permanently": "Slett permanent",
"delete_permanently_action_prompt": "{count} slettet permanent",
"delete_shared_link": "Slett delt lenke",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} plassering endret",
"edit_location_dialog_title": "Plassering",
"edit_name": "Rediger navn",
"edit_passkey": "Rediger passnøkkel",
"edit_people": "Rediger personer",
"edit_person": "Rediger person",
"edit_tag": "Rediger etikett",
@@ -963,7 +973,7 @@
"editor_rotate_left": "Roter 90° mot klokken",
"editor_rotate_right": "Roter 90° med klokken",
"email": "E-postadresse",
"email_notifications": "Epostvarsler",
"email_notifications": "E-postvarsler",
"empty_folder": "Denne mappen er tom",
"empty_trash": "Tøm papirkurv",
"empty_trash_confirmation": "Vil du virkelig Tømme søppelbøtta? Dette vil slette alle filene i søppelbøtta permanent fra Immich.\nDu kan ikke angre denne handlingen!",
@@ -1020,11 +1030,11 @@
"failed_to_tag_assets": "Feil ved merking av ressurser",
"failed_to_unstack_assets": "Mislyktes med å avstable bilder",
"failed_to_update_notification_status": "Kunne ikke oppdatere varslingsstatusen",
"incorrect_email_or_password": "Feil epost eller passord",
"incorrect_email_or_password": "Feil e-post eller passord",
"library_folder_already_exists": "Importstien eksisterer allerede.",
"page_not_found": "Siden ble ikke funnet",
"paths_validation_failed": "{paths, plural, one {# sti} other {# sti}} mislyktes validering",
"profile_picture_transparent_pixels": "Profil bilde kan ikke ha gjennomsiktige piksler. Vennligst zoom inn og/eller flytt bilde.",
"profile_picture_transparent_pixels": "Profilbildet kan ikke ha gjennomsiktige piksler. Forstørr/forminsk og/eller flytt bilde.",
"quota_higher_than_disk_size": "Du har satt kvoten større enn diskstørrelsen",
"something_went_wrong": "Noe gikk galt",
"unable_to_add_album_users": "Kunne ikke legge til brukere i albumet",
@@ -1046,7 +1056,7 @@
"unable_to_connect": "Kunne ikke koble til",
"unable_to_copy_to_clipboard": "Kunne ikke kopiere til utklippstavlen, sørg for at du får tilgang til siden via https",
"unable_to_create": "Klarte ikke å opprette arbeidsflyt",
"unable_to_create_admin_account": "Kunne ikke opprette administrator bruker",
"unable_to_create_admin_account": "Kunne ikke opprette administratorbruker",
"unable_to_create_api_key": "Kunne ikke opprette en ny API-nøkkel",
"unable_to_create_library": "Kunne ikke opprette bibliotek",
"unable_to_create_user": "Kunne ikke opprette bruker",
@@ -1105,7 +1115,7 @@
"unable_to_trash_asset": "Kunne ikke flytte filen til papirkurven",
"unable_to_unlink_account": "Kunne ikke fjerne kobling til konto",
"unable_to_unlink_motion_video": "Kunne ikke ta på kobling på bevegelig video",
"unable_to_update_album_cover": "Kunne ikke oppdatere album bilde",
"unable_to_update_album_cover": "Kunne ikke oppdatere albumbilde",
"unable_to_update_album_info": "Kunne ikke oppdatere informasjon i album",
"unable_to_update_library": "Kunne ikke oppdatere bibliotek",
"unable_to_update_location": "Kunne ikke oppdatere plassering",
@@ -1136,7 +1146,7 @@
"exposure_time": "Eksponeringstid",
"extension": "Utvidelse",
"external": "Ekstern",
"external_libraries": "Eksterne Bibliotek",
"external_libraries": "Eksterne bibliotek",
"external_network": "Eksternt nettverk",
"external_network_sheet_info": "Når du ikke er på det foretrukne Wi-Fi-nettverket, vil appen koble seg til serveren via den første av URL-ene nedenfor den kan nå, fra topp til bunn",
"f_number": "Blendertall",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} tatt i {city}, {country} med {person1}, {person2}, og {person3} den {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} tatt i {city}, {country} med {person1}, {person2}, ok {additionalCount, number} andre den {date}",
"immich_logo": "Immich Logo",
"immich_web_interface": "Immich webgrensesnitt",
"import_from_json": "Importer fra JSON",
"import_path": "Import-sti",
"in_albums": "I {count, plural, one {# album} other {# albums}}",
@@ -1287,6 +1296,7 @@
"last": "Siste",
"last_months": "{count, plural, one {Sist måned} other {Siste # måneder}}",
"last_seen": "Sist sett",
"last_used": "Sist brukt",
"latest_version": "Siste versjon",
"latitude": "Breddegrad",
"leave": "Forlat",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Innlogging har blitt deaktivert",
"login_password_changed_error": "Det skjedde en feil ved oppdatering av passordet",
"login_password_changed_success": "Passord oppdatert",
"login_with_passkey": "Logg inn med passnøkkel",
"logout_all_device_confirmation": "Vil du virkelig logge ut av alle enheter?",
"logout_this_device_confirmation": "Vil du virkelig logge ut av denne enheten?",
"logs": "Logger",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Media håndteringstilgang",
"manage_oauth_account": "Administrer OAuth-konto",
"manage_people": "Administrer personer",
"manage_people_access_description_v2": "Gi andre brukere tilgang til {count, plural, one {denne personen} other {personene dine}}, slik at de kan se eller administrere dem på dine vegne. Denne handlingen deler ingen mediefiler.",
"manage_person_access": "Administrer tilgang",
"manage_sharing_with_other_users": "Administrer deling med andre brukere",
"manage_sharing_with_partners": "Administrer deling med partnere",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Administrer API-nøklene dine",
"manage_your_devices": "Administrer dine innloggede enheter",
"manage_your_oauth_connection": "Administrer tilkoblingen din med OAuth",
"manage_your_passkeys": "Administrer sine passnøkler",
"map": "Kart",
"map_assets_in_bounds": "{count, plural, =0 {Ingen bilder i dette området} one {# bilde} other {# bilder}}",
"map_cannot_get_user_location": "Kan ikke hente brukerens plassering",
@@ -1528,6 +1541,7 @@
"new_album": "Nytt Album",
"new_api_key": "Ny API-nøkkel",
"new_feature": "Ny funksjon",
"new_passkey": "Ny passnøkkel",
"new_password": "Nytt passord",
"new_person": "Ny person",
"new_pin_code": "Ny PIN-kode",
@@ -1575,16 +1589,16 @@
"not_set": "Ikke angitt",
"notes": "Notater",
"nothing_here_yet": "Ingenting her enda",
"notification_backup_reliability": "Slå på notifikasjoner for mer stabil sikkerhetskopiering i bakgrunnen",
"notification_backup_reliability": "Slå på varsler for mer stabil sikkerhetskopiering i bakgrunnen",
"notification_enabled_list_tile_content": "Immich bruker varsler for sikkerhetskopiering i bakgrunnen. Du kan administrere disse i enhetsinnstillingene dine.",
"notification_enabled_list_tile_open_button": "Åpne innstillinger",
"notification_enabled_list_tile_title": "Varsler aktivert",
"notification_permission_dialog_content": "For å aktivere notifikasjoner, gå til Innstillinger og velg tillat.",
"notification_permission_list_tile_content": "Gi tilgang for å aktivere notifikasjoner.",
"notification_permission_list_tile_enable_button": "Aktiver notifikasjoner",
"notification_permission_list_tile_title": "Notifikasjonstilgang",
"notification_permission_dialog_content": "For å aktivere varsler, gå til Innstillinger og velg tillat.",
"notification_permission_list_tile_content": "Gi tilgang for å aktivere varsler.",
"notification_permission_list_tile_enable_button": "Aktiver varsler",
"notification_permission_list_tile_title": "Varseltilgang",
"notification_toggle_setting_description": "Aktiver e-postvarsler",
"notifications": "Notifikasjoner",
"notifications": "Varsler",
"notifications_setting_description": "Administrer varsler",
"oauth": "OAuth",
"obtainium_configurator": "Obtainium konfigurator",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Partnerdeling",
"partners": "Partnere",
"partners_description": "Del dine bilder og videoer med andre brukere",
"passkeys": "{count, plural, one {Passnøkkel} other {Passnøkler}}",
"passkeys_not_supported": "Passnøkler er ikke støttet av denne nettleseren",
"password": "Passord",
"password_does_not_match": "Passordet stemmer ikke",
"password_required": "Passord påkrevd",
@@ -1691,10 +1707,10 @@
"pick_a_location": "Velg et sted",
"pick_custom_range": "Tilpasset område",
"pick_date_range": "Velg ett datoområde",
"pin_code_changed_successfully": "Endring av PIN kode vellykket",
"pin_code_reset_successfully": "Vellykket resatt PIN kode",
"pin_code_setup_successfully": "Vellykket oppsett av PIN kode",
"pin_verification": "PINkode verifikasjon",
"pin_code_changed_successfully": "Endring av PIN-kode vellykket",
"pin_code_reset_successfully": "Vellykket resatt PIN-kode",
"pin_code_setup_successfully": "Vellykket oppsett av PIN-kode",
"pin_verification": "PIN-kodeverifisering",
"place": "Sted",
"places": "Steder",
"places_count": "{count, plural, one {{count, number} Sted} other {{count, number} Steder}}",
@@ -1705,7 +1721,7 @@
"play_original_video": "Spill av originalvideo",
"play_original_video_setting_description": "Foretrekk avspilling av originalvideoer istedenfor omkodede videoer. Hvis originalvideo ikke er kompatibel kan avspillingsproblemer oppstå.",
"play_transcoded_video": "Spill av omkodet video",
"please_auth_to_access": "Vennligst autentiser for å fortsette",
"please_auth_to_access": "Autentiser for å fortsette",
"plugin_method_filter_type": "Filter",
"plugin_method_filter_type_description": "Denne metoden kan filtrere hendelser og stoppe påfølgende steg basert på betingelser",
"port": "Port",
@@ -1743,7 +1759,7 @@
"purchase_button_reminder": "Påminn meg om 30 dager",
"purchase_button_remove_key": "Ta bort produktnøkkel",
"purchase_button_select": "Velg",
"purchase_failed_activation": "Mislyktes med å aktivere! Vennligst sjekk eposten for riktig produktnøkkel!",
"purchase_failed_activation": "Mislyktes med å aktivere! Sjekk e-posten for riktig produktnøkkel!",
"purchase_individual_description_1": "For en person",
"purchase_individual_description_2": "Støttespiller status",
"purchase_individual_title": "Individuell",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Removed #}} fra favoritter",
"removed_from_stack": "Fjern fil fra stabel",
"removed_memory": "Slettet minne",
"removed_passkey": "Slettet passnøkkel: {name}",
"removed_tagged_assets": "Fjern etiketten fra {count, plural, one {# fil} other {# filer}}",
"rename": "Gi nytt navn",
"repository": "Depot",
@@ -1833,14 +1850,14 @@
"reset": "Tilbakestill",
"reset_password": "Tilbakestill passord",
"reset_people_visibility": "Tilbakestill personsynlighet",
"reset_pin_code": "Resett PINkode",
"reset_pin_code": "Resett PIN-kode",
"reset_pin_code_description": "Hvis du har glemt PIN-koden din, kan du kontakte serveradministratoren for å få den tilbakestilt",
"reset_pin_code_with_password": "Du kan alltid tilbakestiller PIN-koden med passordet ditt",
"reset_pin_code_with_password": "Du kan alltid tilbakestille PIN-koden med passordet ditt",
"reset_sqlite": "Reset SQLite Databasen",
"reset_sqlite_clear_app_data": "Slett data",
"reset_sqlite_confirmation": "Vil du virkelig tømme appens data? Dette vil fjerne alle innstillingene dine og logge deg ut.",
"reset_sqlite_confirmation_note": "Notis: Du må restarte appen etter tømming.",
"reset_sqlite_done": "App data har blitt tømt. Vennligst restart Immich og logg inn igjen.",
"reset_sqlite_done": "Appdata har blitt tømt. Restart Immich og logg inn igjen.",
"reset_sqlite_error_hint": "Noe gikk galt, tilbakestill den lokale databasen med knappen nedenfor",
"reset_sqlite_success": "Vellykket resetting av SQLite databasen",
"reset_to_default": "Tilbakestill til standard",
@@ -1870,7 +1887,7 @@
"saved_settings": "Lagret instillinger",
"say_something": "Si noe",
"scaffold_body_error_occurred": "Feil oppstått",
"scaffold_body_error_unrecoverable": "Det har oppstått en uopprettelig feil. Vennligst del feilmeldingen og \"stack trace\" på Discord eller GitHub slik at vi kan hjelpe deg. Hvis du får beskjed om det, kan du slette app-dataene nedenfor.",
"scaffold_body_error_unrecoverable": "Det har oppstått en uopprettelig feil. Del feilmeldingen og \"stack trace\" på Discord eller GitHub slik at vi kan hjelpe deg. Hvis du får beskjed om det, kan du slette app-dataene nedenfor.",
"scan": "Skann",
"scan_all_libraries": "Skann alle biblioteker",
"scan_library": "Skann",
@@ -1985,16 +2002,14 @@
"setting_image_navigation_enable_subtitle": "Hvis aktivert, kan du navigere til forrige/neste bilde ved å trykke på den venstre eller høyre fjerdedelen av skjermen.",
"setting_image_navigation_enable_title": "Trykk for å navigere",
"setting_image_navigation_title": "Bildenavigering",
"setting_image_viewer_help": "Detaljvisningen laster først miniatyrbildet, deretter forhåndsvisningsbildet (hvis aktivert), og til slutt originalen (hvis aktivert).",
"setting_image_viewer_help": "Detaljvisningen laster først miniatyrbildet, deretter forhåndsvisningsbildet, og til slutt originalen (hvis aktivert).",
"setting_image_viewer_original_subtitle": "Aktiver for å laste originalbildet i full oppløsning (stort!). Deaktiver for å spare databruk (både nettverksbruk og bufferdata på enheten).",
"setting_image_viewer_original_title": "Last originalbildet",
"setting_image_viewer_preview_subtitle": "Aktiver for å laste et bilde av medium oppløsning. Deaktiver for å enten direkte laste inn originalen eller kun benytte miniatyrbilde.",
"setting_image_viewer_preview_title": "Last forhåndsvisningsbilde",
"setting_languages_apply": "Bekreft",
"setting_languages_subtitle": "Endre app-språk",
"setting_notifications_notify_minutes": "{count} minutter",
"setting_notifications_notify_seconds": "{count} sekunder",
"setting_notifications_subtitle": "Juster notifikasjonsinnstillinger",
"setting_notifications_subtitle": "Juster varslingsinnstillinger",
"setting_video_viewer_auto_play_subtitle": "Automatisk avspilling av videoer når de åpnes",
"setting_video_viewer_auto_play_title": "Automatisk avspilling av videoer",
"setting_video_viewer_looping_title": "Gjentagelse",
@@ -2002,15 +2017,16 @@
"setting_video_viewer_original_video_title": "Tving original video",
"settings": "Innstillinger",
"settings_saved": "Innstillinger lagret",
"setup_pin_code": "Sett opp en PINkode",
"setup_pin_code": "Sett opp en PIN-kode",
"share": "Del",
"share_back": "Del tilbake",
"share_dialog_preparing": "Forbereder ...",
"share_everyone": "Del alle",
"share_everyone_description": "Gi {user} tilgang til alle dine personer.",
"share_link": "Del link",
"share_logs": "Del logger",
"share_original": "Bruk original (stor)",
"share_preview": "Bruk miniatyrbilde (lite)",
"share_preview": "Bruk forhåndsvisning (liten)",
"share_quality_body": "Trykk og hold på deleknappen for å velge bildekvalitet før du deler.",
"share_quality_title": "Velg kvalitet for deling",
"share_with": "Del tilgang med",
@@ -2060,13 +2076,12 @@
"shared_link_password_description": "Krev et passord for å få tilgang til denne delte lenken",
"shared_links": "Delte linker",
"shared_links_description": "Del bilder og videoer med lenke",
"shared_photos_and_videos_count": "{assetCount, plural, other {# delte bilder og videoer.}}",
"shared_with": "Delt med",
"shared_with_count": "Delt ({count})",
"shared_with_me": "Delt med meg",
"shared_with_partner": "Delt med {partner}",
"sharing": "Deling",
"sharing_enter_password": "Vennligst skriv inn passordet for å se denne siden.",
"sharing_enter_password": "Skriv inn passordet for å se denne siden.",
"shift_to_permanent_delete": "trykk ⇧ for å slette eiendeler permanent",
"show_album_options": "Vis albumalternativer",
"show_albums": "Vis album",
@@ -2158,7 +2173,7 @@
"sunrise_on_the_beach": "Soloppgang på stranden",
"support": "Støtte",
"support_and_feedback": "Støtte og tilbakemelding",
"support_third_party_description": "Immich-installasjonen din ble pakket av en tredjepart. Problemer du opplever kan være forårsaket av den pakken, så vennligst ta opp problemer med dem i første omgang ved å bruke koblingene nedenfor.",
"support_third_party_description": "Immich-installasjonen din ble pakket av en tredjepart. Problemer du opplever kan være forårsaket av den pakken, så ta opp problemer med dem i første omgang ved å bruke koblingene nedenfor.",
"supporter": "Støtter",
"swap_merge_direction": "Bytt retning på sammenslåingen",
"sync": "Synkroniser",
@@ -2188,6 +2203,8 @@
"theme": "Tema",
"theme_selection": "Temavalg",
"theme_selection_description": "Sett tema automatisk til lyst eller mørkt basert på nettleserens systeminnstilling",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Rull kontinuerlig når du drar i rullelinjen, i stedet for å hoppe måned for måned",
"theme_setting_asset_list_smooth_scrubbing_title": "Jevn tidslinjenavigasjon",
"theme_setting_asset_list_storage_indicator_title": "Vis lagringsindiaktor på elementer i fotorutenettet",
"theme_setting_asset_list_tiles_per_row_title": "Antall elementer per rad ({count})",
"theme_setting_colorful_interface_subtitle": "Angi primærfarge til bakgrunner.",
@@ -2227,7 +2244,7 @@
"trashed_items_will_be_permanently_deleted_after": "Elementer i papirkurven vil bli permanent slettet etter {days, plural, one {# dag} other {# dager}}.",
"trigger": "Utløser",
"trigger_asset_metadata_extraction": "Hent ut metadata fra objekter",
"trigger_asset_metadata_extraction_description": "Trigges når EXIF metadata fra ett objekt blir uthentet",
"trigger_asset_metadata_extraction_description": "Trigges når EXIF-metadata fra et objekt blir uthentet",
"trigger_asset_tagged": "Merket fil",
"trigger_asset_tagged_description": "Utløses når en etikett legges til en fil",
"trigger_asset_uploaded": "Last opp objekt",
@@ -2238,7 +2255,7 @@
"type": "Type",
"unable_to_change_pin_code": "Klarte ikke å endre PIN-kode",
"unable_to_check_version": "Kunne ikke sjekke app eller serverversjon",
"unable_to_setup_pin_code": "Klarte ikke å sette opp PINkode",
"unable_to_setup_pin_code": "Klarte ikke å sette opp PIN-kode",
"unarchive": "Fjern fra arkiv",
"unarchive_action_prompt": "{count} slettet fra Arkiv",
"unarchived_count": "{count, plural, other {uarkivert #}}",
@@ -2303,9 +2320,9 @@
"user": "Bruker",
"user_has_been_deleted": "Denne brukeren har blitt slettet.",
"user_id": "Bruker ID",
"user_liked": "{user} likte {type, select, photo {dette bildet} video {denne videoen} asset {dette elementet} other {dette}}",
"user_pin_code_settings": "PINkode",
"user_pin_code_settings_description": "Håndter din PINkode",
"user_liked": "{user} likte {type, select, image {dette bildet} video {denne videoen} other {dette}}",
"user_pin_code_settings": "PIN-kode",
"user_pin_code_settings_description": "Håndter din PIN-kode",
"user_privacy": "Personverninnstillinger",
"user_purchase_settings": "Kjøpe",
"user_purchase_settings_description": "Administrer dine kjøp",
@@ -2321,7 +2338,7 @@
"variables": "Variabler",
"version": "Versjon",
"version_announcement_closing": "Din venn, Alex",
"version_announcement_message": "Hei! En ny versjon av Immich er tilgjengelig. Vennligst ta deg tid til å lese <link>utgivelsesnotatene</link> for å sikre at oppsettet ditt er oppdatert for å forhindre feilkonfigurasjoner, spesielt hvis du bruker WatchTower eller en annen mekanisme som håndterer oppdatering av Immich-forekomsten din automatisk.",
"version_announcement_message": "Hei! En ny versjon av Immich er tilgjengelig. Ta deg tid til å lese <link>utgivelsesnotatene</link> for å sikre at oppsettet ditt er oppdatert for å forhindre feilkonfigurasjoner, spesielt hvis du bruker WatchTower eller en annen mekanisme som håndterer oppdatering av Immich-forekomsten din automatisk.",
"version_history": "Versjonshistorikk",
"version_history_item": "Installerte {version} den {date}",
"video": "Video",
@@ -2339,6 +2356,7 @@
"view_group": "Se gruppe",
"view_in_timeline": "Vis i tidslinje",
"view_link": "Vis lenke",
"view_more": "Vis mer",
"view_name": "Vis",
"view_next_asset": "Vis neste fil",
"view_previous_asset": "Vis forrige fil",
+24 -6
View File
@@ -323,6 +323,13 @@
"oauth_timeout": "Aanvraag timeout",
"oauth_timeout_description": "Time-out voor aanvragen in milliseconden",
"ocr_job_description": "Gebruik machine learning om tekst in afbeeldingen te herkennen",
"passkey_additional_domains": "Bijkomende domeinen",
"passkey_additional_domains_description": "Bijkomende vertrouwde domeinen (gerelateerde origin-verzoeken). Deze werken alleen als het passkey-domein ook toegankelijk is.",
"passkey_domain": "Passkey-domein",
"passkey_domain_description": "Domein dat gebruikt wordt voor passkeys (relying party). Laat dit veld leeg om het af te leiden van de origin-header. Als je deze waarde wijzigt, zullen bestaande passkeys niet meer werken.",
"passkey_enable_description": "Inloggen met een passkey",
"passkey_settings": "Passkey-login",
"passkey_settings_description": "Beheer de instellingen voor aanmelden met passkeys",
"password_enable_description": "Inloggen met e-mailadres en wachtwoord",
"password_settings": "Inloggen met wachtwoord",
"password_settings_description": "Beheer instellingen voor inloggen met wachtwoord",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Verwijder alleen met back-up",
"delete_local_dialog_ok_force": "Toch verwijderen",
"delete_others": "Andere verwijderen",
"delete_passkey": "Passkey verwijderen",
"delete_passkey_prompt": "Ben je zeker dat je deze passkey wilt verwijderen?",
"delete_permanently": "Permanent verwijderen",
"delete_permanently_action_prompt": "{count} permanent verwijderd",
"delete_shared_link": "Verwijder gedeelde link",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "Locatie bijgewerkt van {count, plural, one {# item} other {# items}}",
"edit_location_dialog_title": "Locatie",
"edit_name": "Naam bewerken",
"edit_passkey": "Passkey bewerken",
"edit_people": "Mensen bewerken",
"edit_person": "Persoon bewerken",
"edit_tag": "Tag bewerken",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Afbeelding}} genomen in {city}, {country} met {person1}, {person2}, en {person3} op {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Afbeelding}} genomen in {city}, {country} met {person1}, {person2}, en {additionalCount, number} anderen op {date}",
"immich_logo": "Immich-logo",
"immich_web_interface": "Immich Web Interface",
"import_from_json": "Importeren vanuit JSON",
"import_path": "Import-pad",
"in_albums": "In {count, plural, one {# album} other {# albums}}",
@@ -1287,6 +1296,7 @@
"last": "Laatste",
"last_months": "{count, plural, one {Vorige maand} other {Laatste # maanden}}",
"last_seen": "Laatst gezien",
"last_used": "Laatst gebruikt",
"latest_version": "Nieuwste versie",
"latitude": "Breedtegraad",
"leave": "Verlaten",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Inloggen is uitgeschakeld",
"login_password_changed_error": "Er is een fout opgetreden bij het bijwerken van je wachtwoord",
"login_password_changed_success": "Wachtwoord succesvol bijgewerkt",
"login_with_passkey": "Inloggen met passkey",
"logout_all_device_confirmation": "Weet je zeker dat je wilt uitloggen op alle apparaten?",
"logout_this_device_confirmation": "Weet je zeker dat je wilt uitloggen op dit apparaat?",
"logs": "Logs",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Toegang tot mediabeheer",
"manage_oauth_account": "OAuth account beheren",
"manage_people": "Mensen beheren",
"manage_people_access_description_v2": "Geef andere gebruikers toegang tot {count, plural, one {deze persoon} other {jouw mensen}}, zodat ze deze namens jou kunnen bekijken of aanpassen. Met deze actie worden er geen items gedeeld.",
"manage_person_access": "Toegang beheren",
"manage_sharing_with_other_users": "Delen met andere gebruikers beheren",
"manage_sharing_with_partners": "Beheer delen met partners",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Beheer je API-sleutels",
"manage_your_devices": "Beheer je ingelogde apparaten",
"manage_your_oauth_connection": "Beheer je OAuth-koppeling",
"manage_your_passkeys": "Je passkeys beheren",
"map": "Kaart",
"map_assets_in_bounds": "{count, plural, =0 {Geen foto's in dit gebied} one {# foto} other {# foto's}}",
"map_cannot_get_user_location": "Kan locatie van de gebruiker niet ophalen",
@@ -1528,6 +1541,7 @@
"new_album": "Nieuw album",
"new_api_key": "Nieuwe API-sleutel",
"new_feature": "Nieuwe functie",
"new_passkey": "Nieuwe passkey",
"new_password": "Nieuw wachtwoord",
"new_person": "Nieuw persoon",
"new_pin_code": "Nieuwe pincode",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Delen met partner",
"partners": "Partners",
"partners_description": "Deel je foto’s en video’s met andere gebruikers",
"passkeys": "{count, plural, one {Passkey} other {Passkeys}}",
"passkeys_not_supported": "Passkeys worden niet ondersteund door deze browser",
"password": "Wachtwoord",
"password_does_not_match": "Wachtwoord komt niet overeen",
"password_required": "Wachtwoord vereist",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {# verwijderd}} uit favorieten",
"removed_from_stack": "Item van stack verwijderd",
"removed_memory": "Herinnering verwijderd",
"removed_passkey": "Passkey verwijderd: {name}",
"removed_tagged_assets": "Tag verwijderd van {count, plural, one {# item} other {# items}}",
"rename": "Hernoemen",
"repository": "Repository",
@@ -1934,7 +1951,7 @@
"search_tags": "Tags zoeken...",
"search_timezone": "Zoek tijdzone...",
"search_type": "Type zoekopdracht",
"search_type_description": "Kies hoe Immich je zoekopdracht interpreteerd: door visuele inhoud, bestandsgegevens of ingebedde tekst.",
"search_type_description": "Kies hoe Immich je zoekopdracht interpreteert: door visuele inhoud, bestandsgegevens of ingebedde tekst.",
"search_your_photos": "Foto's doorzoeken",
"searching_locales": "Zoeken naar landinstellingen...",
"second": "Seconde",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Indien ingeschakeld kun je naar de vorige/volgende afbeelding gaan door op het meest linkse of meest rechtse kwart van het scherm te tikken.",
"setting_image_navigation_enable_title": "Tik om te navigeren",
"setting_image_navigation_title": "Afbeelding Navigatie",
"setting_image_viewer_help": "De gedetailleerde weergave laadt eerst de kleine thumbnail, vervolgens het middelgrote voorbeeld (indien ingeschakeld) en ten slotte het origineel (indien ingeschakeld).",
"setting_image_viewer_help": "De gedetailleerde weergave laadt eerst de kleine thumbnail, vervolgens het middelgrote voorbeeld, en tenslotte het origineel (indien ingeschakeld).",
"setting_image_viewer_original_subtitle": "Schakel in om de originele afbeelding met volledige resolutie (groot!) te laden. Schakel uit om datagebruik te verminderen (zowel netwerk als apparaatcache).",
"setting_image_viewer_original_title": "Originele afbeelding laden",
"setting_image_viewer_preview_subtitle": "Schakel in om een afbeelding met middelgrote resolutie te laden. Schakel uit om alleen het origineel direct te laden of alleen de thumbnail te gebruiken.",
"setting_image_viewer_preview_title": "Voorbeeldafbeelding laden",
"setting_languages_apply": "Toepassen",
"setting_languages_subtitle": "Wijzig de taal van de app",
"setting_notifications_notify_minutes": "{count} minuten",
@@ -2009,6 +2024,7 @@
"share_everyone": "Iedereen delen",
"share_everyone_description": "Geef {user} toegang tot al jouw mensen.",
"share_link": "Link delen",
"share_logs": "Logs delen",
"share_original": "Origineel gebruiken (groot)",
"share_preview": "Voorbeeldafbeelding gebruiken (klein)",
"share_quality_body": "Houd de deelknop ingedrukt om de beeldkwaliteit te kiezen voordat je deelt.",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Vraag een wachtwoord om toegang te krijgen tot deze gedeelde link",
"shared_links": "Gedeelde links",
"shared_links_description": "Deel foto's en video's via een link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# gedeelde foto's & video's.}}",
"shared_with": "Gedeeld met",
"shared_with_count": "Gedeeld ({count})",
"shared_with_me": "Gedeeld met mij",
@@ -2188,6 +2203,8 @@
"theme": "Thema",
"theme_selection": "Thema selectie",
"theme_selection_description": "Stel het thema automatisch in op licht of donker op basis van de systeemvoorkeuren van je browser",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Blijf doorlopend scrollen wanneer je de schuifbalk versleept, in plaats van telkens naar een maand te verspringen",
"theme_setting_asset_list_smooth_scrubbing_title": "Vloeiend door de tijdlijn scrollen",
"theme_setting_asset_list_storage_indicator_title": "Toon opslag indicator bij de item tegels",
"theme_setting_asset_list_tiles_per_row_title": "Aantal items per rij ({count})",
"theme_setting_colorful_interface_subtitle": "Pas primaire kleuren toe op achtergronden.",
@@ -2339,6 +2356,7 @@
"view_group": "Groep bekijken",
"view_in_timeline": "Bekijk in tijdlijn",
"view_link": "Bekijk link",
"view_more": "Meer bekijken",
"view_name": "Bekijken",
"view_next_asset": "Bekijk volgend item",
"view_previous_asset": "Bekijk vorig item",
+56 -3
View File
@@ -30,9 +30,11 @@
"add_to_album_bottom_sheet_added": "Lagt til i {album}",
"add_to_album_bottom_sheet_already_exists": "Allereie i {album}",
"add_to_album_bottom_sheet_some_local_assets": "Somme lokale eigedelar kunne ikkje leggjast til i album",
"add_to_album_item_count": "Legg til {count, plural, one {# element} other {# element}} i albumet",
"add_to_albums": "Legg til i album",
"add_to_albums_count": "Legg til i album ({count})",
"add_to_bottom_bar": "Legg til i",
"add_upload_to_stack": "Last opp og {isStack, select, true {legg til stabel} other {opprett stabel}}",
"add_url": "Legg til URL",
"add_user": "Legg til brukar",
"added_to_archive": "Lagt til i arkiv",
@@ -108,6 +110,21 @@
"image_thumbnail_quality_description": "Kvalitet på miniatyrbilete frå 1-100. Høgare er betre, men gjev større filstorleik, og kan senkje appresposen.",
"image_thumbnail_title": "Innstillingar for miniatyrbilete",
"import_config_from_json_description": "Importer systemkonfigurasjon ved å laste opp ei JSON konfigurasjonsfil",
"integrity_checks_checksum_files": "Kontrollsumfiler",
"integrity_checks_checksum_files_description": "Konfigurer kontrollsumsjekken",
"integrity_checks_checksum_files_enable_description": "Aktiver kontrollsumsjekken",
"integrity_checks_checksum_files_percentage_limit": "Prosentgrense",
"integrity_checks_checksum_files_percentage_limit_description": "Konfigurer maks prosentandel mellom 0,01 og 1 for kor mykje kontrollsumsjekken skal køyre per intervall.",
"integrity_checks_checksum_files_time_limit": "Tidsgrense",
"integrity_checks_checksum_files_time_limit_description": "Konfigurer maks varigheit for kor lenge kontrollsumsjekken skal køyre per intervall. (ms)",
"integrity_checks_missing_files": "Manglande filer",
"integrity_checks_missing_files_description": "Konfigurer frekvensen og aktiver eller deaktiver sjekken for manglande filer",
"integrity_checks_missing_files_enable_description": "Aktiver sjekken for manglande filer",
"integrity_checks_settings": "Integritetssjekkar",
"integrity_checks_settings_description": "Administrer intervalla for integritetssjekkar",
"integrity_checks_untracked_files": "Uspora filer",
"integrity_checks_untracked_files_description": "Konfigurer frekvensen og aktiver eller deaktiver sjekken for uspora filer",
"integrity_checks_untracked_files_enable_description": "Aktiver sjekken for uspora filer",
"job_concurrency": "{job} samstundes utføring",
"job_created": "Jobb laga",
"job_not_concurrency_safe": "Kan ikke trygt utføre jobben samstundes.",
@@ -121,15 +138,16 @@
"library_details": "Bibliotekdetaljar",
"library_folder_description": "Vel ei mappe å importere. Denne mappa, inkludert undermappar, vil bli skanna for biletar og videoar.",
"library_remove_exclusion_pattern_prompt": "Er du sikker på at du vil fjerne dette unntaksmønsteret?",
"library_remove_folder_prompt": "Er du sikker på at du vil fjerne denne importmappa?",
"library_scanning": "Regelbunden skanning",
"library_scanning_description": "Sett opp regelbunden skanning av biblioteket",
"library_scanning_enable_description": "Aktiver regelbunden skanning av biblioteket",
"library_settings": "Eksternt Bibliotek",
"library_settings_description": "Handsam eksterne biblioteksinnstillingar",
"library_tasks_description": "Utfør bibliotekstoppgåver",
"library_tasks_description": "Skann eksterne bibliotek etter nye og/eller endra element",
"library_updated": "Oppdatert bibliotek",
"library_watching_enable_description": "Sjekk eksterne bibliotek for forandringar",
"library_watching_settings": "Biblioteksovervåking (EKSPERIMENTELL)",
"library_watching_settings": "Biblioteksovervåking [EKSPERIMENTELL]",
"library_watching_settings_description": "Sjekk automatisk for forandringar",
"logging_enable_description": "Aktiver loggføring",
"logging_level_description": "Når aktivert, kva loggnivå å bruke.",
@@ -138,6 +156,7 @@
"machine_learning_availability_checks_description": "Automatiser oppdaging og prioritet av tilgjengelege maskinlærings-serverar",
"machine_learning_availability_checks_enabled": "Slå på tilgjengelegheitssjekkar",
"machine_learning_availability_checks_interval": "Sjekk intervall",
"machine_learning_availability_checks_interval_description": "Intervall i millisekund mellom tilgjengelegheitssjekkar",
"machine_learning_availability_checks_timeout": "Tidsavbrot på forespørsel",
"machine_learning_availability_checks_timeout_description": "Utløpstid i millisekund for tilgjengelegheitssjekk",
"machine_learning_clip_model": "CLIP modell",
@@ -165,13 +184,26 @@
"machine_learning_ocr": "OCR",
"machine_learning_ocr_description": "Bruk maskinlæring for å gjenkjenne tekst i bilete",
"machine_learning_ocr_enabled": "Slå på OCR",
"machine_learning_ocr_enabled_description": "Hvis deaktivert, vil det ikkje bli køyrt tekstgjenkjenning på bilete.",
"machine_learning_ocr_max_resolution": "Maksimal oppløysing",
"machine_learning_ocr_max_resolution_description": "Førehandsvisingar over denne oppløysinga vil bli skalerte ned med uendra sideforhold. Høgare verdiar er meir nøyaktige, men tek lengre tid å behandle og brukar meir minne.",
"machine_learning_ocr_min_detection_score": "Minste gjenkjenningsscore",
"machine_learning_ocr_min_detection_score_description": "Minste konfidensverdi frå 0–1 for at tekst skal bli oppdaga. Lågare verdiar oppdagar meir tekst, men kan gi falske positive.",
"machine_learning_ocr_min_recognition_score": "Minste attkjenningsverdi",
"machine_learning_ocr_min_score_recognition_description": "Minste konfidensverdi frå 0–1 for at oppdaga tekst skal bli kjend att. Lågare verdiar kjenner att meir tekst, men kan gi falske positive.",
"machine_learning_ocr_model": "OCR-modell",
"machine_learning_settings": "Innstillingar for maskinlæring",
"machine_learning_settings_description": "Administrer maskinlæringsfunksjonar og innstillingar",
"machine_learning_smart_search": "Smart Søk",
"machine_learning_smart_search_enabled": "Aktiver smart søk",
"machine_learning_smart_search_enabled_description": "Hvis deaktivert, vil bilete ikkje bli enkoda for smart søk.",
"maintenance_integrity_check": "Kontroll",
"maintenance_integrity_check_all": "Velg alle",
"maintenance_integrity_checksum_mismatch": "Kontrollsummen stemmer ikkje",
"maintenance_integrity_checksum_mismatch_description": "Filer der kontrollsummen på disken ikkje stemmer med kontrollsummen Immich har lagra i databasen.",
"maintenance_integrity_checksum_mismatch_job": "Sjekk etter avvik i kontrollsum",
"maintenance_integrity_checksum_mismatch_refresh_job": "Oppdater rapportar om avvik i kontrollsum",
"maintenance_integrity_missing_file": "Manglande filer",
"manage_concurrency": "Administrer samtidigheit",
"manage_log_settings": "Administrer logginnstillingar",
"map_dark_style": "Mørk modus",
@@ -212,7 +244,7 @@
"oauth_auto_launch_description": "Start OAuth-innloggingsprosessen automatisk når innloggingssida vert opna",
"oauth_auto_register_description": "Registrer nye brukarar automatisk etter innlogging med OAuth",
"oauth_button_text": "Tekst på knapp",
"oauth_client_secret_description": "Krevjast dersom PKCE (Proof Key for Code Exchange) ikkje støttast av OAuth-tilbydaren",
"oauth_client_secret_description": "Påkravd for konfidensiell klient, eller dersom PKCE (Proof Key for Code Exchange) ikkje er støtta av OAuth-tilbydaren.",
"oauth_enable_description": "Logg inn med OAuth",
"oauth_settings": "OAuth",
"oauth_settings_description": "Innstillingar for innlogging med OAuth",
@@ -348,6 +380,7 @@
"folders_feature_description": "Bla gjennom mappe for bileta og videoane på filsystemet",
"hour": "Time",
"image": "Bilde",
"info": "Info",
"jobs": "Oppgåver",
"keep": "Behald",
"language": "Språk",
@@ -358,6 +391,7 @@
"light": "Lys",
"list": "Liste",
"loading": "Lastar",
"login": "Logg inn",
"longitude": "Lengdegrad",
"look": "Utsjånad",
"make": "Produsent",
@@ -384,19 +418,24 @@
"no_shared_albums_message": "Lag eit album for å dele bilete og videoar med folk i nettverket ditt",
"notes": "Noter",
"notifications": "Varsel",
"ok": "Ok",
"options": "Val",
"or": "eller",
"original": "orginal",
"other": "Anna",
"owner": "Eigar",
"partner": "Partnar",
"partner_can_access_assets": "Alle bileta og videoane dine unntatt dei i Arkivert og Sletta",
"partner_can_access_location": "Staden der bileta dine vart tekne",
"password": "Passord",
"path": "Sti",
"pattern": "Mønster",
"pause": "Pause",
"paused": "Pausa",
"pending": "Ventar",
"people": "Folk",
"people_feature_description": "Bla gjennom foto og videoar gruppert etter folk",
"person": "Person",
"photo_shared_all_users": "Ser ut som du delte bileta dine med alle brukarar eller at du ikkje har nokon brukar å dele med.",
"photos": "Bilete",
"photos_and_videos": "Foto og Video",
@@ -404,6 +443,7 @@
"place": "Stad",
"places": "Stad",
"play": "Spel av",
"port": "Port",
"preview": "Førehandsvisning",
"previous": "Forrige",
"primary": "Hoved",
@@ -412,6 +452,7 @@
"purchase_button_buy": "Kjøp",
"purchase_button_select": "Vel",
"purchase_individual_title": "Induviduell",
"purchase_server_title": "Tenar",
"reassign": "Vel på nytt",
"recent": "Nyleg",
"refresh": "Last inn på nytt",
@@ -550,15 +591,20 @@
"sort_title": "Tittel",
"source": "Kjelde",
"stack": "Stabel",
"start": "Start",
"state": "Region",
"status": "Status",
"stop_photo_sharing": "Stopp å dele bileta dine?",
"stop_photo_sharing_description": "{partner} vil ikkje lenger kunne få tilgang til bileta dine.",
"stop_sharing_photos_with_user": "Stopp å dele bileta dine med denne brukaren",
"storage": "Lagringsplass",
"submit": "Send inn",
"suggestions": "Forslag",
"support": "Støtte",
"sync": "Synk",
"tag": "Merke",
"tag_feature_description": "Bla gjennom bilete og videoar gruppert etter logiske tag-tema",
"tags": "Merkelappar",
"theme": "Tema",
"timeline": "Tidslinje",
"timezone": "Tidssone",
@@ -566,8 +612,10 @@
"to_favorite": "Favoritt",
"to_login": "Innlogging",
"to_trash": "Søppel",
"total": "Totalt",
"trash": "Søppel",
"trash_no_results_message": "Sletta foto og videoar vil dukke opp her.",
"type": "Type",
"unfavorite": "Fjern favoritt",
"unknown": "Ukjent",
"unlimited": "Ubegrensa",
@@ -575,6 +623,7 @@
"upload_status_duplicates": "Duplikater",
"upload_status_errors": "Feil",
"upload_status_uploaded": "Opplasta",
"url": "URL",
"usage": "Bruk",
"user": "Brukar",
"user_purchase_settings": "Kjøp",
@@ -590,6 +639,7 @@
"version_announcement_closing": "Din ven, Alex",
"version_history": "Versjonshistorie",
"version_history_item": "Installert {version} den {date}",
"video": "Video",
"video_hover_setting": "Spel av førehandsvisining medan du held over musepeikaren",
"videos": "Videoar",
"videos_count": "{count, plural, one {# Video} other {# Videoar}}",
@@ -608,8 +658,11 @@
"week": "Veke",
"welcome": "Velkomen",
"welcome_to_immich": "Velkomen til Immich",
"wrong_pin_code": "Feil PIN kode",
"x_of_total": "{x} av {total}",
"year": "År",
"years_ago": "{years, plural, one {# År} other {# År}} sidan",
"yes": "Ja",
"you": "Du",
"zoom_image": "Forstørr bilete"
}
+29 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Polecenie {command} nie powiodło się dla zadania: {job}",
"force_delete_user_warning": "UWAGA: Użytkownik i wszystkie zasoby użytkownika zostaną natychmiast trwale usunięte. Nie można tego cofnąć, a plików nie będzie można przywrócić.",
"image_format": "Format",
"image_format_description": "Format WebP generuje mniejsze pliki niż JPEG, ale ich kodowanie trwa dłużej.",
"image_format_description": "Format WebP generuje mniejsze pliki niż JPEG, ale ich kodowanie trwa dłużej. Format JPEG XL to najlepsze rozwiązanie, jeśli chodzi o kompresję zapewniającą wysoką jakość, jednak nie wszystkie przeglądarki i aplikacje obsługują ten format.",
"image_fullsize_description": "Pełnowymiarowy obraz z usuniętymi metadanymi, używany przy powiększeniu",
"image_fullsize_enabled": "Włącz generowanie obrazów o pełnym wymiarze",
"image_fullsize_enabled_description": "Generuje pełnowymiarowe obrazy dla formatów nieprzyjaznych stronom internetowym. Gdy opcja „Preferuj osadzony podgląd” jest włączona, osadzone podglądy są używane bezpośrednio bez konwersji. Nie wpływa na formaty przyjazne stronom internetowym, takie jak JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Jakość podglądu od 1 do 100. Wyższa jest lepsza, ale tworzy większe pliki i może spowolnić reakcję aplikacji. Ustawienie niskiej wartości może wpłynąć na jakość uczenia maszynowego.",
"image_preview_title": "Ustawienia podglądu",
"image_progressive": "Progresywny",
"image_progressive_description": "Koduj obrazy JPEG progresywnie, aby umożliwić stopniowe ładowanie i wyświetlanie. Nie ma to wpływu na obrazy WebP.",
"image_progressive_description": "Koduj obrazy JPEG progresywnie, aby umożliwić stopniowe ładowanie i wyświetlanie. Nie ma to wpływu na inne formaty.",
"image_quality": "Jakość",
"image_resolution": "Rozdzielczość",
"image_resolution_description": "Wyższe rozdzielczości pozwalają zachować więcej szczegółów, ale wymagają dłuższego kodowania, mają większy rozmiar pliku i mogą spowalniać reakcję aplikacji.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Upłynął czas żądania",
"oauth_timeout_description": "Limit czasu żądania w milisekundach",
"ocr_job_description": "Wykorzystaj uczenie maszynowe do rozpoznawania tekstu na zdjęciach",
"passkey_additional_domains": "Dodatkowe domeny",
"passkey_additional_domains_description": "Dodatkowe zaufane domeny (żądania z powiązanych domen). Będą one działać tylko wtedy, gdy domena klucza dostępu będzie również dostępna.",
"passkey_domain": "Domena klucza dostępu",
"passkey_domain_description": "Domena używana dla kluczy dostępu (strona polegająca) . Pozostaw puste, aby wartość została wywnioskowana z nagłówka „Origin”. Zmiana tej wartości spowoduje, że istniejące klucze dostępu przestaną działać.",
"passkey_enable_description": "Zaloguj się za pomocą klucza dostępu",
"passkey_settings": "Logowanie za pomocą klucza dostępu",
"passkey_settings_description": "Zarządzaj ustawieniami logowania za pomocą klucza dostępu",
"password_enable_description": "Zaloguj używając e-mail i hasła",
"password_settings": "Logowanie Hasłem",
"password_settings_description": "Zarządzaj ustawieniami logowania hasłem",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Usuń tylko kopię zapasową",
"delete_local_dialog_ok_force": "Usuń mimo to",
"delete_others": "Usuń pozostałe",
"delete_passkey": "Usuń klucz dostępu",
"delete_passkey_prompt": "Czy na pewno chcesz usunąć ten klucz dostępu?",
"delete_permanently": "Usuń trwale",
"delete_permanently_action_prompt": "{count} trwale usuniętych",
"delete_shared_link": "Usuń udostępniony link",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} edytowana lokalizacja",
"edit_location_dialog_title": "Lokalizacja",
"edit_name": "Edytuj nazwę",
"edit_passkey": "Edytuj klucz dostępu",
"edit_people": "Edytuj osoby",
"edit_person": "Edytuj osobę",
"edit_tag": "Edytuj etykietę",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1}, {person2} i {person3} dnia {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Wideo} other {Zdjęcie}} zrobione w {city}, {country} z {person1}, {person2} i {additionalCount, number} innymi dnia {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Interfejs internetowy Immich",
"import_from_json": "Wczytaj z JSON",
"import_path": "Ścieżka importu",
"in_albums": "W {count, plural, one {# albumie} other {# albumach}}",
@@ -1287,6 +1296,7 @@
"last": "Ostatni",
"last_months": "{count, plural, one {Zeszły miesiąc} few {# zeszłe miesiące} other {# zeszłych miesięcy}}",
"last_seen": "Ostatnio widziane",
"last_used": "Ostatnio użyty",
"latest_version": "Najnowsza wersja",
"latitude": "Szerokość geograficzna",
"leave": "Opuść",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Logowanie zostało wyłączone",
"login_password_changed_error": "Wystąpił błąd podczas aktualizacji hasła",
"login_password_changed_success": "Hasło zostało zmienione",
"login_with_passkey": "Zaloguj się przy pomocy klucza dostępu",
"logout_all_device_confirmation": "Czy na pewno chcesz wylogować się ze wszystkich urządzeń?",
"logout_this_device_confirmation": "Czy na pewno chcesz wylogować to urządzenie?",
"logs": "Logi",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Dostęp do zarządzania mediami",
"manage_oauth_account": "Zarządzaj kontem OAuth",
"manage_people": "Zarządzaj osobami",
"manage_people_access_description_v2": "Przyznaj innym użytkownikom dostęp do {count, plural, one {tej osoby} other {twoich osób}}, umożliwiając im przeglądanie lub zarządzanie {count, plural, one {nią} other {nimi}} w Twoim imieniu. Ta czynność nie powoduje udostępnienia żadnych zasobów.",
"manage_person_access": "Zarządzaj dostępem",
"manage_sharing_with_other_users": "Zarządzaj udostępnianiem innym użytkownikom",
"manage_sharing_with_partners": "Zarządzaj dzieleniem z partnerami",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Zarządzaj swoimi kluczami API",
"manage_your_devices": "Zarządzaj swoimi zalogowanymi urządzeniami",
"manage_your_oauth_connection": "Zarządzaj swoim połączeniem OAuth",
"manage_your_passkeys": "Zarządzaj swoimi kluczami dostępu",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {W tej okolicy nie ma żadnych zdjęć} one {# zdjęcie} few {# zdjęcia} other {# zdjęć}}",
"map_cannot_get_user_location": "Nie można uzyskać lokalizacji użytkownika",
@@ -1528,6 +1541,7 @@
"new_album": "Nowy album",
"new_api_key": "Nowy Klucz API",
"new_feature": "Nowa funkcjonalność",
"new_passkey": "Nowy klucz dostępu",
"new_password": "Nowe hasło",
"new_person": "Nowa osoba",
"new_pin_code": "Nowy kod PIN",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Dzielenie z partnerami",
"partners": "Partnerzy",
"partners_description": "Udostępniaj swoje zdjęcia i filmy innym użytkownikom",
"passkeys": "{count, plural, one {klucz} other {klucze}} dostępu",
"passkeys_not_supported": "Ta przeglądarka nie obsługuje kluczy dostępu",
"password": "Hasło",
"password_does_not_match": "Hasła nie są takie same",
"password_required": "Hasło Wymagane",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Usunięto #}} z ulubionych",
"removed_from_stack": "Usunięto zasób ze stosu",
"removed_memory": "Wspomnienie usunięte",
"removed_passkey": "Usunięto klucz dostępu: {name}",
"removed_tagged_assets": "Usunięto etykietę z {count, plural, one {# zasobu} other {# zasobów}}",
"rename": "Zmień nazwę",
"repository": "Repozytorium",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Po włączeniu, możesz przejść do poprzedniego/następnego obrazu, dotykając lewej/prawej zewnętrznej ćwiartki ekranu.",
"setting_image_navigation_enable_title": "Dotknij, aby przejść",
"setting_image_navigation_title": "Nawigacja obrazów",
"setting_image_viewer_help": "Przeglądarka szczegółów najpierw ładuje małą miniaturę, następnie ładuje podgląd obrazu średniej wielkości (jeśli jest włączony), a na koniec ładuje oryginał (jeśli jest włączony).",
"setting_image_viewer_help": "Przeglądarka szczegółów najpierw ładuje małą miniaturę, następnie ładuje podgląd obrazu średniej wielkości, a na koniec ładuje oryginał (jeśli jest włączony).",
"setting_image_viewer_original_subtitle": "Włącz, aby załadować oryginalny obraz w pełnej rozdzielczości (duży!). Wyłącz, aby zmniejszyć zużycie danych (zarówno w sieci, jak i w pamięci podręcznej urządzenia).",
"setting_image_viewer_original_title": "Załaduj oryginalny obraz",
"setting_image_viewer_preview_subtitle": "Włącz, aby załadować obraz w średniej rozdzielczości. Wyłącz, aby załadować bezpośrednio oryginał lub używać tylko miniatury.",
"setting_image_viewer_preview_title": "Załaduj podgląd obrazu",
"setting_languages_apply": "Zastosuj",
"setting_languages_subtitle": "Zmień język aplikacji",
"setting_notifications_notify_minutes": "{count} minut",
@@ -2009,8 +2024,9 @@
"share_everyone": "Udostępnij wszystkich",
"share_everyone_description": "Przyznaj {user} dostęp do wszystkich swoich osób.",
"share_link": "Udostępnij link",
"share_logs": "Udostępnij logi",
"share_original": "Użyj orginału (duży)",
"share_preview": "Użyj miniatury (mała)",
"share_preview": "Użyj podglądu (mały)",
"share_quality_body": "Naciśnij i przytrzymaj przycisk udostępniania, aby wybrać jakość obrazu przed udostępnieniem.",
"share_quality_title": "Wybierz jakość udostępnianych zasobów",
"share_with": "Udostępniają mi dostęp",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Wymagaj hasła dostępu dla udostępnionego linku",
"shared_links": "Udostępnione linki",
"shared_links_description": "Udostępnij zdjęcia oraz filmy przez link",
"shared_photos_and_videos_count": "{assetCount, plural, one {# udostępnione zdjęcie lub film.} other {# udostępnione zdjęcia i filmy.}}",
"shared_with": "Udostępniono z",
"shared_with_count": "Udostępniono ({count})",
"shared_with_me": "Udostępniono mi",
@@ -2188,6 +2203,8 @@
"theme": "Motyw",
"theme_selection": "Wybór motywu",
"theme_selection_description": "Automatycznie zmień motyw na jasny lub ciemny zależnie od ustawień systemu",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Podczas przeciągania paska przewijania przewijaj płynnie, zamiast przeskakiwać co miesiąc",
"theme_setting_asset_list_smooth_scrubbing_title": "Płynne przewijanie osi czasu",
"theme_setting_asset_list_storage_indicator_title": "Pokaż wskaźnik przechowywania na kafelkach zasobów",
"theme_setting_asset_list_tiles_per_row_title": "Liczba zasobów w wierszu ({count})",
"theme_setting_colorful_interface_subtitle": "Zastosuj kolor podstawowy do powierzchni tła.",
@@ -2228,6 +2245,8 @@
"trigger": "Wyzwalacz",
"trigger_asset_metadata_extraction": "Ekstrakcja metadanych zasobów",
"trigger_asset_metadata_extraction_description": "Wyzwalane po wyodrębnieniu metadanych EXIF z zasobu",
"trigger_asset_ocr_extraction": "Ekstrakcja OCR z zasobu",
"trigger_asset_ocr_extraction_description": "Wyzwalane po wyodrębnieniu tekstu OCR z zasobu",
"trigger_asset_tagged": "Zasób z etykietą",
"trigger_asset_tagged_description": "Wyzwalane po dodaniu etykiety do zasobu",
"trigger_asset_uploaded": "Przesyłanie zasobu",
@@ -2303,7 +2322,7 @@
"user": "Użytkownik",
"user_has_been_deleted": "Ten użytkownik został usunięty.",
"user_id": "ID użytkownika",
"user_liked": "{user} polubił {type, select, photo {to zdjęcie} video {to wideo} asset {ten zasób} other {to}}",
"user_liked": "{user} polubił {type, select, image {to zdjęcie} video {to wideo} other {to}}",
"user_pin_code_settings": "Kod PIN",
"user_pin_code_settings_description": "Zarządzaj swoim kodem PIN",
"user_privacy": "Ochrona prywatności użytkownika",
@@ -2339,6 +2358,7 @@
"view_group": "Wyświetl grupę",
"view_in_timeline": "Pokaż na osi czasu",
"view_link": "Zobacz link",
"view_more": "Zobacz więcej",
"view_name": "Widok",
"view_next_asset": "Wyświetl następny zasób",
"view_previous_asset": "Wyświetl poprzedni zasób",
+22 -6
View File
@@ -323,6 +323,12 @@
"oauth_timeout": "Tempo Limite de Requisição",
"oauth_timeout_description": "Tempo limite para requisições, em milissegundos",
"ocr_job_description": "Utiliza a aprendizagem de máquina para reconhecer texto em imagens",
"passkey_additional_domains": "Domínios adicionais",
"passkey_additional_domains_description": "Domínios adicionais e de confiança (pedidos de origem relacionados). Estes apenas irão funcionar se o domínio passkey também estiver disponível.",
"passkey_domain": "Domínio passkey",
"passkey_enable_description": "Iniciar sessão com uma chave de acesso",
"passkey_settings": "Início de Sessão com Chave de Acesso",
"passkey_settings_description": "Gerir as definições de início de sessão com chave de acesso",
"password_enable_description": "Iniciar sessão com e-mail e palavra-passe",
"password_settings": "Palavra-passe de acesso",
"password_settings_description": "Gerir definições de inicio de sessão e palavra-passe",
@@ -873,6 +879,8 @@
"delete_local_dialog_ok_backed_up_only": "Eliminar apenas ficheiros com cópia de segurança",
"delete_local_dialog_ok_force": "Eliminar na mesma",
"delete_others": "Eliminar outros",
"delete_passkey": "Eliminar chave de acesso",
"delete_passkey_prompt": "Tem a certeza de que quer eliminar esta chave de acesso?",
"delete_permanently": "Eliminar permanentemente",
"delete_permanently_action_prompt": "{count} eliminados permanentemente",
"delete_shared_link": "Eliminar link de partilha",
@@ -942,6 +950,7 @@
"edit_location_action_prompt": "{count} locais alterados",
"edit_location_dialog_title": "Localização",
"edit_name": "Editar nome",
"edit_passkey": "Editar chave de acesso",
"edit_people": "Editar pessoas",
"edit_person": "Editar pessoa",
"edit_tag": "Editar etiqueta",
@@ -1239,7 +1248,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e outras {additionalCount, number} pessoas em {date}",
"immich_logo": "Logotipo do Immich",
"immich_web_interface": "Interface Web do Immich",
"import_from_json": "Importar a partir de JSON",
"import_path": "Caminho de importação",
"in_albums": "Em {count, plural, one {# álbum} other {# álbuns}}",
@@ -1287,6 +1295,7 @@
"last": "Último",
"last_months": "{count, plural, one {No último mês} other {Nos últimos # meses}}",
"last_seen": "Visto pela ultima vez",
"last_used": "Utilizado pela última vez",
"latest_version": "Versão mais recente",
"latitude": "Latitude",
"leave": "Sair",
@@ -1362,6 +1371,7 @@
"login_has_been_disabled": "O início de sessão foi desativado",
"login_password_changed_error": "Ocorreu um erro ao atualizar a sua palavra-passe",
"login_password_changed_success": "Palavra-passe atualizada com sucesso",
"login_with_passkey": "Iniciar sessão com chave de acesso",
"logout_all_device_confirmation": "Tem a certeza de que deseja terminar a sessão em todos os dispositivos?",
"logout_this_device_confirmation": "Tem a certeza de que deseja terminar a sessão deste dispositivo?",
"logs": "Logs",
@@ -1410,6 +1420,7 @@
"manage_your_api_keys": "Gerir as suas Chaves de API",
"manage_your_devices": "Gerir os seus dispositivos com sessão iniciada",
"manage_your_oauth_connection": "Gerir a sua ligação ao OAuth",
"manage_your_passkeys": "Gerir as suas chaves de acesso",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {Não há fotos nesta área} one {# foto} other {# fotos}}",
"map_cannot_get_user_location": "Impossível obter a sua localização",
@@ -1529,6 +1540,7 @@
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave de API",
"new_feature": "Nova Funcionalidade",
"new_passkey": "Nova chave de acesso",
"new_password": "Nova palavra-passe",
"new_person": "Nova Pessoa",
"new_pin_code": "Novo código PIN",
@@ -1641,6 +1653,8 @@
"partner_sharing": "Partilha com Parceiro",
"partners": "Parceiros",
"partners_description": "Partilhar as suas fotos e vídeos com outros utilizadores",
"passkeys": "{count, plural, one {Chave} other {Chaves}} de acesso",
"passkeys_not_supported": "Chaves de acesso não são suportadas neste navegador",
"password": "Palavra-passe",
"password_does_not_match": "A palavra-passe não condiz",
"password_required": "A palavra-passe é obrigatória",
@@ -1825,6 +1839,7 @@
"removed_from_favorites_count": "{count, plural, other {Removidos #}} dos favoritos",
"removed_from_stack": "Ficheiro foi removido do empilhamento",
"removed_memory": "Memória removida",
"removed_passkey": "Chave de acesso removida: {name}",
"removed_tagged_assets": "Removida a etiqueta de {count, plural, one {# ficheiro} other {# ficheiros}}",
"rename": "Mudar o nome",
"repository": "Repositório",
@@ -1986,11 +2001,9 @@
"setting_image_navigation_enable_subtitle": "Se ativado, pode navegar entre as imagens seguintes e anteriores ao tocar nas partes esquerda e direita do ecrã.",
"setting_image_navigation_enable_title": "Tocar para Navegar",
"setting_image_navigation_title": "Navegação de Imagens",
"setting_image_viewer_help": "O visualizador carrega primeiro a miniatura pequena, depois carrega a visualização de tamanho médio (se ativado) e, finalmente, carrega o original (se ativado).",
"setting_image_viewer_help": "O visualizador carrega primeiro a miniatura pequena, depois carrega a visualização de tamanho médio e, por fim, carrega o original (se ativado).",
"setting_image_viewer_original_subtitle": "Ative para carregar a imagem original em resolução total (grande!). Desative para reduzir o uso de dados (na rede e no cache do dispositivo).",
"setting_image_viewer_original_title": "Carregar imagem original",
"setting_image_viewer_preview_subtitle": "Ative para carregar uma imagem de resolução média. Desative para carregar diretamente o original ou usar apenas a miniatura.",
"setting_image_viewer_preview_title": "Carregar imagem de pré-visualização",
"setting_languages_apply": "Aplicar",
"setting_languages_subtitle": "Alterar o idioma da aplicação",
"setting_notifications_notify_minutes": "{count} minutos",
@@ -2010,8 +2023,9 @@
"share_everyone": "Partilhar todos",
"share_everyone_description": "Conceder a {user} acesso a todas as suas pessoas.",
"share_link": "Partilhar ligação",
"share_logs": "Partilhar Registos",
"share_original": "Utilizar original (grande)",
"share_preview": "Utilizar miniatura (pequeno)",
"share_preview": "Utilizar pré-visualização (pequeno)",
"share_quality_body": "Toque e segure no botão de partilha para escolher a qualidade da imagem antes de a partilhar.",
"share_quality_title": "Escolha a qualidade de partilha",
"share_with": "Partilhar acesso com",
@@ -2061,7 +2075,6 @@
"shared_link_password_description": "Exigir uma palavra-passe para aceder a este link partilhado",
"shared_links": "Links partilhados",
"shared_links_description": "Partilhar fotos e videos com um link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# Fotos & videos partilhados.}}",
"shared_with": "Partilhado com",
"shared_with_count": "Partilhado ({count})",
"shared_with_me": "Partilhado comigo",
@@ -2189,6 +2202,8 @@
"theme": "Tema",
"theme_selection": "Selecionar tema",
"theme_selection_description": "Definir automaticamente o tema como claro ou escuro com base na preferência do sistema do seu navegador",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Deslocar a página de forma contínua ao arrastar a barra lateral em vez de prender aos meses",
"theme_setting_asset_list_smooth_scrubbing_title": "Deslocamento suave pela linha do tempo",
"theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de armazenamento na grade de fotos",
"theme_setting_asset_list_tiles_per_row_title": "Quantidade de ficheiros por linha ({count})",
"theme_setting_colorful_interface_subtitle": "Aplica a cor primária ao fundo.",
@@ -2340,6 +2355,7 @@
"view_group": "Ver grupo",
"view_in_timeline": "Ver na linha do tempo",
"view_link": "Ver link",
"view_more": "Ver mais",
"view_name": "Ver",
"view_next_asset": "Ver próximo ficheiro",
"view_previous_asset": "Ver ficheiro anterior",
+6 -4
View File
@@ -323,6 +323,12 @@
"oauth_timeout": "Tempo Limite de Requisição",
"oauth_timeout_description": "Tempo limite para requisições, em milissegundos",
"ocr_job_description": "Usa aprendizado de máquina para reconhecer texto em imagens",
"passkey_additional_domains": "Dominios adicionais",
"passkey_additional_domains_description": "Domínios adicionais e confiáveis (solicitações de origem relacionada). Eles só funcionarão se o domínio da chave de acesso (passkey) também estiver acessível.",
"passkey_domain": "Chave de acesso (passkey) do domínio.",
"passkey_enable_description": "Login com chave de acesso",
"passkey_settings": "chave de acesso de login",
"passkey_settings_description": "Gerenciar configurações de login com chave de acesso",
"password_enable_description": "Login com e-mail e senha",
"password_settings": "Senha de acesso",
"password_settings_description": "Gerenciar configurações de login e senha",
@@ -1233,7 +1239,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Vídeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {additionalCount, number} outros em {date}",
"immich_logo": "Logo do Immich",
"immich_web_interface": "Interface Web do Immich",
"import_from_json": "Importar do JSON",
"import_path": "Caminho de importação",
"in_albums": "Em {count, plural, one {# álbum} other {# álbuns}}",
@@ -1967,8 +1972,6 @@
"setting_image_viewer_help": "O visualizador de imagens carrega primeiro a miniatura pequena, depois carrega a imagem de tamanho médio (se ativado) e, por fim, carrega o original (se ativado).",
"setting_image_viewer_original_subtitle": "Ative para carregar a imagem original em resolução máxima (grande!). Desative para reduzir o uso de dados (tanto na rede quanto no cache do dispositivo).",
"setting_image_viewer_original_title": "Carregar imagem original",
"setting_image_viewer_preview_subtitle": "Ative para carregar uma imagem de resolução média. Desative para carregar diretamente o original ou usar apenas a miniatura.",
"setting_image_viewer_preview_title": "Carregar imagem de pré-visualização",
"setting_languages_apply": "Aplicar",
"setting_languages_subtitle": "Alterar o idioma do aplicativo",
"setting_notifications_notify_minutes": "{count} minutos",
@@ -2034,7 +2037,6 @@
"shared_link_password_description": "Exija uma senha para acessar este link compartilhado",
"shared_links": "Links",
"shared_links_description": "Compartilhar fotos e vídeos com um link",
"shared_photos_and_videos_count": "{assetCount, plural, one {# Foto & vídeo compartilhado.} other {# Fotos & vídeos compartilhados.}}",
"shared_with_me": "Compartilhado comigo",
"shared_with_partner": "Compartilhado com {partner}",
"sharing": "Compartilhamento",
+18 -9
View File
@@ -34,7 +34,7 @@
"add_to_albums": "Adaugă la albume",
"add_to_albums_count": "Adaugă la albume ({count})",
"add_to_bottom_bar": "Adaugă la",
"add_upload_to_stack": "Încarcă și adaugă la stivă",
"add_upload_to_stack": "Încarcă și {isStack, select, true {adaugă la stivă} other {creează o stivă}}",
"add_url": "Adaugă adresa URL",
"add_user": "Adaugă utilizator",
"added_to_archive": "Adăugat la arhivă",
@@ -55,7 +55,7 @@
"backup_onboarding_1_description": "copie externă în cloud sau într-o altă locație fizică.",
"backup_onboarding_2_description": "copii locale pe diferite dispozitive. Include fișierele principale și o copie de rezervă a acestor fișiere la nivel local.",
"backup_onboarding_3_description": "numărul total de copii ale datelor dvs., inclusiv fișierele originale. Aceasta include 1 copie externă și 2 copii locale.",
"backup_onboarding_description": "Pentru a vă proteja datele, vă recomandăm să utilizați o <backblaze-link>strategie de backup 3-2-1</backblaze-link>. Pentru o soluție completă de backup, ar trebui să păstrați copii ale fotografiilor/videoclipurilor încărcate, precum și ale bazei de date Immich.",
"backup_onboarding_description": "Pentru a vă proteja datele, o strategie de backup <backblaze-link>3-2-1 este recomandată</backblaze-link>. Ar trebui să păstrați copii ale fotografiilor/videoclipurilor încărcate, precum și ale bazei de date Immich, pentru o soluție completă de backup.",
"backup_onboarding_footer": "Pentru mai multe informații despre copierea de rezervă a Immich, consultați <link>documentația</link>.",
"backup_onboarding_parts_title": "O copie de rezervă 3-2-1 include:",
"backup_onboarding_title": "Copii de rezervă",
@@ -293,7 +293,7 @@
"notification_enable_email_notifications": "Activare notificări pe email",
"notification_settings": "Setări notificare",
"notification_settings_description": "Gestionează setările pentru notificări, inclusiv adresa de email",
"oauth_account_management_url": "URL pentru management cont",
"oauth_account_management_url": "URL gestionare cont",
"oauth_account_management_url_description": "Locație în furnizorul de identitate extern unde un utilizator își poate gestiona setările sau profilul.",
"oauth_allow_insecure_requests": "Permite cereri nesigure",
"oauth_allow_insecure_requests_description": "AVERTISMENT: Acest lucru dezactivează validarea certificatelor TLS pentru cererile OAuth și te poate expune la atacuri MITM.",
@@ -369,6 +369,7 @@
"storage_template_migration_job": "Sarcină Migrare Șablon Stocare",
"storage_template_more_details": "Pentru mai multe detalii despre aceasta caracteristică, accesați <template-link>Șablon stocare</template-link> si <implications-link>implicațiile</implications-link>",
"storage_template_onboarding_description_v3": "Șabloanele de stocare îți permit să definești o structură personalizată de directoare pe disc pentru fișierele încărcate. Aceasta poate fi modificată oricând ulterior.",
"storage_template_option_custom": "Personalizat",
"storage_template_option_custom_description": "Creează-ți propria structură de directoare folosind variabile de șablon",
"storage_template_option_date_description": "Sortează fișierele în directoare pentru an, lună și zi",
"storage_template_option_none": "Farǎ șablon",
@@ -555,6 +556,7 @@
"allow_public_user_to_download": "Permite utilizatorului public să descarce",
"allow_public_user_to_upload": "Permite utilizatorului public să încarce",
"allowed": "Permis",
"also_known_as": "alias",
"alt_text_qr_code": "Cod QR",
"always_keep": "Păstrează întotdeauna",
"always_keep_photos_hint": "Eliberează Spațiu va păstra toate fotografiile de pe acest dispozitiv.",
@@ -667,7 +669,9 @@
"biometric_no_options": "Nu sunt disponibile opțiuni biometrice",
"biometric_not_available": "Autentificarea biometrică nu este disponibilă pe acest dispozitiv",
"birthdate_set_description": "Data nașterii este utilizată pentru a calcula vârsta acestei persoane la momentul realizării fotografiei.",
"birthday_memory_age": "{age, selectordinal, one {Prima} other {A #-a}} zi de naștere",
"birthday_memory_title": "Zi naştere {name}",
"birthday_memory_title_with_age": "Ziua de naștere a lui {name} · {age, plural, one {# an} few {# ani} other {# de ani}}",
"blurred_background": "Fundal neclar",
"browse_templates": "Răsfoiește șabloanele",
"bugs_and_feature_requests": "Erori și solicitări de caracteristici",
@@ -815,7 +819,7 @@
"create_shared_album_page_share_select_photos": "Selectează fotografii",
"create_shared_link": "Creați un link partajat",
"create_tag": "Creează etichetă",
"create_tag_description": "Creează o etichetă nouă. Pentru etichete imbricate, te rog să introduci calea completă a etichetei, inclusiv bare oblice (/).",
"create_tag_description": "Creează o nouă etichetă. Pentru etichetele imbricate, calea completă unde va fi plasată noua etichetă este afișată mai jos.",
"create_user": "Creează utilizator",
"create_workflow": "Creați un flux de lucru",
"created": "Creat",
@@ -1235,7 +1239,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {imagine}} preluată în {city}, {country} cu {person1}, {person2}, și {person3} în {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {imagine}} preluată în {city}, {country} cu {person1}, {person2}, și {additionalCount, number} alții în {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Interfața Web Immich",
"import_from_json": "Importă din JSON",
"import_path": "Calea de import",
"in_albums": "În {count, plural, one {# album} other {# albume}}",
@@ -1397,6 +1400,7 @@
"manage_media_access_title": "Acces la gestionarea mediilor",
"manage_oauth_account": "Gestionează contul OAuth",
"manage_people": "Gestionează persoanele",
"manage_people_access_description_v2": "Oferă altor utilizatori acces la {count, plural, one {această persoană} few {persoanele tale} other {persoanele tale}}, permițându-le să le vizualizeze sau să le gestioneze în numele tău. Această acțiune nu distribuie niciun fișier media.",
"manage_person_access": "Gestionează accesul",
"manage_sharing_with_other_users": "Gestionează sharing cu alți utilizatori",
"manage_sharing_with_partners": "Gestionați partajarea cu partenerii",
@@ -1406,7 +1410,7 @@
"manage_your_devices": "Gestionați-vă dispozitivele conectate",
"manage_your_oauth_connection": "Gestionați-vă conexiunea OAuth",
"map": "Hartă",
"map_assets_in_bounds": "{număr, plural, =0 {Nu există fotografii în această zonă} una {# fotografie} alta {# fotografii}}",
"map_assets_in_bounds": "{count, plural, =0 {Nicio fotografie în această zonă} one {# fotografie} few {# fotografii} other {# de fotografii}}",
"map_cannot_get_user_location": "Nu se poate obține locația utilizatorului",
"map_location_picker_page_use_location": "Folosește această locație",
"map_location_service_disabled_content": "Serviciul de localizare trebuie să fie activat pentru a afișa resursele din locația actuală. Dorești să o activezi acum?",
@@ -1467,6 +1471,7 @@
"memories": "Amintiri",
"memories_all_caught_up": "Sunteți la zi",
"memories_check_back_tomorrow": "Reveniți mâine pentru mai multe amintiri",
"memories_current": "Actuale",
"memories_setting_description": "Administrați ce vedeți în amintiri",
"memories_show_upcoming": "Afișează amintirile viitoare",
"memories_start_over": "Începeți de la început",
@@ -1509,6 +1514,7 @@
"my_immich_title": "Linkul meu Immich",
"name": "Nume",
"name_or_nickname": "Nume sau poreclǎ",
"name_plus_more_people": "{name} + {count, plural, one {# persoană} few {# persoane} other {# de persoane}}",
"name_required": "Numele este obligatoriu",
"navigate": "Navighează",
"navigate_to_time": "Navigheaza la Timp",
@@ -1651,6 +1657,7 @@
"pending": "În așteptare",
"people": "Persoane",
"people_cluster_group": "Grup de persoane similare",
"people_count": "{count, plural, one {# persoană} few {# persoane} other {# de persoane}}",
"people_edits_count": "Editat {count, plural, one {# persoană} other {# persoane}}",
"people_feature_description": "Răsfoiți fotografii și videoclipuri grupate după persoane",
"people_search_description": "Selectează una sau mai multe persoane pentru a găsi fotografiile în care apar.",
@@ -1672,6 +1679,7 @@
"person_edit_only_change_for_me_description": "Bifează pentru a aplica modificările doar pentru utilizatorul tău",
"person_hidden": "{name}{hidden, select, true { (ascuns)} other {}}",
"person_recognized": "Persoană recunoscută",
"person_share_no_users": "Fiecare utilizator din cluster-ul tău are deja acces la această persoană.",
"person_update_strategy": "Aplică modificările la",
"person_update_strategy_description": "Ce persoane să notifici atunci când modifici numele sau data nașterii",
"person_update_strategy_everyone": "Toți cei cu acces partajat",
@@ -1890,6 +1898,7 @@
"search_filter_apply": "Aplicați filtrul",
"search_filter_camera_title": "Selectați tipul de cameră",
"search_filter_date": "Dată",
"search_filter_date_custom": "Personalizat",
"search_filter_date_description": "Filtrează în funcție de momentul în care au fost făcute fotografiile, folosind un interval prestabilit sau un interval de date personalizat.",
"search_filter_date_interval": "{start} la {end}",
"search_filter_date_last_30_days": "Ultimele 30 de zile",
@@ -1979,8 +1988,6 @@
"setting_image_viewer_help": "Vizualizatorul detaliilor încarcă mai întâi miniatura mică, apoi încarcă previzualizarea de dimensiune medie (dacă este activată), în cele din urmă încarcă originalul (dacă este activat).",
"setting_image_viewer_original_subtitle": "Activează pentru a încărca imaginea originală în rezoluție completă (mare!). Dezactivează pentru a reduce consumul de date (atat pe rețea, cât și în memoria cache a dispozitivului).",
"setting_image_viewer_original_title": "Încarcă fotografia originală",
"setting_image_viewer_preview_subtitle": "Activează pentru a încărca o imagine în rezoluție medie. Dezactivează pentru a încărca direct imaginea originală sau doar a utiliza miniatura.",
"setting_image_viewer_preview_title": "Încarcă imaginea de previzualizare",
"setting_languages_apply": "Aplică",
"setting_languages_subtitle": "Schimbați limba aplicației",
"setting_notifications_notify_minutes": "{count} minute",
@@ -1997,6 +2004,7 @@
"share": "Distribuiți",
"share_back": "Partajează înapoi",
"share_dialog_preparing": "Se pregătește...",
"share_everyone": "Distribuie toate persoanele",
"share_everyone_description": "Oferă utilizatorului {user} acces la toate persoanele tale.",
"share_link": "Partajați linkul",
"share_original": "Folosește varianta originală (mare)",
@@ -2050,7 +2058,6 @@
"shared_link_password_description": "Solicită o parolă pentru a accesa acest link partajat",
"shared_links": "Link-uri distribuite",
"shared_links_description": "Partajare imagini și clipuri printr-un link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# fotografii și videoclipuri partajate.}}",
"shared_with": "Partajat cu",
"shared_with_count": "Partajate ({count})",
"shared_with_me": "Distribuit cu mine",
@@ -2165,8 +2172,10 @@
"tag_created": "Etichetă creată: {tag}",
"tag_face": "Etichetează fața",
"tag_feature_description": "Răsfoirea fotografiilor și videoclipurilor grupate după subiecte de etichete logice",
"tag_full_path": "Calea completă: {tag}",
"tag_not_found_question": "Nu găsești eticheta? <link>Creează o etichetă nouă.</link>",
"tag_people": "Etichetează Persoane",
"tag_plus_more_tags": "{tag} + {count, plural, one {# tag} few {# tag-uri} other {# de tag-uri}}",
"tag_updated": "Etichetă actualizată: {tag}",
"tagged_assets": "Etichetat {count, plural, one {# resursă} other {# resurse}}",
"tags": "Etichete",
+37 -19
View File
@@ -52,10 +52,10 @@
"backup_database": "Создать резервную копию базы данных",
"backup_database_enable_description": "Включить создание дампов базы данных",
"backup_keep_last_amount": "Количество хранимых резервных копий базы данных",
"backup_onboarding_1_description": "хранение дополнительной внешней копии в облаке или другом физическом месте.",
"backup_onboarding_2_description": "хранение основных файлов и их локальной копии на двух разных типах носителей.",
"backup_onboarding_3_description": "создание трёх копий данных, включая исходные файлы: 2 локальных копии и 1 внешнюю.",
"backup_onboarding_description": "Для надёжной защиты рекомендуется использовать стратегию резервирования данных <backblaze-link>3-2-1</backblaze-link>. Создавайте копии как загруженных фото и видео, так и базы данных Immich.",
"backup_onboarding_1_description": "дополнительная внешняя копия в облаке или другом физическом месте.",
"backup_onboarding_2_description": "локальных копии на двух разных устройствах (основное хранилище и резервная копия данных).",
"backup_onboarding_3_description": "копии ваших данных, включая исходные файлы: 2 локальных копии и 1 внешнюю.",
"backup_onboarding_description": "Для надёжной защиты данных рекомендуется использовать стратегию резервирования <backblaze-link>3-2-1</backblaze-link>. Создавайте копии не только ваших фото и видео, но и базы данных Immich.",
"backup_onboarding_footer": "Дополнительная информация по резервному копированию Immich доступна в <link>документации</link>.",
"backup_onboarding_parts_title": "Стратегия 3-2-1 подразумевает:",
"backup_onboarding_title": "Резервное копирование",
@@ -86,7 +86,7 @@
"failed_job_command": "Команда {command} не выполнена для задачи: {job}",
"force_delete_user_warning": "ПРЕДУПРЕЖДЕНИЕ: Это приведет к немедленному удалению пользователя и всех его объектов. Это действие невозможно отменить, файлы не смогут быть восстановлены.",
"image_format": "Формат",
"image_format_description": "WebP создает файлы меньшего размера, чем JPEG, но кодирует медленнее.",
"image_format_description": "WebP создает файлы меньшего размера, чем JPEG, но кодирует медленнее. JPEG XL - лучший вариант для высококачественного сжатия, но не все браузеры и приложения его поддерживают.",
"image_fullsize_description": "Полноразмерное изображение без метаданных, используется при увеличении",
"image_fullsize_enabled": "Включить создание полноразмерного изображения",
"image_fullsize_enabled_description": "Создавать полноразмерное изображение для форматов, не предназначенных для веба. Когда включен параметр «Предпочитать встроенное превью», встроенные превью используются напрямую без конверсии. Не влияет на веб-совместимые форматы, такие как JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Качество предварительного просмотра от 1 до 100. Чем выше, тем лучше, но создаются файлы большего размера, и может снизиться скорость отклика приложения. Установка низкого значения может повлиять на качество машинного обучения.",
"image_preview_title": "Настройки предварительного просмотра",
"image_progressive": "Прогрессивный JPEG",
"image_progressive_description": "Изображения с прогрессивным кодированием загружаются быстрее, постепенно улучшая качество. Настройка не влияет на изображения в формате WebP.",
"image_progressive_description": "Изображения JPEG с прогрессивным кодированием загружаются с постепенным улучшением качества. Настройка не влияет на другие форматы.",
"image_quality": "Качество",
"image_resolution": "Разрешение",
"image_resolution_description": "Более высокое разрешение позволяет сохранить больше деталей, но требует больше времени для кодирования, приводит к увеличению размера файлов и может снизить скорость отклика приложения.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Таймаут для запросов",
"oauth_timeout_description": "Максимальное время, в течение которого ожидать ответа, в миллисекундах",
"ocr_job_description": "Использование машинного обучения для распознавания текста на изображениях",
"passkey_additional_domains": "Дополнительные домены",
"passkey_additional_domains_description": "Дополнительные доверенные домены. Для их работы основной домен ключей доступа также должен быть доступен.",
"passkey_domain": "Домен ключей доступа",
"passkey_domain_description": "Домен для ключей доступа. Оставьте пустым для определения по адресу сайта. При изменении домена существующие ключи перестанут работать.",
"passkey_enable_description": "Вход с помощью ключа доступа",
"passkey_settings": "Вход по ключу доступа",
"passkey_settings_description": "Настройки входа по ключу доступа",
"password_enable_description": "Вход по электронной почте и паролю",
"password_settings": "Настройки входа с паролем",
"password_settings_description": "Управление настройками входа по паролю",
@@ -373,7 +380,7 @@
"storage_template_option_custom_description": "Задать свою структуру папок с помощью доступных переменных",
"storage_template_option_date_description": "Распределять файлы по годам, месяцам и дням",
"storage_template_option_none": "Не задавать шаблон",
"storage_template_option_none_description": "Доверить Immich использовать свою структуру папок",
"storage_template_option_none_description": "Cтруктура папок Immich по умолчанию",
"storage_template_path_length": "Примерный предел длины пути: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "Шаблон хранилища",
"storage_template_settings_description": "Управление структурой папок и именами загруженных файлов",
@@ -633,7 +640,7 @@
"background_location_permission_content": "Чтобы считывать имя Wi-Fi сети в фоне, приложению *всегда* необходим доступ к точному местоположению устройства",
"background_options": "Выполнение фоновых задач",
"backup": "Резервное копирование",
"backup_album_selection_page_albums_tap": "Нажмите, чтобы включить, дважды, чтобы исключить",
"backup_album_selection_page_albums_tap": "Нажмите один раз, чтобы включить, дважды - чтобы исключить",
"backup_album_selection_page_assets_scatter": "Ваши фото и видео могут находиться в разных альбомах/папках на устройстве. Вы можете выбрать, какие альбомы включить, а какие исключить из резервного копирования.",
"backup_album_selection_page_select_albums": "Выбор альбомов",
"backup_album_selection_page_selection_info": "Выбранные альбомы",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Удалить только резервные копии",
"delete_local_dialog_ok_force": "Все равно удалить",
"delete_others": "Удалить остальные",
"delete_passkey": "Удалить ключ доступа",
"delete_passkey_prompt": "Удалить этот ключ доступа?",
"delete_permanently": "Удалить навсегда",
"delete_permanently_action_prompt": "Объекты удалены безвозвратно ({count} шт.)",
"delete_shared_link": "Удалить публичную ссылку",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "Места изменены ({count} шт.)",
"edit_location_dialog_title": "Местоположение",
"edit_name": "Изменить имя",
"edit_passkey": "Изменить ключ доступа",
"edit_people": "Изменить людей",
"edit_person": "Изменить человека",
"edit_tag": "Изменить тег",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} снятое в {city}, {country} с {person1}, {person2}, и {person3} {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} снятое в {city}, {country} с {person1}, {person2}, и еще с {additionalCount, number} людьми {date}",
"immich_logo": "Лого Immich",
"immich_web_interface": "Веб интерфейс Immich",
"import_from_json": "Импорт из JSON",
"import_path": "Путь импорта",
"in_albums": "В {count, plural, one {# альбоме} other {# альбомах}}",
@@ -1287,6 +1296,7 @@
"last": "Последний",
"last_months": "{count, plural, one {Последний месяц} many {# последних месяцев} other {# последних месяца}}",
"last_seen": "Последний доступ",
"last_used": "Последнее использование",
"latest_version": "Последняя версия",
"latitude": "Широта",
"leave": "Покинуть",
@@ -1379,6 +1389,7 @@
"login_has_been_disabled": "Вход в систему был отключён",
"login_password_changed_error": "Произошла ошибка при обновлении пароля",
"login_password_changed_success": "Пароль успешно обновлен",
"login_with_passkey": "Войти с ключом доступа",
"logout_all_device_confirmation": "Вы действительно хотите завершить все сеансы, кроме текущего?",
"logout_this_device_confirmation": "Вы действительно хотите завершить сеанс на этом устройстве?",
"logs": "Журнал событий",
@@ -1418,19 +1429,20 @@
"manage_media_access_title": "Доступ к управлению медиафайлами",
"manage_oauth_account": "Управление учетной записью OAuth",
"manage_people": "Управлять людьми",
"manage_people_access_description_v2": "Предоставить другим пользователям доступ к {count, plural, one {этому человеку} other {этим людям}}, разрешив им просматривать и/или управлять ими от вашего имени. Это действие не предполагает передачи доступа к каким-либо объектам.",
"manage_people_access_description_v2": "Предоставить другим пользователям доступ к {count, plural, one {этому человеку} other {этим людям}}, разрешив им просматривать и/или управлять ими от вашего имени. Это действие не дает доступ к каким-либо объектам.",
"manage_person_access": "Управлять доступом",
"manage_sharing_with_other_users": "Управление доступом к контенту для других пользователей",
"manage_sharing_with_partners": "Функция совместного доступа к фото и видео, позволяющая видеть объекты партнёров, а также предоставлять доступ к своим",
"manage_sharing_with_partners": "Управление доступом для партнеров",
"manage_the_app_settings": "Управление настройками приложения",
"manage_your_account": "Управление учётной записью",
"manage_your_api_keys": "Управление API ключами для взаимодействия с другими программами",
"manage_your_api_keys": "Управление API ключами",
"manage_your_devices": "Управление устройствами, на которых вы входили в свой аккаунт",
"manage_your_oauth_connection": "Настройки подключённого OAuth",
"manage_your_passkeys": "Управление ключами доступа",
"map": "Карта",
"map_assets_in_bounds": "{count, plural, =0 {Нет фото в этой области} other {# фото}}",
"map_cannot_get_user_location": "Невозможно получить местоположение пользователя",
"map_location_picker_page_use_location": "Это местоположение",
"map_location_picker_page_use_location": "Использовать это местоположение",
"map_location_service_disabled_content": "Для отображения объектов в текущем месте необходимо включить службу определения местоположения. Включить?",
"map_location_service_disabled_title": "Служба определения местоположения отключена",
"map_marker_for_image": "Маркер на карте для объекта, сделанного в {city}, {country}",
@@ -1546,6 +1558,7 @@
"new_album": "Новый альбом",
"new_api_key": "Новый API ключ",
"new_feature": "Новая функциональность",
"new_passkey": "Новый ключ доступа",
"new_password": "Новый пароль",
"new_person": "Новый человек",
"new_pin_code": "Новый PIN-код",
@@ -1658,6 +1671,8 @@
"partner_sharing": "Совместное использование",
"partners": "Партнёры",
"partners_description": "Делитесь своими фото и видео с другими пользователями",
"passkeys": "{count, plural, one {Ключ доступа} few {Ключи доступа} many {Ключи доступа} other {Ключи доступа}}",
"passkeys_not_supported": "Этот браузер не поддерживает ключи доступа",
"password": "Пароль",
"password_does_not_match": "Пароли не совпадают",
"password_required": "Требуется пароль",
@@ -1842,6 +1857,7 @@
"removed_from_favorites_count": "{count, plural, one {# объект удалён} many {# объектов удалено} other {# объекта удалено}} из избранного",
"removed_from_stack": "Объект удалён из группы",
"removed_memory": "Воспоминание удалено",
"removed_passkey": "Удалён ключ доступа: {name}",
"removed_tagged_assets": "Тег удалён у {count, plural, one {# объекта} other {# объектов}}",
"rename": "Переименовать",
"repository": "Репозиторий",
@@ -1888,7 +1904,7 @@
"saved_settings": "Настройки сохранены",
"say_something": "Напишите что-нибудь",
"scaffold_body_error_occurred": "Возникла ошибка",
"scaffold_body_error_unrecoverable": "Произошла неустранимая ошибка. Пожалуйста, сообщите об этой ошибке разработчикам в Discord или на GitHub. В качестве решения можно попробовать очистить данные приложения.",
"scaffold_body_error_unrecoverable": "Произошла неустранимая ошибка. Пожалуйста отправьте ошибку и логи разработчикам в Discord или GitHub, чтобы они могли помочь. В качестве решения можно попробовать очистить данные приложения.",
"scan": "Поиск",
"scan_all_libraries": "Сканировать все библиотеки",
"scan_library": "Сканировать",
@@ -2003,11 +2019,9 @@
"setting_image_navigation_enable_subtitle": "Возможность перехода к предыдущему/следующему фото, касаясь левой/правой четверти экрана.",
"setting_image_navigation_enable_title": "Навигация касанием",
"setting_image_navigation_title": "Навигация по изображениям",
"setting_image_viewer_help": "При просмотре изображения сперва загружается миниатюра, затем уменьшенное изображение среднего качества (если включено), а затем оригинал (если включено).",
"setting_image_viewer_help": "При просмотре изображения сперва загружается миниатюра, затем уменьшенное изображение среднего качества, а затем оригинал (если включено).",
"setting_image_viewer_original_subtitle": "Включите для загрузки исходного изображения в полном разрешении (большое!). Отключите для уменьшения объёма данных (как сети, так и кэша устройства).",
"setting_image_viewer_original_title": "Загружать исходное изображение",
"setting_image_viewer_preview_subtitle": "Включите для загрузки изображения среднего разрешения. Отключите, чтобы загружать только оригинал или миниатюру.",
"setting_image_viewer_preview_title": "Загружать уменьшенное изображение",
"setting_languages_apply": "Применить",
"setting_languages_subtitle": "Изменение языка приложения",
"setting_notifications_notify_minutes": "{count} мин.",
@@ -2027,6 +2041,7 @@
"share_everyone": "Поделиться со всеми",
"share_everyone_description": "Предоставить пользователю {user} доступ всем своим людям.",
"share_link": "Создать ссылку",
"share_logs": "Поделиться журналами",
"share_original": "Оригинал (большой размер)",
"share_preview": "Предпросмотр (небольшой размер)",
"share_quality_body": "Нажмите и удерживайте кнопку «Поделиться», чтобы выбрать качество изображения перед отправкой.",
@@ -2078,7 +2093,6 @@
"shared_link_password_description": "Требовать пароль для доступа к объектам",
"shared_links": "Публичные ссылки",
"shared_links_description": "Делитесь фотографиями и видео по ссылке",
"shared_photos_and_videos_count": "{assetCount, plural, other {# фото и видео.}}",
"shared_with": "Доступно для",
"shared_with_count": "Общие ({count})",
"shared_with_me": "Доступные мне",
@@ -2206,6 +2220,8 @@
"theme": "Тема",
"theme_selection": "Выбор темы",
"theme_selection_description": "Автоматически устанавливать светлую или тёмную тему в зависимости от настроек вашего браузера",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Прокручивать ленту плавно при перетаскивании полосы прокрутки, без переходов по месяцам",
"theme_setting_asset_list_smooth_scrubbing_title": "Плавная прокрутка ленты",
"theme_setting_asset_list_storage_indicator_title": "Отображать индикатор хранилища на плитках объектов",
"theme_setting_asset_list_tiles_per_row_title": "Количество объектов в строке ({count})",
"theme_setting_colorful_interface_subtitle": "Добавить оттенок к фону.",
@@ -2246,6 +2262,8 @@
"trigger": "Триггер",
"trigger_asset_metadata_extraction": "Извлечение метаданных объекта",
"trigger_asset_metadata_extraction_description": "Срабатывает при извлечении EXIF метаданных объекта",
"trigger_asset_ocr_extraction": "Извлечение текста (OCR)",
"trigger_asset_ocr_extraction_description": "Срабатывает при распознавании текста с помощью OCR",
"trigger_asset_tagged": "Добавление тега",
"trigger_asset_tagged_description": "Срабатывает при добавлении тега к объекту",
"trigger_asset_uploaded": "Загрузка объекта",
@@ -2321,7 +2339,7 @@
"user": "Пользователь",
"user_has_been_deleted": "Этот пользователь был удалён.",
"user_id": "ID пользователя",
"user_liked": "Пользователю {user} нравится {type, select, photo {это фото} video {это видео} asset {этот объект} other {этот альбом}}",
"user_liked": "Пользователю {user} нравится {type, select, image {это фото} video {это видео} other {это}}",
"user_pin_code_settings": "PIN-код",
"user_pin_code_settings_description": "Настройка PIN-кода для доступа к личной папке",
"user_privacy": "Конфиденциальность пользователя",
+29 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Príkaz {command} zlyhal pre úlohu: {job}",
"force_delete_user_warning": "VAROVANIE: Toto okamžite odstráni používateľa a všetky položky. Tento krok nie je možné vrátiť späť a súbory nebude možné obnoviť.",
"image_format": "Formát",
"image_format_description": "WebP vytvára menšie súbory ako JPEG, ale kódovanie je pomalšie.",
"image_format_description": "WebP vytvára menšie súbory ako JPEG, ale jeho kódovanie trvá dlhšie. Formát JPEG XL je najlepšou voľbou pre kompresiu vo vysokej kvalite, avšak nie všetky prehliadače a aplikácie ho dokážu zobraziť.",
"image_fullsize_description": "Obrázok v plnom rozlíšení s odstránenými metadátami, používané pri priblížení",
"image_fullsize_enabled": "Povolenie generovania obrázkov v plnej veľkosti",
"image_fullsize_enabled_description": "Generovať obrázok v plnej veľkosti pre formáty, ktoré nie sú vhodné pre web. Ak je zapnutá možnosť „Uprednostniť vložený náhľad“, vložené náhľady sa použijú priamo bez konverzie. Nemá vplyv na formáty vhodné pre web, ako je JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Kvalita náhľadu v stupnici od 1 do 100. Vyššia hodnota znamená lepšiu kvalitu, ale produkuje väčšie súbory a môže znížiť odozvu aplikácie. Nastavenie nižšej hodnoty môže ovplyvniť kvalitu strojového učenia.",
"image_preview_title": "Náhľady",
"image_progressive": "Progresívne",
"image_progressive_description": "Progresívne kódovať JPEG obrázky pre postupné načítanie zobrazenia. Toto nemá žiadny vplyv na WebP obrázky.",
"image_progressive_description": "Progresívne kódovať JPEG obrázky pre postupné načítanie zobrazenia. Na ostatné formáty to nemá žiadny vplyv.",
"image_quality": "Kvalita",
"image_resolution": "Rozlíšenie",
"image_resolution_description": "Vyššie rozlíšenie môže zachovať viac detailov, ale kódovanie trvá dlhšie, súbory sú väčšie a môže to znížiť rýchlosť odozvy aplikácie.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Časový limit požiadavky",
"oauth_timeout_description": "Časový limit pre požiadavky v milisekundách",
"ocr_job_description": "Použiť strojové učenie na rozpoznávanie textu na obrázkoch",
"passkey_additional_domains": "Ďalšie domény",
"passkey_additional_domains_description": "Ďalšie dôveryhodné domény (požiadavky súvisiace s pôvodom). Tieto budú fungovať len vtedy, ak je dostupná aj doména s prístupovým kľúčom.",
"passkey_domain": "Doména s prístupovým kľúčom",
"passkey_domain_description": "Doména používaná pre prístupové kľúče (dôverujúca strana). Nechajte pole prázdne, aby sa hodnota odvodila z hlavičky pôvodu. Zmena tejto hodnoty spôsobí, že existujúce prístupové kľúče prestanú fungovať.",
"passkey_enable_description": "Prihláste sa pomocou prístupového kľúča",
"passkey_settings": "Prihlásenie pomocou prístupového kľúča",
"passkey_settings_description": "Spravovať nastavenia prihlásenia pomocou prístupového kľúča",
"password_enable_description": "Prihlásiť sa pomocou emailu a hesla",
"password_settings": "Prihlásenie cez heslo",
"password_settings_description": "Spravovať nastavenia prihlásenia cez heslo",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Vymazať len zálohované",
"delete_local_dialog_ok_force": "Napriek tomu vymazať",
"delete_others": "Vymazať ostatné",
"delete_passkey": "Vymazať prístupový kľúč",
"delete_passkey_prompt": "Naozaj chcete tento prístupový kľúč vymazať?",
"delete_permanently": "Natrvalo odstrániť",
"delete_permanently_action_prompt": "{count} natrvalo odstránených",
"delete_shared_link": "Odstrániť zdieľaný odkaz",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "{count} poloha upravená",
"edit_location_dialog_title": "Poloha",
"edit_name": "Upraviť meno",
"edit_passkey": "Upraviť prístupový kľúč",
"edit_people": "Upraviť osoby",
"edit_person": "Upraviť osobu",
"edit_tag": "Upraviť štítok",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video nasnímané} other {Obrázok odfotený}} dňa {date} v {city}, {country} s {person1}, {person2} a {person3}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video nasnímané} other {Obrázok odfotený}} v {city}, {country} s {person1}, {person2} a {additionalCount, number} inými dňa {date}",
"immich_logo": "Logo Immich",
"immich_web_interface": "Webové rozhranie Immich",
"import_from_json": "Importovať z JSON",
"import_path": "Cesta na import",
"in_albums": "V {count, plural, one {# albume} other {# albumoch}}",
@@ -1287,6 +1296,7 @@
"last": "Posledné",
"last_months": "{count, plural, one {Minulý mesiac} few {Posledné # mesiace} other {Posledných # mesiacov}}",
"last_seen": "Naposledy videné",
"last_used": "Naposledy použitý",
"latest_version": "Najnovšia verzia",
"latitude": "Zemepisná šírka",
"leave": "Opustiť",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Prihlásenie bolo deaktivované",
"login_password_changed_error": "Nastala chyba pri aktualizovaní hesla",
"login_password_changed_success": "Aktualizácia hesla prebehla úspešne",
"login_with_passkey": "Prihlásiť sa pomocou prístupového kľúča",
"logout_all_device_confirmation": "Ste si istý, že sa chcete odhlásiť zo všetkých zariadení?",
"logout_this_device_confirmation": "Ste si istý, že sa chcete odhlásiť z tohoto zariadenia?",
"logs": "Záznamy",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Prístup k správe médií",
"manage_oauth_account": "Spravovať OAuth účet",
"manage_people": "Spravovať ľudí",
"manage_people_access_description_v2": "Udeľte ostatným používateľom prístup k {count, plural, one {tejto osobe} other {vašim ľuďom}}, čím im umožníte, aby ich mohli zobraziť alebo spravovať vo vašom mene. Táto akcia nespôsobuje zdieľanie žiadnych položiek.",
"manage_person_access": "Spravovať prístup",
"manage_sharing_with_other_users": "Spravovať zdieľania s ostatnými používateľmi",
"manage_sharing_with_partners": "Spravovať zdieľanie s partnermi",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Spravovať vaše API kľúče",
"manage_your_devices": "Spravovať vaše prihlásené zariadenia",
"manage_your_oauth_connection": "Spravovať vaše OAuth spojenia",
"manage_your_passkeys": "Spravujte svoje prístupové kľúče",
"map": "Mapa",
"map_assets_in_bounds": "{count, plural, =0 {V tejto oblasti nie sú žiadne fotky} one {# fotka} few {# fotky} other {# fotiek}}",
"map_cannot_get_user_location": "Nie je možné získať polohu používateľa",
@@ -1528,6 +1541,7 @@
"new_album": "Nový album",
"new_api_key": "Nový API kľúč",
"new_feature": "Nová funkcia",
"new_passkey": "Nový prístupový kľúč",
"new_password": "Nové heslo",
"new_person": "Nová osoba",
"new_pin_code": "Nový PIN kód",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Zdieľanie s partnerom",
"partners": "Partneri",
"partners_description": "Zdieľajte svoje fotografie a videá s ostatnými používateľmi",
"passkeys": "{count, plural, one {prístupový kľúč} few {prístupové kľúče} other {prístupových kľúčov}}",
"passkeys_not_supported": "Tento prehliadač nepodporuje prístupové kľúče",
"password": "Heslo",
"password_does_not_match": "Heslá sa nezhodujú",
"password_required": "Heslo je povinné",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {Odstránených #}} z obľúbených",
"removed_from_stack": "Položka bola odstránená zo zoskupenia",
"removed_memory": "Spomienka bola odstránená",
"removed_passkey": "Odstránený prístupový kľúč: {name}",
"removed_tagged_assets": "Odstránený štítok z {count, plural, one {# položky} other {# položiek}}",
"rename": "Premenovať",
"repository": "Repozitár",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Ak je táto funkcia povolená, môžete prejsť na predchádzajúci/nasledujúci obrázok ťuknutím na ľavú/pravú štvrtinu obrazovky.",
"setting_image_navigation_enable_title": "Ťuknutím prechádzajte obrázkami",
"setting_image_navigation_title": "Prechádzanie obrázkov",
"setting_image_viewer_help": "V detailnom prehliadači sa najprv načíta malá miniatúra, potom sa načíta stredne veľký náhľad (ak je povolený) a nakoniec sa načíta originál (ak je povolený).",
"setting_image_viewer_help": "Prehliadač obrázkov najskôr načíta malú miniatúru, potom stredne veľký náhľad a nakoniec originál (ak je táto funkcia povolená).",
"setting_image_viewer_original_subtitle": "Povolením umožníte načítať pôvodný obrázok v plnom rozlíšení (veľký!). Zakázaním znížite používania dát (v sieti, aj v dočasnej pamäte zariadenia).",
"setting_image_viewer_original_title": "Načítať pôvodný obrázok",
"setting_image_viewer_preview_subtitle": "Povolením umožníte načítať obrázok so stredným rozlíšením. Zakážte, ak chcete priamo načítať originál alebo použiť iba miniatúru.",
"setting_image_viewer_preview_title": "Načítať náhľad obrázka",
"setting_languages_apply": "Použiť",
"setting_languages_subtitle": "Zmeniť jazyk aplikácie",
"setting_notifications_notify_minutes": "{count} minút",
@@ -2009,8 +2024,9 @@
"share_everyone": "Zdieľať všetkých",
"share_everyone_description": "Umožniť používateľovi {user} prístup ku všetkým vašim ľuďom.",
"share_link": "Zdieľať odkaz",
"share_logs": "Zdieľať záznamy",
"share_original": "Použiť originál (veľký)",
"share_preview": "Použiť miniatúru (malý)",
"share_preview": "Použiť náhľad (malý)",
"share_quality_body": "Stlačte a podržte tlačidlo zdieľať pre výber kvality obrázka.",
"share_quality_title": "Vyberte kvalitu obrázka na zdieľanie",
"share_with": "Zdieľať prístup s",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Vyžadovať heslo pre prístup k tomuto zdieľanému odkazu",
"shared_links": "Zdieľané odkazy",
"shared_links_description": "Zdieľajte fotografie a videá pomocou odkazu",
"shared_photos_and_videos_count": "{assetCount, plural, few {# zdieľané fotky a videá.} other {# zdieľaných fotiek a videí.}}",
"shared_with": "Zdieľané s",
"shared_with_count": "Zdieľaných ({count})",
"shared_with_me": "Zdieľané so mnou",
@@ -2188,6 +2203,8 @@
"theme": "Téma",
"theme_selection": "Výber témy",
"theme_selection_description": "Automaticky nastaví tému na svetlú alebo tmavú podľa systémových predvolieb v prehliadači",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Pri ťahaní posuvníka sa má obrazovka posúvať plynule, namiesto toho, aby sa zastavovala na jednotlivých mesiacoch",
"theme_setting_asset_list_smooth_scrubbing_title": "Plynulé posúvanie časovej osi",
"theme_setting_asset_list_storage_indicator_title": "Zobraziť indikátor úložiska na dlaždiciach médií",
"theme_setting_asset_list_tiles_per_row_title": "Počet položiek na riadok ({count})",
"theme_setting_colorful_interface_subtitle": "Použiť základnú farbu na plochy na pozadí.",
@@ -2228,6 +2245,8 @@
"trigger": "Spúšťač",
"trigger_asset_metadata_extraction": "Extrakcia metadát položky",
"trigger_asset_metadata_extraction_description": "Spustí sa pri extrakcii EXIF metadát z mediálneho súboru",
"trigger_asset_ocr_extraction": "Extrakcia textu z položiek pomocou OCR",
"trigger_asset_ocr_extraction_description": "Spustí sa pri extrakcii textu z položiek pomocou OCR",
"trigger_asset_tagged": "Položka označená štítkom",
"trigger_asset_tagged_description": "Spustí sa, keď sa k položke pridá štítok",
"trigger_asset_uploaded": "Nahranie položiek",
@@ -2303,7 +2322,7 @@
"user": "Používateľ",
"user_has_been_deleted": "Tento používateľ bol vymazaný.",
"user_id": "ID používateľa",
"user_liked": "Používateľovi {user} sa páči {type, select, photo {táto fotka} video {toto video} asset {táto položka} other {toto}}",
"user_liked": "Používateľovi {user} sa páči {type, select, image {táto fotka} video {toto video} other {toto}}",
"user_pin_code_settings": "PIN kód",
"user_pin_code_settings_description": "Spravujte svoj PIN kód",
"user_privacy": "Ochrana osobných údajov používateľa",
@@ -2339,6 +2358,7 @@
"view_group": "Zobraziť skupinu",
"view_in_timeline": "Zobraziť v časovej osi",
"view_link": "Zobraziť odkaz",
"view_more": "Zobraziť viac",
"view_name": "Zobraziť",
"view_next_asset": "Zobraziť nasledujúci súbor",
"view_previous_asset": "Zobraziť predchádzajúci súbor",
+27 -9
View File
@@ -86,7 +86,7 @@
"failed_job_command": "Za opravilo {job} ukaz {command} ni uspel",
"force_delete_user_warning": "OPOZORILO: S tem boste takoj odstranili uporabnika in vsa sredstva. Tega ni mogoče razveljaviti in datotek ni mogoče obnoviti.",
"image_format": "Format",
"image_format_description": "WebP ustvari manjše datoteke kot JPEG, vendar je počasnejši za kodiranje.",
"image_format_description": "WebP ustvarja manjše datoteke kot JPEG, vendar je kodiranje počasnejše. JPEG XL je najboljša izbira za visokokakovostno stiskanje, vendar ga ne morejo prikazati vsi brskalniki in aplikacije.",
"image_fullsize_description": "Slika v polni velikosti brez metapodatkov, uporabljena pri povečavi",
"image_fullsize_enabled": "Omogoči ustvarjanje slik v polni velikosti",
"image_fullsize_enabled_description": "Ustvari sliko v polni velikosti za formate, ki niso prijazni spletu. Ko je omogočena možnost »Prednostno vdelani predogled«, se vdelani predogledi uporabljajo neposredno brez pretvorbe. Ne vpliva na spletu prijazne formate, kot je JPEG.",
@@ -100,7 +100,7 @@
"image_preview_quality_description": "Kakovost predogleda od 1-100. Višje je boljše, vendar ustvarja večje datoteke in lahko zmanjša odzivnost aplikacije. Nastavitev nizke vrednosti lahko vpliva na kakovost strojnega učenja.",
"image_preview_title": "Nastavitve predogleda",
"image_progressive": "Napredno",
"image_progressive_description": "Za postopno nalaganje slik JPEG kodirajte postopoma. To ne vpliva na slike WebP.",
"image_progressive_description": "Slike JPEG kodirajte progresivno, da se med nalaganjem postopoma izrišejo. Na druge formate to nima vpliva.",
"image_quality": "Kvaliteta",
"image_resolution": "Resolucija",
"image_resolution_description": "Višje ločljivosti lahko ohranijo več podrobnosti, vendar kodiranje traja dlje, imajo večje velikosti datotek in lahko zmanjšajo odzivnost aplikacije.",
@@ -323,6 +323,13 @@
"oauth_timeout": "Časovna omejitev zahteve",
"oauth_timeout_description": "Časovna omejitev za zahteve v milisekundah",
"ocr_job_description": "Uporaba strojnega učenja za prepoznavanje besedila na slikah",
"passkey_additional_domains": "Dodatne domene",
"passkey_additional_domains_description": "Dodatne, zaupanja vredne domene (zahteve, povezane z izvorom). Te bodo delovale le, če je dostopna tudi domena ključa za dostop (passkey).",
"passkey_domain": "Domena za ključ za dostop",
"passkey_domain_description": "Domena, uporabljena za ključe za dostop (stranka, ki se zanaša). Pustite prazno, da se vrednost določi iz glave \"origin\". Sprememba te vrednosti bo povzročila, da obstoječi ključi za dostop ne bodo več delovali.",
"passkey_enable_description": "Prijava s ključem za dostop",
"passkey_settings": "Prijava s ključem za dostop",
"passkey_settings_description": "Upravljajte nastavitve prijave s ključi za dostop",
"password_enable_description": "Prijava z e-pošto in geslom",
"password_settings": "Prijava z geslom",
"password_settings_description": "Upravljajte nastavitve prijave z geslom",
@@ -873,6 +880,8 @@
"delete_local_dialog_ok_backed_up_only": "Izbriši samo kar je varnostno kopirano",
"delete_local_dialog_ok_force": "Vseeno izbriši",
"delete_others": "Izbriši ostale",
"delete_passkey": "Izbriši ključ za dostop",
"delete_passkey_prompt": "Ali ste prepričani, da želite izbrisati ta ključ za dostop?",
"delete_permanently": "Izbriši trajno",
"delete_permanently_action_prompt": "{count} trajno izbrisano",
"delete_shared_link": "Izbriši povezavo skupne rabe",
@@ -942,6 +951,7 @@
"edit_location_action_prompt": "urejenih {count} lokacij",
"edit_location_dialog_title": "Lokacija",
"edit_name": "Uredi ime",
"edit_passkey": "Uredi ključ za dostop",
"edit_people": "Uredi osebe",
"edit_person": "Uredi osebo",
"edit_tag": "Uredi oznako",
@@ -1239,7 +1249,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Image}} zajet/a/e/i v/na {city}, {country} s/z {person1}, {person2} in {person3} dne {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Image}} zajet/a/e/i v/na {city}, {country} s/z {person1}, {person2} on ostalimi {additionalCount, number} osebami dne {date}",
"immich_logo": "Immich logo",
"immich_web_interface": "Immich spletni vmesnik",
"import_from_json": "Uvoz iz JSON",
"import_path": "Pot uvoza",
"in_albums": "V {count, plural, one {# album} two {# albuma} few {# albume} other {# albumov}}",
@@ -1287,6 +1296,7 @@
"last": "Zadnji",
"last_months": "{count, plural, one {Zadnji mesec} two {Zadnja # meseca} few {Zadnje # mesece} other {Zadnjih # mesecev}}",
"last_seen": "Nazadnje viden",
"last_used": "Nazadnje uporabljeno",
"latest_version": "Najnovejša različica",
"latitude": "Zemljepisna širina",
"leave": "Zapusti",
@@ -1362,6 +1372,7 @@
"login_has_been_disabled": "Prijava je bila onemogočena",
"login_password_changed_error": "Pri posodabljanju gesla je prišlo do napake",
"login_password_changed_success": "Geslo je bilo uspešno posodobljeno",
"login_with_passkey": "Prijava s ključem za dostop",
"logout_all_device_confirmation": "Ali ste prepričani, da želite odjaviti vse naprave?",
"logout_this_device_confirmation": "Ali ste prepričani, da se želite odjaviti iz te naprave?",
"logs": "Dnevniki",
@@ -1401,6 +1412,7 @@
"manage_media_access_title": "Dostop do upravljanja medijev",
"manage_oauth_account": "Upravljanje računa OAuth",
"manage_people": "Upravljanje ljudi",
"manage_people_access_description_v2": "Omogočite drugim uporabnikom dostop do {count, plural, one {te osebe} other {vaših oseb}}, kar jim omogoča ogled ali upravljanje teh podatkov v vašem imenu. To dejanje ne deli nobenih sredstev.",
"manage_person_access": "Upravljanje dostopa",
"manage_sharing_with_other_users": "Upravljanje deljenja z drugimi uporabniki",
"manage_sharing_with_partners": "Upravljajte skupno rabo s partnerji",
@@ -1409,6 +1421,7 @@
"manage_your_api_keys": "Upravljajte svoje API ključe",
"manage_your_devices": "Upravljajte svoje prijavljene naprave",
"manage_your_oauth_connection": "Upravljajte svojo OAuth povezavo",
"manage_your_passkeys": "Upravljajte svoje ključe za dostop",
"map": "Zemljevid",
"map_assets_in_bounds": "{count, plural, =0 {Na tem območju ni fotografij} one {# fotografija} two {# fotografiji} few{# fotografije} other {# fotografij}}",
"map_cannot_get_user_location": "Lokacije uporabnika ni mogoče dobiti",
@@ -1528,6 +1541,7 @@
"new_album": "Nov album",
"new_api_key": "Nov API ključ",
"new_feature": "Nova funkcija",
"new_passkey": "Nov ključ za dostop",
"new_password": "Novo geslo",
"new_person": "Nova oseba",
"new_pin_code": "Nova PIN koda",
@@ -1640,6 +1654,8 @@
"partner_sharing": "Skupna raba s partnerjem",
"partners": "Partnerji",
"partners_description": "Delite svoje fotografije in videoposnetke z drugimi uporabniki",
"passkeys": "{count, plural, one {Ključ za dostop} two {Ključa za dostop} few {Ključi za dostop} other {Ključev za dostop}}",
"passkeys_not_supported": "Ta brskalnik ne podpira ključev za dostop",
"password": "Geslo",
"password_does_not_match": "Geslo se ne ujema",
"password_required": "Zahtevano je geslo",
@@ -1824,6 +1840,7 @@
"removed_from_favorites_count": "{count, plural, other {odstranen/ih #}} iz priljubljenih",
"removed_from_stack": "Sredstvo je bilo odstranjeno iz sklada",
"removed_memory": "Odstranjen spomin",
"removed_passkey": "Odstranjen ključ za dostop: {name}",
"removed_tagged_assets": "Odstranjena oznaka iz {count, plural, one {# sredstva} other {# sredstev}}",
"rename": "Preimenuj",
"repository": "Repozitorij",
@@ -1985,11 +2002,9 @@
"setting_image_navigation_enable_subtitle": "Če je omogočeno, se lahko na prejšnjo/naslednjo sliko premaknete tako, da se dotaknete skrajne leve/desne četrtine zaslona.",
"setting_image_navigation_enable_title": "Dotaknite se za usmerjanje",
"setting_image_navigation_title": "Usmerjanje slik",
"setting_image_viewer_help": "Pregledovalnik podrobnosti najprej naloži majhno sličico, nato naloži predogled srednje velikosti (če je omogočen), na koncu naloži izvirnik (če je omogočen).",
"setting_image_viewer_help": "Pregledovalnik podrobnosti najprej naloži majhno sličico, nato predogled srednje velikosti in na koncu naloži izvirnik (če je omogočen).",
"setting_image_viewer_original_subtitle": "Omogoči nalaganje originalne slike polne ločljivosti (velike!). Onemogočite, da zmanjšate porabo podatkov (tako v omrežju kot v predpomnilniku naprave).",
"setting_image_viewer_original_title": "Naloži originalno sliko",
"setting_image_viewer_preview_subtitle": "Omogoči nalaganje slike srednje ločljivosti. Onemogočite neposredno nalaganje izvirnika ali uporabo samo sličice.",
"setting_image_viewer_preview_title": "Naloži predogled slike",
"setting_languages_apply": "Uporabi",
"setting_languages_subtitle": "Spremeni jezik aplikacije",
"setting_notifications_notify_minutes": "{count} minut",
@@ -2009,8 +2024,9 @@
"share_everyone": "Deli z vsemi",
"share_everyone_description": "Omogočite uporabniku {user} dostop do vseh svojih oseb.",
"share_link": "Deli povezavo",
"share_logs": "Deli dnevnike",
"share_original": "Uporabi izvirno (veliko)",
"share_preview": "Uporabi sličico (majhno)",
"share_preview": "Uporabi predogled (majhen)",
"share_quality_body": "Pritisnite in držite gumb za deljenje, da izberete kakovost slike, preden jo delite.",
"share_quality_title": "Izberite kakovost delitve",
"share_with": "Deli dostop s/z",
@@ -2060,7 +2076,6 @@
"shared_link_password_description": "Za dostop do te deljene povezave je potrebno geslo",
"shared_links": "Povezave v skupni rabi",
"shared_links_description": "Deli fotografije in videoposnetke s povezavo",
"shared_photos_and_videos_count": "{assetCount, plural, other {# deljenih fotografij & videoposnetkov.}}",
"shared_with": "Deljeno z/s",
"shared_with_count": "Deljeno ({count})",
"shared_with_me": "Deljeno z mano",
@@ -2188,6 +2203,8 @@
"theme": "Tema",
"theme_selection": "Izbira teme",
"theme_selection_description": "Samodejno nastavi temo na svetlo ali temno glede na sistemske nastavitve brskalnika",
"theme_setting_asset_list_smooth_scrubbing_subtitle": "Med vlečenjem drsnega traku se pomikajte neprekinjeno, namesto da bi se zaskočili na mesece",
"theme_setting_asset_list_smooth_scrubbing_title": "Tekoče pomikanje po časovnici",
"theme_setting_asset_list_storage_indicator_title": "Pokaži indikator shrambe na ploščicah sredstev",
"theme_setting_asset_list_tiles_per_row_title": "Število sredstev na vrstico ({count})",
"theme_setting_colorful_interface_subtitle": "Nanesi primarno barvo na površine ozadja.",
@@ -2303,7 +2320,7 @@
"user": "Uporabnik",
"user_has_been_deleted": "Ta uporabnik je bil izbrisan.",
"user_id": "ID uporabnika",
"user_liked": "{user} je všeč {type, select, photo {ta fotografija} video {ta video} asset {to sredstvo} other {to}}",
"user_liked": "{user} je všeč {type, select, image {ta fotografija} video {ta videoposnetek} other {to}}",
"user_pin_code_settings": "PIN koda",
"user_pin_code_settings_description": "Upravljaj svojo PIN kodo",
"user_privacy": "Zasebnost uporabnika",
@@ -2339,6 +2356,7 @@
"view_group": "Ogled skupine",
"view_in_timeline": "Ogled na časovnici",
"view_link": "Odpri povezavo",
"view_more": "Oglejte si več",
"view_name": "Pogled",
"view_next_asset": "Ogled naslednjega sredstva",
"view_previous_asset": "Ogled prejšnjega sredstva",
-1
View File
@@ -1224,7 +1224,6 @@
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Imazh}} i realizuar në {city}, {country} me {person1}, {person2} dhe {person3} më {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Imazh}} i realizuar në {city}, {country} me {person1}, {person2} dhe {additionalCount, number} të tjerë më {date}",
"immich_logo": "Logoja e Immich",
"immich_web_interface": "Ndërfaqja Web e Immich",
"import_from_json": "Importo nga JSON",
"import_path": "Shtegu i importimit",
"in_albums": "Në {count, plural, one {# album} other {# albume}}",

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