Compare commits

...

186 Commits

Author SHA1 Message Date
shenlong-tanwen
c756b3584b fix: incorrect time buckets and group by d-m-y 2025-03-25 23:50:26 +05:30
shenlong-tanwen
3a4e9a0129 timeline monster 2025-03-19 01:12:39 +05:30
shenlong-tanwen
6311ecadd4 timeline go brrrrr 2025-03-19 00:03:45 +05:30
shenlong-tanwen
b82b9a550a Merge tag 'v1.129.0' into refactor/mobile-v2
# Conflicts:
#	mobile/lib/pages/common/app_log.page.dart
2025-03-14 21:51:59 +05:30
github-actions
31dd15ce8a chore: version v1.129.0 2025-03-05 19:47:50 +00:00
Alex
6108587c8b fix(web): show tags timeline (#16617)
* fix(web): show tags timeline

* fix(web): show tags timeline
2025-03-05 13:36:56 -06:00
Alex
3e50f668d9 feat(mobile): add catalan i18n (#16616)
* feat(mobile): Add Catalan

* refactor

* fix: load correct file

* chore: remove unused language files
2025-03-05 11:47:31 -06:00
Daniel Dietzler
9b82617e22 docs: 60k stars! (#16618)
60k stars! 
2025-03-05 11:40:45 -06:00
Alex
76cb32d8d0 chore(mobile): translations update (#16615)
chore(mobile): translation update
2025-03-05 16:33:41 +00:00
Yaros
e8f3348833 fix(mobile): Fixed zh-Hans not persisting (#16608)
Fixed zh-Hans not persisting
2025-03-05 09:56:00 -06:00
Zack Pollard
9922c8de59 fix: storage template failure after re-upload and previous fail (#16611)
fix: storage template breaks when files are re-uploaded after a move failure
2025-03-05 15:00:37 +00:00
shenlong
3f4bbab4eb fix: isar crash on resume from app detach (#16599)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-05 08:28:40 -06:00
Jason Rasmussen
2da9e3152b refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
Min Idzelis
56b85f7479 fix(web): fix lost scrollpos on deep link to timeline asset, scrub stop (#16305)
* Work in progress - super quick asset store->state

* bugfix: deep linking to timeline, on scrub stop

* format, remove stale

* disable test, todo: fix test

* remove unused import

* Fix merge

* lint

* lint

* lint

* Default to non-wasm layout

* lint

* intobs fix

* fix rejected promise

* Review comments, static import wasm

* Back to dynamic

* try top-level-await

* back to the first solution, with more finesse

* comment out wasm for now

* back out the wasm/thumbhash/thumbnail changes

* lint

* Fully remove wasm

* lockfile

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-04 20:34:53 -06:00
waclaw66
8b43066632 fix(mobile): .well-known usage (#16577)
fix: .well-known

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-04 20:25:57 -06:00
bo0tzz
20acdcd884 chore: run docker workflow on non-main PRs (#16582) 2025-03-05 02:15:17 +00:00
Jonathan Jogenfors
22d348beca feat(server): e2e for missing jobs (#15910)
* feat: test face detection

* Add duplicate and smart search fixes and tests

* do e2e instead

* Remove ML e2e jobs
2025-03-04 20:44:31 -05:00
shenlong
3b0af1c8a9 fix(mobile): do not pause audio on app start (#16596)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-03-04 16:00:01 -06:00
Mert
61c8237a4d fix(ml): set face detection threshold correctly in locust (#13419)
* set minScore correctly

* cleanup

* remove outdated tag score
2025-03-04 20:52:07 +00:00
Jason Rasmussen
d740f0283a chore: no more immortal PRs (#16595) 2025-03-04 15:06:41 -05:00
Jonathan Jogenfors
4ada28ac99 fix(server): check updateLibraryIndex for zero (#16585)
* fix(server): check updateLibraryIndex for zero

* Update web/src/routes/admin/library-management/+page.svelte

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-03-04 20:00:10 +00:00
Jason Rasmussen
63c01b78e2 refactor: test utils (#16588) 2025-03-04 16:15:41 +00:00
renovate[bot]
1423cfd53c chore(deps): update ghcr.io/immich-app/base-server-dev docker tag to v20250304 (#16580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 15:39:34 +00:00
Snowknight26
867eec86f5 fix(web): Update menu titles to be more consistent (#16558) 2025-03-04 12:55:54 +00:00
Alex
86e8effd8e fix(mobile): incorrect memories with timezone (#16562) 2025-03-04 12:54:54 +00:00
Jonathan Jogenfors
49d393216a fix(server): fix import path truthiness check (#16570) 2025-03-04 12:54:12 +00:00
renovate[bot]
75c9f63757 chore(deps): update typescript-projects (#16573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 12:53:28 +00:00
Kofi
63984890df docs: clean up environment variables formatting & grammar (#16555)
docs: clean up environment variables formatting & grammar - Just going through the docs and noticed some inconsistent capitalization and minor grammar issues. Fixed them up while having my Monday coffee :) Nothing major, but makes the docs a bit more polished.
2025-03-04 05:00:27 +00:00
Jason Rasmussen
1356468c38 fix: reset/regenerate memories (#16548)
fix: reset memories
2025-03-03 23:48:05 -05:00
renovate[bot]
c23c53bf6f fix(deps): update machine-learning (#16560) 2025-03-04 01:42:35 +00:00
renovate[bot]
0dcfc43461 chore(deps): update node (#16538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:31:34 -05:00
Jason Rasmussen
d1fd0076cc refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00
Zack Pollard
ff19502035 feat: qr code for new shared link (#16543) 2025-03-03 13:40:41 -05:00
renovate[bot]
6ef069b537 chore(deps): update github-actions (#16539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 18:39:15 +00:00
Matthew Momjian
a03e999bde fix(docs): info on preloading ML models (#16452)
info on preload
2025-03-03 18:39:02 +00:00
aviv926
ad1ba4be5f docs: better facial recognition cluster guide (#14911)
* Better Facial Recognition Clusters

* Add information about the guide

* Update docs/docs/features/facial-recognition.md

Co-authored-by: Felix Bühler <Stunkymonkey@users.noreply.github.com>

* PR Feedback

---------

Co-authored-by: Felix Bühler <Stunkymonkey@users.noreply.github.com>
2025-03-03 18:33:32 +00:00
Alessandro Baroni
f89e74181b fix(web): delete action closes asset viewer in asset view (#15469)
fixes #14647
2025-03-03 18:24:37 +00:00
Eli Gao
e2c34f17ba feat(cli): watch paths for auto uploading daemon (#14923)
* feat(cli): watch paths for auto uploading daemon

* chore: update package-lock

* test(cli): Batcher util calss

* feat(cli): expose batcher params from startWatch()

* test(cli): startWatch() for `--watch`

* refactor(cli): more reliable watcher

* feat(cli): disable progress bar on --no-progress or --watch

* fix(cli): extensions match when upload with watch

* feat(cli): basic logs without progress on upload

* feat(cli): hide progress in uploadFiles()

* refactor(cli): use promise-based setTimeout() instead of hand crafted sleep()

* refactor(cli): unexport UPLOAD_WATCH consts

* refactor(cli): rename fsWatchListener() to onFile()

* test(cli): prefix dot to mocked getSupportedMediaTypes()

* test(cli): add tests for ignored patterns/ unsupported exts

* refactor(cli): minor changes for code reviews

* feat(cli): disable onFile logs when progress bar is enabled
2025-03-03 13:05:32 -05:00
Zack Pollard
23b1256592 ci: weblate checks should always run, should skip on en.json (#16544) 2025-03-03 17:12:26 +00:00
Yaros
7bbc1d9f68 feat(web): Video memories on web (#16500)
* Video memories on web

* switched mixed up strings
2025-03-03 09:54:26 -06:00
renovate[bot]
8b24c31d20 fix(deps): update typescript-projects (#16540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 09:38:24 -06:00
shenlong
7f61ac6983 chore(mobile): fix store.put type def (#16517)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-03-03 09:11:13 -06:00
shenlong
4db8f0c666 refactor(mobile): move timeline methods to timeline repo (#16526)
* refactor: move timeline calls to timeline repo

* refactor: review changes

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-03-03 09:10:09 -06:00
renovate[bot]
3d6a6f77a8 chore(deps): update dependency eslint-plugin-svelte to v3 (#16532)
* chore(deps): update dependency eslint-plugin-svelte to v3

* chore: linting

* chore: rebase

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-03 14:24:26 +00:00
Mert
5698f446f7 refactor(server): link live photos as part of metadata extraction instead of queueing job (#16390)
* link live photos helper instead of job

* update test

* queue storage template migration

* queue in onDone

* remove link live photos job
2025-03-03 09:19:36 -05:00
renovate[bot]
eb74fafb00 chore(deps): update dependency globals to v16 (#16534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 14:11:44 +00:00
Zack Pollard
24da25dbbf ci: don't check weblate lock on chore/translations and add success job (#16533) 2025-03-03 13:22:33 +01:00
renovate[bot]
9b842d4cca chore(deps): update tensorchord/pgvecto-rs:pg14-v0.2.0 docker digest to 739cdd6 (#16530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 12:13:38 +00:00
renovate[bot]
a99bd94717 fix(deps): update dependency ua-parser-js to v2 (#14301)
* fix(deps): update dependency ua-parser-js to v2

* fix: breaking changes from ua-parsed-js major update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-03 12:01:40 +00:00
renovate[bot]
4b568dcbb3 chore(deps): update dependency black to v25 (#16033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 11:57:46 +00:00
renovate[bot]
12ab56c885 chore(deps): update prom/prometheus docker digest to 6927e09 (#16529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 11:52:22 +00:00
renovate[bot]
eed6465b41 chore(deps): update grafana/grafana docker tag to v11.5.2 (#16301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 11:51:44 +00:00
renovate[bot]
5f6c16080b chore(deps): update docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0 docker digest to 739cdd6 (#16528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 11:51:13 +00:00
Alex
a2aab1f373 fix: don't use public keyword in migration query (#16514)
Co-authored-by: Zack Pollard <zack@futo.org>
2025-03-03 11:40:14 +00:00
bo0tzz
8e076ecfe4 feat: weblate checks workflow (#16251) 2025-03-03 11:39:53 +00:00
Zack Pollard
fe702ba6d7 feat: partner sync (#16424)
feat: partner CUD sync
2025-03-03 11:05:30 +00:00
Jonathan Jogenfors
869839f642 feat(server): library cleanup from ui (#16226)
* feat(server,web): scan all libraries from frontend

* feat(server,web): scan all libraries from frontend

* Add button text
2025-03-02 21:29:02 -06:00
Justin Cichra
8885e3105e chore: reword backup_manual_in_progress (#16513)
fix(i18n): reword backup_manual_in_progress

Split "sometime" into "some time".
2025-03-03 03:27:20 +00:00
bo0tzz
6e51c4ec71 chore: add extra note to no-dupes checkbox (#16499) 2025-03-02 21:02:36 -06:00
knechtandreas
6bf2e8dbcb feat: add album keyboard shortcuts (#16442)
* 15712: Added keyboard shortcuts for opening add to album modal and highlighting/selecting an album to add to.

* 15712: Re-factored logic from template code into script. Extracted new album button into separate cmponent.

* 15712: Document new keyboard shortucts now that they work everywhere.

* 15712: Extract some constants/helper functions.

* 15712: Missing comma.

* 15712: Pulled logic out into separate unit testable class.

* 15712: Added a unit test.

* 15712: Move the modal back up to keep the github PR happy.

* 15712: PR feedback - renamed typescript files and switch to class bind directive.

* 15712:Move selection modal into correct package.

* 15712: Better naming of module and files.
2025-03-02 13:15:00 +00:00
Yaros
366f23774a fix(web): Default to context search on web (#16485)
Default to context search on web
2025-03-02 13:06:15 +00:00
Yaros
fd5e931617 fix(mobile): Updated formatting of server address in networking (#16483)
* Updated formatting of server address in networking

* fallback for undefined endpoint
2025-03-02 06:58:05 -06:00
shenlong
d8d87bb565 chore(mobile): rename log enum to lowercase (#16476)
* chore(mobile): rename log enum to lowercase

* chore(mobile): do not abbreviate

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-03-02 06:30:48 -06:00
Lukas Jost
6cc1978b2d fix(web): Open huggingface.co link on settings page in new tab (#16470)
fix(web): Open huggingface on settings page in new tab
2025-03-01 23:02:56 +00:00
luzpaz
506d2d0f81 fix(web): fix typos (#16466)
Found via codespell
2025-03-01 16:51:50 -06:00
Yaros
f13d13b2ea fix(web): Fixed people list overflowing in advanced search (#16457)
* Fixed people list overflowing in search

* styling: better fix

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-01 20:34:57 +00:00
Thomas Laroche
2510684bf7 fix(web): unable to download live photo as anonymous user (#16455) 2025-03-01 14:07:19 -06:00
luzpaz
c8eef5ad4d fix(mobile): fix typos (#16456)
Found via codespell
2025-03-01 20:06:47 +00:00
bo0tzz
0cb3dc6211 chore: add 'not duplicate' checkbox to issue template (#16462) 2025-03-01 14:05:36 -06:00
Alex
f11080cc2d chore(mobile): post release task (#16437) 2025-02-28 21:09:09 -06:00
Matthew Momjian
efcf773ea0 feat(server): Shortened asset ID in storage template (#16433)
* Update storage-template.service.ts

* Update supported-variables-panel.svelte

* docs example

* Update storage-template-settings.svelte
2025-02-28 16:04:34 -05:00
github-actions
dc143046e3 chore: version v1.128.0 2025-02-28 18:54:08 +00:00
Jason Rasmussen
e684062569 fix: memories off by one (#16434) 2025-02-28 12:51:28 -06:00
Desmond Cox
5c0538e52c fix(server): stringify error log parameter to ensure correct overload (#16422)
* fix(server): stringify error log parameter to ensure correct overload

The intended error(message, stack, context) overload is only selected if context is a string.

* formatter
2025-02-28 11:50:00 -06:00
Jason Rasmussen
84cf0d1670 fix: duplicate memories (#16432) 2025-02-28 17:49:29 +00:00
Jonathan Jogenfors
bfcde05b1c chore(server): trash e2e cleanup (#16423) 2025-02-28 12:45:30 -05:00
Mert
b3b15e9b61 fix(server): include deleted assets if searching offline assets (#16417)
include deleted assets if searching for offline assets
2025-02-28 09:23:18 -06:00
Zack Pollard
819e56d9ca fix: user delete sync query sort by id (#16420) 2025-02-28 09:22:36 -06:00
shenlong
9a98712db7 fix(mobile): background backup failing due to store (#16418)
fix: background backup failing due to store

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-02-28 07:38:51 -06:00
Alex
a185e06399 fix(server): follow logs level setting (#16415) 2025-02-28 00:35:48 -05:00
Calum Dingwall
f2be9f7ad1 fix(web): person favorite icon bad placement (#16412)
move favorite person icon to top left

fixes #16003

Co-authored-by: Calum Dingwall <caburum@users.noreply.github.com>
2025-02-27 22:15:37 -06:00
Alex
5c879acd5b fix(server): don't show assets that no longer associate with a face (#16404) 2025-02-27 17:02:00 -06:00
shenlong
28c664c769 refactor(mobile): log service (#16383)
refactor: log service

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-02-27 15:18:49 -05:00
Jason Rasmussen
fbd85a89e0 refactor: logger (#16393) 2025-02-27 14:59:50 -05:00
Alex
1c86293035 chore(mobile): update analysis option (#16396)
chore-update-analysis-option
2025-02-27 18:35:28 +00:00
shenlong
4a9d80298b fix(mobile): bootstrap store inside isolates (#16392)
fix: bootstrap store inside isolates

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-27 18:01:36 +00:00
Alex
362feb1e62 feat(web): face tagging dialog enhancement (#16395) 2025-02-27 11:49:07 -06:00
Etienne
5503bf7a60 fix: improve contrast on disabled input field in light mode (#16368) (#16382) 2025-02-27 17:20:03 +00:00
Jonathan Jogenfors
d20e2e268a fix(server): don't reimport files more than once (#16375)
* fix(server) don't reimport files more than once

* fix: test

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-27 16:45:16 +00:00
Mert
a708649504 fix(server): skip stacked assets in duplicate detection (#16380)
* skip stacked assets in duplicate detection

* update sql

* handle stacking after duplicate detection runs
2025-02-27 10:16:13 -06:00
Tom Graham
a808b8610e fix(server): Fix delay with multiple ml servers (#16284)
* Prospective fix for ensuring that known active ML servers are used to reduce search delay.

* Added some logging and renamed backoff const.

* Fix lint issues.

* Update to use env vars for timeouts and updated documentation and strings.

* Fix docs.

* Make counter logic clearer.

* Minor readability improvements.

* Extract  skipUrl logic per feedback, and change log to verbose.

* Make code harder to read.
2025-02-27 10:14:09 -06:00
Alex
c70c9067b0 refactor(mobile): backup provider (#16360)
* refactor(mobile): backup provider

* refactor(mobile): backup provider
2025-02-27 09:56:23 -06:00
Alex
082471dfd9 chore(mobile): post release task (#16349) 2025-02-27 09:46:34 -06:00
Alex
9a098b4658 fix(web): storage template incorrect example (#16367) 2025-02-27 09:46:20 -06:00
immich-tofu[bot]
9d705097e8 chore: modify .github/FUNDING.yml 2025-02-27 14:28:08 +00:00
Mert
6050485ad8 feat(server): set exiftool process count (#16388)
exiftool concurrency control
2025-02-27 09:24:40 -05:00
Zack Pollard
fb907d707d refactor: use new updateId column for user CUD sync (#16384) 2025-02-27 09:22:02 -05:00
Mert
7d6cfd09e6 fix(server): don't expose source types in face creation api (#16381)
* don't expose source types in face creation api

* update open-api

* remove source type reference from web
2025-02-27 17:17:07 +03:00
Zack Pollard
967c69317b feat: updateId uuidv7 column for all entities with updatedAt (#16353) 2025-02-27 12:55:22 +00:00
Curtis Lowder
128d653fc6 fix(web): update search modal to not jump around (#16308)
* fix(web): update search modal to not jump around

Search People selection will change size while loading. This causes the
search modal to jump around as the people load in.

* loading spinner size

* remove unsued code

---------

Co-authored-by: cwlowder <me@curtislowder.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-27 03:06:41 +00:00
David Bourgault
8b69114924 feat(web): remember last chosen map location when editing (#16366)
Uses a global store to remember the last location chosen by a user when
editing asset locations. This fixes an annoyance when adding location
data to multiple assets in a row and having to zoom in the same area
everytime.
2025-02-26 21:01:29 -06:00
David Bourgault
4b55888d16 fix: ensure manually tagged faces have proper source type (#16364)
immich-app/immich#16062 added manual face tagging and deletion, but did
not add a new 'SourceType'. The create faces would default to
'machine-learning' which is incorrect, and has the annoying downside
that they will be wiped when the 'Refresh Faces' job is run.

Handling of non-machine-learning faces was previously added in
immich-app/immich#6455. This PR simply extends it to the new manually
tagged faces.
2025-02-26 20:53:21 -06:00
Alex
8fbd650483 refactor(mobile): refactor user provider (#16358) 2025-02-26 17:04:43 -06:00
Alex
c778516ce2 fix(web): tag people in video (#16351) 2025-02-26 12:55:32 -06:00
Adam O'neill
2969e25ff7 fix: websockets calling on_new_release across all sessions upon new websocket connection. (#16339)
* Implemented possible fix for the new_release window re-appearing across all active sessions when a new websocket connection is established.

* Reverted websocket.ts

Changes not needed to websocket.ts - was bouncing between ideas, current implementation doesn't need this to change.

* Prettier test format.

* Spelling (Aknowledged --> Acknowledged)
2025-02-26 17:48:18 +00:00
luzpaz
c055e1aefe docs: fix typos (#16352)
Found via `codespell -q 3 -S "./i18n,./docs/package-lock.json,./readme_i18n,./mobile/assets/i18n" -L afterall,nd,renderd`
2025-02-26 17:21:27 +00:00
github-actions
5f7f88ff17 chore: version v1.127.0 2025-02-26 15:18:50 +00:00
Zack Pollard
5053130e35 fix: sync set ack validation (#16320) 2025-02-26 09:35:51 -05:00
shenlong-tanwen
65f5daa32c test: bench inserts 2025-02-26 19:44:33 +05:30
shenlong-tanwen
0e8b19e269 use asynccache 2025-02-26 08:58:19 +05:30
shenlong-tanwen
8450c8cc4f feat: appbar 2025-02-26 08:58:19 +05:30
shenlong-tanwen
5385d43c8c app bar and log details page 2025-02-26 08:58:19 +05:30
shenlong-tanwen
a0afea04d8 more refactors and logs page handling 2025-02-26 08:58:19 +05:30
shenlong-tanwen
8f47645cdb more refactors 2025-02-26 08:58:19 +05:30
shenlong-tanwen
7ea21d636f lint: add immich lint 2025-02-26 08:58:19 +05:30
shenlong-tanwen
3b8951fde6 more refactors 2025-02-26 08:58:19 +05:30
shenlong-tanwen
e8bb9a3934 refactor: update global states to ValueNotifiers 2025-02-26 08:58:19 +05:30
shenlong-tanwen
c91a2878dc feat: full local assets / album sync 2025-02-26 08:58:19 +05:30
shenlong-tanwen
a09710ec7b fix: use openapi_patching from v1 2025-02-26 08:58:19 +05:30
shenlong-tanwen
9f29bce308 refactor: grid 2025-02-26 08:58:19 +05:30
shenlong-tanwen
e810512285 refactor repositories 2025-02-26 08:58:19 +05:30
shenlong-tanwen
d6495f014d add license page 2025-02-26 08:58:19 +05:30
shenlong-tanwen
239bca0cda refactor: logging 2025-02-26 08:58:19 +05:30
shenlong-tanwen
ded4481190 refactor: sync 2025-02-26 08:58:19 +05:30
shenlong-tanwen
37b15869d5 wip: add platform channels 2025-02-26 08:58:19 +05:30
shenlong-tanwen
f1dcfbc594 preliminary auto-login 2025-02-26 08:58:19 +05:30
shenlong-tanwen
6fce1ebb79 refactor: asset grid 2025-02-26 08:58:19 +05:30
shenlong-tanwen
53974e7276 chore: style grid 2025-02-26 08:58:19 +05:30
shenlong-tanwen
419d3669a2 feat: home grid 2025-02-26 08:58:19 +05:30
shenlong-tanwen
80009a77ec add framework error callbacks 2025-02-26 08:58:19 +05:30
shenlong-tanwen
e81b61c98b add full sync 2025-02-26 08:58:19 +05:30
shenlong-tanwen
877c3b028b fix: handle login 2025-02-26 08:58:19 +05:30
shenlong-tanwen
7f83740b35 chore: upgrade deps 2025-02-26 08:58:19 +05:30
shenlong-tanwen
75448ce56b add proper logging 2025-02-26 08:58:19 +05:30
shenlong-tanwen
1631df70e9 add adaptive_scaffold 2025-02-26 08:58:19 +05:30
shenlong-tanwen
fb6253d2d1 replace bloc with watch_it 2025-02-26 08:58:19 +05:30
shenlong-tanwen
aa5673bae3 chore: dep update 2025-02-26 08:58:18 +05:30
Alex
4a7137c50c example 2025-02-26 08:58:18 +05:30
Alex
1d3493e00b Pod file 2025-02-26 08:58:18 +05:30
Alex
54dd9e95c9 chore: add photo manager 2025-02-26 08:58:18 +05:30
shenlong-tanwen
11cef4ec9a 🚀 2025-02-26 08:58:18 +05:30
Alex
4ef7eb56a3 fix(server): memory assets order (#16325) 2025-02-25 19:10:52 -06:00
Alex
8ecc67a364 feat(mobile): use memories api (#16329) 2025-02-25 19:10:31 -06:00
Alex
90f7c3d9ae chore(mobile): translations update (#16328)
chore(mobile): translation update
2025-02-25 15:06:40 -06:00
Alex
d0381fddec refactor(mobile): render list (#16303)
* refactor(mobile): render list 2

* wip

* wip: asset selection page

* remove render_list provider

* remove dead code

* yaml format

* remove unused file

* woop woop more clean up

* woop woop more clean up 2

* fix: album selection doesn't load instantly
2025-02-25 11:33:48 -06:00
Jason Rasmussen
7c851893b4 feat: medium tests for user and sync service (#16304)
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-02-25 16:31:07 +00:00
RoseyWasTaken
ae61ea7984 Update community-guides.tsx (#16316)
* Update community-guides.tsx

Added an additional card linking to a remote access guide

* Update docs/src/components/community-guides.tsx

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-25 15:52:07 +00:00
Alex
bbcaee82f0 chore(web): revert wasm new justify layout (#16277)
* Revert "fix(web): justify layout import (#16267) "

This reverts commit ec58e1065f.

* Revert "fix(web): dynamically import wasm module (#16261)"

This reverts commit 4376fd72b7.

* Revert "feat(web): use wasm for justified layout calculation (#15524)"

This reverts commit 3925445de8.

* Revert "fix(web): viewport reactivity, off-screen thumbhashes being rendered (#15435)"

This reverts commit 52f21fb331.
2025-02-25 09:39:56 -06:00
Nicholas Flamy
16266c9f5a docs: #15988 follow-up: Use URL constructor to fix Version Switcher URL double slash issue (#16014)
* concat location properties and use URL constructor to fix issues

* remove slashes from old version urls

* remove versions 1.125.0 and 1.125.4 that don't have docs archives
2025-02-25 09:34:46 -06:00
Alex
6c64a6dab8 chore(web): Revert slight fade in animation when open/close asset-viewer (#16262) (#16306)
Revert "feat(web): slight fade in animation when open/close asset-viewer (#16262)"

This reverts commit 57829cee26.
2025-02-25 09:27:34 -06:00
ExceptionsOccur
c0fe98fe27 feat(mobile): photos group by date in album page view (#16272)
* feat(mobile): photos group by date in album page view

* fix: format

---------

Co-authored-by: ExceptionsOccur <yuyu.tao@foxmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-25 15:10:08 +00:00
Alex
579321251f refactor(mobile): partners provider (#16299)
* refactor(mobile): partners provider

* update analysis option

* update analysis option
2025-02-25 08:52:33 -06:00
Nicholas Flamy
392f9f205c fix(web): thumbnail playback stops when hovering over icon then video (#16302)
fix thumbnail playback when hovering over icon then video
2025-02-24 21:35:46 -06:00
Alex
57829cee26 feat(web): slight fade in animation when open/close asset-viewer (#16262) 2025-02-24 16:38:07 -06:00
Yamagishi Kazutoshi
4be2351d21 fix(web): use anonymous function in setTimeout in ponyfill of requestIdelCallback (#16264) 2025-02-24 16:37:58 -06:00
Nicholas Flamy
edbcf17e3a fix(docs): tsconfig issues in IDE (VSCode) - migrate tsconfig extends file to current docusaurus implementation (#16282)
fix tsx IDE (VSCode) issues in docs by migrating tsconfig extends from the Docusaurus tsconfig 2.X package to the 3.X package
2025-02-24 13:24:28 -06:00
Mert
eef74ee0ba chore: bump justified layout library (#16298)
bump
2025-02-24 10:28:34 -06:00
Alex
ec58e1065f fix(web): justify layout import (#16267)
* fix(web): justify layout import

* remove dead code
2025-02-23 02:38:08 +03:00
Mert
4376fd72b7 fix(web): dynamically import wasm module (#16261)
* dynamically import wasm module

* remove unused import
2025-02-22 12:16:06 -06:00
Jason Rasmussen
e4b6efc1f5 fix: cross site scripting issue on /share pages (#16255) 2025-02-22 11:32:53 +00:00
waclaw66
caea3a0812 fix: vite > 6.0.8 allowedHosts (#16257)
fix(web): vite > 6.0.8 allowedHosts

Enables any host for development environment same as for vite <= 6.0.8
2025-02-21 23:29:58 -05:00
Jonathan Jogenfors
9c2c85cbe1 feat(web): remove library type column (#16254) 2025-02-21 18:00:16 -05:00
Jason Rasmussen
d350022dec feat: persistent memories (#15953)
feat: memories

refactor

chore: use heart as favorite icon

fix: linting
2025-02-21 12:31:37 -06:00
Weblate (bot)
502f6e020d chore(web): update translations (#15559)
Co-authored-by: -J- <heyj0e@tuta.io>
Co-authored-by: 6Leoo6 <leo.takacs@yahoo.com>
Co-authored-by: Aldis Bārbelis <ceriemardon@gmail.com>
Co-authored-by: Alessandro Iaselli <alessandroias@gmail.com>
Co-authored-by: Andrea <andreadetomasi12@gmail.com>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Bora Atıcı <boratici.acc@gmail.com>
Co-authored-by: CRY WHY <a.pandagok1@gmail.com>
Co-authored-by: Casper Ong <casper10528@gmail.com>
Co-authored-by: Changhwan Kim <kimch061279@gmail.com>
Co-authored-by: Chris <6st6s7rgw@mozmail.com>
Co-authored-by: Christoph Auer <Christoph.Auer@pilsheim.de>
Co-authored-by: CodingDK <CodingDK@users.noreply.github.com>
Co-authored-by: Daniel <daniel@nikul.in>
Co-authored-by: Daniel A <aquino.daniel1994@ikmail.com>
Co-authored-by: Daniel Correa Lobato <daniel@lobato.org>
Co-authored-by: David Lam <dlam06@gmail.com>
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com>
Co-authored-by: Eitan Nargassi <eitan1112@gmail.com>
Co-authored-by: Fabian Tubbing <fabian@tubbing.nl>
Co-authored-by: Farid <farid.for@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Florian Ostertag <florian.kuepper@gmail.com>
Co-authored-by: Francesco Borio <borio.francesco@gmail.com>
Co-authored-by: HanYuan <lion70332@gmail.com>
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <IndrekHaav@users.noreply.hosted.weblate.org>
Co-authored-by: Jan Schwebel <jan@schwebel.de>
Co-authored-by: Jirapan <jirapan_yankhan@hotmail.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Jordy H <jordy@hoebergen.net>
Co-authored-by: Josep M. Ferrer <txemaq@gmail.com>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Karol Klimczak <karol.klimczak.1.kk@gmail.com>
Co-authored-by: Laurentiu <laurfb@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Leonardo Patti <leonardo.patti90@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Lukas Hamm <ideallygrey@tuta.io>
Co-authored-by: Manar Aldroubi <droubi@gmail.com>
Co-authored-by: Mark Rieder <markrieder111@gmail.com>
Co-authored-by: Martin Popovski <martinkozle@yahoo.com>
Co-authored-by: Matjaž T <matjaz@moj-svet.si>
Co-authored-by: Max Lengerer <lengerer.max@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Mohammed Al Otaibi <mopes.03.belle@icloud.com>
Co-authored-by: Nicolò <nicveronese@gmail.com>
Co-authored-by: Oleh Horbachov <gorbyo@gmail.com>
Co-authored-by: Pablo Portas López <pabloportas@protonmail.com>
Co-authored-by: Peder Vaagland <halsa.p.vaagland@gmail.com>
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org>
Co-authored-by: Rafa <rafa0292@gmail.com>
Co-authored-by: Ram Sujith Reddibathini (Ram) <sujithram.it@gmail.com>
Co-authored-by: Riccardo <lark-unit-rush@duck.com>
Co-authored-by: Rodrigo Bourbon Navarro <rodrigobourbon44@gmail.com>
Co-authored-by: Roi Gabay <roigby@gmail.com>
Co-authored-by: Rookie Nguyễn <nguyenquocthang2004@gmail.com>
Co-authored-by: Runskrift <anders@rimfrost.nu>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Theofilos Nikolaou <th.nikolaou@gmail.com>
Co-authored-by: Torin Wu <xuan329269@gmail.com>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: Vladislav Tkalin <mrtold11@gmail.com>
Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org>
Co-authored-by: YapWC <yapchengcheng3568@gmail.com>
Co-authored-by: Zulhilmi Ramli <ramli.zulhilmi@gmail.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: chapvic <victor@chapaev.org>
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org>
Co-authored-by: iancbogue <iancbogue@gmail.com>
Co-authored-by: intothevolt <francesco.ferriero97@gmail.com>
Co-authored-by: kiwinho <kiwicaja@gmail.com>
Co-authored-by: krzemyk <krzemyk.official@proton.me>
Co-authored-by: pierrebengtsson <pierre.bengtsson@gmail.com>
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com>
Co-authored-by: szelek <janek.szelewicz@gmail.com>
Co-authored-by: thehijacker <thehijacker@gmail.com>
Co-authored-by: timmy61109 <qazzxcasdqwewsxedc@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: wickdj <wickdj@gmail.com>
Co-authored-by: wojtasiq <wojtek.wroclaw@hotmail.com>
Co-authored-by: xmh10000 <xmh10000@gmail.com>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>
Co-authored-by: Мĕтри Сантăр ывалĕ Упа-Миччи <mefisteron@gmail.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-02-21 17:30:19 +00:00
bo0tzz
ca9e02379d feat: remove preview label on pr close (#16249) 2025-02-21 17:54:11 +01:00
bo0tzz
36ec407c66 fix: use correct head sha on PR commit tag (#16248) 2025-02-21 17:02:24 +01:00
Alex
007eaaceb9 feat(web): manual face tagging and deletion (#16062) 2025-02-21 09:58:25 -06:00
shenlong
94c0e8253a test(mobile): store (#16243)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-02-21 09:10:42 -06:00
Alex
5acf6868b7 refactor(mobile): render list (#16239)
* refactor(mobile): trash provider

* refactor(mobile): trash provider

* pr feedback

* archive timeline

* favorite

* album

* trash timeline

* all videos timeline

* refactor

* refactor: home timeline and partner timeline

* update analysis option
2025-02-21 09:01:46 -06:00
Mert
616905211d fix(server): assets in multiple albums duplicated in map view (#16245) 2025-02-21 15:32:08 +03:00
Mert
3925445de8 feat(web): use wasm for justified layout calculation (#15524)
* working

* use wrapper class

* update import

* simplify

* it works without changing `optimizeDeps`

* inline layout options

* update gallery view

* use es2022

* fix import

* fix vitest

* empty geometry

* bump version

* Update web/src/lib/stores/assets.store.ts

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix: typo

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-21 09:20:25 +00:00
Mert
52f21fb331 fix(web): viewport reactivity, off-screen thumbhashes being rendered (#15435)
* viewport optimizations

* fade in

* async bitmap

* fast path for smaller date groups

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-20 22:38:12 -06:00
Zack Pollard
ac36effb45 feat: sync implementation for the user entity (#16234)
* ci: print out typeorm generation changes

* feat: sync implementation for the user entity

wip

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-02-20 23:37:57 -05:00
bo0tzz
02cd8da871 docs: clarify custom locations guide (#16122) 2025-02-20 22:31:29 -06:00
Alex
17a2043e76 refactor(mobile): trash provider (#16219)
* refactor(mobile): trash provider

* refactor(mobile): trash provider

* pr feedback
2025-02-20 22:14:41 -06:00
Jason Antwi-Appah
34b88bb47a feat(web): support searching by EXIF rating (#16208)
* Add rating to search DTO

* Add search by EXIF rating in search query builder

* Generate OpenAPI spec

* Add rating filter on web

* Add rating filter to search docs

* Format / lint

* Hide rating filter if ratings are disabled

* chore: component order in form

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-20 16:17:06 +00:00
Jonathan Jogenfors
f6ba071569 feat(server): add path to metadata logging (#16212)
feat(server): Prefer original path instead of id when logging
2025-02-20 09:46:18 -06:00
Jonathan Jogenfors
6b7a7b0cbc feat(web): library import path onboarding (#16229) 2025-02-20 09:45:34 -06:00
Jonathan Jogenfors
b0102f8025 fix(server): set modifydate (#16225) 2025-02-20 09:28:30 -06:00
Lukas
9c95adc7fb feat(web): show memories in portrait on small screens (#16213) 2025-02-19 23:15:45 +00:00
renovate[bot]
376282e538 chore(deps): update dependency @types/node to ^22.13.4 (#16206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 14:54:12 -06:00
shenlong
76d95cd348 refactor(mobile): move store settings and store into domain folder (#16201)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-02-19 19:27:32 +00:00
Jonathan Jogenfors
31dc83f3f2 fix(server): don't warn about missing timezone (#16211)
fix(server): don't warn about timezone
2025-02-19 13:21:13 -06:00
shenlong
aeb3e0a84f refactor(mobile): split store into repo and service (#16199)
* refactor(mobile): migrate store

* refactor(mobile): expand abbreviations

* chore(mobile): fix lint

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-19 13:05:24 -06:00
Krassimir Valev
8634c59850 feat(server): search by partial asset path (#16173)
Similarly to how one can search by partial filename, change the
path search to work with partial matches instead of looking for a
full match.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-19 08:32:52 -06:00
Lukas
b13a98646f fix(web): improve memories layout on small screens (#16162)
* fix(web): improve memories layout on small screens

* decrease viewer height
2025-02-18 17:40:52 -06:00
814 changed files with 33665 additions and 6387 deletions

View File

@@ -11,7 +11,7 @@ body:
- type: checkboxes - type: checkboxes
attributes: attributes:
label: I have searched the existing feature requests to make sure this is not a duplicate request. label: I have searched the existing feature requests, both open and closed, to make sure this is not a duplicate request.
options: options:
- label: "Yes" - label: "Yes"
required: true required: true

2
.github/FUNDING.yml vendored
View File

@@ -1 +1 @@
custom: ['https://buy.immich.app'] custom: ['https://buy.immich.app', 'https://immich.store']

View File

@@ -1,6 +1,13 @@
name: Report an issue with Immich name: Report an issue with Immich
description: Report an issue with Immich description: Report an issue with Immich
body: body:
- type: checkboxes
attributes:
label: I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
options:
- label: "Yes"
required: true
- type: markdown - type: markdown
attributes: attributes:
value: | value: |

View File

@@ -56,10 +56,10 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3.4.0 uses: docker/setup-qemu-action@v3.5.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.9.0 uses: docker/setup-buildx-action@v3.10.0
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
@@ -88,7 +88,7 @@ jobs:
type=raw,value=latest,enable=${{ github.event_name == 'release' }} type=raw,value=latest,enable=${{ github.event_name == 'release' }}
- name: Build and push image - name: Build and push image
uses: docker/build-push-action@v6.13.0 uses: docker/build-push-action@v6.15.0
with: with:
file: cli/Dockerfile file: cli/Dockerfile
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64

View File

@@ -5,7 +5,6 @@ on:
push: push:
branches: [main] branches: [main]
pull_request: pull_request:
branches: [main]
release: release:
types: [published] types: [published]
@@ -141,7 +140,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.9.0 uses: docker/setup-buildx-action@v3.10.0
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
@@ -171,7 +170,7 @@ jobs:
- name: Build and push image - name: Build and push image
id: build id: build
uses: docker/build-push-action@v6.13.0 uses: docker/build-push-action@v6.15.0
with: with:
context: ${{ env.context }} context: ${{ env.context }}
file: ${{ env.file }} file: ${{ env.file }}
@@ -250,6 +249,8 @@ jobs:
- name: Generate docker image tags - name: Generate docker image tags
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
env:
DOCKER_METADATA_PR_HEAD_SHA: "true"
with: with:
flavor: | flavor: |
# Disable latest tag # Disable latest tag
@@ -332,7 +333,7 @@ jobs:
- name: Build and push image - name: Build and push image
id: build id: build
uses: docker/build-push-action@v6.13.0 uses: docker/build-push-action@v6.15.0
with: with:
context: ${{ env.context }} context: ${{ env.context }}
file: ${{ env.file }} file: ${{ env.file }}
@@ -401,6 +402,8 @@ jobs:
- name: Generate docker image tags - name: Generate docker image tags
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
env:
DOCKER_METADATA_PR_HEAD_SHA: "true"
with: with:
flavor: | flavor: |
# Disable latest tag # Disable latest tag

View File

@@ -1,17 +0,0 @@
name: Preview comment
on:
pull_request:
types: [labeled]
jobs:
comment-status:
runs-on: ubuntu-latest
if: ${{ github.event.label.name == 'preview' }}
permissions:
pull-requests: write
steps:
- uses: mshick/add-pr-comment@v2
with:
message-id: "preview-status"
message: "Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.cloud/"

33
.github/workflows/preview-label.yaml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Preview label
on:
pull_request:
types: [labeled]
jobs:
comment-status:
runs-on: ubuntu-latest
if: ${{ github.event.action == 'labeled' && github.event.label.name == 'preview' }}
permissions:
pull-requests: write
steps:
- uses: mshick/add-pr-comment@v2
with:
message-id: "preview-status"
message: "Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.cloud/"
remove-label:
runs-on: ubuntu-latest
if: ${{ github.event.action == 'closed' && contains(github.event.pull_request.labels.*.name, 'preview') }}
permissions:
pull-requests: write
steps:
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.removeLabel({
issue_number: context.payload.pull_request.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: 'preview'
})

View File

@@ -246,25 +246,30 @@ jobs:
run: npm run check run: npm run check
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
medium-tests-server: server-medium-tests:
name: Medium Tests (Server) name: Medium Tests (Server)
needs: pre-job needs: pre-job
if: ${{ needs.pre-job.outputs.should_run_server == 'true' }} if: ${{ needs.pre-job.outputs.should_run_server == 'true' }}
runs-on: mich runs-on: ubuntu-latest
defaults:
run:
working-directory: ./server
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Production build - name: Setup Node
if: ${{ !cancelled() }} uses: actions/setup-node@v4
run: docker compose -f e2e/docker-compose.yml build with:
node-version-file: './server/.nvmrc'
- name: Run npm install
run: npm ci
- name: Run medium tests - name: Run medium tests
run: npm run test:medium
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
run: make test-medium
e2e-tests-server-cli: e2e-tests-server-cli:
name: End-to-End Tests (Server & CLI) name: End-to-End Tests (Server & CLI)
@@ -452,7 +457,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
postgres: postgres:
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
env: env:
POSTGRES_PASSWORD: postgres POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres POSTGRES_USER: postgres
@@ -504,6 +509,7 @@ jobs:
run: | run: |
echo "ERROR: Generated migration files not up to date!" echo "ERROR: Generated migration files not up to date!"
echo "Changed files: ${{ steps.verify-changed-files.outputs.changed_files }}" echo "Changed files: ${{ steps.verify-changed-files.outputs.changed_files }}"
cat ./src/migrations/*-TestMigration.ts
exit 1 exit 1
- name: Run SQL generation - name: Run SQL generation

50
.github/workflows/weblate-lock.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: Weblate checks
on:
pull_request:
branches: [main]
jobs:
pre-job:
runs-on: ubuntu-latest
outputs:
should_run: ${{ steps.found_paths.outputs.i18n == 'true' && github.head_ref != 'chore/translations'}}
steps:
- name: Checkout code
uses: actions/checkout@v4
- id: found_paths
uses: dorny/paths-filter@v3
with:
filters: |
i18n:
- 'i18n/!(en)**\.json'
enforce-lock:
name: Check Weblate Lock
runs-on: ubuntu-latest
if: ${{ needs.pre-job.outputs.should_run == 'true' }}
steps:
- name: Check weblate lock
run: |
if [[ "false" = $(curl https://hosted.weblate.org/api/components/immich/immich/lock/ | jq .locked) ]]; then
exit 1
fi
- name: Find Pull Request
uses: juliangruber/find-pull-request-action@v1
id: find-pr
with:
branch: chore/translations
- name: Fail if existing weblate PR
if: ${{ steps.find-pr.outputs.number }}
run: exit 1
success-check-lock:
name: Weblate Lock Check Success
needs: [ enforce-lock ]
runs-on: ubuntu-latest
if: always()
steps:
- name: Any jobs failed?
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- name: All jobs passed or skipped
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}"

View File

@@ -20,10 +20,7 @@
"editor.tabSize": 2 "editor.tabSize": 2
}, },
"svelte.enable-ts-plugin": true, "svelte.enable-ts-plugin": true,
"eslint.validate": [ "eslint.validate": ["javascript", "svelte"],
"javascript",
"svelte"
],
"typescript.preferences.importModuleSpecifier": "non-relative", "typescript.preferences.importModuleSpecifier": "non-relative",
"[dart]": { "[dart]": {
"editor.formatOnSave": true, "editor.formatOnSave": true,

View File

@@ -27,6 +27,9 @@ open-api:
open-api-dart: open-api-dart:
cd ./open-api && bash ./bin/generate-open-api.sh dart cd ./open-api && bash ./bin/generate-open-api.sh dart
open-api-dart-2:
cd ./open-api && bash ./bin/generate-open-api.sh dart-2
open-api-typescript: open-api-typescript:
cd ./open-api && bash ./bin/generate-open-api.sh typescript cd ./open-api && bash ./bin/generate-open-api.sh typescript

View File

@@ -1,4 +1,4 @@
FROM node:22.13.1-alpine3.20@sha256:c52e20859a92b3eccbd3a36c5e1a90adc20617d8d421d65e8a622e87b5dac963 AS core FROM node:22.14.0-alpine3.20@sha256:40be979442621049f40b1d51a26b55e281246b5de4e5f51a18da7beb6e17e3f9 AS core
WORKDIR /usr/src/open-api/typescript-sdk WORKDIR /usr/src/open-api/typescript-sdk
COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./ COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./

616
cli/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@immich/cli", "name": "@immich/cli",
"version": "2.2.50", "version": "2.2.53",
"description": "Command Line Interface (CLI) for Immich", "description": "Command Line Interface (CLI) for Immich",
"type": "module", "type": "module",
"exports": "./dist/index.js", "exports": "./dist/index.js",
@@ -19,8 +19,9 @@
"@types/byte-size": "^8.1.0", "@types/byte-size": "^8.1.0",
"@types/cli-progress": "^3.11.0", "@types/cli-progress": "^3.11.0",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1", "@types/mock-fs": "^4.13.1",
"@types/node": "^22.13.2", "@types/node": "^22.13.5",
"@typescript-eslint/eslint-plugin": "^8.15.0", "@typescript-eslint/eslint-plugin": "^8.15.0",
"@typescript-eslint/parser": "^8.15.0", "@typescript-eslint/parser": "^8.15.0",
"@vitest/coverage-v8": "^3.0.0", "@vitest/coverage-v8": "^3.0.0",
@@ -31,7 +32,7 @@
"eslint-config-prettier": "^10.0.0", "eslint-config-prettier": "^10.0.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^56.0.1", "eslint-plugin-unicorn": "^56.0.1",
"globals": "^15.9.0", "globals": "^16.0.0",
"mock-fs": "^5.2.0", "mock-fs": "^5.2.0",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"prettier-plugin-organize-imports": "^4.0.0", "prettier-plugin-organize-imports": "^4.0.0",
@@ -62,9 +63,11 @@
"node": ">=20.0.0" "node": ">=20.0.0"
}, },
"dependencies": { "dependencies": {
"chokidar": "^4.0.3",
"fast-glob": "^3.3.2", "fast-glob": "^3.3.2",
"fastq": "^1.17.1", "fastq": "^1.17.1",
"lodash-es": "^4.17.21" "lodash-es": "^4.17.21",
"micromatch": "^4.0.8"
}, },
"volta": { "volta": {
"node": "22.14.0" "node": "22.14.0"

View File

@@ -1,12 +1,13 @@
import * as fs from 'node:fs'; import * as fs from 'node:fs';
import * as os from 'node:os'; import * as os from 'node:os';
import * as path from 'node:path'; import * as path from 'node:path';
import { describe, expect, it, vi } from 'vitest'; import { setTimeout as sleep } from 'node:timers/promises';
import { describe, expect, it, MockedFunction, vi } from 'vitest';
import { Action, checkBulkUpload, defaults, Reason } from '@immich/sdk'; import { Action, checkBulkUpload, defaults, getSupportedMediaTypes, Reason } from '@immich/sdk';
import createFetchMock from 'vitest-fetch-mock'; import createFetchMock from 'vitest-fetch-mock';
import { checkForDuplicates, getAlbumName, uploadFiles, UploadOptionsDto } from './asset'; import { checkForDuplicates, getAlbumName, startWatch, uploadFiles, UploadOptionsDto } from 'src/commands/asset';
vi.mock('@immich/sdk'); vi.mock('@immich/sdk');
@@ -199,3 +200,112 @@ describe('checkForDuplicates', () => {
}); });
}); });
}); });
describe('startWatch', () => {
let testFolder: string;
let checkBulkUploadMocked: MockedFunction<typeof checkBulkUpload>;
beforeEach(async () => {
vi.restoreAllMocks();
vi.mocked(getSupportedMediaTypes).mockResolvedValue({
image: ['.jpg'],
sidecar: ['.xmp'],
video: ['.mp4'],
});
testFolder = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'test-startWatch-'));
checkBulkUploadMocked = vi.mocked(checkBulkUpload);
checkBulkUploadMocked.mockResolvedValue({
results: [],
});
});
it('should start watching a directory and upload new files', async () => {
const testFilePath = path.join(testFolder, 'test.jpg');
await startWatch([testFolder], { concurrency: 1 }, { batchSize: 1, debounceTimeMs: 10 });
await sleep(100); // to debounce the watcher from considering the test file as a existing file
await fs.promises.writeFile(testFilePath, 'testjpg');
await vi.waitUntil(() => checkBulkUploadMocked.mock.calls.length > 0, 3000);
expect(checkBulkUpload).toHaveBeenCalledWith({
assetBulkUploadCheckDto: {
assets: [
expect.objectContaining({
id: testFilePath,
}),
],
},
});
});
it('should filter out unsupported files', async () => {
const testFilePath = path.join(testFolder, 'test.jpg');
const unsupportedFilePath = path.join(testFolder, 'test.txt');
await startWatch([testFolder], { concurrency: 1 }, { batchSize: 1, debounceTimeMs: 10 });
await sleep(100); // to debounce the watcher from considering the test file as a existing file
await fs.promises.writeFile(testFilePath, 'testjpg');
await fs.promises.writeFile(unsupportedFilePath, 'testtxt');
await vi.waitUntil(() => checkBulkUploadMocked.mock.calls.length > 0, 3000);
expect(checkBulkUpload).toHaveBeenCalledWith({
assetBulkUploadCheckDto: {
assets: expect.arrayContaining([
expect.objectContaining({
id: testFilePath,
}),
]),
},
});
expect(checkBulkUpload).not.toHaveBeenCalledWith({
assetBulkUploadCheckDto: {
assets: expect.arrayContaining([
expect.objectContaining({
id: unsupportedFilePath,
}),
]),
},
});
});
it('should filger out ignored patterns', async () => {
const testFilePath = path.join(testFolder, 'test.jpg');
const ignoredPattern = 'ignored';
const ignoredFolder = path.join(testFolder, ignoredPattern);
await fs.promises.mkdir(ignoredFolder, { recursive: true });
const ignoredFilePath = path.join(ignoredFolder, 'ignored.jpg');
await startWatch([testFolder], { concurrency: 1, ignore: ignoredPattern }, { batchSize: 1, debounceTimeMs: 10 });
await sleep(100); // to debounce the watcher from considering the test file as a existing file
await fs.promises.writeFile(testFilePath, 'testjpg');
await fs.promises.writeFile(ignoredFilePath, 'ignoredjpg');
await vi.waitUntil(() => checkBulkUploadMocked.mock.calls.length > 0, 3000);
expect(checkBulkUpload).toHaveBeenCalledWith({
assetBulkUploadCheckDto: {
assets: expect.arrayContaining([
expect.objectContaining({
id: testFilePath,
}),
]),
},
});
expect(checkBulkUpload).not.toHaveBeenCalledWith({
assetBulkUploadCheckDto: {
assets: expect.arrayContaining([
expect.objectContaining({
id: ignoredFilePath,
}),
]),
},
});
});
afterEach(async () => {
await fs.promises.rm(testFolder, { recursive: true, force: true });
});
});

View File

@@ -12,13 +12,18 @@ import {
getSupportedMediaTypes, getSupportedMediaTypes,
} from '@immich/sdk'; } from '@immich/sdk';
import byteSize from 'byte-size'; import byteSize from 'byte-size';
import { Matcher, watch as watchFs } from 'chokidar';
import { MultiBar, Presets, SingleBar } from 'cli-progress'; import { MultiBar, Presets, SingleBar } from 'cli-progress';
import { chunk } from 'lodash-es'; import { chunk } from 'lodash-es';
import micromatch from 'micromatch';
import { Stats, createReadStream } from 'node:fs'; import { Stats, createReadStream } from 'node:fs';
import { stat, unlink } from 'node:fs/promises'; import { stat, unlink } from 'node:fs/promises';
import path, { basename } from 'node:path'; import path, { basename } from 'node:path';
import { Queue } from 'src/queue'; import { Queue } from 'src/queue';
import { BaseOptions, authenticate, crawl, sha1 } from 'src/utils'; import { BaseOptions, Batcher, authenticate, crawl, sha1 } from 'src/utils';
const UPLOAD_WATCH_BATCH_SIZE = 100;
const UPLOAD_WATCH_DEBOUNCE_TIME_MS = 10_000;
const s = (count: number) => (count === 1 ? '' : 's'); const s = (count: number) => (count === 1 ? '' : 's');
@@ -36,6 +41,8 @@ export interface UploadOptionsDto {
albumName?: string; albumName?: string;
includeHidden?: boolean; includeHidden?: boolean;
concurrency: number; concurrency: number;
progress?: boolean;
watch?: boolean;
} }
class UploadFile extends File { class UploadFile extends File {
@@ -55,19 +62,94 @@ class UploadFile extends File {
} }
} }
const uploadBatch = async (files: string[], options: UploadOptionsDto) => {
const { newFiles, duplicates } = await checkForDuplicates(files, options);
const newAssets = await uploadFiles(newFiles, options);
await updateAlbums([...newAssets, ...duplicates], options);
await deleteFiles(newFiles, options);
};
export const startWatch = async (
paths: string[],
options: UploadOptionsDto,
{
batchSize = UPLOAD_WATCH_BATCH_SIZE,
debounceTimeMs = UPLOAD_WATCH_DEBOUNCE_TIME_MS,
}: { batchSize?: number; debounceTimeMs?: number } = {},
) => {
const watcherIgnored: Matcher[] = [];
const { image, video } = await getSupportedMediaTypes();
const extensions = new Set([...image, ...video]);
if (options.ignore) {
watcherIgnored.push((path) => micromatch.contains(path, `**/${options.ignore}`));
}
const pathsBatcher = new Batcher<string>({
batchSize,
debounceTimeMs,
onBatch: async (paths: string[]) => {
const uniquePaths = [...new Set(paths)];
await uploadBatch(uniquePaths, options);
},
});
const onFile = async (path: string, stats?: Stats) => {
if (stats?.isDirectory()) {
return;
}
const ext = '.' + path.split('.').pop()?.toLowerCase();
if (!ext || !extensions.has(ext)) {
return;
}
if (!options.progress) {
// logging when progress is disabled as it can cause issues with the progress bar rendering
console.log(`Change detected: ${path}`);
}
pathsBatcher.add(path);
};
const fsWatcher = watchFs(paths, {
ignoreInitial: true,
ignored: watcherIgnored,
alwaysStat: true,
awaitWriteFinish: true,
depth: options.recursive ? undefined : 1,
persistent: true,
})
.on('add', onFile)
.on('change', onFile)
.on('error', (error) => console.error(`Watcher error: ${error}`));
process.on('SIGINT', async () => {
console.log('Exiting...');
await fsWatcher.close();
process.exit();
});
};
export const upload = async (paths: string[], baseOptions: BaseOptions, options: UploadOptionsDto) => { export const upload = async (paths: string[], baseOptions: BaseOptions, options: UploadOptionsDto) => {
await authenticate(baseOptions); await authenticate(baseOptions);
const scanFiles = await scan(paths, options); const scanFiles = await scan(paths, options);
if (scanFiles.length === 0) { if (scanFiles.length === 0) {
console.log('No files found, exiting'); if (options.watch) {
return; console.log('No files found initially.');
} else {
console.log('No files found, exiting');
return;
}
} }
const { newFiles, duplicates } = await checkForDuplicates(scanFiles, options); if (options.watch) {
const newAssets = await uploadFiles(newFiles, options); console.log('Watching for changes...');
await updateAlbums([...newAssets, ...duplicates], options); await startWatch(paths, options);
await deleteFiles(newFiles, options); // watcher does not handle the initial scan
// as the scan() is a more efficient quick start with batched results
}
await uploadBatch(scanFiles, options);
}; };
const scan = async (pathsToCrawl: string[], options: UploadOptionsDto) => { const scan = async (pathsToCrawl: string[], options: UploadOptionsDto) => {
@@ -85,19 +167,25 @@ const scan = async (pathsToCrawl: string[], options: UploadOptionsDto) => {
return files; return files;
}; };
export const checkForDuplicates = async (files: string[], { concurrency, skipHash }: UploadOptionsDto) => { export const checkForDuplicates = async (files: string[], { concurrency, skipHash, progress }: UploadOptionsDto) => {
if (skipHash) { if (skipHash) {
console.log('Skipping hash check, assuming all files are new'); console.log('Skipping hash check, assuming all files are new');
return { newFiles: files, duplicates: [] }; return { newFiles: files, duplicates: [] };
} }
const multiBar = new MultiBar( let multiBar: MultiBar | undefined;
{ format: '{message} | {bar} | {percentage}% | ETA: {eta}s | {value}/{total} assets' },
Presets.shades_classic,
);
const hashProgressBar = multiBar.create(files.length, 0, { message: 'Hashing files ' }); if (progress) {
const checkProgressBar = multiBar.create(files.length, 0, { message: 'Checking for duplicates' }); multiBar = new MultiBar(
{ format: '{message} | {bar} | {percentage}% | ETA: {eta}s | {value}/{total} assets' },
Presets.shades_classic,
);
} else {
console.log(`Received ${files.length} files, hashing...`);
}
const hashProgressBar = multiBar?.create(files.length, 0, { message: 'Hashing files ' });
const checkProgressBar = multiBar?.create(files.length, 0, { message: 'Checking for duplicates' });
const newFiles: string[] = []; const newFiles: string[] = [];
const duplicates: Asset[] = []; const duplicates: Asset[] = [];
@@ -117,7 +205,7 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
} }
} }
checkProgressBar.increment(assets.length); checkProgressBar?.increment(assets.length);
}, },
{ concurrency, retry: 3 }, { concurrency, retry: 3 },
); );
@@ -137,7 +225,7 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
void checkBulkUploadQueue.push(batch); void checkBulkUploadQueue.push(batch);
} }
hashProgressBar.increment(); hashProgressBar?.increment();
return results; return results;
}, },
{ concurrency, retry: 3 }, { concurrency, retry: 3 },
@@ -155,7 +243,7 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
await checkBulkUploadQueue.drained(); await checkBulkUploadQueue.drained();
multiBar.stop(); multiBar?.stop();
console.log(`Found ${newFiles.length} new files and ${duplicates.length} duplicate${s(duplicates.length)}`); console.log(`Found ${newFiles.length} new files and ${duplicates.length} duplicate${s(duplicates.length)}`);
@@ -171,7 +259,10 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
return { newFiles, duplicates }; return { newFiles, duplicates };
}; };
export const uploadFiles = async (files: string[], { dryRun, concurrency }: UploadOptionsDto): Promise<Asset[]> => { export const uploadFiles = async (
files: string[],
{ dryRun, concurrency, progress }: UploadOptionsDto,
): Promise<Asset[]> => {
if (files.length === 0) { if (files.length === 0) {
console.log('All assets were already uploaded, nothing to do.'); console.log('All assets were already uploaded, nothing to do.');
return []; return [];
@@ -191,12 +282,20 @@ export const uploadFiles = async (files: string[], { dryRun, concurrency }: Uplo
return files.map((filepath) => ({ id: '', filepath })); return files.map((filepath) => ({ id: '', filepath }));
} }
const uploadProgress = new SingleBar( let uploadProgress: SingleBar | undefined;
{ format: 'Uploading assets | {bar} | {percentage}% | ETA: {eta_formatted} | {value_formatted}/{total_formatted}' },
Presets.shades_classic, if (progress) {
); uploadProgress = new SingleBar(
uploadProgress.start(totalSize, 0); {
uploadProgress.update({ value_formatted: 0, total_formatted: byteSize(totalSize) }); format: 'Uploading assets | {bar} | {percentage}% | ETA: {eta_formatted} | {value_formatted}/{total_formatted}',
},
Presets.shades_classic,
);
} else {
console.log(`Uploading ${files.length} asset${s(files.length)} (${byteSize(totalSize)})`);
}
uploadProgress?.start(totalSize, 0);
uploadProgress?.update({ value_formatted: 0, total_formatted: byteSize(totalSize) });
let duplicateCount = 0; let duplicateCount = 0;
let duplicateSize = 0; let duplicateSize = 0;
@@ -222,7 +321,7 @@ export const uploadFiles = async (files: string[], { dryRun, concurrency }: Uplo
successSize += stats.size ?? 0; successSize += stats.size ?? 0;
} }
uploadProgress.update(successSize, { value_formatted: byteSize(successSize + duplicateSize) }); uploadProgress?.update(successSize, { value_formatted: byteSize(successSize + duplicateSize) });
return response; return response;
}, },
@@ -235,7 +334,7 @@ export const uploadFiles = async (files: string[], { dryRun, concurrency }: Uplo
await queue.drained(); await queue.drained();
uploadProgress.stop(); uploadProgress?.stop();
console.log(`Successfully uploaded ${successCount} new asset${s(successCount)} (${byteSize(successSize)})`); console.log(`Successfully uploaded ${successCount} new asset${s(successCount)} (${byteSize(successSize)})`);
if (duplicateCount > 0) { if (duplicateCount > 0) {

View File

@@ -69,6 +69,13 @@ program
.default(4), .default(4),
) )
.addOption(new Option('--delete', 'Delete local assets after upload').env('IMMICH_DELETE_ASSETS')) .addOption(new Option('--delete', 'Delete local assets after upload').env('IMMICH_DELETE_ASSETS'))
.addOption(new Option('--no-progress', 'Hide progress bars').env('IMMICH_PROGRESS_BAR').default(true))
.addOption(
new Option('--watch', 'Watch for changes and upload automatically')
.env('IMMICH_WATCH_CHANGES')
.default(false)
.implies({ progress: false }),
)
.argument('[paths...]', 'One or more paths to assets to be uploaded') .argument('[paths...]', 'One or more paths to assets to be uploaded')
.action((paths, options) => upload(paths, program.opts(), options)); .action((paths, options) => upload(paths, program.opts(), options));

View File

@@ -1,6 +1,7 @@
import mockfs from 'mock-fs'; import mockfs from 'mock-fs';
import { readFileSync } from 'node:fs'; import { readFileSync } from 'node:fs';
import { CrawlOptions, crawl } from 'src/utils'; import { Batcher, CrawlOptions, crawl } from 'src/utils';
import { Mock } from 'vitest';
interface Test { interface Test {
test: string; test: string;
@@ -303,3 +304,38 @@ describe('crawl', () => {
} }
}); });
}); });
describe('Batcher', () => {
let batcher: Batcher;
let onBatch: Mock;
beforeEach(() => {
onBatch = vi.fn();
batcher = new Batcher({ batchSize: 2, onBatch });
});
it('should trigger onBatch() when a batch limit is reached', async () => {
batcher.add('a');
batcher.add('b');
batcher.add('c');
expect(onBatch).toHaveBeenCalledOnce();
expect(onBatch).toHaveBeenCalledWith(['a', 'b']);
});
it('should trigger onBatch() when flush() is called', async () => {
batcher.add('a');
batcher.flush();
expect(onBatch).toHaveBeenCalledOnce();
expect(onBatch).toHaveBeenCalledWith(['a']);
});
it('should trigger onBatch() when debounce time reached', async () => {
vi.useFakeTimers();
batcher = new Batcher({ batchSize: 2, debounceTimeMs: 100, onBatch });
batcher.add('a');
expect(onBatch).not.toHaveBeenCalled();
vi.advanceTimersByTime(200);
expect(onBatch).toHaveBeenCalledOnce();
expect(onBatch).toHaveBeenCalledWith(['a']);
vi.useRealTimers();
});
});

View File

@@ -172,3 +172,64 @@ export const sha1 = (filepath: string) => {
rs.on('end', () => resolve(hash.digest('hex'))); rs.on('end', () => resolve(hash.digest('hex')));
}); });
}; };
/**
* Batches items and calls onBatch to process them
* when the batch size is reached or the debounce time has passed.
*/
export class Batcher<T = unknown> {
private items: T[] = [];
private readonly batchSize: number;
private readonly debounceTimeMs?: number;
private readonly onBatch: (items: T[]) => void;
private debounceTimer?: NodeJS.Timeout;
constructor({
batchSize,
debounceTimeMs,
onBatch,
}: {
batchSize: number;
debounceTimeMs?: number;
onBatch: (items: T[]) => Promise<void>;
}) {
this.batchSize = batchSize;
this.debounceTimeMs = debounceTimeMs;
this.onBatch = onBatch;
}
private setDebounceTimer() {
if (this.debounceTimer) {
clearTimeout(this.debounceTimer);
}
if (this.debounceTimeMs) {
this.debounceTimer = setTimeout(() => this.flush(), this.debounceTimeMs);
}
}
private clearDebounceTimer() {
if (this.debounceTimer) {
clearTimeout(this.debounceTimer);
this.debounceTimer = undefined;
}
}
add(item: T) {
this.items.push(item);
this.setDebounceTimer();
if (this.items.length >= this.batchSize) {
this.flush();
}
}
flush() {
this.clearDebounceTimer();
if (this.items.length === 0) {
return;
}
this.onBatch(this.items);
this.items = [];
}
}

View File

@@ -122,7 +122,7 @@ services:
database: database:
container_name: immich_postgres container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
env_file: env_file:
- .env - .env
environment: environment:

View File

@@ -63,7 +63,7 @@ services:
database: database:
container_name: immich_postgres container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
env_file: env_file:
- .env - .env
environment: environment:
@@ -100,7 +100,7 @@ services:
container_name: immich_prometheus container_name: immich_prometheus
ports: ports:
- 9090:9090 - 9090:9090
image: prom/prometheus@sha256:5888c188cf09e3f7eebc97369c3b2ce713e844cdbd88ccf36f5047c958aea120 image: prom/prometheus@sha256:6927e0919a144aa7616fd0137d4816816d42f6b816de3af269ab065250859a62
volumes: volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus - prometheus-data:/prometheus
@@ -112,7 +112,7 @@ services:
command: ['./run.sh', '-disable-reporting'] command: ['./run.sh', '-disable-reporting']
ports: ports:
- 3000:3000 - 3000:3000
image: grafana/grafana:11.5.1-ubuntu@sha256:9a4ab78cec1a2ec7d1ca5dfd5aacec6412706a1bc9e971fc7184e2f6696a63f5 image: grafana/grafana:11.5.2-ubuntu@sha256:8b5858c447e06fd7a89006b562ba7bba7c4d5813600c7982374c41852adefaeb
volumes: volumes:
- grafana-data:/var/lib/grafana - grafana-data:/var/lib/grafana

View File

@@ -56,7 +56,7 @@ services:
database: database:
container_name: immich_postgres container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
environment: environment:
POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME} POSTGRES_USER: ${DB_USERNAME}

View File

@@ -97,7 +97,7 @@ Make sure to [set your reverse proxy](/docs/administration/reverse-proxy/) to al
Also, check the disk space of your reverse proxy. Also, check the disk space of your reverse proxy.
In some cases, proxies cache requests to disk before passing them on, and if disk space runs out, the request fails. In some cases, proxies cache requests to disk before passing them on, and if disk space runs out, the request fails.
If you are using Cloudflare Tunnel, please know that they set a maxiumum filesize of 100 MB that cannot be changed. If you are using Cloudflare Tunnel, please know that they set a maximum filesize of 100 MB that cannot be changed.
At times, files larger than this may work, potentially up to 1 GB. However, the official limit is 100 MB. At times, files larger than this may work, potentially up to 1 GB. However, the official limit is 100 MB.
If you are having issues, we recommend switching to a different network deployment. If you are having issues, we recommend switching to a different network deployment.
@@ -170,7 +170,7 @@ If you aren't able to or prefer not to mount Samba on the host (such as Windows
Below is an example in the `docker-compose.yml`. Below is an example in the `docker-compose.yml`.
Change your username, password, local IP, and share name, and see below where the line `- originals:/usr/src/app/originals`, Change your username, password, local IP, and share name, and see below where the line `- originals:/usr/src/app/originals`,
corrolates to the section where the volume `originals` was created. You can call this whatever you like, and map it to the docker container as you like. correlates to the section where the volume `originals` was created. You can call this whatever you like, and map it to the docker container as you like.
For example you could change `originals:` to `Photos:`, and change `- originals:/usr/src/app/originals` to `Photos:/usr/src/app/photos`. For example you could change `originals:` to `Photos:`, and change `- originals:/usr/src/app/originals` to `Photos:/usr/src/app/photos`.
```diff ```diff

View File

@@ -98,6 +98,14 @@ The default Immich log level is `Log` (commonly known as `Info`). The Immich adm
Through this setting, you can manage all the settings related to machine learning in Immich, from the setting of remote machine learning to the model and its parameters Through this setting, you can manage all the settings related to machine learning in Immich, from the setting of remote machine learning to the model and its parameters
You can choose to disable a certain type of machine learning, for example smart search or facial recognition. You can choose to disable a certain type of machine learning, for example smart search or facial recognition.
### URL
The built in (`http://immich-machine-learning:3003`) machine learning server will be configured by default, but you can change this or add additional servers.
Hosting the `immich-machine-learning` container on a machine with a more powerful GPU can be helpful to for processing a large number of photos (such as during batch import) or for faster search.
If more than one URL is provided, each server will be attempted one-at-a-time until one responds successfully, in order from first to last. Servers that don't respond will be temporarily ignored until they come back online.
### Smart Search ### Smart Search
The [smart search](/docs/features/searching) settings allow you to change the [CLIP model](https://openai.com/research/clip). Larger models will typically provide [more accurate search results](https://github.com/immich-app/immich/discussions/11862) but consume more processing power and RAM. When [changing the CLIP model](/docs/FAQ#can-i-use-a-custom-clip-model) it is mandatory to re-run the Smart Search job on all images to fully apply the change. The [smart search](/docs/features/searching) settings allow you to change the [CLIP model](https://openai.com/research/clip). Larger models will typically provide [more accurate search results](https://github.com/immich-app/immich/discussions/11862) but consume more processing power and RAM. When [changing the CLIP model](/docs/FAQ#can-i-use-a-custom-clip-model) it is mandatory to re-run the Smart Search job on all images to fully apply the change.

View File

@@ -69,6 +69,8 @@ Navigating to Administration > Settings > Machine Learning Settings > Facial Rec
:::tip :::tip
It's better to only tweak the parameters here than to set them to something very different unless you're ready to test a variety of options. If you do need to set a parameter to a strict setting, relaxing other settings can be a good option to compensate, and vice versa. It's better to only tweak the parameters here than to set them to something very different unless you're ready to test a variety of options. If you do need to set a parameter to a strict setting, relaxing other settings can be a good option to compensate, and vice versa.
You can learn how the tune the result in this [Guide](/docs/guides/better-facial-clusters)
::: :::
### Facial recognition model ### Facial recognition model

View File

@@ -68,7 +68,7 @@ In rare cases, the library watcher can hang, preventing Immich from starting up.
### Nightly job ### Nightly job
There is an automatic scan job that is scheduled to run once a day. This job also cleans up any libraries stuck in deletion. There is an automatic scan job that is scheduled to run once a day. This job also cleans up any libraries stuck in deletion. It is possible to trigger the cleanup by clicking "Scan all libraries" in the library managment page.
## Usage ## Usage
@@ -111,11 +111,10 @@ These actions must be performed by the Immich administrator.
- Click on Administration -> Libraries - Click on Administration -> Libraries
- Click on Create External Library - Click on Create External Library
- Select which user owns the library, this can not be changed later - Select which user owns the library, this can not be changed later
- Enter `/mnt/media/christmas-trip` then click Add
- Click on Save
- Click the drop-down menu on the newly created library - Click the drop-down menu on the newly created library
- Click on Rename Library and rename it to "Christmas Trip" - Click on Rename Library and rename it to "Christmas Trip"
- Click Edit Import Paths
- Click on Add Path
- Enter `/mnt/media/christmas-trip` then click Add
NOTE: We have to use the `/mnt/media/christmas-trip` path and not the `/mnt/nas/christmas-trip` path since all paths have to be what the Docker containers see. NOTE: We have to use the `/mnt/media/christmas-trip` path and not the `/mnt/nas/christmas-trip` path since all paths have to be what the Docker containers see.

View File

@@ -31,6 +31,7 @@ The filters smart search allows you to search by include:
- Not in any album - Not in any album
- Archived - Archived
- Favorited - Favorited
- Rating
<Tabs> <Tabs>
<TabItem value="Computer" label="Computer" default> <TabItem value="Computer" label="Computer" default>

View File

@@ -0,0 +1,72 @@
# Better Facial Recognition Clusters
## Purpose
This guide explains how to optimize facial recognition in systems with large image libraries. By following these steps, you'll achieve better clustering of faces, reducing the need for manual merging.
---
## Important Notes
- **Best Suited For:** Large image libraries after importing a significant number of images.
- **Warning:** This method deletes all previously assigned names.
- **Tip:** **Always take a [backup](/docs/administration/backup-and-restore#database) before proceeding!**
---
## Step-by-Step Instructions
### Objective
To enhance face clustering and ensure the model effectively identifies faces using qualitative initial data.
---
### Steps
#### 1. Adjust Machine Learning Settings
Navigate to:
**Admin → Administration → Settings → Machine Learning Settings**
Make the following changes:
- **Maximum recognition distance (Optional):**
Lower this value, e.g., to **0.4**, if the library contains people with similar facial features.
- **Minimum recognized faces:**
Set this to a **high value** (e.g., 20 For libraries with a large amount of assets (~100K+), and 10 for libraries with medium amount of assets (~40K+)).
> A high value ensures clusters only include faces that appear at least 20/`value` times in the library, improving the initial clustering process.
---
#### 2. Run Reset Jobs
Go to:
**Admin → Administration → Settings → Jobs**
Perform the following:
1. **FACIAL RECOGNITION → Reset**
> These reset jobs rebuild the recognition model based on the new settings.
---
#### 3. Refine Recognition with Lower Thresholds
Once the reset jobs are complete, refine the recognition as follows:
- **Step 1:**
Return to **Minimum recognized faces** in Machine Learning Settings and lower the value to **10** (In medium libraries we will lower the value from 10 to 5).
> Run the job: **FACIAL RECOGNITION → MISSING Mode**
- **Step 2:**
Lower the value again to **3**.
> Run the job: **FACIAL RECOGNITION → MISSING Mode**
:::tip try different values
For certain libraries with a larger or smaller amount of assets, other settings will be better or worse. It is recommended to try different values **before assigning names** and see which settings work best for your library.
:::
---

View File

@@ -6,7 +6,7 @@ This guide explains how to store generated and raw files with docker's volume mo
It is important to remember to update the backup settings after following the guide to back up the new backup paths if using automatic backup tools, especially `profile/`. It is important to remember to update the backup settings after following the guide to back up the new backup paths if using automatic backup tools, especially `profile/`.
::: :::
In our `.env` file, we will define variables that will help us in the future when we want to move to a more advanced server In our `.env` file, we will define the paths we want to use. Note that you don't have to define all of these: UPLOAD_LOCATION will be the base folder that files are stored in by default, with the other paths acting as overrides.
```diff title=".env" ```diff title=".env"
# You can find documentation for all the supported environment variables [here](/docs/install/environment-variables) # You can find documentation for all the supported environment variables [here](/docs/install/environment-variables)
@@ -21,7 +21,7 @@ In our `.env` file, we will define variables that will help us in the future whe
... ...
``` ```
After defining the locations of these files, we will edit the `docker-compose.yml` file accordingly and add the new variables to the `immich-server` container. After defining the locations of these files, we will edit the `docker-compose.yml` file accordingly and add the new variables to the `immich-server` container. These paths are where the mount attaches inside of the container, so don't change those.
```diff title="docker-compose.yml" ```diff title="docker-compose.yml"
services: services:
@@ -35,7 +35,8 @@ services:
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
``` ```
Restart Immich to register the changes. After making this change, you have to move the files over to the new folders to make sure Immich can find everything it needs. If you haven't uploaded anything important yet, you can also reset Immich entirely by deleting the database folder.
Then restart Immich to register the changes:
``` ```
docker compose up -d docker compose up -d

View File

@@ -31,6 +31,10 @@ SELECT * FROM "assets" WHERE "originalPath" LIKE 'upload/library/admin/2023/%';
SELECT * FROM "assets" WHERE "id" = '9f94e60f-65b6-47b7-ae44-a4df7b57f0e9'; SELECT * FROM "assets" WHERE "id" = '9f94e60f-65b6-47b7-ae44-a4df7b57f0e9';
``` ```
```sql title="Find by partial ID"
SELECT * FROM "assets" WHERE "id"::text LIKE '%ab431d3a%';
```
:::note :::note
You can calculate the checksum for a particular file by using the command `sha1sum <filename>`. You can calculate the checksum for a particular file by using the command `sha1sum <filename>`.
::: :::

View File

@@ -37,7 +37,7 @@ You can alternatively download these two files from your browser and move them t
</CodeBlock> </CodeBlock>
- Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets. It should be a new directory on the server with enough free space. - Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
- Consider changing `DB_PASSWORD` to a custom value. Postgres is not publically exposed, so this password is only used for local authentication. - Consider changing `DB_PASSWORD` to a custom value. Postgres is not publicly exposed, so this password is only used for local authentication.
To avoid issues with Docker parsing this value, it is best to use only the characters `A-Za-z0-9`. `pwgen` is a handy utility for this. To avoid issues with Docker parsing this value, it is best to use only the characters `A-Za-z0-9`. `pwgen` is a handy utility for this.
- Set your timezone by uncommenting the `TZ=` line. - Set your timezone by uncommenting the `TZ=` line.
- Populate custom database information if necessary. - Populate custom database information if necessary.

View File

@@ -11,7 +11,7 @@ Just restarting the containers does not replace the environment within the conta
In order to recreate the container using docker compose, run `docker compose up -d`. In order to recreate the container using docker compose, run `docker compose up -d`.
In most cases docker will recognize that the `.env` file has changed and recreate the affected containers. In most cases docker will recognize that the `.env` file has changed and recreate the affected containers.
If this should not work, try running `docker compose up -d --force-recreate`. If this does not work, try running `docker compose up -d --force-recreate`.
::: :::
@@ -20,8 +20,8 @@ If this should not work, try running `docker compose up -d --force-recreate`.
| Variable | Description | Default | Containers | | Variable | Description | Default | Containers |
| :----------------- | :------------------------------ | :-------: | :----------------------- | | :----------------- | :------------------------------ | :-------: | :----------------------- |
| `IMMICH_VERSION` | Image tags | `release` | server, machine learning | | `IMMICH_VERSION` | Image tags | `release` | server, machine learning |
| `UPLOAD_LOCATION` | Host Path for uploads | | server | | `UPLOAD_LOCATION` | Host path for uploads | | server |
| `DB_DATA_LOCATION` | Host Path for Postgres database | | database | | `DB_DATA_LOCATION` | Host path for Postgres database | | database |
:::tip :::tip
These environment variables are used by the `docker-compose.yml` file and do **NOT** affect the containers directly. These environment variables are used by the `docker-compose.yml` file and do **NOT** affect the containers directly.
@@ -33,15 +33,15 @@ These environment variables are used by the `docker-compose.yml` file and do **N
| :---------------------------------- | :---------------------------------------------------------------------------------------- | :--------------------------: | :----------------------- | :----------------- | | :---------------------------------- | :---------------------------------------------------------------------------------------- | :--------------------------: | :----------------------- | :----------------- |
| `TZ` | Timezone | <sup>\*1</sup> | server | microservices | | `TZ` | Timezone | <sup>\*1</sup> | server | microservices |
| `IMMICH_ENV` | Environment (production, development) | `production` | server, machine learning | api, microservices | | `IMMICH_ENV` | Environment (production, development) | `production` | server, machine learning | api, microservices |
| `IMMICH_LOG_LEVEL` | Log Level (verbose, debug, log, warn, error) | `log` | server, machine learning | api, microservices | | `IMMICH_LOG_LEVEL` | Log level (verbose, debug, log, warn, error) | `log` | server, machine learning | api, microservices |
| `IMMICH_MEDIA_LOCATION` | Media Location inside the container ⚠️**You probably shouldn't set this**<sup>\*2</sup>⚠️ | `./upload`<sup>\*3</sup> | server | api, microservices | | `IMMICH_MEDIA_LOCATION` | Media location inside the container ⚠️**You probably shouldn't set this**<sup>\*2</sup>⚠️ | `./upload`<sup>\*3</sup> | server | api, microservices |
| `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices | | `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices |
| `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | | | `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | |
| `CPU_CORES` | Amount of cores available to the immich server | auto-detected cpu core count | server | | | `CPU_CORES` | Number of cores available to the Immich server | auto-detected CPU core count | server | |
| `IMMICH_API_METRICS_PORT` | Port for the OTEL metrics | `8081` | server | api | | `IMMICH_API_METRICS_PORT` | Port for the OTEL metrics | `8081` | server | api |
| `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices | | `IMMICH_MICROSERVICES_METRICS_PORT` | Port for the OTEL metrics | `8082` | server | microservices |
| `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices | | `IMMICH_PROCESS_INVALID_IMAGES` | When `true`, generate thumbnails for invalid images | | server | microservices |
| `IMMICH_TRUSTED_PROXIES` | List of comma separated IPs set as trusted proxies | | server | api | | `IMMICH_TRUSTED_PROXIES` | List of comma-separated IPs set as trusted proxies | | server | api |
| `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/docs/administration/system-integrity) | | server | api, microservices | | `IMMICH_IGNORE_MOUNT_CHECK_ERRORS` | See [System Integrity](/docs/administration/system-integrity) | | server | api, microservices |
\*1: `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`. \*1: `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.
@@ -50,7 +50,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
\*2: This path is where the Immich code looks for the files, which is internal to the docker container. Setting it to a path on your host will certainly break things, you should use the `UPLOAD_LOCATION` variable instead. \*2: This path is where the Immich code looks for the files, which is internal to the docker container. Setting it to a path on your host will certainly break things, you should use the `UPLOAD_LOCATION` variable instead.
\*3: With the default `WORKDIR` of `/usr/src/app`, this path will resolve to `/usr/src/app/upload`. \*3: With the default `WORKDIR` of `/usr/src/app`, this path will resolve to `/usr/src/app/upload`.
It only need to be set if the Immich deployment method is changing. It only needs to be set if the Immich deployment method is changing.
## Workers ## Workers
@@ -75,12 +75,12 @@ Information on the current workers can be found [here](/docs/administration/jobs
| Variable | Description | Default | Containers | | Variable | Description | Default | Containers |
| :---------------------------------- | :----------------------------------------------------------------------- | :----------: | :----------------------------- | | :---------------------------------- | :----------------------------------------------------------------------- | :----------: | :----------------------------- |
| `DB_URL` | Database URL | | server | | `DB_URL` | Database URL | | server |
| `DB_HOSTNAME` | Database Host | `database` | server | | `DB_HOSTNAME` | Database host | `database` | server |
| `DB_PORT` | Database Port | `5432` | server | | `DB_PORT` | Database port | `5432` | server |
| `DB_USERNAME` | Database User | `postgres` | server, database<sup>\*1</sup> | | `DB_USERNAME` | Database user | `postgres` | server, database<sup>\*1</sup> |
| `DB_PASSWORD` | Database Password | `postgres` | server, database<sup>\*1</sup> | | `DB_PASSWORD` | Database password | `postgres` | server, database<sup>\*1</sup> |
| `DB_DATABASE_NAME` | Database Name | `immich` | server, database<sup>\*1</sup> | | `DB_DATABASE_NAME` | Database name | `immich` | server, database<sup>\*1</sup> |
| `DB_VECTOR_EXTENSION`<sup>\*2</sup> | Database Vector Extension (one of [`pgvector`, `pgvecto.rs`]) | `pgvecto.rs` | server | | `DB_VECTOR_EXTENSION`<sup>\*2</sup> | Database vector extension (one of [`pgvector`, `pgvecto.rs`]) | `pgvecto.rs` | server |
| `DB_SKIP_MIGRATIONS` | Whether to skip running migrations on startup (one of [`true`, `false`]) | `false` | server | | `DB_SKIP_MIGRATIONS` | Whether to skip running migrations on startup (one of [`true`, `false`]) | `false` | server |
\*1: The values of `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE_NAME` are passed to the Postgres container as the variables `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB` in `docker-compose.yml`. \*1: The values of `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE_NAME` are passed to the Postgres container as the variables `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB` in `docker-compose.yml`.
@@ -103,18 +103,18 @@ When `DB_URL` is defined, the `DB_HOSTNAME`, `DB_PORT`, `DB_USERNAME`, `DB_PASSW
| Variable | Description | Default | Containers | | Variable | Description | Default | Containers |
| :--------------- | :------------- | :-----: | :--------- | | :--------------- | :------------- | :-----: | :--------- |
| `REDIS_URL` | Redis URL | | server | | `REDIS_URL` | Redis URL | | server |
| `REDIS_SOCKET` | Redis Socket | | server | | `REDIS_SOCKET` | Redis socket | | server |
| `REDIS_HOSTNAME` | Redis Host | `redis` | server | | `REDIS_HOSTNAME` | Redis host | `redis` | server |
| `REDIS_PORT` | Redis Port | `6379` | server | | `REDIS_PORT` | Redis port | `6379` | server |
| `REDIS_USERNAME` | Redis Username | | server | | `REDIS_USERNAME` | Redis username | | server |
| `REDIS_PASSWORD` | Redis Password | | server | | `REDIS_PASSWORD` | Redis password | | server |
| `REDIS_DBINDEX` | Redis DB Index | `0` | server | | `REDIS_DBINDEX` | Redis DB index | `0` | server |
:::info :::info
All `REDIS_` variables must be provided to all Immich workers, including `api` and `microservices`. All `REDIS_` variables must be provided to all Immich workers, including `api` and `microservices`.
`REDIS_URL` must start with `ioredis://` and then include a `base64` encoded JSON string for the configuration. `REDIS_URL` must start with `ioredis://` and then include a `base64` encoded JSON string for the configuration.
More info can be found in the upstream [ioredis] documentation. More information can be found in the upstream [ioredis] documentation.
When `REDIS_URL` or `REDIS_SOCKET` are defined, the `REDIS_HOSTNAME`, `REDIS_PORT`, `REDIS_USERNAME`, `REDIS_PASSWORD`, and `REDIS_DBINDEX` variables are ignored. When `REDIS_URL` or `REDIS_SOCKET` are defined, the `REDIS_HOSTNAME`, `REDIS_PORT`, `REDIS_USERNAME`, `REDIS_PASSWORD`, and `REDIS_DBINDEX` variables are ignored.
::: :::
@@ -168,6 +168,8 @@ Redis (Sentinel) URL example JSON before encoding:
| `MACHINE_LEARNING_ANN_TUNING_LEVEL` | ARM-NN GPU tuning level (1: rapid, 2: normal, 3: exhaustive) | `2` | machine learning | | `MACHINE_LEARNING_ANN_TUNING_LEVEL` | ARM-NN GPU tuning level (1: rapid, 2: normal, 3: exhaustive) | `2` | machine learning |
| `MACHINE_LEARNING_DEVICE_IDS`<sup>\*4</sup> | Device IDs to use in multi-GPU environments | `0` | machine learning | | `MACHINE_LEARNING_DEVICE_IDS`<sup>\*4</sup> | Device IDs to use in multi-GPU environments | `0` | machine learning |
| `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning | | `MACHINE_LEARNING_MAX_BATCH_SIZE__FACIAL_RECOGNITION` | Set the maximum number of faces that will be processed at once by the facial recognition model | None (`1` if using OpenVINO) | machine learning |
| `MACHINE_LEARNING_PING_TIMEOUT` | How long (ms) to wait for a PING response when checking if an ML server is available | `2000` | server |
| `MACHINE_LEARNING_AVAILABILITY_BACKOFF_TIME` | How long to ignore ML servers that are offline before trying again | `30000` | server |
\*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones. \*1: It is recommended to begin with this parameter when changing the concurrency levels of the machine learning service and then tune the other ones.
@@ -179,7 +181,11 @@ Redis (Sentinel) URL example JSON before encoding:
:::info :::info
Other machine learning parameters can be tuned from the admin UI. While the `textual` model is the only one required for smart search, some users may experience slow first searches
due to backups triggering loading of the other models into memory, which blocks other requests until completed.
To avoid this, you can preload the other models (`visual`, `recognition`, and `detection`) if you have enough RAM to do so.
Additional machine learning parameters can be tuned from the admin UI.
::: :::
@@ -210,7 +216,7 @@ the `_FILE` variable should be set to the path of a file containing the variable
details on how to use Docker Secrets in the Postgres image. details on how to use Docker Secrets in the Postgres image.
\*2: See [this comment][docker-secrets-example] for an example of how \*2: See [this comment][docker-secrets-example] for an example of how
to use use a Docker secret for the password in the Redis container. to use a Docker secret for the password in the Redis container.
[tz-list]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List [tz-list]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
[docker-secrets-example]: https://github.com/docker-library/redis/issues/46#issuecomment-335326234 [docker-secrets-example]: https://github.com/docker-library/redis/issues/46#issuecomment-335326234

View File

@@ -198,7 +198,7 @@ The **CPU** value was specified in a different format with a default of `4000m`
The **Memory** value was specified in a different format with a default of `8Gi` which is 8 GiB of RAM. The value was specified in bytes or a number with a measurement suffix. Examples: `129M`, `123Mi`, `1000000000` The **Memory** value was specified in a different format with a default of `8Gi` which is 8 GiB of RAM. The value was specified in bytes or a number with a measurement suffix. Examples: `129M`, `123Mi`, `1000000000`
::: :::
Enable **GPU Configuration** options if you have a GPU that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md). More info: [GPU Passtrough Docs for TrueNAS Apps](https://www.truenas.com/docs/truenasapps/#gpu-passthrough) Enable **GPU Configuration** options if you have a GPU that you will use for [Hardware Transcoding](/docs/features/hardware-transcoding) and/or [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md). More info: [GPU Passthrough Docs for TrueNAS Apps](https://www.truenas.com/docs/truenasapps/#gpu-passthrough)
### Install ### Install

21
docs/package-lock.json generated
View File

@@ -28,6 +28,8 @@
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "~3.7.0", "@docusaurus/module-type-aliases": "~3.7.0",
"@docusaurus/tsconfig": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"prettier": "^3.2.4", "prettier": "^3.2.4",
"typescript": "^5.1.6" "typescript": "^5.1.6"
}, },
@@ -3698,6 +3700,13 @@
"node": ">=18.0" "node": ">=18.0"
} }
}, },
"node_modules/@docusaurus/tsconfig": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.7.0.tgz",
"integrity": "sha512-vRsyj3yUZCjscgfgcFYjIsTcAru/4h4YH2/XAE8Rs7wWdnng98PgWKvP5ovVc4rmRpRg2WChVW0uOy2xHDvDBQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@docusaurus/types": { "node_modules/@docusaurus/types": {
"version": "3.7.0", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.7.0.tgz", "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.7.0.tgz",
@@ -14061,9 +14070,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.5.2", "version": "8.5.3",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
"integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -15725,9 +15734,9 @@
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "3.5.1", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.1.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz",
"integrity": "sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==", "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {

View File

@@ -36,6 +36,8 @@
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "~3.7.0", "@docusaurus/module-type-aliases": "~3.7.0",
"@docusaurus/tsconfig": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"prettier": "^3.2.4", "prettier": "^3.2.4",
"typescript": "^5.1.6" "typescript": "^5.1.6"
}, },

View File

@@ -53,6 +53,11 @@ const guides: CommunityGuidesProps[] = [
description: 'How to configure an existing fail2ban installation to block incorrect login attempts.', description: 'How to configure an existing fail2ban installation to block incorrect login attempts.',
url: 'https://github.com/immich-app/immich/discussions/3243#discussioncomment-6681948', url: 'https://github.com/immich-app/immich/discussions/3243#discussioncomment-6681948',
}, },
{
title: 'Immich remote access with NordVPN Meshnet',
description: 'Access Immich with an end-to-end encrypted connection.',
url: 'https://meshnet.nordvpn.com/how-to/remote-files-media-access/immich-remote-access',
},
]; ];
function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element { function CommunityGuide({ title, description, url }: CommunityGuidesProps): JSX.Element {

View File

@@ -24,10 +24,13 @@ export default function VersionSwitcher(): JSX.Element {
{ label: 'Next', url: 'https://main.preview.immich.app' }, { label: 'Next', url: 'https://main.preview.immich.app' },
{ label: 'Latest', url: 'https://immich.app' }, { label: 'Latest', url: 'https://immich.app' },
...archiveVersions, ...archiveVersions,
]; ].map(({ label, url }) => ({
label,
url: new URL(url),
}));
setVersions(allVersions); setVersions(allVersions);
const activeVersion = allVersions.find((version) => new URL(version.url).origin === window.location.origin); const activeVersion = allVersions.find((version) => version.url.origin === window.location.origin);
if (activeVersion) { if (activeVersion) {
setLabel(activeVersion.label); setLabel(activeVersion.label);
} }
@@ -49,7 +52,7 @@ export default function VersionSwitcher(): JSX.Element {
mobile={windowSize === 'mobile'} mobile={windowSize === 'mobile'}
items={versions.map(({ label, url }) => ({ items={versions.map(({ label, url }) => ({
label, label,
to: url + location.pathname + location.hash, to: new URL(location.pathname + location.search + location.hash, url).href,
target: '_self', target: '_self',
}))} }))}
/> />

View File

@@ -242,6 +242,13 @@ const roadmap: Item[] = [
]; ];
const milestones: Item[] = [ const milestones: Item[] = [
{
icon: mdiStar,
iconColor: 'gold',
title: '60,000 Stars',
description: 'Reached 60K Stars on GitHub!',
getDateLabel: withLanguage(new Date(2025, 2, 4)),
},
withRelease({ withRelease({
icon: mdiLinkEdit, icon: mdiLinkEdit,
iconColor: 'crimson', iconColor: 'crimson',

View File

@@ -1,4 +1,16 @@
[ [
{
"label": "v1.129.0",
"url": "https://v1.129.0.archive.immich.app"
},
{
"label": "v1.128.0",
"url": "https://v1.128.0.archive.immich.app"
},
{
"label": "v1.127.0",
"url": "https://v1.127.0.archive.immich.app"
},
{ {
"label": "v1.126.1", "label": "v1.126.1",
"url": "https://v1.126.1.archive.immich.app" "url": "https://v1.126.1.archive.immich.app"
@@ -19,10 +31,6 @@
"label": "v1.125.5", "label": "v1.125.5",
"url": "https://v1.125.5.archive.immich.app" "url": "https://v1.125.5.archive.immich.app"
}, },
{
"label": "v1.125.4",
"url": "https://v1.125.4.archive.immich.app"
},
{ {
"label": "v1.125.3", "label": "v1.125.3",
"url": "https://v1.125.3.archive.immich.app" "url": "https://v1.125.3.archive.immich.app"
@@ -35,10 +43,6 @@
"label": "v1.125.1", "label": "v1.125.1",
"url": "https://v1.125.1.archive.immich.app" "url": "https://v1.125.1.archive.immich.app"
}, },
{
"label": "v1.125.0",
"url": "https://v1.125.0.archive.immich.app"
},
{ {
"label": "v1.124.2", "label": "v1.124.2",
"url": "https://v1.124.2.archive.immich.app" "url": "https://v1.124.2.archive.immich.app"
@@ -201,46 +205,46 @@
}, },
{ {
"label": "v1.105.1", "label": "v1.105.1",
"url": "https://v1.105.1.archive.immich.app/" "url": "https://v1.105.1.archive.immich.app"
}, },
{ {
"label": "v1.105.0", "label": "v1.105.0",
"url": "https://v1.105.0.archive.immich.app/" "url": "https://v1.105.0.archive.immich.app"
}, },
{ {
"label": "v1.104.0", "label": "v1.104.0",
"url": "https://v1.104.0.archive.immich.app/" "url": "https://v1.104.0.archive.immich.app"
}, },
{ {
"label": "v1.103.1", "label": "v1.103.1",
"url": "https://v1.103.1.archive.immich.app/" "url": "https://v1.103.1.archive.immich.app"
}, },
{ {
"label": "v1.103.0", "label": "v1.103.0",
"url": "https://v1.103.0.archive.immich.app/" "url": "https://v1.103.0.archive.immich.app"
}, },
{ {
"label": "v1.102.3", "label": "v1.102.3",
"url": "https://v1.102.3.archive.immich.app/" "url": "https://v1.102.3.archive.immich.app"
}, },
{ {
"label": "v1.102.2", "label": "v1.102.2",
"url": "https://v1.102.2.archive.immich.app/" "url": "https://v1.102.2.archive.immich.app"
}, },
{ {
"label": "v1.102.1", "label": "v1.102.1",
"url": "https://v1.102.1.archive.immich.app/" "url": "https://v1.102.1.archive.immich.app"
}, },
{ {
"label": "v1.102.0", "label": "v1.102.0",
"url": "https://v1.102.0.archive.immich.app/" "url": "https://v1.102.0.archive.immich.app"
}, },
{ {
"label": "v1.101.0", "label": "v1.101.0",
"url": "https://v1.101.0.archive.immich.app/" "url": "https://v1.101.0.archive.immich.app"
}, },
{ {
"label": "v1.100.0", "label": "v1.100.0",
"url": "https://v1.100.0.archive.immich.app/" "url": "https://v1.100.0.archive.immich.app"
} }
] ]

View File

@@ -5,7 +5,7 @@ module.exports = {
preflight: false, // disable Tailwind's reset preflight: false, // disable Tailwind's reset
}, },
content: ['./src/**/*.{js,jsx,ts,tsx}', './{docs,blog}/**/*.{md,mdx}'], // my markdown stuff is in ../docs, not /src content: ['./src/**/*.{js,jsx,ts,tsx}', './{docs,blog}/**/*.{md,mdx}'], // my markdown stuff is in ../docs, not /src
darkMode: ['class', '[data-theme="dark"]'], // hooks into docusaurus' dark mode settigns darkMode: ['class', '[data-theme="dark"]'], // hooks into docusaurus' dark mode settings
theme: { theme: {
extend: { extend: {
colors: { colors: {

View File

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

View File

@@ -37,7 +37,7 @@ services:
image: redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8 image: redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
database: database:
image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
command: -c fsync=off -c shared_preload_libraries=vectors.so command: -c fsync=off -c shared_preload_libraries=vectors.so
environment: environment:
POSTGRES_PASSWORD: postgres POSTGRES_PASSWORD: postgres

754
e2e/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "immich-e2e", "name": "immich-e2e",
"version": "1.126.1", "version": "1.129.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"type": "module", "type": "module",
@@ -25,7 +25,7 @@
"@immich/sdk": "file:../open-api/typescript-sdk", "@immich/sdk": "file:../open-api/typescript-sdk",
"@playwright/test": "^1.44.1", "@playwright/test": "^1.44.1",
"@types/luxon": "^3.4.2", "@types/luxon": "^3.4.2",
"@types/node": "^22.13.2", "@types/node": "^22.13.5",
"@types/oidc-provider": "^8.5.1", "@types/oidc-provider": "^8.5.1",
"@types/pg": "^8.11.0", "@types/pg": "^8.11.0",
"@types/pngjs": "^6.0.4", "@types/pngjs": "^6.0.4",
@@ -38,7 +38,7 @@
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^56.0.1", "eslint-plugin-unicorn": "^56.0.1",
"exiftool-vendored": "^28.3.1", "exiftool-vendored": "^28.3.1",
"globals": "^15.9.0", "globals": "^16.0.0",
"jose": "^5.6.3", "jose": "^5.6.3",
"luxon": "^3.4.4", "luxon": "^3.4.4",
"oidc-provider": "^8.5.1", "oidc-provider": "^8.5.1",

View File

@@ -4,7 +4,6 @@ import {
AssetResponseDto, AssetResponseDto,
AssetTypeEnum, AssetTypeEnum,
getAssetInfo, getAssetInfo,
getConfig,
getMyUser, getMyUser,
LoginResponseDto, LoginResponseDto,
SharedLinkType, SharedLinkType,
@@ -45,8 +44,6 @@ const locationAssetFilepath = `${testAssetDir}/metadata/gps-position/thompson-sp
const ratingAssetFilepath = `${testAssetDir}/metadata/rating/mongolels.jpg`; const ratingAssetFilepath = `${testAssetDir}/metadata/rating/mongolels.jpg`;
const facesAssetFilepath = `${testAssetDir}/metadata/faces/portrait.jpg`; const facesAssetFilepath = `${testAssetDir}/metadata/faces/portrait.jpg`;
const getSystemConfig = (accessToken: string) => getConfig({ headers: asBearerAuth(accessToken) });
const readTags = async (bytes: Buffer, filename: string) => { const readTags = async (bytes: Buffer, filename: string) => {
const filepath = join(tempDir, filename); const filepath = join(tempDir, filename);
await writeFile(filepath, bytes); await writeFile(filepath, bytes);
@@ -228,7 +225,7 @@ describe('/asset', () => {
}); });
it('should get the asset faces', async () => { it('should get the asset faces', async () => {
const config = await getSystemConfig(admin.accessToken); const config = await utils.getSystemConfig(admin.accessToken);
config.metadata.faces.import = true; config.metadata.faces.import = true;
await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) }); await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });

View File

@@ -1,8 +1,9 @@
import { JobCommand, JobName, LoginResponseDto } from '@immich/sdk'; import { JobCommand, JobName, LoginResponseDto, updateConfig } from '@immich/sdk';
import { cpSync, rmSync } from 'node:fs';
import { readFile } from 'node:fs/promises'; import { readFile } from 'node:fs/promises';
import { basename } from 'node:path'; import { basename } from 'node:path';
import { errorDto } from 'src/responses'; import { errorDto } from 'src/responses';
import { app, testAssetDir, utils } from 'src/utils'; import { app, asBearerAuth, testAssetDir, utils } from 'src/utils';
import request from 'supertest'; import request from 'supertest';
import { afterEach, beforeAll, describe, expect, it } from 'vitest'; import { afterEach, beforeAll, describe, expect, it } from 'vitest';
@@ -20,6 +21,33 @@ describe('/jobs', () => {
command: JobCommand.Resume, command: JobCommand.Resume,
force: false, force: false,
}); });
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Resume,
force: false,
});
await utils.jobCommand(admin.accessToken, JobName.FaceDetection, {
command: JobCommand.Resume,
force: false,
});
await utils.jobCommand(admin.accessToken, JobName.SmartSearch, {
command: JobCommand.Resume,
force: false,
});
await utils.jobCommand(admin.accessToken, JobName.DuplicateDetection, {
command: JobCommand.Resume,
force: false,
});
const config = await utils.getSystemConfig(admin.accessToken);
config.machineLearning.duplicateDetection.enabled = false;
config.machineLearning.enabled = false;
config.metadata.faces.import = false;
config.machineLearning.clip.enabled = false;
await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });
}); });
it('should require authentication', async () => { it('should require authentication', async () => {
@@ -29,14 +57,7 @@ describe('/jobs', () => {
}); });
it('should queue metadata extraction for missing assets', async () => { it('should queue metadata extraction for missing assets', async () => {
const path1 = `${testAssetDir}/formats/raw/Nikon/D700/philadelphia.nef`; const path = `${testAssetDir}/formats/raw/Nikon/D700/philadelphia.nef`;
const path2 = `${testAssetDir}/formats/raw/Nikon/D80/glarus.nef`;
await utils.createAsset(admin.accessToken, {
assetData: { bytes: await readFile(path1), filename: basename(path1) },
});
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
await utils.jobCommand(admin.accessToken, JobName.MetadataExtraction, { await utils.jobCommand(admin.accessToken, JobName.MetadataExtraction, {
command: JobCommand.Pause, command: JobCommand.Pause,
@@ -44,7 +65,7 @@ describe('/jobs', () => {
}); });
const { id } = await utils.createAsset(admin.accessToken, { const { id } = await utils.createAsset(admin.accessToken, {
assetData: { bytes: await readFile(path2), filename: basename(path2) }, assetData: { bytes: await readFile(path), filename: basename(path) },
}); });
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction'); await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
@@ -82,5 +103,123 @@ describe('/jobs', () => {
expect(asset.exifInfo?.make).toBe('NIKON CORPORATION'); expect(asset.exifInfo?.make).toBe('NIKON CORPORATION');
} }
}); });
it('should not re-extract metadata for existing assets', async () => {
const path = `${testAssetDir}/temp/metadata/asset.jpg`;
cpSync(`${testAssetDir}/formats/raw/Nikon/D700/philadelphia.nef`, path);
const { id } = await utils.createAsset(admin.accessToken, {
assetData: { bytes: await readFile(path), filename: basename(path) },
});
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
{
const asset = await utils.getAssetInfo(admin.accessToken, id);
expect(asset.exifInfo).toBeDefined();
expect(asset.exifInfo?.model).toBe('NIKON D700');
}
cpSync(`${testAssetDir}/formats/raw/Nikon/D80/glarus.nef`, path);
await utils.jobCommand(admin.accessToken, JobName.MetadataExtraction, {
command: JobCommand.Start,
force: false,
});
await utils.waitForQueueFinish(admin.accessToken, 'metadataExtraction');
{
const asset = await utils.getAssetInfo(admin.accessToken, id);
expect(asset.exifInfo).toBeDefined();
expect(asset.exifInfo?.model).toBe('NIKON D700');
}
rmSync(path);
});
it('should queue thumbnail extraction for assets missing thumbs', async () => {
const path = `${testAssetDir}/albums/nature/tanners_ridge.jpg`;
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Pause,
force: false,
});
const { id } = await utils.createAsset(admin.accessToken, {
assetData: { bytes: await readFile(path), filename: basename(path) },
});
await utils.waitForQueueFinish(admin.accessToken, JobName.MetadataExtraction);
await utils.waitForQueueFinish(admin.accessToken, JobName.ThumbnailGeneration);
const assetBefore = await utils.getAssetInfo(admin.accessToken, id);
expect(assetBefore.thumbhash).toBeNull();
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Empty,
force: false,
});
await utils.waitForQueueFinish(admin.accessToken, JobName.MetadataExtraction);
await utils.waitForQueueFinish(admin.accessToken, JobName.ThumbnailGeneration);
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Resume,
force: false,
});
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Start,
force: false,
});
await utils.waitForQueueFinish(admin.accessToken, JobName.MetadataExtraction);
await utils.waitForQueueFinish(admin.accessToken, JobName.ThumbnailGeneration);
const assetAfter = await utils.getAssetInfo(admin.accessToken, id);
expect(assetAfter.thumbhash).not.toBeNull();
});
it('should not reload existing thumbnail when running thumb job for missing assets', async () => {
const path = `${testAssetDir}/temp/thumbs/asset1.jpg`;
cpSync(`${testAssetDir}/albums/nature/tanners_ridge.jpg`, path);
const { id } = await utils.createAsset(admin.accessToken, {
assetData: { bytes: await readFile(path), filename: basename(path) },
});
await utils.waitForQueueFinish(admin.accessToken, JobName.MetadataExtraction);
await utils.waitForQueueFinish(admin.accessToken, JobName.ThumbnailGeneration);
const assetBefore = await utils.getAssetInfo(admin.accessToken, id);
cpSync(`${testAssetDir}/albums/nature/notocactus_minimus.jpg`, path);
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Resume,
force: false,
});
// This runs the missing thumbnail job
await utils.jobCommand(admin.accessToken, JobName.ThumbnailGeneration, {
command: JobCommand.Start,
force: false,
});
await utils.waitForQueueFinish(admin.accessToken, JobName.MetadataExtraction);
await utils.waitForQueueFinish(admin.accessToken, JobName.ThumbnailGeneration);
const assetAfter = await utils.getAssetInfo(admin.accessToken, id);
// Asset 1 thumbnail should be untouched since its thumb should not have been reloaded, even though the file was changed
expect(assetAfter.thumbhash).toEqual(assetBefore.thumbhash);
rmSync(path);
});
}); });
}); });

View File

@@ -526,6 +526,47 @@ describe('/libraries', () => {
utils.removeImageFile(`${testAssetDir}/temp/reimport/asset.jpg`); utils.removeImageFile(`${testAssetDir}/temp/reimport/asset.jpg`);
}); });
it('should not reimport a modified file more than once', async () => {
const library = await utils.createLibrary(admin.accessToken, {
ownerId: admin.userId,
importPaths: [`${testAssetDirInternal}/temp/reimport`],
});
utils.createImageFile(`${testAssetDir}/temp/reimport/asset.jpg`);
await utimes(`${testAssetDir}/temp/reimport/asset.jpg`, 447_775_200_000);
await utils.scan(admin.accessToken, library.id);
cpSync(`${testAssetDir}/albums/nature/tanners_ridge.jpg`, `${testAssetDir}/temp/reimport/asset.jpg`);
await utimes(`${testAssetDir}/temp/reimport/asset.jpg`, 447_775_200_001);
await utils.scan(admin.accessToken, library.id);
cpSync(`${testAssetDir}/albums/nature/el_torcal_rocks.jpg`, `${testAssetDir}/temp/reimport/asset.jpg`);
await utimes(`${testAssetDir}/temp/reimport/asset.jpg`, 447_775_200_001);
await utils.scan(admin.accessToken, library.id);
const { assets } = await utils.searchAssets(admin.accessToken, {
libraryId: library.id,
});
expect(assets.count).toEqual(1);
const asset = await utils.getAssetInfo(admin.accessToken, assets.items[0].id);
expect(asset).toEqual(
expect.objectContaining({
originalFileName: 'asset.jpg',
exifInfo: expect.objectContaining({
model: 'NIKON D750',
}),
}),
);
utils.removeImageFile(`${testAssetDir}/temp/reimport/asset.jpg`);
});
it('should set an asset offline if its file is missing', async () => { it('should set an asset offline if its file is missing', async () => {
const library = await utils.createLibrary(admin.accessToken, { const library = await utils.createLibrary(admin.accessToken, {
ownerId: admin.userId, ownerId: admin.userId,

View File

@@ -95,7 +95,7 @@ describe('/shared-links', () => {
expect(resp.status).toBe(200); expect(resp.status).toBe(200);
expect(resp.header['content-type']).toContain('text/html'); expect(resp.header['content-type']).toContain('text/html');
expect(resp.text).toContain( expect(resp.text).toContain(
`<meta name="description" content="${metadataAlbum.assets.length} shared photos & videos" />`, `<meta name="description" content="${metadataAlbum.assets.length} shared photos &amp; videos" />`,
); );
}); });
@@ -103,14 +103,14 @@ describe('/shared-links', () => {
const resp = await request(shareUrl).get(`/${linkWithAlbum.key}`); const resp = await request(shareUrl).get(`/${linkWithAlbum.key}`);
expect(resp.status).toBe(200); expect(resp.status).toBe(200);
expect(resp.header['content-type']).toContain('text/html'); expect(resp.header['content-type']).toContain('text/html');
expect(resp.text).toContain(`<meta name="description" content="0 shared photos & videos" />`); expect(resp.text).toContain(`<meta name="description" content="0 shared photos &amp; videos" />`);
}); });
it('should have correct asset count in meta tag for shared asset', async () => { it('should have correct asset count in meta tag for shared asset', async () => {
const resp = await request(shareUrl).get(`/${linkWithAssets.key}`); const resp = await request(shareUrl).get(`/${linkWithAssets.key}`);
expect(resp.status).toBe(200); expect(resp.status).toBe(200);
expect(resp.header['content-type']).toContain('text/html'); expect(resp.header['content-type']).toContain('text/html');
expect(resp.text).toContain(`<meta name="description" content="1 shared photos & videos" />`); expect(resp.text).toContain(`<meta name="description" content="1 shared photos &amp; videos" />`);
}); });
it('should have fqdn og:image meta tag for shared asset', async () => { it('should have fqdn og:image meta tag for shared asset', async () => {

View File

@@ -1,4 +1,4 @@
import { LoginResponseDto, getAssetInfo, getAssetStatistics, scanLibrary } from '@immich/sdk'; import { LoginResponseDto, getAssetInfo, getAssetStatistics } from '@immich/sdk';
import { existsSync } from 'node:fs'; import { existsSync } from 'node:fs';
import { Socket } from 'socket.io-client'; import { Socket } from 'socket.io-client';
import { errorDto } from 'src/responses'; import { errorDto } from 'src/responses';
@@ -6,8 +6,6 @@ import { app, asBearerAuth, testAssetDir, testAssetDirInternal, utils } from 'sr
import request from 'supertest'; import request from 'supertest';
import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { afterAll, beforeAll, describe, expect, it } from 'vitest';
const scan = async (accessToken: string, id: string) => scanLibrary({ id }, { headers: asBearerAuth(accessToken) });
describe('/trash', () => { describe('/trash', () => {
let admin: LoginResponseDto; let admin: LoginResponseDto;
let ws: Socket; let ws: Socket;
@@ -81,8 +79,7 @@ describe('/trash', () => {
utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`); utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id }); const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.items.length).toBe(1); expect(assets.items.length).toBe(1);
@@ -90,8 +87,7 @@ describe('/trash', () => {
await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] }); await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id); const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id);
expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true }); expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true });
@@ -116,8 +112,7 @@ describe('/trash', () => {
utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`); utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id }); const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.items.length).toBe(1); expect(assets.items.length).toBe(1);
@@ -125,8 +120,7 @@ describe('/trash', () => {
await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] }); await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id); const assetBefore = await utils.getAssetInfo(admin.accessToken, asset.id);
expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true }); expect(assetBefore).toMatchObject({ isTrashed: true, isOffline: true });
@@ -180,8 +174,7 @@ describe('/trash', () => {
utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`); utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id }); const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
expect(assets.count).toBe(1); expect(assets.count).toBe(1);
@@ -189,9 +182,7 @@ describe('/trash', () => {
await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] }); await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library');
const before = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) }); const before = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) });
expect(before).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true })); expect(before).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true }));
@@ -201,6 +192,8 @@ describe('/trash', () => {
const after = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) }); const after = await getAssetInfo({ id: assetId }, { headers: asBearerAuth(admin.accessToken) });
expect(after).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true })); expect(after).toStrictEqual(expect.objectContaining({ id: assetId, isOffline: true }));
utils.removeImageFile(`${testAssetDir}/temp/offline/offline.png`);
}); });
}); });
@@ -238,7 +231,7 @@ describe('/trash', () => {
utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`); utils.createImageFile(`${testAssetDir}/temp/offline/offline.png`);
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library'); await utils.waitForQueueFinish(admin.accessToken, 'library');
const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id }); const { assets } = await utils.searchAssets(admin.accessToken, { libraryId: library.id });
@@ -247,7 +240,7 @@ describe('/trash', () => {
await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] }); await utils.updateLibrary(admin.accessToken, library.id, { exclusionPatterns: ['**/offline/**'] });
await scan(admin.accessToken, library.id); await utils.scan(admin.accessToken, library.id);
await utils.waitForQueueFinish(admin.accessToken, 'library'); await utils.waitForQueueFinish(admin.accessToken, 'library');
const before = await utils.getAssetInfo(admin.accessToken, assetId); const before = await utils.getAssetInfo(admin.accessToken, assetId);
@@ -261,6 +254,8 @@ describe('/trash', () => {
const after = await utils.getAssetInfo(admin.accessToken, assetId); const after = await utils.getAssetInfo(admin.accessToken, assetId);
expect(after.isTrashed).toBe(true); expect(after.isTrashed).toBe(true);
utils.removeImageFile(`${testAssetDir}/temp/offline/offline.png`);
}); });
}); });
}); });

View File

@@ -28,6 +28,7 @@ import {
deleteAssets, deleteAssets,
getAllJobsStatus, getAllJobsStatus,
getAssetInfo, getAssetInfo,
getConfig,
getConfigDefaults, getConfigDefaults,
login, login,
scanLibrary, scanLibrary,
@@ -121,6 +122,7 @@ const execPromise = promisify(exec);
const onEvent = ({ event, id }: { event: EventType; id: string }) => { const onEvent = ({ event, id }: { event: EventType; id: string }) => {
// console.log(`Received event: ${event} [id=${id}]`); // console.log(`Received event: ${event} [id=${id}]`);
const set = events[event]; const set = events[event];
set.add(id); set.add(id);
const idCallback = idCallbacks[id]; const idCallback = idCallbacks[id];
@@ -415,6 +417,8 @@ export const utils = {
rmSync(path, { recursive: true }); rmSync(path, { recursive: true });
}, },
getSystemConfig: (accessToken: string) => getConfig({ headers: asBearerAuth(accessToken) }),
getAssetInfo: (accessToken: string, id: string) => getAssetInfo({ id }, { headers: asBearerAuth(accessToken) }), getAssetInfo: (accessToken: string, id: string) => getAssetInfo({ id }, { headers: asBearerAuth(accessToken) }),
checkExistingAssets: (accessToken: string, checkExistingAssetsDto: CheckExistingAssetsDto) => checkExistingAssets: (accessToken: string, checkExistingAssetsDto: CheckExistingAssetsDto) =>

View File

@@ -20,7 +20,7 @@
"add_partner": "Voeg vennoot by", "add_partner": "Voeg vennoot by",
"add_path": "Voeg pad by", "add_path": "Voeg pad by",
"add_photos": "Voeg foto's by", "add_photos": "Voeg foto's by",
"add_to": "Voeg na...", "add_to": "Voeg by…",
"add_to_album": "Voeg na album", "add_to_album": "Voeg na album",
"add_to_shared_album": "Voeg na gedeelde album", "add_to_shared_album": "Voeg na gedeelde album",
"add_url": "Voeg URL by", "add_url": "Voeg URL by",
@@ -57,6 +57,23 @@
"exclusion_pattern_description": "Met uitsluitingspatrone kan jy lêers en vouers ignoreer wanneer jy jou biblioteek skandeer. Dit is nuttig as jy vouers het wat lêers bevat wat jy nie wil invoer nie, soos RAW-lêers.", "exclusion_pattern_description": "Met uitsluitingspatrone kan jy lêers en vouers ignoreer wanneer jy jou biblioteek skandeer. Dit is nuttig as jy vouers het wat lêers bevat wat jy nie wil invoer nie, soos RAW-lêers.",
"external_library_created_at": "Eksterne biblioteek (geskep op {date})", "external_library_created_at": "Eksterne biblioteek (geskep op {date})",
"external_library_management": "Eksterne Biblioteek-opsies", "external_library_management": "Eksterne Biblioteek-opsies",
"face_detection": "Gesigsopsporing" "face_detection": "Gesigsopsporing",
} "failed_job_command": "Opdrag {command} het misluk vir werk: {job}",
"force_delete_user_warning": "WAARSKUWING: Dit sal onmiddellik die gebruiker en alle bates verwyder. Dit kan nie ontdoen word nie en die lêers kan nie herstel word nie.",
"forcing_refresh_library_files": "Forseer herlaai van alle biblioteeklêers",
"image_format": "Formaat",
"image_format_description": "WebP produseer kleiner lêers as JPEG, maar is stadiger om te enkodeer.",
"image_prefer_embedded_preview": "Verkies ingebedde voorskou",
"image_prefer_wide_gamut": "Verkies wye spektrum",
"image_preview_description": "Mediumgrootte prent met gestroopte metadata, wat gebruik word wanneer 'n enkele bate bekyk word en vir masjienleer",
"image_preview_quality_description": "Voorskou kwaliteit van 1-100. Hoër is beter, maar produseer groter lêers en kan app-reaksie verminder. Die stel van 'n lae waarde kan masjienleerkwaliteit beïnvloed.",
"image_preview_title": "Voorskou Instellings",
"image_quality": "Kwaliteit",
"image_resolution": "Resolusie",
"image_resolution_description": "Hoër resolusies kan meer detail bewaar, maar neem langer om te enkodeer, het groter lêergroottes en kan app-reaksie verminder.",
"image_settings": "Prent Instellings",
"image_settings_description": "Bestuur die kwaliteit en resolusie van gegenereerde beelde"
},
"search_by_description": "Soek by beskrywing",
"search_by_description_example": "Stapdag in Sapa"
} }

View File

@@ -219,7 +219,7 @@
"reset_settings_to_default": "إعادة ضبط الإعدادات إلى الوضع الافتراضي", "reset_settings_to_default": "إعادة ضبط الإعدادات إلى الوضع الافتراضي",
"reset_settings_to_recent_saved": "إعادة ضبط الإعدادات إلى الإعدادات المحفوظة مؤخرًا", "reset_settings_to_recent_saved": "إعادة ضبط الإعدادات إلى الإعدادات المحفوظة مؤخرًا",
"scanning_library": "مسح المكتبة", "scanning_library": "مسح المكتبة",
"search_jobs": "البحث عن وظائف...", "search_jobs": "البحث عن وظائف",
"send_welcome_email": "إرسال بريد ترحيبي", "send_welcome_email": "إرسال بريد ترحيبي",
"server_external_domain_settings": "إسم النطاق الخارجي", "server_external_domain_settings": "إسم النطاق الخارجي",
"server_external_domain_settings_description": "إسم النطاق لروابط المشاركة العامة، بما في ذلك http(s)://", "server_external_domain_settings_description": "إسم النطاق لروابط المشاركة العامة، بما في ذلك http(s)://",
@@ -250,8 +250,16 @@
"storage_template_user_label": "<code>{label}</code> هو تسمية التخزين الخاصة بالمستخدم", "storage_template_user_label": "<code>{label}</code> هو تسمية التخزين الخاصة بالمستخدم",
"system_settings": "إعدادات النظام", "system_settings": "إعدادات النظام",
"tag_cleanup_job": "تنظيف العلامة", "tag_cleanup_job": "تنظيف العلامة",
"template_email_available_tags": "يمكنك استخدام المتغيرات التالية في القالب الخاص بك: {tags}",
"template_email_if_empty": "إذا كان القالب فارغا، فسيتم استخدام البريد الإلكتروني الافتراضي.",
"template_email_invite_album": "قالب دعوة الألبوم",
"template_email_preview": "عرض مسبق", "template_email_preview": "عرض مسبق",
"template_email_settings": "نماذج البريد الالكتروني", "template_email_settings": "نماذج البريد الالكتروني",
"template_email_settings_description": "إدارة قوالب إشعارات البريد الإلكتروني المخصصة",
"template_email_update_album": "تحديث قالب الألبوم",
"template_email_welcome": "قالب البريد الإلكتروني الترحيبي",
"template_settings": "قوالب الإشعارات",
"template_settings_description": "إدارة القوالب المخصصة للإشعارات.",
"theme_custom_css_settings": "CSS مخصص", "theme_custom_css_settings": "CSS مخصص",
"theme_custom_css_settings_description": "أوراق الأنماط المتتالية تسمح بتخصيص تصميم Immich.", "theme_custom_css_settings_description": "أوراق الأنماط المتتالية تسمح بتخصيص تصميم Immich.",
"theme_settings": "إعدادات السمة", "theme_settings": "إعدادات السمة",
@@ -281,6 +289,8 @@
"transcoding_constant_rate_factor": "عامل معدل الجودة الثابت (-crf)", "transcoding_constant_rate_factor": "عامل معدل الجودة الثابت (-crf)",
"transcoding_constant_rate_factor_description": "مستوى جودة الفيديو. القيم النموذجية هي 23 لـ H.264، 28 لـ HEVC، 31 لـ VP9، و 35 لـ AV1. كلما كانت القيمة أقل كان ذلك أفضل، ولكن يؤدي إلى ملفات أكبر.", "transcoding_constant_rate_factor_description": "مستوى جودة الفيديو. القيم النموذجية هي 23 لـ H.264، 28 لـ HEVC، 31 لـ VP9، و 35 لـ AV1. كلما كانت القيمة أقل كان ذلك أفضل، ولكن يؤدي إلى ملفات أكبر.",
"transcoding_disabled_description": "لا تقم بتحويل أي مقاطع فيديو، قد تؤدي إلى عدم تشغيلها على بعض العملاء", "transcoding_disabled_description": "لا تقم بتحويل أي مقاطع فيديو، قد تؤدي إلى عدم تشغيلها على بعض العملاء",
"transcoding_encoding_options": "خيارات الترميز",
"transcoding_encoding_options_description": "اضبط برامج الترميز والدقة والجودة والخيارات الأخرى لمقاطع الفيديو المشفرة",
"transcoding_hardware_acceleration": "التسريع العتادي", "transcoding_hardware_acceleration": "التسريع العتادي",
"transcoding_hardware_acceleration_description": "تجريبي؛ أسرع بكثير، ولكن ستكون جودتها أقل عند نفس معدل البت", "transcoding_hardware_acceleration_description": "تجريبي؛ أسرع بكثير، ولكن ستكون جودتها أقل عند نفس معدل البت",
"transcoding_hardware_decoding": "فك تشفير الأجهزة", "transcoding_hardware_decoding": "فك تشفير الأجهزة",
@@ -293,6 +303,8 @@
"transcoding_max_keyframe_interval": "الحد الأقصى للفاصل الزمني للإطار الرئيسي", "transcoding_max_keyframe_interval": "الحد الأقصى للفاصل الزمني للإطار الرئيسي",
"transcoding_max_keyframe_interval_description": "يضبط الحد الأقصى لمسافة الإطار بين الإطارات الرئيسية. تؤدي القيم المنخفضة إلى زيادة سوء كفاءة الضغط، ولكنها تعمل على تحسين أوقات البحث وقد تعمل على تحسين الجودة في المشاهد ذات الحركة السريعة. 0 يضبط هذه القيمة تلقائيًا.", "transcoding_max_keyframe_interval_description": "يضبط الحد الأقصى لمسافة الإطار بين الإطارات الرئيسية. تؤدي القيم المنخفضة إلى زيادة سوء كفاءة الضغط، ولكنها تعمل على تحسين أوقات البحث وقد تعمل على تحسين الجودة في المشاهد ذات الحركة السريعة. 0 يضبط هذه القيمة تلقائيًا.",
"transcoding_optimal_description": "مقاطع الفيديو ذات الدقة الأعلى من الدقة المستهدفة أو بتنسيق غير مقبول", "transcoding_optimal_description": "مقاطع الفيديو ذات الدقة الأعلى من الدقة المستهدفة أو بتنسيق غير مقبول",
"transcoding_policy": "سياسة تحويل الترميز",
"transcoding_policy_description": "اضبط متى سيتم تحويل ترميز الفيديو",
"transcoding_preferred_hardware_device": "الجهاز المفضل", "transcoding_preferred_hardware_device": "الجهاز المفضل",
"transcoding_preferred_hardware_device_description": "ينطبق فقط على VAAPI وQSV. يضبط عقدة dri المستخدمة لتحويل ترميز الأجهزة.", "transcoding_preferred_hardware_device_description": "ينطبق فقط على VAAPI وQSV. يضبط عقدة dri المستخدمة لتحويل ترميز الأجهزة.",
"transcoding_preset_preset": "الضبط المُسبق (-preset)", "transcoding_preset_preset": "الضبط المُسبق (-preset)",
@@ -301,7 +313,7 @@
"transcoding_reference_frames_description": "عدد الإطارات التي يجب الرجوع إليها عند ضغط إطار معين. تعمل القيم الأعلى على تحسين كفاءة الضغط، ولكنها تبطئ عملية التشفير. 0 يضبط هذه القيمة تلقائيًا.", "transcoding_reference_frames_description": "عدد الإطارات التي يجب الرجوع إليها عند ضغط إطار معين. تعمل القيم الأعلى على تحسين كفاءة الضغط، ولكنها تبطئ عملية التشفير. 0 يضبط هذه القيمة تلقائيًا.",
"transcoding_required_description": "فقط مقاطع الفيديو ذات التنسيق غير المقبول", "transcoding_required_description": "فقط مقاطع الفيديو ذات التنسيق غير المقبول",
"transcoding_settings": "إعدادات تحويل ترميز الفيديو", "transcoding_settings": "إعدادات تحويل ترميز الفيديو",
"transcoding_settings_description": "إدارة معلومات الدقة والترميز لملفات الفيديو", "transcoding_settings_description": "إدارة مقاطع الفيديو التي يجب تحويل ترميزها وكيفية معالجتها",
"transcoding_target_resolution": "القرار المستهدف", "transcoding_target_resolution": "القرار المستهدف",
"transcoding_target_resolution_description": "يمكن أن تحافظ الدقة الأعلى على المزيد من التفاصيل ولكنها تستغرق وقتًا أطول للتشفير، ولها أحجام ملفات أكبر، ويمكن أن تقلل من استجابة التطبيق.", "transcoding_target_resolution_description": "يمكن أن تحافظ الدقة الأعلى على المزيد من التفاصيل ولكنها تستغرق وقتًا أطول للتشفير، ولها أحجام ملفات أكبر، ويمكن أن تقلل من استجابة التطبيق.",
"transcoding_temporal_aq": "التكميم التكيفي الزمني", "transcoding_temporal_aq": "التكميم التكيفي الزمني",
@@ -314,7 +326,7 @@
"transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR (ما لم يتم تعطيل الترميز).", "transcoding_transcode_policy_description": "سياسة تحديد متى يجب ترميز الفيديو. سيتم دائمًا ترميز مقاطع الفيديو HDR (ما لم يتم تعطيل الترميز).",
"transcoding_two_pass_encoding": "الترميز بمرورين", "transcoding_two_pass_encoding": "الترميز بمرورين",
"transcoding_two_pass_encoding_setting_description": "ترميز بمرورين لإنتاج مقاطع فيديو بترميز أفضل. عند تمكين الحد الأقصى لمعدل البت (مطلوب لكي يعمل مع H.264 و HEVC)، يستخدم هذا الوضع نطاق معدل البت استنادًا إلى الحد الأقصى لمعدل البت ويتجاهل CRF. بالنسبة لـ VP9، يمكن استخدام CRF إذا تم تعطيل الحد الأقصى لمعدل البت.", "transcoding_two_pass_encoding_setting_description": "ترميز بمرورين لإنتاج مقاطع فيديو بترميز أفضل. عند تمكين الحد الأقصى لمعدل البت (مطلوب لكي يعمل مع H.264 و HEVC)، يستخدم هذا الوضع نطاق معدل البت استنادًا إلى الحد الأقصى لمعدل البت ويتجاهل CRF. بالنسبة لـ VP9، يمكن استخدام CRF إذا تم تعطيل الحد الأقصى لمعدل البت.",
"transcoding_video_codec": "كود الفيديو", "transcoding_video_codec": "ترميز الفيديو",
"transcoding_video_codec_description": "يتمتع VP9 بكفاءة عالية وتوافق مع الويب، ولكنه يستغرق وقتًا أطول في تحويل التعليمات البرمجية. يعمل HEVC بشكل مشابه، لكن توافقه مع الويب أقل. H.264 متوافق على نطاق واسع وسريع في تحويل التعليمات البرمجية، ولكنه ينتج ملفات أكبر بكثير. AV1 هو برنامج الترميز الأكثر كفاءة ولكنه يفتقر إلى الدعم على الأجهزة القديمة.", "transcoding_video_codec_description": "يتمتع VP9 بكفاءة عالية وتوافق مع الويب، ولكنه يستغرق وقتًا أطول في تحويل التعليمات البرمجية. يعمل HEVC بشكل مشابه، لكن توافقه مع الويب أقل. H.264 متوافق على نطاق واسع وسريع في تحويل التعليمات البرمجية، ولكنه ينتج ملفات أكبر بكثير. AV1 هو برنامج الترميز الأكثر كفاءة ولكنه يفتقر إلى الدعم على الأجهزة القديمة.",
"trash_enabled_description": "تفعيل ميزات سلة المهملات", "trash_enabled_description": "تفعيل ميزات سلة المهملات",
"trash_number_of_days": "عدد الأيام", "trash_number_of_days": "عدد الأيام",
@@ -394,17 +406,17 @@
"are_these_the_same_person": "هل هؤلاء هم نفس الشخص؟", "are_these_the_same_person": "هل هؤلاء هم نفس الشخص؟",
"are_you_sure_to_do_this": "هل انت متأكد من أنك تريد أن تفعل هذا؟", "are_you_sure_to_do_this": "هل انت متأكد من أنك تريد أن تفعل هذا؟",
"asset_added_to_album": "تمت إضافته إلى الألبوم", "asset_added_to_album": "تمت إضافته إلى الألبوم",
"asset_adding_to_album": "جارٍ الإضافة إلى الألبوم...", "asset_adding_to_album": "جارٍ الإضافة إلى الألبوم",
"asset_description_updated": "تم تحديث وصف المحتوى", "asset_description_updated": "تم تحديث وصف المحتوى",
"asset_filename_is_offline": "الأصل {filename} غير متصل", "asset_filename_is_offline": "الأصل {filename} غير متصل",
"asset_has_unassigned_faces": "يحتوي الأصل على وجوه غير مخصصة", "asset_has_unassigned_faces": "يحتوي الأصل على وجوه غير مخصصة",
"asset_hashing": "التجزئة...", "asset_hashing": "التجزئة",
"asset_offline": "المحتوى غير اتصال", "asset_offline": "المحتوى غير اتصال",
"asset_offline_description": "لم يعد هذا الأصل الخارجي موجودًا على القرص. يرجى الاتصال بمسؤول Immich للحصول على المساعدة.", "asset_offline_description": "لم يعد هذا الأصل الخارجي موجودًا على القرص. يرجى الاتصال بمسؤول Immich للحصول على المساعدة.",
"asset_skipped": "تم تخطيه", "asset_skipped": "تم تخطيه",
"asset_skipped_in_trash": "في سلة المهملات", "asset_skipped_in_trash": "في سلة المهملات",
"asset_uploaded": "تم الرفع", "asset_uploaded": "تم الرفع",
"asset_uploading": "جارٍ الرفع...", "asset_uploading": "جارٍ الرفع",
"assets": "المحتويات", "assets": "المحتويات",
"assets_added_count": "تمت إضافة {count, plural, one {# محتوى} other {# محتويات}}", "assets_added_count": "تمت إضافة {count, plural, one {# محتوى} other {# محتويات}}",
"assets_added_to_album_count": "تمت إضافة {count, plural, one {# الأصل} other {# الأصول}} إلى الألبوم", "assets_added_to_album_count": "تمت إضافة {count, plural, one {# الأصل} other {# الأصول}} إلى الألبوم",
@@ -511,6 +523,10 @@
"date_range": "نطاق الموعد", "date_range": "نطاق الموعد",
"day": "يوم", "day": "يوم",
"deduplicate_all": "إلغاء تكرار الكل", "deduplicate_all": "إلغاء تكرار الكل",
"deduplication_criteria_1": "حجم الصورة بوحدات البايت",
"deduplication_criteria_2": "عدد بيانات EXIF",
"deduplication_info": "معلومات إلغاء البيانات المكررة",
"deduplication_info_description": "لتحديد الأصول مسبقا تلقائيا وإزالة التكرارات بكميات كبيرة، ننظر إلى:",
"default_locale": "اللغة الافتراضية", "default_locale": "اللغة الافتراضية",
"default_locale_description": "تنسيق التواريخ والأرقام بناءً على لغة المتصفح الخاص بك", "default_locale_description": "تنسيق التواريخ والأرقام بناءً على لغة المتصفح الخاص بك",
"delete": "حذف", "delete": "حذف",
@@ -726,6 +742,7 @@
"external": "خارجي", "external": "خارجي",
"external_libraries": "المكتبات الخارجية", "external_libraries": "المكتبات الخارجية",
"face_unassigned": "غير معين", "face_unassigned": "غير معين",
"failed_to_load_assets": "فشل تحميل الأصول",
"favorite": "مفضل", "favorite": "مفضل",
"favorite_or_unfavorite_photo": "تفضيل أو إلغاء تفضيل الصورة", "favorite_or_unfavorite_photo": "تفضيل أو إلغاء تفضيل الصورة",
"favorites": "المفضلة", "favorites": "المفضلة",
@@ -746,10 +763,13 @@
"get_help": "الحصول على المساعدة", "get_help": "الحصول على المساعدة",
"getting_started": "البدء", "getting_started": "البدء",
"go_back": "الرجوع للخلف", "go_back": "الرجوع للخلف",
"go_to_folder": "اذهب إلى المجلد",
"go_to_search": "اذهب إلى البحث", "go_to_search": "اذهب إلى البحث",
"group_albums_by": "تجميع الألبومات حسب...", "group_albums_by": "تجميع الألبومات حسب...",
"group_country": "مجموعة البلد",
"group_no": "بدون تجميع", "group_no": "بدون تجميع",
"group_owner": "تجميع حسب المالك", "group_owner": "تجميع حسب المالك",
"group_places_by": "تجميع الأماكن حسب",
"group_year": "تجميع حسب السنة", "group_year": "تجميع حسب السنة",
"has_quota": "محدد بحصة", "has_quota": "محدد بحصة",
"hi_user": "مرحبا {name} ({email})", "hi_user": "مرحبا {name} ({email})",
@@ -782,6 +802,7 @@
"include_shared_albums": "تضمين الألبومات المشتركة", "include_shared_albums": "تضمين الألبومات المشتركة",
"include_shared_partner_assets": "تضمين محتويات الشريك المشتركة", "include_shared_partner_assets": "تضمين محتويات الشريك المشتركة",
"individual_share": "حصة فردية", "individual_share": "حصة فردية",
"individual_shares": "المشاركات الفردية",
"info": "معلومات", "info": "معلومات",
"interval": { "interval": {
"day_at_onepm": "كل يوم الساعة الواحدة ظهرا", "day_at_onepm": "كل يوم الساعة الواحدة ظهرا",
@@ -804,6 +825,7 @@
"latest_version": "احدث اصدار", "latest_version": "احدث اصدار",
"latitude": "خط العرض", "latitude": "خط العرض",
"leave": "مغادرة", "leave": "مغادرة",
"lens_model": "نموذج العدسات",
"let_others_respond": "دع الآخرين يستجيبون", "let_others_respond": "دع الآخرين يستجيبون",
"level": "المستوى", "level": "المستوى",
"library": "مكتبة", "library": "مكتبة",
@@ -966,6 +988,7 @@
"pick_a_location": "اختر موقعًا", "pick_a_location": "اختر موقعًا",
"place": "مكان", "place": "مكان",
"places": "الأماكن", "places": "الأماكن",
"places_count": "{count, plural, one {{count, number} مكان} other {{count, number} أماكن}}",
"play": "تشغيل", "play": "تشغيل",
"play_memories": "تشغيل الذكريات", "play_memories": "تشغيل الذكريات",
"play_motion_photo": "تشغيل الصور المتحركة", "play_motion_photo": "تشغيل الصور المتحركة",
@@ -1025,6 +1048,7 @@
"reassigned_assets_to_new_person": "تمت إعادة تعيين {count, plural, one {# المحتوى} other {# المحتويات}} إلى شخص جديد", "reassigned_assets_to_new_person": "تمت إعادة تعيين {count, plural, one {# المحتوى} other {# المحتويات}} إلى شخص جديد",
"reassing_hint": "تعيين المحتويات المحددة لشخص موجود", "reassing_hint": "تعيين المحتويات المحددة لشخص موجود",
"recent": "حديث", "recent": "حديث",
"recent-albums": "ألبومات الحديثة",
"recent_searches": "عمليات البحث الأخيرة", "recent_searches": "عمليات البحث الأخيرة",
"refresh": "تحديث", "refresh": "تحديث",
"refresh_encoded_videos": "تحديث مقاطع الفيديو المشفرة", "refresh_encoded_videos": "تحديث مقاطع الفيديو المشفرة",
@@ -1046,6 +1070,7 @@
"remove_from_album": "إزالة من الألبوم", "remove_from_album": "إزالة من الألبوم",
"remove_from_favorites": "إزالة من المفضلة", "remove_from_favorites": "إزالة من المفضلة",
"remove_from_shared_link": "إزالة من الرابط المشترك", "remove_from_shared_link": "إزالة من الرابط المشترك",
"remove_url": "إزالة عنوان URL",
"remove_user": "إزالة المستخدم", "remove_user": "إزالة المستخدم",
"removed_api_key": "تم إزالة مفتاح API: {name}", "removed_api_key": "تم إزالة مفتاح API: {name}",
"removed_from_archive": "تمت إزالتها من الأرشيف", "removed_from_archive": "تمت إزالتها من الأرشيف",
@@ -1084,15 +1109,18 @@
"scan_library": "مسح", "scan_library": "مسح",
"scan_settings": "إعدادات الفحص", "scan_settings": "إعدادات الفحص",
"scanning_for_album": "جارٍ الفحص عن ألبوم...", "scanning_for_album": "جارٍ الفحص عن ألبوم...",
"search": "بحث", "search": "البحث",
"search_albums": "بحث في الألبومات", "search_albums": "البحث في الألبومات",
"search_by_context": "البحث حسب السياق", "search_by_context": "البحث حسب السياق",
"search_by_filename": "إبحث بإسم الملف أو نوعه", "search_by_description": "البحث حسب الوصف",
"search_by_description_example": "يوم المشي لمسافات طويلة في سابا",
"search_by_filename": "البحث بإسم الملف أو نوعه",
"search_by_filename_example": "كـ IMG_1234.JPG أو PNG", "search_by_filename_example": "كـ IMG_1234.JPG أو PNG",
"search_camera_make": "البحث حسب الشركة المصنعة للكاميرا...", "search_camera_make": "البحث حسب الشركة المصنعة للكاميرا...",
"search_camera_model": "البحث حسب موديل الكاميرا...", "search_camera_model": "البحث حسب موديل الكاميرا...",
"search_city": "البحث حسب المدينة...", "search_city": "البحث حسب المدينة...",
"search_country": "البحث حسب الدولة...", "search_country": "البحث حسب الدولة...",
"search_for": "البحث عن",
"search_for_existing_person": "البحث عن شخص موجود", "search_for_existing_person": "البحث عن شخص موجود",
"search_no_people": "لا يوجد أشخاص", "search_no_people": "لا يوجد أشخاص",
"search_no_people_named": "لا يوجد أشخاص بالاسم \"{name}\"", "search_no_people_named": "لا يوجد أشخاص بالاسم \"{name}\"",
@@ -1104,36 +1132,37 @@
"search_tags": "البحث عن العلامات...", "search_tags": "البحث عن العلامات...",
"search_timezone": "البحث حسب المنطقة الزمنية...", "search_timezone": "البحث حسب المنطقة الزمنية...",
"search_type": "نوع البحث", "search_type": "نوع البحث",
"search_your_photos": "ابحث عن صورك", "search_your_photos": "البحث عن صورك",
"searching_locales": "جارٍ البحث في اللغات...", "searching_locales": "جارٍ البحث في اللغات...",
"second": "ثانية", "second": "ثانية",
"see_all_people": "عرض جميع الأشخاص", "see_all_people": "عرض جميع الأشخاص",
"select_album_cover": "حدد غلاف الألبوم", "select_album_cover": "تحديد غلاف الألبوم",
"select_all": "تحديد الكل", "select_all": "تحديد الكل",
"select_all_duplicates": "تحديد جميع النسخ المكررة", "select_all_duplicates": "تحديد جميع النسخ المكررة",
"select_avatar_color": "حدد لون الصورة الشخصية", "select_avatar_color": "تحديد لون الصورة الشخصية",
"select_face": "اختيار وجه", "select_face": "تحديد وجه",
"select_featured_photo": "حدد الصورة المميزة", "select_featured_photo": "تحديد الصورة المميزة",
"select_from_computer": "اختر من الجهاز", "select_from_computer": "تحديد من الحاسب الآلي",
"select_keep_all": "حدد الاحتفاظ بالكل", "select_keep_all": "تحديد الأحتفاظ بالكل",
"select_library_owner": "اختر مالِك المكتبة", "select_library_owner": "تحديد مالِك المكتبة",
"select_new_face": "اختيار وجه جديد", "select_new_face": "تحديد وجه جديد",
"select_photos": "حدد الصور", "select_photos": "تحديد الصور",
"select_trash_all": "حدّد حذف الكلِ", "select_trash_all": "تحديد حذف الكلِ",
"selected": "المُحدّد", "selected": "التحديد",
"selected_count": "{count, plural, other {# محددة }}", "selected_count": "{count, plural, other {# محددة }}",
"send_message": "أرسل رسالة", "send_message": "‏إرسال رسالة",
"send_welcome_email": "أرسل بريدًا إلكترونيًا ترحيبيًا", "send_welcome_email": "إرسال بريدًا إلكترونيًا ترحيبيًا",
"server_offline": "الخادم غير متصل", "server_offline": "الخادم غير متصل",
"server_online": "الخادم متصل", "server_online": "الخادم متصل",
"server_stats": "إحصائيات الخادم", "server_stats": "إحصائيات الخادم",
"server_version": "إصدار الخادم", "server_version": "إصدار الخادم",
"set": "تعيين", "set": "‏تحديد",
"set_as_album_cover": عيين كغلاف للألبوم", "set_as_album_cover": حديد كغلاف للألبوم",
"set_as_profile_picture": عيين كصورة الملف الشخصي", "set_as_featured_photo": حديد كصورة مميزة",
"set_as_profile_picture": "تحديد كصورة الملف الشخصي",
"set_date_of_birth": "تحديد تاريخ الميلاد", "set_date_of_birth": "تحديد تاريخ الميلاد",
"set_profile_picture": عيين صورة الملف الشخصي", "set_profile_picture": حديد صورة الملف الشخصي",
"set_slideshow_to_fullscreen": "اضبط عرض الشرائح على وضع ملء الشاشة", "set_slideshow_to_fullscreen": "تحديد عرض الشرائح على وضع ملء الشاشة",
"settings": "الإعدادات", "settings": "الإعدادات",
"settings_saved": "تم حفظ الإعدادات", "settings_saved": "تم حفظ الإعدادات",
"share": "مشاركة", "share": "مشاركة",
@@ -1144,6 +1173,7 @@
"shared_from_partner": "صور من {partner}", "shared_from_partner": "صور من {partner}",
"shared_link_options": "خيارات الرابط المشترك", "shared_link_options": "خيارات الرابط المشترك",
"shared_links": "روابط مشتركة", "shared_links": "روابط مشتركة",
"shared_links_description": "وصف الروابط المشتركة",
"shared_photos_and_videos_count": "{assetCount, plural, other {# الصور ومقاطع الفيديو المُشارَكة.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# الصور ومقاطع الفيديو المُشارَكة.}}",
"shared_with_partner": "تمت المشاركة مع {partner}", "shared_with_partner": "تمت المشاركة مع {partner}",
"sharing": "مشاركة", "sharing": "مشاركة",
@@ -1155,17 +1185,18 @@
"show_all_people": "إظهار جميع الأشخاص", "show_all_people": "إظهار جميع الأشخاص",
"show_and_hide_people": "إظهار وإخفاء الأشخاص", "show_and_hide_people": "إظهار وإخفاء الأشخاص",
"show_file_location": "إظهار موقع الملف", "show_file_location": "إظهار موقع الملف",
"show_gallery": "عرض المعرض", "show_gallery": "إظهار المعرض",
"show_hidden_people": "إظهار الأشخاص المخفيين", "show_hidden_people": "إظهار الأشخاص المخفيين",
"show_in_timeline": "عرض في المخطط الزمني", "show_in_timeline": "إظهار في المخطط الزمني",
"show_in_timeline_setting_description": "عرض الصور ومقاطع الفيديو من هذا المستخدم في المخطط الزمني الخاص بك", "show_in_timeline_setting_description": "إظهار الصور ومقاطع الفيديو من هذا المستخدم في المخطط الزمني الخاص بك",
"show_keyboard_shortcuts": "إظهار اختصارات لوحة المفاتيح", "show_keyboard_shortcuts": "إظهار اختصارات لوحة المفاتيح",
"show_metadata": "عرض البيانات الوصفية", "show_metadata": "إظهار البيانات الوصفية",
"show_or_hide_info": "إظهار أو إخفاء المعلومات", "show_or_hide_info": "إظهار أو إخفاء المعلومات",
"show_password": "عرض كلمة المرور", "show_password": "إظهار كلمة المرور",
"show_person_options": "إظهار خيارات الشخص", "show_person_options": "إظهار خيارات الشخص",
"show_progress_bar": "إظهار شريط التقدم", "show_progress_bar": "إظهار شريط التقدم",
"show_search_options": "إظهار خيارات البحث", "show_search_options": "إظهار خيارات البحث",
"show_shared_links": "عرض الروابط المشتركة",
"show_slideshow_transition": "إظهار انتقال عرض الشرائح", "show_slideshow_transition": "إظهار انتقال عرض الشرائح",
"show_supporter_badge": "شارة المؤيد", "show_supporter_badge": "شارة المؤيد",
"show_supporter_badge_description": "إظهار شارة المؤيد", "show_supporter_badge_description": "إظهار شارة المؤيد",
@@ -1173,7 +1204,7 @@
"sidebar": "الشريط الجانبي", "sidebar": "الشريط الجانبي",
"sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي", "sidebar_display_description": "عرض رابط للعرض في الشريط الجانبي",
"sign_out": "خروج", "sign_out": "خروج",
"sign_up": "تسجيل", "sign_up": "التسجيل",
"size": "الحجم", "size": "الحجم",
"skip_to_content": "تخطي إلى المحتوى", "skip_to_content": "تخطي إلى المحتوى",
"skip_to_folders": "تخطي إلى المجلدات", "skip_to_folders": "تخطي إلى المجلدات",
@@ -1185,6 +1216,7 @@
"sort_items": "عدد العناصر", "sort_items": "عدد العناصر",
"sort_modified": "تم تعديل التاريخ", "sort_modified": "تم تعديل التاريخ",
"sort_oldest": "أقدم صورة", "sort_oldest": "أقدم صورة",
"sort_people_by_similarity": "رتب الأشخاص حسب التشابه",
"sort_recent": "أحدث صورة", "sort_recent": "أحدث صورة",
"sort_title": "العنوان", "sort_title": "العنوان",
"source": "المصدر", "source": "المصدر",
@@ -1252,6 +1284,7 @@
"unfavorite": "أزل التفضيل", "unfavorite": "أزل التفضيل",
"unhide_person": "أظهر الشخص", "unhide_person": "أظهر الشخص",
"unknown": "غير معروف", "unknown": "غير معروف",
"unknown_country": "بلد غير معروف",
"unknown_year": "سنة غير معروفة", "unknown_year": "سنة غير معروفة",
"unlimited": "غير محدود", "unlimited": "غير محدود",
"unlink_motion_video": "إلغاء ربط فيديو الحركة", "unlink_motion_video": "إلغاء ربط فيديو الحركة",

View File

@@ -20,7 +20,7 @@
"add_partner": "Afegir company/a", "add_partner": "Afegir company/a",
"add_path": "Afegir una ruta", "add_path": "Afegir una ruta",
"add_photos": "Afegir fotografies", "add_photos": "Afegir fotografies",
"add_to": "Afegir a...", "add_to": "Afegir a",
"add_to_album": "Afegir a un l'àlbum", "add_to_album": "Afegir a un l'àlbum",
"add_to_shared_album": "Afegir a un àlbum compartit", "add_to_shared_album": "Afegir a un àlbum compartit",
"add_url": "Afegir URL", "add_url": "Afegir URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Restablir configuracions per defecte", "reset_settings_to_default": "Restablir configuracions per defecte",
"reset_settings_to_recent_saved": "Restablir la configuració guardada més recent", "reset_settings_to_recent_saved": "Restablir la configuració guardada més recent",
"scanning_library": "Escanejant biblioteca", "scanning_library": "Escanejant biblioteca",
"search_jobs": "Tasques de cerca...", "search_jobs": "Cercar treballs…",
"send_welcome_email": "Enviar correu electrònic de benvinguda", "send_welcome_email": "Enviar correu electrònic de benvinguda",
"server_external_domain_settings": "Domini extern", "server_external_domain_settings": "Domini extern",
"server_external_domain_settings_description": "Domini per enllaços públics compartits, incloent http(s)://", "server_external_domain_settings_description": "Domini per enllaços públics compartits, incloent http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Són la mateixa persona?", "are_these_the_same_person": "Són la mateixa persona?",
"are_you_sure_to_do_this": "Esteu segurs que voleu fer-ho?", "are_you_sure_to_do_this": "Esteu segurs que voleu fer-ho?",
"asset_added_to_album": "Afegit a l'àlbum", "asset_added_to_album": "Afegit a l'àlbum",
"asset_adding_to_album": "Afegint a l'àlbum...", "asset_adding_to_album": "Afegint a l'àlbum",
"asset_description_updated": "La descripció del recurs s'ha actualitzat", "asset_description_updated": "La descripció del recurs s'ha actualitzat",
"asset_filename_is_offline": "L'element {filename} està fora de línia", "asset_filename_is_offline": "L'element {filename} està fora de línia",
"asset_has_unassigned_faces": "L'element té cares no assignades", "asset_has_unassigned_faces": "L'element té cares no assignades",
"asset_hashing": "Hashing...", "asset_hashing": "Hashing",
"asset_offline": "Element fora de línia", "asset_offline": "Element fora de línia",
"asset_offline_description": "Aquest recurs extern ja no es troba al disc. Poseu-vos en contacte amb el vostre administrador d'Immich per obtenir ajuda.", "asset_offline_description": "Aquest recurs extern ja no es troba al disc. Poseu-vos en contacte amb el vostre administrador d'Immich per obtenir ajuda.",
"asset_skipped": "Saltat", "asset_skipped": "Saltat",
"asset_skipped_in_trash": "A la paperera", "asset_skipped_in_trash": "A la paperera",
"asset_uploaded": "Carregat", "asset_uploaded": "Carregat",
"asset_uploading": "S'està carregant...", "asset_uploading": "S'està carregant",
"assets": "Elements", "assets": "Elements",
"assets_added_count": "{count, plural, one {Afegit un element} other {Afegits # elements}}", "assets_added_count": "{count, plural, one {Afegit un element} other {Afegits # elements}}",
"assets_added_to_album_count": "{count, plural, one {Afegit un element} other {Afegits # elements}} a l'àlbum", "assets_added_to_album_count": "{count, plural, one {Afegit un element} other {Afegits # elements}} a l'àlbum",
@@ -822,6 +822,7 @@
"latest_version": "Última versió", "latest_version": "Última versió",
"latitude": "Latitud", "latitude": "Latitud",
"leave": "Marxar", "leave": "Marxar",
"lens_model": "Model de lents",
"let_others_respond": "Deixa que els altres responguin", "let_others_respond": "Deixa que els altres responguin",
"level": "Nivell", "level": "Nivell",
"library": "Bibilioteca", "library": "Bibilioteca",
@@ -1094,7 +1095,7 @@
"review_duplicates": "Revisar duplicats", "review_duplicates": "Revisar duplicats",
"role": "Rol", "role": "Rol",
"role_editor": "Editor", "role_editor": "Editor",
"role_viewer": "Visor", "role_viewer": "Visualitzador",
"save": "Desa", "save": "Desa",
"saved_api_key": "Clau d'API guardada", "saved_api_key": "Clau d'API guardada",
"saved_profile": "Perfil guardat", "saved_profile": "Perfil guardat",
@@ -1113,6 +1114,7 @@
"search_camera_model": "Buscar per model de càmera...", "search_camera_model": "Buscar per model de càmera...",
"search_city": "Buscar per ciutat...", "search_city": "Buscar per ciutat...",
"search_country": "Buscar per país...", "search_country": "Buscar per país...",
"search_for": "Cercar",
"search_for_existing_person": "Busca una persona existent", "search_for_existing_person": "Busca una persona existent",
"search_no_people": "Cap persona", "search_no_people": "Cap persona",
"search_no_people_named": "Cap persona anomenada \"{name}\"", "search_no_people_named": "Cap persona anomenada \"{name}\"",

View File

@@ -20,7 +20,7 @@
"add_partner": "Přidat partnera", "add_partner": "Přidat partnera",
"add_path": "Přidat cestu", "add_path": "Přidat cestu",
"add_photos": "Přidat fotky", "add_photos": "Přidat fotky",
"add_to": "Přidat do...", "add_to": "Přidat do",
"add_to_album": "Přidat do alba", "add_to_album": "Přidat do alba",
"add_to_shared_album": "Přidat do sdíleného alba", "add_to_shared_album": "Přidat do sdíleného alba",
"add_url": "Přidat URL", "add_url": "Přidat URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Obnovení výchozího nastavení", "reset_settings_to_default": "Obnovení výchozího nastavení",
"reset_settings_to_recent_saved": "Obnovit poslední uložené nastavení", "reset_settings_to_recent_saved": "Obnovit poslední uložené nastavení",
"scanning_library": "Prohledat knihovnu", "scanning_library": "Prohledat knihovnu",
"search_jobs": "Hledat úlohy...", "search_jobs": "Hledat úlohy",
"send_welcome_email": "Odeslat uvítací e-mail", "send_welcome_email": "Odeslat uvítací e-mail",
"server_external_domain_settings": "Externí doména", "server_external_domain_settings": "Externí doména",
"server_external_domain_settings_description": "Doména pro veřejně sdílené odkazy, včetně http(s)://", "server_external_domain_settings_description": "Doména pro veřejně sdílené odkazy, včetně http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Jedná se o stejnou osobu?", "are_these_the_same_person": "Jedná se o stejnou osobu?",
"are_you_sure_to_do_this": "Opravdu to chcete udělat?", "are_you_sure_to_do_this": "Opravdu to chcete udělat?",
"asset_added_to_album": "Přidáno do alba", "asset_added_to_album": "Přidáno do alba",
"asset_adding_to_album": "Přidávání do alba...", "asset_adding_to_album": "Přidávání do alba",
"asset_description_updated": "Popis položky byl aktualizován", "asset_description_updated": "Popis položky byl aktualizován",
"asset_filename_is_offline": "Položka {filename} je offline", "asset_filename_is_offline": "Položka {filename} je offline",
"asset_has_unassigned_faces": "Položka má nepřiřazené obličeje", "asset_has_unassigned_faces": "Položka má nepřiřazené obličeje",
"asset_hashing": "Hashování...", "asset_hashing": "Hashování",
"asset_offline": "Offline položka", "asset_offline": "Offline položka",
"asset_offline_description": "Toto externí položka se již na disku nenachází. Obraťte se na Immich správce a požádejte o pomoc.", "asset_offline_description": "Toto externí položka se již na disku nenachází. Obraťte se na Immich správce a požádejte o pomoc.",
"asset_skipped": "Přeskočeno", "asset_skipped": "Přeskočeno",
"asset_skipped_in_trash": "V koši", "asset_skipped_in_trash": "V koši",
"asset_uploaded": "Nahráno", "asset_uploaded": "Nahráno",
"asset_uploading": "Nahrávání...", "asset_uploading": "Nahrávání",
"assets": "Položky", "assets": "Položky",
"assets_added_count": "{count, plural, one {Přidána # položka} few {Přidány # položky} other {Přidáno # položek}}", "assets_added_count": "{count, plural, one {Přidána # položka} few {Přidány # položky} other {Přidáno # položek}}",
"assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}", "assets_added_to_album_count": "Do alba {count, plural, one {byla přidána # položka} few {byly přidány # položky} other {bylo přidáno # položek}}",
@@ -766,8 +766,10 @@
"go_to_folder": "Přejít do složky", "go_to_folder": "Přejít do složky",
"go_to_search": "Přejít na vyhledávání", "go_to_search": "Přejít na vyhledávání",
"group_albums_by": "Seskupit alba podle...", "group_albums_by": "Seskupit alba podle...",
"group_country": "Seskupit podle země",
"group_no": "Neseskupovat", "group_no": "Neseskupovat",
"group_owner": "Seskupit podle uživatele", "group_owner": "Seskupit podle uživatele",
"group_places_by": "Seskupit místa podle...",
"group_year": "Seskupit podle roku", "group_year": "Seskupit podle roku",
"has_quota": "Má kvótu", "has_quota": "Má kvótu",
"hi_user": "Ahoj {name} ({email})", "hi_user": "Ahoj {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Včetně sdílených alb", "include_shared_albums": "Včetně sdílených alb",
"include_shared_partner_assets": "Včetně sdílených položek partnera", "include_shared_partner_assets": "Včetně sdílených položek partnera",
"individual_share": "Sdílení jednotlivých položek", "individual_share": "Sdílení jednotlivých položek",
"individual_shares": "Sdílení jednotlivých položek",
"info": "Informace", "info": "Informace",
"interval": { "interval": {
"day_at_onepm": "Každý den ve 13:00", "day_at_onepm": "Každý den ve 13:00",
@@ -822,6 +825,7 @@
"latest_version": "Nejnovější verze", "latest_version": "Nejnovější verze",
"latitude": "Zeměpisná šířka", "latitude": "Zeměpisná šířka",
"leave": "Opustit", "leave": "Opustit",
"lens_model": "Model objektivu",
"let_others_respond": "Nechte ostatní reagovat", "let_others_respond": "Nechte ostatní reagovat",
"level": "Úroveň", "level": "Úroveň",
"library": "Knihovna", "library": "Knihovna",
@@ -984,6 +988,7 @@
"pick_a_location": "Vyberte polohu", "pick_a_location": "Vyberte polohu",
"place": "Místo", "place": "Místo",
"places": "Místa", "places": "Místa",
"places_count": "{count, plural, one {{count, number} místo} few {{count, number} místa} other {{count, number} míst}}",
"play": "Přehrávat", "play": "Přehrávat",
"play_memories": "Přehrát vzpomníky", "play_memories": "Přehrát vzpomníky",
"play_motion_photo": "Přehrát pohybovou fotografii", "play_motion_photo": "Přehrát pohybovou fotografii",
@@ -1107,12 +1112,15 @@
"search": "Hledat", "search": "Hledat",
"search_albums": "Vyhledávejte alba", "search_albums": "Vyhledávejte alba",
"search_by_context": "Vyhledávání podle obsahu", "search_by_context": "Vyhledávání podle obsahu",
"search_by_description": "Vyhledávat podle popisu",
"search_by_description_example": "Pěší turistika v Sapě",
"search_by_filename": "Vyhledávání podle názvu nebo přípony souboru", "search_by_filename": "Vyhledávání podle názvu nebo přípony souboru",
"search_by_filename_example": "např. IMG_1234.JPG nebo PNG", "search_by_filename_example": "např. IMG_1234.JPG nebo PNG",
"search_camera_make": "Vyhledat výrobce fotoaparátu...", "search_camera_make": "Vyhledat výrobce fotoaparátu...",
"search_camera_model": "Vyhledat model fotoaparátu...", "search_camera_model": "Vyhledat model fotoaparátu...",
"search_city": "Vyhledat město...", "search_city": "Vyhledat město...",
"search_country": "Vyhledat zemi...", "search_country": "Vyhledat zemi...",
"search_for": "Vyhledat",
"search_for_existing_person": "Vyhledat existující osobu", "search_for_existing_person": "Vyhledat existující osobu",
"search_no_people": "Žádní lidé", "search_no_people": "Žádní lidé",
"search_no_people_named": "Žádní lidé se jménem \"{name}\"", "search_no_people_named": "Žádní lidé se jménem \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotky od {partner}", "shared_from_partner": "Fotky od {partner}",
"shared_link_options": "Možnosti sdíleného odkazu", "shared_link_options": "Možnosti sdíleného odkazu",
"shared_links": "Sdílené odkazy", "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_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_partner": "Sdíleno s {partner}", "shared_with_partner": "Sdíleno s {partner}",
"sharing": "Sdílení", "sharing": "Sdílení",
@@ -1187,6 +1196,7 @@
"show_person_options": "Zobrazit možnosti osoby", "show_person_options": "Zobrazit možnosti osoby",
"show_progress_bar": "Zobrazit ukazatel průběhu", "show_progress_bar": "Zobrazit ukazatel průběhu",
"show_search_options": "Zobrazit možnosti vyhledávání", "show_search_options": "Zobrazit možnosti vyhledávání",
"show_shared_links": "Zobrazit sdílené odkazy",
"show_slideshow_transition": "Zobrazit přechod prezentace", "show_slideshow_transition": "Zobrazit přechod prezentace",
"show_supporter_badge": "Odznak podporovatele", "show_supporter_badge": "Odznak podporovatele",
"show_supporter_badge_description": "Zobrazit odznak podporovatele", "show_supporter_badge_description": "Zobrazit odznak podporovatele",
@@ -1274,6 +1284,7 @@
"unfavorite": "Zrušit oblíbení", "unfavorite": "Zrušit oblíbení",
"unhide_person": "Zrušit skrytí osoby", "unhide_person": "Zrušit skrytí osoby",
"unknown": "Neznámý", "unknown": "Neznámý",
"unknown_country": "Neznámá země",
"unknown_year": "Neznámý rok", "unknown_year": "Neznámý rok",
"unlimited": "Neomezeně", "unlimited": "Neomezeně",
"unlink_motion_video": "Odpojit pohyblivé video", "unlink_motion_video": "Odpojit pohyblivé video",

View File

@@ -20,7 +20,7 @@
"add_partner": "Мӑшӑр хуш", "add_partner": "Мӑшӑр хуш",
"add_path": "Ҫулне хуш", "add_path": "Ҫулне хуш",
"add_photos": "Сӑнӳкерчӗксем хуш", "add_photos": "Сӑнӳкерчӗксем хуш",
"add_to": "Мӗн те пулин хуш...", "add_to": "Мӗн те пулин хуш",
"add_to_album": "Альбома хуш", "add_to_album": "Альбома хуш",
"add_to_shared_album": "Пӗрлехи альбома хуш", "add_to_shared_album": "Пӗрлехи альбома хуш",
"add_url": "URL хушӑр", "add_url": "URL хушӑр",

View File

@@ -7,7 +7,7 @@
"actions": "Handlinger", "actions": "Handlinger",
"active": "Aktive", "active": "Aktive",
"activity": "Aktivitet", "activity": "Aktivitet",
"activity_changed": "Aktivitet er {aktiveret, vælg, sandt {aktiveret} andet {deaktiveret}}", "activity_changed": "Aktivitet er {enabled, select, true {aktiveret} other {deaktiveret}}",
"add": "Tilføj", "add": "Tilføj",
"add_a_description": "Tilføj en beskrivelse", "add_a_description": "Tilføj en beskrivelse",
"add_a_location": "Tilføj en placering", "add_a_location": "Tilføj en placering",
@@ -20,7 +20,7 @@
"add_partner": "Tilføj partner", "add_partner": "Tilføj partner",
"add_path": "Tilføj sti", "add_path": "Tilføj sti",
"add_photos": "Tilføj billeder", "add_photos": "Tilføj billeder",
"add_to": "Tilføj til...", "add_to": "Tilføj til",
"add_to_album": "Tilføj til album", "add_to_album": "Tilføj til album",
"add_to_shared_album": "Tilføj til delt album", "add_to_shared_album": "Tilføj til delt album",
"add_url": "Tilføj URL", "add_url": "Tilføj URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Nulstil indstillingerne til standard", "reset_settings_to_default": "Nulstil indstillingerne til standard",
"reset_settings_to_recent_saved": "Nulstil indstillinger til de senest gemte indstillinger", "reset_settings_to_recent_saved": "Nulstil indstillinger til de senest gemte indstillinger",
"scanning_library": "Scanner bibliotek", "scanning_library": "Scanner bibliotek",
"search_jobs": "søg opgaver ..", "search_jobs": "Søg opgaver",
"send_welcome_email": "Send velkomst-email", "send_welcome_email": "Send velkomst-email",
"server_external_domain_settings": "Eksternt domæne", "server_external_domain_settings": "Eksternt domæne",
"server_external_domain_settings_description": "Domæne til offentligt delte links, inklusiv http(s)://", "server_external_domain_settings_description": "Domæne til offentligt delte links, inklusiv http(s)://",
@@ -360,9 +360,9 @@
"admin_password": "Administratoradgangskode", "admin_password": "Administratoradgangskode",
"administration": "Administration", "administration": "Administration",
"advanced": "Avanceret", "advanced": "Avanceret",
"age_months": "Alder {months, plural, one {# month} other {# months}}", "age_months": "Alder {months, plural, one {# måned} other {# måneder}}",
"age_year_months": "Alder 1 år, {måneder, flertal, en {# måned} flere {# months}}", "age_year_months": "Alder 1 år, {months, plural, one {# måned} other {# måneder}}",
"age_years": "{år, år, andre {Alder #}}", "age_years": "{years, plural, other {Alder #}}",
"album_added": "Album tilføjet", "album_added": "Album tilføjet",
"album_added_notification_setting_description": "Modtag en emailnotifikation når du bliver tilføjet til en delt album", "album_added_notification_setting_description": "Modtag en emailnotifikation når du bliver tilføjet til en delt album",
"album_cover_updated": "Albumcover opdateret", "album_cover_updated": "Albumcover opdateret",
@@ -402,33 +402,33 @@
"archive_or_unarchive_photo": "Arkivér eller dearkivér billede", "archive_or_unarchive_photo": "Arkivér eller dearkivér billede",
"archive_size": "Arkiv størelse", "archive_size": "Arkiv størelse",
"archive_size_description": "Konfigurer arkivstørrelsen for downloads (i GiB)", "archive_size_description": "Konfigurer arkivstørrelsen for downloads (i GiB)",
"archived_count": "{antal, flertal, andet {Arkiveret #}}", "archived_count": "{count, plural, other {Arkiveret #}}",
"are_these_the_same_person": "Er disse den samme person?", "are_these_the_same_person": "Er disse den samme person?",
"are_you_sure_to_do_this": "Er du sikker på, at du vil gøre det her?", "are_you_sure_to_do_this": "Er du sikker på, at du vil gøre det her?",
"asset_added_to_album": "Tilføjet til album", "asset_added_to_album": "Tilføjet til album",
"asset_adding_to_album": "Tilføjer til album...", "asset_adding_to_album": "Tilføjer til album",
"asset_description_updated": "Mediefilsbeskrivelse er blevet opdateret", "asset_description_updated": "Mediefilsbeskrivelse er blevet opdateret",
"asset_filename_is_offline": "Mediefil {filename} er offline", "asset_filename_is_offline": "Mediefil {filename} er offline",
"asset_has_unassigned_faces": "Aktivet har ikke-tildelte ansigter", "asset_has_unassigned_faces": "Aktivet har ikke-tildelte ansigter",
"asset_hashing": "Hashing...", "asset_hashing": "Hashing",
"asset_offline": "Mediefil offline", "asset_offline": "Mediefil offline",
"asset_offline_description": "Denne eksterne mediefil kan ikke længere findes på drevet. Kontakt venligst din Immich-administrator for hjælp.", "asset_offline_description": "Denne eksterne mediefil kan ikke længere findes på drevet. Kontakt venligst din Immich-administrator for hjælp.",
"asset_skipped": "Sprunget over", "asset_skipped": "Sprunget over",
"asset_skipped_in_trash": "I skraldespand", "asset_skipped_in_trash": "I skraldespand",
"asset_uploaded": "Uploaded", "asset_uploaded": "Uploadet",
"asset_uploading": "Uploader...", "asset_uploading": "Uploader",
"assets": "elementer", "assets": "elementer",
"assets_added_count": "Tilføjet {count, plural, one {# mediefil} other {# mediefiler}}", "assets_added_count": "Tilføjet {count, plural, one {# mediefil} other {# mediefiler}}",
"assets_added_to_album_count": "Tilføjet {count, plural, one {# mediefil} other {# mediefiler}} til albummet", "assets_added_to_album_count": "{count, plural, one {# mediefil} other {# mediefiler}} tilføjet til albummet",
"assets_added_to_name_count": "Tilføjet {count, plural, one {# mediefil} other {# mediefiler}} til {hasName, select, true {<b>{name}</b>} other {nyt album}}", "assets_added_to_name_count": "Tilføjet {count, plural, one {# mediefil} other {# mediefiler}} til {hasName, select, true {<b>{name}</b>} other {nyt album}}",
"assets_count": "{count, plural, one {# mediefil} other {# mediefiler}}", "assets_count": "{count, plural, one {# mediefil} other {# mediefiler}}",
"assets_moved_to_trash_count": "Flyttede {count, plural, one {# mediefil} other {# mediefiler}} til papirkurven", "assets_moved_to_trash_count": "Flyttede {count, plural, one {# mediefil} other {# mediefiler}} til papirkurven",
"assets_permanently_deleted_count": "Slettet permanent {count, plural, one {# mediefil} other {# mediefiler}}", "assets_permanently_deleted_count": "{count, plural, one {# mediefil} other {# mediefiler}} slettet permanent",
"assets_removed_count": "Fjernede {count, plural, one {# mediefil} other {# mediefiler}}", "assets_removed_count": "Fjernede {count, plural, one {# mediefil} other {# mediefiler}}",
"assets_restore_confirmation": "Er du sikker på, at du vil gendanne alle dine aktiver i papirkurven? Du kan ikke fortryde denne handling! Bemærk, at offline mediefiler ikke kan gendannes på denne måde.", "assets_restore_confirmation": "Er du sikker på, at du vil gendanne alle dine mediafiler i papirkurven? Du kan ikke fortryde denne handling! Bemærk, at offline mediefiler ikke kan gendannes på denne måde.",
"assets_restored_count": "Gendannet {count, plural, one {# mediefil} other {# mediefiler}}", "assets_restored_count": "{count, plural, one {# mediefil} other {# mediefiler}} gendannet",
"assets_trashed_count": "Smidt {count, plural, one {# mediefil} other {# mediefiler}} i papirkurven", "assets_trashed_count": "{count, plural, one {# mediefil} other {# mediefiler}} smidt i papirkurven",
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} er allerede en del af albummet", "assets_were_part_of_album_count": "mediefil{count, plural, one {mediefil} other {mediefiler}} er allerede en del af albummet",
"authorized_devices": "Tilladte enheder", "authorized_devices": "Tilladte enheder",
"back": "Tilbage", "back": "Tilbage",
"back_close_deselect": "Tilbage, luk eller fravælg", "back_close_deselect": "Tilbage, luk eller fravælg",
@@ -441,7 +441,7 @@
"build_image": "Byggefil", "build_image": "Byggefil",
"bulk_delete_duplicates_confirmation": "Er du sikker på, at du vil slette alle {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil beholde den største fil i hver gruppe og slette alle dubletter. Denne handling kan ikke fortrydes!", "bulk_delete_duplicates_confirmation": "Er du sikker på, at du vil slette alle {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil beholde den største fil i hver gruppe og slette alle dubletter. Denne handling kan ikke fortrydes!",
"bulk_keep_duplicates_confirmation": "Er du sikker på, at du vil beholde {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil løse alle dubletgrupper uden at slette noget.", "bulk_keep_duplicates_confirmation": "Er du sikker på, at du vil beholde {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil løse alle dubletgrupper uden at slette noget.",
"bulk_trash_duplicates_confirmation": "Er du sikker på, at du vil masseslette {count, plural, one {# duplicate asset} other {# duplicate assets}}? Dette vil beholde det største aktiv i hver gruppe og smide alle andre dubletter.", "bulk_trash_duplicates_confirmation": "Er du sikker på, at du vil masseslette {count, plural, one {# duplikeret objekt} other {# duplikerede objekter}}? Dette vil beholde det største objekt i hver gruppe og slette alle andre dubletter.",
"buy": "Køb Immich", "buy": "Køb Immich",
"camera": "Kamera", "camera": "Kamera",
"camera_brand": "Kameramærke", "camera_brand": "Kameramærke",
@@ -595,7 +595,7 @@
"editor_crop_tool_h2_rotation": "Rotation", "editor_crop_tool_h2_rotation": "Rotation",
"email": "E-mail", "email": "E-mail",
"empty_trash": "Tøm papirkurv", "empty_trash": "Tøm papirkurv",
"empty_trash_confirmation": "Er du sikker på, at du vil tømme papirkurven? Dette vil fjerne alle aktiver i papirkurven permanent fra Immich.\nDu kan ikke fortryde denne handling!", "empty_trash_confirmation": "Er du sikker på, at du vil tømme papirkurven? Dette vil fjerne alle objekter i papirkurven permanent fra Immich.\nDu kan ikke fortryde denne handling!",
"enable": "Aktivér", "enable": "Aktivér",
"enabled": "Aktiveret", "enabled": "Aktiveret",
"end_date": "Slutdato", "end_date": "Slutdato",
@@ -608,7 +608,7 @@
"cant_apply_changes": "Ændringerne kan ikke anvendes", "cant_apply_changes": "Ændringerne kan ikke anvendes",
"cant_change_activity": "Kan ikke {enabled, select, true {disable} other {enable}} aktivitet", "cant_change_activity": "Kan ikke {enabled, select, true {disable} other {enable}} aktivitet",
"cant_change_asset_favorite": "Kan ikke ændre favorit til aktiv", "cant_change_asset_favorite": "Kan ikke ændre favorit til aktiv",
"cant_change_metadata_assets_count": "Kan ikke ændre metadata for {count, plural, one {# asset} other {# assets}}", "cant_change_metadata_assets_count": "Kan ikke ændre metadata for {count, plural, one {# objekt} other {# objekter}}",
"cant_get_faces": "Kan ikke hente ansigter", "cant_get_faces": "Kan ikke hente ansigter",
"cant_get_number_of_comments": "Kan ikke få antallet af kommentarer", "cant_get_number_of_comments": "Kan ikke få antallet af kommentarer",
"cant_search_people": "Kan ikke søge efter folk", "cant_search_people": "Kan ikke søge efter folk",
@@ -648,7 +648,7 @@
"unable_to_add_partners": "Ikke i stand til at tilføje partnere", "unable_to_add_partners": "Ikke i stand til at tilføje partnere",
"unable_to_add_remove_archive": "Kan Ikke {archived, select, true {fjerne aktiv fra} other {tilføje aktiv til}} Arkiv", "unable_to_add_remove_archive": "Kan Ikke {archived, select, true {fjerne aktiv fra} other {tilføje aktiv til}} Arkiv",
"unable_to_add_remove_favorites": "Kan ikke {favorite, select, true {tilføje aktiv til} other {fjerne aktiv fra}} favoritter", "unable_to_add_remove_favorites": "Kan ikke {favorite, select, true {tilføje aktiv til} other {fjerne aktiv fra}} favoritter",
"unable_to_archive_unarchive": "Ude af stand til at {arkiveret, vælg, sand {arkiv} andet {arkiv}}", "unable_to_archive_unarchive": "Ude af stand til at {archived, select, true {arkivere} other {fjerne fra arkiv}}",
"unable_to_change_album_user_role": "Ikke i stand til at ændre albumbrugerens rolle", "unable_to_change_album_user_role": "Ikke i stand til at ændre albumbrugerens rolle",
"unable_to_change_date": "Ikke i stand til at ændre dato", "unable_to_change_date": "Ikke i stand til at ændre dato",
"unable_to_change_favorite": "Kan ikke ændre favorit for aktiv", "unable_to_change_favorite": "Kan ikke ændre favorit for aktiv",
@@ -689,8 +689,8 @@
"unable_to_log_out_device": "Enheden kunne ikke logges af", "unable_to_log_out_device": "Enheden kunne ikke logges af",
"unable_to_login_with_oauth": "Kan ikke logge på med OAuth", "unable_to_login_with_oauth": "Kan ikke logge på med OAuth",
"unable_to_play_video": "Ikke i stand til at afspille video", "unable_to_play_video": "Ikke i stand til at afspille video",
"unable_to_reassign_assets_existing_person": "Kan ikke gentildele aktiver til {navn, vælg, null {en eksisterende person} anden {{name}}}", "unable_to_reassign_assets_existing_person": "Kunne ikke tildele mediafiler til {name, select, null {en eksisterende person} other {{name}}}",
"unable_to_reassign_assets_new_person": "Kan ikke omfordele aktiver til en ny person", "unable_to_reassign_assets_new_person": "Kan ikke omfordele objekter til en ny person",
"unable_to_refresh_user": "Ikke i stand til at genopfriske bruger", "unable_to_refresh_user": "Ikke i stand til at genopfriske bruger",
"unable_to_remove_album_users": "Ikke i stand til at fjerne brugere fra album", "unable_to_remove_album_users": "Ikke i stand til at fjerne brugere fra album",
"unable_to_remove_api_key": "Kunne ikke fjerne API-nøgle", "unable_to_remove_api_key": "Kunne ikke fjerne API-nøgle",
@@ -720,7 +720,7 @@
"unable_to_unlink_account": "Ikke i stand til at frakoble konto", "unable_to_unlink_account": "Ikke i stand til at frakoble konto",
"unable_to_unlink_motion_video": "Kunne ikke fjerne linket til bevægelsesvideo", "unable_to_unlink_motion_video": "Kunne ikke fjerne linket til bevægelsesvideo",
"unable_to_update_album_cover": "Albumomslaget kunne ikke opdateres", "unable_to_update_album_cover": "Albumomslaget kunne ikke opdateres",
"unable_to_update_album_info": "Albumoplysningerne kunne ikke opdateres", "unable_to_update_album_info": "Albumsoplysningerne kunne ikke opdateres",
"unable_to_update_library": "Ikke i stand til at opdatere bibliotek", "unable_to_update_library": "Ikke i stand til at opdatere bibliotek",
"unable_to_update_location": "Ikke i stand til at opdatere sted", "unable_to_update_location": "Ikke i stand til at opdatere sted",
"unable_to_update_settings": "Ikke i stand til at opdatere indstillinger", "unable_to_update_settings": "Ikke i stand til at opdatere indstillinger",
@@ -766,8 +766,10 @@
"go_to_folder": "Gå til mappe", "go_to_folder": "Gå til mappe",
"go_to_search": "Gå til søgning", "go_to_search": "Gå til søgning",
"group_albums_by": "Gruppér albummer efter...", "group_albums_by": "Gruppér albummer efter...",
"group_country": "Gruppér efter land",
"group_no": "Ingen gruppering", "group_no": "Ingen gruppering",
"group_owner": "Grupper efter ejer", "group_owner": "Grupper efter ejer",
"group_places_by": "Gruppér steder efter...",
"group_year": "Grupper efter år", "group_year": "Grupper efter år",
"has_quota": "Har kvote", "has_quota": "Har kvote",
"hi_user": "Hej {name} ({email})", "hi_user": "Hej {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Inkludér delte albummer", "include_shared_albums": "Inkludér delte albummer",
"include_shared_partner_assets": "Inkludér delte partnermedier", "include_shared_partner_assets": "Inkludér delte partnermedier",
"individual_share": "Individuel andel", "individual_share": "Individuel andel",
"individual_shares": "Individuelle delinger",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Hver dag kl. 13", "day_at_onepm": "Hver dag kl. 13",
@@ -809,7 +812,7 @@
}, },
"invite_people": "Inviter personer", "invite_people": "Inviter personer",
"invite_to_album": "Inviter til album", "invite_to_album": "Inviter til album",
"items_count": "{count, plural, one {# genstand} other {# genstande}}", "items_count": "{count, plural, one {# element} other {# elementer}}",
"jobs": "Opgaver", "jobs": "Opgaver",
"keep": "Behold", "keep": "Behold",
"keep_all": "Behold alle", "keep_all": "Behold alle",
@@ -822,13 +825,14 @@
"latest_version": "Seneste version", "latest_version": "Seneste version",
"latitude": "Breddegrad", "latitude": "Breddegrad",
"leave": "Forlad", "leave": "Forlad",
"lens_model": "Objektivmodel",
"let_others_respond": "Lad andre svare", "let_others_respond": "Lad andre svare",
"level": "Niveau", "level": "Niveau",
"library": "Bibliotek", "library": "Bibliotek",
"library_options": "Biblioteksindstillinger", "library_options": "Biblioteksindstillinger",
"light": "Lys", "light": "Lys",
"like_deleted": "Ligesom slettet", "like_deleted": "Ligesom slettet",
"link_motion_video": "Link bevægelses video", "link_motion_video": "Link bevægelsesvideo",
"link_options": "Link-indstillinger", "link_options": "Link-indstillinger",
"link_to_oauth": "Link til OAuth", "link_to_oauth": "Link til OAuth",
"linked_oauth_account": "Tilsluttet OAuth-konto", "linked_oauth_account": "Tilsluttet OAuth-konto",
@@ -864,7 +868,7 @@
"media_type": "Medietype", "media_type": "Medietype",
"memories": "Minder", "memories": "Minder",
"memories_setting_description": "Administrér hvad du ser i dine minder", "memories_setting_description": "Administrér hvad du ser i dine minder",
"memory": "Hukommelse", "memory": "Minde",
"memory_lane_title": "Minder {title}", "memory_lane_title": "Minder {title}",
"menu": "Menu", "menu": "Menu",
"merge": "Sammenflet", "merge": "Sammenflet",
@@ -872,7 +876,7 @@
"merge_people_limit": "Du kan kun flette op til 5 ansigter ad gangen", "merge_people_limit": "Du kan kun flette op til 5 ansigter ad gangen",
"merge_people_prompt": "Vil du slå disse mennesker sammen? Denne handling er uigenkaldelig.", "merge_people_prompt": "Vil du slå disse mennesker sammen? Denne handling er uigenkaldelig.",
"merge_people_successfully": "Personer sammenflettet med succes", "merge_people_successfully": "Personer sammenflettet med succes",
"merged_people_count": "Slået sammen {count, plural, one {# person} other {# people}}", "merged_people_count": "{count, plural, one {# person} other {# personer}} lagt sammen",
"minimize": "Minimér", "minimize": "Minimér",
"minute": "Minut", "minute": "Minut",
"missing": "Mangler", "missing": "Mangler",
@@ -923,9 +927,9 @@
"offline_paths_description": "Disse resultater kan være på grund af manuel sletning af filer, som ikke er en del af et eksternt bibliotek.", "offline_paths_description": "Disse resultater kan være på grund af manuel sletning af filer, som ikke er en del af et eksternt bibliotek.",
"ok": "Ok", "ok": "Ok",
"oldest_first": "Ældste først", "oldest_first": "Ældste først",
"onboarding": "Onboarding", "onboarding": "Introduktion",
"onboarding_privacy_description": "Følgende (valgfrie) funktioner er afhængige af eksterne tjenester, og kan til enhver tid deaktiveres i administrationsindstillingerne.", "onboarding_privacy_description": "Følgende (valgfrie) funktioner er afhængige af eksterne tjenester, og kan til enhver tid deaktiveres i administrationsindstillingerne.",
"onboarding_theme_description": "Vælg et farvetema til din forekomst. Du kan ændre dette senere i dine indstillinger.", "onboarding_theme_description": "Vælg et farvetema til din instans. Du kan ændre dette senere i dine indstillinger.",
"onboarding_welcome_description": "Lad os få din instans sat op med nogle almindelige indstillinger.", "onboarding_welcome_description": "Lad os få din instans sat op med nogle almindelige indstillinger.",
"onboarding_welcome_user": "Velkommen, {user}", "onboarding_welcome_user": "Velkommen, {user}",
"online": "Online", "online": "Online",
@@ -940,7 +944,7 @@
"other": "Andet", "other": "Andet",
"other_devices": "Andre enheder", "other_devices": "Andre enheder",
"other_variables": "Andre variable", "other_variables": "Andre variable",
"owned": "Ejet", "owned": "Egne",
"owner": "Ejer", "owner": "Ejer",
"partner": "Partner", "partner": "Partner",
"partner_can_access": "{partner} kan tilgå", "partner_can_access": "{partner} kan tilgå",
@@ -973,7 +977,7 @@
"permanently_delete_assets_count": "Slet permanent {count, plural, one {asset} other {assets}}", "permanently_delete_assets_count": "Slet permanent {count, plural, one {asset} other {assets}}",
"permanently_delete_assets_prompt": "Er du sikker på, at du permanent vil slette {count, plural, one {dette aktiv?} other {disse <b>#</b> aktiver?}} Dette vil også fjerne {count, plural, one {det fra dets} other {dem fra deres}} album(er).", "permanently_delete_assets_prompt": "Er du sikker på, at du permanent vil slette {count, plural, one {dette aktiv?} other {disse <b>#</b> aktiver?}} Dette vil også fjerne {count, plural, one {det fra dets} other {dem fra deres}} album(er).",
"permanently_deleted_asset": "Permanent slettet medie", "permanently_deleted_asset": "Permanent slettet medie",
"permanently_deleted_assets_count": "Slettet permanent {count, plural, one {# aktiv} other {# aktiver}}", "permanently_deleted_assets_count": "{count, plural, one {# aktiv} other {# aktiver}} permanent slettet",
"person": "Person", "person": "Person",
"person_hidden": "{name}{hidden, select, true { (skjult)} other {}}", "person_hidden": "{name}{hidden, select, true { (skjult)} other {}}",
"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.", "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.",
@@ -984,6 +988,7 @@
"pick_a_location": "Vælg et sted", "pick_a_location": "Vælg et sted",
"place": "Sted", "place": "Sted",
"places": "Steder", "places": "Steder",
"places_count": "{count, plural, one {{count, number} Sted} other {{count, number} Steder}}",
"play": "Afspil", "play": "Afspil",
"play_memories": "Afspil minder", "play_memories": "Afspil minder",
"play_motion_photo": "Afspil bevægelsesbillede", "play_motion_photo": "Afspil bevægelsesbillede",
@@ -1018,11 +1023,11 @@
"purchase_input_suggestion": "Har du en produktnøgle? Indtast nøglen nedenfor", "purchase_input_suggestion": "Har du en produktnøgle? Indtast nøglen nedenfor",
"purchase_license_subtitle": "Køb Immich for at understøtte den fortsatte udvikling af tjenesten", "purchase_license_subtitle": "Køb Immich for at understøtte den fortsatte udvikling af tjenesten",
"purchase_lifetime_description": "Livsvarigt køb", "purchase_lifetime_description": "Livsvarigt køb",
"purchase_option_title": "KØBEMULIGHEDER", "purchase_option_title": "KØBSMULIGHEDER",
"purchase_panel_info_1": "At bygge Immich tager meget tid og kræfter, og vi har fuldtidsingeniører, der arbejder på det for at gøre det så godt, som vi overhovedet kan. Vores mission er, at open source-software og etisk forretningspraksis bliver en bæredygtig indtægtskilde for udviklere og at skabe et privatlivsrespekterende økosystem med reelle alternativer til udnyttende cloud-tjenester.", "purchase_panel_info_1": "At bygge Immich tager meget tid og kræfter, og vi har fuldtidsingeniører, der arbejder på det for at gøre det så godt, som vi overhovedet kan. Vores mission er, at open source-software og etisk forretningspraksis bliver en bæredygtig indtægtskilde for udviklere og at skabe et privatlivsrespekterende økosystem med reelle alternativer til udnyttende cloud-tjenester.",
"purchase_panel_info_2": "Da vi er forpligtet til ikke at tilføje betalingsvægge, vil dette køb ikke give dig yderligere funktioner i Immich. Vi er afhængige af, at brugere som dig støtter Immichs løbende udvikling.", "purchase_panel_info_2": "Da vi er forpligtet til ikke at tilføje betalingsvægge, vil dette køb ikke give dig yderligere funktioner i Immich. Vi er afhængige af, at brugere som dig støtter Immichs løbende udvikling.",
"purchase_panel_title": "Støt projektet", "purchase_panel_title": "Støt projektet",
"purchase_per_server": "Per server", "purchase_per_server": "Pr. server",
"purchase_per_user": "Per bruger", "purchase_per_user": "Per bruger",
"purchase_remove_product_key": "Fjern produktnøgle", "purchase_remove_product_key": "Fjern produktnøgle",
"purchase_remove_product_key_prompt": "Er du sikker på, at du vil fjerne produktnøglen?", "purchase_remove_product_key_prompt": "Er du sikker på, at du vil fjerne produktnøglen?",
@@ -1039,7 +1044,7 @@
"reaction_options": "Reaktionsindstillinger", "reaction_options": "Reaktionsindstillinger",
"read_changelog": "Læs ændringslog", "read_changelog": "Læs ændringslog",
"reassign": "Gentildel", "reassign": "Gentildel",
"reassigned_assets_to_existing_person": "Gentildelt {count, plural, one {# aktiv} other {# aktiver}} til {name, select, null {en eksisterende person} other {{navne}}}", "reassigned_assets_to_existing_person": "{count, plural, one {# mediefil} other {# mediefiler}} er blevet gentildelt til {name, select, null {en eksisterende person} other {{name}}}",
"reassigned_assets_to_new_person": "Gentildelt {count, plural, one {# aktiv} other {# aktiver}} til en ny person", "reassigned_assets_to_new_person": "Gentildelt {count, plural, one {# aktiv} other {# aktiver}} til en ny person",
"reassing_hint": "Tildel valgte aktiver til en eksisterende person", "reassing_hint": "Tildel valgte aktiver til en eksisterende person",
"recent": "For nylig", "recent": "For nylig",
@@ -1084,7 +1089,7 @@
"reset_people_visibility": "Nulstil personsynlighed", "reset_people_visibility": "Nulstil personsynlighed",
"reset_to_default": "Nulstil til standard", "reset_to_default": "Nulstil til standard",
"resolve_duplicates": "Løs dubletter", "resolve_duplicates": "Løs dubletter",
"resolved_all_duplicates": "Løste alle dubletter", "resolved_all_duplicates": "Alle dubletter løst",
"restore": "Gendan", "restore": "Gendan",
"restore_all": "Gendan alle", "restore_all": "Gendan alle",
"restore_user": "Gendan bruger", "restore_user": "Gendan bruger",
@@ -1107,12 +1112,15 @@
"search": "Søg", "search": "Søg",
"search_albums": "Søg i albummer", "search_albums": "Søg i albummer",
"search_by_context": "Søg efter kontekst", "search_by_context": "Søg efter kontekst",
"search_by_description": "Søg efter beskrivelse",
"search_by_description_example": "Vandredag i Paris",
"search_by_filename": "Søg efter filnavn eller filtypenavn", "search_by_filename": "Søg efter filnavn eller filtypenavn",
"search_by_filename_example": "dvs. IMG_1234.JPG eller PNG", "search_by_filename_example": "dvs. IMG_1234.JPG eller PNG",
"search_camera_make": "Søg efter kameraproducent...", "search_camera_make": "Søg efter kameraproducent...",
"search_camera_model": "Søg efter kameramodel...", "search_camera_model": "Søg efter kameramodel...",
"search_city": "Søg efter by...", "search_city": "Søg efter by...",
"search_country": "Søg efter land...", "search_country": "Søg efter land...",
"search_for": "Søg efter",
"search_for_existing_person": "Søg efter eksisterende person", "search_for_existing_person": "Søg efter eksisterende person",
"search_no_people": "Ingen personer", "search_no_people": "Ingen personer",
"search_no_people_named": "Ingen personer med navnet \"{name}\"", "search_no_people_named": "Ingen personer med navnet \"{name}\"",
@@ -1141,7 +1149,7 @@
"select_photos": "Vælg billeder", "select_photos": "Vælg billeder",
"select_trash_all": "Vælg smid alle ud", "select_trash_all": "Vælg smid alle ud",
"selected": "Valgt", "selected": "Valgt",
"selected_count": "{count, plural, other {# valgt}}", "selected_count": "{count, plural, one {# valgt} other {# valgte}}",
"send_message": "Send besked", "send_message": "Send besked",
"send_welcome_email": "Send velkomstemail", "send_welcome_email": "Send velkomstemail",
"server_offline": "Server Offline", "server_offline": "Server Offline",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Billeder fra {partner}", "shared_from_partner": "Billeder fra {partner}",
"shared_link_options": "Muligheder for delt link", "shared_link_options": "Muligheder for delt link",
"shared_links": "Delte links", "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_photos_and_videos_count": "{assetCount, plural, other {# delte billeder & videoer.}}",
"shared_with_partner": "Delt med {partner}", "shared_with_partner": "Delt med {partner}",
"sharing": "Delte", "sharing": "Delte",
@@ -1187,6 +1196,7 @@
"show_person_options": "Vis personindstillinger", "show_person_options": "Vis personindstillinger",
"show_progress_bar": "Vis statuslinje", "show_progress_bar": "Vis statuslinje",
"show_search_options": "Vis søgeindstillinger", "show_search_options": "Vis søgeindstillinger",
"show_shared_links": "Vis delte links",
"show_slideshow_transition": "Vis overgang til diasshow", "show_slideshow_transition": "Vis overgang til diasshow",
"show_supporter_badge": "Supportermærke", "show_supporter_badge": "Supportermærke",
"show_supporter_badge_description": "Vis et supportermærke", "show_supporter_badge_description": "Vis et supportermærke",
@@ -1264,9 +1274,9 @@
"total_usage": "Samlet forbrug", "total_usage": "Samlet forbrug",
"trash": "Papirkurv", "trash": "Papirkurv",
"trash_all": "Smid alle ud", "trash_all": "Smid alle ud",
"trash_count": "Skrald {count, number}", "trash_count": "Slet {count, number}",
"trash_delete_asset": "Papirkurv/slet aktiv", "trash_delete_asset": "Papirkurv/slet aktiv",
"trash_no_results_message": "Udsmidte billeder og videoer vil kunne findes her.", "trash_no_results_message": "Billeder og videoer markeret til sletning vil blive vist her.",
"trashed_items_will_be_permanently_deleted_after": "Mediefiler i skraldespanden vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.", "trashed_items_will_be_permanently_deleted_after": "Mediefiler i skraldespanden vil blive slettet permanent efter {days, plural, one {# dag} other {# dage}}.",
"type": "Type", "type": "Type",
"unarchive": "Afakivér", "unarchive": "Afakivér",
@@ -1274,6 +1284,7 @@
"unfavorite": "Fjern favorit", "unfavorite": "Fjern favorit",
"unhide_person": "Hold op med at gemme person væk", "unhide_person": "Hold op med at gemme person væk",
"unknown": "Ukendt", "unknown": "Ukendt",
"unknown_country": "Ukendt land",
"unknown_year": "Ukendt år", "unknown_year": "Ukendt år",
"unlimited": "Ubegrænset", "unlimited": "Ubegrænset",
"unlink_motion_video": "Fjern link til bevægelsesvideo", "unlink_motion_video": "Fjern link til bevægelsesvideo",
@@ -1287,7 +1298,7 @@
"unselect_all_duplicates": "Fjern markeringen af alle dubletter", "unselect_all_duplicates": "Fjern markeringen af alle dubletter",
"unstack": "Fjern fra stak", "unstack": "Fjern fra stak",
"unstacked_assets_count": "Ikke-stablet {count, plural, one {# aktiv} other {# aktiver}}", "unstacked_assets_count": "Ikke-stablet {count, plural, one {# aktiv} other {# aktiver}}",
"untracked_files": "Usporede filer", "untracked_files": "Ikke overvågede filer",
"untracked_files_decription": "Disse filer bliver ikke sporet af applikationen. De kan være resultatet af mislykkede flytninger, afbrudte uploads eller efterladt på grund af en fejl", "untracked_files_decription": "Disse filer bliver ikke sporet af applikationen. De kan være resultatet af mislykkede flytninger, afbrudte uploads eller efterladt på grund af en fejl",
"up_next": "Næste", "up_next": "Næste",
"updated_password": "Opdaterede adgangskode", "updated_password": "Opdaterede adgangskode",
@@ -1298,7 +1309,7 @@
"upload_skipped_duplicates": "Sprang over {count, plural, one {# duplet aktiv} other {# duplikerede aktiver}}", "upload_skipped_duplicates": "Sprang over {count, plural, one {# duplet aktiv} other {# duplikerede aktiver}}",
"upload_status_duplicates": "Dubletter", "upload_status_duplicates": "Dubletter",
"upload_status_errors": "Fejl", "upload_status_errors": "Fejl",
"upload_status_uploaded": "Uploaded", "upload_status_uploaded": "Uploadet",
"upload_success": "Upload gennemført. Opdater siden for at se nye uploadaktiver.", "upload_success": "Upload gennemført. Opdater siden for at se nye uploadaktiver.",
"url": "URL", "url": "URL",
"usage": "Forbrug", "usage": "Forbrug",

View File

@@ -20,7 +20,7 @@
"add_partner": "Partner hinzufügen", "add_partner": "Partner hinzufügen",
"add_path": "Pfad hinzufügen", "add_path": "Pfad hinzufügen",
"add_photos": "Fotos hinzufügen", "add_photos": "Fotos hinzufügen",
"add_to": "Hinzufügen zu ...", "add_to": "Hinzufügen zu ",
"add_to_album": "Zu Album hinzufügen", "add_to_album": "Zu Album hinzufügen",
"add_to_shared_album": "Zu geteiltem Album hinzufügen", "add_to_shared_album": "Zu geteiltem Album hinzufügen",
"add_url": "URL hinzufügen", "add_url": "URL hinzufügen",
@@ -31,7 +31,7 @@
"add_exclusion_pattern_description": "Ausschlussmuster hinzufügen. Platzhalter, wie *, **, und ? werden unterstützt. Um alle Dateien in einem Verzeichnis namens „Raw\" zu ignorieren, „**/Raw/**“ verwenden. Um alle Dateien zu ignorieren, die auf „.tif“ enden, „**/*.tif“ verwenden. Um einen absoluten Pfad zu ignorieren, „/pfad/zum/ignorieren/**“ verwenden.", "add_exclusion_pattern_description": "Ausschlussmuster hinzufügen. Platzhalter, wie *, **, und ? werden unterstützt. Um alle Dateien in einem Verzeichnis namens „Raw\" zu ignorieren, „**/Raw/**“ verwenden. Um alle Dateien zu ignorieren, die auf „.tif“ enden, „**/*.tif“ verwenden. Um einen absoluten Pfad zu ignorieren, „/pfad/zum/ignorieren/**“ verwenden.",
"asset_offline_description": "Diese Datei einer externen Bibliothek befindet sich nicht mehr auf der Festplatte und wurde in den Papierkorb verschoben. Falls die Datei innerhalb der Bibliothek verschoben wurde, überprüfe deine Zeitleiste auf die neue entsprechende Datei. Um diese Datei wiederherzustellen, stelle bitte sicher, dass Immich auf den unten stehenden Dateipfad zugreifen kann und scanne die Bibliothek.", "asset_offline_description": "Diese Datei einer externen Bibliothek befindet sich nicht mehr auf der Festplatte und wurde in den Papierkorb verschoben. Falls die Datei innerhalb der Bibliothek verschoben wurde, überprüfe deine Zeitleiste auf die neue entsprechende Datei. Um diese Datei wiederherzustellen, stelle bitte sicher, dass Immich auf den unten stehenden Dateipfad zugreifen kann und scanne die Bibliothek.",
"authentication_settings": "Authentifizierungseinstellungen", "authentication_settings": "Authentifizierungseinstellungen",
"authentication_settings_description": "Passwort-, OAuth- und sonstigen Authentifizierungseinstellungen verwalten", "authentication_settings_description": "Passwort-, OAuth- und sonstige Authentifizierungseinstellungen verwalten",
"authentication_settings_disable_all": "Bist du sicher, dass du alle Anmeldemethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.", "authentication_settings_disable_all": "Bist du sicher, dass du alle Anmeldemethoden deaktivieren willst? Die Anmeldung wird vollständig deaktiviert.",
"authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.", "authentication_settings_reenable": "Nutze einen <link>Server-Befehl</link> zur Reaktivierung.",
"background_task_job": "Hintergrundaufgaben", "background_task_job": "Hintergrundaufgaben",
@@ -187,7 +187,7 @@
"oauth_issuer_url": "Aussteller-URL", "oauth_issuer_url": "Aussteller-URL",
"oauth_mobile_redirect_uri": "Mobile Umleitungs-URI", "oauth_mobile_redirect_uri": "Mobile Umleitungs-URI",
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI überschreiben", "oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI überschreiben",
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Provider keine mobile URI wie '{callback}' erlaubt", "oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Anbieter keine mobile URI wie '{callback}' erlaubt",
"oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung", "oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung",
"oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird für die Signatur des Benutzerprofils verwendet.", "oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird für die Signatur des Benutzerprofils verwendet.",
"oauth_scope": "Umfang", "oauth_scope": "Umfang",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Einstellungen auf Standard zurücksetzen", "reset_settings_to_default": "Einstellungen auf Standard zurücksetzen",
"reset_settings_to_recent_saved": "Einstellungen auf die zuletzt gespeicherten Einstellungen zurücksetzen", "reset_settings_to_recent_saved": "Einstellungen auf die zuletzt gespeicherten Einstellungen zurücksetzen",
"scanning_library": "Bibliothek scannen", "scanning_library": "Bibliothek scannen",
"search_jobs": "Aufgaben suchen...", "search_jobs": "Suchaufgaben",
"send_welcome_email": "Begrüssungsmail senden", "send_welcome_email": "Begrüssungsmail senden",
"server_external_domain_settings": "Externe Domain", "server_external_domain_settings": "Externe Domain",
"server_external_domain_settings_description": "Domäne für öffentlich freigegebene Links, einschließlich http(s)://", "server_external_domain_settings_description": "Domäne für öffentlich freigegebene Links, einschließlich http(s)://",
@@ -290,7 +290,7 @@
"transcoding_constant_rate_factor_description": "Videoqualitätsstufe. Typische Werte sind 23 für H.264, 28 für HEVC, 31 für VP9 und 35 für AV1. Ein niedrigerer Wert ist besser, erzeugt aber größere Dateien.", "transcoding_constant_rate_factor_description": "Videoqualitätsstufe. Typische Werte sind 23 für H.264, 28 für HEVC, 31 für VP9 und 35 für AV1. Ein niedrigerer Wert ist besser, erzeugt aber größere Dateien.",
"transcoding_disabled_description": "Videos nicht transkodieren, dies kann die Wiedergabe auf manchen Geräten beeinträchtigen", "transcoding_disabled_description": "Videos nicht transkodieren, dies kann die Wiedergabe auf manchen Geräten beeinträchtigen",
"transcoding_encoding_options": "Kodierungsoptionen", "transcoding_encoding_options": "Kodierungsoptionen",
"transcoding_encoding_options_description": "Setze Codec, Auflösung, Qualität und andere Optionen für kodierte Videos", "transcoding_encoding_options_description": "Setze Codec, Auflösung, Qualität und andere Optionen für die kodierten Videos",
"transcoding_hardware_acceleration": "Hardware-Beschleunigung", "transcoding_hardware_acceleration": "Hardware-Beschleunigung",
"transcoding_hardware_acceleration_description": "Experimentell; viel schneller, aber bei gleicher Bitrate mit geringerer Qualität", "transcoding_hardware_acceleration_description": "Experimentell; viel schneller, aber bei gleicher Bitrate mit geringerer Qualität",
"transcoding_hardware_decoding": "Hardware-Dekodierung", "transcoding_hardware_decoding": "Hardware-Dekodierung",
@@ -313,7 +313,7 @@
"transcoding_reference_frames_description": "Die Anzahl der Bilder, auf die bei der Komprimierung eines bestimmten Bildes Bezug genommen wird. Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. 0 setzt diesen Wert automatisch.", "transcoding_reference_frames_description": "Die Anzahl der Bilder, auf die bei der Komprimierung eines bestimmten Bildes Bezug genommen wird. Höhere Werte verbessern die Komprimierungseffizienz, verlangsamen aber die Kodierung. 0 setzt diesen Wert automatisch.",
"transcoding_required_description": "Nur Videos in einem nicht akzeptierten Format", "transcoding_required_description": "Nur Videos in einem nicht akzeptierten Format",
"transcoding_settings": "Einstellungen für die Videotranskodierung", "transcoding_settings": "Einstellungen für die Videotranskodierung",
"transcoding_settings_description": "Verwalten welche Videos transkodiert werden und wie diese verarbeitet werden", "transcoding_settings_description": "Verwalten welche Videos transkodiert und wie diese verarbeitet werden",
"transcoding_target_resolution": "Ziel-Auflösung", "transcoding_target_resolution": "Ziel-Auflösung",
"transcoding_target_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Codierung, haben größere Dateigrößen und können die Reaktionszeit der Anwendung beeinträchtigen.", "transcoding_target_resolution_description": "Höhere Auflösungen können mehr Details erhalten, benötigen aber mehr Zeit für die Codierung, haben größere Dateigrößen und können die Reaktionszeit der Anwendung beeinträchtigen.",
"transcoding_temporal_aq": "Temporäre AQ", "transcoding_temporal_aq": "Temporäre AQ",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Ist das dieselbe Person?", "are_these_the_same_person": "Ist das dieselbe Person?",
"are_you_sure_to_do_this": "Bist du sicher, dass du das tun willst?", "are_you_sure_to_do_this": "Bist du sicher, dass du das tun willst?",
"asset_added_to_album": "Zum Album hinzugefügt", "asset_added_to_album": "Zum Album hinzugefügt",
"asset_adding_to_album": "Hinzufügen zum Album...", "asset_adding_to_album": "Hinzufügen zum Album",
"asset_description_updated": "Die Beschreibung der Datei wurde aktualisiert", "asset_description_updated": "Die Beschreibung der Datei wurde aktualisiert",
"asset_filename_is_offline": "Datei {filename} ist offline", "asset_filename_is_offline": "Datei {filename} ist offline",
"asset_has_unassigned_faces": "Datei hat nicht zugewiesene Gesichter", "asset_has_unassigned_faces": "Datei hat nicht zugewiesene Gesichter",
"asset_hashing": "Berechnung des Hashwerts...", "asset_hashing": "Berechne Prüfsumme…",
"asset_offline": "Datei offline", "asset_offline": "Datei offline",
"asset_offline_description": "Diese externe Datei ist nicht mehr auf dem Datenträger vorhanden. Bitte wende dich an deinen Immich-Administrator, um Hilfe zu erhalten.", "asset_offline_description": "Diese externe Datei ist nicht mehr auf dem Datenträger vorhanden. Bitte wende dich an deinen Immich-Administrator, um Hilfe zu erhalten.",
"asset_skipped": "Übersprungen", "asset_skipped": "Übersprungen",
"asset_skipped_in_trash": "Im Papierkorb", "asset_skipped_in_trash": "Im Papierkorb",
"asset_uploaded": "Hochgeladen", "asset_uploaded": "Hochgeladen",
"asset_uploading": "Hochladen...", "asset_uploading": "Hochladen",
"assets": "Dateien", "assets": "Dateien",
"assets_added_count": "{count, plural, one {# Datei} other {# Dateien}} hinzugefügt", "assets_added_count": "{count, plural, one {# Datei} other {# Dateien}} hinzugefügt",
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt", "assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
@@ -687,7 +687,7 @@
"unable_to_load_liked_status": "Gewünschter Status kann nicht geladen werden", "unable_to_load_liked_status": "Gewünschter Status kann nicht geladen werden",
"unable_to_log_out_all_devices": "Konnte nicht von allen Geräten abmelden", "unable_to_log_out_all_devices": "Konnte nicht von allen Geräten abmelden",
"unable_to_log_out_device": "Konnte nicht vom Gerät abmelden", "unable_to_log_out_device": "Konnte nicht vom Gerät abmelden",
"unable_to_login_with_oauth": "Konnte nicht mit OAuth anmelden", "unable_to_login_with_oauth": "Anmeldung mit OAuth nicht möglich",
"unable_to_play_video": "Das Video kann nicht wiedergegeben werden", "unable_to_play_video": "Das Video kann nicht wiedergegeben werden",
"unable_to_reassign_assets_existing_person": "Kann Dateien nicht {name, select, null {einer vorhandenen Person} other {{name}}} zuweisen", "unable_to_reassign_assets_existing_person": "Kann Dateien nicht {name, select, null {einer vorhandenen Person} other {{name}}} zuweisen",
"unable_to_reassign_assets_new_person": "Dateien konnten nicht einer neuen Person zugeordnet werden", "unable_to_reassign_assets_new_person": "Dateien konnten nicht einer neuen Person zugeordnet werden",
@@ -766,8 +766,10 @@
"go_to_folder": "Gehe zu Ordner", "go_to_folder": "Gehe zu Ordner",
"go_to_search": "Zur Suche gehen", "go_to_search": "Zur Suche gehen",
"group_albums_by": "Alben gruppieren nach...", "group_albums_by": "Alben gruppieren nach...",
"group_country": "Nach Land gruppieren",
"group_no": "Keine Gruppierung", "group_no": "Keine Gruppierung",
"group_owner": "Gruppierung nach Besitzer", "group_owner": "Gruppierung nach Besitzer",
"group_places_by": "Orte gruppieren nach...",
"group_year": "Gruppierung nach Jahr", "group_year": "Gruppierung nach Jahr",
"has_quota": "Kontingent", "has_quota": "Kontingent",
"hi_user": "Hallo {name} ({email})", "hi_user": "Hallo {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Freigegebene Alben einbeziehen", "include_shared_albums": "Freigegebene Alben einbeziehen",
"include_shared_partner_assets": "Geteilte Partner-Dateien mit einbeziehen", "include_shared_partner_assets": "Geteilte Partner-Dateien mit einbeziehen",
"individual_share": "Individuelle Freigabe", "individual_share": "Individuelle Freigabe",
"individual_shares": "Individuelles Teilen",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Täglich um 13:00 Uhr", "day_at_onepm": "Täglich um 13:00 Uhr",
@@ -822,6 +825,7 @@
"latest_version": "Aktuellste Version", "latest_version": "Aktuellste Version",
"latitude": "Breitengrad", "latitude": "Breitengrad",
"leave": "Verlassen", "leave": "Verlassen",
"lens_model": "Objektivmodell",
"let_others_respond": "Antworten zulassen", "let_others_respond": "Antworten zulassen",
"level": "Level", "level": "Level",
"library": "Bibliothek", "library": "Bibliothek",
@@ -830,7 +834,7 @@
"like_deleted": "Like gelöscht", "like_deleted": "Like gelöscht",
"link_motion_video": "Bewegungsvideo verknüpfen", "link_motion_video": "Bewegungsvideo verknüpfen",
"link_options": "Link-Optionen", "link_options": "Link-Optionen",
"link_to_oauth": "Link zu OAuth", "link_to_oauth": "Mit OAuth verknüpfen",
"linked_oauth_account": "Verknüpftes OAuth-Konto", "linked_oauth_account": "Verknüpftes OAuth-Konto",
"list": "Liste", "list": "Liste",
"loading": "Laden", "loading": "Laden",
@@ -855,7 +859,7 @@
"manage_your_account": "Dein Konto verwalten", "manage_your_account": "Dein Konto verwalten",
"manage_your_api_keys": "Deine API-Schlüssel verwalten", "manage_your_api_keys": "Deine API-Schlüssel verwalten",
"manage_your_devices": "Deine eingeloggten Geräte verwalten", "manage_your_devices": "Deine eingeloggten Geräte verwalten",
"manage_your_oauth_connection": "Deine OAuth-Verbindung verwalten", "manage_your_oauth_connection": "Deine OAuth-Verknüpfung verwalten",
"map": "Karte", "map": "Karte",
"map_marker_for_images": "Kartenmarkierung für Bilder, die in {city}, {country} aufgenommen wurden", "map_marker_for_images": "Kartenmarkierung für Bilder, die in {city}, {country} aufgenommen wurden",
"map_marker_with_image": "Kartenmarkierung mit Bild", "map_marker_with_image": "Kartenmarkierung mit Bild",
@@ -984,6 +988,7 @@
"pick_a_location": "Wähle einen Ort", "pick_a_location": "Wähle einen Ort",
"place": "Ort", "place": "Ort",
"places": "Orte", "places": "Orte",
"places_count": "{count, plural, one {{count, number} Ort} other {{count, number} Orte}}",
"play": "Abspielen", "play": "Abspielen",
"play_memories": "Erinnerungen abspielen", "play_memories": "Erinnerungen abspielen",
"play_motion_photo": "Bewegte Bilder abspielen", "play_motion_photo": "Bewegte Bilder abspielen",
@@ -1107,12 +1112,15 @@
"search": "Suche", "search": "Suche",
"search_albums": "Album suchen", "search_albums": "Album suchen",
"search_by_context": "Suche nach Kontext", "search_by_context": "Suche nach Kontext",
"search_by_description": "Nach Beschreibung suchen",
"search_by_description_example": "Wandern in Sapa",
"search_by_filename": "Suche nach Dateiname oder -erweiterung", "search_by_filename": "Suche nach Dateiname oder -erweiterung",
"search_by_filename_example": "z.B. IMG_1234.JPG oder PNG", "search_by_filename_example": "z.B. IMG_1234.JPG oder PNG",
"search_camera_make": "Suche nach Kameramarke...", "search_camera_make": "Suche nach Kameramarke...",
"search_camera_model": "Suche nach Kameramodell...", "search_camera_model": "Suche nach Kameramodell...",
"search_city": "Suche nach Stadt...", "search_city": "Suche nach Stadt...",
"search_country": "Suche nach Land...", "search_country": "Suche nach Land...",
"search_for": "Suche nach",
"search_for_existing_person": "Suche nach vorhandener Person", "search_for_existing_person": "Suche nach vorhandener Person",
"search_no_people": "Keine Personen", "search_no_people": "Keine Personen",
"search_no_people_named": "Keine Person mit dem Namen \"{name}\"", "search_no_people_named": "Keine Person mit dem Namen \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotos von {partner}", "shared_from_partner": "Fotos von {partner}",
"shared_link_options": "Optionen für geteilten Link", "shared_link_options": "Optionen für geteilten Link",
"shared_links": "Geteilte Links", "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_photos_and_videos_count": "{assetCount, plural, one {# geteiltes Foto oder Video.} other {# geteilte Fotos & Videos.}}",
"shared_with_partner": "Geteilt mit {partner}", "shared_with_partner": "Geteilt mit {partner}",
"sharing": "Geteiltes", "sharing": "Geteiltes",
@@ -1187,6 +1196,7 @@
"show_person_options": "Personen-Optionen anzeigen", "show_person_options": "Personen-Optionen anzeigen",
"show_progress_bar": "Fortschrittsbalken anzeigen", "show_progress_bar": "Fortschrittsbalken anzeigen",
"show_search_options": "Suchoptionen anzeigen", "show_search_options": "Suchoptionen anzeigen",
"show_shared_links": "Zeige geteilte Links",
"show_slideshow_transition": "Slideshow-Übergang anzeigen", "show_slideshow_transition": "Slideshow-Übergang anzeigen",
"show_supporter_badge": "Unterstützerabzeichen", "show_supporter_badge": "Unterstützerabzeichen",
"show_supporter_badge_description": "Zeige Unterstützerabzeichen", "show_supporter_badge_description": "Zeige Unterstützerabzeichen",
@@ -1274,11 +1284,12 @@
"unfavorite": "Entfavorisieren", "unfavorite": "Entfavorisieren",
"unhide_person": "Person einblenden", "unhide_person": "Person einblenden",
"unknown": "Unbekannt", "unknown": "Unbekannt",
"unknown_country": "Unbekanntes Land",
"unknown_year": "Unbekanntes Jahr", "unknown_year": "Unbekanntes Jahr",
"unlimited": "Unlimitiert", "unlimited": "Unlimitiert",
"unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben", "unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben",
"unlink_oauth": "OAuth entfernen", "unlink_oauth": "OAuth entfernen",
"unlinked_oauth_account": "Nicht verknüpftes OAuth-Konto", "unlinked_oauth_account": "OAuth-Konto entfernt",
"unnamed_album": "Unbenanntes Album", "unnamed_album": "Unbenanntes Album",
"unnamed_album_delete_confirmation": "Bist du sicher, dass du dieses Album löschen willst?", "unnamed_album_delete_confirmation": "Bist du sicher, dass du dieses Album löschen willst?",
"unnamed_share": "Unbenannte Freigabe", "unnamed_share": "Unbenannte Freigabe",

View File

@@ -20,7 +20,7 @@
"add_partner": "Προσθήκη συνεργάτη", "add_partner": "Προσθήκη συνεργάτη",
"add_path": "Προσθήκη διαδρομής", "add_path": "Προσθήκη διαδρομής",
"add_photos": "Προσθήκη φωτογραφιών", "add_photos": "Προσθήκη φωτογραφιών",
"add_to": "Προσθήκη σε...", "add_to": "Προσθήκη σε",
"add_to_album": "Προσθήκη σε άλμπουμ", "add_to_album": "Προσθήκη σε άλμπουμ",
"add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ", "add_to_shared_album": "Προσθήκη σε κοινόχρηστο άλμπουμ",
"add_url": "Προσθήκη Συνδέσμου", "add_url": "Προσθήκη Συνδέσμου",
@@ -114,24 +114,24 @@
"machine_learning_facial_recognition": "Αναγνώριση Προσώπου", "machine_learning_facial_recognition": "Αναγνώριση Προσώπου",
"machine_learning_facial_recognition_description": "Εντοπισμός, αναγνώριση και ομαδοποίηση προσώπων που υπάρχουν σε εικόνες", "machine_learning_facial_recognition_description": "Εντοπισμός, αναγνώριση και ομαδοποίηση προσώπων που υπάρχουν σε εικόνες",
"machine_learning_facial_recognition_model": "Μοντέλο αναγνώρισης προσώπου", "machine_learning_facial_recognition_model": "Μοντέλο αναγνώρισης προσώπου",
"machine_learning_facial_recognition_model_description": "Τα μοντέλα παρατίθενται με φθίνουσα σειρά μεγέθους. Τα μεγαλύτερα μοντέλα είναι πιο αργά και χρησιμοποιούν περισσότερη μνήμη, αλλά παράγουν καλύτερα αποτελέσματα. Σημειώστε ότι πρέπει να εκτελέσετε ξανά την εργασία Ανίχνευση προσώπου για όλες τις εικόνες κατά την αλλαγή ενός μοντέλου.", "machine_learning_facial_recognition_model_description": "Τα μοντέλα παρατίθενται με φθίνουσα σειρά μεγέθους. Τα μεγαλύτερα μοντέλα είναι πιο αργά και χρησιμοποιούν περισσότερη μνήμη, αλλά παράγουν καλύτερα αποτελέσματα. Σημειώστε ότι πρέπει να επανεκτελέσετε την εργασία \"Ανίχνευση Προσώπου\" για όλες τις εικόνες μετά την αλλαγή μοντέλου.",
"machine_learning_facial_recognition_setting": "Ενεργοποίηση αναγνώρισης προσώπου", "machine_learning_facial_recognition_setting": "Ενεργοποίηση αναγνώρισης προσώπου",
"machine_learning_facial_recognition_setting_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για αναγνώριση προσώπου και δεν θα συμπληρώνουν την ενότητα Άτομα στη σελίδα Περιήγησης.", "machine_learning_facial_recognition_setting_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για αναγνώριση προσώπου και δεν θα συμπληρώνουν την ενότητα Άτομα στη σελίδα Περιήγησης.",
"machine_learning_max_detection_distance": "Μέγιστη απόσταση ανίχνευσης", "machine_learning_max_detection_distance": "Μέγιστη απόσταση ανίχνευσης",
"machine_learning_max_detection_distance_description": "Η μέγιστη απόσταση μεταξύ δύο εικόνων για να θεωρηθούν διπλότυπες, που κυμαίνεται από 0,001-0,1. Οι υψηλότερες τιμές θα εντοπίσουν περισσότερες διπλότυπες, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.", "machine_learning_max_detection_distance_description": "Η μέγιστη απόσταση μεταξύ δύο εικόνων για να θεωρηθούν διπλότυπες, που κυμαίνεται από 0,001-0,1. Οι υψηλότερες τιμές θα εντοπίσουν περισσότερες διπλότυπες, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.",
"machine_learning_max_recognition_distance": "Μέγιστη απόσταση αναγνώρισης", "machine_learning_max_recognition_distance": "Μέγιστη απόσταση αναγνώρισης",
"machine_learning_max_recognition_distance_description": "Η μέγιστη απόσταση μεταξύ δύο προσώπων για να θεωρείται το ίδιο άτομο, που κυμαίνεται από 0-2. Η μείωση αυτή μπορεί να αποτρέψει την επισήμανση δύο ατόμων ως το ίδιο άτομο, ενώ η αύξηση της μπορεί να αποτρέψει την επισήμανση του ίδιου ατόμου ως δύο διαφορετικών ατόμων. Λάβετε υπόψη ότι είναι πιο εύκολο να συγχωνεύσετε δύο άτομα παρά να χωρίσετε ένα άτομο στα δύο, οπότε προτιμήστε ένα χαμηλότερο όριο, όταν αυτό είναι δυνατό.", "machine_learning_max_recognition_distance_description": "Η μέγιστη απόσταση μεταξύ δύο προσώπων για να θεωρείται το ίδιο άτομο, που κυμαίνεται από 0-2. Η μείωση αυτής της τιμής μπορεί να αποτρέψει την επισήμανση δύο ατόμων ως το ίδιο άτομο, ενώ η αύξηση της μπορεί να αποτρέψει την επισήμανση του ίδιου ατόμου ως δύο διαφορετικών ατόμων. Λάβετε υπόψη ότι είναι πιο εύκολο να συγχωνεύσετε δύο άτομα παρά να χωρίσετε ένα άτομο στα δύο, οπότε προτιμήστε ένα χαμηλότερο όριο, όταν αυτό είναι δυνατό.",
"machine_learning_min_detection_score": "Ελάχιστο σκορ ανίχνευσης", "machine_learning_min_detection_score": "Ελάχιστο σκορ ανίχνευσης",
"machine_learning_min_detection_score_description": "Ελάχιστο σκορ εμπιστοσύνης για ανίχνευση προσώπου από 0-1. Οι χαμηλότερες τιμές θα εντοπίσουν περισσότερα πρόσωπα, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.", "machine_learning_min_detection_score_description": "Ελάχιστο σκορ εμπιστοσύνης για ανίχνευση προσώπου από 0-1. Οι χαμηλότερες τιμές θα εντοπίσουν περισσότερα πρόσωπα, αλλά μπορεί να οδηγήσουν σε ψευδώς θετικά αποτελέσματα.",
"machine_learning_min_recognized_faces": "Ελάχιστα αναγνωρισμένα πρόσωπα", "machine_learning_min_recognized_faces": "Ελάχιστα αναγνωρισμένα πρόσωπα",
"machine_learning_min_recognized_faces_description": "Ο ελάχιστος αριθμός αναγνωρισμένων προσώπων για ένα άτομο που θα δημιουργηθεί. Η αύξηση αυτή καθιστά την Αναγνώριση Προσώπου πιο ακριβή με το κόστος να αυξηθεί η πιθανότητα να μην εκχωρηθεί ένα πρόσωπο σε ένα άτομο.", "machine_learning_min_recognized_faces_description": "Ο ελάχιστος αριθμός αναγνωρισμένων προσώπων για ένα άτομο που θα δημιουργηθεί. Η αύξηση αυτή καθιστά την Αναγνώριση Προσώπου πιο ακριβή με το κόστος να αυξηθεί η πιθανότητα να μην εκχωρηθεί ένα πρόσωπο σε ένα άτομο.",
"machine_learning_settings": "Ρυθμίσεις Μηχανικής Εκμάθησης", "machine_learning_settings": "Ρυθμίσεις Μηχανικής Μάθησης",
"machine_learning_settings_description": "Διαχειριστείτε τις λειτουργίες και τις ρυθμίσεις μηχανικής εκμάθησης", "machine_learning_settings_description": "Διαχειριστείτε τις λειτουργίες και τις ρυθμίσεις μηχανικής μάθησης",
"machine_learning_smart_search": "Έξυπνη Αναζήτηση", "machine_learning_smart_search": "Έξυπνη Αναζήτηση",
"machine_learning_smart_search_description": "Αναζητήστε εικόνες σημασιολογικά χρησιμοποιώντας ενσωματώσεις CLIP", "machine_learning_smart_search_description": "Αναζητήστε εικόνες σημασιολογικά χρησιμοποιώντας ενσωματώσεις CLIP",
"machine_learning_smart_search_enabled": "Ενεργοποίηση έξυπνης αναζήτησης", "machine_learning_smart_search_enabled": "Ενεργοποίηση έξυπνης αναζήτησης",
"machine_learning_smart_search_enabled_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για έξυπνη αναζήτηση.", "machine_learning_smart_search_enabled_description": "Αν απενεργοποιηθεί, οι εικόνες δεν θα κωδικοποιούνται για έξυπνη αναζήτηση.",
"machine_learning_url_description": "Η διεύθυνση URL του διακομιστή μηχανικής εκμάθησης. Αν παρέχονται περισσότερες από μία διευθύνσεις URL, τότε, κάθε διακομιστής θα προσπαθήσει να συνδεθεί διαδοχικά, από την πρώτη μέχρι την τελευταία, έως ότου απαντήσει επιτυχώς.", "machine_learning_url_description": "Η διεύθυνση URL του διακομιστή μηχανικής μάθησης. Αν παρέχονται περισσότερες από μία διευθύνσεις, τότε θα γίνει προσπάθεια σύνδεσης σε κάθε μια διαδοχικά από την πρώτη μέχρι την τελευταία, έως ότου κάποια να είναι επιτυχής.",
"manage_concurrency": "Διαχείριση ταυτόχρονη εκτέλεσης", "manage_concurrency": "Διαχείριση ταυτόχρονη εκτέλεσης",
"manage_log_settings": "Διαχείριση ρυθμίσεων αρχείου καταγραφής", "manage_log_settings": "Διαχείριση ρυθμίσεων αρχείου καταγραφής",
"map_dark_style": "Σκούρο Θέμα", "map_dark_style": "Σκούρο Θέμα",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Επαναφορά προεπιλεγμένων ρυθμίσεων", "reset_settings_to_default": "Επαναφορά προεπιλεγμένων ρυθμίσεων",
"reset_settings_to_recent_saved": "Επαναφορά ρυθμίσεων στις πρόσφατα αποθηκευμένες ρυθμίσεις", "reset_settings_to_recent_saved": "Επαναφορά ρυθμίσεων στις πρόσφατα αποθηκευμένες ρυθμίσεις",
"scanning_library": "Σάρωση βιβλιοθήκης", "scanning_library": "Σάρωση βιβλιοθήκης",
"search_jobs": "Αναζήτηση εργασιών...", "search_jobs": "Αναζήτηση εργασιών",
"send_welcome_email": "Αποστολή email καλωσορίσματος", "send_welcome_email": "Αποστολή email καλωσορίσματος",
"server_external_domain_settings": "Εξωτερική διεύθυνση τομέα", "server_external_domain_settings": "Εξωτερική διεύθυνση τομέα",
"server_external_domain_settings_description": "Διεύθυνση τομέα για δημόσιους κοινούς συνδέσμους, περιλαμβανομένου του http(s)://", "server_external_domain_settings_description": "Διεύθυνση τομέα για δημόσιους κοινούς συνδέσμους, περιλαμβανομένου του http(s)://",
@@ -232,7 +232,7 @@
"sidecar_job": "Μεταδεδομένα συνοδευτικού αρχείου", "sidecar_job": "Μεταδεδομένα συνοδευτικού αρχείου",
"sidecar_job_description": "Ανακάλυψη ή συγχρονισμός των μεταδεδομένων του συνοδευτικού αρχείου από το σύστημα αρχείων", "sidecar_job_description": "Ανακάλυψη ή συγχρονισμός των μεταδεδομένων του συνοδευτικού αρχείου από το σύστημα αρχείων",
"slideshow_duration_description": "Αριθμός δευτερολέπτων για την εμφάνιση κάθε εικόνας", "slideshow_duration_description": "Αριθμός δευτερολέπτων για την εμφάνιση κάθε εικόνας",
"smart_search_job_description": "Εκτέλεση της μηχανικής εκμάθησης, σε αρχεία, για την υποστήριξη της έξυπνης αναζήτησης", "smart_search_job_description": "Εκτέλεση της μηχανικής μάθησης, σε αρχεία, για την υποστήριξη της έξυπνης αναζήτησης",
"storage_template_date_time_description": "Η χρονική σήμανση της δημιουργίας του αρχείου, χρησιμοποιείται για τις πληροφορίες ημερομηνίας και ώρας", "storage_template_date_time_description": "Η χρονική σήμανση της δημιουργίας του αρχείου, χρησιμοποιείται για τις πληροφορίες ημερομηνίας και ώρας",
"storage_template_date_time_sample": "Χρόνος δείγματος {date}", "storage_template_date_time_sample": "Χρόνος δείγματος {date}",
"storage_template_enable_description": "Ενεργοποίηση του μηχανισμού των προτύπων αποθήκευσης", "storage_template_enable_description": "Ενεργοποίηση του μηχανισμού των προτύπων αποθήκευσης",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Είναι το ίδιο άτομο;", "are_these_the_same_person": "Είναι το ίδιο άτομο;",
"are_you_sure_to_do_this": "Είστε σίγουροι ότι θέλετε να το κάνετε αυτό;", "are_you_sure_to_do_this": "Είστε σίγουροι ότι θέλετε να το κάνετε αυτό;",
"asset_added_to_album": "Προστέθηκε στο άλμπουμ", "asset_added_to_album": "Προστέθηκε στο άλμπουμ",
"asset_adding_to_album": "Προστίθεται στο άλμπουμ...", "asset_adding_to_album": "Προστίθεται στο άλμπουμ",
"asset_description_updated": "Η περιγραφή του αντικειμένου έχει ενημερωθεί", "asset_description_updated": "Η περιγραφή του αντικειμένου έχει ενημερωθεί",
"asset_filename_is_offline": "Το αντικείμενο {filename} είναι εκτός σύνδεσης", "asset_filename_is_offline": "Το αντικείμενο {filename} είναι εκτός σύνδεσης",
"asset_has_unassigned_faces": "Το αντικείμενο έχει μη ανατεθειμένα πρόσωπα", "asset_has_unassigned_faces": "Το αντικείμενο έχει μη ανατεθειμένα πρόσωπα",
"asset_hashing": "Δημιουργία κατακερματισμού...", "asset_hashing": "Δημιουργία κατακερματισμού",
"asset_offline": "Αντικείμενο εκτός σύνδεσης", "asset_offline": "Αντικείμενο εκτός σύνδεσης",
"asset_offline_description": "Αυτό το εξωτερικό αντικείμενο δεν βρέθηκε πλέον στον δίσκο. Παρακαλώ επικοινωνήστε με τον διαχειριστή του Immich για βοήθεια.", "asset_offline_description": "Αυτό το εξωτερικό αντικείμενο δεν βρέθηκε πλέον στον δίσκο. Παρακαλώ επικοινωνήστε με τον διαχειριστή του Immich για βοήθεια.",
"asset_skipped": "Παραλείφθηκε", "asset_skipped": "Παραλείφθηκε",
"asset_skipped_in_trash": "Στον κάδο απορριμμάτων", "asset_skipped_in_trash": "Στον κάδο απορριμμάτων",
"asset_uploaded": "Ανεβάστηκε", "asset_uploaded": "Ανεβάστηκε",
"asset_uploading": "Ανεβάζεται...", "asset_uploading": "Ανεβάζεται",
"assets": "Αντικείμενα", "assets": "Αντικείμενα",
"assets_added_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}}", "assets_added_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}}",
"assets_added_to_album_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}} στο άλμπουμ", "assets_added_to_album_count": "Προστέθηκε {count, plural, one {# αρχείο} other {# αρχεία}} στο άλμπουμ",
@@ -766,8 +766,10 @@
"go_to_folder": "Μετάβαση στο φάκελο", "go_to_folder": "Μετάβαση στο φάκελο",
"go_to_search": "Πηγαίνετε στην αναζήτηση", "go_to_search": "Πηγαίνετε στην αναζήτηση",
"group_albums_by": "Ομαδοποίηση άλμπουμ κατά...", "group_albums_by": "Ομαδοποίηση άλμπουμ κατά...",
"group_country": "Ομαδοποίηση κατά χώρα",
"group_no": "Καμία ομοδοποίηση", "group_no": "Καμία ομοδοποίηση",
"group_owner": "Ομαδοποίηση κατά ιδιοκτήτη", "group_owner": "Ομαδοποίηση κατά ιδιοκτήτη",
"group_places_by": "Ομοδοποίηση τοποθεσιών κατά...",
"group_year": "Ομαδοποίηση κατά έτος", "group_year": "Ομαδοποίηση κατά έτος",
"has_quota": "Έχει ποσόστωση", "has_quota": "Έχει ποσόστωση",
"hi_user": "Γειά σου {name} {email}", "hi_user": "Γειά σου {name} {email}",
@@ -800,6 +802,7 @@
"include_shared_albums": "Συμπερίληψη διαμοιρασμένων άλμπουμ", "include_shared_albums": "Συμπερίληψη διαμοιρασμένων άλμπουμ",
"include_shared_partner_assets": "Συμπερίληψη των στοιχείων των συνεργατών που έχουν κοινοποιηθεί", "include_shared_partner_assets": "Συμπερίληψη των στοιχείων των συνεργατών που έχουν κοινοποιηθεί",
"individual_share": "Μεμονωμένος διαμοιρασμός", "individual_share": "Μεμονωμένος διαμοιρασμός",
"individual_shares": "Μεμονωμένες κοινοποιήσεις",
"info": "Πληροφορίες", "info": "Πληροφορίες",
"interval": { "interval": {
"day_at_onepm": "Κάθε μέρα στη 1μμ", "day_at_onepm": "Κάθε μέρα στη 1μμ",
@@ -822,6 +825,7 @@
"latest_version": "Τελευταία Έκδοση", "latest_version": "Τελευταία Έκδοση",
"latitude": "Γεωγραφικό πλάτος", "latitude": "Γεωγραφικό πλάτος",
"leave": "Εγκατάλειψη", "leave": "Εγκατάλειψη",
"lens_model": "Μοντέλο φακού",
"let_others_respond": "Επέτρεψε σε άλλους να απαντήσουν", "let_others_respond": "Επέτρεψε σε άλλους να απαντήσουν",
"level": "Επίπεδο", "level": "Επίπεδο",
"library": "Βιβλιοθήκη", "library": "Βιβλιοθήκη",
@@ -984,6 +988,7 @@
"pick_a_location": "Επιλέξτε μια τοποθεσία", "pick_a_location": "Επιλέξτε μια τοποθεσία",
"place": "Τοποθεσία", "place": "Τοποθεσία",
"places": "Τοποθεσίες", "places": "Τοποθεσίες",
"places_count": "{count, plural, one {{count} Τοποθεσία} other {{count} Τοποθεσίες}}",
"play": "Αναπαραγωγή", "play": "Αναπαραγωγή",
"play_memories": "Αναπαραγωγή αναμνήσεων", "play_memories": "Αναπαραγωγή αναμνήσεων",
"play_motion_photo": "Αναπαραγωγή Κινούμενης Φωτογραφίας", "play_motion_photo": "Αναπαραγωγή Κινούμενης Φωτογραφίας",
@@ -1107,12 +1112,15 @@
"search": "Αναζήτηση", "search": "Αναζήτηση",
"search_albums": "Αναζήτηση άλμπουμ", "search_albums": "Αναζήτηση άλμπουμ",
"search_by_context": "Αναζήτηση με βάση το πλαίσιο", "search_by_context": "Αναζήτηση με βάση το πλαίσιο",
"search_by_description": "Αναζήτηση με βάση την περιγραφή",
"search_by_description_example": "Ημερήσια πεζοπορία στο Πάπιγκο",
"search_by_filename": "Αναζήτηση βάσει ονόματος αρχείου ή επέκτασης αρχείου", "search_by_filename": "Αναζήτηση βάσει ονόματος αρχείου ή επέκτασης αρχείου",
"search_by_filename_example": "π.χ. IMG_1234.JPG ή PNG", "search_by_filename_example": "π.χ. IMG_1234.JPG ή PNG",
"search_camera_make": "Αναζήτηση κατασκευαστή κάμερας...", "search_camera_make": "Αναζήτηση κατασκευαστή κάμερας...",
"search_camera_model": "Αναζήτηση μοντέλου κάμερας...", "search_camera_model": "Αναζήτηση μοντέλου κάμερας...",
"search_city": "Αναζήτηση πόλης...", "search_city": "Αναζήτηση πόλης...",
"search_country": "Αναζήτηση χώρας...", "search_country": "Αναζήτηση χώρας...",
"search_for": "Αναζήτηση για",
"search_for_existing_person": "Αναζήτηση υπάρχοντος ατόμου", "search_for_existing_person": "Αναζήτηση υπάρχοντος ατόμου",
"search_no_people": "Κανένα άτομο", "search_no_people": "Κανένα άτομο",
"search_no_people_named": "Κανένα άτομο με όνομα \"{name}\"", "search_no_people_named": "Κανένα άτομο με όνομα \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Φωτογραφίες από {partner}", "shared_from_partner": "Φωτογραφίες από {partner}",
"shared_link_options": "Επιλογές κοινόχρηστου συνδέσμου", "shared_link_options": "Επιλογές κοινόχρηστου συνδέσμου",
"shared_links": "Κοινόχρηστοι σύνδεσμοι", "shared_links": "Κοινόχρηστοι σύνδεσμοι",
"shared_links_description": "Μοιραστείτε φωτογραφίες και βίντεο με σύνδεσμο",
"shared_photos_and_videos_count": "{assetCount, plural, other {# κοινόχρηστες φωτογραφίες & βίντεο.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# κοινόχρηστες φωτογραφίες & βίντεο.}}",
"shared_with_partner": "Σε κοινή χρήση με {partner}", "shared_with_partner": "Σε κοινή χρήση με {partner}",
"sharing": "Κοινοποίηση", "sharing": "Κοινοποίηση",
@@ -1187,6 +1196,7 @@
"show_person_options": "Εμφάνιση επιλογών ατόμου", "show_person_options": "Εμφάνιση επιλογών ατόμου",
"show_progress_bar": "Εμφάνιση γραμμής προόδου", "show_progress_bar": "Εμφάνιση γραμμής προόδου",
"show_search_options": "Εμφάνιση επιλογών αναζήτησης", "show_search_options": "Εμφάνιση επιλογών αναζήτησης",
"show_shared_links": "Εμφάνιση κοινών συνδέσμων",
"show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης", "show_slideshow_transition": "Εμφάνιση μετάβασης παρουσίασης",
"show_supporter_badge": "Σήμα υποστηρικτή", "show_supporter_badge": "Σήμα υποστηρικτή",
"show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή", "show_supporter_badge_description": "Εμφάνιση σήματος υποστηρικτή",
@@ -1274,6 +1284,7 @@
"unfavorite": "Αποεπιλογή από τα αγαπημένα", "unfavorite": "Αποεπιλογή από τα αγαπημένα",
"unhide_person": "Αναίρεση απόκρυψης ατόμου", "unhide_person": "Αναίρεση απόκρυψης ατόμου",
"unknown": "Άγνωστο", "unknown": "Άγνωστο",
"unknown_country": "Άγνωστη Χώρα",
"unknown_year": "Άγνωστο Έτος", "unknown_year": "Άγνωστο Έτος",
"unlimited": "Απεριόριστο", "unlimited": "Απεριόριστο",
"unlink_motion_video": "Αποσυνδέστε το βίντεο κίνησης", "unlink_motion_video": "Αποσυνδέστε το βίντεο κίνησης",

View File

@@ -1,6 +1,4 @@
{ {
"search_by_description_example": "Hiking day in Sapa",
"search_by_description": "Search by description",
"about": "About", "about": "About",
"account": "Account", "account": "Account",
"account_settings": "Account Settings", "account_settings": "Account Settings",
@@ -22,7 +20,7 @@
"add_partner": "Add partner", "add_partner": "Add partner",
"add_path": "Add path", "add_path": "Add path",
"add_photos": "Add photos", "add_photos": "Add photos",
"add_to": "Add to...", "add_to": "Add to",
"add_to_album": "Add to album", "add_to_album": "Add to album",
"add_to_shared_album": "Add to shared album", "add_to_shared_album": "Add to shared album",
"add_url": "Add URL", "add_url": "Add URL",
@@ -98,7 +96,7 @@
"library_scanning_enable_description": "Enable periodic library scanning", "library_scanning_enable_description": "Enable periodic library scanning",
"library_settings": "External Library", "library_settings": "External Library",
"library_settings_description": "Manage external library settings", "library_settings_description": "Manage external library settings",
"library_tasks_description": "Perform library tasks", "library_tasks_description": "Scan external libraries for new and/or changed assets",
"library_watching_enable_description": "Watch external libraries for file changes", "library_watching_enable_description": "Watch external libraries for file changes",
"library_watching_settings": "Library watching (EXPERIMENTAL)", "library_watching_settings": "Library watching (EXPERIMENTAL)",
"library_watching_settings_description": "Automatically watch for changed files", "library_watching_settings_description": "Automatically watch for changed files",
@@ -133,7 +131,7 @@
"machine_learning_smart_search_description": "Search for images semantically using CLIP embeddings", "machine_learning_smart_search_description": "Search for images semantically using CLIP embeddings",
"machine_learning_smart_search_enabled": "Enable smart search", "machine_learning_smart_search_enabled": "Enable smart search",
"machine_learning_smart_search_enabled_description": "If disabled, images will not be encoded for smart search.", "machine_learning_smart_search_enabled_description": "If disabled, images will not be encoded for smart search.",
"machine_learning_url_description": "The URL of the machine learning server. If more than one URL is provided, each server will be attempted one-at-a-time until one responds successfully, in order from first to last.", "machine_learning_url_description": "The URL of the machine learning server. If more than one URL is provided, each server will be attempted one-at-a-time until one responds successfully, in order from first to last. Servers that don't respond will be temporarily ignored until they come back online.",
"manage_concurrency": "Manage Concurrency", "manage_concurrency": "Manage Concurrency",
"manage_log_settings": "Manage log settings", "manage_log_settings": "Manage log settings",
"map_dark_style": "Dark style", "map_dark_style": "Dark style",
@@ -221,7 +219,7 @@
"reset_settings_to_default": "Reset settings to default", "reset_settings_to_default": "Reset settings to default",
"reset_settings_to_recent_saved": "Reset settings to the recent saved settings", "reset_settings_to_recent_saved": "Reset settings to the recent saved settings",
"scanning_library": "Scanning library", "scanning_library": "Scanning library",
"search_jobs": "Search jobs...", "search_jobs": "Search jobs",
"send_welcome_email": "Send welcome email", "send_welcome_email": "Send welcome email",
"server_external_domain_settings": "External domain", "server_external_domain_settings": "External domain",
"server_external_domain_settings_description": "Domain for public shared links, including http(s)://", "server_external_domain_settings_description": "Domain for public shared links, including http(s)://",
@@ -338,6 +336,7 @@
"untracked_files": "Untracked Files", "untracked_files": "Untracked Files",
"untracked_files_description": "These files are not tracked by the application. They can be the results of failed moves, interrupted uploads, or left behind due to a bug", "untracked_files_description": "These files are not tracked by the application. They can be the results of failed moves, interrupted uploads, or left behind due to a bug",
"user_cleanup_job": "User cleanup", "user_cleanup_job": "User cleanup",
"cleanup": "Cleanup",
"user_delete_delay": "<b>{user}</b>'s account and assets will be scheduled for permanent deletion in {delay, plural, one {# day} other {# days}}.", "user_delete_delay": "<b>{user}</b>'s account and assets will be scheduled for permanent deletion in {delay, plural, one {# day} other {# days}}.",
"user_delete_delay_settings": "Delete delay", "user_delete_delay_settings": "Delete delay",
"user_delete_delay_settings_description": "Number of days after removal to permanently delete a user's account and assets. The user deletion job runs at midnight to check for users that are ready for deletion. Changes to this setting will be evaluated at the next execution.", "user_delete_delay_settings_description": "Number of days after removal to permanently delete a user's account and assets. The user deletion job runs at midnight to check for users that are ready for deletion. Changes to this setting will be evaluated at the next execution.",
@@ -354,6 +353,8 @@
"version_check_enabled_description": "Enable version check", "version_check_enabled_description": "Enable version check",
"version_check_implications": "The version check feature relies on periodic communication with github.com", "version_check_implications": "The version check feature relies on periodic communication with github.com",
"version_check_settings": "Version Check", "version_check_settings": "Version Check",
"memory_cleanup_job": "Memory cleanup",
"memory_generate_job": "Memory generation",
"version_check_settings_description": "Enable/disable the new version notification", "version_check_settings_description": "Enable/disable the new version notification",
"video_conversion_job": "Transcode videos", "video_conversion_job": "Transcode videos",
"video_conversion_job_description": "Transcode videos for wider compatibility with browsers and devices" "video_conversion_job_description": "Transcode videos for wider compatibility with browsers and devices"
@@ -393,6 +394,7 @@
"allow_edits": "Allow edits", "allow_edits": "Allow edits",
"allow_public_user_to_download": "Allow public user to download", "allow_public_user_to_download": "Allow public user to download",
"allow_public_user_to_upload": "Allow public user to upload", "allow_public_user_to_upload": "Allow public user to upload",
"alt_text_qr_code": "QR code image",
"anti_clockwise": "Anti-clockwise", "anti_clockwise": "Anti-clockwise",
"api_key": "API Key", "api_key": "API Key",
"api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.", "api_key_description": "This value will only be shown once. Please be sure to copy it before closing the window.",
@@ -408,17 +410,17 @@
"are_these_the_same_person": "Are these the same person?", "are_these_the_same_person": "Are these the same person?",
"are_you_sure_to_do_this": "Are you sure you want to do this?", "are_you_sure_to_do_this": "Are you sure you want to do this?",
"asset_added_to_album": "Added to album", "asset_added_to_album": "Added to album",
"asset_adding_to_album": "Adding to album...", "asset_adding_to_album": "Adding to album",
"asset_description_updated": "Asset description has been updated", "asset_description_updated": "Asset description has been updated",
"asset_filename_is_offline": "Asset {filename} is offline", "asset_filename_is_offline": "Asset {filename} is offline",
"asset_has_unassigned_faces": "Asset has unassigned faces", "asset_has_unassigned_faces": "Asset has unassigned faces",
"asset_hashing": "Hashing...", "asset_hashing": "Hashing",
"asset_offline": "Asset Offline", "asset_offline": "Asset Offline",
"asset_offline_description": "This external asset is no longer found on disk. Please contact your Immich administrator for help.", "asset_offline_description": "This external asset is no longer found on disk. Please contact your Immich administrator for help.",
"asset_skipped": "Skipped", "asset_skipped": "Skipped",
"asset_skipped_in_trash": "In trash", "asset_skipped_in_trash": "In trash",
"asset_uploaded": "Uploaded", "asset_uploaded": "Uploaded",
"asset_uploading": "Uploading...", "asset_uploading": "Uploading",
"assets": "Assets", "assets": "Assets",
"assets_added_count": "Added {count, plural, one {# asset} other {# assets}}", "assets_added_count": "Added {count, plural, one {# asset} other {# assets}}",
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album", "assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
@@ -436,7 +438,6 @@
"back_close_deselect": "Back, close, or deselect", "back_close_deselect": "Back, close, or deselect",
"backward": "Backward", "backward": "Backward",
"birthdate_saved": "Date of birth saved successfully", "birthdate_saved": "Date of birth saved successfully",
"show_shared_links": "Show shared links",
"birthdate_set_description": "Date of birth is used to calculate the age of this person at the time of a photo.", "birthdate_set_description": "Date of birth is used to calculate the age of this person at the time of a photo.",
"blurred_background": "Blurred background", "blurred_background": "Blurred background",
"bugs_and_feature_requests": "Bugs & Feature Requests", "bugs_and_feature_requests": "Bugs & Feature Requests",
@@ -484,6 +485,7 @@
"comments_are_disabled": "Comments are disabled", "comments_are_disabled": "Comments are disabled",
"confirm": "Confirm", "confirm": "Confirm",
"confirm_admin_password": "Confirm Admin Password", "confirm_admin_password": "Confirm Admin Password",
"confirm_delete_face": "Are you sure you want to delete {name} face from the asset?",
"confirm_delete_shared_link": "Are you sure you want to delete this shared link?", "confirm_delete_shared_link": "Are you sure you want to delete this shared link?",
"confirm_keep_this_delete_others": "All other assets in the stack will be deleted except for this asset. Are you sure you want to continue?", "confirm_keep_this_delete_others": "All other assets in the stack will be deleted except for this asset. Are you sure you want to continue?",
"confirm_password": "Confirm password", "confirm_password": "Confirm password",
@@ -526,16 +528,17 @@
"date_range": "Date range", "date_range": "Date range",
"day": "Day", "day": "Day",
"deduplicate_all": "Deduplicate All", "deduplicate_all": "Deduplicate All",
"deduplication_info": "Deduplication Info",
"deduplication_info_description": "To automatically preselect assets and remove duplicates in bulk, we look at:",
"deduplication_criteria_1": "Image size in bytes", "deduplication_criteria_1": "Image size in bytes",
"deduplication_criteria_2": "Count of EXIF data", "deduplication_criteria_2": "Count of EXIF data",
"deduplication_info": "Deduplication Info",
"deduplication_info_description": "To automatically preselect assets and remove duplicates in bulk, we look at:",
"default_locale": "Default Locale", "default_locale": "Default Locale",
"default_locale_description": "Format dates and numbers based on your browser locale", "default_locale_description": "Format dates and numbers based on your browser locale",
"delete": "Delete", "delete": "Delete",
"delete_album": "Delete album", "delete_album": "Delete album",
"delete_api_key_prompt": "Are you sure you want to delete this API key?", "delete_api_key_prompt": "Are you sure you want to delete this API key?",
"delete_duplicates_confirmation": "Are you sure you want to permanently delete these duplicates?", "delete_duplicates_confirmation": "Are you sure you want to permanently delete these duplicates?",
"delete_face": "Delete face",
"delete_key": "Delete key", "delete_key": "Delete key",
"delete_library": "Delete Library", "delete_library": "Delete Library",
"delete_link": "Delete link", "delete_link": "Delete link",
@@ -603,6 +606,7 @@
"enabled": "Enabled", "enabled": "Enabled",
"end_date": "End date", "end_date": "End date",
"error": "Error", "error": "Error",
"error_delete_face": "Error deleting face from asset",
"error_loading_image": "Error loading image", "error_loading_image": "Error loading image",
"error_title": "Error - Something went wrong", "error_title": "Error - Something went wrong",
"errors": { "errors": {
@@ -766,8 +770,8 @@
"get_help": "Get Help", "get_help": "Get Help",
"getting_started": "Getting Started", "getting_started": "Getting Started",
"go_back": "Go back", "go_back": "Go back",
"go_to_search": "Go to search",
"go_to_folder": "Go to folder", "go_to_folder": "Go to folder",
"go_to_search": "Go to search",
"group_albums_by": "Group albums by...", "group_albums_by": "Group albums by...",
"group_country": "Group by country", "group_country": "Group by country",
"group_no": "No grouping", "group_no": "No grouping",
@@ -887,6 +891,7 @@
"month": "Month", "month": "Month",
"more": "More", "more": "More",
"moved_to_trash": "Moved to trash", "moved_to_trash": "Moved to trash",
"mute_memories": "Mute Memories",
"my_albums": "My albums", "my_albums": "My albums",
"name": "Name", "name": "Name",
"name_or_nickname": "Name or nickname", "name_or_nickname": "Name or nickname",
@@ -1076,6 +1081,8 @@
"remove_url": "Remove URL", "remove_url": "Remove URL",
"remove_user": "Remove user", "remove_user": "Remove user",
"removed_api_key": "Removed API Key: {name}", "removed_api_key": "Removed API Key: {name}",
"removed_memory": "Removed memory",
"removed_photo_from_memory": "Removed photo from memory",
"removed_from_archive": "Removed from archive", "removed_from_archive": "Removed from archive",
"removed_from_favorites": "Removed from favorites", "removed_from_favorites": "Removed from favorites",
"removed_from_favorites_count": "{count, plural, other {Removed #}} from favorites", "removed_from_favorites_count": "{count, plural, other {Removed #}} from favorites",
@@ -1110,11 +1117,14 @@
"say_something": "Say something", "say_something": "Say something",
"scan_all_libraries": "Scan All Libraries", "scan_all_libraries": "Scan All Libraries",
"scan_library": "Scan", "scan_library": "Scan",
"rescan": "Rescan",
"scan_settings": "Scan Settings", "scan_settings": "Scan Settings",
"scanning_for_album": "Scanning for album...", "scanning_for_album": "Scanning for album...",
"search": "Search", "search": "Search",
"search_albums": "Search albums", "search_albums": "Search albums",
"search_by_context": "Search by context", "search_by_context": "Search by context",
"search_by_description": "Search by description",
"search_by_description_example": "Hiking day in Sapa",
"search_by_filename": "Search by file name or extension", "search_by_filename": "Search by file name or extension",
"search_by_filename_example": "i.e. IMG_1234.JPG or PNG", "search_by_filename_example": "i.e. IMG_1234.JPG or PNG",
"search_camera_make": "Search camera make...", "search_camera_make": "Search camera make...",
@@ -1134,6 +1144,7 @@
"search_timezone": "Search timezone...", "search_timezone": "Search timezone...",
"search_type": "Search type", "search_type": "Search type",
"search_your_photos": "Search your photos", "search_your_photos": "Search your photos",
"search_rating": "Search by rating...",
"searching_locales": "Searching locales...", "searching_locales": "Searching locales...",
"second": "Second", "second": "Second",
"see_all_people": "See all people", "see_all_people": "See all people",
@@ -1159,8 +1170,8 @@
"server_version": "Server Version", "server_version": "Server Version",
"set": "Set", "set": "Set",
"set_as_album_cover": "Set as album cover", "set_as_album_cover": "Set as album cover",
"set_as_profile_picture": "Set as profile picture",
"set_as_featured_photo": "Set as featured photo", "set_as_featured_photo": "Set as featured photo",
"set_as_profile_picture": "Set as profile picture",
"set_date_of_birth": "Set date of birth", "set_date_of_birth": "Set date of birth",
"set_profile_picture": "Set profile picture", "set_profile_picture": "Set profile picture",
"set_slideshow_to_fullscreen": "Set Slideshow to fullscreen", "set_slideshow_to_fullscreen": "Set Slideshow to fullscreen",
@@ -1197,6 +1208,7 @@
"show_person_options": "Show person options", "show_person_options": "Show person options",
"show_progress_bar": "Show Progress Bar", "show_progress_bar": "Show Progress Bar",
"show_search_options": "Show search options", "show_search_options": "Show search options",
"show_shared_links": "Show shared links",
"show_slideshow_transition": "Show slideshow transition", "show_slideshow_transition": "Show slideshow transition",
"show_supporter_badge": "Supporter badge", "show_supporter_badge": "Supporter badge",
"show_supporter_badge_description": "Show a supporter badge", "show_supporter_badge_description": "Show a supporter badge",
@@ -1250,6 +1262,7 @@
"tag_created": "Created tag: {tag}", "tag_created": "Created tag: {tag}",
"tag_feature_description": "Browsing photos and videos grouped by logical tag topics", "tag_feature_description": "Browsing photos and videos grouped by logical tag topics",
"tag_not_found_question": "Cannot find a tag? <link>Create a new tag.</link>", "tag_not_found_question": "Cannot find a tag? <link>Create a new tag.</link>",
"tag_people": "Tag People",
"tag_updated": "Updated tag: {tag}", "tag_updated": "Updated tag: {tag}",
"tagged_assets": "Tagged {count, plural, one {# asset} other {# assets}}", "tagged_assets": "Tagged {count, plural, one {# asset} other {# assets}}",
"tags": "Tags", "tags": "Tags",
@@ -1293,6 +1306,7 @@
"unnamed_album": "Unnamed Album", "unnamed_album": "Unnamed Album",
"unnamed_album_delete_confirmation": "Are you sure you want to delete this album?", "unnamed_album_delete_confirmation": "Are you sure you want to delete this album?",
"unnamed_share": "Unnamed Share", "unnamed_share": "Unnamed Share",
"unmute_memories": "Unmute Memories",
"unsaved_change": "Unsaved change", "unsaved_change": "Unsaved change",
"unselect_all": "Unselect all", "unselect_all": "Unselect all",
"unselect_all_duplicates": "Unselect all duplicates", "unselect_all_duplicates": "Unselect all duplicates",
@@ -1343,6 +1357,7 @@
"view_all": "View All", "view_all": "View All",
"view_all_users": "View all users", "view_all_users": "View all users",
"view_in_timeline": "View in timeline", "view_in_timeline": "View in timeline",
"view_link": "View link",
"view_links": "View links", "view_links": "View links",
"view_name": "View", "view_name": "View",
"view_next_asset": "View next asset", "view_next_asset": "View next asset",

View File

@@ -20,7 +20,7 @@
"add_partner": "Agregar compañero", "add_partner": "Agregar compañero",
"add_path": "Agregar carpeta", "add_path": "Agregar carpeta",
"add_photos": "Agregar fotos", "add_photos": "Agregar fotos",
"add_to": "Agregar a...", "add_to": "Agregar a",
"add_to_album": "Incluir en álbum", "add_to_album": "Incluir en álbum",
"add_to_shared_album": "Incluir en álbum compartido", "add_to_shared_album": "Incluir en álbum compartido",
"add_url": "Añadir URL", "add_url": "Añadir URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Restablecer la configuración predeterminada", "reset_settings_to_default": "Restablecer la configuración predeterminada",
"reset_settings_to_recent_saved": "Restablecer la configuración a la configuración guardada recientemente", "reset_settings_to_recent_saved": "Restablecer la configuración a la configuración guardada recientemente",
"scanning_library": "Escaneando la biblioteca", "scanning_library": "Escaneando la biblioteca",
"search_jobs": "Buscar trabajo...", "search_jobs": "Buscar trabajos…",
"send_welcome_email": "Enviar correo de bienvenida", "send_welcome_email": "Enviar correo de bienvenida",
"server_external_domain_settings": "Dominio externo", "server_external_domain_settings": "Dominio externo",
"server_external_domain_settings_description": "Dominio para enlaces públicos compartidos, incluidos http(s)://", "server_external_domain_settings_description": "Dominio para enlaces públicos compartidos, incluidos http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "¿Son la misma persona?", "are_these_the_same_person": "¿Son la misma persona?",
"are_you_sure_to_do_this": "¿Estas seguro de que quieres hacer esto?", "are_you_sure_to_do_this": "¿Estas seguro de que quieres hacer esto?",
"asset_added_to_album": "Añadido al álbum", "asset_added_to_album": "Añadido al álbum",
"asset_adding_to_album": "Añadiendo al álbum...", "asset_adding_to_album": "Añadiendo al álbum",
"asset_description_updated": "La descripción del elemento ha sido actualizada", "asset_description_updated": "La descripción del elemento ha sido actualizada",
"asset_filename_is_offline": "El archivo {filename} está offline", "asset_filename_is_offline": "El archivo {filename} está offline",
"asset_has_unassigned_faces": "El archivo no tiene rostros asignados", "asset_has_unassigned_faces": "El archivo no tiene rostros asignados",
"asset_hashing": "Hashing...", "asset_hashing": "Hashing",
"asset_offline": "Archivos sin conexión", "asset_offline": "Archivos sin conexión",
"asset_offline_description": "Este activo externo ya no se encuentra en el disco. Por favor, póngase en contacto con su administrador de Immich para obtener ayuda.", "asset_offline_description": "Este activo externo ya no se encuentra en el disco. Por favor, póngase en contacto con su administrador de Immich para obtener ayuda.",
"asset_skipped": "Omitido", "asset_skipped": "Omitido",
"asset_skipped_in_trash": "En la papelera", "asset_skipped_in_trash": "En la papelera",
"asset_uploaded": "Subido", "asset_uploaded": "Subido",
"asset_uploading": "Subiendo...", "asset_uploading": "Subiendo",
"assets": "elementos", "assets": "elementos",
"assets_added_count": "Añadido {count, plural, one {# asset} other {# assets}}", "assets_added_count": "Añadido {count, plural, one {# asset} other {# assets}}",
"assets_added_to_album_count": "Añadido {count, plural, one {# asset} other {# assets}} al álbum", "assets_added_to_album_count": "Añadido {count, plural, one {# asset} other {# assets}} al álbum",
@@ -438,7 +438,7 @@
"blurred_background": "Fondo borroso", "blurred_background": "Fondo borroso",
"bugs_and_feature_requests": "Errores y solicitudes de funciones", "bugs_and_feature_requests": "Errores y solicitudes de funciones",
"build": "Compilación", "build": "Compilación",
"build_image": "Imagen", "build_image": "Construir imagen",
"bulk_delete_duplicates_confirmation": "¿Estás seguro de que deseas eliminar de forma masiva {count, plural, one {# elemento duplicado} other {# elementos duplicados}}? Esto mantendrá el activo más grande de cada grupo y eliminará permanentemente todos los demás duplicados. ¡Esta acción no se puede deshacer!", "bulk_delete_duplicates_confirmation": "¿Estás seguro de que deseas eliminar de forma masiva {count, plural, one {# elemento duplicado} other {# elementos duplicados}}? Esto mantendrá el activo más grande de cada grupo y eliminará permanentemente todos los demás duplicados. ¡Esta acción no se puede deshacer!",
"bulk_keep_duplicates_confirmation": "¿Estas seguro de que desea mantener {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto resolverá todos los grupos duplicados sin borrar nada.", "bulk_keep_duplicates_confirmation": "¿Estas seguro de que desea mantener {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto resolverá todos los grupos duplicados sin borrar nada.",
"bulk_trash_duplicates_confirmation": "¿Estas seguro de que desea eliminar masivamente {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto mantendrá el archivo más grande de cada grupo y eliminará todos los demás duplicados.", "bulk_trash_duplicates_confirmation": "¿Estas seguro de que desea eliminar masivamente {count, plural, one {# duplicate asset} other {# duplicate assets}} archivos duplicados? Esto mantendrá el archivo más grande de cada grupo y eliminará todos los demás duplicados.",
@@ -766,8 +766,10 @@
"go_to_folder": "Ir al directorio", "go_to_folder": "Ir al directorio",
"go_to_search": "Ir a búsqueda", "go_to_search": "Ir a búsqueda",
"group_albums_by": "Agrupar albums por...", "group_albums_by": "Agrupar albums por...",
"group_country": "Agrupar por país",
"group_no": "Sin agrupación", "group_no": "Sin agrupación",
"group_owner": "Agrupar por propietario", "group_owner": "Agrupar por propietario",
"group_places_by": "Agrupar lugares por...",
"group_year": "Agrupar por año", "group_year": "Agrupar por año",
"has_quota": "Su cuota", "has_quota": "Su cuota",
"hi_user": "Hola {name} ({email})", "hi_user": "Hola {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Incluir álbumes compartidos", "include_shared_albums": "Incluir álbumes compartidos",
"include_shared_partner_assets": "Incluir archivos compartidos de invitados", "include_shared_partner_assets": "Incluir archivos compartidos de invitados",
"individual_share": "Compartir individualmente", "individual_share": "Compartir individualmente",
"individual_shares": "Acciones individuales",
"info": "Información", "info": "Información",
"interval": { "interval": {
"day_at_onepm": "Todos los días a las 1pm", "day_at_onepm": "Todos los días a las 1pm",
@@ -822,6 +825,7 @@
"latest_version": "Última versión", "latest_version": "Última versión",
"latitude": "Latitud", "latitude": "Latitud",
"leave": "Abandonar", "leave": "Abandonar",
"lens_model": "Modelo de objetivo",
"let_others_respond": "Permitir que otros respondan", "let_others_respond": "Permitir que otros respondan",
"level": "Nivel", "level": "Nivel",
"library": "Biblioteca", "library": "Biblioteca",
@@ -984,6 +988,7 @@
"pick_a_location": "Elige una ubicación", "pick_a_location": "Elige una ubicación",
"place": "Lugar", "place": "Lugar",
"places": "Lugares", "places": "Lugares",
"places_count": "{count, plural, one {{count, number} Lugar} other {{count, number} Lugares}}",
"play": "Reproducir", "play": "Reproducir",
"play_memories": "Reproducir recuerdos", "play_memories": "Reproducir recuerdos",
"play_motion_photo": "Reproducir foto en movimiento", "play_motion_photo": "Reproducir foto en movimiento",
@@ -1107,12 +1112,15 @@
"search": "Buscar", "search": "Buscar",
"search_albums": "Buscar álbums", "search_albums": "Buscar álbums",
"search_by_context": "Buscar por contexto", "search_by_context": "Buscar por contexto",
"search_by_description": "Buscar por descripción",
"search_by_description_example": "Día de senderismo en Sapa",
"search_by_filename": "Buscar por nombre de archivo o extensión", "search_by_filename": "Buscar por nombre de archivo o extensión",
"search_by_filename_example": "es decir IMG_1234.JPG o PNG", "search_by_filename_example": "es decir IMG_1234.JPG o PNG",
"search_camera_make": "Buscar fabricante de cámara...", "search_camera_make": "Buscar fabricante de cámara...",
"search_camera_model": "Buscar modelo de cámara...", "search_camera_model": "Buscar modelo de cámara...",
"search_city": "Buscar ciudad...", "search_city": "Buscar ciudad...",
"search_country": "Buscar país...", "search_country": "Buscar país...",
"search_for": "Buscar",
"search_for_existing_person": "Buscar persona existente", "search_for_existing_person": "Buscar persona existente",
"search_no_people": "Ninguna persona", "search_no_people": "Ninguna persona",
"search_no_people_named": "Ninguna persona llamada \"{name}\"", "search_no_people_named": "Ninguna persona llamada \"{name}\"",
@@ -1139,7 +1147,7 @@
"select_library_owner": "Seleccionar propietario de la biblioteca", "select_library_owner": "Seleccionar propietario de la biblioteca",
"select_new_face": "Seleccionar nueva cara", "select_new_face": "Seleccionar nueva cara",
"select_photos": "Seleccionar Fotos", "select_photos": "Seleccionar Fotos",
"select_trash_all": "Descartar todo", "select_trash_all": "Seleccionar eliminar todo",
"selected": "Seleccionado", "selected": "Seleccionado",
"selected_count": "{count, plural, one {# seleccionado} other {# seleccionados}}", "selected_count": "{count, plural, one {# seleccionado} other {# seleccionados}}",
"send_message": "Enviar mensaje", "send_message": "Enviar mensaje",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotos de {partner}", "shared_from_partner": "Fotos de {partner}",
"shared_link_options": "Opciones de enlaces compartidos", "shared_link_options": "Opciones de enlaces compartidos",
"shared_links": "Enlaces compartidos", "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_photos_and_videos_count": "{assetCount, plural, other {# Fotos y vídeos compartidos.}}",
"shared_with_partner": "Compartido con {partner}", "shared_with_partner": "Compartido con {partner}",
"sharing": "Compartido", "sharing": "Compartido",
@@ -1187,6 +1196,7 @@
"show_person_options": "Mostrar opciones de la persona", "show_person_options": "Mostrar opciones de la persona",
"show_progress_bar": "Mostrar barra de progreso", "show_progress_bar": "Mostrar barra de progreso",
"show_search_options": "Mostrar opciones de búsqueda", "show_search_options": "Mostrar opciones de búsqueda",
"show_shared_links": "Mostrar enlaces compartidos",
"show_slideshow_transition": "Mostrar la transición de las diapositivas", "show_slideshow_transition": "Mostrar la transición de las diapositivas",
"show_supporter_badge": "Insignia de colaborador", "show_supporter_badge": "Insignia de colaborador",
"show_supporter_badge_description": "Mostrar una insignia de colaborador", "show_supporter_badge_description": "Mostrar una insignia de colaborador",
@@ -1274,6 +1284,7 @@
"unfavorite": "Retirar favorito", "unfavorite": "Retirar favorito",
"unhide_person": "Mostrar persona", "unhide_person": "Mostrar persona",
"unknown": "Desconocido", "unknown": "Desconocido",
"unknown_country": "País desconocido",
"unknown_year": "Año desconocido", "unknown_year": "Año desconocido",
"unlimited": "Ilimitado", "unlimited": "Ilimitado",
"unlink_motion_video": "Desvincular vídeo en movimiento", "unlink_motion_video": "Desvincular vídeo en movimiento",

View File

@@ -20,7 +20,7 @@
"add_partner": "Lisa partner", "add_partner": "Lisa partner",
"add_path": "Lisa tee", "add_path": "Lisa tee",
"add_photos": "Lisa fotosid", "add_photos": "Lisa fotosid",
"add_to": "Lisa kohta...", "add_to": "Lisa kohta",
"add_to_album": "Lisa albumisse", "add_to_album": "Lisa albumisse",
"add_to_shared_album": "Lisa jagatud albumisse", "add_to_shared_album": "Lisa jagatud albumisse",
"add_url": "Lisa URL", "add_url": "Lisa URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Lähtesta seaded", "reset_settings_to_default": "Lähtesta seaded",
"reset_settings_to_recent_saved": "Taasta hiljuti salvestatud seaded", "reset_settings_to_recent_saved": "Taasta hiljuti salvestatud seaded",
"scanning_library": "Kogu skaneerimine", "scanning_library": "Kogu skaneerimine",
"search_jobs": "Otsi töödet...", "search_jobs": "Otsi töödet",
"send_welcome_email": "Saada tervituskiri", "send_welcome_email": "Saada tervituskiri",
"server_external_domain_settings": "Väline domeen", "server_external_domain_settings": "Väline domeen",
"server_external_domain_settings_description": "Domeen avalikult jagatud linkide jaoks, k.a. http(s)://", "server_external_domain_settings_description": "Domeen avalikult jagatud linkide jaoks, k.a. http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Kas need on sama isik?", "are_these_the_same_person": "Kas need on sama isik?",
"are_you_sure_to_do_this": "Kas oled kindel, et soovid seda teha?", "are_you_sure_to_do_this": "Kas oled kindel, et soovid seda teha?",
"asset_added_to_album": "Lisatud albumisse", "asset_added_to_album": "Lisatud albumisse",
"asset_adding_to_album": "Albumisse lisamine...", "asset_adding_to_album": "Albumisse lisamine",
"asset_description_updated": "Üksuse kirjeldus on muudetud", "asset_description_updated": "Üksuse kirjeldus on muudetud",
"asset_filename_is_offline": "Üksus {filename} ei ole kättesaadav", "asset_filename_is_offline": "Üksus {filename} ei ole kättesaadav",
"asset_has_unassigned_faces": "Üksusel on seostamata nägusid", "asset_has_unassigned_faces": "Üksusel on seostamata nägusid",
"asset_hashing": "Räsimine...", "asset_hashing": "Räsimine",
"asset_offline": "Üksus pole kättesaadav", "asset_offline": "Üksus pole kättesaadav",
"asset_offline_description": "Seda välise kogu üksust ei leitud kettalt. Abi saamiseks palun võta ühendust oma Immich'i administraatoriga.", "asset_offline_description": "Seda välise kogu üksust ei leitud kettalt. Abi saamiseks palun võta ühendust oma Immich'i administraatoriga.",
"asset_skipped": "Vahele jäetud", "asset_skipped": "Vahele jäetud",
"asset_skipped_in_trash": "Prügikastis", "asset_skipped_in_trash": "Prügikastis",
"asset_uploaded": "Üleslaaditud", "asset_uploaded": "Üleslaaditud",
"asset_uploading": "Üleslaadimine...", "asset_uploading": "Üleslaadimine",
"assets": "Üksused", "assets": "Üksused",
"assets_added_count": "{count, plural, one {# üksus} other {# üksust}} lisatud", "assets_added_count": "{count, plural, one {# üksus} other {# üksust}} lisatud",
"assets_added_to_album_count": "{count, plural, one {# üksus} other {# üksust}} albumisse lisatud", "assets_added_to_album_count": "{count, plural, one {# üksus} other {# üksust}} albumisse lisatud",
@@ -763,8 +763,10 @@
"go_to_folder": "Mine kausta", "go_to_folder": "Mine kausta",
"go_to_search": "Otsingusse", "go_to_search": "Otsingusse",
"group_albums_by": "Grupeeri albumid...", "group_albums_by": "Grupeeri albumid...",
"group_country": "Grupeeri riigi kaupa",
"group_no": "Ära grupeeri", "group_no": "Ära grupeeri",
"group_owner": "Grupeeri omaniku kaupa", "group_owner": "Grupeeri omaniku kaupa",
"group_places_by": "Grupeeri kohad...",
"group_year": "Grupeeri aasta kaupa", "group_year": "Grupeeri aasta kaupa",
"has_quota": "On kvoot", "has_quota": "On kvoot",
"hi_user": "Tere {name} ({email})", "hi_user": "Tere {name} ({email})",
@@ -819,6 +821,7 @@
"latest_version": "Uusim versioon", "latest_version": "Uusim versioon",
"latitude": "Laiuskraad", "latitude": "Laiuskraad",
"leave": "Lahku", "leave": "Lahku",
"lens_model": "Läätse mudel",
"let_others_respond": "Luba teistel vastata", "let_others_respond": "Luba teistel vastata",
"level": "Tase", "level": "Tase",
"library": "Kogu", "library": "Kogu",
@@ -861,6 +864,7 @@
"memories": "Mälestused", "memories": "Mälestused",
"memories_setting_description": "Halda, mida sa oma mälestustes näed", "memories_setting_description": "Halda, mida sa oma mälestustes näed",
"memory": "Mälestus", "memory": "Mälestus",
"memory_lane_title": "Mälestus {title}",
"menu": "Menüü", "menu": "Menüü",
"merge": "Ühenda", "merge": "Ühenda",
"merge_people": "Ühenda isikud", "merge_people": "Ühenda isikud",
@@ -979,6 +983,7 @@
"pick_a_location": "Vali asukoht", "pick_a_location": "Vali asukoht",
"place": "Asukoht", "place": "Asukoht",
"places": "Kohad", "places": "Kohad",
"places_count": "{count, plural, one {{count, number} koht} other {{count, number} kohta}}",
"play": "Esita", "play": "Esita",
"play_memories": "Esita mälestused", "play_memories": "Esita mälestused",
"play_motion_photo": "Esita liikuv foto", "play_motion_photo": "Esita liikuv foto",
@@ -994,6 +999,7 @@
"profile_image_of_user": "Kasutaja {user} profiilipilt", "profile_image_of_user": "Kasutaja {user} profiilipilt",
"profile_picture_set": "Profiilipilt määratud.", "profile_picture_set": "Profiilipilt määratud.",
"public_album": "Avalik album", "public_album": "Avalik album",
"public_share": "Avalik jagamine",
"purchase_account_info": "Toetaja", "purchase_account_info": "Toetaja",
"purchase_activated_subtitle": "Aitäh, et toetad Immich'it ja avatud lähtekoodiga tarkvara", "purchase_activated_subtitle": "Aitäh, et toetad Immich'it ja avatud lähtekoodiga tarkvara",
"purchase_activated_time": "Aktiveeritud {date, date}", "purchase_activated_time": "Aktiveeritud {date, date}",
@@ -1032,6 +1038,7 @@
"rating_description": "Kuva infopaneelis EXIF hinnangut", "rating_description": "Kuva infopaneelis EXIF hinnangut",
"reaction_options": "Reaktsiooni valikud", "reaction_options": "Reaktsiooni valikud",
"read_changelog": "Vaata muudatuste ülevaadet", "read_changelog": "Vaata muudatuste ülevaadet",
"reassign": "Määra uuesti",
"reassigned_assets_to_existing_person": "{count, plural, one {# üksus} other {# üksust}} seostatud {name, select, null {olemasoleva isikuga} other {isikuga {name}}}", "reassigned_assets_to_existing_person": "{count, plural, one {# üksus} other {# üksust}} seostatud {name, select, null {olemasoleva isikuga} other {isikuga {name}}}",
"reassigned_assets_to_new_person": "{count, plural, one {# üksus} other {# üksust}} seostatud uue isikuga", "reassigned_assets_to_new_person": "{count, plural, one {# üksus} other {# üksust}} seostatud uue isikuga",
"reassing_hint": "Seosta valitud üksused olemasoleva isikuga", "reassing_hint": "Seosta valitud üksused olemasoleva isikuga",
@@ -1066,6 +1073,7 @@
"removed_from_favorites_count": "{count, plural, other {# eemaldatud}} lemmikutest", "removed_from_favorites_count": "{count, plural, other {# eemaldatud}} lemmikutest",
"removed_tagged_assets": "Silt eemaldatud {count, plural, one {# üksuselt} other {# üksuselt}}", "removed_tagged_assets": "Silt eemaldatud {count, plural, one {# üksuselt} other {# üksuselt}}",
"rename": "Nimeta ümber", "rename": "Nimeta ümber",
"repair": "Parandus",
"repair_no_results_message": "Mittejälgitavad ja puuduvad failid kuvatakse siin", "repair_no_results_message": "Mittejälgitavad ja puuduvad failid kuvatakse siin",
"replace_with_upload": "Asenda üleslaadimisega", "replace_with_upload": "Asenda üleslaadimisega",
"repository": "Koodihoidla", "repository": "Koodihoidla",
@@ -1099,12 +1107,15 @@
"search": "Otsi", "search": "Otsi",
"search_albums": "Otsi albumeid", "search_albums": "Otsi albumeid",
"search_by_context": "Otsi konteksti alusel", "search_by_context": "Otsi konteksti alusel",
"search_by_description": "Otsi kirjelduse alusel",
"search_by_description_example": "Matkapäev Sapas",
"search_by_filename": "Otsi failinime või -laiendi järgi", "search_by_filename": "Otsi failinime või -laiendi järgi",
"search_by_filename_example": "st. IMG_1234.JPG või PNG", "search_by_filename_example": "st. IMG_1234.JPG või PNG",
"search_camera_make": "Otsi kaamera marki...", "search_camera_make": "Otsi kaamera marki...",
"search_camera_model": "Otsi kaamera mudelit...", "search_camera_model": "Otsi kaamera mudelit...",
"search_city": "Otsi linna...", "search_city": "Otsi linna...",
"search_country": "Otsi riiki...", "search_country": "Otsi riiki...",
"search_for": "Otsi",
"search_for_existing_person": "Otsi olemasolevat isikut", "search_for_existing_person": "Otsi olemasolevat isikut",
"search_no_people": "Isikuid ei ole", "search_no_people": "Isikuid ei ole",
"search_no_people_named": "Ei ole isikuid nimega \"{name}\"", "search_no_people_named": "Ei ole isikuid nimega \"{name}\"",
@@ -1127,9 +1138,11 @@
"select_face": "Vali nägu", "select_face": "Vali nägu",
"select_featured_photo": "Vali esiletõstetud foto", "select_featured_photo": "Vali esiletõstetud foto",
"select_from_computer": "Vali arvutist", "select_from_computer": "Vali arvutist",
"select_keep_all": "Vali jäta kõik alles",
"select_library_owner": "Vali kogu omanik", "select_library_owner": "Vali kogu omanik",
"select_new_face": "Vali uus nägu", "select_new_face": "Vali uus nägu",
"select_photos": "Vali fotod", "select_photos": "Vali fotod",
"select_trash_all": "Vali kõik prügikasti",
"selected": "Valitud", "selected": "Valitud",
"selected_count": "{count, plural, other {# valitud}}", "selected_count": "{count, plural, other {# valitud}}",
"send_message": "Saada sõnum", "send_message": "Saada sõnum",
@@ -1155,6 +1168,7 @@
"shared_from_partner": "Fotod partnerilt {partner}", "shared_from_partner": "Fotod partnerilt {partner}",
"shared_link_options": "Jagatud lingi valikud", "shared_link_options": "Jagatud lingi valikud",
"shared_links": "Jagatud lingid", "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_photos_and_videos_count": "{assetCount, plural, other {# jagatud fotot ja videot.}}",
"shared_with_partner": "Jagatud partneriga {partner}", "shared_with_partner": "Jagatud partneriga {partner}",
"sharing": "Jagamine", "sharing": "Jagamine",
@@ -1177,6 +1191,7 @@
"show_person_options": "Näita isiku valikuid", "show_person_options": "Näita isiku valikuid",
"show_progress_bar": "Kuva edenemisriba", "show_progress_bar": "Kuva edenemisriba",
"show_search_options": "Kuva otsingu valikud", "show_search_options": "Kuva otsingu valikud",
"show_shared_links": "Näita jagatud linke",
"show_slideshow_transition": "Kuva slaidiesitluse üleminekud", "show_slideshow_transition": "Kuva slaidiesitluse üleminekud",
"show_supporter_badge": "Toetaja märk", "show_supporter_badge": "Toetaja märk",
"show_supporter_badge_description": "Kuva toetaja märki", "show_supporter_badge_description": "Kuva toetaja märki",
@@ -1217,6 +1232,7 @@
"storage": "Talletusruum", "storage": "Talletusruum",
"storage_label": "Talletussilt", "storage_label": "Talletussilt",
"storage_usage": "{used}/{available} kasutatud", "storage_usage": "{used}/{available} kasutatud",
"submit": "Saada",
"suggestions": "Soovitused", "suggestions": "Soovitused",
"sunrise_on_the_beach": "Päikesetõus rannal", "sunrise_on_the_beach": "Päikesetõus rannal",
"support": "Tugi", "support": "Tugi",
@@ -1245,6 +1261,7 @@
"to_change_password": "Muuda parool", "to_change_password": "Muuda parool",
"to_favorite": "Lemmik", "to_favorite": "Lemmik",
"to_login": "Logi sisse", "to_login": "Logi sisse",
"to_parent": "Tase üles",
"to_trash": "Prügikasti", "to_trash": "Prügikasti",
"toggle_settings": "Kuva/peida seaded", "toggle_settings": "Kuva/peida seaded",
"toggle_theme": "Lülita tume teema", "toggle_theme": "Lülita tume teema",
@@ -1262,6 +1279,7 @@
"unfavorite": "Eemalda lemmikutest", "unfavorite": "Eemalda lemmikutest",
"unhide_person": "Ära peida isikut", "unhide_person": "Ära peida isikut",
"unknown": "Teadmata", "unknown": "Teadmata",
"unknown_country": "Tundmatu riik",
"unknown_year": "Teadmata aasta", "unknown_year": "Teadmata aasta",
"unlimited": "Piiramatu", "unlimited": "Piiramatu",
"unlink_oauth": "Eemalda OAuth ühendus", "unlink_oauth": "Eemalda OAuth ühendus",
@@ -1269,6 +1287,8 @@
"unnamed_album": "Nimetu album", "unnamed_album": "Nimetu album",
"unnamed_album_delete_confirmation": "Kas oled kindel, et soovid selle albumi kustutada?", "unnamed_album_delete_confirmation": "Kas oled kindel, et soovid selle albumi kustutada?",
"unsaved_change": "Salvestamata muudatus", "unsaved_change": "Salvestamata muudatus",
"unselect_all": "Ära vali ühtegi",
"unselect_all_duplicates": "Ära vali duplikaate",
"unstack": "Eralda", "unstack": "Eralda",
"unstacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} eraldatud", "unstacked_assets_count": "{count, plural, one {# üksus} other {# üksust}} eraldatud",
"untracked_files": "Mittejälgitavad failid", "untracked_files": "Mittejälgitavad failid",

View File

@@ -19,7 +19,7 @@
"add_partner": "افزودن شریک", "add_partner": "افزودن شریک",
"add_path": "افزودن مسیر", "add_path": "افزودن مسیر",
"add_photos": "افزودن عکس ها", "add_photos": "افزودن عکس ها",
"add_to": "افزودن به ...", "add_to": "افزودن به ",
"add_to_album": "افزودن به آلبوم", "add_to_album": "افزودن به آلبوم",
"add_to_shared_album": "افزودن به آلبوم اشتراکی", "add_to_shared_album": "افزودن به آلبوم اشتراکی",
"added_to_archive": "به آرشیو اضافه شد", "added_to_archive": "به آرشیو اضافه شد",

View File

@@ -20,7 +20,7 @@
"add_partner": "Lisää kumppani", "add_partner": "Lisää kumppani",
"add_path": "Lisää polku", "add_path": "Lisää polku",
"add_photos": "Lisää kuvia", "add_photos": "Lisää kuvia",
"add_to": "Lisää...", "add_to": "Lisää",
"add_to_album": "Lisää albumiin", "add_to_album": "Lisää albumiin",
"add_to_shared_album": "Lisää jaettuun albumiin", "add_to_shared_album": "Lisää jaettuun albumiin",
"add_url": "Lisää URL", "add_url": "Lisää URL",
@@ -540,7 +540,7 @@
"delete_shared_link": "Poista jaettu linkki", "delete_shared_link": "Poista jaettu linkki",
"delete_tag": "Poista tunniste", "delete_tag": "Poista tunniste",
"delete_tag_confirmation_prompt": "Haluatko varmasti poistaa tunnisteen {tagName}?", "delete_tag_confirmation_prompt": "Haluatko varmasti poistaa tunnisteen {tagName}?",
"delete_user": "Poista käyttäjä pysyvästi", "delete_user": "Poista käyttäjä",
"deleted_shared_link": "Jaettu linkki poistettu", "deleted_shared_link": "Jaettu linkki poistettu",
"deletes_missing_assets": "Poistaa levyltä puuttuvat resurssit", "deletes_missing_assets": "Poistaa levyltä puuttuvat resurssit",
"description": "Kuvaus", "description": "Kuvaus",

View File

@@ -59,7 +59,7 @@
"external_library_management": "Gestion de la bibliothèque externe", "external_library_management": "Gestion de la bibliothèque externe",
"face_detection": "Détection des visages", "face_detection": "Détection des visages",
"face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Actualiser » (re)traite tous les médias. « Réinitialiser » retraite tous les médias en repartant de zéro. « Manquant » met en file d'attente les médias qui n'ont pas encore été pris en compte. Lorsque la détection est terminée, tous les visages détectés sont ensuite mis en file d'attente pour la reconnaissance faciale.", "face_detection_description": "Détection des visages dans les médias à l'aide de l'apprentissage automatique. Pour les vidéos, seule la miniature est prise en compte. « Actualiser » (re)traite tous les médias. « Réinitialiser » retraite tous les médias en repartant de zéro. « Manquant » met en file d'attente les médias qui n'ont pas encore été pris en compte. Lorsque la détection est terminée, tous les visages détectés sont ensuite mis en file d'attente pour la reconnaissance faciale.",
"facial_recognition_job_description": "Regrouper les visages détectés en personnes. Cette étape est exécutée une fois la détection des visages terminée. « Rafraichir » (re)regroupe tous les visages. « Manquant » met en file d'attente les visages auxquels aucune personne n'a été attribuée.", "facial_recognition_job_description": "Regrouper les visages détectés en personnes. Cette étape est exécutée une fois la détection des visages terminée. « Réinitialiser » (re)regroupe tous les visages. « Manquant » met en file d'attente les visages auxquels aucune personne n'a été attribuée.",
"failed_job_command": "La commande {command} a échoué pour la tâche: {job}", "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.", "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.",
"forcing_refresh_library_files": "Forcer le rafraîchissement de tous les fichiers de la bibliothèque", "forcing_refresh_library_files": "Forcer le rafraîchissement de tous les fichiers de la bibliothèque",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Réinitialiser les paramètres par défaut", "reset_settings_to_default": "Réinitialiser les paramètres par défaut",
"reset_settings_to_recent_saved": "Paramètres réinitialisés avec les derniers paramètres enregistrés", "reset_settings_to_recent_saved": "Paramètres réinitialisés avec les derniers paramètres enregistrés",
"scanning_library": "Analyse de la bibliothèque", "scanning_library": "Analyse de la bibliothèque",
"search_jobs": "Recherche des tâches ...", "search_jobs": "Recherche des tâches",
"send_welcome_email": "Envoyer un courriel de bienvenue", "send_welcome_email": "Envoyer un courriel de bienvenue",
"server_external_domain_settings": "Domaine externe", "server_external_domain_settings": "Domaine externe",
"server_external_domain_settings_description": "Nom de domaine pour les liens partagés publics, y compris http(s)://", "server_external_domain_settings_description": "Nom de domaine pour les liens partagés publics, y compris http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Est-ce la même personne?", "are_these_the_same_person": "Est-ce la même personne?",
"are_you_sure_to_do_this": "Êtes-vous sûr de vouloir faire ceci?", "are_you_sure_to_do_this": "Êtes-vous sûr de vouloir faire ceci?",
"asset_added_to_album": "Ajouté à l'album", "asset_added_to_album": "Ajouté à l'album",
"asset_adding_to_album": "Ajout à l'album...", "asset_adding_to_album": "Ajout à l'album",
"asset_description_updated": "La description du média a été mise à jour", "asset_description_updated": "La description du média a été mise à jour",
"asset_filename_is_offline": "Le média {filename} est hors ligne", "asset_filename_is_offline": "Le média {filename} est hors ligne",
"asset_has_unassigned_faces": "Le média a des visages non attribués", "asset_has_unassigned_faces": "Le média a des visages non attribués",
"asset_hashing": "Hachage...", "asset_hashing": "Hachage",
"asset_offline": "Média hors ligne", "asset_offline": "Média hors ligne",
"asset_offline_description": "Ce média externe n'est plus accessible sur le disque. Veuillez contacter votre administrateur Immich pour obtenir de l'aide.", "asset_offline_description": "Ce média externe n'est plus accessible sur le disque. Veuillez contacter votre administrateur Immich pour obtenir de l'aide.",
"asset_skipped": "Sauté", "asset_skipped": "Sauté",
"asset_skipped_in_trash": "À la corbeille", "asset_skipped_in_trash": "À la corbeille",
"asset_uploaded": "Envoyé", "asset_uploaded": "Envoyé",
"asset_uploading": "Envoi...", "asset_uploading": "Téléversement…",
"assets": "Médias", "assets": "Médias",
"assets_added_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}}", "assets_added_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}}",
"assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album", "assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album",
@@ -766,9 +766,11 @@
"go_to_folder": "Dossier", "go_to_folder": "Dossier",
"go_to_search": "Faire une recherche", "go_to_search": "Faire une recherche",
"group_albums_by": "Grouper les albums par...", "group_albums_by": "Grouper les albums par...",
"group_country": "Grouper par pays",
"group_no": "Pas de groupe", "group_no": "Pas de groupe",
"group_owner": "Groupe par propriétaire", "group_owner": "Grouper par propriétaire",
"group_year": "Groupe par année", "group_places_by": "Grouper les lieux par...",
"group_year": "Grouper par année",
"has_quota": "Quota", "has_quota": "Quota",
"hi_user": "Bonjour {name} ({email})", "hi_user": "Bonjour {name} ({email})",
"hide_all_people": "Cacher toutes les personnes", "hide_all_people": "Cacher toutes les personnes",
@@ -799,7 +801,8 @@
"include_archived": "Inclure les archives", "include_archived": "Inclure les archives",
"include_shared_albums": "Inclure les albums partagés", "include_shared_albums": "Inclure les albums partagés",
"include_shared_partner_assets": "Inclure les médias partagés du partenaire", "include_shared_partner_assets": "Inclure les médias partagés du partenaire",
"individual_share": "Partage individuel", "individual_share": "Partage d'un média unique",
"individual_shares": "Partages d'un média unique",
"info": "Information", "info": "Information",
"interval": { "interval": {
"day_at_onepm": "Tous les jours à 13h", "day_at_onepm": "Tous les jours à 13h",
@@ -822,6 +825,7 @@
"latest_version": "Dernière version", "latest_version": "Dernière version",
"latitude": "Latitude", "latitude": "Latitude",
"leave": "Quitter", "leave": "Quitter",
"lens_model": "Modèle d'objectif",
"let_others_respond": "Laisser les autres réagir", "let_others_respond": "Laisser les autres réagir",
"level": "Niveau", "level": "Niveau",
"library": "Bibliothèque", "library": "Bibliothèque",
@@ -984,6 +988,7 @@
"pick_a_location": "Choisissez un lieu", "pick_a_location": "Choisissez un lieu",
"place": "Lieu", "place": "Lieu",
"places": "Lieux", "places": "Lieux",
"places_count": "{count, plural, one {{count, number} Lieu} other {{count, number} Lieux}}",
"play": "Jouer", "play": "Jouer",
"play_memories": "Lancer les souvenirs", "play_memories": "Lancer les souvenirs",
"play_motion_photo": "Jouer la photo animée", "play_motion_photo": "Jouer la photo animée",
@@ -1107,12 +1112,15 @@
"search": "Recherche", "search": "Recherche",
"search_albums": "Rechercher des albums", "search_albums": "Rechercher des albums",
"search_by_context": "Rechercher par contexte", "search_by_context": "Rechercher par contexte",
"search_by_description": "Recherche par description",
"search_by_description_example": "Randonnée à Sapa",
"search_by_filename": "Rechercher par nom du fichier ou extension", "search_by_filename": "Rechercher par nom du fichier ou extension",
"search_by_filename_example": "Exemple: IMG_1234.JPG ou PNG", "search_by_filename_example": "Exemple: IMG_1234.JPG ou PNG",
"search_camera_make": "Rechercher par marque d'appareil photo...", "search_camera_make": "Rechercher par marque d'appareil photo...",
"search_camera_model": "Rechercher par modèle d'appareil photo...", "search_camera_model": "Rechercher par modèle d'appareil photo...",
"search_city": "Rechercher par ville...", "search_city": "Rechercher par ville...",
"search_country": "Rechercher par pays...", "search_country": "Rechercher par pays...",
"search_for": "Chercher",
"search_for_existing_person": "Rechercher une personne existante", "search_for_existing_person": "Rechercher une personne existante",
"search_no_people": "Aucune personne", "search_no_people": "Aucune personne",
"search_no_people_named": "Aucune personne nommée « {name} »", "search_no_people_named": "Aucune personne nommée « {name} »",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Photos de {partner}", "shared_from_partner": "Photos de {partner}",
"shared_link_options": "Options de lien partagé", "shared_link_options": "Options de lien partagé",
"shared_links": "Liens partagés", "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_photos_and_videos_count": "{assetCount, plural, other {# photos et vidéos partagées.}}",
"shared_with_partner": "Partagé avec {partner}", "shared_with_partner": "Partagé avec {partner}",
"sharing": "Partage", "sharing": "Partage",
@@ -1187,6 +1196,7 @@
"show_person_options": "Afficher les options de personnes", "show_person_options": "Afficher les options de personnes",
"show_progress_bar": "Afficher la barre de progression", "show_progress_bar": "Afficher la barre de progression",
"show_search_options": "Afficher les options de recherche", "show_search_options": "Afficher les options de recherche",
"show_shared_links": "Afficher les liens partagés",
"show_slideshow_transition": "Afficher la transition du diaporama", "show_slideshow_transition": "Afficher la transition du diaporama",
"show_supporter_badge": "Badge de contributeur", "show_supporter_badge": "Badge de contributeur",
"show_supporter_badge_description": "Afficher le badge de contributeur", "show_supporter_badge_description": "Afficher le badge de contributeur",
@@ -1274,6 +1284,7 @@
"unfavorite": "Enlever des favoris", "unfavorite": "Enlever des favoris",
"unhide_person": "Afficher la personne", "unhide_person": "Afficher la personne",
"unknown": "Inconnu", "unknown": "Inconnu",
"unknown_country": "Pays non connu",
"unknown_year": "Année inconnue", "unknown_year": "Année inconnue",
"unlimited": "Illimité", "unlimited": "Illimité",
"unlink_motion_video": "Détacher la photo animée", "unlink_motion_video": "Détacher la photo animée",

View File

@@ -8,39 +8,39 @@
"active": "פעיל", "active": "פעיל",
"activity": "פעילות", "activity": "פעילות",
"activity_changed": "הפעילות {enabled, select, true {מופעלת} other {מושבתת}}", "activity_changed": "הפעילות {enabled, select, true {מופעלת} other {מושבתת}}",
"add": "הוסף", "add": "הוספה",
"add_a_description": "הוסף תיאור", "add_a_description": "הוספת תיאור",
"add_a_location": "הוסף מיקום", "add_a_location": "הוספת מיקום",
"add_a_name": "הוסף שם", "add_a_name": "הוספת שם",
"add_a_title": "הוסף כותרת", "add_a_title": "הוספת כותרת",
"add_exclusion_pattern": "הוסף דפוס החרגה", "add_exclusion_pattern": "הוספת דפוס החרגה",
"add_import_path": "הוסף נתיב יבוא", "add_import_path": "הוספת נתיב יבוא",
"add_location": "הוסף מיקום", "add_location": "הוספת מיקום",
"add_more_users": "הוסף עוד משתמשים", "add_more_users": "הוספת עוד משתמשים",
"add_partner": "הוסף שותף", "add_partner": "הוספת שותף",
"add_path": "הוסף נתיב", "add_path": "הוספת נתיב",
"add_photos": "הוסף תמונות", "add_photos": "הוספת תמונות",
"add_to": "הוסף ל..", "add_to": "הוספה ל…",
"add_to_album": "הוסף לאלבום", "add_to_album": "הוספה לאלבום",
"add_to_shared_album": "הוסף לאלבום משותף", "add_to_shared_album": "הוספה לאלבום משותף",
"add_url": "הוספת קישור", "add_url": "הוספת קישור",
"added_to_archive": "נוסף לארכיון", "added_to_archive": "נוסף לארכיון",
"added_to_favorites": "נוסף למועדפים", "added_to_favorites": "נוסף למועדפים",
"added_to_favorites_count": "{count, number} נוספו למועדפים", "added_to_favorites_count": "{count, number} נוספו למועדפים",
"admin": { "admin": {
"add_exclusion_pattern_description": "הוסף דפוסי החרגה. נתמכת התאמת דפוסים באמצעות *, ** ו-?. כדי להתעלם מכל הקבצים בתיקיה כלשהי בשם \"Raw\", השתמש ב \"**/Raw/**\". כדי להתעלם מכל הקבצים המסתיימים ב \"tif.\", השתמש ב \"tif.*/**\". כדי להתעלם מנתיב מוחלט, השתמש ב \"**/נתיב/להתעלמות\".", "add_exclusion_pattern_description": "הוספת דפוסי החרגה. נתמכת התאמת דפוסים באמצעות *, ** ו-?. כדי להתעלם מכל הקבצים בתיקיה כלשהי בשם \"Raw\", יש להשתמש ב \"**/Raw/**\". כדי להתעלם מכל הקבצים המסתיימים ב \"tif.\", יש להשתמש ב \"tif.*/**\". כדי להתעלם מנתיב מוחלט, יש להשתמש ב \"**/נתיב/להתעלמות\".",
"asset_offline_description": "נכס ספרייה חיצונית זה לא נמצא יותר בדיסק והועבר לאשפה. אם הקובץ הועבר מתוך הספרייה, בדוק את ציר הזמן שלך עבור הנכס המקביל החדש. כדי לשחזר נכס זה, נא לוודא ש-Immich יכול לגשת אל נתיב הקובץ למטה וסרוק מחדש את הספרייה.", "asset_offline_description": "נכס ספרייה חיצונית זה לא נמצא יותר בדיסק והועבר לאשפה. אם הקובץ הועבר מתוך הספרייה, נא לבדוק את ציר הזמן שלך עבור הנכס המקביל החדש. כדי לשחזר נכס זה, נא לוודא ש-Immich יכול לגשת אל נתיב הקובץ למטה ולסרוק מחדש את הספרייה.",
"authentication_settings": "הגדרות התחברות", "authentication_settings": "הגדרות התחברות",
"authentication_settings_description": הל סיסמה, OAuth, והגדרות התחברות אחרות", "authentication_settings_description": יהול סיסמה, OAuth, והגדרות התחברות אחרות",
"authentication_settings_disable_all": "האם ברצונך להשבית את כל שיטות ההתחברות? כניסה למערכת תהיה מושבתת לחלוטין.", "authentication_settings_disable_all": "האם ברצונך להשבית את כל שיטות ההתחברות? כניסה למערכת תהיה מושבתת לחלוטין.",
"authentication_settings_reenable": "כדי לאפשר מחדש, השתמש ב<link>פקודת שרת</link>.", "authentication_settings_reenable": "כדי לאפשר מחדש, נא להשתמש ב<link>פקודת שרת</link>.",
"background_task_job": "משימות רקע", "background_task_job": "משימות רקע",
"backup_database": "גיבוי מסד נתונים", "backup_database": "גיבוי מסד נתונים",
"backup_database_enable_description": "אפשר גיבויי מסד נתונים", "backup_database_enable_description": "אפשר גיבויי מסד נתונים",
"backup_keep_last_amount": "כמות של גיבויים קודמים שיש לשמור", "backup_keep_last_amount": "כמות של גיבויים קודמים שיש לשמור",
"backup_settings": "הגדרות גיבוי", "backup_settings": "הגדרות גיבוי",
"backup_settings_description": הל הגדרות גיבוי מסד נתונים", "backup_settings_description": יהול הגדרות גיבוי מסד נתונים",
"check_all": "סמן הכל", "check_all": "סימון הכל",
"cleared_jobs": "נוקו משימות עבור: {job}", "cleared_jobs": "נוקו משימות עבור: {job}",
"config_set_by_file": "התצורה מוגדרת כעת על ידי קובץ תצורה", "config_set_by_file": "התצורה מוגדרת כעת על ידי קובץ תצורה",
"confirm_delete_library": "האם את/ה בטוח/ה שברצונך למחוק את הספרייה {library}?", "confirm_delete_library": "האם את/ה בטוח/ה שברצונך למחוק את הספרייה {library}?",
@@ -76,7 +76,7 @@
"image_resolution": "רזולוציה", "image_resolution": "רזולוציה",
"image_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר ויכולות להפחית את תגובתיות היישום.", "image_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר ויכולות להפחית את תגובתיות היישום.",
"image_settings": "הגדרות תמונה", "image_settings": "הגדרות תמונה",
"image_settings_description": הל את האיכות והרזולוציה של תמונות שנוצרו", "image_settings_description": יהול האיכות והרזולוציה של תמונות שנוצרו",
"image_thumbnail_description": "תמונה ממוזערת קטנה עם מטא-נתונים שהוסרו, משמשת בעת צפייה בקבוצות של תמונות כמו ציר הזמן הראשי", "image_thumbnail_description": "תמונה ממוזערת קטנה עם מטא-נתונים שהוסרו, משמשת בעת צפייה בקבוצות של תמונות כמו ציר הזמן הראשי",
"image_thumbnail_quality_description": "איכות תמונה ממוזערת בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום.", "image_thumbnail_quality_description": "איכות תמונה ממוזערת בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום.",
"image_thumbnail_title": "הגדרות תמונה ממוזערת", "image_thumbnail_title": "הגדרות תמונה ממוזערת",
@@ -95,7 +95,7 @@
"library_scanning_description": "הגדר סריקת ספרייה תקופתית", "library_scanning_description": "הגדר סריקת ספרייה תקופתית",
"library_scanning_enable_description": "אפשר סריקת ספרייה תקופתית", "library_scanning_enable_description": "אפשר סריקת ספרייה תקופתית",
"library_settings": "ספרייה חיצונית", "library_settings": "ספרייה חיצונית",
"library_settings_description": הל הגדרות ספרייה חיצונית", "library_settings_description": יהול הגדרות ספרייה חיצונית",
"library_tasks_description": "ביצוע משימות ספרייה", "library_tasks_description": "ביצוע משימות ספרייה",
"library_watching_enable_description": "עקוב אחר שינויי קבצים בספריות חיצוניות", "library_watching_enable_description": "עקוב אחר שינויי קבצים בספריות חיצוניות",
"library_watching_settings": "צפיית ספרייה (ניסיוני)", "library_watching_settings": "צפיית ספרייה (ניסיוני)",
@@ -126,33 +126,33 @@
"machine_learning_min_recognized_faces": "מינימום פנים מזוהים", "machine_learning_min_recognized_faces": "מינימום פנים מזוהים",
"machine_learning_min_recognized_faces_description": "המספר המינימלי של פנים מזוהים ליצירת אדם. הגדלת ערך זה הופכת את זיהוי הפנים למדויק יותר בעלות של הגברת הסיכוי שלא יוקצו פנים לאדם.", "machine_learning_min_recognized_faces_description": "המספר המינימלי של פנים מזוהים ליצירת אדם. הגדלת ערך זה הופכת את זיהוי הפנים למדויק יותר בעלות של הגברת הסיכוי שלא יוקצו פנים לאדם.",
"machine_learning_settings": "הגדרות למידת מכונה", "machine_learning_settings": "הגדרות למידת מכונה",
"machine_learning_settings_description": הל את התכונות וההגדרות של למידת המכונה", "machine_learning_settings_description": יהול התכונות וההגדרות של למידת המכונה",
"machine_learning_smart_search": "חיפוש חכם", "machine_learning_smart_search": "חיפוש חכם",
"machine_learning_smart_search_description": פש תמונות באופן סמנטי באמצעות הטמעות של CLIP", "machine_learning_smart_search_description": יפוש תמונות באופן סמנטי באמצעות הטמעות של CLIP",
"machine_learning_smart_search_enabled": "אפשר חיפוש חכם", "machine_learning_smart_search_enabled": "אפשר חיפוש חכם",
"machine_learning_smart_search_enabled_description": "אם מושבת, תמונות לא יקודדו לחיפוש חכם.", "machine_learning_smart_search_enabled_description": "אם מושבת, תמונות לא יקודדו לחיפוש חכם.",
"machine_learning_url_description": "כתובת האתר של שרת למידת המכונה. אם ניתנת יותר מכתובת אחת, כל שרת ינסה בתורו עד אשר יענה בחיוב, בסדר התחלתי.", "machine_learning_url_description": "כתובת האתר של שרת למידת המכונה. אם ניתנת יותר מכתובת אחת, כל שרת ינסה בתורו עד אשר יענה בחיוב, בסדר התחלתי.",
"manage_concurrency": הל בו-זמניות", "manage_concurrency": יהול בו-זמניות",
"manage_log_settings": הל הגדרות רישום ביומן", "manage_log_settings": יהול הגדרות רישום ביומן",
"map_dark_style": "עיצוב כהה", "map_dark_style": "עיצוב כהה",
"map_enable_description": "אפשר תכונות מפה", "map_enable_description": "אפשר תכונות מפה",
"map_gps_settings": "הגדרות מפה & GPS", "map_gps_settings": "הגדרות מפה & GPS",
"map_gps_settings_description": הל הגדרות מפה & GPS (קידוד גאוגרפי הפוך)", "map_gps_settings_description": יהול הגדרות מפה & GPS (קידוד גאוגרפי הפוך)",
"map_implications": "תכונת המפה מסתמכת על שירות אריח חיצוני (tiles.immich.cloud)", "map_implications": "תכונת המפה מסתמכת על שירות אריח חיצוני (tiles.immich.cloud)",
"map_light_style": "עיצוב בהיר", "map_light_style": "עיצוב בהיר",
"map_manage_reverse_geocoding_settings": הל הגדרות <link>קידוד גאוגרפי הפוך</link>", "map_manage_reverse_geocoding_settings": יהול הגדרות <link>קידוד גאוגרפי הפוך</link>",
"map_reverse_geocoding": "קידוד גיאוגרפי הפוך", "map_reverse_geocoding": "קידוד גיאוגרפי הפוך",
"map_reverse_geocoding_enable_description": "אפשר קידוד גיאוגרפי הפוך", "map_reverse_geocoding_enable_description": "אפשר קידוד גיאוגרפי הפוך",
"map_reverse_geocoding_settings": "הגדרות קידוד גיאוגרפי הפוך", "map_reverse_geocoding_settings": "הגדרות קידוד גיאוגרפי הפוך",
"map_settings": "מפה", "map_settings": "מפה",
"map_settings_description": הל הגדרות מפה", "map_settings_description": יהול הגדרות מפה",
"map_style_description": "כתובת אתר לערכת נושא של מפה style.json", "map_style_description": "כתובת אתר לערכת נושא של מפה style.json",
"metadata_extraction_job": "חלץ מטא-נתונים", "metadata_extraction_job": "חלץ מטא-נתונים",
"metadata_extraction_job_description": "חלץ מידע מטא-נתונים מכל נכס, כגון GPS, פנים ורזולוציה", "metadata_extraction_job_description": "חלץ מידע מטא-נתונים מכל נכס, כגון GPS, פנים ורזולוציה",
"metadata_faces_import_setting": "אפשר יבוא פנים", "metadata_faces_import_setting": "אפשר יבוא פנים",
"metadata_faces_import_setting_description": "יבא פנים מנתוני EXIF של תמונה ומקבצים נלווים", "metadata_faces_import_setting_description": "יבא פנים מנתוני EXIF של תמונה ומקבצים נלווים",
"metadata_settings": "הגדרות מטא-נתונים", "metadata_settings": "הגדרות מטא-נתונים",
"metadata_settings_description": הל הגדרות מטא-נתונים", "metadata_settings_description": יהול הגדרות מטא-נתונים",
"migration_job": "העברה", "migration_job": "העברה",
"migration_job_description": "העבר תמונות ממוזערות של נכסים ופנים למבנה התיקיות העדכני ביותר", "migration_job_description": "העבר תמונות ממוזערות של נכסים ופנים למבנה התיקיות העדכני ביותר",
"no_paths_added": "לא נוספו נתיבים", "no_paths_added": "לא נוספו נתיבים",
@@ -175,7 +175,7 @@
"notification_email_username_description": "שם משתמש לשימוש בעת אימות עם שרת הדוא\"ל", "notification_email_username_description": "שם משתמש לשימוש בעת אימות עם שרת הדוא\"ל",
"notification_enable_email_notifications": "אפשר התראות דוא\"ל", "notification_enable_email_notifications": "אפשר התראות דוא\"ל",
"notification_settings": "הגדרות התראות", "notification_settings": "הגדרות התראות",
"notification_settings_description": הל הגדרות התראות, כולל דוא\"ל", "notification_settings_description": יהול הגדרות התראות, כולל דוא\"ל",
"oauth_auto_launch": "הפעלה אוטומטית", "oauth_auto_launch": "הפעלה אוטומטית",
"oauth_auto_launch_description": "התחל את זרימת ההתחברות של OAuth באופן אוטומטי עם הניווט לדף ההתחברות", "oauth_auto_launch_description": "התחל את זרימת ההתחברות של OAuth באופן אוטומטי עם הניווט לדף ההתחברות",
"oauth_auto_register": "רישום אוטומטי", "oauth_auto_register": "רישום אוטומטי",
@@ -192,7 +192,7 @@
"oauth_profile_signing_algorithm_description": "אלגוריתם המשמש לחתימה על פרופיל המשתמש.", "oauth_profile_signing_algorithm_description": "אלגוריתם המשמש לחתימה על פרופיל המשתמש.",
"oauth_scope": "רמת הרשאה", "oauth_scope": "רמת הרשאה",
"oauth_settings": "OAuth", "oauth_settings": "OAuth",
"oauth_settings_description": הל הגדרות התחברות עם OAuth", "oauth_settings_description": יהול הגדרות התחברות עם OAuth",
"oauth_settings_more_details": "למידע נוסף אודות תכונה זו, בדוק את ה<link>תיעוד</link>.", "oauth_settings_more_details": "למידע נוסף אודות תכונה זו, בדוק את ה<link>תיעוד</link>.",
"oauth_signing_algorithm": "אלגוריתם חתימה", "oauth_signing_algorithm": "אלגוריתם חתימה",
"oauth_storage_label_claim": "דרישת תווית אחסון", "oauth_storage_label_claim": "דרישת תווית אחסון",
@@ -205,7 +205,7 @@
"offline_paths_description": "תוצאות אלו עשויות להיות עקב מחיקה ידנית של קבצים שאינם חלק מספרייה חיצונית.", "offline_paths_description": "תוצאות אלו עשויות להיות עקב מחיקה ידנית של קבצים שאינם חלק מספרייה חיצונית.",
"password_enable_description": "התחבר עם דוא\"ל וסיסמה", "password_enable_description": "התחבר עם דוא\"ל וסיסמה",
"password_settings": "סיסמת התחברות", "password_settings": "סיסמת התחברות",
"password_settings_description": הל הגדרות סיסמת התחברות", "password_settings_description": יהול הגדרות סיסמת התחברות",
"paths_validated_successfully": "כל הנתיבים אומתו בהצלחה", "paths_validated_successfully": "כל הנתיבים אומתו בהצלחה",
"person_cleanup_job": "ניקוי אדם", "person_cleanup_job": "ניקוי אדם",
"quota_size_gib": "גודל מכסה (GiB)", "quota_size_gib": "גודל מכסה (GiB)",
@@ -219,14 +219,14 @@
"reset_settings_to_default": "אפס הגדרות לברירת המחדל", "reset_settings_to_default": "אפס הגדרות לברירת המחדל",
"reset_settings_to_recent_saved": "אפס הגדרות להגדרות שנשמרו לאחרונה", "reset_settings_to_recent_saved": "אפס הגדרות להגדרות שנשמרו לאחרונה",
"scanning_library": "סורק ספרייה", "scanning_library": "סורק ספרייה",
"search_jobs": "חיפוש עבודות...", "search_jobs": "חיפוש עבודות",
"send_welcome_email": "שלח דוא\"ל ברוכים הבאים", "send_welcome_email": "שלח דוא\"ל ברוכים הבאים",
"server_external_domain_settings": "דומיין חיצוני", "server_external_domain_settings": "דומיין חיצוני",
"server_external_domain_settings_description": "דומיין עבור קישורים משותפים ציבוריים, כולל http(s)://", "server_external_domain_settings_description": "דומיין עבור קישורים משותפים ציבוריים, כולל http(s)://",
"server_public_users": "משתמשים ציבוריים", "server_public_users": "משתמשים ציבוריים",
"server_public_users_description": "כל המשתמשים (שם ודוא\"ל) מופיעים בעת הוספת משתמש לאלבומים משותפים. כאשר התכונה מושבתת, רשימת המשתמשים תהיה זמינה רק למשתמשים בעלי הרשאות מנהל.", "server_public_users_description": "כל המשתמשים (שם ודוא\"ל) מופיעים בעת הוספת משתמש לאלבומים משותפים. כאשר התכונה מושבתת, רשימת המשתמשים תהיה זמינה רק למשתמשים בעלי הרשאות ניהול.",
"server_settings": "הגדרות שרת", "server_settings": "הגדרות שרת",
"server_settings_description": הל הגדרות שרת", "server_settings_description": יהול הגדרות שרת",
"server_welcome_message": "הודעת פתיחה", "server_welcome_message": "הודעת פתיחה",
"server_welcome_message_description": "הודעה שמוצגת במסך ההתחברות.", "server_welcome_message_description": "הודעה שמוצגת במסך ההתחברות.",
"sidecar_job": "מטא-נתונים נלווים", "sidecar_job": "מטא-נתונים נלווים",
@@ -246,7 +246,7 @@
"storage_template_onboarding_description": "כאשר מופעלת, תכונה זו תארגן אוטומטית קבצים בהתבסס על תבנית שהמשתמש הגדיר. עקב בעיות יציבות התכונה כבויה כברירת מחדל. למידע נוסף, נא לראות את ה<link>תיעוד</link>.", "storage_template_onboarding_description": "כאשר מופעלת, תכונה זו תארגן אוטומטית קבצים בהתבסס על תבנית שהמשתמש הגדיר. עקב בעיות יציבות התכונה כבויה כברירת מחדל. למידע נוסף, נא לראות את ה<link>תיעוד</link>.",
"storage_template_path_length": "מגבלת אורך נתיב משוערת: <b>{length, number}</b>/{limit, number}", "storage_template_path_length": "מגבלת אורך נתיב משוערת: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "תבנית אחסון", "storage_template_settings": "תבנית אחסון",
"storage_template_settings_description": הל את מבנה התיקיות ואת שם הקובץ של נכס ההעלאה", "storage_template_settings_description": יהול מבנה התיקיות ואת שם הקובץ של נכס ההעלאה",
"storage_template_user_label": "<code>{label}</code> היא תווית האחסון של המשתמש", "storage_template_user_label": "<code>{label}</code> היא תווית האחסון של המשתמש",
"system_settings": "הגדרות מערכת", "system_settings": "הגדרות מערכת",
"tag_cleanup_job": "ניקוי תגים", "tag_cleanup_job": "ניקוי תגים",
@@ -255,15 +255,15 @@
"template_email_invite_album": "תבנית הזמנת אלבום", "template_email_invite_album": "תבנית הזמנת אלבום",
"template_email_preview": "תצוגה מקדימה", "template_email_preview": "תצוגה מקדימה",
"template_email_settings": "תבניות דוא\"ל", "template_email_settings": "תבניות דוא\"ל",
"template_email_settings_description": הל תבניות התראת דוא\"ל מותאמות אישית", "template_email_settings_description": יהול תבניות התראת דוא\"ל מותאמות אישית",
"template_email_update_album": "עדכון תבנית אלבום", "template_email_update_album": "עדכון תבנית אלבום",
"template_email_welcome": "תבנית דוא\"ל ברוכים הבאים", "template_email_welcome": "תבנית דוא\"ל ברוכים הבאים",
"template_settings": "תבניות התראה", "template_settings": "תבניות התראה",
"template_settings_description": הל תבניות מותאמות אישית עבור התראות.", "template_settings_description": יהול תבניות מותאמות אישית עבור התראות.",
"theme_custom_css_settings": "CSS בהתאמה אישית", "theme_custom_css_settings": "CSS בהתאמה אישית",
"theme_custom_css_settings_description": "גיליונות סגנון מדורגים (CSS) מאפשרים התאמה אישית של העיצוב של Immich.", "theme_custom_css_settings_description": "גיליונות סגנון מדורגים (CSS) מאפשרים התאמה אישית של העיצוב של Immich.",
"theme_settings": "הגדרות ערכת נושא", "theme_settings": "הגדרות ערכת נושא",
"theme_settings_description": הל התאמה אישית של ממשק האינטרנט של Immich", "theme_settings_description": יהול התאמה אישית של ממשק האינטרנט של Immich",
"these_files_matched_by_checksum": "קבצים אלה תואמים לפי סיכומי הביקורת שלהם", "these_files_matched_by_checksum": "קבצים אלה תואמים לפי סיכומי הביקורת שלהם",
"thumbnail_generation_job": "צור תמונות ממוזערות", "thumbnail_generation_job": "צור תמונות ממוזערות",
"thumbnail_generation_job_description": "יוצר תמונות ממוזערות גדולות, קטנות ומטושטשות עבור כל נכס, כמו גם תמונות ממוזערות עבור כל אדם", "thumbnail_generation_job_description": "יוצר תמונות ממוזערות גדולות, קטנות ומטושטשות עבור כל נכס, כמו גם תמונות ממוזערות עבור כל אדם",
@@ -313,10 +313,10 @@
"transcoding_reference_frames_description": "מספר הפריימים לייחוס בעת דחיסה של פריים נתון. ערכים גבוהים יותר משפרים את יעילות הדחיסה, אך מאטים את הקידוד. 0 מגדיר את הערך זה באופן אוטומטי.", "transcoding_reference_frames_description": "מספר הפריימים לייחוס בעת דחיסה של פריים נתון. ערכים גבוהים יותר משפרים את יעילות הדחיסה, אך מאטים את הקידוד. 0 מגדיר את הערך זה באופן אוטומטי.",
"transcoding_required_description": "רק סרטונים שאינם בפורמט מקובל", "transcoding_required_description": "רק סרטונים שאינם בפורמט מקובל",
"transcoding_settings": "הגדרות המרת קידוד סרטונים", "transcoding_settings": "הגדרות המרת קידוד סרטונים",
"transcoding_settings_description": הל אילו סרטונים להמיר וכיצד לעבד אותם", "transcoding_settings_description": יהול אילו סרטונים להמיר וכיצד לעבד אותם",
"transcoding_target_resolution": "רזולוציה יעד", "transcoding_target_resolution": "רזולוציה יעד",
"transcoding_target_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר, ויכולות להפחית את תגובתיות היישום.", "transcoding_target_resolution_description": "רזולוציות גבוהות יותר יכולות לשמר פרטים רבים יותר אך לוקחות זמן רב יותר לקידוד, יש להן גדלי קבצים גדולים יותר, ויכולות להפחית את תגובתיות היישום.",
"transcoding_temporal_aq": "Temporal AQ", "transcoding_temporal_aq": "AQ מבוסס זמן",
"transcoding_temporal_aq_description": "חל רק על NVENC. מגביר את האיכות של סצנות עם רמת פירוט גבוהה בהילוך איטי. ייתכן שלא יהיה תואם למכשירים ישנים יותר.", "transcoding_temporal_aq_description": "חל רק על NVENC. מגביר את האיכות של סצנות עם רמת פירוט גבוהה בהילוך איטי. ייתכן שלא יהיה תואם למכשירים ישנים יותר.",
"transcoding_threads": "תהליכונים", "transcoding_threads": "תהליכונים",
"transcoding_threads_description": "ערכים גבוהים יותר מובילים לקידוד מהיר יותר, אך משאירים פחות מקום לשרת לעבד משימות אחרות בעודו פעיל. ערך זה לא אמור להיות יותר ממספר ליבות המעבד. ממקסם את הניצול אם מוגדר ל-0.", "transcoding_threads_description": "ערכים גבוהים יותר מובילים לקידוד מהיר יותר, אך משאירים פחות מקום לשרת לעבד משימות אחרות בעודו פעיל. ערך זה לא אמור להיות יותר ממספר ליבות המעבד. ממקסם את הניצול אם מוגדר ל-0.",
@@ -332,7 +332,7 @@
"trash_number_of_days": "מספר הימים", "trash_number_of_days": "מספר הימים",
"trash_number_of_days_description": "מספר הימים לשמירה על הנכסים באשפה לפני הסרתם לצמיתות", "trash_number_of_days_description": "מספר הימים לשמירה על הנכסים באשפה לפני הסרתם לצמיתות",
"trash_settings": "הגדרות האשפה", "trash_settings": "הגדרות האשפה",
"trash_settings_description": הל את הגדרות האשפה", "trash_settings_description": יהול הגדרות האשפה",
"untracked_files": "קבצים ללא מעקב", "untracked_files": "קבצים ללא מעקב",
"untracked_files_description": "קבצים אלה אינם נמצאים במעקב של היישום. הם יכולים להיות תוצאות של העברות כושלות, העלאות שנקטעו, או שנותרו מאחור בגלל שיבוש בתוכנה", "untracked_files_description": "קבצים אלה אינם נמצאים במעקב של היישום. הם יכולים להיות תוצאות של העברות כושלות, העלאות שנקטעו, או שנותרו מאחור בגלל שיבוש בתוכנה",
"user_cleanup_job": "ניקוי משתמשים", "user_cleanup_job": "ניקוי משתמשים",
@@ -347,7 +347,7 @@
"user_restore_description": "החשבון של <b>{user}</b> ישוחזר.", "user_restore_description": "החשבון של <b>{user}</b> ישוחזר.",
"user_restore_scheduled_removal": "שחזר משתמש - מחיקה מתוזמנת ב-{date, date, long}", "user_restore_scheduled_removal": "שחזר משתמש - מחיקה מתוזמנת ב-{date, date, long}",
"user_settings": "הגדרות משתמש", "user_settings": "הגדרות משתמש",
"user_settings_description": הל הגדרות משתמש", "user_settings_description": יהול הגדרות משתמש",
"user_successfully_removed": "המשתמש {email} הוסר בהצלחה.", "user_successfully_removed": "המשתמש {email} הוסר בהצלחה.",
"version_check_enabled_description": "אפשר בדיקת גרסה", "version_check_enabled_description": "אפשר בדיקת גרסה",
"version_check_implications": "תכונת בדיקת הגרסה מסתמכת על תקשורת תקופתית עם github.com", "version_check_implications": "תכונת בדיקת הגרסה מסתמכת על תקשורת תקופתית עם github.com",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "האם אלה אותו האדם?", "are_these_the_same_person": "האם אלה אותו האדם?",
"are_you_sure_to_do_this": "האם את/ה בטוח/ה שברצונך לעשות את זה?", "are_you_sure_to_do_this": "האם את/ה בטוח/ה שברצונך לעשות את זה?",
"asset_added_to_album": "נוסף לאלבום", "asset_added_to_album": "נוסף לאלבום",
"asset_adding_to_album": "מוסיף לאלבום...", "asset_adding_to_album": "מוסיף לאלבום",
"asset_description_updated": "תיאור הנכס עודכן", "asset_description_updated": "תיאור הנכס עודכן",
"asset_filename_is_offline": "הנכס {filename} אינו מקוון", "asset_filename_is_offline": "הנכס {filename} אינו מקוון",
"asset_has_unassigned_faces": "לנכס יש פנים שלא הוקצו", "asset_has_unassigned_faces": "לנכס יש פנים שלא הוקצו",
"asset_hashing": "מגבב...", "asset_hashing": "מגבב",
"asset_offline": "נכס לא מקוון", "asset_offline": "נכס לא מקוון",
"asset_offline_description": "הנכס החיצוני הזה כבר לא נמצא בדיסק. אנא צור קשר עם מנהל Immich שלך לקבלת עזרה.", "asset_offline_description": "הנכס החיצוני הזה כבר לא נמצא בדיסק. נא ליצור קשר עם מנהל Immich שלך לקבלת עזרה.",
"asset_skipped": "דילג", "asset_skipped": "דילג",
"asset_skipped_in_trash": "באשפה", "asset_skipped_in_trash": "באשפה",
"asset_uploaded": "הועלה", "asset_uploaded": "הועלה",
"asset_uploading": "מעלה...", "asset_uploading": "מעלה",
"assets": "נכסים", "assets": "נכסים",
"assets_added_count": "{count, plural, one {נוסף נכס #} other {נוספו # נכסים}}", "assets_added_count": "{count, plural, one {נוסף נכס #} other {נוספו # נכסים}}",
"assets_added_to_album_count": "{count, plural, one {נוסף נכס #} other {נוספו # נכסים}} לאלבום", "assets_added_to_album_count": "{count, plural, one {נוסף נכס #} other {נוספו # נכסים}} לאלבום",
@@ -437,7 +437,7 @@
"birthdate_set_description": "תאריך לידה משמש לחישוב הגיל של האדם הזה בזמן תצלום.", "birthdate_set_description": "תאריך לידה משמש לחישוב הגיל של האדם הזה בזמן תצלום.",
"blurred_background": "רקע מטושטש", "blurred_background": "רקע מטושטש",
"bugs_and_feature_requests": "באגים & בקשות לתכונות", "bugs_and_feature_requests": "באגים & בקשות לתכונות",
"build": "Build", "build": "גרסאת בנייה",
"build_image": "גרסת תוכנה", "build_image": "גרסת תוכנה",
"bulk_delete_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך למחוק בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הכי גדול של כל קבוצה וימחק לצמיתות את כל שאר הכפילויות. את/ה לא יכול/ה לבטל את הפעולה הזו!", "bulk_delete_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך למחוק בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הכי גדול של כל קבוצה וימחק לצמיתות את כל שאר הכפילויות. את/ה לא יכול/ה לבטל את הפעולה הזו!",
"bulk_keep_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך להשאיר {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה יפתור את כל הקבוצות הכפולות מבלי למחוק דבר.", "bulk_keep_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך להשאיר {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה יפתור את כל הקבוצות הכפולות מבלי למחוק דבר.",
@@ -480,7 +480,7 @@
"comments_and_likes": "תגובות & לייקים", "comments_and_likes": "תגובות & לייקים",
"comments_are_disabled": "תגובות מושבתות", "comments_are_disabled": "תגובות מושבתות",
"confirm": "אישור", "confirm": "אישור",
"confirm_admin_password": שר סיסמת מנהל", "confirm_admin_password": ישור סיסמת מנהל",
"confirm_delete_shared_link": "האם את/ה בטוח/ה שברצונך למחוק את הקישור המשותף הזה?", "confirm_delete_shared_link": "האם את/ה בטוח/ה שברצונך למחוק את הקישור המשותף הזה?",
"confirm_keep_this_delete_others": "כל שאר הנכסים בערימה יימחקו למעט נכס זה. האם את/ה בטוח/ה שברצונך להמשיך?", "confirm_keep_this_delete_others": "כל שאר הנכסים בערימה יימחקו למעט נכס זה. האם את/ה בטוח/ה שברצונך להמשיך?",
"confirm_password": "אשר סיסמה", "confirm_password": "אשר סיסמה",
@@ -548,7 +548,7 @@
"direction": "כיוון", "direction": "כיוון",
"disabled": "מושבת", "disabled": "מושבת",
"disallow_edits": "אל תאפשר עריכות", "disallow_edits": "אל תאפשר עריכות",
"discord": "Discord", "discord": "דיסקורד",
"discover": "גילוי", "discover": "גילוי",
"dismiss_all_errors": "התעלמות מכל השגיאות", "dismiss_all_errors": "התעלמות מכל השגיאות",
"dismiss_error": "התעלמות מהשגיאה", "dismiss_error": "התעלמות מהשגיאה",
@@ -563,7 +563,7 @@
"download_include_embedded_motion_videos": "סרטונים מוטמעים", "download_include_embedded_motion_videos": "סרטונים מוטמעים",
"download_include_embedded_motion_videos_description": "כלול סרטונים מוטעמים בתמונות עם תנועה כקובץ נפרד", "download_include_embedded_motion_videos_description": "כלול סרטונים מוטעמים בתמונות עם תנועה כקובץ נפרד",
"download_settings": "הורדה", "download_settings": "הורדה",
"download_settings_description": הל הגדרות הקשורות להורדת נכסים", "download_settings_description": יהול הגדרות הקשורות להורדת נכסים",
"downloading": "מוריד", "downloading": "מוריד",
"downloading_asset_filename": "מוריד נכס {filename}", "downloading_asset_filename": "מוריד נכס {filename}",
"drop_files_to_upload": "שחרר קבצים בכל מקום כדי להעלות", "drop_files_to_upload": "שחרר קבצים בכל מקום כדי להעלות",
@@ -748,7 +748,7 @@
"favorites": "מועדפים", "favorites": "מועדפים",
"feature_photo_updated": "תמונה מייצגת עודכנה", "feature_photo_updated": "תמונה מייצגת עודכנה",
"features": "תכונות", "features": "תכונות",
"features_setting_description": הל את תכונות היישום", "features_setting_description": יהול תכונות היישום",
"file_name": "שם הקובץ", "file_name": "שם הקובץ",
"file_name_or_extension": "שם קובץ או סיומת", "file_name_or_extension": "שם קובץ או סיומת",
"filename": "שם קובץ", "filename": "שם קובץ",
@@ -766,8 +766,10 @@
"go_to_folder": "עבור לתיקיה", "go_to_folder": "עבור לתיקיה",
"go_to_search": "עבור לחיפוש", "go_to_search": "עבור לחיפוש",
"group_albums_by": "קבץ אלבומים לפי..", "group_albums_by": "קבץ אלבומים לפי..",
"group_country": "קבץ לפי מדינה",
"group_no": "אין קיבוץ", "group_no": "אין קיבוץ",
"group_owner": "קבץ לפי בעלים", "group_owner": "קבץ לפי בעלים",
"group_places_by": "קבץ מקומות לפי...",
"group_year": "קבץ לפי שנה", "group_year": "קבץ לפי שנה",
"has_quota": "יש מכסה", "has_quota": "יש מכסה",
"hi_user": "היי {name}, ({email})", "hi_user": "היי {name}, ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "כלול אלבומים משותפים", "include_shared_albums": "כלול אלבומים משותפים",
"include_shared_partner_assets": "כלול נכסי שותף משותפים", "include_shared_partner_assets": "כלול נכסי שותף משותפים",
"individual_share": "שיתוף יחיד", "individual_share": "שיתוף יחיד",
"individual_shares": "שיתופים בודדים",
"info": "מידע", "info": "מידע",
"interval": { "interval": {
"day_at_onepm": "כל יום בשעה 13:00", "day_at_onepm": "כל יום בשעה 13:00",
@@ -822,6 +825,7 @@
"latest_version": "גרסה עדכנית ביותר", "latest_version": "גרסה עדכנית ביותר",
"latitude": "קו רוחב", "latitude": "קו רוחב",
"leave": "לעזוב", "leave": "לעזוב",
"lens_model": "דגם עדשה",
"let_others_respond": "אפשר לאחרים להגיב", "let_others_respond": "אפשר לאחרים להגיב",
"level": "רמה", "level": "רמה",
"library": "ספרייה", "library": "ספרייה",
@@ -849,13 +853,13 @@
"loop_videos_description": "אפשר הפעלה חוזרת אוטומטית של סרטון במציג הפרטים.", "loop_videos_description": "אפשר הפעלה חוזרת אוטומטית של סרטון במציג הפרטים.",
"main_branch_warning": "את/ה משתמש/ת בגרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!", "main_branch_warning": "את/ה משתמש/ת בגרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!",
"make": "תוצרת", "make": "תוצרת",
"manage_shared_links": הל קישורים משותפים", "manage_shared_links": יהול קישורים משותפים",
"manage_sharing_with_partners": הל שיתוף עם שותפים", "manage_sharing_with_partners": יהול שיתוף עם שותפים",
"manage_the_app_settings": הל את הגדרות האפליקציה", "manage_the_app_settings": יהול הגדרות האפליקציה",
"manage_your_account": הל את החשבון שלך", "manage_your_account": יהול החשבון שלך",
"manage_your_api_keys": הל את מפתחות ה API שלך", "manage_your_api_keys": יהול מפתחות ה API שלך",
"manage_your_devices": הל את המכשירים המחוברים שלך", "manage_your_devices": יהול המכשירים המחוברים שלך",
"manage_your_oauth_connection": הל את חיבור ה-OAuth שלך", "manage_your_oauth_connection": יהול חיבור ה-OAuth שלך",
"map": "מפה", "map": "מפה",
"map_marker_for_images": "סמן מפה לתמונות שצולמו ב{city}, {country}", "map_marker_for_images": "סמן מפה לתמונות שצולמו ב{city}, {country}",
"map_marker_with_image": "סמן מפה עם תמונה", "map_marker_with_image": "סמן מפה עם תמונה",
@@ -863,7 +867,7 @@
"matches": "התאמות", "matches": "התאמות",
"media_type": "סוג מדיה", "media_type": "סוג מדיה",
"memories": "זכרונות", "memories": "זכרונות",
"memories_setting_description": הל מה שאת/ה רואה בזכרונות שלך", "memories_setting_description": יהול מה שאת/ה רואה בזכרונות שלך",
"memory": "זיכרון", "memory": "זיכרון",
"memory_lane_title": "משעול הזיכרונות {title}", "memory_lane_title": "משעול הזיכרונות {title}",
"menu": "תפריט", "menu": "תפריט",
@@ -915,7 +919,7 @@
"notes": "הערות", "notes": "הערות",
"notification_toggle_setting_description": "אפשר התראות דוא\"ל", "notification_toggle_setting_description": "אפשר התראות דוא\"ל",
"notifications": "התראות", "notifications": "התראות",
"notifications_setting_description": הל התראות", "notifications_setting_description": יהול התראות",
"oauth": "OAuth", "oauth": "OAuth",
"official_immich_resources": "משאבי Immich רשמיים", "official_immich_resources": "משאבי Immich רשמיים",
"offline": "לא מקוון", "offline": "לא מקוון",
@@ -984,6 +988,7 @@
"pick_a_location": "בחר מיקום", "pick_a_location": "בחר מיקום",
"place": "מקום", "place": "מקום",
"places": "מקומות", "places": "מקומות",
"places_count": "{count, plural, one {מקום {count, number}} other {{count, number} מקומות}}",
"play": "נגן", "play": "נגן",
"play_memories": "נגן זכרונות", "play_memories": "נגן זכרונות",
"play_motion_photo": "הפעל תמונה עם תנועה", "play_motion_photo": "הפעל תמונה עם תנועה",
@@ -1104,27 +1109,30 @@
"scan_library": "סרוק", "scan_library": "סרוק",
"scan_settings": "הגדרות סריקה", "scan_settings": "הגדרות סריקה",
"scanning_for_album": "סורק אחר אלבום...", "scanning_for_album": "סורק אחר אלבום...",
"search": פש", "search": יפוש",
"search_albums": פש אלבומים", "search_albums": יפוש אלבומים",
"search_by_context": פש לפי הקשר", "search_by_context": יפוש לפי הקשר",
"search_by_description": "חיפוש לפי תיאור",
"search_by_description_example": "יום טיול בסאפה",
"search_by_filename": "חיפוש לפי שם קובץ או סיומת", "search_by_filename": "חיפוש לפי שם קובץ או סיומת",
"search_by_filename_example": "לדוגמא IMG_1234.JPG או PNG", "search_by_filename_example": "לדוגמא IMG_1234.JPG או PNG",
"search_camera_make": פש תוצרת מצלמה...", "search_camera_make": יפוש תוצרת המצלמה...",
"search_camera_model": "חפש דגם מצלמה...", "search_camera_model": "חפש דגם המצלמה...",
"search_city": פש עיר...", "search_city": יפוש עיר...",
"search_country": פש ארץ...", "search_country": יפוש ארץ...",
"search_for_existing_person": "חפש אדם קיים", "search_for": "חיפוש",
"search_for_existing_person": "חיפוש אדם קיים",
"search_no_people": "אין אנשים", "search_no_people": "אין אנשים",
"search_no_people_named": "אין אנשים בשם \"{name}\"", "search_no_people_named": "אין אנשים בשם \"{name}\"",
"search_options": "אפשרויות חיפוש", "search_options": "אפשרויות חיפוש",
"search_people": פש אנשים", "search_people": יפוש אנשים",
"search_places": פש מקומות", "search_places": יפוש מקומות",
"search_settings": "הגדרות חיפוש", "search_settings": "הגדרות חיפוש",
"search_state": פש מדינה...", "search_state": יפוש מדינה...",
"search_tags": "חיפוש תגים...", "search_tags": "חיפוש תגים...",
"search_timezone": פש אזור זמן...", "search_timezone": יפוש אזור זמן...",
"search_type": "סוג חיפוש", "search_type": "סוג חיפוש",
"search_your_photos": פש בתמונות שלך", "search_your_photos": יפוש בתמונות שלך",
"searching_locales": "מחפש אזורי שפה...", "searching_locales": "מחפש אזורי שפה...",
"second": "שנייה", "second": "שנייה",
"see_all_people": "ראה את כל האנשים", "see_all_people": "ראה את כל האנשים",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "תמונות מאת {partner}", "shared_from_partner": "תמונות מאת {partner}",
"shared_link_options": "אפשרויות קישור משותף", "shared_link_options": "אפשרויות קישור משותף",
"shared_links": "קישורים משותפים", "shared_links": "קישורים משותפים",
"shared_links_description": "שתף תמונות וסרטונים עם קישור",
"shared_photos_and_videos_count": "{assetCount, plural, other {# תמונות וסרטונים משותפים.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# תמונות וסרטונים משותפים.}}",
"shared_with_partner": "משותף עם {partner}", "shared_with_partner": "משותף עם {partner}",
"sharing": "שיתוף", "sharing": "שיתוף",
@@ -1187,6 +1196,7 @@
"show_person_options": "הצג אפשרויות אדם", "show_person_options": "הצג אפשרויות אדם",
"show_progress_bar": "הצג סרגל התקדמות", "show_progress_bar": "הצג סרגל התקדמות",
"show_search_options": "הצג אפשרויות חיפוש", "show_search_options": "הצג אפשרויות חיפוש",
"show_shared_links": "הצג קישורים משותפים",
"show_slideshow_transition": "הצג מעבר מצגת", "show_slideshow_transition": "הצג מעבר מצגת",
"show_supporter_badge": "תג תומך", "show_supporter_badge": "תג תומך",
"show_supporter_badge_description": "הצג תג תומך", "show_supporter_badge_description": "הצג תג תומך",
@@ -1215,7 +1225,7 @@
"stack_select_one_photo": "בחר תמונה ראשית אחת עבור הערימה", "stack_select_one_photo": "בחר תמונה ראשית אחת עבור הערימה",
"stack_selected_photos": "צור ערימת תמונות נבחרות", "stack_selected_photos": "צור ערימת תמונות נבחרות",
"stacked_assets_count": "{count, plural, one {נכס # נערם} other {# נכסים נערמו}}", "stacked_assets_count": "{count, plural, one {נכס # נערם} other {# נכסים נערמו}}",
"stacktrace": "Stacktrace", "stacktrace": "Stack trace",
"start": "התחל", "start": "התחל",
"start_date": "תאריך התחלה", "start_date": "תאריך התחלה",
"state": "מדינה", "state": "מדינה",
@@ -1274,6 +1284,7 @@
"unfavorite": "לא מועדף", "unfavorite": "לא מועדף",
"unhide_person": "בטל הסתרת אדם", "unhide_person": "בטל הסתרת אדם",
"unknown": "לא ידוע", "unknown": "לא ידוע",
"unknown_country": "מדינה לא ידועה",
"unknown_year": "שנה לא ידועה", "unknown_year": "שנה לא ידועה",
"unlimited": "בלתי מוגבל", "unlimited": "בלתי מוגבל",
"unlink_motion_video": "בטל קישור סרטון תנועה", "unlink_motion_video": "בטל קישור סרטון תנועה",
@@ -1307,7 +1318,7 @@
"user_id": "מזהה משתמש", "user_id": "מזהה משתמש",
"user_liked": "{user} אהב את {type, select, photo {התמונה הזאת} video {הסרטון הזה} asset {הנכס הזה} other {זה}}", "user_liked": "{user} אהב את {type, select, photo {התמונה הזאת} video {הסרטון הזה} asset {הנכס הזה} other {זה}}",
"user_purchase_settings": "רכישה", "user_purchase_settings": "רכישה",
"user_purchase_settings_description": הל את הרכישה שלך", "user_purchase_settings_description": יהול הרכישה שלך",
"user_role_set": "הגדר את {user} בתור {role}", "user_role_set": "הגדר את {user} בתור {role}",
"user_usage_detail": "פרטי השימוש של המשתמש", "user_usage_detail": "פרטי השימוש של המשתמש",
"user_usage_stats": "סטטיסטיקות שימוש בחשבון", "user_usage_stats": "סטטיסטיקות שימוש בחשבון",

View File

@@ -20,7 +20,7 @@
"add_partner": "Partner hozzáadása", "add_partner": "Partner hozzáadása",
"add_path": "Elérési útvonal megadása", "add_path": "Elérési útvonal megadása",
"add_photos": "Fotók hozzáadása", "add_photos": "Fotók hozzáadása",
"add_to": "Hozzáadás ide...", "add_to": "Hozzáadás ide",
"add_to_album": "Felvétel albumba", "add_to_album": "Felvétel albumba",
"add_to_shared_album": "Felvétel megosztott albumba", "add_to_shared_album": "Felvétel megosztott albumba",
"add_url": "URL hozzáadása", "add_url": "URL hozzáadása",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Beállítások visszaállítása az alapértelmezettre", "reset_settings_to_default": "Beállítások visszaállítása az alapértelmezettre",
"reset_settings_to_recent_saved": "Beállítások visszaállítása a legutóbb mentettre", "reset_settings_to_recent_saved": "Beállítások visszaállítása a legutóbb mentettre",
"scanning_library": "Képtár átfésülése", "scanning_library": "Képtár átfésülése",
"search_jobs": "Feladatok keresése...", "search_jobs": "Feladatok keresése",
"send_welcome_email": "Üdvözlő email küldése", "send_welcome_email": "Üdvözlő email küldése",
"server_external_domain_settings": "Külső domain", "server_external_domain_settings": "Külső domain",
"server_external_domain_settings_description": "Nyilvánosan megosztott linkek domainje (http(s)://-sel)", "server_external_domain_settings_description": "Nyilvánosan megosztott linkek domainje (http(s)://-sel)",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Ugyanaz a személy?", "are_these_the_same_person": "Ugyanaz a személy?",
"are_you_sure_to_do_this": "Biztosan ezt szeretnéd csinálni?", "are_you_sure_to_do_this": "Biztosan ezt szeretnéd csinálni?",
"asset_added_to_album": "Hozzáadva az albumhoz", "asset_added_to_album": "Hozzáadva az albumhoz",
"asset_adding_to_album": "Hozzáadás az albumhoz...", "asset_adding_to_album": "Hozzáadás az albumhoz",
"asset_description_updated": "Az elem leírása frissült", "asset_description_updated": "Az elem leírása frissült",
"asset_filename_is_offline": "A(z) {filename} elem nem elérhető, mert offline", "asset_filename_is_offline": "A(z) {filename} elem nem elérhető, mert offline",
"asset_has_unassigned_faces": "Az elemnek hozzá nem rendelt arcai vannak", "asset_has_unassigned_faces": "Az elemnek hozzá nem rendelt arcai vannak",
"asset_hashing": "Hash számítása...", "asset_hashing": "Hash számítása",
"asset_offline": "Elem Offline", "asset_offline": "Elem Offline",
"asset_offline_description": "Ez a külső elem már nem elérhető a lemezen. Kérlek, lépj kapcsolatba az Immich adminisztrátorával.", "asset_offline_description": "Ez a külső elem már nem elérhető a lemezen. Kérlek, lépj kapcsolatba az Immich adminisztrátorával.",
"asset_skipped": "Kihagyva", "asset_skipped": "Kihagyva",
"asset_skipped_in_trash": "Lomtárban", "asset_skipped_in_trash": "Lomtárban",
"asset_uploaded": "Feltöltve", "asset_uploaded": "Feltöltve",
"asset_uploading": "Feltöltés...", "asset_uploading": "Feltöltés",
"assets": "Elemek", "assets": "Elemek",
"assets_added_count": "{count, plural, other {# elem}} hozzáadva", "assets_added_count": "{count, plural, other {# elem}} hozzáadva",
"assets_added_to_album_count": "{count, plural, other {# elem}} hozzáadva az albumhoz", "assets_added_to_album_count": "{count, plural, other {# elem}} hozzáadva az albumhoz",
@@ -766,8 +766,10 @@
"go_to_folder": "Ugrás a mappához", "go_to_folder": "Ugrás a mappához",
"go_to_search": "Ugrás a kereséshez", "go_to_search": "Ugrás a kereséshez",
"group_albums_by": "Albumok csoportosítása...", "group_albums_by": "Albumok csoportosítása...",
"group_country": "Csoportosítás ország szerint",
"group_no": "Nincs csoportosítás", "group_no": "Nincs csoportosítás",
"group_owner": "Csoportosítás tulajdonos szerint", "group_owner": "Csoportosítás tulajdonos szerint",
"group_places_by": "Helyszínek csoportosítása...",
"group_year": "Csoportosítás év szerint", "group_year": "Csoportosítás év szerint",
"has_quota": "Kvóta", "has_quota": "Kvóta",
"hi_user": "Szia {name} ({email})", "hi_user": "Szia {name} ({email})",
@@ -822,6 +824,7 @@
"latest_version": "Legfrissebb Verzió", "latest_version": "Legfrissebb Verzió",
"latitude": "Szélesség", "latitude": "Szélesség",
"leave": "Elhagyás", "leave": "Elhagyás",
"lens_model": "Objektív modell",
"let_others_respond": "Mások is reagálhatnak", "let_others_respond": "Mások is reagálhatnak",
"level": "Szint", "level": "Szint",
"library": "Képtár", "library": "Képtár",
@@ -1107,12 +1110,15 @@
"search": "Keresés", "search": "Keresés",
"search_albums": "Albumok keresése", "search_albums": "Albumok keresése",
"search_by_context": "Keresés tartalom alapján", "search_by_context": "Keresés tartalom alapján",
"search_by_description": "Keresés leírás alapján",
"search_by_description_example": "Túrázós nap Szapában",
"search_by_filename": "Keresés fájlnév vagy kiterjesztés alapján", "search_by_filename": "Keresés fájlnév vagy kiterjesztés alapján",
"search_by_filename_example": "például IMG_1234.JPG vagy PNG", "search_by_filename_example": "például IMG_1234.JPG vagy PNG",
"search_camera_make": "Kameragyártó keresése...", "search_camera_make": "Kameragyártó keresése...",
"search_camera_model": "Kameramodell keresése...", "search_camera_model": "Kameramodell keresése...",
"search_city": "Város keresése...", "search_city": "Város keresése...",
"search_country": "Ország keresése...", "search_country": "Ország keresése...",
"search_for": "Keresés",
"search_for_existing_person": "Már meglévő személy keresése", "search_for_existing_person": "Már meglévő személy keresése",
"search_no_people": "Nincs személy", "search_no_people": "Nincs személy",
"search_no_people_named": "Nincs \"{name}\" nevű személy", "search_no_people_named": "Nincs \"{name}\" nevű személy",
@@ -1187,6 +1193,7 @@
"show_person_options": "Személy beállítások mutatása", "show_person_options": "Személy beállítások mutatása",
"show_progress_bar": "Folyamatjelző Mutatása", "show_progress_bar": "Folyamatjelző Mutatása",
"show_search_options": "Keresési lehetőségek mutatása", "show_search_options": "Keresési lehetőségek mutatása",
"show_shared_links": "Megosztott linkek megjelenítése",
"show_slideshow_transition": "Vetítés áttűnési effekt mutatása", "show_slideshow_transition": "Vetítés áttűnési effekt mutatása",
"show_supporter_badge": "Támogató jelvény", "show_supporter_badge": "Támogató jelvény",
"show_supporter_badge_description": "Támogató jelvény mutatása", "show_supporter_badge_description": "Támogató jelvény mutatása",
@@ -1274,6 +1281,7 @@
"unfavorite": "Kedvenc közül kivesz", "unfavorite": "Kedvenc közül kivesz",
"unhide_person": "Nem rejtett személy", "unhide_person": "Nem rejtett személy",
"unknown": "Ismeretlen", "unknown": "Ismeretlen",
"unknown_country": "Ismeretlen ország",
"unknown_year": "Ismeretlen Év", "unknown_year": "Ismeretlen Év",
"unlimited": "Korlátlan", "unlimited": "Korlátlan",
"unlink_motion_video": "Mozgókép leválasztása", "unlink_motion_video": "Mozgókép leválasztása",

View File

@@ -20,7 +20,7 @@
"add_partner": "Tambahkan partner", "add_partner": "Tambahkan partner",
"add_path": "Tambahkan jalur", "add_path": "Tambahkan jalur",
"add_photos": "Tambahkan foto", "add_photos": "Tambahkan foto",
"add_to": "Tambahkan ke...", "add_to": "Tambahkan ke",
"add_to_album": "Tambahkan ke album", "add_to_album": "Tambahkan ke album",
"add_to_shared_album": "Tambahkan ke album terbagi", "add_to_shared_album": "Tambahkan ke album terbagi",
"add_url": "Tambahkan URL", "add_url": "Tambahkan URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Atur ulang pengaturan ke bawaan", "reset_settings_to_default": "Atur ulang pengaturan ke bawaan",
"reset_settings_to_recent_saved": "Atur ulang pengaturan ke pengaturan tersimpan terkini", "reset_settings_to_recent_saved": "Atur ulang pengaturan ke pengaturan tersimpan terkini",
"scanning_library": "Memindai pustaka", "scanning_library": "Memindai pustaka",
"search_jobs": "Mencari tugas...", "search_jobs": "Mencari tugas",
"send_welcome_email": "Kirim surel selamat datang", "send_welcome_email": "Kirim surel selamat datang",
"server_external_domain_settings": "Domain eksternal", "server_external_domain_settings": "Domain eksternal",
"server_external_domain_settings_description": "Domain untuk tautan terbagi publik, termasuk http(s)://", "server_external_domain_settings_description": "Domain untuk tautan terbagi publik, termasuk http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Apakah ini adalah orang yang sama?", "are_these_the_same_person": "Apakah ini adalah orang yang sama?",
"are_you_sure_to_do_this": "Apakah Anda yakin ingin melakukan ini?", "are_you_sure_to_do_this": "Apakah Anda yakin ingin melakukan ini?",
"asset_added_to_album": "Telah ditambahkan ke album", "asset_added_to_album": "Telah ditambahkan ke album",
"asset_adding_to_album": "Menambahkan ke album...", "asset_adding_to_album": "Menambahkan ke album",
"asset_description_updated": "Deskripsi aset telah diperbarui", "asset_description_updated": "Deskripsi aset telah diperbarui",
"asset_filename_is_offline": "Aset {filename} sedang luring", "asset_filename_is_offline": "Aset {filename} sedang luring",
"asset_has_unassigned_faces": "Aset memiliki wajah yang belum ditetapkan", "asset_has_unassigned_faces": "Aset memiliki wajah yang belum ditetapkan",
"asset_hashing": "Memilah...", "asset_hashing": "Memilah",
"asset_offline": "Aset Luring", "asset_offline": "Aset Luring",
"asset_offline_description": "Aset eksternal ini tidak ada lagi di diska. Silakan hubungi administrator Immich Anda untuk bantuan.", "asset_offline_description": "Aset eksternal ini tidak ada lagi di diska. Silakan hubungi administrator Immich Anda untuk bantuan.",
"asset_skipped": "Dilewati", "asset_skipped": "Dilewati",
"asset_skipped_in_trash": "Dalam sampah", "asset_skipped_in_trash": "Dalam sampah",
"asset_uploaded": "Sudah diunggah", "asset_uploaded": "Sudah diunggah",
"asset_uploading": "Mengunggah...", "asset_uploading": "Mengunggah",
"assets": "Aset", "assets": "Aset",
"assets_added_count": "{count, plural, one {# aset} other {# aset}} ditambahkan", "assets_added_count": "{count, plural, one {# aset} other {# aset}} ditambahkan",
"assets_added_to_album_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke album", "assets_added_to_album_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke album",
@@ -766,8 +766,10 @@
"go_to_folder": "Pergi ke folder", "go_to_folder": "Pergi ke folder",
"go_to_search": "Pergi ke pencarian", "go_to_search": "Pergi ke pencarian",
"group_albums_by": "Kelompokkan album berdasarkan...", "group_albums_by": "Kelompokkan album berdasarkan...",
"group_country": "Kelompokkan berdasarkan negara",
"group_no": "Tidak ada pengelompokan", "group_no": "Tidak ada pengelompokan",
"group_owner": "Kelompokkan berdasarkan pemilik", "group_owner": "Kelompokkan berdasarkan pemilik",
"group_places_by": "Kelompokkan tempat berdasarkan…",
"group_year": "Kelompokkan berdasarkan tahun", "group_year": "Kelompokkan berdasarkan tahun",
"has_quota": "Memiliki kuota", "has_quota": "Memiliki kuota",
"hi_user": "Hai {name} ({email})", "hi_user": "Hai {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Termasuk album terbagi", "include_shared_albums": "Termasuk album terbagi",
"include_shared_partner_assets": "Termasuk aset terbagi dengan partner", "include_shared_partner_assets": "Termasuk aset terbagi dengan partner",
"individual_share": "Bagikan individu", "individual_share": "Bagikan individu",
"individual_shares": "Pembagian individu",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Setiap hari pada 13.00", "day_at_onepm": "Setiap hari pada 13.00",
@@ -822,6 +825,7 @@
"latest_version": "Versi Terkini", "latest_version": "Versi Terkini",
"latitude": "Lintang", "latitude": "Lintang",
"leave": "Tinggalkan", "leave": "Tinggalkan",
"lens_model": "Model lensa",
"let_others_respond": "Biarkan orang lain merespons", "let_others_respond": "Biarkan orang lain merespons",
"level": "Tingkat", "level": "Tingkat",
"library": "Pustaka", "library": "Pustaka",
@@ -984,6 +988,7 @@
"pick_a_location": "Pilih lokasi", "pick_a_location": "Pilih lokasi",
"place": "Tempat", "place": "Tempat",
"places": "Tempat", "places": "Tempat",
"places_count": "{count, plural, one {{count, number} Tempat} other {{count, number} Tempat}}",
"play": "Putar", "play": "Putar",
"play_memories": "Putar kenangan", "play_memories": "Putar kenangan",
"play_motion_photo": "Putar Foto Gerak", "play_motion_photo": "Putar Foto Gerak",
@@ -1107,12 +1112,15 @@
"search": "Cari", "search": "Cari",
"search_albums": "Cari album", "search_albums": "Cari album",
"search_by_context": "Cari berdasarkan konteks", "search_by_context": "Cari berdasarkan konteks",
"search_by_description": "Cari berdasarkan deskripsi",
"search_by_description_example": "Hari mendaki di Sapa",
"search_by_filename": "Cari berdasarkan nama berkas atau ekstensi", "search_by_filename": "Cari berdasarkan nama berkas atau ekstensi",
"search_by_filename_example": "mis. IMG_1234.JPG atau PNG", "search_by_filename_example": "mis. IMG_1234.JPG atau PNG",
"search_camera_make": "Cari merek kamera...", "search_camera_make": "Cari merek kamera...",
"search_camera_model": "Cari model kamera...", "search_camera_model": "Cari model kamera...",
"search_city": "Cari kota...", "search_city": "Cari kota...",
"search_country": "Cari negara...", "search_country": "Cari negara...",
"search_for": "Cari",
"search_for_existing_person": "Cari orang yang sudah ada", "search_for_existing_person": "Cari orang yang sudah ada",
"search_no_people": "Tidak ada orang", "search_no_people": "Tidak ada orang",
"search_no_people_named": "Tidak ada orang bernama \"{name}\"", "search_no_people_named": "Tidak ada orang bernama \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Foto dari {partner}", "shared_from_partner": "Foto dari {partner}",
"shared_link_options": "Pilihan tautan bersama", "shared_link_options": "Pilihan tautan bersama",
"shared_links": "Tautan terbagi", "shared_links": "Tautan terbagi",
"shared_links_description": "Bagikan foto dan video dengan tautan",
"shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video terbagi.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video terbagi.}}",
"shared_with_partner": "Dibagikan dengan {partner}", "shared_with_partner": "Dibagikan dengan {partner}",
"sharing": "Pembagian", "sharing": "Pembagian",
@@ -1187,6 +1196,7 @@
"show_person_options": "Tampilkan opsi orang", "show_person_options": "Tampilkan opsi orang",
"show_progress_bar": "Tampilkan Bilah Progres", "show_progress_bar": "Tampilkan Bilah Progres",
"show_search_options": "Tampilkan opsi pencarian", "show_search_options": "Tampilkan opsi pencarian",
"show_shared_links": "Tampilkan tautan terbagi",
"show_slideshow_transition": "Tampilkan transisi salindia", "show_slideshow_transition": "Tampilkan transisi salindia",
"show_supporter_badge": "Lencana suporter", "show_supporter_badge": "Lencana suporter",
"show_supporter_badge_description": "Tampilkan lencana suporter", "show_supporter_badge_description": "Tampilkan lencana suporter",
@@ -1274,6 +1284,7 @@
"unfavorite": "Hapus favorit", "unfavorite": "Hapus favorit",
"unhide_person": "Munculkan orang", "unhide_person": "Munculkan orang",
"unknown": "Tidak diketahui", "unknown": "Tidak diketahui",
"unknown_country": "Negara Tidak Diketahui",
"unknown_year": "Tahun Tidak Diketahui", "unknown_year": "Tahun Tidak Diketahui",
"unlimited": "Tidak terbatas", "unlimited": "Tidak terbatas",
"unlink_motion_video": "Membatalkan tautan video gerak", "unlink_motion_video": "Membatalkan tautan video gerak",

View File

@@ -1,11 +1,11 @@
{ {
"about": "Informazioni su", "about": "Informazioni",
"account": "Profilo", "account": "Profilo",
"account_settings": "Impostazioni Account", "account_settings": "Impostazioni Profilo",
"acknowledge": "Acconsento", "acknowledge": "Ho capito",
"action": "Azione", "action": "Azione",
"actions": "Azioni", "actions": "Azioni",
"active": "Attivi", "active": "Attivo",
"activity": "Attività", "activity": "Attività",
"activity_changed": "L'attività è {enabled, select, true {abilitata} other {disabilitata}}", "activity_changed": "L'attività è {enabled, select, true {abilitata} other {disabilitata}}",
"add": "Aggiungi", "add": "Aggiungi",
@@ -20,25 +20,25 @@
"add_partner": "Aggiungi partner", "add_partner": "Aggiungi partner",
"add_path": "Aggiungi percorso", "add_path": "Aggiungi percorso",
"add_photos": "Aggiungi foto", "add_photos": "Aggiungi foto",
"add_to": "Aggiungi a...", "add_to": "Aggiungi a",
"add_to_album": "Aggiungi all'album", "add_to_album": "Aggiungi all'album",
"add_to_shared_album": "Aggiungi all'album condiviso", "add_to_shared_album": "Aggiungi ad album condiviso",
"add_url": "Aggiungi URL", "add_url": "Aggiungi URL",
"added_to_archive": "Aggiunto all'archivio", "added_to_archive": "Aggiunto all'archivio",
"added_to_favorites": "Aggiunto ai preferiti", "added_to_favorites": "Aggiunto ai preferiti",
"added_to_favorites_count": "Aggiunti {count, number} ai preferiti", "added_to_favorites_count": "Aggiunto {count, number} ai preferiti",
"admin": { "admin": {
"add_exclusion_pattern_description": "Aggiungi modelli di esclusione. È supportato il globbing utilizzando *, ** e ?. Per ignorare tutti i file in qualsiasi directory denominata \"Raw\", usa \"**/Raw/**\". Per ignorare tutti i file con estensione \".tif\", usa \"**/*.tif\". Per ignorare un percorso assoluto, usa \"/percorso/da/ignorare/**\".", "add_exclusion_pattern_description": "Aggiungi modelli di esclusione. È supportato il globbing utilizzando *, ** e ?. Per ignorare tutti i file in qualsiasi directory denominata \"Raw\", usa \"**/Raw/**\". Per ignorare tutti i file con estensione \".tif\", usa \"**/*.tif\". Per ignorare un percorso assoluto, usa \"/percorso/da/ignorare/**\".",
"asset_offline_description": "Questa risorsa della libreria esterna non si trova più sul disco ed è stata spostata nel cestino. Se il file è stato spostato all'interno della libreria, controlla la timeline per la nuova risorsa corrispondente. Per ripristinare questa risorsa, assicurati che Immich possa accedere al percorso del file seguente ed esegui la scansione della libreria.", "asset_offline_description": "Questa risorsa della libreria esterna non si trova più sul disco ed è stata spostata nel cestino. Se il file è stato spostato all'interno della libreria, controlla la timeline per la nuova risorsa corrispondente. Per ripristinare questa risorsa, assicurati che Immich possa accedere al percorso del file ed esegui la scansione della libreria.",
"authentication_settings": "Autenticazione", "authentication_settings": "Impostazioni di Autenticazione",
"authentication_settings_description": "Gestisci password, OAuth e altre impostazioni di autenticazione", "authentication_settings_description": "Gestisci password, OAuth e altre impostazioni di autenticazione",
"authentication_settings_disable_all": "Sei sicuro di voler disabilitare tutte le modalità di accesso? Il login verrà disabilitato completamente.", "authentication_settings_disable_all": "Sei sicuro di voler disabilitare tutte le modalità di accesso? Il login verrà disabilitato completamente.",
"authentication_settings_reenable": "Per riabilitare, utilizza un <link>Comando Server</link>.", "authentication_settings_reenable": "Per ri-abilitare, utilizza un <link>Comando Server</link>.",
"background_task_job": "Attività in Background", "background_task_job": "Attività in Background",
"backup_database": "Backup Database", "backup_database": "Database di Backup",
"backup_database_enable_description": "Abilita i backup del database", "backup_database_enable_description": "Abilita i backup del database",
"backup_keep_last_amount": "Quantità di backup precedenti da mantenere", "backup_keep_last_amount": "Quantità di backup precedenti da mantenere",
"backup_settings": "Impostazioni backup", "backup_settings": "Impostazioni di backup",
"backup_settings_description": "Gestisci le impostazioni dei backup", "backup_settings_description": "Gestisci le impostazioni dei backup",
"check_all": "Controlla Tutto", "check_all": "Controlla Tutto",
"cleared_jobs": "Cancellati i processi per: {job}", "cleared_jobs": "Cancellati i processi per: {job}",
@@ -48,7 +48,7 @@
"confirm_email_below": "Per confermare, scrivi \"{email}\" qui sotto", "confirm_email_below": "Per confermare, scrivi \"{email}\" qui sotto",
"confirm_reprocess_all_faces": "Sei sicuro di voler riprocessare tutti i volti? Questo cancellerà tutte le persone nominate.", "confirm_reprocess_all_faces": "Sei sicuro di voler riprocessare tutti i volti? Questo cancellerà tutte le persone nominate.",
"confirm_user_password_reset": "Sei sicuro di voler resettare la password di {user}?", "confirm_user_password_reset": "Sei sicuro di voler resettare la password di {user}?",
"create_job": "creare lavoro", "create_job": "Crea un lavoro",
"cron_expression": "Espressione Cron", "cron_expression": "Espressione Cron",
"cron_expression_description": "Imposta il tempo di scansione utilizzando il formato Cron. Per ulteriori informazioni fare riferimento a <link>Crontab Guru</link>", "cron_expression_description": "Imposta il tempo di scansione utilizzando il formato Cron. Per ulteriori informazioni fare riferimento a <link>Crontab Guru</link>",
"cron_expression_presets": "Espressione Cron preimpostata", "cron_expression_presets": "Espressione Cron preimpostata",
@@ -63,7 +63,7 @@
"failed_job_command": "Il comando {command} è fallito per il processo: {job}", "failed_job_command": "Il comando {command} è fallito per il processo: {job}",
"force_delete_user_warning": "ATTENZIONE: Questo rimuoverà immediatamente l'utente e tutti i suoi assets. Non è possibile tornare indietro e i file non potranno essere recuperati.", "force_delete_user_warning": "ATTENZIONE: Questo rimuoverà immediatamente l'utente e tutti i suoi assets. Non è possibile tornare indietro e i file non potranno essere recuperati.",
"forcing_refresh_library_files": "Forzando l'aggiornamento completo della libreria", "forcing_refresh_library_files": "Forzando l'aggiornamento completo della libreria",
"image_format": "formato", "image_format": "Formato",
"image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma l'encoding è più lento.", "image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma l'encoding è più lento.",
"image_prefer_embedded_preview": "Preferisci l'anteprima integrata", "image_prefer_embedded_preview": "Preferisci l'anteprima integrata",
"image_prefer_embedded_preview_setting_description": "Usa l'anteprima integrata nelle foto RAW come input per l'elaborazione delle immagini, se disponibile. Questo permette un miglioramento dei colori per alcune immagini, ma la qualità delle anteprime dipende dalla macchina fotografica. Inoltre le immagini potrebbero presentare artefatti di compressione.", "image_prefer_embedded_preview_setting_description": "Usa l'anteprima integrata nelle foto RAW come input per l'elaborazione delle immagini, se disponibile. Questo permette un miglioramento dei colori per alcune immagini, ma la qualità delle anteprime dipende dalla macchina fotografica. Inoltre le immagini potrebbero presentare artefatti di compressione.",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Ripristina impostazioni predefinite", "reset_settings_to_default": "Ripristina impostazioni predefinite",
"reset_settings_to_recent_saved": "Ripristina impostazioni alle impostazioni salvate di recente", "reset_settings_to_recent_saved": "Ripristina impostazioni alle impostazioni salvate di recente",
"scanning_library": "Scansione della libreria", "scanning_library": "Scansione della libreria",
"search_jobs": "Cerca Jobs...", "search_jobs": "Cerca Attività…",
"send_welcome_email": "Invia email di benvenuto", "send_welcome_email": "Invia email di benvenuto",
"server_external_domain_settings": "Dominio esterno", "server_external_domain_settings": "Dominio esterno",
"server_external_domain_settings_description": "Dominio per link condivisi pubblicamente, incluso http(s)://", "server_external_domain_settings_description": "Dominio per link condivisi pubblicamente, incluso http(s)://",
@@ -410,13 +410,13 @@
"asset_description_updated": "La descrizione del media è stata aggiornata", "asset_description_updated": "La descrizione del media è stata aggiornata",
"asset_filename_is_offline": "Il media {filename} è offline", "asset_filename_is_offline": "Il media {filename} è offline",
"asset_has_unassigned_faces": "Il media ha dei volti non categorizzati", "asset_has_unassigned_faces": "Il media ha dei volti non categorizzati",
"asset_hashing": "Hashing in corso ...", "asset_hashing": "Hashing in corso ",
"asset_offline": "Risorsa Offline", "asset_offline": "Risorsa Offline",
"asset_offline_description": "Questo media non è stato trovato nel disco. Contatta il tuo amministratore di Immich per assistenza.", "asset_offline_description": "Questo media non è stato trovato nel disco. Contatta il tuo amministratore di Immich per assistenza.",
"asset_skipped": "Saltato", "asset_skipped": "Saltato",
"asset_skipped_in_trash": "Nel cestino", "asset_skipped_in_trash": "Nel cestino",
"asset_uploaded": "Caricato", "asset_uploaded": "Caricato",
"asset_uploading": "Caricamento...", "asset_uploading": "Caricamento",
"assets": "Risorse", "assets": "Risorse",
"assets_added_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}}", "assets_added_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}}",
"assets_added_to_album_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}} all'album", "assets_added_to_album_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}} all'album",
@@ -766,8 +766,10 @@
"go_to_folder": "Vai alla cartella", "go_to_folder": "Vai alla cartella",
"go_to_search": "Vai alla ricerca", "go_to_search": "Vai alla ricerca",
"group_albums_by": "Raggruppa album in base a...", "group_albums_by": "Raggruppa album in base a...",
"group_country": "Raggruppa per paese",
"group_no": "Nessun raggruppamento", "group_no": "Nessun raggruppamento",
"group_owner": "Raggruppa in base al proprietario", "group_owner": "Raggruppa in base al proprietario",
"group_places_by": "Raggruppa posti per",
"group_year": "Raggruppa per anno", "group_year": "Raggruppa per anno",
"has_quota": "Ha limite", "has_quota": "Ha limite",
"hi_user": "Ciao {name} ({email})", "hi_user": "Ciao {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Includi album condivisi", "include_shared_albums": "Includi album condivisi",
"include_shared_partner_assets": "Includi asset condivisi del compagno", "include_shared_partner_assets": "Includi asset condivisi del compagno",
"individual_share": "Condivisione individuale", "individual_share": "Condivisione individuale",
"individual_shares": "Condivisioni individuali",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Ogni giorno alle 13", "day_at_onepm": "Ogni giorno alle 13",
@@ -822,6 +825,7 @@
"latest_version": "Ultima Versione", "latest_version": "Ultima Versione",
"latitude": "Latitudine", "latitude": "Latitudine",
"leave": "Esci", "leave": "Esci",
"lens_model": "Modello lenti",
"let_others_respond": "Permetti agli altri di rispondere", "let_others_respond": "Permetti agli altri di rispondere",
"level": "Livello", "level": "Livello",
"library": "Libreria", "library": "Libreria",
@@ -984,6 +988,7 @@
"pick_a_location": "Scegli una posizione", "pick_a_location": "Scegli una posizione",
"place": "Posizione", "place": "Posizione",
"places": "Luoghi", "places": "Luoghi",
"places_count": "{count, plural, one {{count, number} Luogo} altro {{count, number} Luoghi}}",
"play": "Avvia", "play": "Avvia",
"play_memories": "Avvia ricordi", "play_memories": "Avvia ricordi",
"play_motion_photo": "Avvia Foto in movimento", "play_motion_photo": "Avvia Foto in movimento",
@@ -1107,12 +1112,15 @@
"search": "Cerca", "search": "Cerca",
"search_albums": "Cerca album", "search_albums": "Cerca album",
"search_by_context": "Cerca con contesto", "search_by_context": "Cerca con contesto",
"search_by_description": "Ricerca per descrizione",
"search_by_description_example": "Giornata di escursioni a Sapa",
"search_by_filename": "Cerca per nome del file o estensione", "search_by_filename": "Cerca per nome del file o estensione",
"search_by_filename_example": "es. IMG_1234.JPG o PNG", "search_by_filename_example": "es. IMG_1234.JPG o PNG",
"search_camera_make": "Cerca produttore fotocamera...", "search_camera_make": "Cerca produttore fotocamera...",
"search_camera_model": "Cerca modello fotocamera...", "search_camera_model": "Cerca modello fotocamera...",
"search_city": "Cerca città...", "search_city": "Cerca città...",
"search_country": "Cerca paese...", "search_country": "Cerca paese...",
"search_for": "Cerca per",
"search_for_existing_person": "Cerca per persona esistente", "search_for_existing_person": "Cerca per persona esistente",
"search_no_people": "Nessuna persona", "search_no_people": "Nessuna persona",
"search_no_people_named": "Nessuna persona chiamate \"{name}\"", "search_no_people_named": "Nessuna persona chiamate \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Foto da {partner}", "shared_from_partner": "Foto da {partner}",
"shared_link_options": "Opzioni link condiviso", "shared_link_options": "Opzioni link condiviso",
"shared_links": "Link condivisi", "shared_links": "Link condivisi",
"shared_links_description": "Condividi foto e video con un link",
"shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video condivisi.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# foto & video condivisi.}}",
"shared_with_partner": "Condiviso con {partner}", "shared_with_partner": "Condiviso con {partner}",
"sharing": "Condivisione", "sharing": "Condivisione",
@@ -1187,6 +1196,7 @@
"show_person_options": "Mostra opzioni persona", "show_person_options": "Mostra opzioni persona",
"show_progress_bar": "Mostra Barra Avanzamento", "show_progress_bar": "Mostra Barra Avanzamento",
"show_search_options": "Mostra impostazioni di ricerca", "show_search_options": "Mostra impostazioni di ricerca",
"show_shared_links": "Mostra link condivisi",
"show_slideshow_transition": "Mostra la transizione della presentazione", "show_slideshow_transition": "Mostra la transizione della presentazione",
"show_supporter_badge": "Medaglia di Contributore", "show_supporter_badge": "Medaglia di Contributore",
"show_supporter_badge_description": "Mostra la medaglia di contributore", "show_supporter_badge_description": "Mostra la medaglia di contributore",
@@ -1274,6 +1284,7 @@
"unfavorite": "Rimuovi preferito", "unfavorite": "Rimuovi preferito",
"unhide_person": "Mostra persona", "unhide_person": "Mostra persona",
"unknown": "Sconosciuto", "unknown": "Sconosciuto",
"unknown_country": "Paese sconosciuto",
"unknown_year": "Anno sconosciuto", "unknown_year": "Anno sconosciuto",
"unlimited": "Illimitato", "unlimited": "Illimitato",
"unlink_motion_video": "Scollega video in movimento", "unlink_motion_video": "Scollega video in movimento",

View File

@@ -20,7 +20,7 @@
"add_partner": "파트너 추가", "add_partner": "파트너 추가",
"add_path": "경로 추가", "add_path": "경로 추가",
"add_photos": "사진 추가", "add_photos": "사진 추가",
"add_to": "앨범에 추가...", "add_to": "앨범에 추가",
"add_to_album": "앨범에 추가", "add_to_album": "앨범에 추가",
"add_to_shared_album": "공유 앨범에 추가", "add_to_shared_album": "공유 앨범에 추가",
"add_url": "URL 추가", "add_url": "URL 추가",
@@ -131,7 +131,7 @@
"machine_learning_smart_search_description": "CLIP 임베딩으로 자연어를 사용하여 이미지 검색", "machine_learning_smart_search_description": "CLIP 임베딩으로 자연어를 사용하여 이미지 검색",
"machine_learning_smart_search_enabled": "스마트 검색 활성화", "machine_learning_smart_search_enabled": "스마트 검색 활성화",
"machine_learning_smart_search_enabled_description": "비활성화된 경우 스마트 검색을 위한 이미지 처리를 진행하지 않습니다.", "machine_learning_smart_search_enabled_description": "비활성화된 경우 스마트 검색을 위한 이미지 처리를 진행하지 않습니다.",
"machine_learning_url_description": "기계 학습 서버 URL", "machine_learning_url_description": "기계 학습 서버 URL을 입럭합니다. 여러 개의 URL이 입력된 경우 모든 서버에 응답을 보낸 뒤 응답에 성공한 서버가 사용됩니다.",
"manage_concurrency": "동시성 관리", "manage_concurrency": "동시성 관리",
"manage_log_settings": "로그 설정 관리", "manage_log_settings": "로그 설정 관리",
"map_dark_style": "다크 스타일", "map_dark_style": "다크 스타일",
@@ -219,11 +219,11 @@
"reset_settings_to_default": "설정을 기본값으로 복원", "reset_settings_to_default": "설정을 기본값으로 복원",
"reset_settings_to_recent_saved": "마지막으로 저장된 설정으로 복원", "reset_settings_to_recent_saved": "마지막으로 저장된 설정으로 복원",
"scanning_library": "라이브러리 스캔 중", "scanning_library": "라이브러리 스캔 중",
"search_jobs": "작업 검색...", "search_jobs": "작업 검색",
"send_welcome_email": "환영 이메일 전송", "send_welcome_email": "환영 이메일 전송",
"server_external_domain_settings": "외부 도메인", "server_external_domain_settings": "외부 도메인",
"server_external_domain_settings_description": "공개 공유 링크에 사용할 도메인 (http(s):// 포함)", "server_external_domain_settings_description": "공개 공유 링크에 사용할 도메인 (http(s):// 포함)",
"server_public_users": "공공 사용자", "server_public_users": "모든 사용자",
"server_public_users_description": "공유 앨범에 사용자를 추가할 경우 모든 사용자(이름, 이메일)가 나열됩니다. 비활성화 할 경우, 관리자만이 사용자 목록을 사용할 수 있습니다.", "server_public_users_description": "공유 앨범에 사용자를 추가할 경우 모든 사용자(이름, 이메일)가 나열됩니다. 비활성화 할 경우, 관리자만이 사용자 목록을 사용할 수 있습니다.",
"server_settings": "서버 설정", "server_settings": "서버 설정",
"server_settings_description": "서버 설정 관리", "server_settings_description": "서버 설정 관리",
@@ -250,6 +250,10 @@
"storage_template_user_label": "사용자의 스토리지 레이블: <code>{label}</code>", "storage_template_user_label": "사용자의 스토리지 레이블: <code>{label}</code>",
"system_settings": "시스템 설정", "system_settings": "시스템 설정",
"tag_cleanup_job": "태그 정리", "tag_cleanup_job": "태그 정리",
"template_email_if_empty": "비어 있는 경우 기본 템플릿이 사용됩니다.",
"template_email_preview": "미리보기",
"template_email_settings": "이메일 템플릿",
"template_email_settings_description": "사용자 정의 이메일 템플릿 관리",
"theme_custom_css_settings": "사용자 정의 CSS", "theme_custom_css_settings": "사용자 정의 CSS",
"theme_custom_css_settings_description": "Immich에 적용할 사용자 정의 CSS(Cascading Style Sheets) 설정", "theme_custom_css_settings_description": "Immich에 적용할 사용자 정의 CSS(Cascading Style Sheets) 설정",
"theme_settings": "테마 설정", "theme_settings": "테마 설정",
@@ -392,17 +396,17 @@
"are_these_the_same_person": "동일한 인물인가요?", "are_these_the_same_person": "동일한 인물인가요?",
"are_you_sure_to_do_this": "계속 진행하시겠습니까?", "are_you_sure_to_do_this": "계속 진행하시겠습니까?",
"asset_added_to_album": "앨범에 추가되었습니다.", "asset_added_to_album": "앨범에 추가되었습니다.",
"asset_adding_to_album": "앨범에 추가 중...", "asset_adding_to_album": "앨범에 추가 중",
"asset_description_updated": "항목의 설명이 업데이트되었습니다.", "asset_description_updated": "항목의 설명이 업데이트되었습니다.",
"asset_filename_is_offline": "{filename} 항목 누락됨", "asset_filename_is_offline": "{filename} 항목 누락됨",
"asset_has_unassigned_faces": "항목에 할당되지 않은 얼굴이 있음", "asset_has_unassigned_faces": "항목에 할당되지 않은 얼굴이 있음",
"asset_hashing": "해시 확인 중...", "asset_hashing": "해싱 중…",
"asset_offline": "누락된 항목", "asset_offline": "누락된 항목",
"asset_offline_description": "디스크에서 항목을 더이상 찾을 수 없습니다. 서버 관리자에게 연락하여 도움을 받으세요.", "asset_offline_description": "디스크에서 항목을 더이상 찾을 수 없습니다. 서버 관리자에게 연락하여 도움을 받으세요.",
"asset_skipped": "건너뜀", "asset_skipped": "건너뜀",
"asset_skipped_in_trash": "휴지통의 항목", "asset_skipped_in_trash": "휴지통의 항목",
"asset_uploaded": "업로드 완료", "asset_uploaded": "업로드 완료",
"asset_uploading": "업로드 중...", "asset_uploading": "업로드 중",
"assets": "항목", "assets": "항목",
"assets_added_count": "항목 {count, plural, one {#개} other {#개}}가 추가되었습니다.", "assets_added_count": "항목 {count, plural, one {#개} other {#개}}가 추가되었습니다.",
"assets_added_to_album_count": "앨범에 항목 {count, plural, one {#개} other {#개}} 추가됨", "assets_added_to_album_count": "앨범에 항목 {count, plural, one {#개} other {#개}} 추가됨",
@@ -1080,6 +1084,8 @@
"search": "검색", "search": "검색",
"search_albums": "앨범 검색", "search_albums": "앨범 검색",
"search_by_context": "내용 검색", "search_by_context": "내용 검색",
"search_by_description": "설명으로 검색",
"search_by_description_example": "사파에서 즐기는 하이킹",
"search_by_filename": "파일명 또는 확장자로 검색", "search_by_filename": "파일명 또는 확장자로 검색",
"search_by_filename_example": "예시: IMG_1234.JPG or PNG", "search_by_filename_example": "예시: IMG_1234.JPG or PNG",
"search_camera_make": "카메라 제조사 검색...", "search_camera_make": "카메라 제조사 검색...",
@@ -1221,6 +1227,7 @@
"they_will_be_merged_together": "선택한 인물들이 병합됩니다.", "they_will_be_merged_together": "선택한 인물들이 병합됩니다.",
"third_party_resources": "서드 파티 리소스", "third_party_resources": "서드 파티 리소스",
"time_based_memories": "시간 기준 추억", "time_based_memories": "시간 기준 추억",
"timeline": "타임라인",
"timezone": "시간대", "timezone": "시간대",
"to_archive": "보관함으로 이동", "to_archive": "보관함으로 이동",
"to_change_password": "비밀번호 변경", "to_change_password": "비밀번호 변경",
@@ -1243,6 +1250,7 @@
"unfavorite": "즐겨찾기 해제", "unfavorite": "즐겨찾기 해제",
"unhide_person": "인물 숨김 해제", "unhide_person": "인물 숨김 해제",
"unknown": "알 수 없음", "unknown": "알 수 없음",
"unknown_country": "알 수 없는 지역",
"unknown_year": "알 수 없는 연도", "unknown_year": "알 수 없는 연도",
"unlimited": "무제한", "unlimited": "무제한",
"unlink_motion_video": "모션 비디오 링크 해제", "unlink_motion_video": "모션 비디오 링크 해제",
@@ -1279,6 +1287,7 @@
"user_purchase_settings_description": "구매 및 제품 키 관리", "user_purchase_settings_description": "구매 및 제품 키 관리",
"user_role_set": "{user}님에게 {role} 역할을 설정했습니다.", "user_role_set": "{user}님에게 {role} 역할을 설정했습니다.",
"user_usage_detail": "사용자 사용량 상세", "user_usage_detail": "사용자 사용량 상세",
"user_usage_stats_description": "계정 사용량 통계 보기",
"username": "계정명", "username": "계정명",
"users": "사용자", "users": "사용자",
"utilities": "도구", "utilities": "도구",
@@ -1286,7 +1295,7 @@
"variables": "변수", "variables": "변수",
"version": "버전", "version": "버전",
"version_announcement_closing": "당신의 친구, Alex가", "version_announcement_closing": "당신의 친구, Alex가",
"version_announcement_message": "안녕하세요, 새 버전의 Immich를 사용할 수 있습니다. 자세한 내용은 <link>릴리스 노트</link>를 참조하세요. WatchTower 등의 자동 업데이트 기능을 사용하는 경우 의도하지 않은 동작을 방지하기 위해 <code>docker-compose.yml</code> 및 <code>.env</code> 구성이 최신인지 확인하세요.", "version_announcement_message": "안녕하세요! 새 버전의 Immich를 사용할 수 있습니다. 잘못된 구성을 방지하고 Immich를 최신 상태로 유지하기 위해 잠시 시간을 내어 <link>릴리스 노트</link>를 읽어보는 것을 권장합니다. 특히 WatchTower 등의 자동 업데이트 기능을 사용하는 경우 의도하지 않은 동작을 방지하기 위해 더더욱 권장됩니다.",
"version_history": "버전 기록", "version_history": "버전 기록",
"version_history_item": "{date} 버전 {version} 설치", "version_history_item": "{date} 버전 {version} 설치",
"video": "동영상", "video": "동영상",

View File

@@ -932,6 +932,7 @@
"search": "Ieškoti", "search": "Ieškoti",
"search_albums": "", "search_albums": "",
"search_by_context": "Ieškoti pagal kontekstą", "search_by_context": "Ieškoti pagal kontekstą",
"search_by_description_example": "Žygio diena Sapoje",
"search_by_filename": "Ieškoti pagal failo pavadinimą arba plėtinį", "search_by_filename": "Ieškoti pagal failo pavadinimą arba plėtinį",
"search_by_filename_example": "pvz. IMG_1234.JPG arba PNG", "search_by_filename_example": "pvz. IMG_1234.JPG arba PNG",
"search_camera_make": "", "search_camera_make": "",

View File

@@ -841,13 +841,14 @@
"toggle_theme": "", "toggle_theme": "",
"total_usage": "Kopējais lietojums", "total_usage": "Kopējais lietojums",
"trash": "Atkritne", "trash": "Atkritne",
"trash_all": "", "trash_all": "Dzēst Visu",
"trash_no_results_message": "", "trash_no_results_message": "",
"type": "", "type": "",
"unarchive": "Atarhivēt", "unarchive": "Atarhivēt",
"unfavorite": "Noņemt no izlases", "unfavorite": "Noņemt no izlases",
"unhide_person": "Atcelt personas slēpšanu", "unhide_person": "Atcelt personas slēpšanu",
"unknown": "", "unknown": "",
"unknown_country": "Nezināma Valsts",
"unknown_year": "Nezināms gads", "unknown_year": "Nezināms gads",
"unlimited": "Neierobežots", "unlimited": "Neierobežots",
"unlink_oauth": "", "unlink_oauth": "",
@@ -857,7 +858,7 @@
"unselect_all": "", "unselect_all": "",
"unstack": "At-Stekot", "unstack": "At-Stekot",
"up_next": "", "up_next": "",
"updated_password": "", "updated_password": "Parole ir atjaunināta",
"upload": "Augšupielādēt", "upload": "Augšupielādēt",
"upload_concurrency": "", "upload_concurrency": "",
"upload_status_duplicates": "Dublikāti", "upload_status_duplicates": "Dublikāti",
@@ -868,7 +869,7 @@
"user": "Lietotājs", "user": "Lietotājs",
"user_id": "Lietotāja ID", "user_id": "Lietotāja ID",
"user_usage_detail": "Informācija par lietotāju lietojumu", "user_usage_detail": "Informācija par lietotāju lietojumu",
"username": "", "username": "Lietotājvārds",
"users": "Lietotāji", "users": "Lietotāji",
"utilities": "Rīki", "utilities": "Rīki",
"validate": "", "validate": "",
@@ -879,15 +880,16 @@
"video": "Videoklips", "video": "Videoklips",
"video_hover_setting_description": "", "video_hover_setting_description": "",
"videos": "Videoklipi", "videos": "Videoklipi",
"view_album": "Skatīt Albumu",
"view_all": "Apskatīt visu", "view_all": "Apskatīt visu",
"view_all_users": "", "view_all_users": "Skatīt visus lietotājus",
"view_links": "", "view_links": "",
"view_next_asset": "", "view_next_asset": "",
"view_previous_asset": "", "view_previous_asset": "",
"waiting": "Gaida", "waiting": "Gaida",
"week": "", "week": "Nedēļa",
"welcome_to_immich": "", "welcome_to_immich": "",
"year": "", "year": "Gads",
"years_ago": "Pirms {years, plural, one {# gada} other {# gadiem}}", "years_ago": "Pirms {years, plural, one {# gada} other {# gadiem}}",
"yes": "Jā", "yes": "Jā",
"zoom_image": "Pietuvināt attēlu" "zoom_image": "Pietuvināt attēlu"

View File

@@ -1,28 +1,295 @@
{ {
"about": "Освежи", "about": "За Immich",
"account": "Профил", "account": "Профил",
"account_settings": "Поставки за профилот", "account_settings": "Поставки за профилот",
"acknowledge": "Означи како прочитано", "acknowledge": "Прочитано",
"action": "Акција", "action": "Акција",
"actions": "Акции", "actions": "Акции",
"active": "Активни", "active": "Активни",
"activity": "Активности", "activity": "Активност",
"add": "Додај", "activity_changed": "Активноста е {enabled, select, true {овозможена} other {неовозможена}}",
"add_a_description": "Додај опис", "add": "Додади",
"add_a_location": "Додај локација", "add_a_description": "Додади опис",
"add_a_name": "Додај име", "add_a_location": "Додади локација",
"add_a_title": "Додај наслов", "add_a_name": "Додади име",
"add_exclusion_pattern": "Додај патерн за игнотирање", "add_a_title": "Додади наслов",
"add_import_path": "Додај патека за импортирање", "add_exclusion_pattern": "Додади шаблон за исклучување",
"add_location": "Додај локација", "add_import_path": "Додади патека за импортирање",
"add_more_users": "Додај уште корисници", "add_location": "Додади локација",
"add_partner": "Додај партнер", "add_more_users": "Додади уште корисници",
"add_path": "Додај патека", "add_partner": "Додади партнер",
"add_photos": "Додај слики", "add_path": "Додади патека",
"add_to": "Додај во...", "add_photos": "Додади слики",
"add_to_album": "Додај во албум", "add_to": "Додади во",
"add_to_shared_album": "Додај во споделен албум", "add_to_album": "Додади во албум",
"add_to_shared_album": "Додади во споделен албум",
"add_url": "Додади URL",
"added_to_archive": "Додадено во архива", "added_to_archive": "Додадено во архива",
"added_to_favorites": "Додадено во омилени", "added_to_favorites": "Додадено во омилени",
"added_to_favorites_count": "Додадени {count, number} во омилени" "added_to_favorites_count": "Додадени {count, number} во омилени",
"admin": {
"add_exclusion_pattern_description": "Додади шаблони за исклучување. Поддржано е користење на glob со *, **, и ?. За да се игнорираат сите датотеки во кој било директориум именуван \"Raw\", користи \"**/Raw/**\". За да се игнорираат сите датотеки што завршуваат со \".tif\", користи \"**/*.tif\". За да се игнорира апсолутна патека, користи \"/path/to/ignore/**\".",
"asset_offline_description": "Ова средство од екстерна библиотека веќе не е пронајдено на дискот и е преместено во ѓубре. Ако датотеката била преместена во рамките на библиотеката, проверете ја вашата временска линија за новото соодветно средство. За да го вратите ова средство, осигурајте се дека долунаведената патека може да биде пристапена од Immich и скенирајте ја библиотеката.",
"authentication_settings": "Поставки за автентикација",
"authentication_settings_description": "Управувај со лозинки, OAuth, и други поставки за автентикација",
"authentication_settings_disable_all": "Дали сте сигурни дека сакате да ги исклучите сите методи за најава? Целосно ќе биде оневозможено најавување.",
"authentication_settings_reenable": "За повторно да овозможите, искористете <link>Сервер команда</link>.",
"background_task_job": "Позадински задачи",
"backup_database": "Резервна копија од базата на податоци",
"backup_database_enable_description": "Овозможи резервни копии од базата на податоци",
"backup_keep_last_amount": "Количина на претходни резервни копии за чување",
"backup_settings": "Поставки за резервни копии",
"backup_settings_description": "Управувај со поставки за резервни копии на базата на податоци",
"check_all": "Провери сѐ",
"cleared_jobs": "Исчистени задачи за: {job}",
"config_set_by_file": "Конгигурацијата е моментално поставена од конфигурациска датотека",
"confirm_delete_library": "Дали сте сигурни дека сакате да ја избришете библиотеката {library}?",
"confirm_delete_library_assets": "Дали сте сигурни дека сакате да ја избришете оваа библиотека? Ова ќе {count, plural, one {избрише # содржано средство} other {ги избрише сите # содржани средства}} од Immich и нема да може да се {count, plural, one {врати} other {вратат}} назад. Датотеките ќе останат на диск.",
"confirm_email_below": "За да потврдите, внесете \"{email}\" доле",
"confirm_reprocess_all_faces": "Дали сте сигурни дека сакате да се обработат одново сите лица? Ова ќе ги избрише и сите именувани луѓе.",
"confirm_user_password_reset": "Дали сте сигурни дека сакате да се поништи лозинката на {user}?",
"create_job": "Создади задача",
"cron_expression": "Cron израз",
"cron_expression_description": "Подеси го интервалот на скенирање користејќи го cron форматот. За повеќе информации погледнете на пр. <link>Crontab Guru</link>",
"cron_expression_presets": "Предефинирани Cron изрази",
"disable_login": "Оневозможи најава",
"duplicate_detection_job_description": "Пушти машинско учење на средствата за да се откријат слични слики. Се потпира на Smart Search",
"force_delete_user_warning": "ПРЕДУПРЕДУВАЊЕ: Ова веднаш ќе го отстрани корисникот и сите средства. Оваа акција не може да се поништи и датотеките нема да може да се вратат назад.",
"image_format": "Формат",
"image_quality": "Квалитет",
"image_resolution": "Резолуција",
"image_settings": "Поставки за слики",
"library_scanning": "Периодично скенирање",
"library_settings": "Екстерна библиотека",
"logging_enable_description": "Вклучи евидентирање",
"logging_settings": "Евидентирање",
"map_dark_style": "Темен стил",
"map_light_style": "Светол стил",
"map_settings": "Карта",
"metadata_extraction_job": "Извлечи метаподатоци",
"migration_job": "Миграција",
"oauth_auto_launch": "Автоматско започнување",
"oauth_auto_register": "Автоматска регистрација",
"oauth_button_text": "Текст на копче",
"oauth_client_id": "Клиентски ID",
"oauth_client_secret": "Клиентска тајна",
"oauth_issuer_url": "URL на издавач",
"oauth_scope": "Опсег",
"oauth_settings": "OAuth",
"oauth_signing_algorithm": "Алгоритам за потпишување",
"offline_paths": "Офлајн патеки",
"password_settings": "Најава со лозинка",
"repair_all": "Поправи ги сите",
"sidecar_job": "Sidecar метаподатоци",
"storage_template_settings": "Шаблон за складирање",
"system_settings": "Системски поставки",
"thumbnail_generation_job": "Генерирај сликички",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_threads": "Нишки",
"untracked_files": "Неследени датотеки"
},
"admin_email": "Администрациска Е-пошта",
"admin_password": "Администрациска лозинка",
"administration": "Администрација",
"advanced": "Напредно",
"albums": "Албуми",
"all": "Сите",
"all_people": "Сите луѓе",
"anti_clockwise": "Спротивно од стрелките на часовникот",
"appears_in": "Се појавува во",
"archive": "Архива",
"archive_size": "Големина на архива",
"asset_hashing": "Хеширање…",
"asset_offline": "Средството е офлајн",
"asset_skipped": "Пропуштено",
"assets": "Средства",
"authorized_devices": "Авторизирани уреди",
"back": "Назад",
"backward": "Наназад",
"blurred_background": "Заматена позадина",
"camera": "Камера",
"camera_brand": "Марка на камера",
"camera_model": "Модел на камера",
"cancel": "Откажи",
"cancel_search": "Откажи пребарување",
"change_password": "Промени лозинка",
"city": "Град",
"clear": "Исчисти",
"clear_all": "Исчисти сѐ",
"clockwise": "Во насока на стрелките на часовникот",
"close": "Затвори",
"collapse": "Колапс",
"collapse_all": "Колапсирај сѐ",
"color": "Боја",
"comment_options": "Опции за коментар",
"confirm": "Потврди",
"confirm_password": "Потврди лозинка",
"contain": "Во рамки на прозорецот",
"context": "Контекст",
"continue": "Продолжи",
"copy_image": "Копирај слика",
"copy_link": "Копирај линк",
"country": "Држава",
"cover": "Покриј го прозорецот",
"covers": "Насловни",
"create": "Создади",
"create_album": "Создади албум",
"create_link": "Создади линк",
"created": "Создадено",
"current_device": "Тековен уред",
"dark": "Темно",
"day": "Ден",
"delete": "Избриши",
"delete_link": "Избриши линк",
"description": "Опис",
"details": "Детали",
"direction": "Насока",
"disabled": "Оневозможено",
"discord": "Дискорд",
"discover": "Откриј",
"display_options": "Опции за приказ",
"documentation": "Документација",
"done": "Готово",
"download": "Превземи",
"download_settings": "Превземање",
"downloading": "Се превземува",
"duplicates": "Дупликати",
"duration": "Времетраење",
"edit": "Уреди",
"edit_date": "Датум на уредување",
"edit_faces": "Уреди лица",
"edit_link": "Уреди линк",
"edit_location": "Уреди локација",
"edit_people": "Уреди луѓе",
"edit_user": "Уреди корисник",
"edited": "Уредено",
"editor": "Уредувач",
"editor_crop_tool_h2_rotation": "Ротација",
"email": "Е-пошта",
"empty_trash": "Испразни го ѓубрето",
"enable": "Овозможи",
"enabled": "Овозможено",
"end_date": "Краен датум",
"error": "Грешка",
"exif": "Exif",
"expand_all": "Прошири ги сите",
"expire_after": "Да истече после",
"expired": "Истечено",
"explore": "Истражи",
"export": "Извези",
"extension": "Екстензија",
"external": "Екстерно",
"external_libraries": "Екстерни библиотеки",
"face_unassigned": "Недоделено",
"favorite": "Омилено",
"favorites": "Омилени",
"features": "Функии",
"file_name": "Име на датотека",
"filename": "Име на датотека",
"filetype": "Тип на датотека",
"filter_people": "Филтрирај луѓе",
"folders": "Папки",
"forward": "Нанапред",
"general": "Генерално",
"get_help": "Побарај помош",
"go_back": "Врати се назад",
"hide_password": "Скриј лозинка",
"host": "Хост",
"hour": "Час",
"image": "Слика",
"in_archive": "Во архива",
"individual_share": "Индивидуално споделување",
"info": "Информации",
"jobs": "Задачи",
"keep": "Задржи",
"language": "Јазик",
"last_seen": "Последно видено",
"latitude": "Географска ширина",
"leave": "Напушти",
"level": "Ниво",
"library": "Библиотека",
"light": "Светло",
"link_options": "Опции за линк",
"list": "Листа",
"loading": "Вчитување",
"log_out": "Одјави се",
"login": "Најава",
"longitude": "Географска должина",
"look": "Изглед",
"make": "Марка",
"map": "Карта",
"matches": "Софпаѓања",
"media_type": "Тип на медија",
"memories": "Мемории",
"memory": "Меморија",
"menu": "Мени",
"merge": "Спој",
"minimize": "Минимизирај",
"minute": "Минута",
"missing": "Недостасувачки",
"model": "Модел",
"month": "Месец",
"more": "Уште",
"name": "Име",
"never": "Никогаш",
"new_password": "Нова лозинка",
"new_person": "Нова личност",
"next": "Следно",
"no": "Не",
"no_name": "Без име",
"no_results": "Нема резултати",
"notes": "Белешки",
"notifications": "Нотификации",
"oauth": "OAuth",
"offline": "Офлајн",
"ok": "Ок",
"online": "Онлајн",
"options": "Опции",
"or": "или",
"original": "оригинално",
"other": "Друго",
"other_devices": "Други уреди",
"other_variables": "Други променливи",
"password": "Лозинка",
"people": "Луѓе",
"permanently_delete": "Трајни избриши",
"photos": "Слики",
"place": "Место",
"preset": "Претходно поставено",
"preview": "Преглед",
"reaction_options": "Опции за реакција",
"read_changelog": "Прочитај дневник на промени",
"refresh": "Освежи",
"refreshed": "Освежено",
"remove": "Отстрани",
"repair": "Поправи",
"require_password": "Потребно лозинка",
"reset": "Ресетирај",
"restore": "Поврати",
"role": "Улога",
"save": "Зачувај",
"search": "Пребарај",
"second": "Секунда",
"selected": "Избрано",
"settings": "Поставки",
"share": "Сподели",
"sharing": "Споделување",
"slideshow": "Слајдшоу",
"state": "Регион",
"suggestions": "Предлози",
"sync": "Синхронизација",
"template": "Шаблон",
"to_archive": "Архива",
"to_favorite": "Додади во омилени",
"trash": "Ѓубре",
"unarchive": "Извади од архива",
"unfavorite": "Извади од омилени",
"unknown": "Непознато",
"users": "Korisnici",
"utilities": "Алатки",
"variables": "Променливи",
"video": "Видео",
"waiting": "Во исчекување",
"week": "Недела",
"year": "Година"
} }

View File

@@ -20,13 +20,13 @@
"add_partner": "Tambah rakan", "add_partner": "Tambah rakan",
"add_path": "Tambah laluan", "add_path": "Tambah laluan",
"add_photos": "Tambah gambar", "add_photos": "Tambah gambar",
"add_to": "Tambah ke...", "add_to": "Tambah ke",
"add_to_album": "Tambah ke album", "add_to_album": "Tambah ke album",
"add_to_shared_album": "Tambah ke album yang dikongsi", "add_to_shared_album": "Tambah ke album yang dikongsi",
"add_url": "Tambah URL", "add_url": "Tambah URL",
"added_to_archive": "Tambah ke arkib", "added_to_archive": "Tambah ke arkib",
"added_to_favorites": "Ditambah pada favorit", "added_to_favorites": "Ditambah ke kegemaran",
"added_to_favorites_count": "Menambahkan {count, number} ke favorit", "added_to_favorites_count": "Menambahkan {count, number} ke kegemaran",
"admin": { "admin": {
"add_exclusion_pattern_description": "Tambahkan corak pengecualian. Globbing menggunakan *, **, dan ? disokong. Untuk mengabaikan semua fail dalam mana-mana direktori bernama \"Raw\", gunakan \"**/Raw/**\". Untuk mengabaikan semua fail yang berakhir dengan \".tif\", gunakan \"**/*.tif\". Untuk mengabaikan laluan mutlak, gunakan \"/path/to/ignore/**\".", "add_exclusion_pattern_description": "Tambahkan corak pengecualian. Globbing menggunakan *, **, dan ? disokong. Untuk mengabaikan semua fail dalam mana-mana direktori bernama \"Raw\", gunakan \"**/Raw/**\". Untuk mengabaikan semua fail yang berakhir dengan \".tif\", gunakan \"**/*.tif\". Untuk mengabaikan laluan mutlak, gunakan \"/path/to/ignore/**\".",
"asset_offline_description": "Aset pustaka luaran ini tidak lagi ditemui pada cakera dan telah dialihkan ke sampah. Jika fail telah dialihkan dalam pustaka, semak garis masa anda untuk aset baharu yang sepadan. Untuk memulihkan aset ini, sila pastikan bahawa laluan fail di bawah boleh diakses oleh Immich dan mengimbas pustaka.", "asset_offline_description": "Aset pustaka luaran ini tidak lagi ditemui pada cakera dan telah dialihkan ke sampah. Jika fail telah dialihkan dalam pustaka, semak garis masa anda untuk aset baharu yang sepadan. Untuk memulihkan aset ini, sila pastikan bahawa laluan fail di bawah boleh diakses oleh Immich dan mengimbas pustaka.",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Tetapkan semula tetapan kepada lalai", "reset_settings_to_default": "Tetapkan semula tetapan kepada lalai",
"reset_settings_to_recent_saved": "Tetapkan semula tetapan kepada tetapan yang disimpan baru-baru ini", "reset_settings_to_recent_saved": "Tetapkan semula tetapan kepada tetapan yang disimpan baru-baru ini",
"scanning_library": "Mengimbas perpustakaan", "scanning_library": "Mengimbas perpustakaan",
"search_jobs": "Cari kerja...", "search_jobs": "Cari kerja",
"send_welcome_email": "Hantar e-mel alu-aluan", "send_welcome_email": "Hantar e-mel alu-aluan",
"server_external_domain_settings": "Domain luaran", "server_external_domain_settings": "Domain luaran",
"server_external_domain_settings_description": "Domain untuk pautan kongsi awam, termasuk http(s)://", "server_external_domain_settings_description": "Domain untuk pautan kongsi awam, termasuk http(s)://",
@@ -230,6 +230,7 @@
"server_welcome_message": "Mesej alu-aluan", "server_welcome_message": "Mesej alu-aluan",
"server_welcome_message_description": "Mesej yang dipaparkan pada halaman log masuk.", "server_welcome_message_description": "Mesej yang dipaparkan pada halaman log masuk.",
"sidecar_job": "Metadata kereta sisi", "sidecar_job": "Metadata kereta sisi",
"sidecar_job_description": "Temui atau segerakkan metadata sampingan daripada sistem fail",
"slideshow_duration_description": "Bilangan saat untuk memaparkan setiap imej", "slideshow_duration_description": "Bilangan saat untuk memaparkan setiap imej",
"smart_search_job_description": "Jalankan pembelajaran mesin pada aset-aset untuk menyokong carian pintar", "smart_search_job_description": "Jalankan pembelajaran mesin pada aset-aset untuk menyokong carian pintar",
"storage_template_date_time_description": "Cap masa penciptaan aset digunakan untuk maklumat masa dan tarikh", "storage_template_date_time_description": "Cap masa penciptaan aset digunakan untuk maklumat masa dan tarikh",
@@ -242,10 +243,85 @@
"storage_template_migration_info": "Perubahan templat hanya akan digunakan pada aset baharu. Untuk menggunakan templat secara retroaktif pada aset-aset yang dimuat naik sebelum ini, jalankan <link>{job}</link>.", "storage_template_migration_info": "Perubahan templat hanya akan digunakan pada aset baharu. Untuk menggunakan templat secara retroaktif pada aset-aset yang dimuat naik sebelum ini, jalankan <link>{job}</link>.",
"storage_template_migration_job": "Kerja Migrasi Templat Storan", "storage_template_migration_job": "Kerja Migrasi Templat Storan",
"storage_template_more_details": "Untuk butiran lanjut tentang ciri ini, rujuk kepada <template-link>Templat Storan</template-link> dan <implications-link>implikasi</implications-link>", "storage_template_more_details": "Untuk butiran lanjut tentang ciri ini, rujuk kepada <template-link>Templat Storan</template-link> dan <implications-link>implikasi</implications-link>",
"storage_template_onboarding_description": "Apabila didayakan, ciri ini akan menyusun fail secara automatik berdasarkan templat yang ditentukan pengguna. Disebabkan isu kestabilan, ciri ini telah dimatikan secara umum. Untuk mendapatkan maklumat lanjut, sila lihat <link>dokumentasi</link>.",
"storage_template_path_length": "Anggaran kepanjangan laluan: <b>{length, number}</b>/{limit, number}",
"storage_template_settings": "Templat Storan", "storage_template_settings": "Templat Storan",
"storage_template_settings_description": "Urus struktur folder dan nama fail aset dimuat naik",
"storage_template_user_label": "<code>{label}</code> ialah Label Storan pengguna",
"system_settings": "Tetapan Sistem",
"tag_cleanup_job": "Pembersihan tag",
"template_email_available_tags": "Anda boleh menggunakan pembolehubah berikut dalam templat anda: {tags}",
"template_email_if_empty": "Jika templat kosong, e-mel yang terpilih sebelum ini akan digunakan.",
"template_email_invite_album": "Templat Jemputan Album",
"template_email_preview": "Previu",
"template_email_settings": "Templat E-mel",
"template_email_settings_description": "Templat urus pemberitahuan dengan e-mel tersuai",
"template_email_update_album": "Templat Kemas kini Album",
"template_email_welcome": "Templat e-mel alu-aluan",
"template_settings": "Templat Pemberitahuan",
"template_settings_description": "Urus templat tersuai untuk pemberitahuan.",
"theme_custom_css_settings": "CSS tersuai",
"theme_custom_css_settings_description": "Lembaran Gaya Lata membolehkan reka bentuk Immich disuaikan.",
"theme_settings": "Tetapan Tema",
"theme_settings_description": "Urus penyesuaian antara muka web Immich", "theme_settings_description": "Urus penyesuaian antara muka web Immich",
"these_files_matched_by_checksum": "Fail ini dipadankan dengan semakan mereka",
"thumbnail_generation_job": "Jana Imej Kenit", "thumbnail_generation_job": "Jana Imej Kenit",
"thumbnail_generation_job_description": "Janakan imej kenit yang besar, kecil, dan kabur untuk setiap aset, serta imej kenit untuk setiap orang" "thumbnail_generation_job_description": "Janakan imej kenit yang besar, kecil, dan kabur untuk setiap aset, serta imej kenit untuk setiap orang",
"transcoding_acceleration_api": "API Pecutan",
"transcoding_acceleration_api_description": "API yang akan berinteraksi dengan peranti anda untuk mempercepatkan transcoding. Tetapan ini adalah 'usaha terbaik': ia akan berundur kepada transkod perisian apabila gagal. VP9 mungkin berfungsi atau tidak bergantung pada perkakasan anda.",
"transcoding_acceleration_nvenc": "NVENC (memerlukan GPU NVIDIA)",
"transcoding_acceleration_qsv": "Pensegerakan Pantas (memerlukan CPU Intel generasi ke-7 atau lebih baru)",
"transcoding_acceleration_rkmpp": "RKMPP (hanya pada SOC Rockchip)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Codec audio yang diterima",
"transcoding_accepted_audio_codecs_description": "Pilih codec audio yang tidak perlu ditranskodkan. Hanya digunakan untuk dasar transkod tertentu.",
"transcoding_accepted_containers": "Bekas yang diterima",
"transcoding_accepted_containers_description": "Pilih format bekas yang tidak perlu ditukar semula kepada MP4. Hanya digunakan untuk dasar transkod tertentu.",
"transcoding_accepted_video_codecs": "Codec video yang diterima",
"transcoding_accepted_video_codecs_description": "Pilih codec video yang tidak perlu ditranskodkan. Hanya digunakan untuk dasar transkod tertentu.",
"transcoding_advanced_options_description": "Pilihan yang tidak perlu diubah untuk kebanyakan pengguna",
"transcoding_audio_codec": "Codec audio",
"transcoding_audio_codec_description": "Opus ialah pilihan kualiti tertinggi, tetapi mempunyai keserasian yang lebih rendah dengan peranti atau perisian lama.",
"transcoding_bitrate_description": "Video yang lebih tinggi daripada kadar bit maksimum atau tidak dalam format yang diterima",
"transcoding_codecs_learn_more": "Untuk mengetahui lebih lanjut tentang istilah yang digunakan di sini, rujuk dokumentasi FFmpeg untuk <h264-link>codec H.264</h264-link>, <hevc-link>codec HEVC</hevc-link> dan <vp9-link>codec VP9</vp9-link>.",
"transcoding_constant_quality_mode": "Mod kualiti berterusan",
"transcoding_constant_quality_mode_description": "ICQ lebih baik daripada CQP, tetapi ada beberapa peranti pecutan perkakasan tidak menyokong mod ini. Menetapkan pilihan ini akan memilih mod yang ditentukan apabila menggunakan pengekodan berasaskan kualiti. Diabaikan oleh NVENC kerana ia tidak menyokong ICQ.",
"transcoding_constant_rate_factor": "Faktor kadar malar (-crf)",
"transcoding_constant_rate_factor_description": "Tahap kualiti video. Nilai biasa ialah 23 untuk H.264, 28 untuk HEVC, 31 untuk VP9 dan 35 untuk AV1. Lebih rendah adalah lebih baik, tetapi menghasilkan fail yang lebih besar.",
"transcoding_disabled_description": "Jangan transcode mana-mana video, boleh memecahkan main balik pada sesetengah pelanggan",
"transcoding_encoding_options": "Pilihan Pengekodan",
"transcoding_encoding_options_description": "Tetapkan codec, resolusi, kualiti dan pilihan lain untuk video yang dikodkan",
"transcoding_hardware_acceleration": "Pecutan Perkakasan",
"transcoding_hardware_acceleration_description": "Eksperimen; lebih pantas, tetapi akan mempunyai kualiti yang lebih rendah pada kadar bit yang sama",
"transcoding_hardware_decoding": "Penyahkodan perkakasan",
"transcoding_hardware_decoding_setting_description": "Mendayakan pecutan hujung ke hujung dan bukannya hanya mempercepatkan pengekodan. Mungkin tidak berfungsi pada semua video.",
"transcoding_hevc_codec": "Codec HEVC",
"transcoding_max_b_frames": "Bingkai-B maksimum",
"transcoding_max_b_frames_description": "Nilai yang lebih tinggi meningkatkan kecekapan mampatan, tetapi memperlahankan pengekodan. Mungkin tidak serasi dengan pecutan perkakasan pada peranti lama. 0 melumpuhkan bingkai B, manakala -1 menetapkan nilai ini secara automatik.",
"transcoding_max_bitrate": "Kadar bit maksimum",
"transcoding_max_bitrate_description": "Menetapkan kadar bit maksima boleh menjadikan saiz fail lebih boleh diramal dengan kekurangan yang kecil kepada kualiti. Pada 720p, nilai biasa ialah 2600k untuk VP9 atau HEVC, atau 4500k untuk H.264. Dilumpuhkan jika ditetapkan kepada 0.",
"transcoding_max_keyframe_interval": "Selangan keyframe maksimum",
"transcoding_max_keyframe_interval_description": "Menetapkan jarak bingkai maksimum antara keyframes. Nilai yang lebih rendah memburukkan kecekapan mampatan, tetapi menambah baik masa carian dan mungkin meningkatkan kualiti dalam adegan dengan pergerakan pantas. 0 menetapkan nilai ini secara automatik.",
"transcoding_optimal_description": "Video yang lebih tinggi daripada resolusi sasaran atau tidak dalam format yang diterima",
"transcoding_policy": "Dasar Transkod",
"transcoding_policy_description": "Tetapkan masa bila video akan ditranskodkan",
"transcoding_preferred_hardware_device": "Pilihan peranti perkakasan",
"transcoding_preferred_hardware_device_description": "Terpakai hanya untuk VAAPI dan QSV. Menetapkan nod dri yang digunakan untuk transkod perkakasan.",
"transcoding_preset_preset": "Pratetap (-preset)",
"transcoding_preset_preset_description": "Kelajuan mampatan. Pratetap yang lebih perlahan menghasilkan fail yang lebih kecil dan meningkatkan kualiti apabila pada kadar bit tertentu. VP9 mengabaikan kelajuan di atas 'lebih cepat'.",
"transcoding_reference_frames": "Bingkai rujukan",
"transcoding_reference_frames_description": "Bilangan bingkai untuk dirujuk semasa memampatkan bingkai yang diberikan. Nilai yang lebih tinggi meningkatkan kecekapan mampatan, tetapi memperlahankan pengekodan. 0 menetapkan nilai ini secara automatik.",
"transcoding_required_description": "Hanya untuk video yang tidak dalam format yang diterima",
"transcoding_settings": "Tetapan Transkod Video",
"transcoding_settings_description": "Urus video yang hendak ditranskod dan cara memprosesnya",
"transcoding_target_resolution": "Resolusi sasaran",
"transcoding_target_resolution_description": "Peleraian yang lebih tinggi boleh mengekalkan lebih banyak butiran tetapi mengambil masa lebih lama untuk mengekod, mempunyai saiz fail yang lebih besar dan boleh mengurangkan responsif app.",
"transcoding_temporal_aq": "AQ sementara",
"transcoding_temporal_aq_description": "Terpakai hanya untuk NVEC. Meningkatkan kualiti adegan yang berperinci tinggi dan berpunya rendah gerakan. Mungkin tidak serasi dengan peranti lama.",
"transcoding_threads": "Benang",
"transcoding_threads_description": "Nilai yang lebih tinggi membawa kepada pengekodan yang lebih pantas, tetapi meninggalkan lebih sedikit ruang untuk pemproses tugas lain semasa aktif. Nilai ini tidak boleh lebih daripada bilangan teras CPU. Memaksimumkan penggunaan jika ditetapkan kepada 0.",
"transcoding_tone_mapping": "Pemetaan nada",
"transcoding_tone_mapping_description": "Percubaan untuk mengekalkan penampilan video HDR apabila ditukar kepada SDR. Setiap algoritma membuat pertukaran yang berbeza untuk warna, perincian dan kecerahan. Hable mengekalkan perincian, Mobius mengekalkan warna, dan Reinhard mengekalkan kecerahan."
}, },
"deduplication_criteria_1": "Saiz imej dalam bait", "deduplication_criteria_1": "Saiz imej dalam bait",
"deduplication_criteria_2": "Kiraan data EXIF", "deduplication_criteria_2": "Kiraan data EXIF",
@@ -286,6 +362,8 @@
"download_settings": "Muat Turun", "download_settings": "Muat Turun",
"download_settings_description": "Urus tetapan yang berkaitan dengan muat turun aset", "download_settings_description": "Urus tetapan yang berkaitan dengan muat turun aset",
"downloading": "Memuat turun", "downloading": "Memuat turun",
"search_by_description": "Carian secara huraian",
"search_by_description_example": "Hari mendaki di Sapa",
"timeline": "Garis masa", "timeline": "Garis masa",
"total": "Jumlah", "total": "Jumlah",
"user_usage_stats": "Statistik penggunaan akaun", "user_usage_stats": "Statistik penggunaan akaun",

View File

@@ -14,13 +14,13 @@
"add_a_name": "Legg til navn", "add_a_name": "Legg til navn",
"add_a_title": "Legg til tittel", "add_a_title": "Legg til tittel",
"add_exclusion_pattern": "Legg til ekskluderingsmønster", "add_exclusion_pattern": "Legg til ekskluderingsmønster",
"add_import_path": "Legg til importbane", "add_import_path": "Legg til importsti",
"add_location": "Legg til sted", "add_location": "Legg til sted",
"add_more_users": "Legg til flere brukere", "add_more_users": "Legg til flere brukere",
"add_partner": "Legg til partner", "add_partner": "Legg til partner",
"add_path": "Legg til bane", "add_path": "Legg til sti",
"add_photos": "Legg til bilder", "add_photos": "Legg til bilder",
"add_to": "Legg til...", "add_to": "Legg til",
"add_to_album": "Legg til album", "add_to_album": "Legg til album",
"add_to_shared_album": "Legg til delt album", "add_to_shared_album": "Legg til delt album",
"add_url": "Legg til URL", "add_url": "Legg til URL",
@@ -28,9 +28,9 @@
"added_to_favorites": "Lagt til i favoritter", "added_to_favorites": "Lagt til i favoritter",
"added_to_favorites_count": "Lagt til {count, number} i favoritter", "added_to_favorites_count": "Lagt til {count, number} i favoritter",
"admin": { "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 \"/filbane/til/ignorer/**\".", "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/**\".",
"asset_offline_description": "Denne eksterne bibliotekressursen finnes ikke lenger på disk og har blitt flyttet til papirkurven. Hvis filen ble flyttet innad i biblioteket, sjekk tidslinjen din for den tilsvarende ressursen. For å gjenopprette ressursen, vennligst sørg for at filstien under er tilgjengelig for Immich og skan biblioteket.", "asset_offline_description": "Denne eksterne bibliotekressursen finnes ikke lenger på disk og har blitt flyttet til papirkurven. Hvis filen ble flyttet innad i biblioteket, sjekk tidslinjen din for den tilsvarende ressursen. For å gjenopprette ressursen, vennligst sørg for at filstien under er tilgjengelig for Immich og skan biblioteket.",
"authentication_settings": "Autentiserings innstillinger", "authentication_settings": "Godkjenningsinnstillinger",
"authentication_settings_description": "Administrer passord, OAuth, og andre innstillinger for autentisering", "authentication_settings_description": "Administrer passord, OAuth, og andre innstillinger for autentisering",
"authentication_settings_disable_all": "Er du sikker på at du ønsker å deaktivere alle innloggingsmetoder? Innlogging vil bli fullstendig deaktivert.", "authentication_settings_disable_all": "Er du sikker på at du ønsker å deaktivere alle innloggingsmetoder? Innlogging vil bli fullstendig deaktivert.",
"authentication_settings_reenable": "For å aktivere på nytt, bruk en <link>Server Command</link>.", "authentication_settings_reenable": "For å aktivere på nytt, bruk en <link>Server Command</link>.",
@@ -58,10 +58,10 @@
"external_library_created_at": "Ekstern bibliotek (opprettet {date})", "external_library_created_at": "Ekstern bibliotek (opprettet {date})",
"external_library_management": "Administrasjon av eksterne biblioteker", "external_library_management": "Administrasjon av eksterne biblioteker",
"face_detection": "Ansiktsgjenkjennelse", "face_detection": "Ansiktsgjenkjennelse",
"face_detection_description": "Oppdag ansikter i filer ved hjelp av maskinlæring. For videoer vurderes bare miniatyrbildet. \"All\" (om-)behandler alle ressurser. \"Missing\" stiller opp ressurser som ikke har blitt behandlet ennå. Oppdagede ansikter vil bli stilt opp for ansiktsgjenkjenning etter at ansiktsgjenkjenning er fullført, og de grupperes i eksisterende eller nye personer.", "face_detection_description": "Finn ansikter i bilder ved hjelp av maskinlæring. For videoer brukes bare miniatyrbildet. \"Alle\" går gjennom alle bilder (igjen). \"Tilbakestill\" fjerner all gjeldende ansiktsdata. \"Manglende\" legger til filer som ikke har blitt behandlet enda i køen. Oppdagede ansikter vil blir sendt til ansiktsgjenkjenning, og koblet til eksisterende eller nye personer.",
"facial_recognition_job_description": "Grupper oppdagede ansikter i personer. Denne trinn utføres etter at ansiktsgjenkjenning er fullført. \"All\" (om-)grupperer alle ansikter på nytt. \"Missing\" stiller opp ansikter som ikke har blitt tilordnet en person ennå.", "facial_recognition_job_description": "Kobler oppdagede ansikt til personer. Dette utføres etter at ansiktssøk er fullført. \"Tilbakestill\" (om-)grupperer alle ansikt på nytt. \"Missing\" stiller opp ansikt som ikke har blitt tilordnet en person ennå.",
"failed_job_command": "Kommandoen {command} feilet for jobben: {job}", "failed_job_command": "Kommandoen {command} feilet for jobb: {job}",
"force_delete_user_warning": "ADVARSEL: Dette vil umiddelbart fjerne brukeren og alle eiendeler. Dette kan ikke angres, og filene kan ikke gjenopprettes.", "force_delete_user_warning": "ADVARSEL: Dette vil umiddelbart fjerne brukeren og alle data. Dette kan ikke angres, og filene kan ikke gjenopprettes.",
"forcing_refresh_library_files": "Tvinger oppdatering av alle bibliotekfiler", "forcing_refresh_library_files": "Tvinger oppdatering av alle bibliotekfiler",
"image_format": "Format", "image_format": "Format",
"image_format_description": "WebP gir mindre filer enn JPEG, men er tregere å lage.", "image_format_description": "WebP gir mindre filer enn JPEG, men er tregere å lage.",
@@ -102,7 +102,7 @@
"library_watching_settings_description": "Se automatisk etter endrede filer", "library_watching_settings_description": "Se automatisk etter endrede filer",
"logging_enable_description": "Aktiver logging", "logging_enable_description": "Aktiver logging",
"logging_level_description": "Hvis aktivert, hvilket loggnivå som skal brukes.", "logging_level_description": "Hvis aktivert, hvilket loggnivå som skal brukes.",
"logging_settings": "Logging", "logging_settings": "Logger",
"machine_learning_clip_model": "Clip-modell", "machine_learning_clip_model": "Clip-modell",
"machine_learning_clip_model_description": "Navnet på en CLIP-modell finnes <link>her</link>. Merk at du må kjøre 'Smart Søk'-jobben på nytt for alle bilder etter at du har endret modell.", "machine_learning_clip_model_description": "Navnet på en CLIP-modell finnes <link>her</link>. Merk at du må kjøre 'Smart Søk'-jobben på nytt for alle bilder etter at du har endret modell.",
"machine_learning_duplicate_detection": "Duplikat-deteksjon", "machine_learning_duplicate_detection": "Duplikat-deteksjon",
@@ -155,7 +155,7 @@
"metadata_settings_description": "Administrer metadatainnstillinger", "metadata_settings_description": "Administrer metadatainnstillinger",
"migration_job": "Migrering", "migration_job": "Migrering",
"migration_job_description": "Migrer miniatyrbilder for filer og ansikter til den nyeste mappestrukturen", "migration_job_description": "Migrer miniatyrbilder for filer og ansikter til den nyeste mappestrukturen",
"no_paths_added": "Ingen filbaner lagt til", "no_paths_added": "Ingen filstier lagt til",
"no_pattern_added": "Ingen mønster lagt til", "no_pattern_added": "Ingen mønster lagt til",
"note_apply_storage_label_previous_assets": "Merk: For å bruke lagringsetiketten på tidligere opplastede filer, kjør", "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!", "note_cannot_be_changed_later": "MERK: Dette kan ikke endres senere!",
@@ -201,12 +201,12 @@
"oauth_storage_quota_claim_description": "Sett automatisk brukerens lagringskvote til verdien av dette kravet.", "oauth_storage_quota_claim_description": "Sett automatisk brukerens lagringskvote til verdien av dette kravet.",
"oauth_storage_quota_default": "Standard lagringskvote (GiB)", "oauth_storage_quota_default": "Standard lagringskvote (GiB)",
"oauth_storage_quota_default_description": "Kvote i GiB som skal brukes når ingen krav er oppgitt (Skriv 0 for ubegrenset kvote).", "oauth_storage_quota_default_description": "Kvote i GiB som skal brukes når ingen krav er oppgitt (Skriv 0 for ubegrenset kvote).",
"offline_paths": "Frakoblede filbaner", "offline_paths": "Frakoblede filstier",
"offline_paths_description": "Disse resultatene kan skyldes manuell sletting av filer som ikke er en del av et eksternt bibliotek.", "offline_paths_description": "Disse resultatene kan skyldes manuell sletting av filer som ikke er en del av et eksternt bibliotek.",
"password_enable_description": "Logg inn med e-post og passord", "password_enable_description": "Logg inn med e-post og passord",
"password_settings": "Passordinnlogging", "password_settings": "Passordinnlogging",
"password_settings_description": "Administrer innstillinger for passordinnlogging", "password_settings_description": "Administrer innstillinger for passordinnlogging",
"paths_validated_successfully": "Alle filbaner validert uten problemer", "paths_validated_successfully": "Alle filstier validert uten problemer",
"person_cleanup_job": "Person opprydding", "person_cleanup_job": "Person opprydding",
"quota_size_gib": "Kvotestørrelse (GiB)", "quota_size_gib": "Kvotestørrelse (GiB)",
"refreshing_all_libraries": "Oppdaterer alle biblioteker", "refreshing_all_libraries": "Oppdaterer alle biblioteker",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Tilbakestill innstillinger til standard", "reset_settings_to_default": "Tilbakestill innstillinger til standard",
"reset_settings_to_recent_saved": "Tilbakestill innstillingene til de nylig lagrede innstillingene", "reset_settings_to_recent_saved": "Tilbakestill innstillingene til de nylig lagrede innstillingene",
"scanning_library": "Søk biblioteket", "scanning_library": "Søk biblioteket",
"search_jobs": "Søk etter jobber...", "search_jobs": "Søk etter jobber",
"send_welcome_email": "Send velkomst-e-post", "send_welcome_email": "Send velkomst-e-post",
"server_external_domain_settings": "Eksternt domene", "server_external_domain_settings": "Eksternt domene",
"server_external_domain_settings_description": "Domene for offentlige delingslenker, inkludert http(s)://", "server_external_domain_settings_description": "Domene for offentlige delingslenker, inkludert http(s)://",
@@ -362,7 +362,7 @@
"advanced": "Avansert", "advanced": "Avansert",
"age_months": "Alder {months, plural, one {# måned} other {# måneder}}", "age_months": "Alder {months, plural, one {# måned} other {# måneder}}",
"age_year_months": "Alder 1 år, {months, plural, one {# måned} other {# måneder}}", "age_year_months": "Alder 1 år, {months, plural, one {# måned} other {# måneder}}",
"age_years": "{years, plural, other {Age #}}", "age_years": "{years, plural, other {Alder #}}",
"album_added": "Album lagt til", "album_added": "Album lagt til",
"album_added_notification_setting_description": "Motta en e-postvarsling når du legges til i et delt album", "album_added_notification_setting_description": "Motta en e-postvarsling når du legges til i et delt album",
"album_cover_updated": "Albumomslag oppdatert", "album_cover_updated": "Albumomslag oppdatert",
@@ -406,22 +406,22 @@
"are_these_the_same_person": "Er disse samme person?", "are_these_the_same_person": "Er disse samme person?",
"are_you_sure_to_do_this": "Er du sikker på at du vil gjøre dette?", "are_you_sure_to_do_this": "Er du sikker på at du vil gjøre dette?",
"asset_added_to_album": "Lagt til i album", "asset_added_to_album": "Lagt til i album",
"asset_adding_to_album": "Legger til i album...", "asset_adding_to_album": "Legger til i album",
"asset_description_updated": "Elementbeskrivelse har blitt oppdatert", "asset_description_updated": "Elementbeskrivelse har blitt oppdatert",
"asset_filename_is_offline": "Element {filename} er offline", "asset_filename_is_offline": "Element {filename} er offline",
"asset_has_unassigned_faces": "Element har ikke-tilordnede ansikter", "asset_has_unassigned_faces": "Element har ikke-tilordnede ansikter",
"asset_hashing": "Hasher...", "asset_hashing": "Hasher",
"asset_offline": "Fil utilgjengelig", "asset_offline": "Fil utilgjengelig",
"asset_offline_description": "Dette elementet er offline. Immich kan ikke aksessere dets lokasjon. Vennlist påse at elementet er tilgijengelig og skann så biblioteket på nytt.", "asset_offline_description": "Dette elementet er offline. Immich kan ikke aksessere dets lokasjon. Vennlist påse at elementet er tilgijengelig og skann så biblioteket på nytt.",
"asset_skipped": "Hoppet over", "asset_skipped": "Hoppet over",
"asset_skipped_in_trash": "I søppelbøtten", "asset_skipped_in_trash": "I søppelbøtten",
"asset_uploaded": "Lastet opp", "asset_uploaded": "Lastet opp",
"asset_uploading": "Laster opp...", "asset_uploading": "Laster opp",
"assets": "Filer", "assets": "Filer",
"assets_added_count": "Lagt til {count, plural, one {# element} other {# elementer}}", "assets_added_count": "Lagt til {count, plural, one {# element} other {# elementer}}",
"assets_added_to_album_count": "Lagt til {count, plural, one {# asset} other {# assets}} i album", "assets_added_to_album_count": "Lagt til {count, plural, one {# asset} other {# assets}} i album",
"assets_added_to_name_count": "Lagt til {count, plural, one {# asset} other {# assets}} i {hasName, select, true {<b>{name}</b>} other {new album}}", "assets_added_to_name_count": "Lagt til {count, plural, one {# asset} other {# assets}} i {hasName, select, true {<b>{name}</b>} other {new album}}",
"assets_count": "{count, plural, one {# asset} other {# assets}}", "assets_count": "{count, plural, one {# fil} other {# filer}}",
"assets_moved_to_trash_count": "Flyttet {count, plural, one {# asset} other {# assets}} til søppel", "assets_moved_to_trash_count": "Flyttet {count, plural, one {# asset} other {# assets}} til søppel",
"assets_permanently_deleted_count": "Permanent slettet {count, plural, one {# asset} other {# assets}}", "assets_permanently_deleted_count": "Permanent slettet {count, plural, one {# asset} other {# assets}}",
"assets_removed_count": "Slettet {count, plural, one {# asset} other {# assets}}", "assets_removed_count": "Slettet {count, plural, one {# asset} other {# assets}}",
@@ -509,7 +509,7 @@
"create_new_person_hint": "Tildel valgte eiendeler til en ny person", "create_new_person_hint": "Tildel valgte eiendeler til en ny person",
"create_new_user": "Opprett ny bruker", "create_new_user": "Opprett ny bruker",
"create_tag": "Lag tag", "create_tag": "Lag tag",
"create_tag_description": "Lag en ny tag. For undertag, vennligst fullfør hele banen til taggen, inkludert forovervendt skråstrek.", "create_tag_description": "Lag en ny tag. For undertag, vennligst fullfør hele stien til taggen, inkludert forovervendt skråstrek.",
"create_user": "Opprett Bruker", "create_user": "Opprett Bruker",
"created": "Opprettet", "created": "Opprettet",
"current_device": "Nåværende enhet", "current_device": "Nåværende enhet",
@@ -809,7 +809,7 @@
}, },
"invite_people": "Inviter Personer", "invite_people": "Inviter Personer",
"invite_to_album": "Inviter til album", "invite_to_album": "Inviter til album",
"items_count": "{count, plural, one {# item} other {# items}}", "items_count": "{count, plural, one {# gjenstand} other {# gjenstander}}",
"jobs": "Oppgaver", "jobs": "Oppgaver",
"keep": "Behold", "keep": "Behold",
"keep_all": "Behold alle", "keep_all": "Behold alle",
@@ -822,6 +822,7 @@
"latest_version": "Siste versjon", "latest_version": "Siste versjon",
"latitude": "Breddegrad", "latitude": "Breddegrad",
"leave": "Forlat", "leave": "Forlat",
"lens_model": "Objektiv",
"let_others_respond": "La andre respondere", "let_others_respond": "La andre respondere",
"level": "Nivå", "level": "Nivå",
"library": "Bibliotek", "library": "Bibliotek",
@@ -975,7 +976,7 @@
"permanently_deleted_asset": "Filen har blitt permanent slettet", "permanently_deleted_asset": "Filen har blitt permanent slettet",
"permanently_deleted_assets_count": "Permanent slett {count, plural, one {# asset} other {# assets}}", "permanently_deleted_assets_count": "Permanent slett {count, plural, one {# asset} other {# assets}}",
"person": "Person", "person": "Person",
"person_hidden": "{name}{hidden, select, true { (hidden)} other {}}", "person_hidden": "{name}{hidden, select, true { (skjult)} other {}}",
"photo_shared_all_users": "Det ser ut som om du deler bildene med alle brukere eller det er ingen brukere å dele med.", "photo_shared_all_users": "Det ser ut som om du deler bildene med alle brukere eller det er ingen brukere å dele med.",
"photos": "Bilder", "photos": "Bilder",
"photos_and_videos": "Bilder & Videoer", "photos_and_videos": "Bilder & Videoer",
@@ -1034,7 +1035,7 @@
"purchase_settings_server_activated": "Produktnøkkel for server er administrert av administratoren", "purchase_settings_server_activated": "Produktnøkkel for server er administrert av administratoren",
"rating": "Stjernevurdering", "rating": "Stjernevurdering",
"rating_clear": "Slett vurdering", "rating_clear": "Slett vurdering",
"rating_count": "{count, plural, one {# star} other {# stars}}", "rating_count": "{count, plural, one {# sjerne} other {# stjerner}}",
"rating_description": "Hvis EXIF vurdering i informasjons panelet", "rating_description": "Hvis EXIF vurdering i informasjons panelet",
"reaction_options": "Reaksjonsalternativer", "reaction_options": "Reaksjonsalternativer",
"read_changelog": "Les endringslogg", "read_changelog": "Les endringslogg",
@@ -1113,6 +1114,7 @@
"search_camera_model": "Søk etter kamera modell...", "search_camera_model": "Søk etter kamera modell...",
"search_city": "Søk etter by...", "search_city": "Søk etter by...",
"search_country": "Søk etter land...", "search_country": "Søk etter land...",
"search_for": "Søk etter",
"search_for_existing_person": "Søk etter eksisterende person", "search_for_existing_person": "Søk etter eksisterende person",
"search_no_people": "Ingen personer", "search_no_people": "Ingen personer",
"search_no_people_named": "Ingen personer med navnet \"{name}\"", "search_no_people_named": "Ingen personer med navnet \"{name}\"",
@@ -1141,7 +1143,7 @@
"select_photos": "Velg bilder", "select_photos": "Velg bilder",
"select_trash_all": "Velg å flytte alt til papirkurven", "select_trash_all": "Velg å flytte alt til papirkurven",
"selected": "Valgt", "selected": "Valgt",
"selected_count": "{count, plural, other {# selected}}", "selected_count": "{count, plural, other {# valgt}}",
"send_message": "Send melding", "send_message": "Send melding",
"send_welcome_email": "Send velkomstmelding", "send_welcome_email": "Send velkomstmelding",
"server_offline": "Server frakoblet", "server_offline": "Server frakoblet",
@@ -1270,7 +1272,7 @@
"trashed_items_will_be_permanently_deleted_after": "Elementer i papirkurven vil bli permanent slettet etter {days, plural, one {# dag} other {# dager}}.", "trashed_items_will_be_permanently_deleted_after": "Elementer i papirkurven vil bli permanent slettet etter {days, plural, one {# dag} other {# dager}}.",
"type": "Type", "type": "Type",
"unarchive": "Fjern fra arkiv", "unarchive": "Fjern fra arkiv",
"unarchived_count": "{count, plural, other {Unarchived #}}", "unarchived_count": "{count, plural, other {uarkivert #}}",
"unfavorite": "Fjern favoritt", "unfavorite": "Fjern favoritt",
"unhide_person": "Vis person", "unhide_person": "Vis person",
"unknown": "Ukjent", "unknown": "Ukjent",

View File

@@ -20,7 +20,7 @@
"add_partner": "Partner toevoegen", "add_partner": "Partner toevoegen",
"add_path": "Pad toevoegen", "add_path": "Pad toevoegen",
"add_photos": "Foto's toevoegen", "add_photos": "Foto's toevoegen",
"add_to": "Toevoegen aan...", "add_to": "Toevoegen aan",
"add_to_album": "Aan album toevoegen", "add_to_album": "Aan album toevoegen",
"add_to_shared_album": "Aan gedeeld album toevoegen", "add_to_shared_album": "Aan gedeeld album toevoegen",
"add_url": "URL toevoegen", "add_url": "URL toevoegen",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Instellingen teruggezet naar standaard", "reset_settings_to_default": "Instellingen teruggezet naar standaard",
"reset_settings_to_recent_saved": "Instellingen zijn gereset naar de recent opgeslagen instellingen", "reset_settings_to_recent_saved": "Instellingen zijn gereset naar de recent opgeslagen instellingen",
"scanning_library": "Bibliotheek scannen", "scanning_library": "Bibliotheek scannen",
"search_jobs": "Taak zoeken...", "search_jobs": "Taak zoeken",
"send_welcome_email": "Stuur een welkomstmail", "send_welcome_email": "Stuur een welkomstmail",
"server_external_domain_settings": "Extern domein", "server_external_domain_settings": "Extern domein",
"server_external_domain_settings_description": "Domein voor openbaar gedeelde links, inclusief http(s)://", "server_external_domain_settings_description": "Domein voor openbaar gedeelde links, inclusief http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Zijn dit dezelfde personen?", "are_these_the_same_person": "Zijn dit dezelfde personen?",
"are_you_sure_to_do_this": "Weet je zeker dat je dit wilt doen?", "are_you_sure_to_do_this": "Weet je zeker dat je dit wilt doen?",
"asset_added_to_album": "Toegevoegd aan album", "asset_added_to_album": "Toegevoegd aan album",
"asset_adding_to_album": "Toevoegen aan album...", "asset_adding_to_album": "Toevoegen aan album",
"asset_description_updated": "Asset beschrijving is bijgewerkt", "asset_description_updated": "Asset beschrijving is bijgewerkt",
"asset_filename_is_offline": "Asset {filename} is offline", "asset_filename_is_offline": "Asset {filename} is offline",
"asset_has_unassigned_faces": "Asset heeft niet-toegewezen gezichten", "asset_has_unassigned_faces": "Asset heeft niet-toegewezen gezichten",
"asset_hashing": "Hashen...", "asset_hashing": "Hashen",
"asset_offline": "Asset offline", "asset_offline": "Asset offline",
"asset_offline_description": "Deze externe asset is niet meer op de schijf te vinden. Neem contact op met de Immich beheerder voor hulp.", "asset_offline_description": "Deze externe asset is niet meer op de schijf te vinden. Neem contact op met de Immich beheerder voor hulp.",
"asset_skipped": "Overgeslagen", "asset_skipped": "Overgeslagen",
"asset_skipped_in_trash": "In prullenbak", "asset_skipped_in_trash": "In prullenbak",
"asset_uploaded": "Geüpload", "asset_uploaded": "Geüpload",
"asset_uploading": "Uploaden...", "asset_uploading": "Uploaden",
"assets": "Assets", "assets": "Assets",
"assets_added_count": "{count, plural, one {# asset} other {# assets}} toegevoegd", "assets_added_count": "{count, plural, one {# asset} other {# assets}} toegevoegd",
"assets_added_to_album_count": "{count, plural, one {# asset} other {# assets}} aan het album toegevoegd", "assets_added_to_album_count": "{count, plural, one {# asset} other {# assets}} aan het album toegevoegd",
@@ -766,8 +766,10 @@
"go_to_folder": "Ga naar map", "go_to_folder": "Ga naar map",
"go_to_search": "Ga naar zoeken", "go_to_search": "Ga naar zoeken",
"group_albums_by": "Groepeer albums op...", "group_albums_by": "Groepeer albums op...",
"group_country": "Groepeer op land",
"group_no": "Niet groeperen", "group_no": "Niet groeperen",
"group_owner": "Groeperen op eigenaar", "group_owner": "Groeperen op eigenaar",
"group_places_by": "Groepeer plaatsen op...",
"group_year": "Groeperen op jaar", "group_year": "Groeperen op jaar",
"has_quota": "Heeft limiet", "has_quota": "Heeft limiet",
"hi_user": "Hallo {name} ({email})", "hi_user": "Hallo {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Toon gedeelde albums", "include_shared_albums": "Toon gedeelde albums",
"include_shared_partner_assets": "Toon assets van gedeelde partner", "include_shared_partner_assets": "Toon assets van gedeelde partner",
"individual_share": "Individuele deellink", "individual_share": "Individuele deellink",
"individual_shares": "Individuele deellinks",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Iedere dag om 13 uur", "day_at_onepm": "Iedere dag om 13 uur",
@@ -822,6 +825,7 @@
"latest_version": "Nieuwste versie", "latest_version": "Nieuwste versie",
"latitude": "Breedtegraad", "latitude": "Breedtegraad",
"leave": "Verlaten", "leave": "Verlaten",
"lens_model": "Lens model",
"let_others_respond": "Laat anderen reageren", "let_others_respond": "Laat anderen reageren",
"level": "Niveau", "level": "Niveau",
"library": "Bibliotheek", "library": "Bibliotheek",
@@ -984,6 +988,7 @@
"pick_a_location": "Kies een locatie", "pick_a_location": "Kies een locatie",
"place": "Plaats", "place": "Plaats",
"places": "Plaatsen", "places": "Plaatsen",
"places_count": "{count, plural, one {{count, number} Plaats} other {{count, number} Plaatsen}}",
"play": "Afspelen", "play": "Afspelen",
"play_memories": "Herinneringen afspelen", "play_memories": "Herinneringen afspelen",
"play_motion_photo": "Bewegingsfoto afspelen", "play_motion_photo": "Bewegingsfoto afspelen",
@@ -1107,12 +1112,15 @@
"search": "Zoeken", "search": "Zoeken",
"search_albums": "Zoek albums", "search_albums": "Zoek albums",
"search_by_context": "Zoeken op context", "search_by_context": "Zoeken op context",
"search_by_description": "Zoeken op beschrijving",
"search_by_description_example": "Wandelen in Sapa",
"search_by_filename": "Zoeken op bestandsnaam of -extensie", "search_by_filename": "Zoeken op bestandsnaam of -extensie",
"search_by_filename_example": "b.v. IMG_1234.JPG of PNG", "search_by_filename_example": "b.v. IMG_1234.JPG of PNG",
"search_camera_make": "Zoek cameramerk...", "search_camera_make": "Zoek cameramerk...",
"search_camera_model": "Zoek cameramodel...", "search_camera_model": "Zoek cameramodel...",
"search_city": "Zoek stad...", "search_city": "Zoek stad...",
"search_country": "Zoek land...", "search_country": "Zoek land...",
"search_for": "Zoeken naar",
"search_for_existing_person": "Zoek naar bestaande persoon", "search_for_existing_person": "Zoek naar bestaande persoon",
"search_no_people": "Geen mensen", "search_no_people": "Geen mensen",
"search_no_people_named": "Geen mensen genaamd \"{name}\"", "search_no_people_named": "Geen mensen genaamd \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Foto's van {partner}", "shared_from_partner": "Foto's van {partner}",
"shared_link_options": "Opties voor gedeelde links", "shared_link_options": "Opties voor gedeelde links",
"shared_links": "Gedeelde links", "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_photos_and_videos_count": "{assetCount, plural, other {# gedeelde foto's & video's.}}",
"shared_with_partner": "Gedeeld met {partner}", "shared_with_partner": "Gedeeld met {partner}",
"sharing": "Delen", "sharing": "Delen",
@@ -1187,6 +1196,7 @@
"show_person_options": "Toon persoonopties", "show_person_options": "Toon persoonopties",
"show_progress_bar": "Toon voortgangsbalk", "show_progress_bar": "Toon voortgangsbalk",
"show_search_options": "Zoekopties weergeven", "show_search_options": "Zoekopties weergeven",
"show_shared_links": "Toon gedeelde links",
"show_slideshow_transition": "Diavoorstellingsovergang tonen", "show_slideshow_transition": "Diavoorstellingsovergang tonen",
"show_supporter_badge": "Supporter badge", "show_supporter_badge": "Supporter badge",
"show_supporter_badge_description": "Toon een supporterbadge", "show_supporter_badge_description": "Toon een supporterbadge",
@@ -1274,6 +1284,7 @@
"unfavorite": "Verwijderen uit favorieten", "unfavorite": "Verwijderen uit favorieten",
"unhide_person": "Persoon zichtbaar maken", "unhide_person": "Persoon zichtbaar maken",
"unknown": "Onbekend", "unknown": "Onbekend",
"unknown_country": "Onbekend Land",
"unknown_year": "Onbekend jaar", "unknown_year": "Onbekend jaar",
"unlimited": "Onbeperkt", "unlimited": "Onbeperkt",
"unlink_motion_video": "Maak bewegende video los", "unlink_motion_video": "Maak bewegende video los",

View File

@@ -2,10 +2,10 @@
"about": "Om", "about": "Om",
"account": "Konto", "account": "Konto",
"account_settings": "Kontoinnstillingar", "account_settings": "Kontoinnstillingar",
"acknowledge": "Godkjenn", "acknowledge": "Bekreft",
"action": "Handling", "action": "Handling",
"actions": "Handlingar", "actions": "Handlingar",
"active": "Aktiv", "active": "Aktive",
"activity": "Aktivitet", "activity": "Aktivitet",
"activity_changed": "Aktivitet er {enabled, select, true {aktivert} other {deaktivert}}", "activity_changed": "Aktivitet er {enabled, select, true {aktivert} other {deaktivert}}",
"add": "Legg til", "add": "Legg til",
@@ -13,14 +13,14 @@
"add_a_location": "Legg til ein stad", "add_a_location": "Legg til ein stad",
"add_a_name": "Legg til eit namn", "add_a_name": "Legg til eit namn",
"add_a_title": "Legg til ein tittel", "add_a_title": "Legg til ein tittel",
"add_exclusion_pattern": "Legg til ekskluderingsmønster", "add_exclusion_pattern": "Legg til unnlatingsmønster",
"add_import_path": "Legg til sti for importering", "add_import_path": "Legg til sti for importering",
"add_location": "Legg til stad", "add_location": "Legg til stad",
"add_more_users": "Legg til fleire brukarar", "add_more_users": "Legg til fleire brukarar",
"add_partner": "Legg til partnar", "add_partner": "Legg til partnar",
"add_path": "Legg til sti", "add_path": "Legg til sti",
"add_photos": "Legg til bilete", "add_photos": "Legg til bilete",
"add_to": "Legg til...", "add_to": "Legg til",
"add_to_album": "Legg til album", "add_to_album": "Legg til album",
"add_to_shared_album": "Legg til delt album", "add_to_shared_album": "Legg til delt album",
"add_url": "Legg til URL", "add_url": "Legg til URL",
@@ -28,27 +28,98 @@
"added_to_favorites": "Lagt til favorittar", "added_to_favorites": "Lagt til favorittar",
"added_to_favorites_count": "Lagt {count, number} til favorittar", "added_to_favorites_count": "Lagt {count, number} til favorittar",
"admin": { "admin": {
"add_exclusion_pattern_description": "Legg til utelatingsmønstre. Du kan bruke jokerteikna *, **, og ? for å finne filer som passar mønsteret. For å ignorere alle filer i ei mappe kalla \"Raw\", bruk \"Raw\", bruk \"**/Raw/**\". For å ignorere alle filer som sluttar på \".tif\", bruk \"**/*.tif\". For å ignorere ein absolutt sti, bruk \"/path/to/ignore/**\".",
"asset_offline_description": "Denne eksterne bibliotekressursen finst ikkje lenger på disk og har blitt flytta til papirkurven. Om fila blei flytta innad i biblioteket, sjekk tidslinja di for den tilsvarande ressursen. For å gjenopprette ressursen, vennligst sørg for at filstien under er tilgjengeleg for Immich og skann biblioteket.", "asset_offline_description": "Denne eksterne bibliotekressursen finst ikkje lenger på disk og har blitt flytta til papirkurven. Om fila blei flytta innad i biblioteket, sjekk tidslinja di for den tilsvarande ressursen. For å gjenopprette ressursen, vennligst sørg for at filstien under er tilgjengeleg for Immich og skann biblioteket.",
"backup_settings": "Backupinnstillingar", "authentication_settings": "Godkjenningsinnstillingar",
"authentication_settings_description": "Handsam passord, OAuth, og godkjenningsinnstillingar",
"authentication_settings_disable_all": "Er du sikker at du ynskjer å gjera alle innloggingsmetodar uverksame? Innlogging vil bli heilt uverksam.",
"authentication_settings_reenable": "For å aktivere på nytt, bruk ein <link>Server Command</link>.",
"background_task_job": "Bakgrunnsjobbar",
"backup_database": "Sikkerheistkopier database",
"backup_database_enable_description": "Aktiver sikkerheitskopiering av database",
"backup_keep_last_amount": "Antal sikkerheitskopiar å behalde",
"backup_settings": "Sikkerheitskopi-innstillingar",
"backup_settings_description": "Handsam innstillingar for sikkerheitskopiering av database",
"check_all": "Sjekk alle", "check_all": "Sjekk alle",
"confirm_delete_library": "Er du sikker på at du vil slette biblioteket {library}?", "cleared_jobs": "Rydda jobbar for: {job}",
"config_set_by_file": "Oppsettet blir sett av ei oppsettfil",
"confirm_delete_library": "Er du sikker at du vil slette biblioteket {library}?",
"confirm_delete_library_assets": "Er du sikker at du vil slette dette biblioteket? Det kjem til å slette {count, plural, one {# contained asset} other {all # contained assets}} frå Immich og kan ikkje gjerast om. Filane blir verande på disken.",
"confirm_email_below": "For å bekrefte, skriv \"{email}\" under",
"confirm_reprocess_all_faces": "Er du sikker på at du vil behandle alle ansikt på nytt? Det vil òg fjerne namngjevne personar.",
"confirm_user_password_reset": "Er du sikker at du vil tilbakestille passordet til {user}?",
"create_job": "Lag jobb", "create_job": "Lag jobb",
"cron_expression": "Cron uttrykk",
"cron_expression_description": "Set inn skanningsintervall med cron-formatet. For meir informasjon sjå t.d. <link>Crontab Guru</link>",
"cron_expression_presets": "Førehandsinstillingar for Cron-uttrykk",
"disable_login": "Deaktiver innlogging", "disable_login": "Deaktiver innlogging",
"face_detection": "Ansiktsdeteksjon", "duplicate_detection_job_description": "Kjør maskinlæring på filer for å oppdage liknande bilete. Krev bruk av Smart Search",
"exclusion_pattern_description": "Utelatingsmønster let deg utelate filer og mapper når du skannar biblioteket ditt. Det er nyttig om du har mapper som inneheld filer du ikkje ynskjer å importere, til dømes RAW-filer.",
"external_library_created_at": "Eksterne bibliotek (oppretta {date})",
"external_library_management": "Handsaming av eksterne bibliotek",
"face_detection": "Ansiktssøk",
"face_detection_description": "Finn ansikt i bilete ved hjelp av maskinlæring. For videoar vert berre miniatyrbilete bruka. \"Alle\" søkjer (opp att) gjennom alle bilete. \"Tilbakestill\" fjernar all gjeldande ansiktsdata. \"Manglande\" legg filer som ikkje vert behandla til i køa for ansiktssøk. Oppdaga ansikt vert lagt i køa for ansiktsattkjenning, og kopla til eksisterande eller nye personar.",
"facial_recognition_job_description": "Koplar attkjende ansikt til personar. Det skjer fyrst når anskiktssøkjet er ferdig. \"Tilbakestill\" fjernar alle koplingar til personar, og tilbakestiller ansiktsgrupper. \"Manglande\" legg ansikt som ikkje er oppkopla til i køa.",
"failed_job_command": "Kommandoen {command} feila for jobb: {job}",
"force_delete_user_warning": "ÅTVARING: Handlinga fjernar brukaren og all data. Du kan ikkje angre, og filane kan ikkje gjenopprettast.",
"forcing_refresh_library_files": "Tvingar lasting av alle filer i bibliotek",
"image_format": "Format", "image_format": "Format",
"image_preview_title": "Forhandsvis innstillingar", "image_format_description": "WebP gjev mindre filstorleik enn JPEG, men er treigare å lage.",
"image_prefer_embedded_preview": "Bruk helst innebygd førehandsvisning",
"image_prefer_embedded_preview_setting_description": "Når mogleg bruk innebygd førehandsvisning av RAW bilete som inndata til biletehandsaming. For noko bilete kan det gje meir nøyaktige farger, men kvaliteten kjem an på kamera og det kan oppstå komprimeringsartefakt i bilete.",
"image_prefer_wide_gamut": "Bruk helst breitt fargespektrum",
"image_prefer_wide_gamut_setting_description": "Bruk Display P3 for miniatyrbilete. For bilete med eit breitt fargerom tek det betre vare på ljosstyrke, men på einingar med gamal nettlesarversjon kan bilete sjå usamde ut. Beheld sRGB bilete som sRGB for å unnga fargeforskuvingar.",
"image_preview_description": "Mellomstore bilete utan metadata, bruka ved vising av ei enkelt fil og til maskinlæring",
"image_preview_quality_description": "Kvalitet på førehandsvising frå 1-100. Høgare tal gjev betre kvalitet, men gjev større filstorleik og kan senkje farta på systemet. Ved låge tal kan det påverkje kvaliteten på maskinlæringa.",
"image_preview_title": "Innstillingar for førehandsvisning",
"image_quality": "Kvalitet", "image_quality": "Kvalitet",
"image_resolution": "Oppløysing", "image_resolution": "Oppløysing",
"image_resolution_description": "Høgare oppløysing inneheld meir detalj, men tek lengre tid å kode, gjev større filstorleik, og kan senkje appresponsen.",
"image_settings": "Innstillingar for bilete",
"image_settings_description": "Handsam kvalitet og oppløysing på framstilte bilete",
"image_thumbnail_description": "Lite miniatyrbilete med fjerna metadata, brukt når ein ser på grupper av bilete som hovudtidslinja", "image_thumbnail_description": "Lite miniatyrbilete med fjerna metadata, brukt når ein ser på grupper av bilete som hovudtidslinja",
"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",
"job_concurrency": "{job} samstundes utføring",
"job_created": "Jobb laga", "job_created": "Jobb laga",
"job_not_concurrency_safe": "Kan ikke trygt utføre jobben samstundes.",
"job_settings": "Jobbinnstillingar", "job_settings": "Jobbinnstillingar",
"job_settings_description": "Handsam samstundes utføring av jobber",
"job_status": "Jobbstatus", "job_status": "Jobbstatus",
"jobs_delayed": "{jobCount, plural, other {# forsinka}}",
"jobs_failed": "{jobCount, plural, other {# mislykkast}}",
"library_created": "Opprett bibliotek: {library}",
"library_deleted": "Bibliotek sletta", "library_deleted": "Bibliotek sletta",
"library_scanning": "Periodisk skanning", "library_import_path_description": "Angje ei mappe å importere. Mappa, inkludert undermapper, bli skanna for bilete og videoar.",
"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": "Eksternt Bibliotek",
"library_settings_description": "Handsam eksterne biblioteksinnstillingar",
"library_tasks_description": "Utfør bibliotekstoppgåver",
"library_watching_enable_description": "Sjekk eksterne bibliotek for forandringar",
"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.",
"logging_settings": "Logging", "logging_settings": "Logging",
"machine_learning_clip_model": "CLIP modell",
"machine_learning_clip_model_description": "Namnet på ein CLIP modell finst <link>her</link>. Merk at du må køyre 'Smart Søk'-jobben på nytt for alle bilete etter du har forandra modell.",
"machine_learning_duplicate_detection": "Duplikatdeteksjon", "machine_learning_duplicate_detection": "Duplikatdeteksjon",
"machine_learning_duplicate_detection_enabled": "Aktiver duplikatattkjenning",
"machine_learning_duplicate_detection_enabled_description": "Om uverksam, vil identiske filer framleis bli fjerna som duplikat.",
"machine_learning_duplicate_detection_setting_description": "Bruk CLIP-innkapslingar for å finne moglege duplikat",
"machine_learning_enabled": "Aktiver maskinlæring",
"machine_learning_enabled_description": "Om uverksam blir alle ML-funksjonar uverksame uavhengig av instillingane under.",
"machine_learning_facial_recognition": "Ansiktsgjenkjenning", "machine_learning_facial_recognition": "Ansiktsgjenkjenning",
"machine_learning_facial_recognition_description": "Finn, kjenn att, og kople ansikt i bilete",
"machine_learning_facial_recognition_model": "Ansiktsattkjenningsmodell",
"machine_learning_facial_recognition_model_description": "Modellane er oppført i søkkjande rekkjefølge etter storleik. Større modellar er treigare og brukar meir minne, men gjev betre resultat. Om du forandrar modell lyt du køyre ansiktsattkjenning om att på alle bilete.",
"machine_learning_facial_recognition_setting": "Aktiver ansiktsattkjenning",
"machine_learning_facial_recognition_setting_description": "Om uverksam blir ikkje bilete koda for ansiktsattkjenning og dukkar ikkje opp i \"Personar\" i Utforsk-sida.",
"machine_learning_max_detection_distance": "Maksimal oppdagingsverdi",
"machine_learning_max_detection_distance_description": "Den største skilnaden mellom to bilete for å rekne dei som duplikat, frå 0.001-0.1. Større verdiar finn fleire duplikat, men kan gje falske treff.",
"machine_learning_max_recognition_distance": "Maksimal attkjenningsverdi",
"machine_learning_smart_search": "Smart Søk", "machine_learning_smart_search": "Smart Søk",
"map_dark_style": "Mørk modus", "map_dark_style": "Mørk modus",
"map_light_style": "Lys modus", "map_light_style": "Lys modus",
@@ -60,18 +131,20 @@
"notification_settings": "Varselinnstillingar", "notification_settings": "Varselinnstillingar",
"oauth_auto_launch": "Autostart", "oauth_auto_launch": "Autostart",
"oauth_button_text": "Tekst på knapp", "oauth_button_text": "Tekst på knapp",
"password_settings": "Passord innlogging", "password_enable_description": "Logg inn med e-post og passord",
"password_settings": "Passordinnlogging",
"person_cleanup_job": "Personopprydding", "person_cleanup_job": "Personopprydding",
"refreshing_all_libraries": "Laster alle bibliotek opp att",
"registration": "Administrator registrering", "registration": "Administrator registrering",
"registration_description": "Sidan du er den første brukaren på systemet, vil du bli utnevnt til administrator og ha ansvar for administrative oppgåver. Du vil òg opprette eventuelle nye brukarar.", "registration_description": "Sidan du er den første brukaren på systemet, vil du bli utnevnt til administrator og ha ansvar for administrative oppgåver. Du vil òg opprette eventuelle nye brukarar.",
"repair_all": "Reparer alle", "repair_all": "Reparer alle",
"repair_matched_items": "Samsvarte med {count, plural, one {# element} other {# elementer}}", "repair_matched_items": "Samsvarte med {count, plural, one {# element} other {# element}}",
"repaired_items": "Reparerte {count, plural, one {# item} other {# items}}", "repaired_items": "Reparerte {count, plural, one {# element} other {# element}}",
"require_password_change_on_login": "Krev at brukaren endrar passord ved første pålogging", "require_password_change_on_login": "Krev at brukaren endrar passord ved første pålogging",
"reset_settings_to_default": "Tilbakestill innstillingar til standard", "reset_settings_to_default": "Tilbakestill innstillingar til standard",
"reset_settings_to_recent_saved": "Tilbakestill innstillingane til de nyleg lagra innstillingane", "reset_settings_to_recent_saved": "Tilbakestill innstillingane til de nyleg lagra innstillingane",
"scanning_library": "Skann bibliotek", "scanning_library": "Skann bibliotek",
"search_jobs": "Søk etter jobbar", "search_jobs": "Søk etter jobbar",
"send_welcome_email": "Send velkomst-e-post", "send_welcome_email": "Send velkomst-e-post",
"server_external_domain_settings": "Eksternt domene", "server_external_domain_settings": "Eksternt domene",
"server_external_domain_settings_description": "Domene for offentlege delingslenkjer, inkludert http(s)://", "server_external_domain_settings_description": "Domene for offentlege delingslenkjer, inkludert http(s)://",
@@ -81,8 +154,26 @@
"server_settings_description": "Administrer serverinnstillingar", "server_settings_description": "Administrer serverinnstillingar",
"server_welcome_message": "Velkomstmelding", "server_welcome_message": "Velkomstmelding",
"server_welcome_message_description": "Ei melding som synast på innloggingssida.", "server_welcome_message_description": "Ei melding som synast på innloggingssida.",
"template_email_preview": "Førehandsvisning" "system_settings": "Systeminnstillingar",
"template_email_preview": "Førehandsvisning",
"transcoding_acceleration_nvenc": "NVENC (Krev NVIDIA GPU)",
"transcoding_acceleration_qsv": "Quick Sync (Krev 7. generasjons Intel CPU eller nyare)",
"transcoding_acceleration_rkmpp": "RKMPP (Berre på Rockchip SOCer)",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "Tillatne lydkodekar",
"transcoding_accepted_audio_codecs_description": "Vel kva for lydkodekar som ikkje må omkodast. Blir berre bruka for noko omkodingsval.",
"transcoding_accepted_containers": "Tillatne behaldarar",
"transcoding_accepted_containers_description": "Vel kva for behaldarar som ikkje må omkodast til MP4. Blir berre bruka for nokon omkodingsval.",
"transcoding_accepted_video_codecs": "Tillatne videokodekar",
"transcoding_accepted_video_codecs_description": "Vel kva for videokodekar som ikkje må omkodast. Berre bruka for nokon omkodingsval.",
"transcoding_advanced_options_description": "Innstillingar dei fleste brukarar ikkje treng forandre på",
"transcoding_audio_codec": "Lydkodek",
"transcoding_audio_codec_description": "Opus er det valet med høgast lydkvalitet, men mindre kompabilitet med gamlare einingar og programvare.",
"transcoding_bitrate_description": "Videoar med bitrate over høgste tillatte verdi, eller i eit format som ikkje er tillate",
"transcoding_codecs_learn_more": "For å lære meir om nytta begrep, sjå FFmpeg dokumentasjon for <h264-link>H.264 codec</h264-link>, <hevc-link>HEVC codec</hevc-link> and <vp9-link>VP9 codec</vp9-link>."
}, },
"admin_email": "Adminisrator E-post",
"admin_password": "Administratorpassord",
"administration": "Administrasjon", "administration": "Administrasjon",
"advanced": "Avansert", "advanced": "Avansert",
"album_with_link_access": "Lat kven som helst med lenka sjå bilete og folk i dette albumet.", "album_with_link_access": "Lat kven som helst med lenka sjå bilete og folk i dette albumet.",
@@ -92,7 +183,7 @@
"archive": "Arkiv", "archive": "Arkiv",
"asset_skipped": "Hoppa over", "asset_skipped": "Hoppa over",
"asset_uploaded": "Opplasta", "asset_uploaded": "Opplasta",
"asset_uploading": "Lastar opp...", "asset_uploading": "Lastar opp",
"back": "Tilbake", "back": "Tilbake",
"backward": "Bakover", "backward": "Bakover",
"camera": "Kamera", "camera": "Kamera",
@@ -166,7 +257,7 @@
"never": "Aldri", "never": "Aldri",
"next": "Neste", "next": "Neste",
"no": "Nei", "no": "Nei",
"no_albums_message": "Lag eit album for å organisere bileta og videoane dine.", "no_albums_message": "Lag eit album for å organisere bileta og videoane dine",
"no_archived_assets_message": "Arkiver bilder og videoar for å skjule dei frå bileta dine", "no_archived_assets_message": "Arkiver bilder og videoar for å skjule dei frå bileta dine",
"no_explore_results_message": "Last opp fleire bilete for å utforske samlinga di.", "no_explore_results_message": "Last opp fleire bilete for å utforske samlinga di.",
"no_libraries_message": "Lag eit eksternt bibliotek for å sjå bileta og videoane dine", "no_libraries_message": "Lag eit eksternt bibliotek for å sjå bileta og videoane dine",
@@ -232,7 +323,7 @@
"shared_from_partner": "Bilete frå {partner}", "shared_from_partner": "Bilete frå {partner}",
"sharing": "Deling", "sharing": "Deling",
"show_in_timeline_setting_description": "Vis bilete og videoar frå denne brukaren i tidslinja di", "show_in_timeline_setting_description": "Vis bilete og videoar frå denne brukaren i tidslinja di",
"sidebar": "Sidebar", "sidebar": "Sidefelt",
"size": "Størrelse", "size": "Størrelse",
"slideshow": "Lysbildeframvisning", "slideshow": "Lysbildeframvisning",
"sort_title": "Tittel", "sort_title": "Tittel",
@@ -282,10 +373,13 @@
"version": "Versjon", "version": "Versjon",
"video": "Video", "video": "Video",
"videos": "Videoar", "videos": "Videoar",
"visibility_changed": "Synlegheit forandra for {count, plural, one {# person} other {# personar}}",
"waiting": "Ventar", "waiting": "Ventar",
"warning": "Advarsel", "warning": "Advarsel",
"week": "Veke", "week": "Veke",
"welcome": "Velkomen", "welcome": "Velkomen",
"year": "År", "year": "År",
"yes": "Ja" "years_ago": "{years, plural, one {# År} other {# År}} sidan",
"yes": "Ja",
"zoom_image": "Forstørr bilete"
} }

View File

@@ -20,7 +20,7 @@
"add_partner": "Dodaj partnera", "add_partner": "Dodaj partnera",
"add_path": "Dodaj ścieżkę", "add_path": "Dodaj ścieżkę",
"add_photos": "Dodaj zdjęcia", "add_photos": "Dodaj zdjęcia",
"add_to": "Dodaj do...", "add_to": "Dodaj do",
"add_to_album": "Dodaj do albumu", "add_to_album": "Dodaj do albumu",
"add_to_shared_album": "Dodaj do udostępnionego albumu", "add_to_shared_album": "Dodaj do udostępnionego albumu",
"add_url": "Dodaj URL", "add_url": "Dodaj URL",
@@ -39,7 +39,7 @@
"backup_database_enable_description": "Włącz kopię zapasową bazy danych", "backup_database_enable_description": "Włącz kopię zapasową bazy danych",
"backup_keep_last_amount": "Ile poprzednich kopii zapasowych przechowywać", "backup_keep_last_amount": "Ile poprzednich kopii zapasowych przechowywać",
"backup_settings": "Ustawienia kopii zapasowej", "backup_settings": "Ustawienia kopii zapasowej",
"backup_settings_description": "Zarządzaj ustawieniami kopii zapasowej bazy dnaych", "backup_settings_description": "Zarządzaj ustawieniami kopii zapasowej bazy danych",
"check_all": "Zaznacz Wszystko", "check_all": "Zaznacz Wszystko",
"cleared_jobs": "Usunięto zadania dla: {job}", "cleared_jobs": "Usunięto zadania dla: {job}",
"config_set_by_file": "Konfiguracja pochodzi z pliku konfiguracyjnego", "config_set_by_file": "Konfiguracja pochodzi z pliku konfiguracyjnego",
@@ -50,7 +50,7 @@
"confirm_user_password_reset": "Czy na pewno chcesz zresetować hasło użytkownika {user}?", "confirm_user_password_reset": "Czy na pewno chcesz zresetować hasło użytkownika {user}?",
"create_job": "Utwórz zadanie", "create_job": "Utwórz zadanie",
"cron_expression": "Wyrażenie Cron", "cron_expression": "Wyrażenie Cron",
"cron_expression_description": "Ustaw intwerwał skanowania przy pomocy formatu Cron'a. Po więcej informacji na temat formatu Cron zobacz . <link>Crontab Guru</link>", "cron_expression_description": "Ustaw interwał skanowania przy pomocy formatu Cron'a. Po więcej informacji na temat formatu Cron zobacz . <link>Crontab Guru</link>",
"cron_expression_presets": "Predefiniowane wyrażenia Cron'a", "cron_expression_presets": "Predefiniowane wyrażenia Cron'a",
"disable_login": "Wyłącz logowanie", "disable_login": "Wyłącz logowanie",
"duplicate_detection_job_description": "Włącz uczenie maszynowe na zasobie aby wykrywać podobne obrazy. Ta funkcja opiera się na inteligentnym wyszukiwaniu", "duplicate_detection_job_description": "Włącz uczenie maszynowe na zasobie aby wykrywać podobne obrazy. Ta funkcja opiera się na inteligentnym wyszukiwaniu",
@@ -196,7 +196,7 @@
"oauth_settings_more_details": "Więcej informacji o tej funkcji znajdziesz w <link>dokumentacji</link>.", "oauth_settings_more_details": "Więcej informacji o tej funkcji znajdziesz w <link>dokumentacji</link>.",
"oauth_signing_algorithm": "Algorytm podpisywania", "oauth_signing_algorithm": "Algorytm podpisywania",
"oauth_storage_label_claim": "Roszczenie dotyczące etykiety przechowywania", "oauth_storage_label_claim": "Roszczenie dotyczące etykiety przechowywania",
"oauth_storage_label_claim_description": "Automatycznie ustaw ilość miejsca w magazynie użytkownikowi na podaną niżej wartość.", "oauth_storage_label_claim_description": "Automatycznie ustaw etykietę przechowywania użytkownika na podaną niżej wartość.",
"oauth_storage_quota_claim": "Ilość miejsca w magazynie", "oauth_storage_quota_claim": "Ilość miejsca w magazynie",
"oauth_storage_quota_claim_description": "Automatycznie ustaw ilość miejsca w magazynie na podaną niżej wartość.", "oauth_storage_quota_claim_description": "Automatycznie ustaw ilość miejsca w magazynie na podaną niżej wartość.",
"oauth_storage_quota_default": "Domyślna ilość miejsca w magazynie (GiB)", "oauth_storage_quota_default": "Domyślna ilość miejsca w magazynie (GiB)",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Przywróć ustawienia fabryczne", "reset_settings_to_default": "Przywróć ustawienia fabryczne",
"reset_settings_to_recent_saved": "Przywróć ustawienia do ostatnio zapisanych", "reset_settings_to_recent_saved": "Przywróć ustawienia do ostatnio zapisanych",
"scanning_library": "Skanowanie biblioteki", "scanning_library": "Skanowanie biblioteki",
"search_jobs": "Zadania przeszukiwania...", "search_jobs": "Zadania przeszukiwania",
"send_welcome_email": "Wyślij powitalny e-mail", "send_welcome_email": "Wyślij powitalny e-mail",
"server_external_domain_settings": "Domena zewnętrzna", "server_external_domain_settings": "Domena zewnętrzna",
"server_external_domain_settings_description": "Domena dla publicznie udostępnionych linków, wraz z http(s)://", "server_external_domain_settings_description": "Domena dla publicznie udostępnionych linków, wraz z http(s)://",
@@ -250,7 +250,7 @@
"storage_template_user_label": "<code>{label}</code> to jest etykieta przechowywania użytkownika", "storage_template_user_label": "<code>{label}</code> to jest etykieta przechowywania użytkownika",
"system_settings": "Ustawienia Systemowe", "system_settings": "Ustawienia Systemowe",
"tag_cleanup_job": "Porządkowanie etykiet", "tag_cleanup_job": "Porządkowanie etykiet",
"template_email_available_tags": "Możesz uzyć tych zmiennych w swoim szablonie: {tags}", "template_email_available_tags": "Możesz użyć tych zmiennych w swoim szablonie: {tags}",
"template_email_if_empty": "Zostaw puste, aby użyć domyślny adres e-mail.", "template_email_if_empty": "Zostaw puste, aby użyć domyślny adres e-mail.",
"template_email_invite_album": "Szablon zaproszenia do albumu", "template_email_invite_album": "Szablon zaproszenia do albumu",
"template_email_preview": "Podgląd", "template_email_preview": "Podgląd",
@@ -261,7 +261,7 @@
"template_settings": "Szablony Powiadomień", "template_settings": "Szablony Powiadomień",
"template_settings_description": "Zarządzaj niestandardowymi szablonami powiadomień e-mail.", "template_settings_description": "Zarządzaj niestandardowymi szablonami powiadomień e-mail.",
"theme_custom_css_settings": "Własny CSS", "theme_custom_css_settings": "Własny CSS",
"theme_custom_css_settings_description": "Właśny CSS pozwala na zmianę wyglądu aplikacji Immich.", "theme_custom_css_settings_description": "Własny CSS pozwala na zmianę wyglądu aplikacji Immich.",
"theme_settings": "Ustawienia Motywu", "theme_settings": "Ustawienia Motywu",
"theme_settings_description": "Zarządzaj wyglądem aplikacji Immich w przeglądarce", "theme_settings_description": "Zarządzaj wyglądem aplikacji Immich w przeglądarce",
"these_files_matched_by_checksum": "Pliki te są powiązane na podstawie ich sum kontrolnych", "these_files_matched_by_checksum": "Pliki te są powiązane na podstawie ich sum kontrolnych",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Czy to jedna i ta sama osoba?", "are_these_the_same_person": "Czy to jedna i ta sama osoba?",
"are_you_sure_to_do_this": "Czy aby na pewno chcesz to zrobić?", "are_you_sure_to_do_this": "Czy aby na pewno chcesz to zrobić?",
"asset_added_to_album": "Dodano do albumu", "asset_added_to_album": "Dodano do albumu",
"asset_adding_to_album": "Dodawanie do albumu...", "asset_adding_to_album": "Dodawanie do albumu",
"asset_description_updated": "Zaktualizowano opis zasobu", "asset_description_updated": "Zaktualizowano opis zasobu",
"asset_filename_is_offline": "Zasób {filename} jest offline", "asset_filename_is_offline": "Zasób {filename} jest offline",
"asset_has_unassigned_faces": "Zasób ma nieprzypisane twarze", "asset_has_unassigned_faces": "Zasób ma nieprzypisane twarze",
"asset_hashing": "Hashowanie...", "asset_hashing": "Hashowanie",
"asset_offline": "Zasób niedostępny", "asset_offline": "Zasób niedostępny",
"asset_offline_description": "Ten zewnętrzny zasób nie jest już dostępny na dysku. Aby uzyskać pomoc, skontaktuj się z administratorem Immich.", "asset_offline_description": "Ten zewnętrzny zasób nie jest już dostępny na dysku. Aby uzyskać pomoc, skontaktuj się z administratorem Immich.",
"asset_skipped": "Pominięto", "asset_skipped": "Pominięto",
"asset_skipped_in_trash": "W koszu", "asset_skipped_in_trash": "W koszu",
"asset_uploaded": "Przesłano", "asset_uploaded": "Przesłano",
"asset_uploading": "Przesyłanie...", "asset_uploading": "Przesyłanie",
"assets": "Zasoby", "assets": "Zasoby",
"assets_added_count": "Dodano {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}", "assets_added_count": "Dodano {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}}",
"assets_added_to_album_count": "Dodano {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}} do albumu", "assets_added_to_album_count": "Dodano {count, plural, one {# zasób} few {# zasoby} many {# zasobów} other {# zasobów}} do albumu",
@@ -822,6 +822,7 @@
"latest_version": "Ostatnia Wersja", "latest_version": "Ostatnia Wersja",
"latitude": "Szerokość geograficzna", "latitude": "Szerokość geograficzna",
"leave": "Opuść", "leave": "Opuść",
"lens_model": "Model obiektywu",
"let_others_respond": "Pozwól innym reagować", "let_others_respond": "Pozwól innym reagować",
"level": "Poziom", "level": "Poziom",
"library": "Biblioteka", "library": "Biblioteka",
@@ -862,7 +863,7 @@
"map_settings": "Ustawienia mapy", "map_settings": "Ustawienia mapy",
"matches": "Powiązania", "matches": "Powiązania",
"media_type": "Typ zasobu", "media_type": "Typ zasobu",
"memories": "Wspomienia", "memories": "Wspomnienia",
"memories_setting_description": "Zarządzaj wspomnieniami", "memories_setting_description": "Zarządzaj wspomnieniami",
"memory": "Pamięć", "memory": "Pamięć",
"memory_lane_title": "Aleja Wspomnień {title}", "memory_lane_title": "Aleja Wspomnień {title}",
@@ -902,7 +903,7 @@
"no_duplicates_found": "Nie znaleziono duplikatów.", "no_duplicates_found": "Nie znaleziono duplikatów.",
"no_exif_info_available": "Nie znaleziono informacji exif", "no_exif_info_available": "Nie znaleziono informacji exif",
"no_explore_results_message": "Prześlij więcej zdjęć, aby przeglądać swój zbiór.", "no_explore_results_message": "Prześlij więcej zdjęć, aby przeglądać swój zbiór.",
"no_favorites_message": "Dodaj ulubione aby szybko znaleść swoje najlepsze zdjęcia i filmy", "no_favorites_message": "Dodaj ulubione aby szybko znaleźć swoje najlepsze zdjęcia i filmy",
"no_libraries_message": "Stwórz bibliotekę zewnętrzną, aby przeglądać swoje zdjęcia i filmy", "no_libraries_message": "Stwórz bibliotekę zewnętrzną, aby przeglądać swoje zdjęcia i filmy",
"no_name": "Brak Nazwy", "no_name": "Brak Nazwy",
"no_places": "Brak miejsc", "no_places": "Brak miejsc",
@@ -1107,12 +1108,14 @@
"search": "Szukaj", "search": "Szukaj",
"search_albums": "Przeszukaj albumy", "search_albums": "Przeszukaj albumy",
"search_by_context": "Wyszukaj według treści", "search_by_context": "Wyszukaj według treści",
"search_by_description": "Wyszukaj według opisu",
"search_by_filename": "Szukaj według nazwy pliku lub rozszerzenia", "search_by_filename": "Szukaj według nazwy pliku lub rozszerzenia",
"search_by_filename_example": "np. IMG_1234.JPG lub PNG", "search_by_filename_example": "np. IMG_1234.JPG lub PNG",
"search_camera_make": "Wyszukaj markę aparatu...", "search_camera_make": "Wyszukaj markę aparatu...",
"search_camera_model": "Wyszukaj model aparatu...", "search_camera_model": "Wyszukaj model aparatu...",
"search_city": "Wyszukaj miasto...", "search_city": "Wyszukaj miasto...",
"search_country": "Wyszukaj kraj...", "search_country": "Wyszukaj kraj...",
"search_for": "Szukaj wśród",
"search_for_existing_person": "Wyszukaj istniejącą osobę", "search_for_existing_person": "Wyszukaj istniejącą osobę",
"search_no_people": "Brak osób", "search_no_people": "Brak osób",
"search_no_people_named": "Brak osób nazwanych \"{name}\"", "search_no_people_named": "Brak osób nazwanych \"{name}\"",

View File

@@ -20,7 +20,7 @@
"add_partner": "Adicionar parceiro", "add_partner": "Adicionar parceiro",
"add_path": "Adicionar caminho", "add_path": "Adicionar caminho",
"add_photos": "Adicionar fotos", "add_photos": "Adicionar fotos",
"add_to": "Adicionar a...", "add_to": "Adicionar a",
"add_to_album": "Adicionar ao álbum", "add_to_album": "Adicionar ao álbum",
"add_to_shared_album": "Adicionar ao álbum partilhado", "add_to_shared_album": "Adicionar ao álbum partilhado",
"add_url": "Adicionar URL", "add_url": "Adicionar URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Redefinir as definições para o padrão", "reset_settings_to_default": "Redefinir as definições para o padrão",
"reset_settings_to_recent_saved": "Redefinir as definições para as guardadas mais recentemente", "reset_settings_to_recent_saved": "Redefinir as definições para as guardadas mais recentemente",
"scanning_library": "A analisar biblioteca", "scanning_library": "A analisar biblioteca",
"search_jobs": "Pesquisar tarefas...", "search_jobs": "Pesquisar tarefas",
"send_welcome_email": "Enviar e-mail de boas-vindas", "send_welcome_email": "Enviar e-mail de boas-vindas",
"server_external_domain_settings": "Domínio externo", "server_external_domain_settings": "Domínio externo",
"server_external_domain_settings_description": "Domínio para links públicos partilhados, incluindo http(s)://", "server_external_domain_settings_description": "Domínio para links públicos partilhados, incluindo http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Estas pessoas são a mesma pessoa?", "are_these_the_same_person": "Estas pessoas são a mesma pessoa?",
"are_you_sure_to_do_this": "Tem a certeza de que quer fazer isto?", "are_you_sure_to_do_this": "Tem a certeza de que quer fazer isto?",
"asset_added_to_album": "Adicionado ao álbum", "asset_added_to_album": "Adicionado ao álbum",
"asset_adding_to_album": "A adicionar ao álbum...", "asset_adding_to_album": "A adicionar ao álbum",
"asset_description_updated": "A descrição do ficheiro foi atualizada", "asset_description_updated": "A descrição do ficheiro foi atualizada",
"asset_filename_is_offline": "O ficheiro {filename} não está disponível", "asset_filename_is_offline": "O ficheiro {filename} não está disponível",
"asset_has_unassigned_faces": "O ficheiro tem rostos não atribuídas", "asset_has_unassigned_faces": "O ficheiro tem rostos não atribuídas",
"asset_hashing": "A criar hash...", "asset_hashing": "A criar hash",
"asset_offline": "Ficheiro Indisponível", "asset_offline": "Ficheiro Indisponível",
"asset_offline_description": "Este ficheiro externo deixou de estar disponível no disco. Contacte o seu administrador do Immich para obter ajuda.", "asset_offline_description": "Este ficheiro externo deixou de estar disponível no disco. Contacte o seu administrador do Immich para obter ajuda.",
"asset_skipped": "Ignorado", "asset_skipped": "Ignorado",
"asset_skipped_in_trash": "Na reciclagem", "asset_skipped_in_trash": "Na reciclagem",
"asset_uploaded": "Enviado", "asset_uploaded": "Enviado",
"asset_uploading": "A enviar...", "asset_uploading": "A enviar",
"assets": "Ficheiros", "assets": "Ficheiros",
"assets_added_count": "{count, plural, one {# ficheiro adicionado} other {# ficheiros adicionados}}", "assets_added_count": "{count, plural, one {# ficheiro adicionado} other {# ficheiros adicionados}}",
"assets_added_to_album_count": "{count, plural, one {# ficheiro adicionado} other {# ficheiros adicionados}} ao álbum", "assets_added_to_album_count": "{count, plural, one {# ficheiro adicionado} other {# ficheiros adicionados}} ao álbum",
@@ -526,7 +526,7 @@
"deduplication_criteria_1": "Tamanho da imagem em bytes", "deduplication_criteria_1": "Tamanho da imagem em bytes",
"deduplication_criteria_2": "Quantidade de dados EXIF", "deduplication_criteria_2": "Quantidade de dados EXIF",
"deduplication_info": "Informações sobre remoção de duplicados", "deduplication_info": "Informações sobre remoção de duplicados",
"deduplication_info_description": "Para selecionar automaticamente itens e remover duplicados em massa, vemos o seguinte:", "deduplication_info_description": "Para selecionar automaticamente itens e remover duplicados em massa, iremos ver o seguinte:",
"default_locale": "Localização Padrão", "default_locale": "Localização Padrão",
"default_locale_description": "Formatar datas e números baseados na linguagem do seu navegador", "default_locale_description": "Formatar datas e números baseados na linguagem do seu navegador",
"delete": "Eliminar", "delete": "Eliminar",
@@ -766,8 +766,10 @@
"go_to_folder": "Ir para a pasta", "go_to_folder": "Ir para a pasta",
"go_to_search": "Ir para a pesquisa", "go_to_search": "Ir para a pesquisa",
"group_albums_by": "Agrupar álbuns por...", "group_albums_by": "Agrupar álbuns por...",
"group_country": "Agrupar por país",
"group_no": "Sem agrupamento", "group_no": "Sem agrupamento",
"group_owner": "Agrupar por dono", "group_owner": "Agrupar por dono",
"group_places_by": "Agrupar lugares por...",
"group_year": "Agrupar por ano", "group_year": "Agrupar por ano",
"has_quota": "Tem quota", "has_quota": "Tem quota",
"hi_user": "Olá {name} ({email})", "hi_user": "Olá {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Incluir álbuns partilhados", "include_shared_albums": "Incluir álbuns partilhados",
"include_shared_partner_assets": "Incluir ficheiros partilhados por parceiros", "include_shared_partner_assets": "Incluir ficheiros partilhados por parceiros",
"individual_share": "Partilha individual", "individual_share": "Partilha individual",
"individual_shares": "Partilhas individuais",
"info": "Informações", "info": "Informações",
"interval": { "interval": {
"day_at_onepm": "Todos os dias, às 13:00", "day_at_onepm": "Todos os dias, às 13:00",
@@ -822,6 +825,7 @@
"latest_version": "Versão mais recente", "latest_version": "Versão mais recente",
"latitude": "Latitude", "latitude": "Latitude",
"leave": "Sair", "leave": "Sair",
"lens_model": "Modelo de lente",
"let_others_respond": "Permitir respostas", "let_others_respond": "Permitir respostas",
"level": "Nível", "level": "Nível",
"library": "Biblioteca", "library": "Biblioteca",
@@ -984,6 +988,7 @@
"pick_a_location": "Selecione uma localização", "pick_a_location": "Selecione uma localização",
"place": "Lugar", "place": "Lugar",
"places": "Lugares", "places": "Lugares",
"places_count": "{count, plural, one {{count, number} Lugar} other {{count, number} Lugares}}",
"play": "Reproduzir", "play": "Reproduzir",
"play_memories": "Reproduzir memórias", "play_memories": "Reproduzir memórias",
"play_motion_photo": "Reproduzir foto em movimento", "play_motion_photo": "Reproduzir foto em movimento",
@@ -1107,12 +1112,15 @@
"search": "Pesquisar", "search": "Pesquisar",
"search_albums": "Pesquisar álbuns", "search_albums": "Pesquisar álbuns",
"search_by_context": "Pesquisar por contexto", "search_by_context": "Pesquisar por contexto",
"search_by_description": "Pesquisar por descrição",
"search_by_description_example": "Dia de caminhada em Leiria",
"search_by_filename": "Pesquisar por nome de ficheiro ou extensão", "search_by_filename": "Pesquisar por nome de ficheiro ou extensão",
"search_by_filename_example": "por exemplo, IMG_1234.JPG ou PNG", "search_by_filename_example": "por exemplo, IMG_1234.JPG ou PNG",
"search_camera_make": "Pesquisar por marca da câmara...", "search_camera_make": "Pesquisar por marca da câmara...",
"search_camera_model": "Pesquisar por modelo da câmara...", "search_camera_model": "Pesquisar por modelo da câmara...",
"search_city": "Pesquisar cidade...", "search_city": "Pesquisar cidade...",
"search_country": "Pesquisar país...", "search_country": "Pesquisar país...",
"search_for": "Pesquisar por",
"search_for_existing_person": "Pesquisar por pessoas existentes", "search_for_existing_person": "Pesquisar por pessoas existentes",
"search_no_people": "Sem pessoas", "search_no_people": "Sem pessoas",
"search_no_people_named": "Nenhuma pessoa chamada \"{name}\"", "search_no_people_named": "Nenhuma pessoa chamada \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotos de {partner}", "shared_from_partner": "Fotos de {partner}",
"shared_link_options": "Opções de link partilhado", "shared_link_options": "Opções de link partilhado",
"shared_links": "Links partilhados", "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_photos_and_videos_count": "{assetCount, plural, other {# Fotos & videos partilhados.}}",
"shared_with_partner": "Partilhado com {partner}", "shared_with_partner": "Partilhado com {partner}",
"sharing": "Partilha", "sharing": "Partilha",
@@ -1187,6 +1196,7 @@
"show_person_options": "Exibir opções da pessoa", "show_person_options": "Exibir opções da pessoa",
"show_progress_bar": "Exibir barra de progresso", "show_progress_bar": "Exibir barra de progresso",
"show_search_options": "Exibir opções de pesquisa", "show_search_options": "Exibir opções de pesquisa",
"show_shared_links": "Mostrar links partilhados",
"show_slideshow_transition": "Mostrar transições no Modo de Apresentação", "show_slideshow_transition": "Mostrar transições no Modo de Apresentação",
"show_supporter_badge": "Emblema de apoiante", "show_supporter_badge": "Emblema de apoiante",
"show_supporter_badge_description": "Mostrar um emblema de apoiante", "show_supporter_badge_description": "Mostrar um emblema de apoiante",
@@ -1274,6 +1284,7 @@
"unfavorite": "Remover favorito", "unfavorite": "Remover favorito",
"unhide_person": "Exibir pessoa", "unhide_person": "Exibir pessoa",
"unknown": "Desconhecido", "unknown": "Desconhecido",
"unknown_country": "País desconhecido",
"unknown_year": "Ano desconhecido", "unknown_year": "Ano desconhecido",
"unlimited": "Ilimitado", "unlimited": "Ilimitado",
"unlink_motion_video": "Remover relação com video animado", "unlink_motion_video": "Remover relação com video animado",

View File

@@ -20,7 +20,7 @@
"add_partner": "Adicionar parceiro", "add_partner": "Adicionar parceiro",
"add_path": "Adicionar caminho", "add_path": "Adicionar caminho",
"add_photos": "Adicionar fotos", "add_photos": "Adicionar fotos",
"add_to": "Adicionar a...", "add_to": "Adicionar a",
"add_to_album": "Adicionar ao álbum", "add_to_album": "Adicionar ao álbum",
"add_to_shared_album": "Adicionar ao álbum compartilhado", "add_to_shared_album": "Adicionar ao álbum compartilhado",
"add_url": "Adicionar URL", "add_url": "Adicionar URL",
@@ -39,7 +39,7 @@
"backup_database_enable_description": "Ativar backup do banco de dados", "backup_database_enable_description": "Ativar backup do banco de dados",
"backup_keep_last_amount": "Quantidade de backups anteriores para manter salvo", "backup_keep_last_amount": "Quantidade de backups anteriores para manter salvo",
"backup_settings": "Configurações de backup", "backup_settings": "Configurações de backup",
"backup_settings_description": "Gerenciar configurações de backup", "backup_settings_description": "Gerenciar configurações de backup do banco de dados",
"check_all": "Selecionar Tudo", "check_all": "Selecionar Tudo",
"cleared_jobs": "Tarefas removidas de: {job}", "cleared_jobs": "Tarefas removidas de: {job}",
"config_set_by_file": "A configuração está atualmente definida por um arquivo de configuração", "config_set_by_file": "A configuração está atualmente definida por um arquivo de configuração",
@@ -53,7 +53,7 @@
"cron_expression_description": "Defina o intervalo de análise no formato Cron. Para mais informações, por favor veja o <link>Crontab Guru</link>", "cron_expression_description": "Defina o intervalo de análise no formato Cron. Para mais informações, por favor veja o <link>Crontab Guru</link>",
"cron_expression_presets": "Sugestões de expressão Cron", "cron_expression_presets": "Sugestões de expressão Cron",
"disable_login": "Desabilitar login", "disable_login": "Desabilitar login",
"duplicate_detection_job_description": "Execute a inteligência artificial em arquivos para detectar imagens semelhantes. Depende da Pesquisa Inteligente", "duplicate_detection_job_description": "Execute o aprendizado de máquina em arquivos para detectar imagens semelhantes. Depende da Pesquisa Inteligente",
"exclusion_pattern_description": "Os padrões de exclusão permitem ignorar arquivos e pastas ao escanear sua biblioteca. Isso é útil se você tiver pastas que contenham arquivos que não deseja importar, como arquivos RAW.", "exclusion_pattern_description": "Os padrões de exclusão permitem ignorar arquivos e pastas ao escanear sua biblioteca. Isso é útil se você tiver pastas que contenham arquivos que não deseja importar, como arquivos RAW.",
"external_library_created_at": "Biblioteca externa (criada em {date})", "external_library_created_at": "Biblioteca externa (criada em {date})",
"external_library_management": "Gerenciamento de bibliotecas externas", "external_library_management": "Gerenciamento de bibliotecas externas",
@@ -69,8 +69,8 @@
"image_prefer_embedded_preview_setting_description": "Use visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isso pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmera e a imagem pode ter mais artefatos de compactação.", "image_prefer_embedded_preview_setting_description": "Use visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isso pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmera e a imagem pode ter mais artefatos de compactação.",
"image_prefer_wide_gamut": "Prefira ampla gama", "image_prefer_wide_gamut": "Prefira ampla gama",
"image_prefer_wide_gamut_setting_description": "Use o Display P3 para miniaturas. Isso preserva melhor a vibração das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versão antiga do navegador. As imagens sRGB são mantidas como sRGB para evitar mudanças de cores.", "image_prefer_wide_gamut_setting_description": "Use o Display P3 para miniaturas. Isso preserva melhor a vibração das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versão antiga do navegador. As imagens sRGB são mantidas como sRGB para evitar mudanças de cores.",
"image_preview_description": "Imagem de tamanho médio sem os metadados, utilizado quando visualizar um único arquivo e também pela inteligência artificial", "image_preview_description": "Imagem de tamanho médio sem os metadados, utilizado quando visualizando um único arquivo e também pelo aprendizado de máquina",
"image_preview_quality_description": "Qualidade da pré-visualização, de 1-100. Maior é melhor, mas produz arquivos maiores e pode reduzir a velocidade do aplicativo. Definir um valor muito baixo pode afetar a qualidade da inteligência artificial.", "image_preview_quality_description": "Qualidade da pré-visualização, de 1-100. Maior é melhor, mas produz arquivos maiores e pode reduzir a velocidade do aplicativo. Definir um valor muito baixo pode afetar a qualidade do aprendizado de máquina.",
"image_preview_title": "Configurações de pré-visualização", "image_preview_title": "Configurações de pré-visualização",
"image_quality": "Qualidade", "image_quality": "Qualidade",
"image_resolution": "Resolução", "image_resolution": "Resolução",
@@ -108,13 +108,13 @@
"machine_learning_duplicate_detection": "Detecção de duplicidade", "machine_learning_duplicate_detection": "Detecção de duplicidade",
"machine_learning_duplicate_detection_enabled": "Habilitar detecção de duplicidade", "machine_learning_duplicate_detection_enabled": "Habilitar detecção de duplicidade",
"machine_learning_duplicate_detection_enabled_description": "Se desativado, arquivos exatamente idênticos ainda serão desduplicados.", "machine_learning_duplicate_detection_enabled_description": "Se desativado, arquivos exatamente idênticos ainda serão desduplicados.",
"machine_learning_duplicate_detection_setting_description": "Use embeddings CLIP para encontrar prováveis duplicidades", "machine_learning_duplicate_detection_setting_description": "Usar CLIP integrado para encontrar prováveis duplicidades",
"machine_learning_enabled": "Habilitar a inteligência artificial", "machine_learning_enabled": "Habilitar aprendizado de máquina",
"machine_learning_enabled_description": "Se desativado, todos os recursos de ML serão desativados, independentemente das configurações abaixo.", "machine_learning_enabled_description": "Se desativado, todos os recursos de AM serão desativados, independentemente das configurações abaixo.",
"machine_learning_facial_recognition": "Reconhecimento Facial", "machine_learning_facial_recognition": "Reconhecimento Facial",
"machine_learning_facial_recognition_description": "Detectar, reconhecer e agrupar rostos em imagens", "machine_learning_facial_recognition_description": "Detectar, reconhecer e agrupar rostos em imagens",
"machine_learning_facial_recognition_model": "Modelo de reconhecimento facial", "machine_learning_facial_recognition_model": "Modelo de reconhecimento facial",
"machine_learning_facial_recognition_model_description": "Os modelos estão listados em ordem decrescente de tamanho. Modelos maiores são mais lentos e utilizam mais memória, mas produzem melhores resultados. Observe que ao alterar um modelo, você deve executar novamente a tarefa de Detecção de Rostos para todas as imagens.", "machine_learning_facial_recognition_model_description": "Os modelos estão listados em ordem decrescente de tamanho. Modelos maiores são mais lentos e utilizam mais memória, mas produzem resultados melhores. Observe que ao alterar um modelo, você deve executar novamente a tarefa de Detecção de Rostos para todas as imagens.",
"machine_learning_facial_recognition_setting": "Ativar reconhecimento facial", "machine_learning_facial_recognition_setting": "Ativar reconhecimento facial",
"machine_learning_facial_recognition_setting_description": "Se desativado, as imagens não serão codificadas para reconhecimento facial e não preencherão a seção Pessoas na página Explorar.", "machine_learning_facial_recognition_setting_description": "Se desativado, as imagens não serão codificadas para reconhecimento facial e não preencherão a seção Pessoas na página Explorar.",
"machine_learning_max_detection_distance": "Distância máxima de detecção", "machine_learning_max_detection_distance": "Distância máxima de detecção",
@@ -124,14 +124,14 @@
"machine_learning_min_detection_score": "Pontuação mínima de detecção", "machine_learning_min_detection_score": "Pontuação mínima de detecção",
"machine_learning_min_detection_score_description": "Pontuação mínima de confiança para um rosto ser detectado, de 0 a 1. Valores mais baixos detectam mais rostos, mas poderão resultar em falsos positivos.", "machine_learning_min_detection_score_description": "Pontuação mínima de confiança para um rosto ser detectado, de 0 a 1. Valores mais baixos detectam mais rostos, mas poderão resultar em falsos positivos.",
"machine_learning_min_recognized_faces": "Mínimo de rostos reconhecidos", "machine_learning_min_recognized_faces": "Mínimo de rostos reconhecidos",
"machine_learning_min_recognized_faces_description": "O número mínimo de rostos reconhecidos para uma pessoa ser criada na lista. Aumentar isso torna o Reconhecimento Facial mais preciso, ao custo de aumentar a chance de um rosto não ser atribuído a uma pessoa.", "machine_learning_min_recognized_faces_description": "O número mínimo de rostos reconhecidos para uma pessoa ser criada. Aumentar isso torna o Reconhecimento Facial mais preciso, ao custo de aumentar a chance de um rosto não ser atribuído a uma pessoa.",
"machine_learning_settings": "Configurações de inteligência artificial", "machine_learning_settings": "Configurações de aprendizado de máquina",
"machine_learning_settings_description": "Gerenciar recursos e configurações da inteligência artificial", "machine_learning_settings_description": "Gerenciar recursos e configurações do aprendizado de máquina",
"machine_learning_smart_search": "Pesquisa Inteligente", "machine_learning_smart_search": "Pesquisa Inteligente",
"machine_learning_smart_search_description": "Buscar imagens semanticamente usando embeddings CLIP", "machine_learning_smart_search_description": "Buscar imagens semanticamente usando integrações CLIP",
"machine_learning_smart_search_enabled": "Habilitar a Pesquisa Inteligente", "machine_learning_smart_search_enabled": "Habilitar a Pesquisa Inteligente",
"machine_learning_smart_search_enabled_description": "Se desativado, as imagens não serão codificadas para pesquisa inteligente.", "machine_learning_smart_search_enabled_description": "Se desativado, as imagens não serão codificadas para pesquisa inteligente.",
"machine_learning_url_description": "A URL do servidor de inteligência artificial. Se mais de uma URL for configurada, o servidor irá tentar uma de cada vez até que uma delas responda com sucesso, em ordem sequencial igual a configurada.", "machine_learning_url_description": "A URL do servidor de aprendizado de máquina. Se mais de uma URL for fornecida, elas serão tentadas, uma de cada vez e na ordem indicada, até que uma responda com sucesso.",
"manage_concurrency": "Gerenciar simultaneidade", "manage_concurrency": "Gerenciar simultaneidade",
"manage_log_settings": "Gerenciar configurações de registro", "manage_log_settings": "Gerenciar configurações de registro",
"map_dark_style": "Tema Escuro", "map_dark_style": "Tema Escuro",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Redefinir as configurações para o padrão", "reset_settings_to_default": "Redefinir as configurações para o padrão",
"reset_settings_to_recent_saved": "Redefinir as configurações para as configurações salvas recentemente", "reset_settings_to_recent_saved": "Redefinir as configurações para as configurações salvas recentemente",
"scanning_library": "Analisando a biblioteca", "scanning_library": "Analisando a biblioteca",
"search_jobs": "Pesquisar tarefas...", "search_jobs": "Pesquisar tarefas",
"send_welcome_email": "Enviar e-mail de boas-vindas", "send_welcome_email": "Enviar e-mail de boas-vindas",
"server_external_domain_settings": "Domínio externo", "server_external_domain_settings": "Domínio externo",
"server_external_domain_settings_description": "Domínio para links públicos compartilhados, incluindo http(s)://", "server_external_domain_settings_description": "Domínio para links públicos compartilhados, incluindo http(s)://",
@@ -232,7 +232,7 @@
"sidecar_job": "Metadados secundários", "sidecar_job": "Metadados secundários",
"sidecar_job_description": "Descubra ou sincronize metadados secundários do sistema de arquivos", "sidecar_job_description": "Descubra ou sincronize metadados secundários do sistema de arquivos",
"slideshow_duration_description": "Tempo em segundos para exibir cada imagem", "slideshow_duration_description": "Tempo em segundos para exibir cada imagem",
"smart_search_job_description": "Execute a inteligência artificial em arquivos para oferecer suporte à pesquisa inteligente", "smart_search_job_description": "Execute aprendizado de máquina em arquivos para oferecer suporte à pesquisa inteligente",
"storage_template_date_time_description": "A data e hora da criação do ativo é usado para a informações de data e hora", "storage_template_date_time_description": "A data e hora da criação do ativo é usado para a informações de data e hora",
"storage_template_date_time_sample": "Exemplo {date}", "storage_template_date_time_sample": "Exemplo {date}",
"storage_template_enable_description": "Habilitar mecanismo de modelo de armazenamento", "storage_template_enable_description": "Habilitar mecanismo de modelo de armazenamento",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Essas pessoas são a mesma pessoa?", "are_these_the_same_person": "Essas pessoas são a mesma pessoa?",
"are_you_sure_to_do_this": "Tem certeza de que deseja fazer isso?", "are_you_sure_to_do_this": "Tem certeza de que deseja fazer isso?",
"asset_added_to_album": "Adicionado ao álbum", "asset_added_to_album": "Adicionado ao álbum",
"asset_adding_to_album": "Adicionando ao álbum...", "asset_adding_to_album": "Adicionando ao álbum",
"asset_description_updated": "A descrição do ativo foi atualizada", "asset_description_updated": "A descrição do ativo foi atualizada",
"asset_filename_is_offline": "O arquivo {filename} não está disponível", "asset_filename_is_offline": "O arquivo {filename} não está disponível",
"asset_has_unassigned_faces": "O arquivo tem rostos sem nomes", "asset_has_unassigned_faces": "O arquivo tem rostos sem nomes",
"asset_hashing": "Processando...", "asset_hashing": "Processando",
"asset_offline": "Arquivo indisponível", "asset_offline": "Arquivo indisponível",
"asset_offline_description": "Este arquivo externo não está mais disponível. Contate seu administrador do Immich para obter ajuda.", "asset_offline_description": "Este arquivo externo não está mais disponível. Contate seu administrador do Immich para obter ajuda.",
"asset_skipped": "Ignorado", "asset_skipped": "Ignorado",
"asset_skipped_in_trash": "Na lixeira", "asset_skipped_in_trash": "Na lixeira",
"asset_uploaded": "Carregado", "asset_uploaded": "Carregado",
"asset_uploading": "Carregando...", "asset_uploading": "Carregando",
"assets": "Arquivos", "assets": "Arquivos",
"assets_added_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}", "assets_added_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}",
"assets_added_to_album_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}} ao álbum", "assets_added_to_album_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}} ao álbum",
@@ -766,8 +766,10 @@
"go_to_folder": "Ir para a pasta", "go_to_folder": "Ir para a pasta",
"go_to_search": "Ir para a pesquisa", "go_to_search": "Ir para a pesquisa",
"group_albums_by": "Agrupar álbuns por...", "group_albums_by": "Agrupar álbuns por...",
"group_country": "Agrupar por país",
"group_no": "Sem agrupamento", "group_no": "Sem agrupamento",
"group_owner": "Agrupar por dono", "group_owner": "Agrupar por dono",
"group_places_by": "Agrupar lugares por...",
"group_year": "Agrupar por ano", "group_year": "Agrupar por ano",
"has_quota": "Há cota", "has_quota": "Há cota",
"hi_user": "Olá {name} ({email})", "hi_user": "Olá {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Incluir álbuns compartilhados", "include_shared_albums": "Incluir álbuns compartilhados",
"include_shared_partner_assets": "Incluir arquivos compartilhados por parceiros", "include_shared_partner_assets": "Incluir arquivos compartilhados por parceiros",
"individual_share": "Compartilhamento único", "individual_share": "Compartilhamento único",
"individual_shares": "Compartilhamentos individuais",
"info": "Informações", "info": "Informações",
"interval": { "interval": {
"day_at_onepm": "Todo dia, 1pm", "day_at_onepm": "Todo dia, 1pm",
@@ -822,6 +825,7 @@
"latest_version": "Versão mais recente", "latest_version": "Versão mais recente",
"latitude": "Latitude", "latitude": "Latitude",
"leave": "Sair", "leave": "Sair",
"lens_model": "Modelo da lente",
"let_others_respond": "Permitir respostas", "let_others_respond": "Permitir respostas",
"level": "Nível", "level": "Nível",
"library": "Biblioteca", "library": "Biblioteca",
@@ -984,6 +988,7 @@
"pick_a_location": "Selecione uma localização", "pick_a_location": "Selecione uma localização",
"place": "Lugar", "place": "Lugar",
"places": "Lugares", "places": "Lugares",
"places_count": "{count, plural, one {{count, number} Lugar} other {{count, number} Lugares}}",
"play": "Reproduzir", "play": "Reproduzir",
"play_memories": "Reproduzir memórias", "play_memories": "Reproduzir memórias",
"play_motion_photo": "Reproduzir foto em movimento", "play_motion_photo": "Reproduzir foto em movimento",
@@ -1095,7 +1100,7 @@
"role": "Função", "role": "Função",
"role_editor": "Editor", "role_editor": "Editor",
"role_viewer": "Visualizador", "role_viewer": "Visualizador",
"save": "Guardar", "save": "Salvar",
"saved_api_key": "Chave de API salva", "saved_api_key": "Chave de API salva",
"saved_profile": "Perfil Salvo", "saved_profile": "Perfil Salvo",
"saved_settings": "Configurações salvas", "saved_settings": "Configurações salvas",
@@ -1107,12 +1112,15 @@
"search": "Pesquisar", "search": "Pesquisar",
"search_albums": "Pesquisar álbuns", "search_albums": "Pesquisar álbuns",
"search_by_context": "Pesquisar por contexto", "search_by_context": "Pesquisar por contexto",
"search_by_description": "Pesquisar por descrição",
"search_by_description_example": "Dia de caminhada no Ibirapuera",
"search_by_filename": "Pesquisa por nome de arquivo ou extensão", "search_by_filename": "Pesquisa por nome de arquivo ou extensão",
"search_by_filename_example": "Por exemplo, IMG_1234.JPG ou PNG", "search_by_filename_example": "Por exemplo, IMG_1234.JPG ou PNG",
"search_camera_make": "Pesquisar câmeras da marca...", "search_camera_make": "Pesquisar câmeras da marca...",
"search_camera_model": "Pesquisar câmera do modelo...", "search_camera_model": "Pesquisar câmera do modelo...",
"search_city": "Pesquisar cidade...", "search_city": "Pesquisar cidade...",
"search_country": "Pesquisar país...", "search_country": "Pesquisar país...",
"search_for": "Pesquisar por",
"search_for_existing_person": "Pesquisar por pessoas", "search_for_existing_person": "Pesquisar por pessoas",
"search_no_people": "Nenhuma pessoa", "search_no_people": "Nenhuma pessoa",
"search_no_people_named": "Nenhuma pessoa chamada \"{name}\"", "search_no_people_named": "Nenhuma pessoa chamada \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotos de {partner}", "shared_from_partner": "Fotos de {partner}",
"shared_link_options": "Opções do link compartilhado", "shared_link_options": "Opções do link compartilhado",
"shared_links": "Links compartilhados", "shared_links": "Links compartilhados",
"shared_links_description": "Compartilhar fotos e videos com um link",
"shared_photos_and_videos_count": "{assetCount, plural, one {# arquivo compartilhado.} other {# arquivos compartilhados.}}", "shared_photos_and_videos_count": "{assetCount, plural, one {# arquivo compartilhado.} other {# arquivos compartilhados.}}",
"shared_with_partner": "Compartilhado com {partner}", "shared_with_partner": "Compartilhado com {partner}",
"sharing": "Compartilhar", "sharing": "Compartilhar",
@@ -1187,6 +1196,7 @@
"show_person_options": "Exibir opções da pessoa", "show_person_options": "Exibir opções da pessoa",
"show_progress_bar": "Exibir barra de progresso", "show_progress_bar": "Exibir barra de progresso",
"show_search_options": "Exibir opções de pesquisa", "show_search_options": "Exibir opções de pesquisa",
"show_shared_links": "Mostrar links compartilhados",
"show_slideshow_transition": "Usar transições no modo de apresentação", "show_slideshow_transition": "Usar transições no modo de apresentação",
"show_supporter_badge": "Insígnia de Contribuidor", "show_supporter_badge": "Insígnia de Contribuidor",
"show_supporter_badge_description": "Mostrar a insígnia de contribuidor", "show_supporter_badge_description": "Mostrar a insígnia de contribuidor",
@@ -1215,7 +1225,7 @@
"stack_select_one_photo": "Selecione uma foto principal para a pilha", "stack_select_one_photo": "Selecione uma foto principal para a pilha",
"stack_selected_photos": "Empilhar fotos selecionadas", "stack_selected_photos": "Empilhar fotos selecionadas",
"stacked_assets_count": "{count, plural, one {# arquivo empilhado} other {# arquivos empilhados}}", "stacked_assets_count": "{count, plural, one {# arquivo empilhado} other {# arquivos empilhados}}",
"stacktrace": "Stacktrace", "stacktrace": "Rastreamento de pilha",
"start": "Início", "start": "Início",
"start_date": "Data inicial", "start_date": "Data inicial",
"state": "Estado", "state": "Estado",
@@ -1274,6 +1284,7 @@
"unfavorite": "Remover favorito", "unfavorite": "Remover favorito",
"unhide_person": "Exibir pessoa", "unhide_person": "Exibir pessoa",
"unknown": "Desconhecido", "unknown": "Desconhecido",
"unknown_country": "País desconhecido",
"unknown_year": "Ano desconhecido", "unknown_year": "Ano desconhecido",
"unlimited": "Ilimitado", "unlimited": "Ilimitado",
"unlink_motion_video": "Remover relação com video animado", "unlink_motion_video": "Remover relação com video animado",

View File

@@ -766,8 +766,10 @@
"go_to_folder": "Accesați folderul", "go_to_folder": "Accesați folderul",
"go_to_search": "Spre căutare", "go_to_search": "Spre căutare",
"group_albums_by": "Grupați albume de...", "group_albums_by": "Grupați albume de...",
"group_country": "Grupare după țară",
"group_no": "Fără grupare", "group_no": "Fără grupare",
"group_owner": "Grupați după proprietar", "group_owner": "Grupați după proprietar",
"group_places_by": "Grupare locuri după...",
"group_year": "Grupați după an", "group_year": "Grupați după an",
"has_quota": "Are spațiu de stocare", "has_quota": "Are spațiu de stocare",
"hi_user": "Bună {name} ({email})", "hi_user": "Bună {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Include albumele partajate", "include_shared_albums": "Include albumele partajate",
"include_shared_partner_assets": "Include resursele partenerilor partajați", "include_shared_partner_assets": "Include resursele partenerilor partajați",
"individual_share": "Cota individuală", "individual_share": "Cota individuală",
"individual_shares": "Partajări individuale",
"info": "Informație", "info": "Informație",
"interval": { "interval": {
"day_at_onepm": "În fiecare zi la ora 13.00", "day_at_onepm": "În fiecare zi la ora 13.00",
@@ -822,6 +825,7 @@
"latest_version": "Ultima Versiune", "latest_version": "Ultima Versiune",
"latitude": "Latitudine", "latitude": "Latitudine",
"leave": "Părăsiți", "leave": "Părăsiți",
"lens_model": "Model obiectiv",
"let_others_respond": "Permite altora să răspundă", "let_others_respond": "Permite altora să răspundă",
"level": "Nivel", "level": "Nivel",
"library": "Librărie", "library": "Librărie",
@@ -1107,12 +1111,15 @@
"search": "Căutați", "search": "Căutați",
"search_albums": "Căutați albume", "search_albums": "Căutați albume",
"search_by_context": "Căutați după context", "search_by_context": "Căutați după context",
"search_by_description": "Căutare după descriere",
"search_by_description_example": "Zi de drumeție în Sapa",
"search_by_filename": "Căutați după numele fișierului sau extensie", "search_by_filename": "Căutați după numele fișierului sau extensie",
"search_by_filename_example": "i.e. IMG_1234.JPG sau PNG", "search_by_filename_example": "i.e. IMG_1234.JPG sau PNG",
"search_camera_make": "Se caută marca camerei...", "search_camera_make": "Se caută marca camerei...",
"search_camera_model": "Se caută modelul camerei...", "search_camera_model": "Se caută modelul camerei...",
"search_city": "Se caută orașul...", "search_city": "Se caută orașul...",
"search_country": "Se caută țara...", "search_country": "Se caută țara...",
"search_for": "Căutare după",
"search_for_existing_person": "Se caută o persoană existentă", "search_for_existing_person": "Se caută o persoană existentă",
"search_no_people": "Fără persoane", "search_no_people": "Fără persoane",
"search_no_people_named": "Nicio persoană numită \"{name}\"", "search_no_people_named": "Nicio persoană numită \"{name}\"",
@@ -1165,6 +1172,7 @@
"shared_from_partner": "Fotografii de la {partner}", "shared_from_partner": "Fotografii de la {partner}",
"shared_link_options": "Opțiuni de link partajat", "shared_link_options": "Opțiuni de link partajat",
"shared_links": "Link-uri distribuite", "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_photos_and_videos_count": "{assetCount, plural, other {# fotografii și videoclipuri partajate.}}",
"shared_with_partner": "Partajat cu {partner}", "shared_with_partner": "Partajat cu {partner}",
"sharing": "Distribuire", "sharing": "Distribuire",
@@ -1187,6 +1195,7 @@
"show_person_options": "Afișați opțiunile persoanelor", "show_person_options": "Afișați opțiunile persoanelor",
"show_progress_bar": "Afișați Bara de Progres", "show_progress_bar": "Afișați Bara de Progres",
"show_search_options": "Afișați opțiunile de căutare", "show_search_options": "Afișați opțiunile de căutare",
"show_shared_links": "Afișare linkuri partajate",
"show_slideshow_transition": "Afișați tranziția de prezentare", "show_slideshow_transition": "Afișați tranziția de prezentare",
"show_supporter_badge": "Insigna suporterului", "show_supporter_badge": "Insigna suporterului",
"show_supporter_badge_description": "Arată o insignă de suporter", "show_supporter_badge_description": "Arată o insignă de suporter",
@@ -1274,6 +1283,7 @@
"unfavorite": "Ștergeți din favorite", "unfavorite": "Ștergeți din favorite",
"unhide_person": "Dezvăluie persoana", "unhide_person": "Dezvăluie persoana",
"unknown": "Necunoscut", "unknown": "Necunoscut",
"unknown_country": "Țară necunoscută",
"unknown_year": "An Necunoscut", "unknown_year": "An Necunoscut",
"unlimited": "Nelimitat", "unlimited": "Nelimitat",
"unlink_motion_video": "Deconectați videoclipul în mișcare", "unlink_motion_video": "Deconectați videoclipul în mișcare",

View File

@@ -20,7 +20,7 @@
"add_partner": "Добавить партнёра", "add_partner": "Добавить партнёра",
"add_path": "Добавить путь", "add_path": "Добавить путь",
"add_photos": "Добавить фото", "add_photos": "Добавить фото",
"add_to": "Добавить в...", "add_to": "Добавить в",
"add_to_album": "Добавить в альбом", "add_to_album": "Добавить в альбом",
"add_to_shared_album": "Добавить в общий альбом", "add_to_shared_album": "Добавить в общий альбом",
"add_url": "Добавить URL", "add_url": "Добавить URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Сброс настроек до значений по умолчанию", "reset_settings_to_default": "Сброс настроек до значений по умолчанию",
"reset_settings_to_recent_saved": "Сбросьте настройки к последним сохраненным настройкам", "reset_settings_to_recent_saved": "Сбросьте настройки к последним сохраненным настройкам",
"scanning_library": "Сканирование библиотеки", "scanning_library": "Сканирование библиотеки",
"search_jobs": "Поиск заданий...", "search_jobs": "Поиск заданий",
"send_welcome_email": "Отправить приветственное письмо", "send_welcome_email": "Отправить приветственное письмо",
"server_external_domain_settings": "Внешний домен", "server_external_domain_settings": "Внешний домен",
"server_external_domain_settings_description": "Домен для публичных ссылок, включая http(s)://", "server_external_domain_settings_description": "Домен для публичных ссылок, включая http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Это один и тот же человек?", "are_these_the_same_person": "Это один и тот же человек?",
"are_you_sure_to_do_this": "Вы уверены, что хотите это сделать?", "are_you_sure_to_do_this": "Вы уверены, что хотите это сделать?",
"asset_added_to_album": "Добавлено в альбом", "asset_added_to_album": "Добавлено в альбом",
"asset_adding_to_album": "Добавление в альбом...", "asset_adding_to_album": "Добавление в альбом",
"asset_description_updated": "Описание обновлено", "asset_description_updated": "Описание обновлено",
"asset_filename_is_offline": "Объект {filename} находится в офлайн-режиме", "asset_filename_is_offline": "Объект {filename} находится в офлайн-режиме",
"asset_has_unassigned_faces": "Есть не распознанные лица", "asset_has_unassigned_faces": "Есть не распознанные лица",
"asset_hashing": "Хеширование...", "asset_hashing": "Хеширование",
"asset_offline": "Объект отключён", "asset_offline": "Объект отключён",
"asset_offline_description": "Этот внешний файл не найден на диске. Пожалуйста, свяжитесь с администратором Immich для получения помощи.", "asset_offline_description": "Этот внешний файл не найден на диске. Пожалуйста, свяжитесь с администратором Immich для получения помощи.",
"asset_skipped": "Пропущено", "asset_skipped": "Пропущено",
"asset_skipped_in_trash": "В корзине", "asset_skipped_in_trash": "В корзине",
"asset_uploaded": "Загружено", "asset_uploaded": "Загружено",
"asset_uploading": "Загрузка...", "asset_uploading": "Загрузка",
"assets": "Объекты", "assets": "Объекты",
"assets_added_count": "Добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}", "assets_added_count": "Добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}",
"assets_added_to_album_count": "В альбом добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}", "assets_added_to_album_count": "В альбом добавлено {count, plural, one {# объект} few {# объекта} other {# объектов}}",
@@ -482,7 +482,7 @@
"confirm": "Подтвердить", "confirm": "Подтвердить",
"confirm_admin_password": "Подтвердите пароль Администратора", "confirm_admin_password": "Подтвердите пароль Администратора",
"confirm_delete_shared_link": "Вы уверены, что хотите удалить эту публичную ссылку?", "confirm_delete_shared_link": "Вы уверены, что хотите удалить эту публичную ссылку?",
"confirm_keep_this_delete_others": "Все остальные объекты в серии будут удалены, кроме этого объекта. Вы уверены, что хотите продолжить?", "confirm_keep_this_delete_others": "Все остальные объекты в группе будут удалены, кроме этого объекта. Вы уверены, что хотите продолжить?",
"confirm_password": "Подтвердите пароль", "confirm_password": "Подтвердите пароль",
"contain": "Вместить", "contain": "Вместить",
"context": "Контекст", "context": "Контекст",
@@ -766,8 +766,10 @@
"go_to_folder": "Перейти в папку", "go_to_folder": "Перейти в папку",
"go_to_search": "Перейти к поиску", "go_to_search": "Перейти к поиску",
"group_albums_by": "Группировать альбомы по...", "group_albums_by": "Группировать альбомы по...",
"group_country": "Группировать по странам",
"group_no": "Без группировки", "group_no": "Без группировки",
"group_owner": "Группировать по владельцу", "group_owner": "Группировать по владельцу",
"group_places_by": "Группировать места по...",
"group_year": "Группировать по годам", "group_year": "Группировать по годам",
"has_quota": "Квота", "has_quota": "Квота",
"hi_user": "Привет {name} ({email})", "hi_user": "Привет {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Включать общие альбомы", "include_shared_albums": "Включать общие альбомы",
"include_shared_partner_assets": "Включать общие ресурсы партнера", "include_shared_partner_assets": "Включать общие ресурсы партнера",
"individual_share": "Персональный доступ", "individual_share": "Персональный доступ",
"individual_shares": "Индивидуальный доступ",
"info": "Информация", "info": "Информация",
"interval": { "interval": {
"day_at_onepm": "Каждый день в 13:00", "day_at_onepm": "Каждый день в 13:00",
@@ -822,6 +825,7 @@
"latest_version": "Последняя Версия", "latest_version": "Последняя Версия",
"latitude": "Широта", "latitude": "Широта",
"leave": "Покинуть", "leave": "Покинуть",
"lens_model": "Модель объектива",
"let_others_respond": "Позволять другим откликаться", "let_others_respond": "Позволять другим откликаться",
"level": "Уровень", "level": "Уровень",
"library": "Библиотека", "library": "Библиотека",
@@ -984,6 +988,7 @@
"pick_a_location": "Выбрать местоположение", "pick_a_location": "Выбрать местоположение",
"place": "Места", "place": "Места",
"places": "Места", "places": "Места",
"places_count": "{count, plural, one {{count, number} Место} other {{count, number} Мест}}",
"play": "Воспроизвести", "play": "Воспроизвести",
"play_memories": "Воспроизвести воспоминания", "play_memories": "Воспроизвести воспоминания",
"play_motion_photo": "Воспроизводить движущиеся фото", "play_motion_photo": "Воспроизводить движущиеся фото",
@@ -1107,12 +1112,15 @@
"search": "Поиск", "search": "Поиск",
"search_albums": "Поиск альбомов", "search_albums": "Поиск альбомов",
"search_by_context": "Поиск по контексту", "search_by_context": "Поиск по контексту",
"search_by_description": "Поиск по описанию",
"search_by_description_example": "День пешего туризма в Сапе",
"search_by_filename": "Искать по имени файла или расширению", "search_by_filename": "Искать по имени файла или расширению",
"search_by_filename_example": "например, IMG_1234.JPG или PNG", "search_by_filename_example": "например, IMG_1234.JPG или PNG",
"search_camera_make": "Поиск производителя камеры...", "search_camera_make": "Поиск производителя камеры...",
"search_camera_model": "Поиск модели камеры...", "search_camera_model": "Поиск модели камеры...",
"search_city": "Поиск города...", "search_city": "Поиск города...",
"search_country": "Поиск страны...", "search_country": "Поиск страны...",
"search_for": "Поиск по",
"search_for_existing_person": "Поиск существующего человека", "search_for_existing_person": "Поиск существующего человека",
"search_no_people": "Нет людей", "search_no_people": "Нет людей",
"search_no_people_named": "Нет людей с именем \"{name}\"", "search_no_people_named": "Нет людей с именем \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Фото от {partner}", "shared_from_partner": "Фото от {partner}",
"shared_link_options": "Параметры публичных ссылок", "shared_link_options": "Параметры публичных ссылок",
"shared_links": "Публичные ссылки", "shared_links": "Публичные ссылки",
"shared_links_description": "Делитесь фотографиями и видео по ссылке",
"shared_photos_and_videos_count": "{assetCount, plural, other {# фото и видео.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# фото и видео.}}",
"shared_with_partner": "Совместно с {partner}", "shared_with_partner": "Совместно с {partner}",
"sharing": "Общие", "sharing": "Общие",
@@ -1187,6 +1196,7 @@
"show_person_options": "Показать опции персоны", "show_person_options": "Показать опции персоны",
"show_progress_bar": "Показать Индикатор Выполнения", "show_progress_bar": "Показать Индикатор Выполнения",
"show_search_options": "Показать параметры поиска", "show_search_options": "Показать параметры поиска",
"show_shared_links": "Показать публичные ссылки",
"show_slideshow_transition": "Показать слайд-шоу переход", "show_slideshow_transition": "Показать слайд-шоу переход",
"show_supporter_badge": "Значок поддержки", "show_supporter_badge": "Значок поддержки",
"show_supporter_badge_description": "Показать значок поддержки", "show_supporter_badge_description": "Показать значок поддержки",
@@ -1210,11 +1220,11 @@
"sort_recent": "Недавние фото", "sort_recent": "Недавние фото",
"sort_title": "Заголовок", "sort_title": "Заголовок",
"source": "Исходный код", "source": "Исходный код",
"stack": "Превратить в серию", "stack": "Группировать",
"stack_duplicates": "Превратить дубликаты в серию", "stack_duplicates": "Группировать дубликаты",
"stack_select_one_photo": "Выберите главную фотографию для серии", "stack_select_one_photo": "Выберите главную фотографию для группы",
"stack_selected_photos": "Объединить выбранные объекты в серию", "stack_selected_photos": "Группировать выбранные объекты",
"stacked_assets_count": "{count, plural, one {# объект добавлен} few {# объекта добавлено} other {# объектов добавлено}} в серию", "stacked_assets_count": "{count, plural, one {# объект добавлен} few {# объекта добавлено} other {# объектов добавлено}} в группу",
"stacktrace": "Трассировка стека", "stacktrace": "Трассировка стека",
"start": "Старт", "start": "Старт",
"start_date": "Дата начала", "start_date": "Дата начала",
@@ -1274,6 +1284,7 @@
"unfavorite": "Удалить из избранного", "unfavorite": "Удалить из избранного",
"unhide_person": "Показать персону", "unhide_person": "Показать персону",
"unknown": "Неизвестно", "unknown": "Неизвестно",
"unknown_country": "Неизвестная страна",
"unknown_year": "Неизвестный Год", "unknown_year": "Неизвестный Год",
"unlimited": "Не ограничено", "unlimited": "Не ограничено",
"unlink_motion_video": "Отсоединить движущееся видео", "unlink_motion_video": "Отсоединить движущееся видео",
@@ -1285,8 +1296,8 @@
"unsaved_change": "Не сохраненное изменение", "unsaved_change": "Не сохраненное изменение",
"unselect_all": "Снять всё", "unselect_all": "Снять всё",
"unselect_all_duplicates": "Отменить выбор всех дубликатов", "unselect_all_duplicates": "Отменить выбор всех дубликатов",
"unstack": "Разгруппировать серию", "unstack": "Разгруппировать",
"unstacked_assets_count": "{count, plural, one {# объект извлечен} few {# объекта извлечено} other {# объектов извлечено}} из серии", "unstacked_assets_count": "{count, plural, one {# объект извлечен} few {# объекта извлечено} other {# объектов извлечено}} из группы",
"untracked_files": "НЕОТСЛЕЖИВАЕМЫЕ ФАЙЛЫ", "untracked_files": "НЕОТСЛЕЖИВАЕМЫЕ ФАЙЛЫ",
"untracked_files_decription": "Приложение не отслеживает эти файлы. Они могут быть результатом неудачных перемещений, прерванных загрузок или пропущены из-за ошибки", "untracked_files_decription": "Приложение не отслеживает эти файлы. Они могут быть результатом неудачных перемещений, прерванных загрузок или пропущены из-за ошибки",
"up_next": "Следующее", "up_next": "Следующее",

View File

@@ -15,7 +15,7 @@
"add_a_title": "Pridať názov", "add_a_title": "Pridať názov",
"add_exclusion_pattern": "Pridať vzor vylúčenia", "add_exclusion_pattern": "Pridať vzor vylúčenia",
"add_import_path": "Pridať cestu pre import", "add_import_path": "Pridať cestu pre import",
"add_location": "Pridať lokáciu", "add_location": "Pridať polohu",
"add_more_users": "Pridať viac používateľov", "add_more_users": "Pridať viac používateľov",
"add_partner": "Pridať partnera", "add_partner": "Pridať partnera",
"add_path": "Pridať cestu", "add_path": "Pridať cestu",
@@ -822,6 +822,7 @@
"latest_version": "Najnovšia verzia", "latest_version": "Najnovšia verzia",
"latitude": "Zemepisná šírka", "latitude": "Zemepisná šírka",
"leave": "Opustiť", "leave": "Opustiť",
"lens_model": "Model objektívu",
"let_others_respond": "Nechajte ostatných reagovať", "let_others_respond": "Nechajte ostatných reagovať",
"level": "Level", "level": "Level",
"library": "Knižnica", "library": "Knižnica",
@@ -1113,6 +1114,7 @@
"search_camera_model": "Hľadať model fotoaparátu...", "search_camera_model": "Hľadať model fotoaparátu...",
"search_city": "Hľadať mesto...", "search_city": "Hľadať mesto...",
"search_country": "Hľadať krajinu...", "search_country": "Hľadať krajinu...",
"search_for": "Vyhľadať",
"search_for_existing_person": "Hľadať existujúcu osobu", "search_for_existing_person": "Hľadať existujúcu osobu",
"search_no_people": "Žiadne osoby", "search_no_people": "Žiadne osoby",
"search_no_people_named": "Žiadne osoby menom \"{name}\"", "search_no_people_named": "Žiadne osoby menom \"{name}\"",

View File

@@ -20,7 +20,7 @@
"add_partner": "Dodaj partnerja", "add_partner": "Dodaj partnerja",
"add_path": "Dodaj pot", "add_path": "Dodaj pot",
"add_photos": "Dodaj fotografije", "add_photos": "Dodaj fotografije",
"add_to": "Dodaj v...", "add_to": "Dodaj v",
"add_to_album": "Dodaj v album", "add_to_album": "Dodaj v album",
"add_to_shared_album": "Dodaj k deljenemu albumu", "add_to_shared_album": "Dodaj k deljenemu albumu",
"add_url": "Dodaj URL", "add_url": "Dodaj URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Ponastavi nastavitve na privzete", "reset_settings_to_default": "Ponastavi nastavitve na privzete",
"reset_settings_to_recent_saved": "Ponastavite nastavitve na nedavno shranjene nastavitve", "reset_settings_to_recent_saved": "Ponastavite nastavitve na nedavno shranjene nastavitve",
"scanning_library": "Pregledovanje knjižnice", "scanning_library": "Pregledovanje knjižnice",
"search_jobs": "Iskalna opravila...", "search_jobs": "Iskanje opravil",
"send_welcome_email": "Pošlji pozdravno e-pošto", "send_welcome_email": "Pošlji pozdravno e-pošto",
"server_external_domain_settings": "Zunanja domena", "server_external_domain_settings": "Zunanja domena",
"server_external_domain_settings_description": "Domena za javne skupne povezave, vključno s http(s)://", "server_external_domain_settings_description": "Domena za javne skupne povezave, vključno s http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Ali je to ista oseba?", "are_these_the_same_person": "Ali je to ista oseba?",
"are_you_sure_to_do_this": "Ste prepričani, da želite to narediti?", "are_you_sure_to_do_this": "Ste prepričani, da želite to narediti?",
"asset_added_to_album": "Dodano v album", "asset_added_to_album": "Dodano v album",
"asset_adding_to_album": "Dodajanje v album ...", "asset_adding_to_album": "Dodajanje v album",
"asset_description_updated": "Opis sredstva je posodobljen", "asset_description_updated": "Opis sredstva je posodobljen",
"asset_filename_is_offline": "Sredstvo {filename} je brez povezave", "asset_filename_is_offline": "Sredstvo {filename} je brez povezave",
"asset_has_unassigned_faces": "Sredstvo ima nedodeljene obraze", "asset_has_unassigned_faces": "Sredstvo ima nedodeljene obraze",
"asset_hashing": "Zgoščevanje ...", "asset_hashing": "Zgoščevanje",
"asset_offline": "Sredstvo brez povezave", "asset_offline": "Sredstvo brez povezave",
"asset_offline_description": "Tega zunanjega sredstva ni več mogoče najti na disku. Za pomoč kontaktirajte Immich skrbnika.", "asset_offline_description": "Tega zunanjega sredstva ni več mogoče najti na disku. Za pomoč kontaktirajte Immich skrbnika.",
"asset_skipped": "Preskočeno", "asset_skipped": "Preskočeno",
"asset_skipped_in_trash": "V smetnjak", "asset_skipped_in_trash": "V smetnjak",
"asset_uploaded": "Naloženo", "asset_uploaded": "Naloženo",
"asset_uploading": "Nalaganje ...", "asset_uploading": "Nalaganje",
"assets": "Sredstva", "assets": "Sredstva",
"assets_added_count": "Dodano{count, plural, one {# sredstvo} other {# sredstev}}", "assets_added_count": "Dodano{count, plural, one {# sredstvo} other {# sredstev}}",
"assets_added_to_album_count": "Dodano{count, plural, one {# sredstvo} other {# sredstev}} v album", "assets_added_to_album_count": "Dodano{count, plural, one {# sredstvo} other {# sredstev}} v album",
@@ -766,8 +766,10 @@
"go_to_folder": "Pojdi na mapo", "go_to_folder": "Pojdi na mapo",
"go_to_search": "Pojdi na iskanje", "go_to_search": "Pojdi na iskanje",
"group_albums_by": "Združi albume po ...", "group_albums_by": "Združi albume po ...",
"group_country": "Združi po državah",
"group_no": "Brez združevanja", "group_no": "Brez združevanja",
"group_owner": "Združi po lastniku", "group_owner": "Združi po lastniku",
"group_places_by": "Združi kraje po...",
"group_year": "Združi po letih", "group_year": "Združi po letih",
"has_quota": "Ima kvoto", "has_quota": "Ima kvoto",
"hi_user": "Živijo {name} ({email})", "hi_user": "Živijo {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Vključite skupne albume", "include_shared_albums": "Vključite skupne albume",
"include_shared_partner_assets": "Vključite partnerjeva skupna sredstva", "include_shared_partner_assets": "Vključite partnerjeva skupna sredstva",
"individual_share": "Samostojna delitev", "individual_share": "Samostojna delitev",
"individual_shares": "Posamezne delitve",
"info": "Info", "info": "Info",
"interval": { "interval": {
"day_at_onepm": "Vsak dan ob 13h", "day_at_onepm": "Vsak dan ob 13h",
@@ -822,6 +825,7 @@
"latest_version": "Najnovejša različica", "latest_version": "Najnovejša različica",
"latitude": "Zemljepisna širina", "latitude": "Zemljepisna širina",
"leave": "Zapusti", "leave": "Zapusti",
"lens_model": "Model leč",
"let_others_respond": "Naj drugi odgovorijo", "let_others_respond": "Naj drugi odgovorijo",
"level": "Raven", "level": "Raven",
"library": "Knjižnica", "library": "Knjižnica",
@@ -984,6 +988,7 @@
"pick_a_location": "Izberi lokacijo", "pick_a_location": "Izberi lokacijo",
"place": "Lokacija", "place": "Lokacija",
"places": "Lokacije", "places": "Lokacije",
"places_count": "{count, plural, one {{count, number} kraj} other {{count, number} krajev}}",
"play": "Predvajaj", "play": "Predvajaj",
"play_memories": "Predvajaj spomine", "play_memories": "Predvajaj spomine",
"play_motion_photo": "Predvajaj premikajočo fotografijo", "play_motion_photo": "Predvajaj premikajočo fotografijo",
@@ -1107,12 +1112,15 @@
"search": "Iskanje", "search": "Iskanje",
"search_albums": "Iskanje albumov", "search_albums": "Iskanje albumov",
"search_by_context": "Iskanje po kontekstu", "search_by_context": "Iskanje po kontekstu",
"search_by_description": "Iskanje po opisu",
"search_by_description_example": "Pohodniški dan v Sapi",
"search_by_filename": "Iskanje po imenu datoteke ali priponi", "search_by_filename": "Iskanje po imenu datoteke ali priponi",
"search_by_filename_example": "na primer IMG_1234.JPG ali PNG", "search_by_filename_example": "na primer IMG_1234.JPG ali PNG",
"search_camera_make": "Iskanje proizvajalca kamere...", "search_camera_make": "Iskanje proizvajalca kamere...",
"search_camera_model": "Išči model kamere...", "search_camera_model": "Išči model kamere...",
"search_city": "Iskanje mesta...", "search_city": "Iskanje mesta...",
"search_country": "Iskanje države...", "search_country": "Iskanje države...",
"search_for": "Poišči za",
"search_for_existing_person": "Iskanje obstoječe osebe", "search_for_existing_person": "Iskanje obstoječe osebe",
"search_no_people": "Brez oseb", "search_no_people": "Brez oseb",
"search_no_people_named": "Ni oseb z imenom \"{name}\"", "search_no_people_named": "Ni oseb z imenom \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Fotografije od {partner}", "shared_from_partner": "Fotografije od {partner}",
"shared_link_options": "Možnosti skupne povezave", "shared_link_options": "Možnosti skupne povezave",
"shared_links": "Povezave v skupni rabi", "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_photos_and_videos_count": "{assetCount, plural, other {# deljenih fotografij & videoposnetkov.}}",
"shared_with_partner": "V skupni rabi s/z {partner}", "shared_with_partner": "V skupni rabi s/z {partner}",
"sharing": "Skupna raba", "sharing": "Skupna raba",
@@ -1187,6 +1196,7 @@
"show_person_options": "Prikaži možnosti osebe", "show_person_options": "Prikaži možnosti osebe",
"show_progress_bar": "Prikaži vrstico napredka", "show_progress_bar": "Prikaži vrstico napredka",
"show_search_options": "Prikaži možnosti iskanja", "show_search_options": "Prikaži možnosti iskanja",
"show_shared_links": "Pokaži povezave v skupni rabi",
"show_slideshow_transition": "Prikaži prehod diaprojekcije", "show_slideshow_transition": "Prikaži prehod diaprojekcije",
"show_supporter_badge": "Značka podpornika", "show_supporter_badge": "Značka podpornika",
"show_supporter_badge_description": "Prikaži značko podpornika", "show_supporter_badge_description": "Prikaži značko podpornika",
@@ -1274,6 +1284,7 @@
"unfavorite": "Odznači priljubljeno", "unfavorite": "Odznači priljubljeno",
"unhide_person": "Prikaži osebo", "unhide_person": "Prikaži osebo",
"unknown": "Neznano", "unknown": "Neznano",
"unknown_country": "Neznana država",
"unknown_year": "Neznano leto", "unknown_year": "Neznano leto",
"unlimited": "Neomejeno", "unlimited": "Neomejeno",
"unlink_motion_video": "Prekini povezavo videoposnetka gibanja", "unlink_motion_video": "Prekini povezavo videoposnetka gibanja",

View File

@@ -20,7 +20,7 @@
"add_partner": "Додај партнер", "add_partner": "Додај партнер",
"add_path": "Додај путању", "add_path": "Додај путању",
"add_photos": "Додај фотографије", "add_photos": "Додај фотографије",
"add_to": "Додај у...", "add_to": "Додај у",
"add_to_album": "Додај у албум", "add_to_album": "Додај у албум",
"add_to_shared_album": "Додај у дељен албум", "add_to_shared_album": "Додај у дељен албум",
"add_url": "Додај URL", "add_url": "Додај URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Ресетујте подешавања на подразумеване вредности", "reset_settings_to_default": "Ресетујте подешавања на подразумеване вредности",
"reset_settings_to_recent_saved": "Ресетујте подешавања на недавно сачувана подешавања", "reset_settings_to_recent_saved": "Ресетујте подешавања на недавно сачувана подешавања",
"scanning_library": "Скенирање библиотеке", "scanning_library": "Скенирање библиотеке",
"search_jobs": "Тражи послове...", "search_jobs": "Тражи послове",
"send_welcome_email": "Пошаљите е-пошту добродошлице", "send_welcome_email": "Пошаљите е-пошту добродошлице",
"server_external_domain_settings": "Екстерни домаин", "server_external_domain_settings": "Екстерни домаин",
"server_external_domain_settings_description": "Домаин за јавне дељене везе, укључујући http(s)://", "server_external_domain_settings_description": "Домаин за јавне дељене везе, укључујући http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Да ли су ово иста особа?", "are_these_the_same_person": "Да ли су ово иста особа?",
"are_you_sure_to_do_this": "Јесте ли сигурни да желите ово да урадите?", "are_you_sure_to_do_this": "Јесте ли сигурни да желите ово да урадите?",
"asset_added_to_album": "Додато у албум", "asset_added_to_album": "Додато у албум",
"asset_adding_to_album": "Додаје се у албум...", "asset_adding_to_album": "Додаје се у албум",
"asset_description_updated": "Опис датотеке је ажуриран", "asset_description_updated": "Опис датотеке је ажуриран",
"asset_filename_is_offline": "Датотека {filename} је ван мреже (offline)", "asset_filename_is_offline": "Датотека {filename} је ван мреже (offline)",
"asset_has_unassigned_faces": "Датотека има недодељена лица", "asset_has_unassigned_faces": "Датотека има недодељена лица",
"asset_hashing": "Хеширање...", "asset_hashing": "Хеширање",
"asset_offline": "Датотека одсутна (offline)", "asset_offline": "Датотека одсутна (offline)",
"asset_offline_description": "Ова вањска датотека се више не налази на диску. Молимо контактирајте свог Имич администратора за помоћ.", "asset_offline_description": "Ова вањска датотека се више не налази на диску. Молимо контактирајте свог Имич администратора за помоћ.",
"asset_skipped": "Прескочено", "asset_skipped": "Прескочено",
"asset_skipped_in_trash": "У отпад", "asset_skipped_in_trash": "У отпад",
"asset_uploaded": "Отпремљено (Уплоадед)", "asset_uploaded": "Отпремљено (Уплоадед)",
"asset_uploading": "Отпремање...", "asset_uploading": "Отпремање",
"assets": "Записи", "assets": "Записи",
"assets_added_count": "Додато {count, plural, one {# датотека} other {# датотека}}", "assets_added_count": "Додато {count, plural, one {# датотека} other {# датотека}}",
"assets_added_to_album_count": "Додато је {count, plural, one {# датотека} other {# датотека}} у албум", "assets_added_to_album_count": "Додато је {count, plural, one {# датотека} other {# датотека}} у албум",
@@ -766,8 +766,10 @@
"go_to_folder": "Иди у фасциклу", "go_to_folder": "Иди у фасциклу",
"go_to_search": "Иди на претрагу", "go_to_search": "Иди на претрагу",
"group_albums_by": "Групни албуми по...", "group_albums_by": "Групни албуми по...",
"group_country": "Група по држава",
"group_no": "Без груписања", "group_no": "Без груписања",
"group_owner": "Групирајте по власнику", "group_owner": "Групирајте по власнику",
"group_places_by": "Групирајте места по...",
"group_year": "Групирајте по години", "group_year": "Групирајте по години",
"has_quota": "Има квоту", "has_quota": "Има квоту",
"hi_user": "Здраво {name} ({email})", "hi_user": "Здраво {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Обухвати дељене албуме", "include_shared_albums": "Обухвати дељене албуме",
"include_shared_partner_assets": "Обухвати заједничке датотеке партнера", "include_shared_partner_assets": "Обухвати заједничке датотеке партнера",
"individual_share": "Индивидуални удео", "individual_share": "Индивидуални удео",
"individual_shares": "Појединачне акције",
"info": "Информација", "info": "Информација",
"interval": { "interval": {
"day_at_onepm": "Сваки дан у 1пм", "day_at_onepm": "Сваки дан у 1пм",
@@ -822,6 +825,7 @@
"latest_version": "Најновија верзија", "latest_version": "Најновија верзија",
"latitude": "Географска ширина", "latitude": "Географска ширина",
"leave": "Напусти", "leave": "Напусти",
"lens_model": "Модел сочива",
"let_others_respond": "Дозволи да други коментаришу", "let_others_respond": "Дозволи да други коментаришу",
"level": "Ниво", "level": "Ниво",
"library": "Библиотека", "library": "Библиотека",
@@ -984,6 +988,7 @@
"pick_a_location": "Одабери локацију", "pick_a_location": "Одабери локацију",
"place": "Место", "place": "Место",
"places": "Места", "places": "Места",
"places_count": "{count, plural, one {{count, number} Место} other {{count, number} Местa}}",
"play": "Покрени", "play": "Покрени",
"play_memories": "Покрени сећања", "play_memories": "Покрени сећања",
"play_motion_photo": "Покрени покретну фотографију", "play_motion_photo": "Покрени покретну фотографију",
@@ -1107,12 +1112,15 @@
"search": "Претрага", "search": "Претрага",
"search_albums": "Претражи албуме", "search_albums": "Претражи албуме",
"search_by_context": "Претражујте по контексту", "search_by_context": "Претражујте по контексту",
"search_by_description": "Тражи по опису",
"search_by_description_example": "Дан пешачења у Сапи",
"search_by_filename": "Претражите по имену датотеке или екстензији", "search_by_filename": "Претражите по имену датотеке или екстензији",
"search_by_filename_example": "нпр. IMG_1234.JPG или PNG", "search_by_filename_example": "нпр. IMG_1234.JPG или PNG",
"search_camera_make": "Претрага произвођача камере...", "search_camera_make": "Претрага произвођача камере...",
"search_camera_model": "Претражи модел камере...", "search_camera_model": "Претражи модел камере...",
"search_city": "Претражи град...", "search_city": "Претражи град...",
"search_country": "Тражи земљу...", "search_country": "Тражи земљу...",
"search_for": "Тражи",
"search_for_existing_person": "Потражите постојећу особу", "search_for_existing_person": "Потражите постојећу особу",
"search_no_people": "Без особа", "search_no_people": "Без особа",
"search_no_people_named": "Нема особа са именом „{name}“", "search_no_people_named": "Нема особа са именом „{name}“",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Слике од {partner}", "shared_from_partner": "Слике од {partner}",
"shared_link_options": "Опције дељене везе", "shared_link_options": "Опције дељене везе",
"shared_links": "Дељене везе", "shared_links": "Дељене везе",
"shared_links_description": "Делите фотографије и видео записе помоћу линка",
"shared_photos_and_videos_count": "{assetCount, plural, other {# дељене фотографије и видео записе.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# дељене фотографије и видео записе.}}",
"shared_with_partner": "Дели се са {partner}", "shared_with_partner": "Дели се са {partner}",
"sharing": "Дељење", "sharing": "Дељење",
@@ -1187,6 +1196,7 @@
"show_person_options": "Прикажи опције особе", "show_person_options": "Прикажи опције особе",
"show_progress_bar": "Прикажи траку напретка", "show_progress_bar": "Прикажи траку напретка",
"show_search_options": "Прикажи опције претраге", "show_search_options": "Прикажи опције претраге",
"show_shared_links": "Прикажи дељене везе",
"show_slideshow_transition": "Прикажи прелаз пројекције слајдова", "show_slideshow_transition": "Прикажи прелаз пројекције слајдова",
"show_supporter_badge": "Значка подршке", "show_supporter_badge": "Значка подршке",
"show_supporter_badge_description": "Покажите значку подршке", "show_supporter_badge_description": "Покажите значку подршке",
@@ -1274,6 +1284,7 @@
"unfavorite": "Избаци из омиљених (унфаворите)", "unfavorite": "Избаци из омиљених (унфаворите)",
"unhide_person": "Откриј особу", "unhide_person": "Откриј особу",
"unknown": "Непознат", "unknown": "Непознат",
"unknown_country": "Непозната земља",
"unknown_year": "Непозната Година", "unknown_year": "Непозната Година",
"unlimited": "Неограничено", "unlimited": "Неограничено",
"unlink_motion_video": "Прекините везу са видео снимком", "unlink_motion_video": "Прекините везу са видео снимком",

View File

@@ -20,7 +20,7 @@
"add_partner": "Dodaj partner", "add_partner": "Dodaj partner",
"add_path": "Dodaj putanju", "add_path": "Dodaj putanju",
"add_photos": "Dodaj fotografije", "add_photos": "Dodaj fotografije",
"add_to": "Dodaj u...", "add_to": "Dodaj u",
"add_to_album": "Dodaj u album", "add_to_album": "Dodaj u album",
"add_to_shared_album": "Dodaj u deljen album", "add_to_shared_album": "Dodaj u deljen album",
"add_url": "Dodaj URL", "add_url": "Dodaj URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Resetujte podešavanja na podrazumevane vrednosti", "reset_settings_to_default": "Resetujte podešavanja na podrazumevane vrednosti",
"reset_settings_to_recent_saved": "Resetujte podešavanja na nedavno sačuvana podešavanja", "reset_settings_to_recent_saved": "Resetujte podešavanja na nedavno sačuvana podešavanja",
"scanning_library": "Skeniranje biblioteke", "scanning_library": "Skeniranje biblioteke",
"search_jobs": "Traži poslove...", "search_jobs": "Traži poslove",
"send_welcome_email": "Pošaljite e-poštu dobrodošlice", "send_welcome_email": "Pošaljite e-poštu dobrodošlice",
"server_external_domain_settings": "Eksterni domain", "server_external_domain_settings": "Eksterni domain",
"server_external_domain_settings_description": "Domain za javne deljene veze, uključujući http(s)://", "server_external_domain_settings_description": "Domain za javne deljene veze, uključujući http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Da li su ovo ista osoba?", "are_these_the_same_person": "Da li su ovo ista osoba?",
"are_you_sure_to_do_this": "Jeste li sigurni da želite ovo da uradite?", "are_you_sure_to_do_this": "Jeste li sigurni da želite ovo da uradite?",
"asset_added_to_album": "Dodato u album", "asset_added_to_album": "Dodato u album",
"asset_adding_to_album": "Dodaje se u album...", "asset_adding_to_album": "Dodaje se u album",
"asset_description_updated": "Opis datoteke je ažuriran", "asset_description_updated": "Opis datoteke je ažuriran",
"asset_filename_is_offline": "Datoteka {filename} je van mreže (offline)", "asset_filename_is_offline": "Datoteka {filename} je van mreže (offline)",
"asset_has_unassigned_faces": "Datoteka ima nedodeljena lica", "asset_has_unassigned_faces": "Datoteka ima nedodeljena lica",
"asset_hashing": "Heširanje...", "asset_hashing": "Heširanje",
"asset_offline": "Datoteka odsutna", "asset_offline": "Datoteka odsutna",
"asset_offline_description": "Ova vanjska datoteka se više ne nalazi na disku. Molimo kontaktirajte svog Immich administratora za pomoć.", "asset_offline_description": "Ova vanjska datoteka se više ne nalazi na disku. Molimo kontaktirajte svog Immich administratora za pomoć.",
"asset_skipped": "Preskočeno", "asset_skipped": "Preskočeno",
"asset_skipped_in_trash": "U otpad", "asset_skipped_in_trash": "U otpad",
"asset_uploaded": "Otpremljeno (Uploaded)", "asset_uploaded": "Otpremljeno (Uploaded)",
"asset_uploading": "Otpremanje...", "asset_uploading": "Otpremanje",
"assets": "Zapisi", "assets": "Zapisi",
"assets_added_count": "Dodato {count, plural, one {# datoteka} other {# datoteka}}", "assets_added_count": "Dodato {count, plural, one {# datoteka} other {# datoteka}}",
"assets_added_to_album_count": "Dodato je {count, plural, one {# datoteka} other {# datoteka}} u album", "assets_added_to_album_count": "Dodato je {count, plural, one {# datoteka} other {# datoteka}} u album",
@@ -766,8 +766,10 @@
"go_to_folder": "Idi u fasciklu", "go_to_folder": "Idi u fasciklu",
"go_to_search": "Idi na pretragu", "go_to_search": "Idi na pretragu",
"group_albums_by": "Grupni albumi po...", "group_albums_by": "Grupni albumi po...",
"group_country": "Grupa po država",
"group_no": "Bez grupisanja", "group_no": "Bez grupisanja",
"group_owner": "Grupirajte po vlasniku", "group_owner": "Grupirajte po vlasniku",
"group_places_by": "Grupirajte mesta po...",
"group_year": "Grupirajte po godini", "group_year": "Grupirajte po godini",
"has_quota": "Ima kvotu", "has_quota": "Ima kvotu",
"hi_user": "Zdravo {name} ({email})", "hi_user": "Zdravo {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Obuhvati deljene albume", "include_shared_albums": "Obuhvati deljene albume",
"include_shared_partner_assets": "Obuhvati zajedničke datoteke partnera", "include_shared_partner_assets": "Obuhvati zajedničke datoteke partnera",
"individual_share": "Individualni udeo", "individual_share": "Individualni udeo",
"individual_shares": "Pojedinačne akcije",
"info": "Informacija", "info": "Informacija",
"interval": { "interval": {
"day_at_onepm": "Svaki dan u 1pm", "day_at_onepm": "Svaki dan u 1pm",
@@ -822,6 +825,7 @@
"latest_version": "Najnovija verzija", "latest_version": "Najnovija verzija",
"latitude": "Geografska širina", "latitude": "Geografska širina",
"leave": "Napusti", "leave": "Napusti",
"lens_model": "Model sočiva",
"let_others_respond": "Dozvoli da drugi komentarišu", "let_others_respond": "Dozvoli da drugi komentarišu",
"level": "Nivo", "level": "Nivo",
"library": "Biblioteka", "library": "Biblioteka",
@@ -984,6 +988,7 @@
"pick_a_location": "Odaberi lokaciju", "pick_a_location": "Odaberi lokaciju",
"place": "Mesto", "place": "Mesto",
"places": "Mesta", "places": "Mesta",
"places_count": "{count, plural, one {{count, number} Mesto} other {{count, number} Mesta}}",
"play": "Pokreni", "play": "Pokreni",
"play_memories": "Pokreni sećanja", "play_memories": "Pokreni sećanja",
"play_motion_photo": "Pokreni pokretnu fotografiju", "play_motion_photo": "Pokreni pokretnu fotografiju",
@@ -1107,12 +1112,15 @@
"search": "Pretraga", "search": "Pretraga",
"search_albums": "Pretraži albume", "search_albums": "Pretraži albume",
"search_by_context": "Pretražujte po kontekstu", "search_by_context": "Pretražujte po kontekstu",
"search_by_description": "Traži po opisu",
"search_by_description_example": "Dan pešačenja u Sapi",
"search_by_filename": "Pretražite po imenu datoteke ili ekstenziji", "search_by_filename": "Pretražite po imenu datoteke ili ekstenziji",
"search_by_filename_example": "npr. IMG_1234.JPG ili PNG", "search_by_filename_example": "npr. IMG_1234.JPG ili PNG",
"search_camera_make": "Pretraga proizvođača kamere...", "search_camera_make": "Pretraga proizvođača kamere...",
"search_camera_model": "Pretraži model kamere...", "search_camera_model": "Pretraži model kamere...",
"search_city": "Pretraži grad...", "search_city": "Pretraži grad...",
"search_country": "Traži zemlju...", "search_country": "Traži zemlju...",
"search_for": "Traži",
"search_for_existing_person": "Potražite postojeću osobu", "search_for_existing_person": "Potražite postojeću osobu",
"search_no_people": "Bez osoba", "search_no_people": "Bez osoba",
"search_no_people_named": "Nema osoba sa imenom „{name}“", "search_no_people_named": "Nema osoba sa imenom „{name}“",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Slike od {partner}", "shared_from_partner": "Slike od {partner}",
"shared_link_options": "Opcije deljene veze", "shared_link_options": "Opcije deljene veze",
"shared_links": "Deljene veze", "shared_links": "Deljene veze",
"shared_links_description": "Delite fotografije i video zapise pomoću linka",
"shared_photos_and_videos_count": "{assetCount, plural, other {# deljene fotografije i video zapise.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# deljene fotografije i video zapise.}}",
"shared_with_partner": "Deli se sa {partner}", "shared_with_partner": "Deli se sa {partner}",
"sharing": "Deljenje", "sharing": "Deljenje",
@@ -1187,6 +1196,7 @@
"show_person_options": "Prikaži opcije osobe", "show_person_options": "Prikaži opcije osobe",
"show_progress_bar": "Prikaži traku napretka", "show_progress_bar": "Prikaži traku napretka",
"show_search_options": "Prikaži opcije pretrage", "show_search_options": "Prikaži opcije pretrage",
"show_shared_links": "Prikaži deljene veze",
"show_slideshow_transition": "Prikaži prelaz projekcije slajdova", "show_slideshow_transition": "Prikaži prelaz projekcije slajdova",
"show_supporter_badge": "Značka podrške", "show_supporter_badge": "Značka podrške",
"show_supporter_badge_description": "Pokažite značku podrške", "show_supporter_badge_description": "Pokažite značku podrške",
@@ -1274,6 +1284,7 @@
"unfavorite": "Izbaci iz omiljenih (unfavorite)", "unfavorite": "Izbaci iz omiljenih (unfavorite)",
"unhide_person": "Otkrij osobu", "unhide_person": "Otkrij osobu",
"unknown": "Nepoznat", "unknown": "Nepoznat",
"unknown_country": "Nepoznata zemlja",
"unknown_year": "Nepoznata Godina", "unknown_year": "Nepoznata Godina",
"unlimited": "Neograničeno", "unlimited": "Neograničeno",
"unlink_motion_video": "Odveži video od slike", "unlink_motion_video": "Odveži video od slike",

View File

@@ -20,7 +20,7 @@
"add_partner": "Lägg till partner", "add_partner": "Lägg till partner",
"add_path": "Lägg till sökväg", "add_path": "Lägg till sökväg",
"add_photos": "Lägg till foton", "add_photos": "Lägg till foton",
"add_to": "Lägg till...", "add_to": "Lägg till i...",
"add_to_album": "Lägg till i album", "add_to_album": "Lägg till i album",
"add_to_shared_album": "Lägg till i delat album", "add_to_shared_album": "Lägg till i delat album",
"add_url": "Lägg till URL", "add_url": "Lägg till URL",
@@ -59,7 +59,7 @@
"external_library_management": "Hantera externa bibliotek", "external_library_management": "Hantera externa bibliotek",
"face_detection": "Ansiktsdetektering", "face_detection": "Ansiktsdetektering",
"face_detection_description": "Identifiera ansikten i foton med hjälp av maskininlärning. För videor används endast miniatyrbilden. \"Alla\" gör om sökningen för alla objekt. \"Saknade\" letar i de objekt som ännu inte sökts igenom. Alla ansikten som identifierats läggs sedan i jobbkön för ansiktsigenkänning där de mappas till nya eller befintliga personer.", "face_detection_description": "Identifiera ansikten i foton med hjälp av maskininlärning. För videor används endast miniatyrbilden. \"Alla\" gör om sökningen för alla objekt. \"Saknade\" letar i de objekt som ännu inte sökts igenom. Alla ansikten som identifierats läggs sedan i jobbkön för ansiktsigenkänning där de mappas till nya eller befintliga personer.",
"facial_recognition_job_description": "Gruppera upptäckta ansikten till personer. Det här steget körs efter att ansiktsigenkänning är klar. \"Alla\" (åter-) grupperar alla ansikten. \"Saknade\" köer ansikten som inte har en person tilldelad.", "facial_recognition_job_description": "Gruppera upptäckta ansikten till personer. Det här steget körs efter att ansiktsdetektering är klar. \"Alla\" (åter-) grupperar alla ansikten. \"Saknade\" köer ansikten som inte har en person tilldelad.",
"failed_job_command": "Kommando {command} misslyckades för jobb: {job}", "failed_job_command": "Kommando {command} misslyckades för jobb: {job}",
"force_delete_user_warning": "VARNING: Detta tar omedelbart bort användaren och alla mediafiler. Detta kan inte ångras och filerna kan inte återställas.", "force_delete_user_warning": "VARNING: Detta tar omedelbart bort användaren och alla mediafiler. Detta kan inte ångras och filerna kan inte återställas.",
"forcing_refresh_library_files": "Tvingar uppdatering av alla biblioteksfiler", "forcing_refresh_library_files": "Tvingar uppdatering av alla biblioteksfiler",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Återställ inställningar till standard", "reset_settings_to_default": "Återställ inställningar till standard",
"reset_settings_to_recent_saved": "Återställ inställningar till de senaste sparade", "reset_settings_to_recent_saved": "Återställ inställningar till de senaste sparade",
"scanning_library": "Skanna bibliotek", "scanning_library": "Skanna bibliotek",
"search_jobs": "Sök Jobb...", "search_jobs": "Sökjobb",
"send_welcome_email": "Skicka välkomstmail", "send_welcome_email": "Skicka välkomstmail",
"server_external_domain_settings": "Extern domän", "server_external_domain_settings": "Extern domän",
"server_external_domain_settings_description": "Domän för publikt delade länkar, inklusive http(s)://", "server_external_domain_settings_description": "Domän för publikt delade länkar, inklusive http(s)://",
@@ -291,8 +291,8 @@
"transcoding_disabled_description": "Omkoda inte videofiler, detta kan störa uppspelning på vissa klienter", "transcoding_disabled_description": "Omkoda inte videofiler, detta kan störa uppspelning på vissa klienter",
"transcoding_encoding_options": "Kodningsval", "transcoding_encoding_options": "Kodningsval",
"transcoding_encoding_options_description": "Välj codec, upplösning, kvalitet och andra val för kodade videor", "transcoding_encoding_options_description": "Välj codec, upplösning, kvalitet och andra val för kodade videor",
"transcoding_hardware_acceleration": "Hardvaruacceleration", "transcoding_hardware_acceleration": "Hårdvaruacceleration",
"transcoding_hardware_acceleration_description": "Forskningsmässig; betydligt snabbare men med lägre kvalitet vid samma biträtta", "transcoding_hardware_acceleration_description": "Experimentell; betydligt snabbare men med lägre kvalitet vid samma bittakt",
"transcoding_hardware_decoding": "Hårdvaruavkodning", "transcoding_hardware_decoding": "Hårdvaruavkodning",
"transcoding_hardware_decoding_setting_description": "Tillämpas enbart på NVENC, QSV och RKMPP. Aktiverar end-to-end accelerering i stället för endast kodningsacceleration. Fungerar inte med alla videor.", "transcoding_hardware_decoding_setting_description": "Tillämpas enbart på NVENC, QSV och RKMPP. Aktiverar end-to-end accelerering i stället för endast kodningsacceleration. Fungerar inte med alla videor.",
"transcoding_hevc_codec": "HEVC-codec", "transcoding_hevc_codec": "HEVC-codec",
@@ -362,7 +362,7 @@
"advanced": "Avancerat", "advanced": "Avancerat",
"age_months": "Ålder {months, plural, one {# month} other {# months}}", "age_months": "Ålder {months, plural, one {# month} other {# months}}",
"age_year_months": "Ålder 1 år, {months, plural, one {# month} other {# months}}", "age_year_months": "Ålder 1 år, {months, plural, one {# month} other {# months}}",
"age_years": "{years, plural, other {Age #}}", "age_years": "{years, plural, other {Ålder #}}",
"album_added": "Albumet har lagts till", "album_added": "Albumet har lagts till",
"album_added_notification_setting_description": "Få ett e-postmeddelande när du läggs till i ett delat album", "album_added_notification_setting_description": "Få ett e-postmeddelande när du läggs till i ett delat album",
"album_cover_updated": "Albumomslaget uppdaterat", "album_cover_updated": "Albumomslaget uppdaterat",
@@ -382,7 +382,7 @@
"album_user_removed": "Tog bort {user}", "album_user_removed": "Tog bort {user}",
"album_with_link_access": "Låt alla med länken se foton och personer i det här albumet.", "album_with_link_access": "Låt alla med länken se foton och personer i det här albumet.",
"albums": "Album", "albums": "Album",
"albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Albums}}", "albums_count": "{count, plural, one {{count, number} Album} other {{count, number} Album}}",
"all": "Allt", "all": "Allt",
"all_albums": "Alla album", "all_albums": "Alla album",
"all_people": "Alla personer", "all_people": "Alla personer",
@@ -402,26 +402,26 @@
"archive_or_unarchive_photo": "Arkivera eller oarkivera fotot", "archive_or_unarchive_photo": "Arkivera eller oarkivera fotot",
"archive_size": "Arkivstorlek", "archive_size": "Arkivstorlek",
"archive_size_description": "Konfigurera arkivstorleken för nedladdningar (i GiB)", "archive_size_description": "Konfigurera arkivstorleken för nedladdningar (i GiB)",
"archived_count": "{count, plural, other {Archived #}}", "archived_count": "{count, plural, other {Arkiverade #}}",
"are_these_the_same_person": "Är det samma person?", "are_these_the_same_person": "Är det samma person?",
"are_you_sure_to_do_this": "Är du säker på att du vill göra det här?", "are_you_sure_to_do_this": "Är du säker på att du vill göra det här?",
"asset_added_to_album": "Lades till i album", "asset_added_to_album": "Lades till i album",
"asset_adding_to_album": "Lägger till i album...", "asset_adding_to_album": "Lägger till i album...",
"asset_description_updated": "Tillgångens beskrivning har uppdaterats", "asset_description_updated": "Tillgångens beskrivning har uppdaterats",
"asset_filename_is_offline": "Tillgången {filename} är offline", "asset_filename_is_offline": "Tillgången {filename} är offline",
"asset_has_unassigned_faces": "Tillgången har otilldelade ansikten", "asset_has_unassigned_faces": "Tillgången har otilldelade ansikten",
"asset_hashing": "Hashing...", "asset_hashing": "Hashing...",
"asset_offline": "Tillgång offline", "asset_offline": "Tillgång offline",
"asset_offline_description": "Denna externa tillgång finns inte längre på disken. Kontakta din Immich-administratör för hjälp.", "asset_offline_description": "Denna externa tillgång finns inte längre på disken. Kontakta din Immich-administratör för hjälp.",
"asset_skipped": "Överhoppad", "asset_skipped": "Överhoppad",
"asset_skipped_in_trash": "I papperskorgen", "asset_skipped_in_trash": "I papperskorgen",
"asset_uploaded": "Uppladdad", "asset_uploaded": "Uppladdad",
"asset_uploading": "Laddar upp...", "asset_uploading": "Laddar upp...",
"assets": "Objekt", "assets": "Objekt",
"assets_added_count": "La till {count, plural, one {# asset} other {# assets}}", "assets_added_count": "La till {count, plural, one {# asset} other {# assets}}",
"assets_added_to_album_count": "Lade till {count, plural, one {# asset} other {# assets}} i albumet", "assets_added_to_album_count": "Lade till {count, plural, one {# asset} other {# assets}} i albumet",
"assets_added_to_name_count": "Lade till {count, plural, one {# asset} other {# assets}} till {hasName, select, true {<b>{name}</b>} other {new album}}", "assets_added_to_name_count": "Lade till {count, plural, one {# asset} other {# assets}} till {hasName, select, true {<b>{name}</b>} other {new album}}",
"assets_count": "{count, plural, one {# asset} other {# assets}}", "assets_count": "{count, plural, one {# objekt} other {# objekt}}",
"assets_moved_to_trash_count": "Flyttade {count, plural, one {# asset} other {# assets}} till papperskorgen", "assets_moved_to_trash_count": "Flyttade {count, plural, one {# asset} other {# assets}} till papperskorgen",
"assets_permanently_deleted_count": "Raderad permanent {count, plural, one {# asset} other {# assets}}", "assets_permanently_deleted_count": "Raderad permanent {count, plural, one {# asset} other {# assets}}",
"assets_removed_count": "Tog bort {count, plural, one {# asset} other {# assets}}", "assets_removed_count": "Tog bort {count, plural, one {# asset} other {# assets}}",
@@ -526,6 +526,7 @@
"deduplication_criteria_1": "Bildstorlek i bytes", "deduplication_criteria_1": "Bildstorlek i bytes",
"deduplication_criteria_2": "Räkning av EXIF-data", "deduplication_criteria_2": "Räkning av EXIF-data",
"deduplication_info": "Dedupliceringsinformation", "deduplication_info": "Dedupliceringsinformation",
"deduplication_info_description": "För att automatiskt välja filer och ta bort dubletter i bulk analyserar vi:",
"default_locale": "Standardplats", "default_locale": "Standardplats",
"default_locale_description": "Formatera datum och siffror baserat på din webbläsares språkversion", "default_locale_description": "Formatera datum och siffror baserat på din webbläsares språkversion",
"delete": "Radera", "delete": "Radera",
@@ -765,8 +766,10 @@
"go_to_folder": "Gå till mapp", "go_to_folder": "Gå till mapp",
"go_to_search": "Gå till sök", "go_to_search": "Gå till sök",
"group_albums_by": "Gruppera album efter...", "group_albums_by": "Gruppera album efter...",
"group_country": "Gruppera per land",
"group_no": "Ingen gruppering", "group_no": "Ingen gruppering",
"group_owner": "Grupper efter ägare", "group_owner": "Grupper efter ägare",
"group_places_by": "Gruppera platser efter…",
"group_year": "Gruppera efter årtal", "group_year": "Gruppera efter årtal",
"has_quota": "Har kvot", "has_quota": "Har kvot",
"hi_user": "Hej {name} ({email})", "hi_user": "Hej {name} ({email})",
@@ -799,6 +802,7 @@
"include_shared_albums": "Inkludera delade album", "include_shared_albums": "Inkludera delade album",
"include_shared_partner_assets": "Inkludera delade partners tillgångar", "include_shared_partner_assets": "Inkludera delade partners tillgångar",
"individual_share": "Enskild delning", "individual_share": "Enskild delning",
"individual_shares": "Individuella delningar",
"info": "Information", "info": "Information",
"interval": { "interval": {
"day_at_onepm": "Alla dagar vid kl 13.00", "day_at_onepm": "Alla dagar vid kl 13.00",
@@ -821,6 +825,7 @@
"latest_version": "Senaste versionen", "latest_version": "Senaste versionen",
"latitude": "Latitud", "latitude": "Latitud",
"leave": "Lämna", "leave": "Lämna",
"lens_model": "Objektiv",
"let_others_respond": "Låt andra svara", "let_others_respond": "Låt andra svara",
"level": "Nivå", "level": "Nivå",
"library": "Bibliotek", "library": "Bibliotek",
@@ -970,8 +975,12 @@
"permanent_deletion_warning_setting_description": "Visa en varning när tillgångar raderas permanent", "permanent_deletion_warning_setting_description": "Visa en varning när tillgångar raderas permanent",
"permanently_delete": "Radera permanent", "permanently_delete": "Radera permanent",
"permanently_delete_assets_count": "Radera {count, plural, one {asset} other {assets}} permanent", "permanently_delete_assets_count": "Radera {count, plural, one {asset} other {assets}} permanent",
"permanently_delete_assets_prompt": "Är du säker på att du permanent vill ta bort {count, plural, one {denna fil?} other{these <b>#</b> filer?}} Detta kommer också ta bort {count, plural, one {dem från } other{them from their}} album.",
"permanently_deleted_asset": "Permanent raderad tillgång", "permanently_deleted_asset": "Permanent raderad tillgång",
"permanently_deleted_assets_count": "Permanent borttagning av {count, plural, one {# asset} other {# assets}}",
"person": "Person", "person": "Person",
"person_hidden": "{name}{hidden, select, true { (dold)} other {}}",
"photo_shared_all_users": "Du har antingen delat dina foton med alla användare eller så har du inga användare att dela dem med.",
"photos": "Foton", "photos": "Foton",
"photos_and_videos": "Foton & videor", "photos_and_videos": "Foton & videor",
"photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Foton}}", "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Foton}}",
@@ -979,6 +988,7 @@
"pick_a_location": "Välj en plats", "pick_a_location": "Välj en plats",
"place": "Plats", "place": "Plats",
"places": "Platser", "places": "Platser",
"places_count": "{count, plural, one {{count, number} Plats} other {{count, number} Platser}}",
"play": "Spela upp", "play": "Spela upp",
"play_memories": "Spela upp minnen", "play_memories": "Spela upp minnen",
"play_motion_photo": "Spela upp rörligt foto", "play_motion_photo": "Spela upp rörligt foto",
@@ -990,10 +1000,11 @@
"previous_memory": "Föregående minne", "previous_memory": "Föregående minne",
"previous_or_next_photo": "Föregående eller nästa foto", "previous_or_next_photo": "Föregående eller nästa foto",
"primary": "Primär", "primary": "Primär",
"privacy": "Sekretess",
"profile_image_of_user": "{user} profilbild", "profile_image_of_user": "{user} profilbild",
"profile_picture_set": "Profilbild vald.", "profile_picture_set": "Profilbild vald.",
"public_album": "Publikt album", "public_album": "Publikt album",
"public_share": "", "public_share": "Offentlig delning",
"purchase_account_info": "Supporter", "purchase_account_info": "Supporter",
"purchase_activated_subtitle": "Tack för att du stödjer Immich och open source-mjukvara", "purchase_activated_subtitle": "Tack för att du stödjer Immich och open source-mjukvara",
"purchase_activated_time": "Aktiverad {date, date}", "purchase_activated_time": "Aktiverad {date, date}",
@@ -1016,129 +1027,232 @@
"purchase_panel_info_1": "Att bygga Immich kräver mycket tid och engagemang och våra tekniker jobbar heltid för att göra det så bra som vi möjligt kan. Vårt mål är att open source-mjukvara och etiska affärsmetoder ska bli en hållbar inkomstkälla för utvecklare och att skapa ett ekosystem som repekterar personlig integritet med verkliga alternativ till exploaterande molntjänster.", "purchase_panel_info_1": "Att bygga Immich kräver mycket tid och engagemang och våra tekniker jobbar heltid för att göra det så bra som vi möjligt kan. Vårt mål är att open source-mjukvara och etiska affärsmetoder ska bli en hållbar inkomstkälla för utvecklare och att skapa ett ekosystem som repekterar personlig integritet med verkliga alternativ till exploaterande molntjänster.",
"purchase_panel_info_2": "Då vi åtagit oss att inte ha betalväggar kommer detta köp inte att ge dig några utökade funktioner i Immich. Vi sätter vår tillit till användare som du som stödjer Immichs fortsatta utveckling.", "purchase_panel_info_2": "Då vi åtagit oss att inte ha betalväggar kommer detta köp inte att ge dig några utökade funktioner i Immich. Vi sätter vår tillit till användare som du som stödjer Immichs fortsatta utveckling.",
"purchase_panel_title": "Stöd projektet", "purchase_panel_title": "Stöd projektet",
"purchase_per_server": "Per server",
"purchase_per_user": "Per användare",
"purchase_remove_product_key": "Ta bort produktnyckel", "purchase_remove_product_key": "Ta bort produktnyckel",
"purchase_remove_product_key_prompt": "Vill du verkligen ta bort produktnyckeln?", "purchase_remove_product_key_prompt": "Vill du verkligen ta bort produktnyckeln?",
"purchase_remove_server_product_key": "Ta bort serverns produktnyckel",
"purchase_remove_server_product_key_prompt": "Är du säker på att du vill ta bort serverns produktnyckel?",
"purchase_server_description_1": "För hela servern",
"purchase_server_description_2": "Supporterstatus", "purchase_server_description_2": "Supporterstatus",
"purchase_server_title": "Server", "purchase_server_title": "Server",
"purchase_settings_server_activated": "Produktnyckeln för servern hanteras av administratören", "purchase_settings_server_activated": "Produktnyckeln för servern hanteras av administratören",
"reaction_options": "", "rating": "Antal stjärnor",
"rating_clear": "Ta bort betyg",
"rating_count": "{count, plural, one {# stjärna} other {# stjärnor}}",
"rating_description": "Visa EXIF betyget i informationspanelen",
"reaction_options": "Hovringstext för knappen som visar åtgärder man kan utföra på en reaktion.",
"read_changelog": "Läs ändringslogg", "read_changelog": "Läs ändringslogg",
"recent": "", "reassign": "Omfördela",
"recent_searches": "", "reassigned_assets_to_existing_person": "Tilldelade om {count, plural, one {# objekt} other {# objekt}} till {name, select, null {an existing person} other {{name}}}",
"reassigned_assets_to_new_person": "Tilldelade om {count, plural, one {# objekt} other {# objekt}} till en ny persson",
"reassing_hint": "Tilldela valda tillgångar till en befintlig person",
"recent": "Nyligen",
"recent-albums": "Senaste album",
"recent_searches": "Senaste sökningar",
"refresh": "Ladda om", "refresh": "Ladda om",
"refresh_encoded_videos": "Ladda om kodade videor", "refresh_encoded_videos": "Ladda om kodade videor",
"refresh_faces": "Ladda om ansikten", "refresh_faces": "Ladda om ansikten",
"refresh_metadata": "Ladda om metadata", "refresh_metadata": "Ladda om metadata",
"refresh_thumbnails": "Uppdatera miniatyrer",
"refreshed": "Omladdad", "refreshed": "Omladdad",
"refreshes_every_file": "Läser in alla existerande och nya filer på nytt", "refreshes_every_file": "Läser in alla existerande och nya filer på nytt",
"refreshing_encoded_video": "Återladdar kodad video", "refreshing_encoded_video": "Återladdar kodad video",
"refreshing_faces": "Återladdar ansikten", "refreshing_faces": "Återladdar ansikten",
"refreshing_metadata": "Återladdar metadata", "refreshing_metadata": "Återladdar metadata",
"regenerating_thumbnails": "Uppdaterar miniatyrer",
"remove": "Ta bort", "remove": "Ta bort",
"remove_assets_album_confirmation": "Är du säker på att du vill ta bort {count, plural, one {# asset} other {# assets}} från albumet?",
"remove_assets_shared_link_confirmation": "Är du säker på att du vill ta bort {count, plural, one {# asset} other {# assets}} från denna delade länk?",
"remove_assets_title": "Ta bort filer?", "remove_assets_title": "Ta bort filer?",
"remove_deleted_assets": "", "remove_custom_date_range": "Ta bort anpassat datumintervall",
"remove_deleted_assets": "Ta bort borttagna tillgångar",
"remove_from_album": "Ta bort från album", "remove_from_album": "Ta bort från album",
"remove_from_favorites": "", "remove_from_favorites": "Ta bort från favoriter",
"remove_from_shared_link": "", "remove_from_shared_link": "Ta bort från delad länk",
"repair": "", "remove_url": "Ta bort URL",
"repair_no_results_message": "", "remove_user": "Ta bort användare",
"replace_with_upload": "", "removed_api_key": "Tog bort API nyckel: {name}",
"require_password": "", "removed_from_archive": "Borttagen från arkivet",
"reset": "", "removed_from_favorites": "Borttagen från favoriter",
"reset_password": "", "removed_from_favorites_count": "{count, plural, other {Tog bort #}} från favoriter",
"reset_people_visibility": "", "removed_tagged_assets": "Tog bort tagg från {count, plural, one {# objekt} other {# objekt}}",
"rename": "Döp om",
"repair": "Reparera",
"repair_no_results_message": "Ospårade och saknade filer kommer att dyka upp här",
"replace_with_upload": "Ersätt med uppladdning",
"repository": "Förvar",
"require_password": "Kräver lösenord",
"require_user_to_change_password_on_first_login": "Kräv att användaren ändrar lösenord vid första inloggning",
"reset": "Återställ",
"reset_password": "Nollställ lösenord",
"reset_people_visibility": "Återställ personers synlighet",
"reset_to_default": "Återställ till standard",
"resolve_duplicates": "Lös dubletter",
"resolved_all_duplicates": "Lös alla dubletter",
"restore": "Återställ", "restore": "Återställ",
"restore_user": "", "restore_all": "Återställ alla",
"retry_upload": "", "restore_user": "Återställ användare",
"restored_asset": "Återställ tillgång",
"resume": "Återuppta",
"retry_upload": "Ladda upp igen",
"review_duplicates": "Granska dubbletter", "review_duplicates": "Granska dubbletter",
"role": "", "role": "Roll",
"role_editor": "Redigerare",
"role_viewer": "Visare",
"save": "Spara", "save": "Spara",
"saved_profile": "", "saved_api_key": "Sparad API-nyckel",
"saved_settings": "", "saved_profile": "Sparade profil",
"saved_settings": "Sparade inställningar",
"say_something": "Säg något", "say_something": "Säg något",
"scan_all_libraries": "Skanna alla bibliotek", "scan_all_libraries": "Skanna alla bibliotek",
"scan_settings": "", "scan_library": "Skanna",
"scan_settings": "Skanningsinställningar",
"scanning_for_album": "Söker efter album...",
"search": "Sök", "search": "Sök",
"search_albums": "", "search_albums": "Sök album",
"search_by_context": "Sök efter sammanhang", "search_by_context": "Sök efter sammanhang",
"search_camera_make": "", "search_by_description": "Sök via beskrivning",
"search_camera_model": "", "search_by_description_example": "Vandringsdag i Sapa",
"search_city": "", "search_by_filename": "Sök efter filnamn eller filändelse",
"search_country": "", "search_by_filename_example": "t.ex. IMG_1234.JPG eller PNG",
"search_for_existing_person": "", "search_camera_make": "Sök efter kameratillverkare...",
"search_people": "", "search_camera_model": "Sök efter kameramodell...",
"search_places": "", "search_city": "Sök efter stad...",
"search_state": "", "search_country": "Sök efter land...",
"search_timezone": "", "search_for": "Sök efter",
"search_for_existing_person": "Sök efter befintlig person",
"search_no_people": "Inga personer",
"search_no_people_named": "Inga personer med namnet \"{name}\"",
"search_options": "Sökinställningar",
"search_people": "Sök personer",
"search_places": "Sök platser",
"search_settings": "Sök inställningar",
"search_state": "Sök stat...",
"search_tags": "Sök taggar...",
"search_timezone": "Sök tidszon...",
"search_type": "Söktyp", "search_type": "Söktyp",
"search_your_photos": "Sök bland dina foton", "search_your_photos": "Sök bland dina foton",
"searching_locales": "", "searching_locales": "Söker efter språk...",
"second": "", "second": "Sekund",
"see_all_people": "Se alla personer", "see_all_people": "Se alla personer",
"select_album_cover": "", "select_album_cover": "Välj albumomslag",
"select_all": "", "select_all": "Välj alla",
"select_avatar_color": "", "select_all_duplicates": "Välj alla dubletter",
"select_face": "", "select_avatar_color": "Välj färg för avatar",
"select_featured_photo": "", "select_face": "Välj person",
"select_library_owner": "", "select_featured_photo": "Välj utvald bild",
"select_new_face": "", "select_from_computer": "Välj från datorn",
"select_keep_all": "Spara alla",
"select_library_owner": "Välj biblioteksägare",
"select_new_face": "Välj nytt ansikte",
"select_photos": "Välj foton", "select_photos": "Välj foton",
"selected": "", "select_trash_all": "Släng alla",
"send_message": "", "selected": "Valda",
"selected_count": "{count, plural, other {# selected}}",
"send_message": "Skicka meddelande",
"send_welcome_email": "Skicka välkomstmejl",
"server_offline": "Servern offline",
"server_online": "Server online",
"server_stats": "Serverstatistik", "server_stats": "Serverstatistik",
"set": "", "server_version": "Serverversion",
"set_as_album_cover": "", "set": "Välj",
"set_as_album_cover": "Ange som albumomslag",
"set_as_featured_photo": "Ställ in som utvalt foto",
"set_as_profile_picture": "Ange som profilbild", "set_as_profile_picture": "Ange som profilbild",
"set_date_of_birth": "", "set_date_of_birth": "Ange födelsedatum",
"set_profile_picture": "", "set_profile_picture": "Ange som profilbild",
"set_slideshow_to_fullscreen": "", "set_slideshow_to_fullscreen": "Ställ in bildspel på helskärm",
"settings": "Inställningar", "settings": "Inställningar",
"settings_saved": "", "settings_saved": "Inställningar sparade",
"share": "Dela", "share": "Dela",
"shared": "Delad", "shared": "Delad",
"shared_by": "", "shared_by": "Delad av",
"shared_by_you": "", "shared_by_user": "Delad av {user}",
"shared_by_you": "Delad av dig",
"shared_from_partner": "Foton från {partner}",
"shared_link_options": "Alternativ för delad länk",
"shared_links": "Delade Länkar", "shared_links": "Delade Länkar",
"shared_links_description": "Dela foton och videor med en länk",
"shared_photos_and_videos_count": "{assetCount, plural, other {# delade foton och videor.}}",
"shared_with_partner": "Delad med {partner}",
"sharing": "Delning", "sharing": "Delning",
"sharing_sidebar_description": "", "sharing_enter_password": "Ange lösenord för att visa denna sidan.",
"show_album_options": "", "sharing_sidebar_description": "Visa en länk till Delning i sidopanelen",
"show_file_location": "", "shift_to_permanent_delete": "tryck på ⇧ för att permanent radera tillgången",
"show_gallery": "", "show_album_options": "Visa albumalternativ",
"show_hidden_people": "", "show_albums": "Visa album",
"show_in_timeline": "", "show_all_people": "Visa alla personer",
"show_in_timeline_setting_description": "", "show_and_hide_people": "Visa & göm personer",
"show_keyboard_shortcuts": "", "show_file_location": "Visa sökväg",
"show_gallery": "Visa galleri",
"show_hidden_people": "Visa gömda personer",
"show_in_timeline": "Visa på tidslinje",
"show_in_timeline_setting_description": "Visa foton och videor från denna användaren på din tidslinje",
"show_keyboard_shortcuts": "Visa kortkommandon",
"show_metadata": "Visa metadata", "show_metadata": "Visa metadata",
"show_or_hide_info": "", "show_or_hide_info": "Visa eller göm information",
"show_password": "", "show_password": "Visa lösenord",
"show_person_options": "", "show_person_options": "Visa alternativ för person",
"show_progress_bar": "", "show_progress_bar": "Visa förloppsindikator",
"show_search_options": "", "show_search_options": "Visa sökalternativ",
"shuffle": "", "show_shared_links": "Visa delade länkar",
"show_slideshow_transition": "Visa bildspelsövergång",
"show_supporter_badge": "Supporteremblem",
"show_supporter_badge_description": "Visa supporteremblem",
"shuffle": "Blanda",
"sidebar": "Sidopanel",
"sidebar_display_description": "Visa en länk till vyn i sidofältet",
"sign_out": "Logga ut", "sign_out": "Logga ut",
"sign_up": "", "sign_up": "Registrera dig",
"size": "", "size": "Storlek",
"skip_to_content": "", "skip_to_content": "Hoppa till innehåll",
"slideshow": "", "skip_to_folders": "Hoppa till mapp",
"slideshow_settings": "", "skip_to_tags": "Hoppa till taggar",
"sort_albums_by": "", "slideshow": "Bildspel",
"slideshow_settings": "Bildspelsinställningar",
"sort_albums_by": "Sortera album efter...",
"sort_created": "Skapat datum",
"sort_items": "Antal artiklar",
"sort_modified": "Datum ändrat",
"sort_oldest": "Äldsta foto",
"sort_people_by_similarity": "Sortera människor efter likhet",
"sort_recent": "Senaste fotot",
"sort_title": "Rubrik",
"source": "Källa",
"stack": "Stapel", "stack": "Stapel",
"stack_selected_photos": "", "stack_duplicates": "Stapla dubletter",
"stacktrace": "", "stack_select_one_photo": "Välj ett huvudfoto för stapeln",
"stack_selected_photos": "Stapla valda foton",
"stacked_assets_count": "Staplade {count, plural, one {# asset} other {# assets}}",
"stacktrace": "Stapelspårning",
"start": "Starta", "start": "Starta",
"start_date": "Startdatum", "start_date": "Startdatum",
"state": "Stat", "state": "Stat",
"status": "Status", "status": "Status",
"stop_motion_photo": "", "stop_motion_photo": "Stanna rörligt foto",
"stop_photo_sharing": "Sluta dela dina foton?", "stop_photo_sharing": "Sluta dela dina foton?",
"stop_photo_sharing_description": "{partner} kommer inte länga ha tillgång till dina foton.",
"stop_sharing_photos_with_user": "Sluta dela dina bilder med denna användaren",
"storage": "Lagring", "storage": "Lagring",
"storage_label": "", "storage_label": "Förvaringsetikett",
"storage_usage": "{used} av {available} används", "storage_usage": "{used} av {available} används",
"submit": "", "submit": "Skicka",
"suggestions": "Förslag", "suggestions": "Förslag",
"sunrise_on_the_beach": "Soluppgång på stranden", "sunrise_on_the_beach": "Soluppgång på stranden",
"swap_merge_direction": "", "support": "Support",
"support_and_feedback": "Support & Feedback",
"support_third_party_description": "Din Immich-installation paketerades av en tredje part. Problem som du upplever kan orsakas av det paketet, så vänligen ta upp problem med dem i första hand med hjälp av länkarna nedan.",
"swap_merge_direction": "Byt sammanfogningsriktning",
"sync": "Synka", "sync": "Synka",
"tag": "Tagg",
"tag_assets": "Tagga tillgångar",
"tag_created": "Skapade tagg: {tag}",
"tag_feature_description": "Bläddra bland foton och videor grupperade efter logiska taggar",
"tag_not_found_question": "Kan du inte hitta en tagg? <link>Skapa en ny tagg.</link>",
"tag_updated": "Uppdaterade tagg: {tag}",
"tagged_assets": "Taggade {count, plural, one {# objekt} other {# objekt}}",
"tags": "Taggar",
"template": "Mall", "template": "Mall",
"theme": "Tema", "theme": "Tema",
"theme_selection": "Val av tema", "theme_selection": "Val av tema",
@@ -1146,44 +1260,67 @@
"they_will_be_merged_together": "De kommer att slås samman", "they_will_be_merged_together": "De kommer att slås samman",
"third_party_resources": "Tredjepartsresurser", "third_party_resources": "Tredjepartsresurser",
"time_based_memories": "Tidsbaserade minnen", "time_based_memories": "Tidsbaserade minnen",
"timeline": "Tidslinje",
"timezone": "Tidszon", "timezone": "Tidszon",
"to_archive": "Arkivera", "to_archive": "Arkivera",
"to_change_password": "Ändra lösenord", "to_change_password": "Ändra lösenord",
"to_favorite": "Favorit", "to_favorite": "Favorit",
"to_login": "Logga in", "to_login": "Logga in",
"to_parent": "Gå till förälder",
"to_trash": "Papperskorg", "to_trash": "Papperskorg",
"toggle_settings": "", "toggle_settings": "Växla inställningar",
"toggle_theme": "Växla tema", "toggle_theme": "Växla tema",
"total": "Total",
"total_usage": "Total användning", "total_usage": "Total användning",
"trash": "Papperskorg", "trash": "Papperskorg",
"trash_all": "Kasta alla", "trash_all": "Kasta alla",
"trash_count": "Papperskorg {count, number}",
"trash_delete_asset": "Papperskorgen/Ta bort tillgång",
"trash_no_results_message": "Borttagna foton och videor kommer att visas här.", "trash_no_results_message": "Borttagna foton och videor kommer att visas här.",
"trashed_items_will_be_permanently_deleted_after": "Objekt i papperskorgen raderas permanent efter {days, plural, one {# dag} other {# dagar}}.", "trashed_items_will_be_permanently_deleted_after": "Objekt i papperskorgen raderas permanent efter {days, plural, one {# dag} other {# dagar}}.",
"type": "Typ", "type": "Typ",
"unarchive": "Ångra arkivering", "unarchive": "Ångra arkivering",
"unarchived_count": "{count, plural, other {Unarchived #}}",
"unfavorite": "Avfavorisera", "unfavorite": "Avfavorisera",
"unhide_person": "", "unhide_person": "Visa person",
"unknown": "Okänd", "unknown": "Okänd",
"unknown_country": "Okänt Land",
"unknown_year": "Okänt år", "unknown_year": "Okänt år",
"unlimited": "Obegränsat", "unlimited": "Obegränsat",
"unlink_motion_video": "Ta bort länken till rörlig video",
"unlink_oauth": "Ta bort länken till OAuth", "unlink_oauth": "Ta bort länken till OAuth",
"unlinked_oauth_account": "", "unlinked_oauth_account": "Olänkat OAuth-konto",
"unnamed_album": "Namnlöst Album",
"unnamed_album_delete_confirmation": "Är du säker på att du vill ta bort detta album?",
"unnamed_share": "Namnlös delning",
"unsaved_change": "Osparade ändringar", "unsaved_change": "Osparade ändringar",
"unselect_all": "", "unselect_all": "Avmarkera alla",
"unselect_all_duplicates": "Avmarkera alla dubletter",
"unstack": "Stapla Av", "unstack": "Stapla Av",
"unstacked_assets_count": "Avstaplade {count, plural, one {# asset} other {# assets}}",
"untracked_files": "Ospårade filer",
"untracked_files_decription": "Dessa filer spåras inte av applikationen. Det kan bero på misslyckad flytt, avbruten uppladdning eller att de lämnats kvar på grund av en bugg",
"up_next": "Nästa", "up_next": "Nästa",
"updated_password": "Lösenordet har uppdaterats", "updated_password": "Lösenordet har uppdaterats",
"upload": "Ladda upp", "upload": "Ladda upp",
"upload_concurrency": "", "upload_concurrency": "Uppladdning samtidighet",
"upload_errors": "Uppladdning klar med {count, plural, one {# fel} other {# fel}}, ladda om sidan för att se nya objekt.",
"upload_progress": "Återstående {remaining, number} - Bearbetade {processed, number}/{total, number}",
"upload_skipped_duplicates": "Hoppade över {count, plural, one {# dublett} other {# dubletter}}",
"upload_status_duplicates": "Dubbletter", "upload_status_duplicates": "Dubbletter",
"upload_status_errors": "Fel", "upload_status_errors": "Fel",
"upload_status_uploaded": "Uppladdad",
"upload_success": "Uppladdning lyckades, ladda om sidan för att se nya objekt.",
"url": "URL", "url": "URL",
"usage": "Användning", "usage": "Användning",
"use_custom_date_range": "Använd anpassat datumintervall istället",
"user": "Användare", "user": "Användare",
"user_id": "Användar-ID", "user_id": "Användar-ID",
"user_liked": "{user} gillade {type, select, photo {detta fotot} video {denna filmen} asset {detta objekt} other {detta}}",
"user_purchase_settings": "Köp", "user_purchase_settings": "Köp",
"user_purchase_settings_description": "Hantera dina köp", "user_purchase_settings_description": "Hantera dina köp",
"user_usage_detail": "", "user_role_set": "Sätt {user} som {role}",
"user_usage_detail": "Användaranvändningsdetaljer",
"user_usage_stats": "Kontoinformation - statistik", "user_usage_stats": "Kontoinformation - statistik",
"user_usage_stats_description": "Se statistik - kontoanvändande", "user_usage_stats_description": "Se statistik - kontoanvändande",
"username": "Användarnamn", "username": "Användarnamn",
@@ -1193,8 +1330,12 @@
"variables": "Variabler", "variables": "Variabler",
"version": "Version", "version": "Version",
"version_announcement_closing": "Din vän, Alex", "version_announcement_closing": "Din vän, Alex",
"version_announcement_message": "Hej där! En ny version av Immich är tillgänglig. Ta dig tid att läsa <link> versionsfakta </link> för att säkerställa att dina inställningar är uppdaterade för att förhindra eventuella felkonfigurationer, särskilt om du använder WatchTower eller någon mekanism som hanterar uppdatering av din Immich instans automatiskt.",
"version_history": "Versionshistorik",
"version_history_item": "Version {version} installerad {date}",
"video": "Video", "video": "Video",
"video_hover_setting_description": "", "video_hover_setting": "Spela upp videotumnagel när muspekaren är över den",
"video_hover_setting_description": "Spela upp videotumnagel när muspekaren är över den. Även när den är deaktiverad kan uppspelning startas när muspekaren är över play-ikonen.",
"videos": "Videor", "videos": "Videor",
"videos_count": "{count, plural, one {# Video} other {# Videor}}", "videos_count": "{count, plural, one {# Video} other {# Videor}}",
"view": "Visa", "view": "Visa",
@@ -1203,8 +1344,11 @@
"view_all_users": "Visa alla användare", "view_all_users": "Visa alla användare",
"view_in_timeline": "Visa i tidslinjen", "view_in_timeline": "Visa i tidslinjen",
"view_links": "Visa länkar", "view_links": "Visa länkar",
"view_name": "Visa",
"view_next_asset": "Visa nästa objekt", "view_next_asset": "Visa nästa objekt",
"view_previous_asset": "Visa föregående objekt", "view_previous_asset": "Visa föregående objekt",
"view_stack": "Visa Stapel",
"visibility_changed": "Synlighet ändrad för {count, plural, one {# person} other {# personer}}",
"waiting": "Väntar", "waiting": "Väntar",
"warning": "Varning", "warning": "Varning",
"week": "Vecka", "week": "Vecka",

View File

@@ -23,6 +23,7 @@
"add_to": "జోడించండి...", "add_to": "జోడించండి...",
"add_to_album": "ఆల్బమ్‌కు జోడించండి", "add_to_album": "ఆల్బమ్‌కు జోడించండి",
"add_to_shared_album": "భాగస్వామ్య ఆల్బమ్‌కు జోడించండి", "add_to_shared_album": "భాగస్వామ్య ఆల్బమ్‌కు జోడించండి",
"add_url": "URLని జోడించండి",
"added_to_archive": "ఆర్కైవ్‌కి జోడించబడింది", "added_to_archive": "ఆర్కైవ్‌కి జోడించబడింది",
"added_to_favorites": "ఇష్టమైన వాటికి జోడించబడింది", "added_to_favorites": "ఇష్టమైన వాటికి జోడించబడింది",
"added_to_favorites_count": "ఇష్టమైన వాటికి {count, number} జోడించబడింది", "added_to_favorites_count": "ఇష్టమైన వాటికి {count, number} జోడించబడింది",
@@ -213,6 +214,7 @@
"notifications": "నోటిఫికేషన్‌లు", "notifications": "నోటిఫికేషన్‌లు",
"notifications_setting_description": "నోటిఫికేషన్‌లను నిర్వహించండి", "notifications_setting_description": "నోటిఫికేషన్‌లను నిర్వహించండి",
"oauth": "OAuth", "oauth": "OAuth",
"search_by_description": "వివరణ ద్వారా శోధించండి",
"unsaved_change": "సేవ్ చేయని మార్పు", "unsaved_change": "సేవ్ చేయని మార్పు",
"unselect_all": "ఎంచుకున్నవన్నీ తొలగించు", "unselect_all": "ఎంచుకున్నవన్నీ తొలగించు",
"unselect_all_duplicates": "అన్ని నకిలీల ఎంపికను తీసివేయండి", "unselect_all_duplicates": "అన్ని నకిలీల ఎంపికను తీసివేయండి",

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@
"add_partner": "Partner ekle", "add_partner": "Partner ekle",
"add_path": "Yol ekle", "add_path": "Yol ekle",
"add_photos": "Fotoğraf ekle", "add_photos": "Fotoğraf ekle",
"add_to": "Şuraya ekle...", "add_to": "Şuraya ekle",
"add_to_album": "Albüme ekle", "add_to_album": "Albüme ekle",
"add_to_shared_album": "Paylaşılan albüme ekle", "add_to_shared_album": "Paylaşılan albüme ekle",
"add_url": "URL ekle", "add_url": "URL ekle",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Ayarları varsayılana sıfırla", "reset_settings_to_default": "Ayarları varsayılana sıfırla",
"reset_settings_to_recent_saved": "Ayarları kaydedilmiş önceki ayarlara döndür", "reset_settings_to_recent_saved": "Ayarları kaydedilmiş önceki ayarlara döndür",
"scanning_library": "Kütüphaneyi tarama", "scanning_library": "Kütüphaneyi tarama",
"search_jobs": "Görevleri Ara...", "search_jobs": "Görevler ara…",
"send_welcome_email": "Hoş geldin e-postası gönder", "send_welcome_email": "Hoş geldin e-postası gönder",
"server_external_domain_settings": "Dış domain", "server_external_domain_settings": "Dış domain",
"server_external_domain_settings_description": "Paylaşılan fotoğraflar için domain, http(s):// dahil", "server_external_domain_settings_description": "Paylaşılan fotoğraflar için domain, http(s):// dahil",
@@ -326,7 +326,7 @@
"transcoding_transcode_policy_description": "Bir videonun ne zaman kod dönüştürülmesi gerektiğine ilişkin ilke. Dönüştürme devre dışı bırakılmadığı sürece HDR videolar her zaman dönüştürülür.", "transcoding_transcode_policy_description": "Bir videonun ne zaman kod dönüştürülmesi gerektiğine ilişkin ilke. Dönüştürme devre dışı bırakılmadığı sürece HDR videolar her zaman dönüştürülür.",
"transcoding_two_pass_encoding": "İki geçişli kodlama", "transcoding_two_pass_encoding": "İki geçişli kodlama",
"transcoding_two_pass_encoding_setting_description": "Daha iyi kodlanmış videolar üretmek için iki geçişte kod dönüştürün. Maksimum bit hızı etkinleştirildiğinde (H.264 ve HEVC ile çalışması için gereklidir), bu mod maksimum bit hızına dayalı bir bit hızı aralığı kullanır ve CRF'yi yok sayar. VP9 için, maksimum bit hızı devre dışı bırakılırsa CRF kullanılabilir.", "transcoding_two_pass_encoding_setting_description": "Daha iyi kodlanmış videolar üretmek için iki geçişte kod dönüştürün. Maksimum bit hızı etkinleştirildiğinde (H.264 ve HEVC ile çalışması için gereklidir), bu mod maksimum bit hızına dayalı bir bit hızı aralığı kullanır ve CRF'yi yok sayar. VP9 için, maksimum bit hızı devre dışı bırakılırsa CRF kullanılabilir.",
"transcoding_video_codec": "Video kodek", "transcoding_video_codec": "Video kodlayıcı",
"transcoding_video_codec_description": "VP9 yüksek verimliliğe ve web uyumluluğuna sahiptir, ancak kod dönüştürme işlemi daha uzun sürer. HEVC benzer performans gösterir ancak web uyumluluğu daha düşüktür. H.264 geniş çapta uyumludur ve kod dönüştürmesi hızlıdır, ancak çok daha büyük dosyalar üretir. AV1 en verimli codec'tir ancak eski cihazlarda desteği yoktur.", "transcoding_video_codec_description": "VP9 yüksek verimliliğe ve web uyumluluğuna sahiptir, ancak kod dönüştürme işlemi daha uzun sürer. HEVC benzer performans gösterir ancak web uyumluluğu daha düşüktür. H.264 geniş çapta uyumludur ve kod dönüştürmesi hızlıdır, ancak çok daha büyük dosyalar üretir. AV1 en verimli codec'tir ancak eski cihazlarda desteği yoktur.",
"trash_enabled_description": "Çöp özelliklerini etkinleştir", "trash_enabled_description": "Çöp özelliklerini etkinleştir",
"trash_number_of_days": "Gün sayısı", "trash_number_of_days": "Gün sayısı",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Bunlar aynı kişi mi?", "are_these_the_same_person": "Bunlar aynı kişi mi?",
"are_you_sure_to_do_this": "Bunu yapmak istediğinize emin misiniz?", "are_you_sure_to_do_this": "Bunu yapmak istediğinize emin misiniz?",
"asset_added_to_album": "Albüme eklendi", "asset_added_to_album": "Albüme eklendi",
"asset_adding_to_album": "Şu albüme ekleniyor...", "asset_adding_to_album": "Albüme ekleniyor",
"asset_description_updated": "Varlık açıklaması güncellendi", "asset_description_updated": "Varlık açıklaması güncellendi",
"asset_filename_is_offline": "Varlık {filename} çevrimdışı", "asset_filename_is_offline": "Varlık {filename} çevrimdışı",
"asset_has_unassigned_faces": "Varlık, atanmamış yüzler içeriyor", "asset_has_unassigned_faces": "Varlık, atanmamış yüzler içeriyor",
"asset_hashing": "Karma (hashleme) oluşturuluyor...", "asset_hashing": "Karma (hashleme) oluşturuluyor",
"asset_offline": "Varlık Çevrim Dışı", "asset_offline": "Varlık Çevrim Dışı",
"asset_offline_description": "Bu harici varlık artık diskte bulunmuyor. Yardım için lütfen Immich yöneticinizle iletişime geçin.", "asset_offline_description": "Bu harici varlık artık diskte bulunmuyor. Yardım için lütfen Immich yöneticinizle iletişime geçin.",
"asset_skipped": "Atlandı", "asset_skipped": "Atlandı",
"asset_skipped_in_trash": "Çöpte", "asset_skipped_in_trash": "Çöpte",
"asset_uploaded": "Yüklendi", "asset_uploaded": "Yüklendi",
"asset_uploading": "Yükleniyor...", "asset_uploading": "Yükleniyor",
"assets": "Varlıklar", "assets": "Varlıklar",
"assets_added_count": "{count, plural, one {# varlık eklendi} other {# varlık eklendi}}", "assets_added_count": "{count, plural, one {# varlık eklendi} other {# varlık eklendi}}",
"assets_added_to_album_count": "{count, plural, one {# varlık} other {# varlık}} albüme eklendi", "assets_added_to_album_count": "{count, plural, one {# varlık} other {# varlık}} albüme eklendi",
@@ -766,8 +766,10 @@
"go_to_folder": "Klasöre git", "go_to_folder": "Klasöre git",
"go_to_search": "Aramaya git", "go_to_search": "Aramaya git",
"group_albums_by": "Albümleri gruplandır...", "group_albums_by": "Albümleri gruplandır...",
"group_country": "Ülkeye göre grupla",
"group_no": "Gruplama yok", "group_no": "Gruplama yok",
"group_owner": "Sahibe göre gruplandır", "group_owner": "Sahibe göre gruplandır",
"group_places_by": "Yerleri gruplandır...",
"group_year": "Yıla göre grupla", "group_year": "Yıla göre grupla",
"has_quota": "Kota var", "has_quota": "Kota var",
"hi_user": "Merhaba {name} {email}", "hi_user": "Merhaba {name} {email}",
@@ -800,6 +802,7 @@
"include_shared_albums": "Paylaşılmış albümleri dahil et", "include_shared_albums": "Paylaşılmış albümleri dahil et",
"include_shared_partner_assets": "Paylaşılan ortak varlıkları dahil et", "include_shared_partner_assets": "Paylaşılan ortak varlıkları dahil et",
"individual_share": "Bireysel paylaşım", "individual_share": "Bireysel paylaşım",
"individual_shares": "Kişisel paylaşımlar",
"info": "Bilgi", "info": "Bilgi",
"interval": { "interval": {
"day_at_onepm": "Her gün saat 13:00'te", "day_at_onepm": "Her gün saat 13:00'te",
@@ -822,6 +825,7 @@
"latest_version": "En son versiyon", "latest_version": "En son versiyon",
"latitude": "Enlem", "latitude": "Enlem",
"leave": "Ayrıl", "leave": "Ayrıl",
"lens_model": "Mercek modeli",
"let_others_respond": "Diğerlerinin yanıt vermesine izin ver", "let_others_respond": "Diğerlerinin yanıt vermesine izin ver",
"level": "Seviye", "level": "Seviye",
"library": "Kütüphane", "library": "Kütüphane",
@@ -984,6 +988,7 @@
"pick_a_location": "Bir konum seçin", "pick_a_location": "Bir konum seçin",
"place": "Konum", "place": "Konum",
"places": "Konumlar", "places": "Konumlar",
"places_count": "{count, plural, one {{count, number} yer} other {{count, number} yer}}",
"play": "Oynat", "play": "Oynat",
"play_memories": "Anıları oynat", "play_memories": "Anıları oynat",
"play_motion_photo": "Hareketli fotoğrafı oynat", "play_motion_photo": "Hareketli fotoğrafı oynat",
@@ -1107,12 +1112,15 @@
"search": "Ara", "search": "Ara",
"search_albums": "Albüm ara", "search_albums": "Albüm ara",
"search_by_context": "Bağlama göre ara", "search_by_context": "Bağlama göre ara",
"search_by_description": "Açıklamaya göre ara",
"search_by_description_example": "Sapa'da yürüyüş günü",
"search_by_filename": "Dosya adına göre ara", "search_by_filename": "Dosya adına göre ara",
"search_by_filename_example": "Örn. IMG_1234.JPG veya PNG", "search_by_filename_example": "Örn. IMG_1234.JPG veya PNG",
"search_camera_make": "Kamera markasına göre ara...", "search_camera_make": "Kamera markasına göre ara...",
"search_camera_model": "Kamera modeline göre ara...", "search_camera_model": "Kamera modeline göre ara...",
"search_city": "Şehre göre ara...", "search_city": "Şehre göre ara...",
"search_country": "Ülkeye göre ara...", "search_country": "Ülkeye göre ara...",
"search_for": "Araştır",
"search_for_existing_person": "Mevcut bir kişiyi ara", "search_for_existing_person": "Mevcut bir kişiyi ara",
"search_no_people": "Kişi yok", "search_no_people": "Kişi yok",
"search_no_people_named": "\"{name}\" isimli bir kişi yok", "search_no_people_named": "\"{name}\" isimli bir kişi yok",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "{partner} tarafından paylaşılan fotoğraflar", "shared_from_partner": "{partner} tarafından paylaşılan fotoğraflar",
"shared_link_options": "Paylaşılan bağlantı seçenekleri", "shared_link_options": "Paylaşılan bağlantı seçenekleri",
"shared_links": "Paylaşılan bağlantılar", "shared_links": "Paylaşılan bağlantılar",
"shared_links_description": "Fotoğraf ve videoları bir bağlantı ile paylaş",
"shared_photos_and_videos_count": "{assetCount, plural, one {# paylaşılan fotoğraf veya video.} other {# paylaşılan fotoğraf & video.}}", "shared_photos_and_videos_count": "{assetCount, plural, one {# paylaşılan fotoğraf veya video.} other {# paylaşılan fotoğraf & video.}}",
"shared_with_partner": "{partner} ile paylaşıldı", "shared_with_partner": "{partner} ile paylaşıldı",
"sharing": "Paylaşılıyor", "sharing": "Paylaşılıyor",
@@ -1187,6 +1196,7 @@
"show_person_options": "Kişi ayarlarını göster", "show_person_options": "Kişi ayarlarını göster",
"show_progress_bar": "İlerleme çubuğunu göster", "show_progress_bar": "İlerleme çubuğunu göster",
"show_search_options": "Arama ayarlarını göster", "show_search_options": "Arama ayarlarını göster",
"show_shared_links": "Paylaşılan bağlantıları göster",
"show_slideshow_transition": "Slayt geçişini göster", "show_slideshow_transition": "Slayt geçişini göster",
"show_supporter_badge": "Destekçi rozeti", "show_supporter_badge": "Destekçi rozeti",
"show_supporter_badge_description": "Destekçi rozetini göster", "show_supporter_badge_description": "Destekçi rozetini göster",
@@ -1274,6 +1284,7 @@
"unfavorite": "Favorilerden kaldır", "unfavorite": "Favorilerden kaldır",
"unhide_person": "Kişiyi göster", "unhide_person": "Kişiyi göster",
"unknown": "Bilinmeyen", "unknown": "Bilinmeyen",
"unknown_country": "Bilinmeyen ülke",
"unknown_year": "Bilinmeyen YIl", "unknown_year": "Bilinmeyen YIl",
"unlimited": "Sınırsız", "unlimited": "Sınırsız",
"unlink_motion_video": "Hareketli video bağlantısını kaldır", "unlink_motion_video": "Hareketli video bağlantısını kaldır",

View File

@@ -20,7 +20,7 @@
"add_partner": "Додати партнера", "add_partner": "Додати партнера",
"add_path": "Додати шлях", "add_path": "Додати шлях",
"add_photos": "Додати знімки", "add_photos": "Додати знімки",
"add_to": "Додати у...", "add_to": "Додати у",
"add_to_album": "Додати у альбом", "add_to_album": "Додати у альбом",
"add_to_shared_album": "Додати у спільний альбом", "add_to_shared_album": "Додати у спільний альбом",
"add_url": "Додати URL", "add_url": "Додати URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "Скинути налаштування до заводських значень", "reset_settings_to_default": "Скинути налаштування до заводських значень",
"reset_settings_to_recent_saved": "Скинути налаштування до недавно збережених налаштувань", "reset_settings_to_recent_saved": "Скинути налаштування до недавно збережених налаштувань",
"scanning_library": "Сканування бібліотеки", "scanning_library": "Сканування бібліотеки",
"search_jobs": "Пошук завдань...", "search_jobs": "Пошук завдань",
"send_welcome_email": "Надіслати лист з вітанням", "send_welcome_email": "Надіслати лист з вітанням",
"server_external_domain_settings": "Зовнішній домен", "server_external_domain_settings": "Зовнішній домен",
"server_external_domain_settings_description": "Домен для публічних загальнодоступних посилань, включаючи http(s)://", "server_external_domain_settings_description": "Домен для публічних загальнодоступних посилань, включаючи http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "Це та сама людина?", "are_these_the_same_person": "Це та сама людина?",
"are_you_sure_to_do_this": "Ви впевнені, що хочете це зробити?", "are_you_sure_to_do_this": "Ви впевнені, що хочете це зробити?",
"asset_added_to_album": "Додано до альбому", "asset_added_to_album": "Додано до альбому",
"asset_adding_to_album": "Додати до альбому...", "asset_adding_to_album": "Додати до альбому",
"asset_description_updated": "Оновлено опис ресурсу", "asset_description_updated": "Оновлено опис ресурсу",
"asset_filename_is_offline": "Ресурс {filename} відключено", "asset_filename_is_offline": "Ресурс {filename} відключено",
"asset_has_unassigned_faces": "Є нерозпізнані обличчя", "asset_has_unassigned_faces": "Є нерозпізнані обличчя",
"asset_hashing": "Хешування...", "asset_hashing": "Хешування",
"asset_offline": "Актив вимкнено", "asset_offline": "Актив вимкнено",
"asset_offline_description": "Цей зовнішній актив більше не знайдено на диску. Будь ласка, зверніться до адміністратора Immich за допомогою.", "asset_offline_description": "Цей зовнішній актив більше не знайдено на диску. Будь ласка, зверніться до адміністратора Immich за допомогою.",
"asset_skipped": "Пропущено", "asset_skipped": "Пропущено",
"asset_skipped_in_trash": "У смітнику", "asset_skipped_in_trash": "У смітнику",
"asset_uploaded": "Завантажено", "asset_uploaded": "Завантажено",
"asset_uploading": "Завантаження...", "asset_uploading": "Завантаження",
"assets": "елементи", "assets": "елементи",
"assets_added_count": "Додано {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}", "assets_added_count": "Додано {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}}",
"assets_added_to_album_count": "Додано {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}} до альбому", "assets_added_to_album_count": "Додано {count, plural, one {# ресурс} few {# ресурси} other {# ресурсів}} до альбому",
@@ -766,8 +766,10 @@
"go_to_folder": "Перейти до папки", "go_to_folder": "Перейти до папки",
"go_to_search": "Перейти до пошуку", "go_to_search": "Перейти до пошуку",
"group_albums_by": "Групувати альбоми за...", "group_albums_by": "Групувати альбоми за...",
"group_country": "Групувати за країною",
"group_no": "Без групування", "group_no": "Без групування",
"group_owner": "За власником", "group_owner": "За власником",
"group_places_by": "Групувати місця за...",
"group_year": "За роком", "group_year": "За роком",
"has_quota": "Квота", "has_quota": "Квота",
"hi_user": "Привіт {name} ({email})", "hi_user": "Привіт {name} ({email})",
@@ -800,6 +802,7 @@
"include_shared_albums": "Включити спільні альбоми", "include_shared_albums": "Включити спільні альбоми",
"include_shared_partner_assets": "Включайте спільні партнерські активи", "include_shared_partner_assets": "Включайте спільні партнерські активи",
"individual_share": "Індивідуальний доступ", "individual_share": "Індивідуальний доступ",
"individual_shares": "Окремі спільні доступи",
"info": "Інформація", "info": "Інформація",
"interval": { "interval": {
"day_at_onepm": "Щодня о 13:00", "day_at_onepm": "Щодня о 13:00",
@@ -822,6 +825,7 @@
"latest_version": "Остання версія", "latest_version": "Остання версія",
"latitude": "Широта", "latitude": "Широта",
"leave": "Покинути", "leave": "Покинути",
"lens_model": "Модель об'єктива",
"let_others_respond": "Дозволити іншим відповідати", "let_others_respond": "Дозволити іншим відповідати",
"level": "Рівень", "level": "Рівень",
"library": "Бібліотека", "library": "Бібліотека",
@@ -984,6 +988,7 @@
"pick_a_location": "Виберіть місце розташування", "pick_a_location": "Виберіть місце розташування",
"place": "Місце", "place": "Місце",
"places": "Місця", "places": "Місця",
"places_count": "{count, plural, one {{count, number} Місце} other {{count, number} Місця}}",
"play": "Відтворити", "play": "Відтворити",
"play_memories": "Відтворити спогади", "play_memories": "Відтворити спогади",
"play_motion_photo": "Відтворювати рухомі фото", "play_motion_photo": "Відтворювати рухомі фото",
@@ -1107,12 +1112,15 @@
"search": "Пошук", "search": "Пошук",
"search_albums": "Шукати альбоми", "search_albums": "Шукати альбоми",
"search_by_context": "Пошук за контекстом", "search_by_context": "Пошук за контекстом",
"search_by_description": "Пошук за описом",
"search_by_description_example": "Похідний день у Сапі",
"search_by_filename": "Пошук за назвою або розширенням файлу", "search_by_filename": "Пошук за назвою або розширенням файлу",
"search_by_filename_example": "Наприклад, IMG_1234.JPG або PNG", "search_by_filename_example": "Наприклад, IMG_1234.JPG або PNG",
"search_camera_make": "Пошук виробника камери...", "search_camera_make": "Пошук виробника камери...",
"search_camera_model": "Пошук моделі камери...", "search_camera_model": "Пошук моделі камери...",
"search_city": "Пошук міста...", "search_city": "Пошук міста...",
"search_country": "Пошук країни...", "search_country": "Пошук країни...",
"search_for": "Шукати для",
"search_for_existing_person": "Пошук існуючої особи", "search_for_existing_person": "Пошук існуючої особи",
"search_no_people": "Немає людей", "search_no_people": "Немає людей",
"search_no_people_named": "Немає осіб з іменем \"{name}\"", "search_no_people_named": "Немає осіб з іменем \"{name}\"",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "Фото від {partner}", "shared_from_partner": "Фото від {partner}",
"shared_link_options": "Опції спільних посилань", "shared_link_options": "Опції спільних посилань",
"shared_links": "Спільні посилання", "shared_links": "Спільні посилання",
"shared_links_description": "Діліться фото та відео за посиланням",
"shared_photos_and_videos_count": "{assetCount, plural, other {# спільні фотографії та відео.}}", "shared_photos_and_videos_count": "{assetCount, plural, other {# спільні фотографії та відео.}}",
"shared_with_partner": "Спільно з {partner}", "shared_with_partner": "Спільно з {partner}",
"sharing": "Спільні", "sharing": "Спільні",
@@ -1187,6 +1196,7 @@
"show_person_options": "Показати параметри людини", "show_person_options": "Показати параметри людини",
"show_progress_bar": "Показати індикатор прогресу", "show_progress_bar": "Показати індикатор прогресу",
"show_search_options": "Показати параметри пошуку", "show_search_options": "Показати параметри пошуку",
"show_shared_links": "Показати спільні посилання",
"show_slideshow_transition": "Показати перехід слайд-шоу", "show_slideshow_transition": "Показати перехід слайд-шоу",
"show_supporter_badge": "Значок підтримки", "show_supporter_badge": "Значок підтримки",
"show_supporter_badge_description": "Показати значок підтримки", "show_supporter_badge_description": "Показати значок підтримки",
@@ -1274,6 +1284,7 @@
"unfavorite": "Видалити з улюблених", "unfavorite": "Видалити з улюблених",
"unhide_person": "Розкрити особу", "unhide_person": "Розкрити особу",
"unknown": "Невідомо", "unknown": "Невідомо",
"unknown_country": "Невідома країна",
"unknown_year": "Невідомий рік", "unknown_year": "Невідомий рік",
"unlimited": "Без обмежень", "unlimited": "Без обмежень",
"unlink_motion_video": "Від'єднати рухоме відео", "unlink_motion_video": "Від'єднати рухоме відео",

View File

@@ -1081,6 +1081,8 @@
"search": "Tìm kiếm", "search": "Tìm kiếm",
"search_albums": "Tìm kiếm album", "search_albums": "Tìm kiếm album",
"search_by_context": "Tìm kiếm theo ngữ cảnh", "search_by_context": "Tìm kiếm theo ngữ cảnh",
"search_by_description": "Tìm kiếm theo nội dung",
"search_by_description_example": "Dạo chơi Sa Pa",
"search_by_filename": "Tìm kiếm theo tên hoặc phần mở rộng tập tin", "search_by_filename": "Tìm kiếm theo tên hoặc phần mở rộng tập tin",
"search_by_filename_example": "Ví dụ: IMG_1234.JPG hoặc PNG", "search_by_filename_example": "Ví dụ: IMG_1234.JPG hoặc PNG",
"search_camera_make": "Tìm kiếm thương hiệu máy ảnh...", "search_camera_make": "Tìm kiếm thương hiệu máy ảnh...",

View File

@@ -2,7 +2,7 @@
"about": "關於", "about": "關於",
"account": "帳號", "account": "帳號",
"account_settings": "帳號設定", "account_settings": "帳號設定",
"acknowledge": "收到", "acknowledge": "明白",
"action": "操作", "action": "操作",
"actions": "操作", "actions": "操作",
"active": "處理中", "active": "處理中",
@@ -70,15 +70,15 @@
"image_prefer_wide_gamut": "偏好廣色域", "image_prefer_wide_gamut": "偏好廣色域",
"image_prefer_wide_gamut_setting_description": "使用 Display P3 來製作縮圖。這可以更好地保留廣色域圖片的鮮豔度但在舊版瀏覽器或舊設備上圖片可能會顯示不同。sRGB 圖片會維持 sRGB 以避免顏色變化。", "image_prefer_wide_gamut_setting_description": "使用 Display P3 來製作縮圖。這可以更好地保留廣色域圖片的鮮豔度但在舊版瀏覽器或舊設備上圖片可能會顯示不同。sRGB 圖片會維持 sRGB 以避免顏色變化。",
"image_preview_description": "刪除中等尺寸圖片的詳細資料,當選擇看指定項目和機器學習時使用", "image_preview_description": "刪除中等尺寸圖片的詳細資料,當選擇看指定項目和機器學習時使用",
"image_preview_quality_description": "預覽品質 1 100。數值越大品質越高但會產生較大的檔案且可能降低應用程式的應速度。而數值較小可能會影響機器學習品質。", "image_preview_quality_description": "預覽品質 1 100。數值越大品質越高但會產生較大的檔案且可能降低應用程式的應速度。而數值較小可能會影響機器學習品質。",
"image_preview_title": "預覽設定", "image_preview_title": "預覽設定",
"image_quality": "品質", "image_quality": "品質",
"image_resolution": "解析度", "image_resolution": "解析度",
"image_resolution_description": "較高的解析度可以保留更多細節,但編碼時間較長,檔案較大且可能降低應用程式的應速度。", "image_resolution_description": "較高的解析度可以保留更多細節,但編碼時間較長,檔案較大且可能降低應用程式的應速度。",
"image_settings": "圖片設定", "image_settings": "圖片設定",
"image_settings_description": "管理產生圖片的品質和解析度", "image_settings_description": "管理產生圖片的品質和解析度",
"image_thumbnail_description": "刪除縮圖的詳細資料,在快速瀏覽重要時間軸時或大量照片時使用", "image_thumbnail_description": "刪除縮圖的詳細資料,在快速瀏覽重要時間軸時或大量照片時使用",
"image_thumbnail_quality_description": "縮圖品質 1 100。數值越大品質越高但會產生較大的檔案且可能降低應用程式的應速度。", "image_thumbnail_quality_description": "縮圖品質 1 100。數值越大品質越高但會產生較大的檔案且可能降低應用程式的應速度。",
"image_thumbnail_title": "縮圖設定", "image_thumbnail_title": "縮圖設定",
"job_concurrency": "{job}並行", "job_concurrency": "{job}並行",
"job_created": "已建立作業", "job_created": "已建立作業",
@@ -104,7 +104,7 @@
"logging_level_description": "啟用時的記錄層級。", "logging_level_description": "啟用時的記錄層級。",
"logging_settings": "記錄檔", "logging_settings": "記錄檔",
"machine_learning_clip_model": "CLIP 模型", "machine_learning_clip_model": "CLIP 模型",
"machine_learning_clip_model_description": "<link>這</link>有份 CLIP 模型名單。註:更換模型後須對所有圖片重新執行「智慧搜尋」作業。", "machine_learning_clip_model_description": "<link>這</link>有份 CLIP 模型名單。註:更換模型後須對所有圖片重新執行「智慧搜尋」作業。",
"machine_learning_duplicate_detection": "重複項目偵測", "machine_learning_duplicate_detection": "重複項目偵測",
"machine_learning_duplicate_detection_enabled": "啟用重複項目偵測", "machine_learning_duplicate_detection_enabled": "啟用重複項目偵測",
"machine_learning_duplicate_detection_enabled_description": "即使停用,完全一樣的素材仍會被忽略。", "machine_learning_duplicate_detection_enabled_description": "即使停用,完全一樣的素材仍會被忽略。",
@@ -114,17 +114,17 @@
"machine_learning_facial_recognition": "臉部辨識", "machine_learning_facial_recognition": "臉部辨識",
"machine_learning_facial_recognition_description": "偵測、認出並對圖片中的臉孔分組", "machine_learning_facial_recognition_description": "偵測、認出並對圖片中的臉孔分組",
"machine_learning_facial_recognition_model": "人臉辨識模型", "machine_learning_facial_recognition_model": "人臉辨識模型",
"machine_learning_facial_recognition_model_description": "模型順序由大至小排列。大的模型較慢且使用較多記憶體,但成效較。更換模型後對所有影像重新執行「人臉辨識」。", "machine_learning_facial_recognition_model_description": "模型順序由大至小排列。大的模型較慢且使用較多記憶體,但成效較。更換模型後對所有影像重新執行「人臉辨識」。",
"machine_learning_facial_recognition_setting": "啟用人臉辨識", "machine_learning_facial_recognition_setting": "啟用人臉辨識",
"machine_learning_facial_recognition_setting_description": "若停用,影像將不會產生人臉特徵編碼,從而「探索」頁面不會有「人物」功能。", "machine_learning_facial_recognition_setting_description": "若停用,影像將不會產生人臉特徵編碼,從而「探索」頁面不會有「人物」功能。",
"machine_learning_max_detection_distance": "測距離上限", "machine_learning_max_detection_distance": "測距離上限",
"machine_learning_max_detection_distance_description": "若兩張影像間的距離小於此將被判斷為相同,範圍為 0.001-0.1。數值越高能偵測到越多重複,但也更有可能誤判。", "machine_learning_max_detection_distance_description": "若兩張影像間的距離小於此將被判斷為相同,範圍為 0.001-0.1。數值越高能偵測到越多重複,但也更有可能誤判。",
"machine_learning_max_recognition_distance": "分辨距離上限", "machine_learning_max_recognition_distance": "分辨距離上限",
"machine_learning_max_recognition_distance_description": "若兩張人臉間的距離小於此將被判斷為相同人物,範圍為 0-2。數值降低能減少兩人被混在一起的可能性數值提升能減少同一人被當作不同臉的可能性。由於合並比拆分容易建議將數值調小。", "machine_learning_max_recognition_distance_description": "若兩張人臉間的距離小於此將被判斷為相同人物,範圍為 0-2。數值降低能減少兩人被混在一起的可能性數值提升能減少同一人被當作不同臉的可能性。由於合並比拆分容易建議將數值調小。",
"machine_learning_min_detection_score": "最低檢測分數", "machine_learning_min_detection_score": "最低檢測分數",
"machine_learning_min_detection_score_description": "最低信任分辨率從0到1。低值會偵測更多的面孔但可能導致誤報。", "machine_learning_min_detection_score_description": "最低信任分辨率從0到1。低值會偵測更多的面孔但可能導致誤報。",
"machine_learning_min_recognized_faces": "最少被認出的臉孔", "machine_learning_min_recognized_faces": "最低臉部辨識數量",
"machine_learning_min_recognized_faces_description": "要創建一個人的最低認可面數。 增加此項數目使面部識別更為準確,但以增加可能不把面孔識別於任何人的機會為代價.", "machine_learning_min_recognized_faces_description": "歸納出新人物的最低臉部數量。調高此數值可以讓臉部辨識更準確,但也可能會讓較少出現的臉孔無法被歸納到人物清單。",
"machine_learning_settings": "機器學習設定", "machine_learning_settings": "機器學習設定",
"machine_learning_settings_description": "管理機器學習的功能和設定", "machine_learning_settings_description": "管理機器學習的功能和設定",
"machine_learning_smart_search": "智慧搜尋", "machine_learning_smart_search": "智慧搜尋",
@@ -147,7 +147,7 @@
"map_settings": "地圖", "map_settings": "地圖",
"map_settings_description": "管理地圖設定", "map_settings_description": "管理地圖設定",
"map_style_description": "地圖主題style.json的網址", "map_style_description": "地圖主題style.json的網址",
"metadata_extraction_job": "擷取資料", "metadata_extraction_job": "擷取詮釋資料",
"metadata_extraction_job_description": "擷取所有檔案的 GPS、臉孔、解析度等原始詳細資料", "metadata_extraction_job_description": "擷取所有檔案的 GPS、臉孔、解析度等原始詳細資料",
"metadata_faces_import_setting": "啟用臉孔匯入", "metadata_faces_import_setting": "啟用臉孔匯入",
"metadata_faces_import_setting_description": "從圖片的 EXIF 資料和側接檔案匯入臉孔", "metadata_faces_import_setting_description": "從圖片的 EXIF 資料和側接檔案匯入臉孔",
@@ -188,17 +188,17 @@
"oauth_mobile_redirect_uri": "移動端重定向 URI", "oauth_mobile_redirect_uri": "移動端重定向 URI",
"oauth_mobile_redirect_uri_override": "移動端重定向 URI 覆蓋", "oauth_mobile_redirect_uri_override": "移動端重定向 URI 覆蓋",
"oauth_mobile_redirect_uri_override_description": "當 OAuth 提供者不允許使用行動 URI如「'{callback}'」)時啟用", "oauth_mobile_redirect_uri_override_description": "當 OAuth 提供者不允許使用行動 URI如「'{callback}'」)時啟用",
"oauth_profile_signing_algorithm": "用戶檔簽名算法", "oauth_profile_signing_algorithm": "設定檔簽章演算法",
"oauth_profile_signing_algorithm_description": "用於簽署用戶檔的算法。", "oauth_profile_signing_algorithm_description": "用於簽署使用者設定檔的算法。",
"oauth_scope": "範圍", "oauth_scope": "範圍",
"oauth_settings": "OAuth", "oauth_settings": "OAuth",
"oauth_settings_description": "管理 OAuth 登入設定", "oauth_settings_description": "管理 OAuth 登入設定",
"oauth_settings_more_details": "欲瞭解此功能,請參閱<link>說明書</link>。", "oauth_settings_more_details": "欲瞭解此功能,請參閱<link>說明書</link>。",
"oauth_signing_algorithm": "簽算法", "oauth_signing_algorithm": "簽章演算法",
"oauth_storage_label_claim": "儲存標籤宣告", "oauth_storage_label_claim": "儲存標籤宣告",
"oauth_storage_label_claim_description": "自動將使用者的儲存標籤定此宣告之值。", "oauth_storage_label_claim_description": "自動將使用者的儲存標籤定此宣告之值。",
"oauth_storage_quota_claim": "儲存配額宣告", "oauth_storage_quota_claim": "儲存配額宣告",
"oauth_storage_quota_claim_description": "自動將使用者的儲存配額定此宣告之值。", "oauth_storage_quota_claim_description": "自動將使用者的儲存配額定此宣告之值。",
"oauth_storage_quota_default": "預設儲存配額GiB", "oauth_storage_quota_default": "預設儲存配額GiB",
"oauth_storage_quota_default_description": "未宣告時所使用的配額單位GiB輸入 0 表示不限制配額)。", "oauth_storage_quota_default_description": "未宣告時所使用的配額單位GiB輸入 0 表示不限制配額)。",
"offline_paths": "失效路徑", "offline_paths": "失效路徑",
@@ -211,7 +211,7 @@
"quota_size_gib": "配額GiB", "quota_size_gib": "配額GiB",
"refreshing_all_libraries": "正在重新整理所有圖庫", "refreshing_all_libraries": "正在重新整理所有圖庫",
"registration": "管理者註冊", "registration": "管理者註冊",
"registration_description": "由於您是本系統的首位使用者,因此將您指派負責管理本系統的管理者,其他使用者須由您協助建立帳號。", "registration_description": "由於您是本系統的首位使用者,因此將您指派負責管理本系統的管理者,其他使用者須由您協助建立帳號。",
"repair_all": "全部糾正", "repair_all": "全部糾正",
"repair_matched_items": "有 {count, plural, other {# 個項目相符}}", "repair_matched_items": "有 {count, plural, other {# 個項目相符}}",
"repaired_items": "已糾正 {count, plural, other {# 個項目}}", "repaired_items": "已糾正 {count, plural, other {# 個項目}}",
@@ -237,7 +237,7 @@
"storage_template_date_time_sample": "時間樣式 {date}", "storage_template_date_time_sample": "時間樣式 {date}",
"storage_template_enable_description": "啟用存儲模板引擎", "storage_template_enable_description": "啟用存儲模板引擎",
"storage_template_hash_verification_enabled": "散列函数驗證已啟用", "storage_template_hash_verification_enabled": "散列函数驗證已啟用",
"storage_template_hash_verification_enabled_description": "啟用散列函数驗證,除非您知道自己正在做的事,否則請勿用此功能", "storage_template_hash_verification_enabled_description": "啟用散列函数驗證,除非您很清楚地知道這個選項的作用,否則請勿用此功能",
"storage_template_migration": "存儲模板遷移", "storage_template_migration": "存儲模板遷移",
"storage_template_migration_description": "將當前的 <link>{template}</link> 應用於先前上傳的檔案", "storage_template_migration_description": "將當前的 <link>{template}</link> 應用於先前上傳的檔案",
"storage_template_migration_info": "模板更改僅適用於新檔案。若要追溯應用模板至先前上傳的檔案,請運行 <link>{job}</link>。", "storage_template_migration_info": "模板更改僅適用於新檔案。若要追溯應用模板至先前上傳的檔案,請運行 <link>{job}</link>。",
@@ -266,47 +266,47 @@
"theme_settings_description": "自訂 Immich 的網頁界面", "theme_settings_description": "自訂 Immich 的網頁界面",
"these_files_matched_by_checksum": "這些檔案的核對和Checksum是相符的", "these_files_matched_by_checksum": "這些檔案的核對和Checksum是相符的",
"thumbnail_generation_job": "產生縮圖", "thumbnail_generation_job": "產生縮圖",
"thumbnail_generation_job_description": "每個檔案產生大、小及模糊縮圖,也每位人物產生縮圖", "thumbnail_generation_job_description": "每個檔案產生大、小及模糊縮圖,也每位人物產生縮圖",
"transcoding_acceleration_api": "加速 API", "transcoding_acceleration_api": "加速 API",
"transcoding_acceleration_api_description": "該 API 將用您的設備加速轉碼。設置是“盡力而為”:如果失敗,它將退回到軟轉碼。VP9 轉碼是否可行取決於您的硬。", "transcoding_acceleration_api_description": "該 API 將用您的設備加速轉碼。設置是“盡力而為”:如果失敗,它將退回到軟轉碼。VP9 轉碼是否可行取決於您的硬。",
"transcoding_acceleration_nvenc": "NVENC需要 NVIDIA GPU", "transcoding_acceleration_nvenc": "NVENC需要 NVIDIA GPU",
"transcoding_acceleration_qsv": "快速同步(需要第七代或高於第七代的 Intel CPU", "transcoding_acceleration_qsv": "快速同步(需要第七代或高於第七代的 Intel CPU",
"transcoding_acceleration_rkmpp": "RKMPP僅適用於 Rockchip SoC", "transcoding_acceleration_rkmpp": "RKMPP僅適用於 Rockchip SoC",
"transcoding_acceleration_vaapi": "VAAPI", "transcoding_acceleration_vaapi": "VAAPI",
"transcoding_accepted_audio_codecs": "接受的音頻編解碼器", "transcoding_accepted_audio_codecs": "支援的音訊編碼器",
"transcoding_accepted_audio_codecs_description": "選擇不需要轉碼的音頻編解碼器。僅用於某些轉碼策略。", "transcoding_accepted_audio_codecs_description": "選擇不需要轉碼的音訊編碼格式。僅用於某些轉碼策略。",
"transcoding_accepted_containers": "接受的容器格式", "transcoding_accepted_containers": "接受的容器格式",
"transcoding_accepted_containers_description": "選擇不需要重新封裝為 MP4 的容器格式。僅用於某些轉碼策略。", "transcoding_accepted_containers_description": "選擇不需要重新封裝為 MP4 的容器格式。僅用於某些轉碼策略。",
"transcoding_accepted_video_codecs": "支援的影片編碼器", "transcoding_accepted_video_codecs": "支援的影片編碼器",
"transcoding_accepted_video_codecs_description": "選擇不需要轉碼的視頻編解碼器。僅用於某些轉碼策略。", "transcoding_accepted_video_codecs_description": "選擇不需要轉碼的視訊編碼格式。僅用於某些轉碼策略。",
"transcoding_advanced_options_description": "大多數使用者不需要更改的選項", "transcoding_advanced_options_description": "大多數使用者不需要更改的選項",
"transcoding_audio_codec": "音頻編解碼器", "transcoding_audio_codec": "音訊編碼器",
"transcoding_audio_codec_description": "Opus 是音質最的選,但與舊設備或軟件有較低的兼容性。", "transcoding_audio_codec_description": "Opus 是音質最的選,但與舊設備或舊版軟體的相容性較低。",
"transcoding_bitrate_description": "高於最大位元速率或格式不被支援的影片", "transcoding_bitrate_description": "高於最大位元速率或格式不被支援的影片",
"transcoding_codecs_learn_more": "欲瞭解此處使用的術語,請參閱 FFmpeg 說明書中的 <h264-link>H.264 編解碼器</h264-link>、<hevc-link>HEVC 編解碼器</hevc-link>和 <vp9-link>VP9 編解碼器</vp9-link>。", "transcoding_codecs_learn_more": "欲瞭解此處使用的術語,請參閱 FFmpeg 說明書中的 <h264-link>H.264 編解碼器</h264-link>、<hevc-link>HEVC 編解碼器</hevc-link>和 <vp9-link>VP9 編解碼器</vp9-link>。",
"transcoding_constant_quality_mode": "恆定質量模式", "transcoding_constant_quality_mode": "固定品質模式",
"transcoding_constant_quality_mode_description": "ICQ 比 CQP 更好,但某些硬加速設備不支此模式。設此選項時,會在使用基於質的編碼時偏好指定的模式。由於 NVENC 不支 ICQ,此選項對其無效。", "transcoding_constant_quality_mode_description": "ICQ 比 CQP 更好,但某些硬加速設備不支此模式。設此選項時,會在使用基於質的編碼時偏好指定的模式。此選項對 NVENC 無效,因為 NVENC 不支 ICQ。",
"transcoding_constant_rate_factor": "恆定速率因子(-crf", "transcoding_constant_rate_factor": "恆定速率因子(-crf",
"transcoding_constant_rate_factor_description": "視頻質量級別。典型值為 H.264 的 23、HEVC 的 28、VP9 的 31 和 AV1 的 35。數值越低質量越高,但會產生較大的文件。", "transcoding_constant_rate_factor_description": "視訊品質等級。典型值為 H.264 的 23、HEVC 的 28、VP9 的 31 和 AV1 的 35。數值越低品質越好,但會產生較大的檔案。",
"transcoding_disabled_description": "不轉碼影片,可能會讓某些客戶端無法正常播放", "transcoding_disabled_description": "不轉碼影片,可能會讓某些客戶端無法正常播放",
"transcoding_encoding_options": "編碼選項", "transcoding_encoding_options": "編碼選項",
"transcoding_encoding_options_description": "設定編碼影片的編解碼器、解析度、品質和其他選項", "transcoding_encoding_options_description": "設定編碼影片的編解碼器、解析度、品質和其他選項",
"transcoding_hardware_acceleration": "硬體加速", "transcoding_hardware_acceleration": "硬體加速",
"transcoding_hardware_acceleration_description": "實驗性功能;速度更快,但在相同比特率下質量較低", "transcoding_hardware_acceleration_description": "實驗性功能;速度更快,但在相同位元速率下品質較差",
"transcoding_hardware_decoding": "硬體解碼", "transcoding_hardware_decoding": "硬體解碼",
"transcoding_hardware_decoding_setting_description": "不只加速編碼,還啟用端對端加速。可能不支援某些影片。", "transcoding_hardware_decoding_setting_description": "不只加速編碼,還啟用端對端加速。可能不支援某些影片。",
"transcoding_hevc_codec": "HEVC 編解碼器", "transcoding_hevc_codec": "HEVC 編解碼器",
"transcoding_max_b_frames": "最大 B 幀數", "transcoding_max_b_frames": "最大 B 幀數",
"transcoding_max_b_frames_description": "高的值可以提高壓縮效率,但會降低編碼速度。在舊設備上可能不兼容硬件加速。0 表示禁用 B 幀,而 -1 則會自動設置此值。", "transcoding_max_b_frames_description": "高的值可提升壓縮效率,但會降低編碼速度。可能與較舊設備的硬體加速不相容。設定為 0 時會停用 B-frames,而 -1 則會自動設定此數值。",
"transcoding_max_bitrate": "最大位元速率", "transcoding_max_bitrate": "最大位元速率",
"transcoding_max_bitrate_description": "設最大比特率可以使文件大小更具可預測性,但會稍微降低質。在 720p 分辨率下,典型值為 VP9 或 HEVC 的 2600k或 H.264 的 4500k。設置為 0 則禁用此功能。", "transcoding_max_bitrate_description": "設最大位元速率可以使檔案大小更具可預測性,但會稍微降低質。在 720p 解析度下,典型值為 VP9 或 HEVC 的 2600k或 H.264 的 4500k。設置為 0 用此功能。",
"transcoding_max_keyframe_interval": "最大關鍵幀間隔", "transcoding_max_keyframe_interval": "最大關鍵幀間隔",
"transcoding_max_keyframe_interval_description": "設置關鍵幀之間的最大幀距。較低的值會降低壓縮效率,但可以改善尋時間,並可能改善快速動場景中的質量。0 會自動設置此值。", "transcoding_max_keyframe_interval_description": "設置關鍵幀之間的最大幀距。較低的值會降低壓縮效率,但可以改善尋時間,並可能改善快速動場景的品質。0 會自動設置此值。",
"transcoding_optimal_description": "高於目標解析度或格式不被支援的影片", "transcoding_optimal_description": "高於目標解析度或格式不被支援的影片",
"transcoding_policy": "轉碼策略", "transcoding_policy": "轉碼策略",
"transcoding_policy_description": "設定影片進行轉碼的條件", "transcoding_policy_description": "設定影片進行轉碼的條件",
"transcoding_preferred_hardware_device": "首選硬設備", "transcoding_preferred_hardware_device": "首選硬設備",
"transcoding_preferred_hardware_device_description": "僅適用於 VAAPI 和 QSV。設用於硬轉碼的 DRI 節點。", "transcoding_preferred_hardware_device_description": "僅適用於 VAAPI 和 QSV。設用於硬轉碼的 DRI 節點。",
"transcoding_preset_preset": "預設值(-preset", "transcoding_preset_preset": "預設值(-preset",
"transcoding_preset_preset_description": "壓縮速度。在針對特定位元速率時較慢的預設值會減少檔案大小並提高品質。VP9 會忽略高於「faster」的速度。", "transcoding_preset_preset_description": "壓縮速度。在針對特定位元速率時較慢的預設值會減少檔案大小並提高品質。VP9 會忽略高於「faster」的速度。",
"transcoding_reference_frames": "參考幀數", "transcoding_reference_frames": "參考幀數",
@@ -315,19 +315,19 @@
"transcoding_settings": "影片轉碼", "transcoding_settings": "影片轉碼",
"transcoding_settings_description": "管理影片的解析度和編碼資訊", "transcoding_settings_description": "管理影片的解析度和編碼資訊",
"transcoding_target_resolution": "目標解析度", "transcoding_target_resolution": "目標解析度",
"transcoding_target_resolution_description": "較高的解析度可以保留更多細節,但編碼時間較長,檔案也較大,且可能降低應用程式的應速度。", "transcoding_target_resolution_description": "較高的解析度可以保留更多細節,但編碼時間較長,檔案也較大,且可能降低應用程式的應速度。",
"transcoding_temporal_aq": "時間自適應量化Temporal AQ", "transcoding_temporal_aq": "時間自適應量化Temporal AQ",
"transcoding_temporal_aq_description": "僅適用於 NVENC。提高高細節、低動場景的質。可能與設備不容。", "transcoding_temporal_aq_description": "僅適用於 NVENC,可提升高細節、低動場景的質。可能與較舊的設備不容。",
"transcoding_threads": "線程數量", "transcoding_threads": "執行緒數量",
"transcoding_threads_description": "較高的值會加快編碼速度,但會減少伺服器在運行過程中處理其他任務的空間。此值不應超過 CPU 核心數。設置為 0 可以最大化利用率。", "transcoding_threads_description": "較高的值會加快編碼速度,但會減少伺服器在運行過程中處理其他任務的空間。此值不應超過 CPU 核心數。設置為 0 可以最大化利用率。",
"transcoding_tone_mapping": "色調映射", "transcoding_tone_mapping": "色調映射",
"transcoding_tone_mapping_description": "在將 HDR 視頻轉換為 SDR 時,嘗試保留其外觀。每種算法在色、細節和亮度方面都有不同的權衡。Hable 保留細節Mobius 保留Reinhard 保留亮度。", "transcoding_tone_mapping_description": "在將 HDR 影片轉換為 SDR 時,盡量維持原始觀感。每種算法在色、細節和亮度方面都有不同的權衡。Hable 保留細節Mobius 保留色Reinhard 保留亮度。",
"transcoding_transcode_policy": "轉碼策略", "transcoding_transcode_policy": "轉碼策略",
"transcoding_transcode_policy_description": "視頻何時應進行轉碼的策略。HDR 視頻將始終進行轉碼(除非用轉碼)。", "transcoding_transcode_policy_description": "影片何時應進行轉碼的策略。HDR 影片一定會轉碼(除非用轉碼)。",
"transcoding_two_pass_encoding": "雙通道編碼", "transcoding_two_pass_encoding": "兩階段編碼",
"transcoding_two_pass_encoding_setting_description": "使用雙通道編碼產生更高質量的編碼視頻。當啟用最大比特率時(H.264 和 HEVC 有效),此模式使用基於最大比特率的比特率範圍,並忽略 CRF。對於 VP9如果用最大比特率,可以使用 CRF。", "transcoding_two_pass_encoding_setting_description": "使用兩階段編碼產生品質更佳的編碼影片。當啟用最大位元速率時H.264 和 HEVC 必須啟用此選項才能運作),此模式會以最大位元速率來調整位元速率範圍,並忽略 CRF。對於 VP9如果用最大位元速率,可以使用 CRF。",
"transcoding_video_codec": "視頻編解碼器", "transcoding_video_codec": "視訊編碼器",
"transcoding_video_codec_description": "VP9 具有高效能和網頁兼容性但轉碼時間較長。HEVC 能相,但網頁容性較低。H.264 兼容性廣泛且轉碼速度快,但生成的文件較大。AV1 是最有效的編解碼器,但舊設備上支持度不足。", "transcoding_video_codec_description": "VP9 具有高效能且相容於網頁但轉碼時間較長。HEVC 的效能相,但網頁容性較低。H.264 具有廣泛的相容性且轉碼速度快,但產生的檔案較大。AV1 是目前效率最好的編解碼器,但舊設備不支援。",
"trash_enabled_description": "啟用垃圾桶功能", "trash_enabled_description": "啟用垃圾桶功能",
"trash_number_of_days": "日數", "trash_number_of_days": "日數",
"trash_number_of_days_description": "永久刪除之前,將檔案保留在垃圾桶中的日數", "trash_number_of_days_description": "永久刪除之前,將檔案保留在垃圾桶中的日數",
@@ -339,8 +339,8 @@
"user_delete_delay": "<b>{user}</b> 的帳號和項目將於 {delay, plural, other {# 天}}後永久刪除。", "user_delete_delay": "<b>{user}</b> 的帳號和項目將於 {delay, plural, other {# 天}}後永久刪除。",
"user_delete_delay_settings": "延後刪除", "user_delete_delay_settings": "延後刪除",
"user_delete_delay_settings_description": "移除後,永久刪除使用者帳號和檔案的天數。使用者刪除作業會在午夜檢查是否有可以刪除的使用者。變更這項設定後,會在下次執行時檢查。", "user_delete_delay_settings_description": "移除後,永久刪除使用者帳號和檔案的天數。使用者刪除作業會在午夜檢查是否有可以刪除的使用者。變更這項設定後,會在下次執行時檢查。",
"user_delete_immediately": "<b>{user}</b> 的帳戶和資產將被<b>立即</b>排隊進行永久刪除。", "user_delete_immediately": "<b>{user}</b> 的帳號和項目將<b>立即</b>永久刪除。",
"user_delete_immediately_checkbox": "將用戶和資產排隊進行立即刪除", "user_delete_immediately_checkbox": "將使用者和項目立即刪除",
"user_management": "使用者管理", "user_management": "使用者管理",
"user_password_has_been_reset": "使用者密碼已重設:", "user_password_has_been_reset": "使用者密碼已重設:",
"user_password_reset_description": "請提供使用者臨時密碼,並告知下次登入時需要更改密碼。", "user_password_reset_description": "請提供使用者臨時密碼,並告知下次登入時需要更改密碼。",
@@ -386,7 +386,7 @@
"all": "全部", "all": "全部",
"all_albums": "所有相簿", "all_albums": "所有相簿",
"all_people": "所有人", "all_people": "所有人",
"all_videos": "所有視頻", "all_videos": "所有影片",
"allow_dark_mode": "允許深色模式", "allow_dark_mode": "允許深色模式",
"allow_edits": "允許編輯", "allow_edits": "允許編輯",
"allow_public_user_to_download": "開放給使用者下載", "allow_public_user_to_download": "開放給使用者下載",
@@ -394,7 +394,7 @@
"anti_clockwise": "逆時針", "anti_clockwise": "逆時針",
"api_key": "API 金鑰", "api_key": "API 金鑰",
"api_key_description": "此值僅顯示一次。請確保在關閉窗口之前複製它。", "api_key_description": "此值僅顯示一次。請確保在關閉窗口之前複製它。",
"api_key_empty": "您的 API 金鑰名稱不能空", "api_key_empty": "您的 API 金鑰名稱不能空",
"api_keys": "API 金鑰", "api_keys": "API 金鑰",
"app_settings": "應用程式設定", "app_settings": "應用程式設定",
"appears_in": "出現在", "appears_in": "出現在",
@@ -410,7 +410,7 @@
"asset_description_updated": "檔案描述已更新", "asset_description_updated": "檔案描述已更新",
"asset_filename_is_offline": "檔案 {filename} 離線了", "asset_filename_is_offline": "檔案 {filename} 離線了",
"asset_has_unassigned_faces": "檔案中有未指定的臉孔", "asset_has_unassigned_faces": "檔案中有未指定的臉孔",
"asset_hashing": "Hashing中...", "asset_hashing": "計算雜湊值…",
"asset_offline": "檔案離線", "asset_offline": "檔案離線",
"asset_offline_description": "磁碟中找不到此外部檔案。請向您的 Immich 管理員尋求協助。", "asset_offline_description": "磁碟中找不到此外部檔案。請向您的 Immich 管理員尋求協助。",
"asset_skipped": "已略過", "asset_skipped": "已略過",
@@ -418,7 +418,7 @@
"asset_uploaded": "已上傳", "asset_uploaded": "已上傳",
"asset_uploading": "上傳中…", "asset_uploading": "上傳中…",
"assets": "檔案", "assets": "檔案",
"assets_added_count": "已添加 {count, plural, one {# 個資產} other {# 個資產}}", "assets_added_count": "已新增 {count, plural, one {# 個項目} other {# 個項目}}",
"assets_added_to_album_count": "已將 {count, plural, other {# 個檔案}}加入相簿", "assets_added_to_album_count": "已將 {count, plural, other {# 個檔案}}加入相簿",
"assets_added_to_name_count": "已將 {count, plural, other {# 個檔案}}加入{hasName, select, true {<b>{name}</b>} other {新相簿}}", "assets_added_to_name_count": "已將 {count, plural, other {# 個檔案}}加入{hasName, select, true {<b>{name}</b>} other {新相簿}}",
"assets_count": "{count, plural, one {# 個檔案} other {# 個檔案}}", "assets_count": "{count, plural, one {# 個檔案} other {# 個檔案}}",
@@ -430,7 +430,7 @@
"assets_trashed_count": "已丟掉 {count, plural, other {# 個檔案}}", "assets_trashed_count": "已丟掉 {count, plural, other {# 個檔案}}",
"assets_were_part_of_album_count": "{count, plural, one {檔案已} other {檔案已}} 是相冊的一部分", "assets_were_part_of_album_count": "{count, plural, one {檔案已} other {檔案已}} 是相冊的一部分",
"authorized_devices": "授權裝置", "authorized_devices": "授權裝置",
"back": "后退", "back": "返回",
"back_close_deselect": "返回、關閉及取消選取", "back_close_deselect": "返回、關閉及取消選取",
"backward": "倒轉", "backward": "倒轉",
"birthdate_saved": "出生日期儲存成功", "birthdate_saved": "出生日期儲存成功",
@@ -475,10 +475,10 @@
"collapse_all": "全部折疊", "collapse_all": "全部折疊",
"color": "顏色", "color": "顏色",
"color_theme": "色彩主題", "color_theme": "色彩主題",
"comment_deleted": "評論已刪除", "comment_deleted": "留言已刪除",
"comment_options": "評論選項", "comment_options": "留言選項",
"comments_and_likes": "評論與讚好", "comments_and_likes": "留言與喜歡",
"comments_are_disabled": "評論已禁用", "comments_are_disabled": "留言已停用",
"confirm": "確認", "confirm": "確認",
"confirm_admin_password": "確認管理者密碼", "confirm_admin_password": "確認管理者密碼",
"confirm_delete_shared_link": "確定刪除連結嗎?", "confirm_delete_shared_link": "確定刪除連結嗎?",
@@ -526,7 +526,7 @@
"deduplication_criteria_1": "圖像大小(以位元組為單位)", "deduplication_criteria_1": "圖像大小(以位元組為單位)",
"deduplication_criteria_2": "EXIF 資料數量", "deduplication_criteria_2": "EXIF 資料數量",
"deduplication_info": "重複資料刪除資訊", "deduplication_info": "重複資料刪除資訊",
"deduplication_info_description": "為了自動預選資產並大量刪除重複項,我們查看:", "deduplication_info_description": "為了自動預選項目並大量刪除重複項,我們查看:",
"default_locale": "預設區域", "default_locale": "預設區域",
"default_locale_description": "依瀏覽器區域設定日期和數字格式", "default_locale_description": "依瀏覽器區域設定日期和數字格式",
"delete": "刪除", "delete": "刪除",
@@ -544,9 +544,9 @@
"deleted_shared_link": "已刪除共享鏈結", "deleted_shared_link": "已刪除共享鏈結",
"deletes_missing_assets": "刪除磁碟中遺失的檔案", "deletes_missing_assets": "刪除磁碟中遺失的檔案",
"description": "描述", "description": "描述",
"details": "詳", "details": "詳細資訊",
"direction": "方向", "direction": "方向",
"disabled": "用", "disabled": "用",
"disallow_edits": "不允許編輯", "disallow_edits": "不允許編輯",
"discord": "Discord", "discord": "Discord",
"discover": "探索", "discover": "探索",
@@ -561,7 +561,7 @@
"done": "完成", "done": "完成",
"download": "下載", "download": "下載",
"download_include_embedded_motion_videos": "嵌入影片", "download_include_embedded_motion_videos": "嵌入影片",
"download_include_embedded_motion_videos_description": "把嵌入動態照片的影片作單獨的檔案包含在內", "download_include_embedded_motion_videos_description": "把嵌入動態照片的影片作單獨的檔案包含在內",
"download_settings": "下載", "download_settings": "下載",
"download_settings_description": "管理與檔案下載相關的設定", "download_settings_description": "管理與檔案下載相關的設定",
"downloading": "下載中", "downloading": "下載中",
@@ -606,11 +606,11 @@
"cannot_navigate_next_asset": "無法瀏覽下一個檔案", "cannot_navigate_next_asset": "無法瀏覽下一個檔案",
"cannot_navigate_previous_asset": "無法瀏覽上一個檔案", "cannot_navigate_previous_asset": "無法瀏覽上一個檔案",
"cant_apply_changes": "無法套用更改", "cant_apply_changes": "無法套用更改",
"cant_change_activity": "無法{enabled, select, true {用} other {啟用}}活動", "cant_change_activity": "無法{enabled, select, true {用} other {啟用}}活動",
"cant_change_asset_favorite": "無法更改檔案的收藏狀態", "cant_change_asset_favorite": "無法更改檔案的收藏狀態",
"cant_change_metadata_assets_count": "無法更改 {count, plural, other {# 個檔案}}的詳細資料", "cant_change_metadata_assets_count": "無法更改 {count, plural, other {# 個檔案}}的詳細資料",
"cant_get_faces": "無法取得臉孔", "cant_get_faces": "無法取得臉孔",
"cant_get_number_of_comments": "無法獲取評論數量", "cant_get_number_of_comments": "無法取得留言數量",
"cant_search_people": "無法搜尋人", "cant_search_people": "無法搜尋人",
"cant_search_places": "無法搜尋地點", "cant_search_places": "無法搜尋地點",
"cleared_jobs": "已清除的作業:{job}", "cleared_jobs": "已清除的作業:{job}",
@@ -619,7 +619,7 @@
"error_deleting_shared_user": "刪除共享使用者時出錯", "error_deleting_shared_user": "刪除共享使用者時出錯",
"error_downloading": "下載 {filename} 時出錯", "error_downloading": "下載 {filename} 時出錯",
"error_hiding_buy_button": "隱藏購置按鈕時出錯", "error_hiding_buy_button": "隱藏購置按鈕時出錯",
"error_removing_assets_from_album": "從相簿中移除檔案時出錯了,請到控制臺瞭解詳", "error_removing_assets_from_album": "從相簿中移除檔案時出錯了,請到控制臺瞭解詳細資訊",
"error_selecting_all_assets": "選擇所有檔案時出錯", "error_selecting_all_assets": "選擇所有檔案時出錯",
"exclusion_pattern_already_exists": "此排除模式已存在。", "exclusion_pattern_already_exists": "此排除模式已存在。",
"failed_job_command": "命令 {command} 執行失敗,作業:{job}", "failed_job_command": "命令 {command} 執行失敗,作業:{job}",
@@ -642,7 +642,7 @@
"repair_unable_to_check_items": "無法檢查 {count, select, other { 個項目}}", "repair_unable_to_check_items": "無法檢查 {count, select, other { 個項目}}",
"unable_to_add_album_users": "無法將使用者加入相簿", "unable_to_add_album_users": "無法將使用者加入相簿",
"unable_to_add_assets_to_shared_link": "無法加入項目到共享連結", "unable_to_add_assets_to_shared_link": "無法加入項目到共享連結",
"unable_to_add_comment": "無法添加評論", "unable_to_add_comment": "無法新增留言",
"unable_to_add_exclusion_pattern": "無法添加排除模式", "unable_to_add_exclusion_pattern": "無法添加排除模式",
"unable_to_add_import_path": "無法添加匯入路徑", "unable_to_add_import_path": "無法添加匯入路徑",
"unable_to_add_partners": "無法添加夥伴", "unable_to_add_partners": "無法添加夥伴",
@@ -676,7 +676,7 @@
"unable_to_empty_trash": "無法清空垃圾桶", "unable_to_empty_trash": "無法清空垃圾桶",
"unable_to_enter_fullscreen": "無法進入全螢幕", "unable_to_enter_fullscreen": "無法進入全螢幕",
"unable_to_exit_fullscreen": "無法退出全螢幕", "unable_to_exit_fullscreen": "無法退出全螢幕",
"unable_to_get_comments_number": "無法獲取評論數量", "unable_to_get_comments_number": "無法取得留言數量",
"unable_to_get_shared_link": "取得共享連結失敗", "unable_to_get_shared_link": "取得共享連結失敗",
"unable_to_hide_person": "無法隱藏人物", "unable_to_hide_person": "無法隱藏人物",
"unable_to_link_motion_video": "無法鏈結動態影片", "unable_to_link_motion_video": "無法鏈結動態影片",
@@ -684,7 +684,7 @@
"unable_to_load_album": "無法載入相簿", "unable_to_load_album": "無法載入相簿",
"unable_to_load_asset_activity": "無法載入檔案活動", "unable_to_load_asset_activity": "無法載入檔案活動",
"unable_to_load_items": "無法載入項目", "unable_to_load_items": "無法載入項目",
"unable_to_load_liked_status": "無法載入讚好狀態", "unable_to_load_liked_status": "無法載入喜歡狀態",
"unable_to_log_out_all_devices": "無法登出所有裝置", "unable_to_log_out_all_devices": "無法登出所有裝置",
"unable_to_log_out_device": "無法登出裝置", "unable_to_log_out_device": "無法登出裝置",
"unable_to_login_with_oauth": "無法使用 OAuth 登入", "unable_to_login_with_oauth": "無法使用 OAuth 登入",
@@ -766,8 +766,10 @@
"go_to_folder": "轉至資料夾", "go_to_folder": "轉至資料夾",
"go_to_search": "前往搜尋", "go_to_search": "前往搜尋",
"group_albums_by": "分類群組的方式...", "group_albums_by": "分類群組的方式...",
"group_country": "按國家分組",
"group_no": "無分組", "group_no": "無分組",
"group_owner": "按擁有者分組", "group_owner": "按擁有者分組",
"group_places_by": "分類地點的方式...",
"group_year": "按年份分組", "group_year": "按年份分組",
"has_quota": "配額", "has_quota": "配額",
"hi_user": "嗨!{name}{email}", "hi_user": "嗨!{name}{email}",
@@ -800,6 +802,7 @@
"include_shared_albums": "包含共享相簿", "include_shared_albums": "包含共享相簿",
"include_shared_partner_assets": "包括共享夥伴檔案", "include_shared_partner_assets": "包括共享夥伴檔案",
"individual_share": "個別分享", "individual_share": "個別分享",
"individual_shares": "個別分享",
"info": "資訊", "info": "資訊",
"interval": { "interval": {
"day_at_onepm": "每天下午 1 點", "day_at_onepm": "每天下午 1 點",
@@ -822,6 +825,7 @@
"latest_version": "最新版本", "latest_version": "最新版本",
"latitude": "緯度", "latitude": "緯度",
"leave": "離開", "leave": "離開",
"lens_model": "鏡頭型號",
"let_others_respond": "允許他人回覆", "let_others_respond": "允許他人回覆",
"level": "等級", "level": "等級",
"library": "圖庫", "library": "圖庫",
@@ -898,7 +902,7 @@
"no_albums_with_name_yet": "看來還沒有這個名字的相簿。", "no_albums_with_name_yet": "看來還沒有這個名字的相簿。",
"no_albums_yet": "看來您還沒有任何相簿。", "no_albums_yet": "看來您還沒有任何相簿。",
"no_archived_assets_message": "將照片和影片封存,就不會顯示在「照片」中", "no_archived_assets_message": "將照片和影片封存,就不會顯示在「照片」中",
"no_assets_message": "按這上傳您的第一張照片", "no_assets_message": "按這上傳您的第一張照片",
"no_duplicates_found": "沒發現重複項目。", "no_duplicates_found": "沒發現重複項目。",
"no_exif_info_available": "沒有可用的 Exif 資訊", "no_exif_info_available": "沒有可用的 Exif 資訊",
"no_explore_results_message": "上傳更多照片以利探索。", "no_explore_results_message": "上傳更多照片以利探索。",
@@ -984,6 +988,7 @@
"pick_a_location": "選擇位置", "pick_a_location": "選擇位置",
"place": "地點", "place": "地點",
"places": "地點", "places": "地點",
"places_count": "{count, plural, one {{count, number} 個地點} other {{count, number} 個地點}}",
"play": "播放", "play": "播放",
"play_memories": "播放回憶", "play_memories": "播放回憶",
"play_motion_photo": "播放動態照片", "play_motion_photo": "播放動態照片",
@@ -1019,7 +1024,7 @@
"purchase_license_subtitle": "購置 Immich 來支援軟體開發", "purchase_license_subtitle": "購置 Immich 來支援軟體開發",
"purchase_lifetime_description": "終身購置", "purchase_lifetime_description": "終身購置",
"purchase_option_title": "購置選項", "purchase_option_title": "購置選項",
"purchase_panel_info_1": "開發 Immich 可不是件容易的事,花了我們不少功夫。好在有一群全職工程師在背後默默努力,的就是把它做到最好。我們的目標很簡單:讓開源軟體和正當的商業模式能成開發者的長期飯碗,同時打造出重視隱私的生態系統,讓大家有個不被剝削的雲端服務新選擇。", "purchase_panel_info_1": "開發 Immich 可不是件容易的事,花了我們不少功夫。好在有一群全職工程師在背後默默努力,的就是把它做到最好。我們的目標很簡單:讓開源軟體和正當的商業模式能成開發者的長期飯碗,同時打造出重視隱私的生態系統,讓大家有個不被剝削的雲端服務新選擇。",
"purchase_panel_info_2": "我們承諾不設付費牆,所以購置 Immich 並不會讓您獲得額外的功能。我們是依賴使用者們的支援來開發 Immich 的。", "purchase_panel_info_2": "我們承諾不設付費牆,所以購置 Immich 並不會讓您獲得額外的功能。我們是依賴使用者們的支援來開發 Immich 的。",
"purchase_panel_title": "支援這項專案", "purchase_panel_title": "支援這項專案",
"purchase_per_server": "每臺伺服器", "purchase_per_server": "每臺伺服器",
@@ -1074,7 +1079,7 @@
"removed_tagged_assets": "已移除 {count, plural, other {# 個檔案}}的標記", "removed_tagged_assets": "已移除 {count, plural, other {# 個檔案}}的標記",
"rename": "改名", "rename": "改名",
"repair": "糾正", "repair": "糾正",
"repair_no_results_message": "未被追蹤及遺失的檔案會顯示在這", "repair_no_results_message": "未被追蹤及遺失的檔案會顯示在這",
"replace_with_upload": "用上傳的檔案取代", "replace_with_upload": "用上傳的檔案取代",
"repository": "儲存庫", "repository": "儲存庫",
"require_password": "需要密碼", "require_password": "需要密碼",
@@ -1099,7 +1104,7 @@
"saved_api_key": "已儲存的 API 密鑰", "saved_api_key": "已儲存的 API 密鑰",
"saved_profile": "已儲存個人資料", "saved_profile": "已儲存個人資料",
"saved_settings": "已儲存設定", "saved_settings": "已儲存設定",
"say_something": "说些什么", "say_something": "說說你的想法吧",
"scan_all_libraries": "掃描所有圖庫", "scan_all_libraries": "掃描所有圖庫",
"scan_library": "掃描", "scan_library": "掃描",
"scan_settings": "掃描設定", "scan_settings": "掃描設定",
@@ -1107,15 +1112,18 @@
"search": "搜尋", "search": "搜尋",
"search_albums": "搜尋相簿", "search_albums": "搜尋相簿",
"search_by_context": "以情境搜尋", "search_by_context": "以情境搜尋",
"search_by_description": "以描述搜尋",
"search_by_description_example": "在沙壩的健行之日",
"search_by_filename": "以檔名或副檔名搜尋", "search_by_filename": "以檔名或副檔名搜尋",
"search_by_filename_example": "如 IMG_1234.JPG 或 PNG", "search_by_filename_example": "如 IMG_1234.JPG 或 PNG",
"search_camera_make": "搜尋相機製造商…", "search_camera_make": "搜尋相機製造商…",
"search_camera_model": "搜尋相機型號…", "search_camera_model": "搜尋相機型號…",
"search_city": "搜尋城市…", "search_city": "搜尋城市…",
"search_country": "搜尋國家…", "search_country": "搜尋國家…",
"search_for": "搜尋",
"search_for_existing_person": "搜尋現有的人物", "search_for_existing_person": "搜尋現有的人物",
"search_no_people": "沒有人找到", "search_no_people": "沒有人找到",
"search_no_people_named": "沒有名「{name}」的人物", "search_no_people_named": "沒有名「{name}」的人物",
"search_options": "搜尋選項", "search_options": "搜尋選項",
"search_people": "搜尋人物", "search_people": "搜尋人物",
"search_places": "搜尋地點", "search_places": "搜尋地點",
@@ -1144,12 +1152,12 @@
"selected_count": "{count, plural, other {選了 # 項}}", "selected_count": "{count, plural, other {選了 # 項}}",
"send_message": "傳訊息", "send_message": "傳訊息",
"send_welcome_email": "傳送歡迎電子郵件", "send_welcome_email": "傳送歡迎電子郵件",
"server_offline": "伺服器離線", "server_offline": "伺服器離線",
"server_online": "伺服器線", "server_online": "伺服器已上線",
"server_stats": "伺服器統計", "server_stats": "伺服器統計",
"server_version": "目前版本", "server_version": "目前版本",
"set": "設定", "set": "設定",
"set_as_album_cover": "設相簿封面", "set_as_album_cover": "設相簿封面",
"set_as_featured_photo": "設為特色照片", "set_as_featured_photo": "設為特色照片",
"set_as_profile_picture": "設為個人資料圖片", "set_as_profile_picture": "設為個人資料圖片",
"set_date_of_birth": "設定出生日期", "set_date_of_birth": "設定出生日期",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "來自 {partner} 的照片", "shared_from_partner": "來自 {partner} 的照片",
"shared_link_options": "共享連結選項", "shared_link_options": "共享連結選項",
"shared_links": "共享連結", "shared_links": "共享連結",
"shared_links_description": "以連結分享照片和影片",
"shared_photos_and_videos_count": "{assetCount, plural, other {已分享 # 張照片及影片。}}", "shared_photos_and_videos_count": "{assetCount, plural, other {已分享 # 張照片及影片。}}",
"shared_with_partner": "與 {partner} 共享", "shared_with_partner": "與 {partner} 共享",
"sharing": "共享", "sharing": "共享",
@@ -1187,6 +1196,7 @@
"show_person_options": "顯示人物選項", "show_person_options": "顯示人物選項",
"show_progress_bar": "顯示進度條", "show_progress_bar": "顯示進度條",
"show_search_options": "顯示搜尋選項", "show_search_options": "顯示搜尋選項",
"show_shared_links": "顯示共享連結",
"show_slideshow_transition": "顯示幻燈片轉場", "show_slideshow_transition": "顯示幻燈片轉場",
"show_supporter_badge": "擁護者徽章", "show_supporter_badge": "擁護者徽章",
"show_supporter_badge_description": "顯示擁護者徽章", "show_supporter_badge_description": "顯示擁護者徽章",
@@ -1212,7 +1222,7 @@
"source": "來源", "source": "來源",
"stack": "堆叠", "stack": "堆叠",
"stack_duplicates": "堆疊重複項目", "stack_duplicates": "堆疊重複項目",
"stack_select_one_photo": "堆疊選一張主要照片", "stack_select_one_photo": "堆疊選一張主要照片",
"stack_selected_photos": "堆疊所選的照片", "stack_selected_photos": "堆疊所選的照片",
"stacked_assets_count": "已堆疊 {count, plural, one {# 個檔案} other {# 個檔案}}", "stacked_assets_count": "已堆疊 {count, plural, one {# 個檔案} other {# 個檔案}}",
"stacktrace": "堆疊追蹤", "stacktrace": "堆疊追蹤",
@@ -1274,6 +1284,7 @@
"unfavorite": "取消收藏", "unfavorite": "取消收藏",
"unhide_person": "取消隱藏人物", "unhide_person": "取消隱藏人物",
"unknown": "未知", "unknown": "未知",
"unknown_country": "未知國家",
"unknown_year": "不知年份", "unknown_year": "不知年份",
"unlimited": "不限制", "unlimited": "不限制",
"unlink_motion_video": "取消鏈結動態影片", "unlink_motion_video": "取消鏈結動態影片",
@@ -1308,8 +1319,8 @@
"user_liked": "{user} 喜歡了 {type, select, photo {這張照片} video {這段影片} asset {這個檔案} other {它}}", "user_liked": "{user} 喜歡了 {type, select, photo {這張照片} video {這段影片} asset {這個檔案} other {它}}",
"user_purchase_settings": "購置", "user_purchase_settings": "購置",
"user_purchase_settings_description": "管理你的購買", "user_purchase_settings_description": "管理你的購買",
"user_role_set": "設 {user} {role}", "user_role_set": "設 {user} {role}",
"user_usage_detail": "使用者用量詳", "user_usage_detail": "使用者用量詳細資訊",
"user_usage_stats": "帳號使用量統計", "user_usage_stats": "帳號使用量統計",
"user_usage_stats_description": "查看帳號使用量", "user_usage_stats_description": "查看帳號使用量",
"username": "使用者名稱", "username": "使用者名稱",
@@ -1319,7 +1330,7 @@
"variables": "變數", "variables": "變數",
"version": "版本", "version": "版本",
"version_announcement_closing": "敬祝順心Alex", "version_announcement_closing": "敬祝順心Alex",
"version_announcement_message": "嗨~新版本的 Immich 推出了。防止配置出錯,請花點時間閱讀<link>發行說明</link>,並確保設定是最新的,特別是使用 WatchTower 等自動更新工具時。", "version_announcement_message": "嗨~新版本的 Immich 推出了。防止配置出錯,請花點時間閱讀<link>發行說明</link>,並確保設定是最新的,特別是使用 WatchTower 等自動更新工具時。",
"version_history": "版本紀錄", "version_history": "版本紀錄",
"version_history_item": "{date} 安裝了 {version}", "version_history_item": "{date} 安裝了 {version}",
"video": "影片", "video": "影片",
@@ -1333,14 +1344,14 @@
"view_all_users": "查看所有使用者", "view_all_users": "查看所有使用者",
"view_in_timeline": "在時間軸中查看", "view_in_timeline": "在時間軸中查看",
"view_links": "檢視鏈結", "view_links": "檢視鏈結",
"view_name": "查看", "view_name": "檢視分類",
"view_next_asset": "查看下一項", "view_next_asset": "查看下一項",
"view_previous_asset": "查看上一項", "view_previous_asset": "查看上一項",
"view_stack": "查看堆疊", "view_stack": "查看堆疊",
"visibility_changed": "已更改 {count, plural, other {# 位人物}}的可見性", "visibility_changed": "已更改 {count, plural, other {# 位人物}}的可見性",
"waiting": "待處理", "waiting": "待處理",
"warning": "警告", "warning": "警告",
"week": "", "week": "",
"welcome": "歡迎", "welcome": "歡迎",
"welcome_to_immich": "歡迎使用 Immich", "welcome_to_immich": "歡迎使用 Immich",
"year": "年", "year": "年",

View File

@@ -20,7 +20,7 @@
"add_partner": "添加同伴", "add_partner": "添加同伴",
"add_path": "添加路径", "add_path": "添加路径",
"add_photos": "添加照片", "add_photos": "添加照片",
"add_to": "添加到...", "add_to": "添加到",
"add_to_album": "添加到相册", "add_to_album": "添加到相册",
"add_to_shared_album": "添加到共享相册", "add_to_shared_album": "添加到共享相册",
"add_url": "添加URL", "add_url": "添加URL",
@@ -219,7 +219,7 @@
"reset_settings_to_default": "恢复默认设置", "reset_settings_to_default": "恢复默认设置",
"reset_settings_to_recent_saved": "恢复到最近保存的设置", "reset_settings_to_recent_saved": "恢复到最近保存的设置",
"scanning_library": "扫描图库", "scanning_library": "扫描图库",
"search_jobs": "搜索任务...", "search_jobs": "搜索任务",
"send_welcome_email": "发送欢迎邮件", "send_welcome_email": "发送欢迎邮件",
"server_external_domain_settings": "外部域名", "server_external_domain_settings": "外部域名",
"server_external_domain_settings_description": "共享链接域名,包括 http(s)://", "server_external_domain_settings_description": "共享链接域名,包括 http(s)://",
@@ -406,17 +406,17 @@
"are_these_the_same_person": "他们是同一位人吗?", "are_these_the_same_person": "他们是同一位人吗?",
"are_you_sure_to_do_this": "确定要这样做吗?", "are_you_sure_to_do_this": "确定要这样做吗?",
"asset_added_to_album": "已添加至相册", "asset_added_to_album": "已添加至相册",
"asset_adding_to_album": "正在添加至相册...", "asset_adding_to_album": "正在添加至相册",
"asset_description_updated": "项目描述已更新", "asset_description_updated": "项目描述已更新",
"asset_filename_is_offline": "项目“{filename}”已离线", "asset_filename_is_offline": "项目“{filename}”已离线",
"asset_has_unassigned_faces": "项目中有未分配的人脸", "asset_has_unassigned_faces": "项目中有未分配的人脸",
"asset_hashing": "哈希校验中...", "asset_hashing": "哈希校验中",
"asset_offline": "项目脱机", "asset_offline": "项目脱机",
"asset_offline_description": "磁盘上已找不到该外部项目。请联系您的 Immich 管理员寻求帮助。", "asset_offline_description": "磁盘上已找不到该外部项目。请联系您的 Immich 管理员寻求帮助。",
"asset_skipped": "已跳过", "asset_skipped": "已跳过",
"asset_skipped_in_trash": "已回收", "asset_skipped_in_trash": "已回收",
"asset_uploaded": "已上传", "asset_uploaded": "已上传",
"asset_uploading": "上传中...", "asset_uploading": "上传中",
"assets": "项目", "assets": "项目",
"assets_added_count": "已添加{count, plural, one {#个项目} other {#个项目}}", "assets_added_count": "已添加{count, plural, one {#个项目} other {#个项目}}",
"assets_added_to_album_count": "已添加{count, plural, one {#个项目} other {#个项目}}到相册", "assets_added_to_album_count": "已添加{count, plural, one {#个项目} other {#个项目}}到相册",
@@ -766,8 +766,10 @@
"go_to_folder": "进入文件夹", "go_to_folder": "进入文件夹",
"go_to_search": "前往搜索", "go_to_search": "前往搜索",
"group_albums_by": "相册分组依据...", "group_albums_by": "相册分组依据...",
"group_country": "按国家分组",
"group_no": "未分组", "group_no": "未分组",
"group_owner": "按所有者分组", "group_owner": "按所有者分组",
"group_places_by": "地点分组依据...",
"group_year": "按年分组", "group_year": "按年分组",
"has_quota": "配额大小", "has_quota": "配额大小",
"hi_user": "你好,{name}{email}", "hi_user": "你好,{name}{email}",
@@ -800,6 +802,7 @@
"include_shared_albums": "包括共享相册", "include_shared_albums": "包括共享相册",
"include_shared_partner_assets": "包括同伴共享项目", "include_shared_partner_assets": "包括同伴共享项目",
"individual_share": "个人分享", "individual_share": "个人分享",
"individual_shares": "个人分享",
"info": "信息", "info": "信息",
"interval": { "interval": {
"day_at_onepm": "每天下午 1 点", "day_at_onepm": "每天下午 1 点",
@@ -822,6 +825,7 @@
"latest_version": "最新版本", "latest_version": "最新版本",
"latitude": "纬度", "latitude": "纬度",
"leave": "离开", "leave": "离开",
"lens_model": "镜头型号",
"let_others_respond": "允许他人回应", "let_others_respond": "允许他人回应",
"level": "等级", "level": "等级",
"library": "图库", "library": "图库",
@@ -984,6 +988,7 @@
"pick_a_location": "选择位置", "pick_a_location": "选择位置",
"place": "地点", "place": "地点",
"places": "地点", "places": "地点",
"places_count": "{count, plural, one {{count, number} 个地点} other {{count, number} 个地点}}",
"play": "播放", "play": "播放",
"play_memories": "播放回忆", "play_memories": "播放回忆",
"play_motion_photo": "播放动态图片", "play_motion_photo": "播放动态图片",
@@ -1107,12 +1112,15 @@
"search": "搜索", "search": "搜索",
"search_albums": "搜索相册", "search_albums": "搜索相册",
"search_by_context": "搜索内容", "search_by_context": "搜索内容",
"search_by_description": "通过描述搜索",
"search_by_description_example": "在沙巴徒步的日子",
"search_by_filename": "通过文件名搜索", "search_by_filename": "通过文件名搜索",
"search_by_filename_example": "如 IMG_1234.JPG 或 PNG", "search_by_filename_example": "如 IMG_1234.JPG 或 PNG",
"search_camera_make": "搜索相机品牌...", "search_camera_make": "搜索相机品牌...",
"search_camera_model": "搜索相机型号...", "search_camera_model": "搜索相机型号...",
"search_city": "搜索城市...", "search_city": "搜索城市...",
"search_country": "搜索国家...", "search_country": "搜索国家...",
"search_for": "搜索",
"search_for_existing_person": "搜索已有人物", "search_for_existing_person": "搜索已有人物",
"search_no_people": "找不到人物", "search_no_people": "找不到人物",
"search_no_people_named": "人物“{name}”不存在", "search_no_people_named": "人物“{name}”不存在",
@@ -1165,6 +1173,7 @@
"shared_from_partner": "来自“{partner}”的照片", "shared_from_partner": "来自“{partner}”的照片",
"shared_link_options": "共享链接选项", "shared_link_options": "共享链接选项",
"shared_links": "共享链接", "shared_links": "共享链接",
"shared_links_description": "通过链接分享照片和视频",
"shared_photos_and_videos_count": "{assetCount, plural, other {#项已共享照片&视频。}}", "shared_photos_and_videos_count": "{assetCount, plural, other {#项已共享照片&视频。}}",
"shared_with_partner": "与“{partner}”共享", "shared_with_partner": "与“{partner}”共享",
"sharing": "共享", "sharing": "共享",
@@ -1187,6 +1196,7 @@
"show_person_options": "显示人物选项", "show_person_options": "显示人物选项",
"show_progress_bar": "显示进度条", "show_progress_bar": "显示进度条",
"show_search_options": "显示搜索选项", "show_search_options": "显示搜索选项",
"show_shared_links": "显示共享链接",
"show_slideshow_transition": "显示幻灯片过渡效果", "show_slideshow_transition": "显示幻灯片过渡效果",
"show_supporter_badge": "支持者徽章", "show_supporter_badge": "支持者徽章",
"show_supporter_badge_description": "展示支持者徽章", "show_supporter_badge_description": "展示支持者徽章",
@@ -1274,6 +1284,7 @@
"unfavorite": "取消收藏", "unfavorite": "取消收藏",
"unhide_person": "显示人物", "unhide_person": "显示人物",
"unknown": "未知", "unknown": "未知",
"unknown_country": "未知的国家",
"unknown_year": "未知年份", "unknown_year": "未知年份",
"unlimited": "无限制", "unlimited": "无限制",
"unlink_motion_video": "取消链接动态视频", "unlink_motion_video": "取消链接动态视频",

View File

@@ -66,8 +66,8 @@ download:
locale_code: es-MX locale_code: es-MX
- file: mobile/assets/i18n/sv-FI.json - file: mobile/assets/i18n/sv-FI.json
locale_code: sv-FI locale_code: sv-FI
- file: mobile/assets/i18n/ca-CA.json - file: mobile/assets/i18n/ca.json
locale_code: ca-CA locale_code: ca
- file: mobile/assets/i18n/hu-HU.json - file: mobile/assets/i18n/hu-HU.json
locale_code: hu-HU locale_code: hu-HU
- file: mobile/assets/i18n/lv-LV.json - file: mobile/assets/i18n/lv-LV.json

View File

@@ -1,6 +1,6 @@
ARG DEVICE=cpu ARG DEVICE=cpu
FROM python:3.11-bookworm@sha256:14b4620f59a90f163dfa6bd252b68743f9a41d494a9fde935f9d7669d98094bb AS builder-cpu FROM python:3.11-bookworm@sha256:68a8863d0625f42d47e0684f33ca02f19d6094ef859a8af237aaf645195ed477 AS builder-cpu
FROM builder-cpu AS builder-openvino FROM builder-cpu AS builder-openvino
@@ -34,7 +34,7 @@ RUN python3 -m venv /opt/venv
COPY poetry.lock pyproject.toml ./ COPY poetry.lock pyproject.toml ./
RUN poetry install --sync --no-interaction --no-ansi --no-root --with ${DEVICE} --without dev RUN poetry install --sync --no-interaction --no-ansi --no-root --with ${DEVICE} --without dev
FROM python:3.11-slim-bookworm@sha256:42420f737ba91d509fc60d5ed65ed0492678a90c561e1fa08786ae8ba8b52eda AS prod-cpu FROM python:3.11-slim-bookworm@sha256:614c8691ab74150465ec9123378cd4dde7a6e57be9e558c3108df40664667a4c AS prod-cpu
FROM prod-cpu AS prod-openvino FROM prod-cpu AS prod-openvino

View File

@@ -20,9 +20,8 @@ class FaceRecognizer(InferenceModel):
depends = [(ModelType.DETECTION, ModelTask.FACIAL_RECOGNITION)] depends = [(ModelType.DETECTION, ModelTask.FACIAL_RECOGNITION)]
identity = (ModelType.RECOGNITION, ModelTask.FACIAL_RECOGNITION) identity = (ModelType.RECOGNITION, ModelTask.FACIAL_RECOGNITION)
def __init__(self, model_name: str, min_score: float = 0.7, **model_kwargs: Any) -> None: def __init__(self, model_name: str, **model_kwargs: Any) -> None:
super().__init__(model_name, **model_kwargs) super().__init__(model_name, **model_kwargs)
self.min_score = model_kwargs.pop("minScore", min_score)
max_batch_size = settings.max_batch_size.facial_recognition if settings.max_batch_size else None max_batch_size = settings.max_batch_size.facial_recognition if settings.max_batch_size else None
self.batch_size = max_batch_size if max_batch_size else self._batch_size_default self.batch_size = max_batch_size if max_batch_size else self._batch_size_default

View File

@@ -324,7 +324,7 @@ class TestAnnSession:
session.run(None, input_feed) session.run(None, input_feed)
ann_session.return_value.execute.assert_called_once_with(123, [input1, input2]) ann_session.return_value.execute.assert_called_once_with(123, [input1, input2])
np_spy.call_count == 2 assert np_spy.call_count == 2
np_spy.assert_has_calls([mock.call(input1), mock.call(input2)]) np_spy.assert_has_calls([mock.call(input1), mock.call(input2)])
@@ -457,11 +457,14 @@ class TestCLIP:
class TestFaceRecognition: class TestFaceRecognition:
def test_set_min_score(self, mocker: MockerFixture) -> None: def test_set_min_score(self, snapshot_download: mock.Mock, ort_session: mock.Mock, path: mock.Mock) -> None:
mocker.patch.object(FaceRecognizer, "load") path.return_value.__truediv__.return_value.__truediv__.return_value.suffix = ".onnx"
face_recognizer = FaceRecognizer("buffalo_s", cache_dir="test_cache", min_score=0.5)
assert face_recognizer.min_score == 0.5 face_detector = FaceDetector("buffalo_s", min_score=0.5, cache_dir="test_cache")
face_detector.load()
assert face_detector.min_score == 0.5
assert face_detector.model.det_thresh == 0.5
def test_detection(self, cv_image: cv2.Mat, mocker: MockerFixture) -> None: def test_detection(self, cv_image: cv2.Mat, mocker: MockerFixture) -> None:
mocker.patch.object(FaceDetector, "load") mocker.patch.object(FaceDetector, "load")

View File

@@ -14,12 +14,6 @@ byte_image = BytesIO()
def _(parser: ArgumentParser) -> None: def _(parser: ArgumentParser) -> None:
parser.add_argument("--clip-model", type=str, default="ViT-B-32::openai") parser.add_argument("--clip-model", type=str, default="ViT-B-32::openai")
parser.add_argument("--face-model", type=str, default="buffalo_l") parser.add_argument("--face-model", type=str, default="buffalo_l")
parser.add_argument(
"--tag-min-score",
type=int,
default=0.0,
help="Returns all tags at or above this score. The default returns all tags.",
)
parser.add_argument( parser.add_argument(
"--face-min-score", "--face-min-score",
type=int, type=int,
@@ -74,10 +68,10 @@ class RecognitionFormDataLoadTest(InferenceLoadTest):
"facial-recognition": { "facial-recognition": {
"recognition": { "recognition": {
"modelName": self.environment.parsed_options.face_model, "modelName": self.environment.parsed_options.face_model,
"options": {"minScore": self.environment.parsed_options.face_min_score},
}, },
"detection": { "detection": {
"modelName": self.environment.parsed_options.face_model, "modelName": self.environment.parsed_options.face_model,
"options": {"minScore": self.environment.parsed_options.face_min_score},
}, },
} }
} }

View File

@@ -75,33 +75,33 @@ trio = ["trio (>=0.23)"]
[[package]] [[package]]
name = "black" name = "black"
version = "24.10.0" version = "25.1.0"
description = "The uncompromising code formatter." description = "The uncompromising code formatter."
optional = false optional = false
python-versions = ">=3.9" python-versions = ">=3.9"
files = [ files = [
{file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, {file = "black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32"},
{file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, {file = "black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da"},
{file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, {file = "black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7"},
{file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, {file = "black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9"},
{file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, {file = "black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0"},
{file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, {file = "black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299"},
{file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, {file = "black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096"},
{file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, {file = "black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2"},
{file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, {file = "black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b"},
{file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, {file = "black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc"},
{file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, {file = "black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f"},
{file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, {file = "black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba"},
{file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, {file = "black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f"},
{file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, {file = "black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3"},
{file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, {file = "black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171"},
{file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, {file = "black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18"},
{file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, {file = "black-25.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1ee0a0c330f7b5130ce0caed9936a904793576ef4d2b98c40835d6a65afa6a0"},
{file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, {file = "black-25.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3df5f1bf91d36002b0a75389ca8663510cf0531cca8aa5c1ef695b46d98655f"},
{file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, {file = "black-25.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6827d563a2c820772b32ce8a42828dc6790f095f441beef18f96aa6f8294e"},
{file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, {file = "black-25.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:bacabb307dca5ebaf9c118d2d2f6903da0d62c9faa82bd21a33eecc319559355"},
{file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, {file = "black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717"},
{file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, {file = "black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666"},
] ]
[package.dependencies] [package.dependencies]
@@ -1331,13 +1331,13 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]] [[package]]
name = "huggingface-hub" name = "huggingface-hub"
version = "0.28.1" version = "0.29.1"
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
optional = false optional = false
python-versions = ">=3.8.0" python-versions = ">=3.8.0"
files = [ files = [
{file = "huggingface_hub-0.28.1-py3-none-any.whl", hash = "sha256:aa6b9a3ffdae939b72c464dbb0d7f99f56e649b55c3d52406f49e0a5a620c0a7"}, {file = "huggingface_hub-0.29.1-py3-none-any.whl", hash = "sha256:352f69caf16566c7b6de84b54a822f6238e17ddd8ae3da4f8f2272aea5b198d5"},
{file = "huggingface_hub-0.28.1.tar.gz", hash = "sha256:893471090c98e3b6efbdfdacafe4052b20b84d59866fb6f54c33d9af18c303ae"}, {file = "huggingface_hub-0.29.1.tar.gz", hash = "sha256:9524eae42077b8ff4fc459ceb7a514eca1c1232b775276b009709fe2a084f250"},
] ]
[package.dependencies] [package.dependencies]
@@ -1625,23 +1625,23 @@ test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"]
[[package]] [[package]]
name = "locust" name = "locust"
version = "2.32.9" version = "2.33.0"
description = "Developer-friendly load testing framework" description = "Developer-friendly load testing framework"
optional = false optional = false
python-versions = ">=3.9" python-versions = ">=3.9"
files = [ files = [
{file = "locust-2.32.9-py3-none-any.whl", hash = "sha256:d9447c26d2bbaec5a0ace7cadefa1a31820ed392234257b309965a43d5e8d26f"}, {file = "locust-2.33.0-py3-none-any.whl", hash = "sha256:77fcc5cc35cceee5e12d99f5bb23bc441d145bdef6967c2e93d6e4d93451553e"},
{file = "locust-2.32.9.tar.gz", hash = "sha256:4c297afa5cdc3de15dfa79279576e5f33c1d69dd70006b51d079dcbd212201cc"}, {file = "locust-2.33.0.tar.gz", hash = "sha256:ba291b7ab2349cc2db540adb8888bc93feb89ea4e4e10d80b935e5065091e8e9"},
] ]
[package.dependencies] [package.dependencies]
ConfigArgParse = ">=1.5.5" configargparse = ">=1.5.5"
flask = ">=2.0.0" flask = ">=2.0.0"
Flask-Cors = ">=3.0.10" flask-cors = ">=3.0.10"
Flask-Login = ">=0.6.3" flask-login = ">=0.6.3"
gevent = [ gevent = [
{version = ">=22.10.2", markers = "python_full_version <= \"3.12.0\""}, {version = ">=22.10.2", markers = "python_version <= \"3.12\""},
{version = ">=24.10.1", markers = "python_full_version > \"3.13.0\""}, {version = ">=24.10.1", markers = "python_version > \"3.13\""},
] ]
geventhttpclient = ">=2.3.1" geventhttpclient = ">=2.3.1"
msgpack = ">=1.0.0" msgpack = ">=1.0.0"
@@ -1649,13 +1649,13 @@ psutil = ">=5.9.1"
pywin32 = {version = "*", markers = "sys_platform == \"win32\""} pywin32 = {version = "*", markers = "sys_platform == \"win32\""}
pyzmq = ">=25.0.0" pyzmq = ">=25.0.0"
requests = [ requests = [
{version = ">=2.26.0", markers = "python_full_version <= \"3.11.0\""}, {version = ">=2.26.0", markers = "python_version <= \"3.11\""},
{version = ">=2.32.2", markers = "python_full_version > \"3.11.0\""}, {version = ">=2.32.2", markers = "python_version > \"3.11\""},
] ]
setuptools = ">=70.0.0" setuptools = ">=70.0.0"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
typing_extensions = {version = ">=4.6.0", markers = "python_version < \"3.11\""} typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.11\""}
Werkzeug = ">=2.0.0" werkzeug = ">=2.0.0"
[[package]] [[package]]
name = "markdown-it-py" name = "markdown-it-py"
@@ -2628,13 +2628,13 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
[[package]] [[package]]
name = "pydantic-settings" name = "pydantic-settings"
version = "2.7.1" version = "2.8.1"
description = "Settings management using Pydantic" description = "Settings management using Pydantic"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "pydantic_settings-2.7.1-py3-none-any.whl", hash = "sha256:590be9e6e24d06db33a4262829edef682500ef008565a969c73d39d5f8bfb3fd"}, {file = "pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c"},
{file = "pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93"}, {file = "pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585"},
] ]
[package.dependencies] [package.dependencies]
@@ -3047,29 +3047,29 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.9.6" version = "0.9.9"
description = "An extremely fast Python linter and code formatter, written in Rust." description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "ruff-0.9.6-py3-none-linux_armv6l.whl", hash = "sha256:2f218f356dd2d995839f1941322ff021c72a492c470f0b26a34f844c29cdf5ba"}, {file = "ruff-0.9.9-py3-none-linux_armv6l.whl", hash = "sha256:628abb5ea10345e53dff55b167595a159d3e174d6720bf19761f5e467e68d367"},
{file = "ruff-0.9.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b908ff4df65dad7b251c9968a2e4560836d8f5487c2f0cc238321ed951ea0504"}, {file = "ruff-0.9.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b6cd1428e834b35d7493354723543b28cc11dc14d1ce19b685f6e68e07c05ec7"},
{file = "ruff-0.9.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b109c0ad2ececf42e75fa99dc4043ff72a357436bb171900714a9ea581ddef83"}, {file = "ruff-0.9.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5ee162652869120ad260670706f3cd36cd3f32b0c651f02b6da142652c54941d"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1de4367cca3dac99bcbd15c161404e849bb0bfd543664db39232648dc00112dc"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa0f6b75082c9be1ec5a1db78c6d4b02e2375c3068438241dc19c7c306cc61a"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac3ee4d7c2c92ddfdaedf0bf31b2b176fa7aa8950efc454628d477394d35638b"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:584cc66e89fb5f80f84b05133dd677a17cdd86901d6479712c96597a3f28e7fe"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dc1edd1775270e6aa2386119aea692039781429f0be1e0949ea5884e011aa8e"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf3369325761a35aba75cd5c55ba1b5eb17d772f12ab168fbfac54be85cf18c"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4a091729086dffa4bd070aa5dab7e39cc6b9d62eb2bef8f3d91172d30d599666"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3403a53a32a90ce929aa2f758542aca9234befa133e29f4933dcef28a24317be"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1bbc6808bf7b15796cef0815e1dfb796fbd383e7dbd4334709642649625e7c5"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18454e7fa4e4d72cffe28a37cf6a73cb2594f81ec9f4eca31a0aaa9ccdfb1590"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:589d1d9f25b5754ff230dce914a174a7c951a85a4e9270613a2b74231fdac2f5"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fadfe2c88724c9617339f62319ed40dcdadadf2888d5afb88bf3adee7b35bfb"},
{file = "ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc61dd5131742e21103fbbdcad683a8813be0e3c204472d520d9a5021ca8b217"}, {file = "ruff-0.9.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6df104d08c442a1aabcfd254279b8cc1e2cbf41a605aa3e26610ba1ec4acf0b0"},
{file = "ruff-0.9.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5e2d9126161d0357e5c8f30b0bd6168d2c3872372f14481136d13de9937f79b6"}, {file = "ruff-0.9.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d7c62939daf5b2a15af48abbd23bea1efdd38c312d6e7c4cedf5a24e03207e17"},
{file = "ruff-0.9.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:68660eab1a8e65babb5229a1f97b46e3120923757a68b5413d8561f8a85d4897"}, {file = "ruff-0.9.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9494ba82a37a4b81b6a798076e4a3251c13243fc37967e998efe4cce58c8a8d1"},
{file = "ruff-0.9.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c4cae6c4cc7b9b4017c71114115db0445b00a16de3bcde0946273e8392856f08"}, {file = "ruff-0.9.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:4efd7a96ed6d36ef011ae798bf794c5501a514be369296c672dab7921087fa57"},
{file = "ruff-0.9.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:19f505b643228b417c1111a2a536424ddde0db4ef9023b9e04a46ed8a1cb4656"}, {file = "ruff-0.9.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:ab90a7944c5a1296f3ecb08d1cbf8c2da34c7e68114b1271a431a3ad30cb660e"},
{file = "ruff-0.9.6-py3-none-win32.whl", hash = "sha256:194d8402bceef1b31164909540a597e0d913c0e4952015a5b40e28c146121b5d"}, {file = "ruff-0.9.9-py3-none-win32.whl", hash = "sha256:6b4c376d929c25ecd6d87e182a230fa4377b8e5125a4ff52d506ee8c087153c1"},
{file = "ruff-0.9.6-py3-none-win_amd64.whl", hash = "sha256:03482d5c09d90d4ee3f40d97578423698ad895c87314c4de39ed2af945633caa"}, {file = "ruff-0.9.9-py3-none-win_amd64.whl", hash = "sha256:837982ea24091d4c1700ddb2f63b7070e5baec508e43b01de013dc7eff974ff1"},
{file = "ruff-0.9.6-py3-none-win_arm64.whl", hash = "sha256:0e2bb706a2be7ddfea4a4af918562fdc1bcb16df255e5fa595bbd800ce322a5a"}, {file = "ruff-0.9.9-py3-none-win_arm64.whl", hash = "sha256:3ac78f127517209fe6d96ab00f3ba97cafe38718b23b1db3e96d8b2d39e37ddf"},
{file = "ruff-0.9.6.tar.gz", hash = "sha256:81761592f72b620ec8fa1068a6fd00e98a5ebee342a3642efd84454f3031dca9"}, {file = "ruff-0.9.9.tar.gz", hash = "sha256:0062ed13f22173e85f8f7056f9a24016e692efeea8704d1a5e8011b8aa850933"},
] ]
[[package]] [[package]]

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "machine-learning" name = "machine-learning"
version = "1.126.1" version = "1.129.0"
description = "" description = ""
authors = ["Hau Tran <alex.tran1502@gmail.com>"] authors = ["Hau Tran <alex.tran1502@gmail.com>"]
readme = "README.md" readme = "README.md"

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