Compare commits

...

115 Commits

Author SHA1 Message Date
Jonathan Jogenfors
cfd9155918 wip 2025-04-15 15:45:02 +02:00
Weblate (bot)
cecd9c24a4 chore(web): update translations (#17438)
Co-authored-by: Alex <rainbowpulp@gmail.com>
Co-authored-by: Andreas Johansen <andreas@josern.com>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Ciprriann <cipriannebeja@gmail.com>
Co-authored-by: Eskuero <3skuero@gmail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: GiannosOB <giannos2105@gmail.com>
Co-authored-by: Gustavo Batista <gustavo_prg@hotmail.com>
Co-authored-by: Happy <happygamernintendoswitch@gmail.com>
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com>
Co-authored-by: Josep Mengual <josep@truita.es>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Leonard Baki <leonard.baki@gmail.com>
Co-authored-by: Matjaž T <matjaz@moj-svet.si>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Molnar Eduard <edimolnar@posteo.ro>
Co-authored-by: Nergis <me@nergis.dev>
Co-authored-by: Nghiem Long Phan <nghiemlong@gmail.com>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Stein-Aksel Basma <stein-aksel@basma.no>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TheScientistPT <joao.ed.reis.gomes@gmail.com>
Co-authored-by: User 123456789 <w0g-1es-5qq@cld3.com>
Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org>
Co-authored-by: alexxss <rainbowpulp+weblate@gmail.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: hachimaru <eugenereuh@gmail.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: shiuh67 <shiuh.cheng@gmail.com>
Co-authored-by: stelle <itsazripp2@gmail.com>
Co-authored-by: szelek <janek.szelewicz@gmail.com>
Co-authored-by: timmy61109 <qazzxcasdqwewsxedc@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: xuars <yago.rana.gayoso@gmail.com>
2025-04-15 14:27:57 +01:00
Jason Rasmussen
f189c7b101 refactor: medium tests (#17599) 2025-04-15 08:53:14 -04:00
renovate[bot]
c5f087a3ca chore(deps): update mcr.microsoft.com/devcontainers/typescript-node:22 docker digest to a20b8a3 (#17606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:56:00 +01:00
renovate[bot]
72f6d7791e chore(deps): update dependency @sveltejs/kit to v2.20.6 [security] (#17603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:47:30 +01:00
renovate[bot]
f73fce1046 chore(deps): update base-image to v202504081114 (major) (#17613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:47:10 +01:00
renovate[bot]
f2edcde1b2 chore(deps): update actions/create-github-app-token action to v2 (#17612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:04:43 +01:00
renovate[bot]
9d0dd9dff8 chore(deps): update github-actions (#17605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 12:03:45 +01:00
Mert
c3d10c5be2 refactor(server): non-nullable file metadata (#17598) 2025-04-15 12:03:31 +01:00
Andrei Mironov
bd92748ddd perf(mobile): optimize date loading with batch loading (#17240)
* perf(mobile): optimize date loading with batch loading

Introduce DateBatchLoader to reduce the number of database queries by loading dates in batches, improving performance when querying large lists.

* remove unused totalCount parameter from DateBatchLoader

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-14 19:06:36 +00:00
Toni
aad5c3bada chore(mobile): don't show drag scroll date in search page (#17594)
Dont show drag scroll date in search page

* When using the drag scroll, the date of the current image is shown. This is now made toggleable.
* For the mobile search result page, the display of the date is now disabled because the results are not sorted by date and therefore a display of the date is not desirable.
2025-04-14 14:03:18 -05:00
Jason Rasmussen
b2753103c6 chore: remove unused logger (#17593) 2025-04-14 15:01:49 -04:00
Aamir Azad
e3f3baadb0 fix(web): improve mobile web album viewer padding (#17575)
Reduce margin on mobile web album viewer
2025-04-14 13:46:53 -05:00
Daniel Dietzler
0b69d1c147 refactor: selected columns in queries (#17589) 2025-04-14 13:34:06 -05:00
Min Idzelis
5a51ad3622 fix: responsive: timeline glitch and keyboard-accessible scrubber (#17556)
* fix: responsive: timeline glitch

* lint

* fix margin-right on mobile

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-14 11:56:40 -05:00
AutisticShark
664c99278a feat(mobile): remove duplicated i18n file (#17591)
https://github.com/immich-app/immich/issues/8946

Co-authored-by: Cat <cat@nextpanel.dev>
2025-04-14 11:36:18 -05:00
Daniel Dietzler
184e142d87 refactor: migrate asset job status entity (#17560) 2025-04-14 12:21:56 +02:00
Andreas Tollkötter
8b00578c7b fix: read longitude and latitude when reverse geocoding is off (#17558) 2025-04-14 10:43:46 +01:00
Erik Nygren
7562088fac feat(server): parse EXIF creation time for some insta360 images (#17564)
It seems insta360 stores metadata in XMP GPano tags, with their own
non-standard and undocumented addition `SourceImageCreateTime`. For some
pictures this is the only EXIF tag containing a creation time.
2025-04-13 23:44:18 -04:00
Ben
79d4ce2d6d fix(web): search bar deactivates when focus exits (#17549)
* fix(web): search bar deactivates when focus exits

* fix: disable search bar on destroy

For example, on the search page. If the escape key is pressed while the advanced filters button is focused, the search page will close but the search bar will remain activated.
2025-04-13 22:43:50 -05:00
Min Idzelis
983f656a6b fix: in dev, delay web server start until api server is started (#17563) 2025-04-13 10:06:35 -04:00
Alex
ab2a7006f9 chore(mobile): small visual fix and update (#17547)
* chore(mobile): small visual fix and update

* update

* update

* remove design placeholder
2025-04-13 08:01:32 -05:00
Min Idzelis
1f18fe31f0 fix: occasional empty buckets, after canceled loads (#17552) 2025-04-13 07:50:24 -05:00
Daniel Dietzler
a373034629 refactor: migrate stacks (#17559)
chore: migrate stacks
2025-04-12 08:33:35 -04:00
renovate[bot]
5dac315af7 fix(deps): update dependency @nestjs/common to v11.0.16 [security] (#17557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 12:31:18 +02:00
Min Idzelis
8309b73a02 fix: responsive: long press while scroll (#17555) 2025-04-11 18:28:36 -04:00
Min Idzelis
e440cbe353 feat: responsive-web: shrink mem-lane (#17550) 2025-04-11 17:10:58 -05:00
Daniel Dietzler
5548eb0dad fix: live photo hiding (#17548) 2025-04-11 17:09:58 -05:00
Min Idzelis
3bec8dc337 refactor: responsive: device units (#17551) 2025-04-11 17:09:10 -05:00
Min Idzelis
5bcb58c3e7 feat: responsive: skeleton (#17553)
feature: responsive: skeleton
2025-04-11 17:04:48 -05:00
Min Idzelis
c62fc155c8 feat: show thumbhash behind load error, if possible (#17554)
* feat: show thumbhash behind load error, if possible

* forgot this
2025-04-11 17:01:51 -05:00
Rudhra Raveendran
40e3322b25 docs: Add PowerShell example for running web client only (#17546)
Add PowerShell example for running web client only
2025-04-11 17:02:21 -04:00
Mert
25f2b9602f refactor(server): remove face, person and face search entities (#17535)
* remove face, person and face search entities

update tests and mappers

check if face relation exists

update sql

unused imports

* pr feedback

generate sql, remove unused imports
2025-04-11 14:44:45 -04:00
Jason Rasmussen
ae6653392e feat: view qr code from share modal (#17544) 2025-04-11 14:02:07 -04:00
Etienne
d7a782da34 feat: sync pictureFile with oidc if it isn't set already (#17397)
* feat: sync pictureFile with oidc if it isn't set already

fix: move picture writer to get userId

fix: move await promise to the top of the setPicure function before checking its value and automatically create the user folder

chore: code cleanup

* fix: extension double dot

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-04-11 13:00:39 -05:00
renovate[bot]
08b5952c87 chore(deps): update dependency vite to v6.2.6 [security] (#17541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 13:56:01 -04:00
Jason Rasmussen
584e5894bf refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
Yaros
52d4b2fe57 fix(mobile): remove locate asset button from trashed asset (#17503)
* fix: remove locate asset button from trashed asset

* chore: refactor code
2025-04-11 09:41:10 -05:00
Ben
92f0973a46 fix(web): reset search history after logout (#17534)
fix(web): reset search suggestions after logout
2025-04-10 20:34:45 +00:00
Jason Rasmussen
75c83cb704 refactor: metadata stub (#17532) 2025-04-10 21:58:55 +02:00
Jason Rasmussen
0b22d3348e refactor: count all return type (#17529) 2025-04-10 14:38:49 -04:00
Alex
abde0fbe60 fix(web): mobile view double scroll layer (#17528) 2025-04-10 13:50:05 -04:00
Jason Rasmussen
eaa0e07329 refactor: asset files entity (#17527) 2025-04-10 13:26:27 -04:00
Mitchell Pleune
9fd2c5220d fix: test_sets_default_sess_options fails if compiling with globally enabled cuda (#17516)
Coming from nixos, this test fails when cuda is enabled. https://github.com/NixOS/nixpkgs/pull/382896

Solution as proposed by @mertalev
2025-04-10 13:06:33 -04:00
Snowknight26
7fcab4b251 feat(server): read additional lens exif tags (#17125)
* fix(server): read additional lens exif tags

* Update order of read tags

* Fix e2e test

* Fix e2e test

* Fix e2e test

* Fix e2e test

* Update test

* Filter unknown lens exif data

* Formatting fixes
2025-04-10 12:02:41 -05:00
Ben
e3995fb5f4 fix(web): increase sidebar breakpoint (#17436) 2025-04-10 12:00:30 -05:00
Alex
6d3f3d8616 refactor: convert download manager into a state class (#17491)
* fix(web): download progress bar not functioning

* remove unused method
2025-04-10 16:48:21 +00:00
Jason Rasmussen
4412680679 refactor: remove unused shared users list (#17526) 2025-04-10 11:44:47 -05:00
Brandon Wees
7df2c9c905 fix: patch-package install in docker build and better postgres patch (#17523)
* always patch package when running npm i, install immich CLI outside of directory so post install doesnt run

* handles case where query is an object and defined but origin is not.

* move patch-package from a dev dependency to a normal dependency. Also copy the patches folder for the docker build to use and patch with

* fix Dockerfile

* use query.reject instead of throw for queryError

* package-lock to reflect the dev dependency change

* dont throw the error, just provide an empty string for query.origin if it does not exist

* remove npm link and demote patch-package back to a dev dependency

* modify patch to add defensive check to catch queries that will fail to parse and reject
2025-04-10 12:43:35 -04:00
Daniel Dietzler
7a1e8ce6d8 chore: remove exif entity (#17499) 2025-04-10 12:36:29 -04:00
Jason Rasmussen
8aea07b750 refactor: album user entity (#17524) 2025-04-10 11:53:21 -04:00
Zack Pollard
94dba29298 refactor: remove user entity (#17498) 2025-04-10 10:53:21 -04:00
Rudhra Raveendran
9e49783e49 feat: use browser download manager for single file downloads (#17507)
* Fix download panel reactivity

* Directly download individual files without buffering in memory

* Fix shared link e2e download tests
2025-04-10 09:13:50 -05:00
renovate[bot]
43e3075f93 fix(deps): update machine-learning (#17455) 2025-04-09 16:20:11 +00:00
Zack Pollard
d03647904b refactor: remove move entity (#17489) 2025-04-09 11:54:20 -04:00
Jason Rasmussen
206545356d refactor: metadata entity (#17492) 2025-04-09 11:45:30 -04:00
renovate[bot]
3e372500b0 fix(deps): update typescript-projects (#17456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-04-09 14:47:29 +00:00
Jason Rasmussen
8943ec23ba refactor: more database types (#17490) 2025-04-09 10:24:38 -04:00
Gagan Yadav
04b03f2924 fix(mobile): asset grid will infinitely scroll on iOS when select and… (#17469)
fix(mobile): asset grid will infinitely scroll on iOS when select and drag
2025-04-09 08:36:27 -05:00
Jason Rasmussen
cf2c0260a6 refactor: activity item (#17470)
* refactor: activity item

* fix query

* qualified columns

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-04-09 08:35:20 -04:00
Alex
ae8af84101 fix: no thumbnail generated for motion assets (#17472) 2025-04-08 16:07:10 -05:00
Jason Rasmussen
4794eeca88 refactor: database types (#17468) 2025-04-08 12:40:03 -04:00
Gagan Yadav
ac65d46ec6 fix(mobile): adds support for Internationalized Domain Name (IDN) (#17461) 2025-04-08 11:04:42 -05:00
Alex
e5ca79dd44 refactor: remove session entity (#17466)
* refactor: remove session entity

* fix: test

* update sql

* remote export
2025-04-08 16:04:07 +00:00
Jason Rasmussen
49be6d7fd8 refactor: more database enums (#17465) 2025-04-08 12:02:05 -04:00
Daniel Dietzler
15c6506aee fix: broken start/end dates on album update (#17467) 2025-04-08 15:47:44 +00:00
Jason Rasmussen
2c31a11e41 chore: replace generated enums with actual types (#17463) 2025-04-08 11:13:46 -04:00
Jason Rasmussen
b6c5a03533 refactor: remove tag entity (#17462) 2025-04-08 10:52:54 -04:00
Gagan Yadav
75bc32b47b fix(mobile): hide asset description text field if user is not owner (#17442)
* fix(mobile): hide asset description text field if user is not owner

* If user is not the owner and asset has no description then hide the text field

* Apply suggestions from code review

Co-authored-by: Alex <alex.tran1502@gmail.com>

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-08 09:18:33 -05:00
Jason Rasmussen
fdbe6d649f refactor: remove smart search entity (#17447)
refactor: smart search entity
2025-04-08 09:56:45 -04:00
Aleksandr
2b131fe935 feat: opt-in sync of deletes and restores from web to Android (#16732)
* Features: Local file movement to trash and restoration back to the album added. (Android)

* Comments fixes

* settings button marked as [EXPERIMENTAL]

* _moveToTrashMatchedAssets refactored, moveToTrash renamed.

* fix: bad merge

* Permission check and request for local storage added.

* Permission request added on settings switcher

* Settings button logic changed

* Method channel file_trash moved to BackgroundServicePlugin

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-08 08:50:40 -05:00
snek
6ae24fbbd4 feat(web): improve individual share ux (#17430) 2025-04-08 09:11:37 -04:00
renovate[bot]
7f116d8e98 chore(deps): update mcr.microsoft.com/devcontainers/typescript-node:22 docker digest to b0b88ef (#17453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 13:32:14 +01:00
renovate[bot]
bd0840c411 chore(deps): update github/codeql-action digest to 45775bd (#17452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 13:31:57 +01:00
renovate[bot]
a5123dec1a chore(deps): update grafana/grafana docker tag to v11.6.0 (#17460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 13:31:46 +01:00
renovate[bot]
ffd18c5459 chore(deps): update dependency @types/node to ^22.14.0 (#17459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 12:14:30 +02:00
PyKen
8242ff9bab fix(server): Exclude album assets in shared link payload (#17207)
* fix(server): Exclude album assets in shared link payload

* Fix e2e test
2025-04-08 00:19:06 -04:00
Jason Rasmussen
8203b6c450 refactor: stop using geodata entity type (#17444) 2025-04-08 00:15:43 -04:00
Jason Rasmussen
b352cf3336 refactor: remove natural earth countries enity (#17445) 2025-04-08 00:15:16 -04:00
bo0tzz
96ed9a8c4a fix: restore mangled footnotes (#17446)
I broke this in #17257
2025-04-07 18:03:32 -04:00
Jason Rasmussen
e7a5b96ed0 feat: extension, triggers, functions, comments, parameters management in sql-tools (#17269)
feat: sql-tools extension, triggers, functions, comments, parameters
2025-04-07 15:12:12 -04:00
renovate[bot]
51c2c60231 chore(deps): update dependency vite to v6.2.5 [security] (#17391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 16:35:29 +01:00
shenlong
43d585ce55 fix(mobile): exifInfo not updated on sync (#17407)
* fix(mobile): exifInfo not updated on sync

* add tests

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-07 10:21:37 -05:00
shenlong
042da669d1 fix(mobile): use custom filter to fetch asset path entities (#17344)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-07 09:39:24 -05:00
Yaros
a724f147fe fix(mobile): items not deselecting on back button (#17403)
* fix: items not deselecting on back button

* chore: add comments
2025-04-07 09:35:27 -05:00
Sebastian Schneider
1e4b9ae5b7 fix(mobile): video player restarting when device rotates (#17362)
* fix(mobile): Video player restarting when device rotates

* use global key in state

* Implement suggestions from code review
2025-04-07 09:26:08 -05:00
Ruben Hensen
99cddf1fd6 feat: allow accounts with a quota of 0 GiB (#17413)
* Allow 0GiB quotas in user create/edit form, remove unused translations

* Make requireQuota check for null or 0

* Add unlimited quota change to the docs

* Fix user dto formatting

* Fix formating edit-user-form

* Regenerate open-api files

* Revert unnecessary i18n file changes

* Re-add newline en.json

* Resolve linting issues

* Fix formatting edit-user-form

* Re-add manifest
2025-04-07 09:22:56 -05:00
Weblate (bot)
30d33f968f chore(web): update translations (#17254)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Cyrl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/te/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/
Translation: Immich/immich

Co-authored-by: Bonov <bonov@mail.ru>
Co-authored-by: C D <chinnidiwakar5@gmail.com>
Co-authored-by: Daniel Correa Lobato <daniel@lobato.org>
Co-authored-by: Emre Saraçoğlu <hello@emresaracoglu.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: GND <jehende@jehende.fr>
Co-authored-by: Gocha Gulua <gocha.gulua@gmail.com>
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com>
Co-authored-by: Leigh van der merwe <palitu822@gmail.com>
Co-authored-by: LennartWeinzierl <lennart.weinzierl@gmx.de>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Luis Peregrina <luis.a.peregrina@gmail.com>
Co-authored-by: Matjaž T <matjaz@moj-svet.si>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Oleksandr Zhukov <aleksandr.a.zhukov@gmail.com>
Co-authored-by: Passawish Paktiwong <passawishp@outlook.com>
Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org>
Co-authored-by: Ruben Hensen <ruben.hensen@protonmail.com>
Co-authored-by: Runskrift <anders@rimfrost.nu>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Stein-Aksel Basma <stein-aksel@basma.no>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Tachibana Saza <tachibanasaza@proton.me>
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Co-authored-by: Theofilos Nikolaou <th.nikolaou@gmail.com>
Co-authored-by: User 123456789 <w0g-1es-5qq@cld3.com>
Co-authored-by: Vin <k3kelm4vw@mozmail.com>
Co-authored-by: aks-cadesign <aks@cadesignbase.dk>
Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org>
Co-authored-by: grgergo <gergo_g@proton.me>
Co-authored-by: late <late@users.noreply.hosted.weblate.org>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: przmkg <przemek@gasinski.eu>
Co-authored-by: thehijacker <thehijacker@gmail.com>
Co-authored-by: timmy61109 <qazzxcasdqwewsxedc@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: xuars <yago.rana.gayoso@gmail.com>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>
2025-04-07 12:28:59 +01:00
Ben McCann
31ee19181a chore(web): switch to writable derived one more place (#17399) 2025-04-06 22:05:47 -05:00
shenlong
b58a450152 fix(mobile): prevent unnecessary reload on multi user timeline (#17418)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-06 22:04:13 -05:00
Zlendy
b87ba6865b fix(web): Video memories are played at 100% volume instead of respecting user preference (#17424) 2025-04-06 22:03:19 -05:00
Lorenzo Montanari
565cceb323 docs: fixed a wrong path in CLI docs page (#17369)
docs: fixed a wrong path in CLI page
2025-04-06 22:00:10 -05:00
Matthew Momjian
f096dd0cc0 fix(deployment): warning for database on network share (#17412)
Update example.env
2025-04-06 10:09:54 +02:00
Daniel Dietzler
a3c3f9cfcb fix: reset memories on logout (#17405) 2025-04-05 13:09:56 -04:00
Mert
7b6a4be30c chore: use valkey (#17396)
use valkey
2025-04-04 17:46:46 -05:00
martin
720189e2c2 fix: improve initial loading time (#17379) 2025-04-04 17:04:52 -04:00
shenlong
dfab32c8f2 fix(mobile): ignore invalid store keys (#17370)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-03 22:35:50 -05:00
shenlong
60174d662d fix(mobile): bump isar maxSize (#17372) 2025-04-03 21:49:50 -05:00
bo0tzz
8b6a765e12 chore: remove demo box spec from README.md (#17367) 2025-04-03 18:09:29 -04:00
Zack Pollard
2248a38567 fix: missing index and geodata import process uses normal table (#17343)
* chore: add geodata indexes to table definitions

* chore: rename incorrectly name geodata index

* fix: import into geodata places with correct index names
2025-04-03 21:32:33 +01:00
shenlong
97e52c5156 refactor(mobile): device asset entity to use modified time (#17064)
* refactor: device asset entity to use modified time

* chore: cleanup

* refactor: remove album media dependency from hashservice

* refactor: return updated copy of asset

* add hash service tests

* chore: rename hash batch constants

* chore: log the number of assets processed during migration

* chore: more logs

* refactor: use lookup and more tests

* use sort approach

* refactor hash service to use for loop instead

* refactor: rename to getByIds

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-03 14:42:35 -05:00
Mert
e8b4ac0522 fix(web): use original image if web compatible (#17347)
* use original image if web compatible

* add e2e

* fix shared link handling

* handle redirect in e2e

* fix size not being passed to thumbnail url

* test fullsize in e2e
2025-04-03 09:01:41 -05:00
Alex
548298b0c7 chore: post release tasks (#17341) 2025-04-03 08:47:52 -04:00
Zack Pollard
40cff2893c fix: metadata service init failure should halt server startup (#17356) 2025-04-03 12:35:39 +01:00
Abhinav Valecha
b621281351 feat(server): Avoid face match with people born after file creation #4743 (#16918)
* feat(server): Avoid face matching with people born after file creation date (#4743)

* lint

* add medium tests for facial recognition

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-02 10:37:26 -05:00
Snowknight26
4336afd6bf fix(web): fix thumbnail hover link position (#16762)
* fix(web): don't show a scrollbar when hovering over the last row of images on the search page

* Format code

* Fix asset selection z-index

* Remove anchor overlay on mouseover

* Fix a test

* Fix merge

* Fix overlays

* fix merge

* fix stack thumbs in asset viewer

* fix dimmed bounds, animation

* lint

---------

Co-authored-by: Min Idzelis <min123@gmail.com>
2025-04-02 10:30:41 -05:00
shenlong
5a456ef277 feat(mobile): sqlite (#16861)
* refactor: user entity

* chore: rebase fixes

* refactor: remove int user Id

* refactor: migrate store userId from int to string

* refactor: rename uid to id

* feat: drift

* pr feedback

* refactor: move common overrides to mixin

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-02 08:58:17 -05:00
renovate[bot]
5cb5fcbf62 fix(deps): update machine-learning (#17286) 2025-04-02 03:57:19 +00:00
Alex
95e3b15776 fix(web): padding (#17320) 2025-04-01 23:32:54 -04:00
Ben
50335dc363 fix(web): menu button size (#17321)
Adjusting the menu button size, to match match the other buttons in the navigation bar.
2025-04-01 22:25:17 -05:00
Ben
6e62c09d84 feat(web): expand/collapse sidebar (#16768)
* feat: expand/collapse sidebar

* fix: general PR cleanup

- add skip link unit test
- remove unused tailwind styles
- adjust asset grid spacing
- fix event propogation

* fix: cleaning up event listeners

* fix: purchase modal and button on small screens

* fix: explicit tailwind classes

* fix: no animation on initial page load

* fix: sidebar spacing and reactivity

* chore: reverting changes to icons in nav and account info panel

* fix: remove left margin from the asset grid after merging in new timeline

* chore: extract search-bar changes for a separate PR

* fix: add margin to memories
2025-04-01 21:12:04 -05:00
github-actions
00d3b8d83a chore: version v1.131.3 2025-04-01 22:27:52 +00:00
Mert
d911b76c08 fix(server): use stat instead of exifinfo for file date metadata (#17311)
* use stat instead of filecreatedate

* update tests

* unused import
2025-04-01 17:24:07 -05:00
shenlong
502854cee1 fix(server): remove stacks on stack.deleteAll (#17288)
* fix(server): delete all stacks on deleteAll

* remove unnecessary assets update

* generate sql

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-04-01 17:20:43 -05:00
Mert
59e5c82569 fix(server): full-size images not migrated or deleted correctly (#17308)
* fix file path logic

* update tests

* add empty array fallback just in case for now
2025-04-01 18:11:46 -04:00
575 changed files with 16505 additions and 7509 deletions

View File

@@ -1,4 +1,4 @@
ARG BASEIMAGE=mcr.microsoft.com/devcontainers/typescript-node:22@sha256:2ef23730ec68d8511ec8e6e0b82550ca728b256805d81f60ed890f3bfb21cfb9
ARG BASEIMAGE=mcr.microsoft.com/devcontainers/typescript-node:22@sha256:a20b8a3538313487ac9266875bbf733e544c1aa2091df2bb99ab592a6d4f7399
FROM ${BASEIMAGE}
# Flutter SDK

3
.gitattributes vendored
View File

@@ -6,6 +6,9 @@ mobile/openapi/**/*.dart linguist-generated=true
mobile/lib/**/*.g.dart -diff -merge
mobile/lib/**/*.g.dart linguist-generated=true
mobile/lib/**/*.drift.dart -diff -merge
mobile/lib/**/*.drift.dart linguist-generated=true
open-api/typescript-sdk/fetch-client.ts -diff -merge
open-api/typescript-sdk/fetch-client.ts linguist-generated=true

View File

@@ -55,7 +55,7 @@ jobs:
with:
ref: ${{ steps.get-ref.outputs.ref }}
- uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
with:
distribution: 'zulu'
java-version: '17'

View File

@@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './cli/.nvmrc'
registry-url: 'https://registry.npmjs.org'

View File

@@ -46,7 +46,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3
uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,7 +59,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3
uses: github/codeql-action/autobuild@45775bd8235c68ba998cffa5171334d58593da47 # v3
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -72,6 +72,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3
uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3
with:
category: '/language:${{matrix.language}}'

View File

@@ -44,7 +44,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './docs/.nvmrc'

View File

@@ -13,7 +13,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -25,7 +25,7 @@ jobs:
token: ${{ steps.generate-token.outputs.token }}
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './server/.nvmrc'

View File

@@ -31,7 +31,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
@@ -70,7 +70,7 @@ jobs:
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2
with:
app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}

View File

@@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './open-api/typescript-sdk/.nvmrc'
registry-url: 'https://registry.npmjs.org'

View File

@@ -67,7 +67,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './server/.nvmrc'
@@ -104,7 +104,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './cli/.nvmrc'
@@ -145,7 +145,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './cli/.nvmrc'
@@ -179,7 +179,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './web/.nvmrc'
@@ -224,7 +224,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './e2e/.nvmrc'
@@ -263,7 +263,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './server/.nvmrc'
@@ -290,7 +290,7 @@ jobs:
submodules: 'recursive'
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './e2e/.nvmrc'
@@ -332,7 +332,7 @@ jobs:
submodules: 'recursive'
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './e2e/.nvmrc'
@@ -420,7 +420,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './.github/.nvmrc'
@@ -452,7 +452,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './server/.nvmrc'
@@ -507,7 +507,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Setup Node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: './server/.nvmrc'
@@ -518,7 +518,7 @@ jobs:
run: npm run build
- name: Run existing migrations
run: npm run typeorm:migrations:run
run: npm run migrations:run
- name: Test npm run schema:reset command works
run: npm run typeorm:schema:reset
@@ -532,7 +532,7 @@ jobs:
id: verify-changed-files
with:
files: |
server/src/migrations/
server/src
- name: Verify migration files have not changed
if: steps.verify-changed-files.outputs.files_changed == 'true'
run: |

View File

@@ -39,6 +39,7 @@
],
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.ts": "${capture}.spec.ts,${capture}.mock.ts"
"*.ts": "${capture}.spec.ts,${capture}.mock.ts",
"*.dart": "${capture}.g.dart,${capture}.gr.dart,${capture}.drift.dart"
}
}

View File

@@ -61,9 +61,7 @@
## Demo
Access the demo [here](https://demo.immich.app). The demo is running on a Free-tier Oracle VM in Amsterdam with a 2.4Ghz quad-core ARM64 CPU and 24GB RAM.
For the mobile app, you can use `https://demo.immich.app` for the `Server Endpoint URL`
Access the demo [here](https://demo.immich.app). For the mobile app, you can use `https://demo.immich.app` for the `Server Endpoint URL`.
### Login credentials

54
cli/package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@immich/cli",
"version": "2.2.60",
"version": "2.2.61",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@immich/cli",
"version": "2.2.60",
"version": "2.2.61",
"license": "GNU Affero General Public License version 3",
"dependencies": {
"chokidar": "^4.0.3",
@@ -27,7 +27,7 @@
"@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1",
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"@vitest/coverage-v8": "^3.0.0",
"byte-size": "^9.0.0",
"cli-progress": "^3.12.0",
@@ -54,14 +54,14 @@
},
"../open-api/typescript-sdk": {
"name": "@immich/sdk",
"version": "1.131.2",
"version": "1.131.3",
"dev": true,
"license": "GNU Affero General Public License version 3",
"dependencies": {
"@oazapfts/runtime": "^1.0.2"
},
"devDependencies": {
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"typescript": "^5.3.3"
}
},
@@ -1012,9 +1012,9 @@
}
},
"node_modules/@pkgr/core": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz",
"integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==",
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.1.tgz",
"integrity": "sha512-VzgHzGblFmUeBmmrk55zPyrQIArQN4vujc9shWytaPdB3P7qhi0cpaiKIr7tlCmFv2lYUwnLospIqjL9ZSAhhg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1362,13 +1362,13 @@
}
},
"node_modules/@types/node": {
"version": "22.13.15",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.15.tgz",
"integrity": "sha512-imAbQEEbVni6i6h6Bd5xkCRwLqFc8hihCsi2GbtDoAtUcAFQ6Zs4pFXTZUUbroTkXdImczWM9AI8eZUuybXE3w==",
"version": "22.14.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
"integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
"undici-types": "~6.21.0"
}
},
"node_modules/@types/normalize-package-data": {
@@ -2297,14 +2297,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz",
"integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==",
"version": "5.2.6",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz",
"integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.10.2"
"synckit": "^0.11.0"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -3884,20 +3884,20 @@
}
},
"node_modules/synckit": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.3.tgz",
"integrity": "sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==",
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.3.tgz",
"integrity": "sha512-szhWDqNNI9etJUvbZ1/cx1StnZx8yMmFxme48SwR4dty4ioSY50KEZlpv0qAfgc1fpRzuh9hBXEzoCpJ779dLg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pkgr/core": "^0.2.0",
"@pkgr/core": "^0.2.1",
"tslib": "^2.8.1"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/unts"
"url": "https://opencollective.com/synckit"
}
},
"node_modules/test-exclude": {
@@ -4073,9 +4073,9 @@
}
},
"node_modules/undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"dev": true,
"license": "MIT"
},
@@ -4144,9 +4144,9 @@
}
},
"node_modules/vite": {
"version": "6.2.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz",
"integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==",
"version": "6.2.6",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz",
"integrity": "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==",
"dev": true,
"license": "MIT",
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "@immich/cli",
"version": "2.2.60",
"version": "2.2.61",
"description": "Command Line Interface (CLI) for Immich",
"type": "module",
"exports": "./dist/index.js",
@@ -21,7 +21,7 @@
"@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1",
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"@vitest/coverage-v8": "^3.0.0",
"byte-size": "^9.0.0",
"cli-progress": "^3.12.0",

View File

@@ -116,7 +116,7 @@ services:
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
healthcheck:
test: redis-cli ping || exit 1

View File

@@ -56,7 +56,7 @@ services:
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
healthcheck:
test: redis-cli ping || exit 1
restart: always
@@ -102,7 +102,7 @@ services:
command: [ './run.sh', '-disable-reporting' ]
ports:
- 3000:3000
image: grafana/grafana:11.5.2-ubuntu@sha256:8b5858c447e06fd7a89006b562ba7bba7c4d5813600c7982374c41852adefaeb
image: grafana/grafana:11.6.0-ubuntu@sha256:fd8fa48213c624e1a95122f1d93abbf1cf1cbe85fc73212c1e599dbd76c63ff8
volumes:
- grafana-data:/var/lib/grafana

View File

@@ -49,7 +49,7 @@ services:
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
healthcheck:
test: redis-cli ping || exit 1
restart: always

View File

@@ -2,7 +2,8 @@
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -31,7 +31,7 @@ Admin can send a welcome email if the Email option is set, you can learn here ho
Admin can specify the storage quota for the user as the instance's admin; once the limit is reached, the user won't be able to upload to the instance anymore.
In order to select a storage quota, click on the pencil icon and enter the storage quota in GiB. You can choose an unlimited quota using the value 0 (default).
In order to select a storage quota, click on the pencil icon and enter the storage quota in GiB. You can choose an unlimited quota by leaving it empty (default).
:::tip
The system administrator can see the usage quota percentage of all users in Server Stats page.

View File

@@ -63,6 +63,13 @@ If you only want to do web development connected to an existing, remote backend,
IMMICH_SERVER_URL=https://demo.immich.app/ npm run dev
```
If you're using PowerShell on Windows you may need to set the env var separately like so:
```powershell
$env:IMMICH_SERVER_URL = "https://demo.immich.app/"
npm run dev
```
#### `@immich/ui`
To see local changes to `@immich/ui` in Immich, do the following:

View File

@@ -112,7 +112,7 @@ You begin by authenticating to your Immich server. For instance:
immich login http://192.168.1.216:2283/api HFEJ38DNSDUEG
```
This will store your credentials in a `auth.yml` file in the configuration directory which defaults to `~/.config/`. The directory can be set with the `-d` option or the environment variable `IMMICH_CONFIG_DIR`. Please keep the file secure, either by performing the logout command after you are done, or deleting it manually.
This will store your credentials in a `auth.yml` file in the configuration directory which defaults to `~/.config/immich/`. The directory can be set with the `-d` option or the environment variable `IMMICH_CONFIG_DIR`. Please keep the file secure, either by performing the logout command after you are done, or deleting it manually.
Once you are authenticated, you can upload assets to your Immich server.

View File

@@ -70,3 +70,6 @@ If you get an error `can't set healthcheck.start_interval as feature require Doc
## Next Steps
Read the [Post Installation](/docs/install/post-install.mdx) steps and [upgrade instructions](/docs/install/upgrading.md).
[compose-file]: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
[env-file]: https://github.com/immich-app/immich/releases/latest/download/example.env

View File

@@ -24,9 +24,6 @@ To clean up disk space, the old version's obsolete container images can be delet
docker image prune
```
[compose-file]: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
[env-file]: https://github.com/immich-app/immich/releases/latest/download/example.env
[watchtower]: https://containrrr.dev/watchtower/
[breaking]: https://github.com/immich-app/immich/discussions?discussions_q=label%3Achangelog%3Abreaking-change+sort%3Adate_created
[container-auth]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry
[releases]: https://github.com/immich-app/immich/releases

View File

@@ -1,4 +1,8 @@
[
{
"label": "v1.131.3",
"url": "https://v1.131.3.archive.immich.app"
},
{
"label": "v1.131.2",
"url": "https://v1.131.2.archive.immich.app"

58
e2e/package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "immich-e2e",
"version": "1.131.2",
"version": "1.131.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "immich-e2e",
"version": "1.131.2",
"version": "1.131.3",
"license": "GNU Affero General Public License version 3",
"devDependencies": {
"@eslint/eslintrc": "^3.1.0",
@@ -15,7 +15,7 @@
"@immich/sdk": "file:../open-api/typescript-sdk",
"@playwright/test": "^1.44.1",
"@types/luxon": "^3.4.2",
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"@types/oidc-provider": "^8.5.1",
"@types/pg": "^8.11.0",
"@types/pngjs": "^6.0.4",
@@ -44,7 +44,7 @@
},
"../cli": {
"name": "@immich/cli",
"version": "2.2.60",
"version": "2.2.61",
"dev": true,
"license": "GNU Affero General Public License version 3",
"dependencies": {
@@ -66,7 +66,7 @@
"@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1",
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"@vitest/coverage-v8": "^3.0.0",
"byte-size": "^9.0.0",
"cli-progress": "^3.12.0",
@@ -93,14 +93,14 @@
},
"../open-api/typescript-sdk": {
"name": "@immich/sdk",
"version": "1.131.2",
"version": "1.131.3",
"dev": true,
"license": "GNU Affero General Public License version 3",
"dependencies": {
"@oazapfts/runtime": "^1.0.2"
},
"devDependencies": {
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"typescript": "^5.3.3"
}
},
@@ -1088,9 +1088,9 @@
}
},
"node_modules/@pkgr/core": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz",
"integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==",
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.1.tgz",
"integrity": "sha512-VzgHzGblFmUeBmmrk55zPyrQIArQN4vujc9shWytaPdB3P7qhi0cpaiKIr7tlCmFv2lYUwnLospIqjL9ZSAhhg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1566,9 +1566,9 @@
}
},
"node_modules/@types/luxon": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.6.0.tgz",
"integrity": "sha512-RtEj20xRyG7cRp142MkQpV3GRF8Wo2MtDkKLz65MQs7rM1Lh8bz+HtfPXCCJEYpnDFu6VwAq/Iv2Ikyp9Jw/hw==",
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.6.2.tgz",
"integrity": "sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==",
"dev": true,
"license": "MIT"
},
@@ -1585,13 +1585,13 @@
"dev": true
},
"node_modules/@types/node": {
"version": "22.13.15",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.15.tgz",
"integrity": "sha512-imAbQEEbVni6i6h6Bd5xkCRwLqFc8hihCsi2GbtDoAtUcAFQ6Zs4pFXTZUUbroTkXdImczWM9AI8eZUuybXE3w==",
"version": "22.14.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
"integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
"undici-types": "~6.21.0"
}
},
"node_modules/@types/normalize-package-data": {
@@ -3094,14 +3094,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz",
"integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==",
"version": "5.2.6",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz",
"integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.10.2"
"synckit": "^0.11.0"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -6039,20 +6039,20 @@
}
},
"node_modules/synckit": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.3.tgz",
"integrity": "sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==",
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.3.tgz",
"integrity": "sha512-szhWDqNNI9etJUvbZ1/cx1StnZx8yMmFxme48SwR4dty4ioSY50KEZlpv0qAfgc1fpRzuh9hBXEzoCpJ779dLg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pkgr/core": "^0.2.0",
"@pkgr/core": "^0.2.1",
"tslib": "^2.8.1"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/unts"
"url": "https://opencollective.com/synckit"
}
},
"node_modules/tar": {
@@ -6316,9 +6316,9 @@
}
},
"node_modules/undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"dev": true,
"license": "MIT"
},

View File

@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
"version": "1.131.2",
"version": "1.131.3",
"description": "",
"main": "index.js",
"type": "module",
@@ -25,7 +25,7 @@
"@immich/sdk": "file:../open-api/typescript-sdk",
"@playwright/test": "^1.44.1",
"@types/luxon": "^3.4.2",
"@types/node": "^22.13.14",
"@types/node": "^22.14.0",
"@types/oidc-provider": "^8.5.1",
"@types/pg": "^8.11.0",
"@types/pngjs": "^6.0.4",

View File

@@ -1141,7 +1141,7 @@ describe('/asset', () => {
fNumber: 8,
focalLength: 97,
iso: 100,
lensModel: 'E PZ 18-105mm F4 G OSS',
lensModel: 'Sony E PZ 18-105mm F4 G OSS',
fileSizeInByte: 25_001_984,
dateTimeOriginal: '2016-09-27T10:51:44+00:00',
orientation: '1',
@@ -1163,7 +1163,7 @@ describe('/asset', () => {
fNumber: 22,
focalLength: 25,
iso: 100,
lensModel: 'E 25mm F2',
lensModel: 'Zeiss Batis 25mm F2',
fileSizeInByte: 49_512_448,
dateTimeOriginal: '2016-01-08T14:08:01+00:00',
orientation: '1',
@@ -1234,7 +1234,7 @@ describe('/asset', () => {
focalLength: 18.3,
iso: 100,
latitude: 36.613_24,
lensModel: 'GR LENS 18.3mm F2.8',
lensModel: '18.3mm F2.8',
longitude: -121.897_85,
make: 'RICOH IMAGING COMPANY, LTD.',
model: 'RICOH GR III',

View File

@@ -246,15 +246,7 @@ describe('/shared-links', () => {
const { status, body } = await request(app).get('/shared-links/me').query({ key: linkWithMetadata.key });
expect(status).toBe(200);
expect(body.assets).toHaveLength(1);
expect(body.assets[0]).toEqual(
expect.objectContaining({
originalFileName: 'example.png',
localDateTime: expect.any(String),
fileCreatedAt: expect.any(String),
exifInfo: expect.any(Object),
}),
);
expect(body.assets).toHaveLength(0);
expect(body.album).toBeDefined();
});

View File

@@ -8,12 +8,14 @@ function imageLocator(page: Page) {
test.describe('Photo Viewer', () => {
let admin: LoginResponseDto;
let asset: AssetMediaResponseDto;
let rawAsset: AssetMediaResponseDto;
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
asset = await utils.createAsset(admin.accessToken);
rawAsset = await utils.createAsset(admin.accessToken, { assetData: { filename: 'test.arw' } });
});
test.beforeEach(async ({ context, page }) => {
@@ -36,7 +38,7 @@ test.describe('Photo Viewer', () => {
await expect(page.getByTestId('loading-spinner')).toBeVisible();
});
test('loads high resolution photo when zoomed', async ({ page }) => {
test('loads original photo when zoomed', async ({ page }) => {
await page.goto(`/photos/${asset.id}`);
await expect.poll(async () => await imageLocator(page).getAttribute('src')).toContain('thumbnail');
const box = await imageLocator(page).boundingBox();
@@ -44,6 +46,17 @@ test.describe('Photo Viewer', () => {
const { x, y, width, height } = box!;
await page.mouse.move(x + width / 2, y + height / 2);
await page.mouse.wheel(0, -1);
await expect.poll(async () => await imageLocator(page).getAttribute('src')).toContain('original');
});
test('loads fullsize image when zoomed and original is web-incompatible', async ({ page }) => {
await page.goto(`/photos/${rawAsset.id}`);
await expect.poll(async () => await imageLocator(page).getAttribute('src')).toContain('thumbnail');
const box = await imageLocator(page).boundingBox();
expect(box).toBeTruthy();
const { x, y, width, height } = box!;
await page.mouse.move(x + width / 2, y + height / 2);
await page.mouse.wheel(0, -1);
await expect.poll(async () => await imageLocator(page).getAttribute('src')).toContain('fullsize');
});

View File

@@ -48,7 +48,7 @@ test.describe('Shared Links', () => {
await page.waitForSelector('[data-group] svg');
await page.getByRole('checkbox').click();
await page.getByRole('button', { name: 'Download' }).click();
await page.getByText('DOWNLOADING', { exact: true }).waitFor();
await page.waitForEvent('download');
});
test('download all from shared link', async ({ page }) => {
@@ -56,6 +56,7 @@ test.describe('Shared Links', () => {
await page.getByRole('heading', { name: 'Test Album' }).waitFor();
await page.getByRole('button', { name: 'Download' }).click();
await page.getByText('DOWNLOADING', { exact: true }).waitFor();
await page.waitForEvent('download');
});
test('enter password for a shared link', async ({ page }) => {

View File

@@ -162,7 +162,6 @@
"no_pattern_added": "لم يتم إضافة أي أنماط",
"note_apply_storage_label_previous_assets": "ملاحظة: لتطبيق تسمية التخزين على المحتويات التي تم رفعها سابقًا، قم بتشغيل",
"note_cannot_be_changed_later": "ملاحظة: لا يمكن تغيير هذا لاحقًا!",
"note_unlimited_quota": "ملاحظة: أدخل 0 للحصول على حصة غير محدودة",
"notification_email_from_address": "عنوان المرسل",
"notification_email_from_address_description": "عنوان البريد الإلكتروني للمرسل، على سبيل المثال: \"Immich Photo Server noreply@example.com\"",
"notification_email_host_description": "مضيف خادم البريد الإلكتروني (مثلًا: smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "قم بإنشاء ألبوم لمشاركة الصور ومقاطع الفيديو مع الأشخاص في شبكتك",
"not_in_any_album": "ليست في أي ألبوم",
"note_apply_storage_label_to_previously_uploaded assets": "ملاحظة: لتطبيق تسمية التخزين على المحتويات التي تم رفعها مسبقًا، قم بتشغيل",
"note_unlimited_quota": "ملاحظة: أدخل 0 للحصة غير المحدودة",
"notes": "ملاحظات",
"notification_toggle_setting_description": "تفعيل إشعارات البريد الإلكتروني",
"notifications": "إشعارات",

View File

@@ -162,7 +162,6 @@
"no_pattern_added": "Няма добавен модел",
"note_apply_storage_label_previous_assets": "Забележка: За да приложите етикета за съхранение към предварително качени файлове, стартирайте",
"note_cannot_be_changed_later": "ВНИМАНИЕ: Това не може да бъде променено по-късно!",
"note_unlimited_quota": "Бележка: Въведете 0 за да нямате лимит на квотата",
"notification_email_from_address": "От адрес",
"notification_email_from_address_description": "Електронна поща на изпращача, например: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Хост на сървъра за електронна поща (например: smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "Създайте албум, за да споделяте снимки и видеоклипове с хората в мрежата си",
"not_in_any_album": "Не е в никой албум",
"note_apply_storage_label_to_previously_uploaded assets": "Забележка: За да приложите етикета за съхранение към предварително качени активи, стартирайте",
"note_unlimited_quota": "Забележка: Въведете 0 за неограничена квота",
"notes": "Бележки",
"notification_toggle_setting_description": "Активиране на имейл известия",
"notifications": "Известия",
@@ -1374,4 +1372,4 @@
"yes": "Да",
"you_dont_have_any_shared_links": "Нямате споделени връзки",
"zoom_image": "Увеличаване на изображението"
}
}

View File

@@ -1,20 +1,22 @@
{
"account": "",
"account_settings": "",
"acknowledge": "",
"about": "abaot",
"account": "Akaont",
"account_settings": "Seting blo Akaont",
"acknowledge": "Akcept",
"action": "",
"actions": "",
"active": "",
"activity": "",
"add": "",
"add_a_description": "",
"add_a_location": "",
"add_a_name": "",
"add_a_title": "",
"add_exclusion_pattern": "",
"add_import_path": "",
"add_location": "",
"add_more_users": "",
"active": "Stap Mekem",
"activity": "Wanem hemi Mekem",
"activity_changed": "WAnem hemi Mekem hemi",
"add": "Ad",
"add_a_description": "Putem Description blo hem",
"add_a_location": "Putem place blo hem",
"add_a_name": "Putem nam blo hem",
"add_a_title": "Putem wan name blo hem",
"add_exclusion_pattern": "Putem wan paten wae hemi karem aot",
"add_import_path": "Putem wan pat blo import",
"add_location": "Putem wan place blo hem",
"add_more_users": "Putem mor man",
"add_partner": "",
"add_path": "",
"add_photos": "",
@@ -116,7 +118,6 @@
"no_pattern_added": "",
"note_apply_storage_label_previous_assets": "",
"note_cannot_be_changed_later": "",
"note_unlimited_quota": "",
"notification_email_from_address": "",
"notification_email_from_address_description": "",
"notification_email_host_description": "",
@@ -612,7 +613,6 @@
"no_shared_albums_message": "",
"not_in_any_album": "",
"note_apply_storage_label_to_previously_uploaded assets": "",
"note_unlimited_quota": "",
"notes": "",
"notification_toggle_setting_description": "",
"notifications": "",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Força l'actualització de tots els fitxers de les biblioteques",
"image_format": "Format",
"image_format_description": "WebP genera fitxers més petits que JPEG, però codifica més lentament.",
"image_fullsize_description": "Imatges a tamany complet sense metadades, utilitzades quan es fa zoom",
"image_fullsize_enabled": "Activa la generació d'imatges a tamany complet",
"image_fullsize_enabled_description": "Genera imatges a tamany complet per formats no compatibles amb la web. Quan \"Prefereix vista prèvia incrustada\" està activat, les vistes prèvies incrustades s'utilitzen directament sense conversió. No afecta els formats compatibles amb la web com JPEG.",
"image_fullsize_quality_description": "De 1 a 100, qualitat de l'imatge a tamany complet. Un valor més alt és millor, però resulta en fitxers de major tamany.",
"image_fullsize_title": "Configuració d'imatges a tamany complet",
"image_prefer_embedded_preview": "Prefereix vista prèvia incrustada",
"image_prefer_embedded_preview_setting_description": "Empra vista prèvia incrustada en les fotografies RAW com a entrada per al processament d'imatge, quan sigui possible. Aquesta acció pot produir colors més acurats en algunes imatges, però la qualitat de la vista prèvia depèn de la càmera i la imatge pot tenir més artefactes de compressió.",
"image_prefer_wide_gamut": "Prefereix àmplia gamma",
@@ -162,7 +167,6 @@
"no_pattern_added": "Cap patró aplicat",
"note_apply_storage_label_previous_assets": "Nota: Per aplicar l'etiquetatge d'emmagatzematge a elements pujats prèviament, executeu la",
"note_cannot_be_changed_later": "NOTA: Això és irreversible!",
"note_unlimited_quota": "Nota: Intruduïu 0 per a quota il·limitada",
"notification_email_from_address": "Des de l'adreça",
"notification_email_from_address_description": "Adreça de correu electrònic del remitent, per exemple: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Amfitrió del servidor de correu electrònic (p.ex. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Vídeos en bucle",
"loop_videos_description": "Habilita la reproducció en bucle del vídeo en els detalls.",
"main_branch_warning": "Esteu usant una versió de desenvolupaent. Recomanem fer servir una versió publicada!",
"main_menu": "Menú principal",
"make": "Fabricant",
"manage_shared_links": "Administrar enllaços compartits",
"manage_sharing_with_partners": "Gestiona la compartició amb els companys",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Creeu un àlbum per compartir fotos i vídeos amb persones a la vostra xarxa",
"not_in_any_album": "En cap àlbum",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: per aplicar l'etiqueta d'emmagatzematge als actius penjats anteriorment, executeu el",
"note_unlimited_quota": "Nota: Intruduïu 0 per a quota il·limitada",
"notes": "Notes",
"notification_toggle_setting_description": "Activa les notificacions per correu electrònic",
"notifications": "Notificacions",
@@ -987,6 +991,7 @@
"permanently_deleted_asset": "Element eliminat permanentment",
"permanently_deleted_assets_count": "{count, plural, one {S'ha eliminat # element} other {S'han eliminat # elements}} permanentment",
"person": "Persona",
"person_birthdate": "Nascut a {date}",
"person_hidden": "{name}{hidden, select, true { (ocultat)} other {}}",
"photo_shared_all_users": "Sembla que has compartit les teves fotos amb tots els usuaris o no tens cap usuari amb qui compartir-les.",
"photos": "Fotos",
@@ -1078,22 +1083,24 @@
"remove_from_album": "Treu de l'àlbum",
"remove_from_favorites": "Eliminar dels preferits",
"remove_from_shared_link": "Eliminar de l'enllaç compartit",
"remove_memory": "Eliminar memòria",
"remove_photo_from_memory": "Traieu la foto d'aquesta memòria",
"remove_url": "Eliminar URL",
"remove_user": "Eliminar l'usuari",
"removed_api_key": "Eliminada la clau d'API: {name}",
"removed_from_archive": "Eliminat de l'arxiu",
"removed_from_favorites": "Eliminat dels preferits",
"removed_from_favorites_count": "{count, plural, other {# eliminats}} dels preferits",
"removed_memory": "Eliminat memòria",
"removed_photo_from_memory": "Eliminat foto de memòria",
"removed_memory": "Memòria esborrada",
"removed_photo_from_memory": "Eliminat foto de la memòria",
"removed_tagged_assets": "Etiqueta eliminada de {count, plural, one {# actiu} other {# actius}}",
"rename": "Canviar nom",
"repair": "Reparació",
"repair_no_results_message": "Els fitxers sense seguiment i que falten es mostraran aquí",
"replace_with_upload": "Substituir amb una pujada",
"repair_no_results_message": "Els fitxers sense seguiment o que falten es mostraran aquí",
"replace_with_upload": "Substitueix amb una pujada",
"repository": "Repositori",
"require_password": "Requereix contrasenya",
"require_user_to_change_password_on_first_login": "Requerir que l'usuari canviï la contrasenya en el primer inici de sessió",
"require_user_to_change_password_on_first_login": "Demanar que l'usuari canviï la contrasenya en el primer inici de sessió",
"rescan": "Tornar a escanejar",
"reset": "Restablir",
"reset_password": "Restablir contrasenya",
@@ -1110,7 +1117,7 @@
"review_duplicates": "Revisar duplicats",
"role": "Rol",
"role_editor": "Editor",
"role_viewer": "Visualitzador",
"role_viewer": "Visor",
"save": "Desa",
"saved_api_key": "Clau d'API guardada",
"saved_profile": "Perfil guardat",
@@ -1148,6 +1155,7 @@
"searching_locales": "S'estan cercant localitzacions...",
"second": "Segon",
"see_all_people": "Veure totes les persones",
"select": "Selecciona",
"select_album_cover": "Seleccionar la portada de l'àlbum",
"select_all": "Selecciona-ho tot",
"select_all_duplicates": "Seleccioneu tots els duplicats",
@@ -1362,6 +1370,7 @@
"view_name": "Veure",
"view_next_asset": "Mostra el següent element",
"view_previous_asset": "Mostra l'element anterior",
"view_qr_code": "Veure codi QR",
"view_stack": "Veure la pila",
"visibility_changed": "La visibilitat ha canviat per {count, plural, one {# persona} other {# persones}}",
"waiting": "Esperant",
@@ -1374,4 +1383,4 @@
"yes": "Sí",
"you_dont_have_any_shared_links": "No tens cap enllaç compartit",
"zoom_image": "Ampliar Imatge"
}
}

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Vynucení obnovy všech souborů knihovny",
"image_format": "Formát",
"image_format_description": "WebP vytváří menší soubory než JPEG, ale je pomalejší při kódování.",
"image_fullsize_description": "Obrázek v plné velikosti s odstraněnými metadaty, použito při přiblížení",
"image_fullsize_enabled": "Povolit generování obrázků v plné velikosti",
"image_fullsize_enabled_description": "Generovat obrázky v plné velikosti pro formáty, které nejsou vhodné pro web. Pokud je povolena možnost „Preferovat vložený náhled“, budou přímo použity vložené náhledy bez převodu. Neovlivňuje formáty vhodné pro web, jako je JPEG.",
"image_fullsize_quality_description": "Kvalita obrázku v plné velikosti od 1 do 100. Vyšší je lepší, ale vytváří větší soubory.",
"image_fullsize_title": "Nastavení obrázků v plné velikosti",
"image_prefer_embedded_preview": "Preferovat vložený náhled",
"image_prefer_embedded_preview_setting_description": "Použít vložené náhledy z RAW fotografií jako vstup pro zpracování snímků, pokud jsou k dispozici. U některých snímků tak lze dosáhnout přesnějších barev, ale kvalita náhledu závisí na fotoaparátu a snímek může obsahovat více kompresních artefaktů.",
"image_prefer_embedded_preview_setting_description": "Použít vložené náhledy z RAW fotografií jako vstup pro zpracování snímků a pokud jsou k dispozici. U některých snímků tak lze dosáhnout přesnějších barev, ale kvalita náhledu závisí na fotoaparátu a snímek může obsahovat více kompresních artefaktů.",
"image_prefer_wide_gamut": "Preferovat široký gamut",
"image_prefer_wide_gamut_setting_description": "Použít Display P3 pro miniatury. To lépe zachovává živost obrázků s širokým barevným prostorem, ale obrázky se mohou na starých zařízeních se starou verzí prohlížeče zobrazovat jinak. sRGB obrázky jsou ponechány jako sRGB, aby se zabránilo posunům barev.",
"image_preview_description": "Středně velký obrázek se zbavenými metadaty, který se používá při prohlížení jedné položky a pro strojové učení",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nebyl přidán žádný vzor",
"note_apply_storage_label_previous_assets": "Upozornění: Pro uplatnění Štítku úložiště na dříve nahrané položky spusťte",
"note_cannot_be_changed_later": "UPOZORNĚNÍ: Toto nelze později změnit!",
"note_unlimited_quota": "Upozornění: Pro neomezenou kvótu zadejte 0",
"notification_email_from_address": "Adresa Od",
"notification_email_from_address_description": "E-mailová adresa odesílatele, např.: „Immich Photo Server <noreply@example.com>“",
"notification_email_host_description": "Adresa e-mailového serveru (např. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Videa ve smyčce",
"loop_videos_description": "Povolit automatickou smyčku videa v prohlížeči.",
"main_branch_warning": "Používáte vývojovou verzi; důrazně doporučujeme používat verzi z vydání!",
"main_menu": "Hlavní nabídka",
"make": "Výrobce",
"manage_shared_links": "Spravovat sdílené odkazy",
"manage_sharing_with_partners": "Správa sdílení s partnery",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Vytvořte si album a sdílejte fotografie a videa s lidmi ve své síti",
"not_in_any_album": "Bez alba",
"note_apply_storage_label_to_previously_uploaded assets": "Upozornění: Chcete-li použít štítek úložiště na dříve nahrané položky, spusťte příkaz",
"note_unlimited_quota": "Poznámka: Chcete-li použít štítek úložiště na dříve nahrané položky, spusťte příkaz",
"notes": "Poznámky",
"notification_toggle_setting_description": "Povolení e-mailových oznámení",
"notifications": "Oznámení",
@@ -965,9 +969,9 @@
"password_required": "Vyžadováno heslo",
"password_reset_success": "Úspěšné obnovení hesla",
"past_durations": {
"days": "{days, plural, one {Včera} few {Minulé # dny} other {Minulých # dní}}",
"hours": "{hours, plural, one {Minulou hodinu} few {Minulé # hodiny} other {Minulých # hodin}}",
"years": "{years, plural, one {Minulý rok} few {Minulé # roky} other {Minulých # let}}"
"days": "{days, plural, one {Včera} few {Poslední # dny} other {Posledních # dní}}",
"hours": "{hours, plural, one {Poslední hodinu} few {Poslední # hodiny} other {Posledních # hodin}}",
"years": "{years, plural, one {Poslední rok} few {Poslední # roky} other {Posledních # let}}"
},
"path": "Cesta",
"pattern": "Vzor",
@@ -1234,7 +1238,7 @@
"sort_oldest": "Nejstarší fotka",
"sort_people_by_similarity": "Seřadit lidi podle podobnosti",
"sort_recent": "Nejnovější fotka",
"sort_title": "Název",
"sort_title": "Název alba",
"source": "Zdroj",
"stack": "Seskupit",
"stack_duplicates": "Seskupit duplicity",
@@ -1366,6 +1370,7 @@
"view_name": "Zobrazit",
"view_next_asset": "Zobrazit další položku",
"view_previous_asset": "Zobrazit předchozí položku",
"view_qr_code": "Zobrazit QR kód",
"view_stack": "Zobrazit seskupení",
"visibility_changed": "Viditelnost změněna u {count, plural, one {# osoby} few {# osob} other {# lidí}}",
"waiting": "Čekající",

View File

@@ -162,7 +162,6 @@
"no_pattern_added": "Intet mønster tilføjet",
"note_apply_storage_label_previous_assets": "Bemærk: For at anvende Lagringsmærkatet på tidligere uploadede mediefiler, kør",
"note_cannot_be_changed_later": "BEMÆRK: Dette kan ikke ændres senere!",
"note_unlimited_quota": "Bemærk: Indsæt 0 for uendelig kvote",
"notification_email_from_address": "Fra adressse",
"notification_email_from_address_description": "Afsenderemailadresse, for eksempel: \"Immich Billedserver <noreply@example.com>\"",
"notification_email_host_description": "Host af emailserver (fx smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "Opret et album for at dele billeder og videoer med personer i dit netværk",
"not_in_any_album": "Ikke i noget album",
"note_apply_storage_label_to_previously_uploaded assets": "Bemærk: For at anvende Lagringsmærkat på tidligere uploadede medier, kør",
"note_unlimited_quota": "Bemærk: Indsæt 0 for ubegrænset kvote",
"notes": "Noter",
"notification_toggle_setting_description": "Aktivér emailnotifikationer",
"notifications": "Notifikationer",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Erneutes Laden aller Bibliotheksdateien erzwingen",
"image_format": "Format",
"image_format_description": "WebP erzeugt kleinere Dateien als JPEG, ist aber etwas langsamer in der Erstellung.",
"image_fullsize_description": "Hochauflösendes Bild mit entfernten Metadaten, das beim Zoomen verwendet wird",
"image_fullsize_enabled": "Hochauflösende Vorschaubilder aktivieren",
"image_fullsize_enabled_description": "Generiere Hochauflösende Vorschaubilder in Originalauflösung für nicht web-kompatibel Formate. Wenn \"Eingebettete Vorschau bevorzugen\" aktiviert ist, werden eingebettete Vorschaubilder direkt verwendet. Hat keinen Einfluss auf web-kompatible Formate wie JPEG.",
"image_fullsize_quality_description": "Qualität der Hochauflösenden Vorschaubilder von 1-100. Höher ist besser, erzeugt aber größere Dateien.",
"image_fullsize_title": "Hochauflösende Vorschaueinstellungen",
"image_prefer_embedded_preview": "Eingebettete Vorschau bevorzugen",
"image_prefer_embedded_preview_setting_description": "Verwende eingebettete Vorschaubilder in RAW-Fotos als Grundlage für die Bildverarbeitung, sofern diese zur Verfügung stehen. Dies kann bei einigen Bildern genauere Farben erzeugen, allerdings ist die Qualität der Vorschau kameraabhängig und das Bild kann mehr Kompressionsartefakte aufweisen.",
"image_prefer_wide_gamut": "Breites Spektrum bevorzugen",
@@ -162,7 +167,6 @@
"no_pattern_added": "Kein Ausschlussmuster hinzugefügt",
"note_apply_storage_label_previous_assets": "Hinweis: Um den Speicherpfad auf die vorher hochgeladenen Dateien anzuwenden, starte den",
"note_cannot_be_changed_later": "HINWEIS: Dies kann später nicht mehr geändert werden!",
"note_unlimited_quota": "Hinweis: 0 eingeben für unlimitiertes Kontingent",
"notification_email_from_address": "Absenderadresse",
"notification_email_from_address_description": "E-Mail-Adresse des Senders, zum Beispiel: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Host des E-Mail-Servers (z.B. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Loop-Videos",
"loop_videos_description": "Aktiviere diese Option, um eine automatische Videoschleife in der Detailansicht zu erstellen.",
"main_branch_warning": "Du benutzt eine Entwicklungsversion. Wir empfehlen dringend, eine Release-Version zu verwenden!",
"main_menu": "Hauptmenü",
"make": "Marke",
"manage_shared_links": "Freigegebene Links verwalten",
"manage_sharing_with_partners": "Gemeinsame Nutzung mit Partnern verwalten",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Erstelle ein Album, um Fotos und Videos mit Personen in deinem Netzwerk zu teilen",
"not_in_any_album": "In keinem Album",
"note_apply_storage_label_to_previously_uploaded assets": "Hinweis: Um eine Speicherpfadbezeichnung anzuwenden, starte den",
"note_unlimited_quota": "Hinweis: Verwende 0 für ein unlimitiertes Kontingent",
"notes": "Notizen",
"notification_toggle_setting_description": "E-Mail-Benachrichtigungen aktivieren",
"notifications": "Benachrichtigungen",
@@ -1366,6 +1370,7 @@
"view_name": "Ansicht",
"view_next_asset": "Nächste Datei anzeigen",
"view_previous_asset": "Vorherige Datei anzeigen",
"view_qr_code": "QR code anzeigen",
"view_stack": "Stapel anzeigen",
"visibility_changed": "Sichtbarkeit für {count, plural, one {# Person} other {# Personen}} geändert",
"waiting": "Wartend",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Εξαναγκαστική ανανέωση όλων των αρχείων της βιβλιοθήκης",
"image_format": "Μορφή",
"image_format_description": "Η μορφή WebP παράγει μικρότερα αρχεία από τη μορφή JPEG, αλλά είναι πιο αργή στην κωδικοποίηση.",
"image_fullsize_description": "Εικόνα πλήρους μεγέθους με απογυμνωμένα μεταδεδομένα, που χρησιμοποιείται κατά τη μεγέθυνση",
"image_fullsize_enabled": "Ενεργοποίηση δημιουργίας εικόνας πλήρους μεγέθους",
"image_fullsize_enabled_description": "Δημιουργία εικόνας πλήρους μεγέθους για μορφές που δεν είναι φιλικές προς το διαδίκτυο. Όταν είναι ενεργοποιημένη η επιλογή «Προτίμηση ενσωματωμένης προεπισκόπησης», οι ενσωματωμένες προεπισκοπήσεις χρησιμοποιούνται απευθείας χωρίς μετατροπή. Δεν επηρεάζει τις φιλικές προς το διαδίκτυο μορφές όπως το JPEG.",
"image_fullsize_quality_description": "Ποιότητα εικόνας πλήρους μεγέθους από 1-100. Η υψηλότερη είναι καλύτερη, αλλά παράγει μεγαλύτερα αρχεία.",
"image_fullsize_title": "Ρυθμίσεις εικόνας πλήρους μεγέθους",
"image_prefer_embedded_preview": "Προτίμηση ενσωματωμένης προεπισκόπησης",
"image_prefer_embedded_preview_setting_description": "Χρήση ενσωματωμένων προεπισκοπίσεων σε RAW εικόνες ως είσοδο για την επεξεργασία εικόνας εφόσον είναι διαθέσιμες. Αυτό μπορεί να δημιουργήσει πιο ακριβή χρώματα για κάποιες εικόνες, αλλά η ποιότητα των προεπισκοπίσεων εξαρτάται από την κάμερα και ενδέχεται να υπάρχουν περισσότερες αλλοιώσεις στην εικόνα λόγω συμπίεσης.",
"image_prefer_wide_gamut": "Προτίμηση ευρέος φάσματος",
@@ -97,7 +102,7 @@
"library_scanning_enable_description": "Ενεργοποίηση περιοδικής σάρωσης βιβλιοθήκης",
"library_settings": "Εξωτερική Βιβλιοθήκη",
"library_settings_description": "Διαχείριση ρυθμίσεων εξωτερικής βιβλιοθήκης",
"library_tasks_description": "Εκτελούν εργασίες της βιβλιοθήκης",
"library_tasks_description": "Σάρωση εξωτερικών βιβλιοθηκών για νέα ή/και αλλαγμένα στοιχεία",
"library_watching_enable_description": "Παρακολούθηση εξωτερικών βιβλιοθηκών για τροποποιήσεις αρχείων",
"library_watching_settings": "Παρακολούθηση βιβλιοθήκης (ΠΕΙΡΑΜΑΤΙΚΟ)",
"library_watching_settings_description": "Αυτόματη παρακολούθηση για τροποποιημένα αρχεία",
@@ -162,7 +167,6 @@
"no_pattern_added": "Δεν προστέθηκε μοτίβο",
"note_apply_storage_label_previous_assets": "Σημείωση: Για να εφαρμοστεί η Ετικέτα Αποθήκευσης σε στοιχεία που είχαν αναρτηθεί παλαιότερα, εκτέλεσε το",
"note_cannot_be_changed_later": "ΣΗΜΕΊΩΣΗ: Αυτό δεν μπορεί να τροποποιηθεί αργότερα!",
"note_unlimited_quota": "Σημείωση: Εισαγάγετε 0 για απεριόριστο όριο",
"notification_email_from_address": "Διεύθυνση αποστολέα",
"notification_email_from_address_description": "Διεύθυνση αποστολέα, πχ: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Πάροχος του email server (πχ smtp.immich.app)",
@@ -243,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "Ενεργοποιεί την επαλήθευση hash. Μην το απενεργοποιήσεις εκτός αν είσαι βέβαιος/α για τις συνέπειες",
"storage_template_migration": "Μεταφορά προτύπων αποθήκευσης",
"storage_template_migration_description": "Εφαρμογή του τρέχοντος <link>{template}</link> στα αρχεία που έχουν ανέβει προηγουμένως",
"storage_template_migration_info": "Οι αλλαγές στο πρότυπο θα ισχύσουν μόνο για τα νέα αρχεία. Για να εφαρμόσετε αναδρομικά το πρότυπο, σε αρχεία που έχουν ανέβει προηγουμένως, εκτελέστε το <link>{job}</link>.",
"storage_template_migration_info": "Το πρότυπο αποθήκευσης θα μετατρέψει όλες τις επεκτάσεις σε πεζά γράμματα. Οι αλλαγές στο πρότυπο θα ισχύουν μόνο για νέα περιουσιακά στοιχεία. Για να εφαρμόσετε αναδρομικά το πρότυπο σε περιουσιακά στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το <link>{job}</link>.",
"storage_template_migration_job": "Εργασία Μεταφοράς Προτύπων Αποθήκευσης",
"storage_template_more_details": "Για περισσότερες λεπτομέρειες σχετικά με αυτήν τη δυνατότητα, ανατρέξτε στο <template-link>Πρότυπο Αποθήκευσης</template-link> και στις <implications-link>συνέπειές</implications-link> του",
"storage_template_onboarding_description": "Όταν ενεργοποιηθεί, αυτή η δυνατότητα θα οργανώνει αυτόματα τα αρχεία με βάση ένα πρότυπο που καθορίζεται από τον χρήστη. Λόγω θεμάτων σταθερότητας, η δυνατότητα είναι απενεργοποιημένη από προεπιλογή. Για περισσότερες πληροφορίες, παρακαλώ δείτε την <link>τεκμηρίωση</link>.",
@@ -388,7 +392,7 @@
"albums_count": "{count, plural, one {{count, number} Άλμπουμ} other {{count, number} Άλμπουμ}}",
"all": "Όλα",
"all_albums": "Όλα τα άλμπουμ",
"all_people": "Όλοι οι άνθρωποι",
"all_people": "Όλα τα άτομα",
"all_videos": "Όλα τα βίντεο",
"allow_dark_mode": "Επιτρέψτε τη σκοτεινή λειτουργία",
"allow_edits": "Επιτρέψτε τις τροποποιήσεις",
@@ -452,7 +456,7 @@
"camera_model": "Μοντέλο κάμερας",
"cancel": "Ακύρωση",
"cancel_search": "Ακύρωση αναζήτησης",
"cannot_merge_people": "Αδύνατη η συγχώνευση προσώπων",
"cannot_merge_people": "Αδύνατη η συγχώνευση ατόμων",
"cannot_undo_this_action": "Δεν μπορείτε να αναιρέσετε αυτήν την ενέργεια!",
"cannot_update_the_description": "Αδύνατη η ενημέρωση της περιγραφής",
"change_date": "Αλλαγή ημερομηνίας",
@@ -618,7 +622,7 @@
"cant_change_metadata_assets_count": "Δεν μπορείτε να αλλάξετε τα μεταδεδομένα του {count, plural, one {# αρχείου} other {# αρχείων}}",
"cant_get_faces": "Δεν είναι δυνατή η ανάκτηση προσώπων",
"cant_get_number_of_comments": "Δεν είναι δυνατή η ανάκτηση του αριθμού των σχολίων",
"cant_search_people": "Δεν μπορείτε να αναζητήσετε άτομα",
"cant_search_people": "Αδύνατη η αναζήτηση ατόμων",
"cant_search_places": "Δεν μπορείτε να αναζητήσετε τοποθεσίες",
"cleared_jobs": "Εκκαθαρισμένες εργασίες για: {job}",
"error_adding_assets_to_album": "Σφάλμα κατά την προσθήκη στοιχείων στο άλμπουμ",
@@ -859,6 +863,7 @@
"loop_videos": "Επανάληψη βίντεο",
"loop_videos_description": "Ενεργοποιήστε την αυτόματη επανάληψη ενός βίντεο στο πρόγραμμα προβολής λεπτομερειών.",
"main_branch_warning": "Χρησιμοποιείτε μια έκδοση σε ανάπτυξη· συνιστούμε ανεπιφύλακτα τη χρήση μιας επίσημης έκδοσης!",
"main_menu": "Κύριο μενού",
"make": "Κατασκευαστής",
"manage_shared_links": "Διαχείριση κοινόχρηστων συνδέσμων",
"manage_sharing_with_partners": "Διαχειριστείτε την κοινή χρήση με συνεργάτες",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Δημιουργήστε ένα άλμπουμ για να μοιράζεστε φωτογραφίες και βίντεο με άτομα στο δίκτυό σας",
"not_in_any_album": "Σε κανένα άλμπουμ",
"note_apply_storage_label_to_previously_uploaded assets": "Σημείωση: Για να εφαρμόσετε την Ετικέτα Αποθήκευσης σε στοιχεία που έχουν μεταφορτωθεί προηγουμένως, εκτελέστε το",
"note_unlimited_quota": "Σημείωση: Εισαγάγετε 0 για απεριόριστο όριο",
"notes": "Σημειώσεις",
"notification_toggle_setting_description": "Ενεργοποίηση ειδοποιήσεων μέσω email",
"notifications": "Ειδοποιήσεις",
@@ -1307,6 +1311,7 @@
"unlink_motion_video": "Αποσυνδέστε το βίντεο κίνησης",
"unlink_oauth": "Αποσύνδεση OAuth",
"unlinked_oauth_account": "Ο λογαριασμός OAuth αποσυνδέθηκε",
"unmute_memories": "Αποσυνδέστε τις αναμνήσεις",
"unnamed_album": "Ανώνυμο Άλμπουμ",
"unnamed_album_delete_confirmation": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το άλμπουμ;",
"unnamed_share": "Ανώνυμη Κοινή Χρήση",
@@ -1365,6 +1370,7 @@
"view_name": "Προβολή",
"view_next_asset": "Προβολή επόμενου στοιχείου",
"view_previous_asset": "Προβολή προηγούμενου στοιχείου",
"view_qr_code": "Προβολή κωδικού QR",
"view_stack": "Προβολή της στοίβας",
"visibility_changed": "Η ορατότητα άλλαξε για {count, plural, one {# άτομο} other {# άτομα}}",
"waiting": "Στοιχεία σε αναμονή",

View File

@@ -164,7 +164,6 @@
"no_pattern_added": "No pattern added",
"note_apply_storage_label_previous_assets": "Note: To apply the Storage Label to previously uploaded assets, run the",
"note_cannot_be_changed_later": "NOTE: This cannot be changed later!",
"note_unlimited_quota": "Note: Enter 0 for unlimited quota",
"notification_email_from_address": "From address",
"notification_email_from_address_description": "Sender email address, for example: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Host of the email server (e.g. smtp.immich.app)",
@@ -864,6 +863,7 @@
"loop_videos": "Loop videos",
"loop_videos_description": "Enable to automatically loop a video in the detail viewer.",
"main_branch_warning": "Youre using a development version; we strongly recommend using a release version!",
"main_menu": "Main menu",
"make": "Make",
"manage_shared_links": "Manage shared links",
"manage_sharing_with_partners": "Manage sharing with partners",
@@ -928,7 +928,6 @@
"no_shared_albums_message": "Create an album to share photos and videos with people in your network",
"not_in_any_album": "Not in any album",
"note_apply_storage_label_to_previously_uploaded assets": "Note: To apply the Storage Label to previously uploaded assets, run the",
"note_unlimited_quota": "Note: Enter 0 for unlimited quota",
"notes": "Notes",
"notification_toggle_setting_description": "Enable email notifications",
"notifications": "Notifications",
@@ -1372,6 +1371,7 @@
"view_next_asset": "View next asset",
"view_previous_asset": "View previous asset",
"view_stack": "View Stack",
"view_qr_code": "View QR code",
"visibility_changed": "Visibility changed for {count, plural, one {# person} other {# people}}",
"waiting": "Waiting",
"warning": "Warning",
@@ -1383,4 +1383,4 @@
"yes": "Yes",
"you_dont_have_any_shared_links": "You don't have any shared links",
"zoom_image": "Zoom Image"
}
}

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Forzando la recarga de todos los elementos en la biblioteca",
"image_format": "Formato",
"image_format_description": "WebP genera archivos más pequeños que JPEG, pero es más lento al codificarlos.",
"image_fullsize_description": "Imagen de tamaño completo con metadatos removidos, usado cuando se hace zoom",
"image_fullsize_enabled": "Activar generación de imágenes a tamaño completo",
"image_fullsize_enabled_description": "Generar imágenes a tamaño completo para formatos no aptos para web. Cuando \"Preferir vista previa incrustada\" está activada, las vistas previas incrustadas se utilizan directamente sin conversión. No afecta a los formatos aptos para la web, como JPEG.",
"image_fullsize_quality_description": "De 1 a 100, calidad de imágenes de tamaño completo. Mientras más alto es mejor, pero genera archivos de mayor tamaño.",
"image_fullsize_title": "Configuraciones de imágenes de tamaño completo",
"image_prefer_embedded_preview": "Preferir vista previa embebida",
"image_prefer_embedded_preview_setting_description": "Usar vistas previas embebidas en fotos RAW como entrada para el procesamiento de imágenes cuando estén disponibles. Esto puede producir colores más precisos en algunas imágenes, pero la calidad de la vista previa depende de la cámara y la imagen puede tener más artefactos de compresión.",
"image_prefer_embedded_preview_setting_description": "Usar vistas previas embebidas en fotos RAW como entrada para el procesamiento de imágenes y cuando estén disponibles. Esto puede producir colores más precisos en algunas imágenes, pero la calidad de la vista previa depende de la cámara y la imagen puede tener más artefactos de compresión.",
"image_prefer_wide_gamut": "Preferir 'gamut' amplio",
"image_prefer_wide_gamut_setting_description": "Usar \"Display P3\" para las miniaturas. Preserva mejor la vivacidad de las imágenes con espacios de color amplios pero las imágenes pueden aparecer de manera diferente en dispositivos antiguos con una versión antigua del navegador. Las imágenes sRGB se mantienen como sRGB para evitar cambios de color.",
"image_preview_description": "Imagen de tamaño mediano con metadatos eliminados. Es utilizado al visualizar un solo activo y para el aprendizaje automático",
@@ -161,8 +166,7 @@
"no_paths_added": "No se han añadido carpetas",
"no_pattern_added": "No se han añadido patrones",
"note_apply_storage_label_previous_assets": "Nota: para aplicar una Etiqueta de Almacenamient a un elemento anteriormente cargado, lanza el",
"note_cannot_be_changed_later": "NOTA: No se puede cambiar posteriormente!",
"note_unlimited_quota": "Nota: usa 0 para espacio sin límites",
"note_cannot_be_changed_later": "NOTA: ¡No se puede cambiar posteriormente!",
"notification_email_from_address": "Desde",
"notification_email_from_address_description": "Dirección de correo electrónico del remitente, por ejemplo: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Host del servidor de correo electrónico (por ejemplo: smtp.immich.app)",
@@ -414,7 +418,7 @@
"asset_description_updated": "La descripción del elemento ha sido actualizada",
"asset_filename_is_offline": "El archivo {filename} está offline",
"asset_has_unassigned_faces": "El archivo no tiene rostros asignados",
"asset_hashing": "Hashing…",
"asset_hashing": "Calculando hash…",
"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_skipped": "Omitido",
@@ -442,7 +446,7 @@
"blurred_background": "Fondo borroso",
"bugs_and_feature_requests": "Errores y solicitudes de funciones",
"build": "Compilación",
"build_image": "Crear imagen",
"build_image": "Imagen de compilación",
"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_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.",
@@ -554,7 +558,7 @@
"direction": "Dirección",
"disabled": "Deshabilitado",
"disallow_edits": "Bloquear edición",
"discord": "Discord",
"discord": "",
"discover": "Descubrir",
"dismiss_all_errors": "Descartar todos los errores",
"dismiss_error": "Descartar error",
@@ -859,6 +863,7 @@
"loop_videos": "Vídeos en bucle",
"loop_videos_description": "Habilite la reproducción automática de un video en el visor de detalles.",
"main_branch_warning": "Estás ejecutando una compilación desde la rama principal. ¡Recomendamos encarecidamente usar una versión de lanzamiento!",
"main_menu": "Menú principal",
"make": "Marca",
"manage_shared_links": "Administrar enlaces compartidos",
"manage_sharing_with_partners": "Administrar el uso compartido con invitados",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Crea un álbum para compartir fotos y vídeos con personas de tu red",
"not_in_any_album": "Sin álbum",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar la etiqueta de almacenamiento a los archivos cargados previamente, ejecute el",
"note_unlimited_quota": "Nota: Ingrese 0 para cuota ilimitada",
"notes": "Notas",
"notification_toggle_setting_description": "Habilitar notificaciones de correo electrónico",
"notifications": "Notificaciones",
@@ -1241,7 +1245,7 @@
"stack_select_one_photo": "Selecciona una imagen principal para la pila",
"stack_selected_photos": "Apilar fotos seleccionadas",
"stacked_assets_count": "Apilado(s) {count, plural, one {# activo} other {# activos}}",
"stacktrace": "Stacktrace",
"stacktrace": "Seguimiento de pila",
"start": "Inicio",
"start_date": "Fecha de inicio",
"state": "Estado",
@@ -1350,7 +1354,7 @@
"version_announcement_closing": "Tu amigo, Alex",
"version_announcement_message": "¡Hola! Hay una nueva versión de Immich disponible. Tómese un tiempo para leer las <link> notas de la versión </link> para asegurarse de que su configuración esté actualizada y evitar errores de configuración, especialmente si utiliza WatchTower o cualquier mecanismo que se encargue de actualizar su instancia de Immich automáticamente.",
"version_history": "Historial de versiones",
"version_history_item": "Instalada la {version} el {date}",
"version_history_item": "Instalada {version} el {date}",
"video": "Vídeo",
"video_hover_setting": "Iniciar vídeo al pasar por encima",
"video_hover_setting_description": "Reproducir el vídeo cuando el ratón está encima de un vídeo. Aunque esté desactivado, se iniciará cuando el cursor del ratón esté sobre el icono de \"reproducir\".",
@@ -1366,6 +1370,7 @@
"view_name": "Ver",
"view_next_asset": "Mostrar siguiente elemento",
"view_previous_asset": "Mostrar elemento anterior",
"view_qr_code": "Ver código QR",
"view_stack": "Ver Pila",
"visibility_changed": "Visibilidad cambiada para {count, plural, one {# persona} other {# personas}}",
"waiting": "Esperando",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Kogu kõigi failide sundvärskendamine",
"image_format": "Formaat",
"image_format_description": "WebP failid on väiksemad kui JPEG, aga kodeerimine on aeglasem.",
"image_fullsize_description": "Täismõõdus pilt ilma metaandmeteta, kasutatakse sisse suumimisel",
"image_fullsize_enabled": "Luba täismõõdus piltide genereerimine",
"image_fullsize_enabled_description": "Genereeri mitte-veebisõbralike formaatide jaoks täismõõdus pilt. Kui \"Eelista manustatud eelvaadet\" on lubatud, kasutatakse manustatud eelvaateid otse ilma teisendamiseta. Ei mõjuta veebisõbralikke formaate nagu JPEG.",
"image_fullsize_quality_description": "Täismõõdus pildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tulemuseks on suuremad failid.",
"image_fullsize_title": "Täismõõdus pildi seaded",
"image_prefer_embedded_preview": "Eelista manustatud eelvaadet",
"image_prefer_embedded_preview_setting_description": "Kasuta pilditöötluse sisendina võimalusel RAW fotodesse manustatud eelvaateid. See võib mõnede piltide puhul anda tulemuseks täpsemad värvid, aga eelvaate kvaliteet sõltub konkreetsest kaamerast ning pildis võib olla rohkem tihendusmüra.",
"image_prefer_wide_gamut": "Eelista laia värvigammat",
@@ -162,7 +167,6 @@
"no_pattern_added": "Mustreid ei ole",
"note_apply_storage_label_previous_assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
"note_cannot_be_changed_later": "MÄRKUS: Seda ei saa hiljem muuta!",
"note_unlimited_quota": "Märkus: Piiramatu kvoodi jaoks sisesta 0",
"notification_email_from_address": "Saatja aadress",
"notification_email_from_address_description": "Saatja e-posti aadress, näiteks: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "E-posti serveri host (nt. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Taasesita videod",
"loop_videos_description": "Lülita sisse, et detailvaates videot automaatselt taasesitada.",
"main_branch_warning": "Sa kasutad arendusversiooni; soovitame tungivalt kasutada väljalaskeversiooni!",
"main_menu": "Peamenüü",
"make": "Mark",
"manage_shared_links": "Halda jagatud linke",
"manage_sharing_with_partners": "Halda partneritega jagamist",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Lisa album, et fotosid ja videosid teistega jagada",
"not_in_any_album": "Pole üheski albumis",
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem üleslaaditud üksustele, käivita",
"note_unlimited_quota": "Märkus: Piiramatu kvoodi jaoks sisesta 0",
"notes": "Märkused",
"notification_toggle_setting_description": "Luba e-posti teel teavitused",
"notifications": "Teavitused",
@@ -1366,6 +1370,7 @@
"view_name": "Vaade",
"view_next_asset": "Vaata järgmist üksust",
"view_previous_asset": "Vaata eelmist üksust",
"view_qr_code": "Vaata QR-koodi",
"view_stack": "Vaata virna",
"visibility_changed": "{count, plural, one {# isiku} other {# isiku}} nähtavus muudetud",
"waiting": "Ootel",

View File

@@ -132,7 +132,6 @@
"no_pattern_added": "هیچ الگوی اضافه نشده",
"note_apply_storage_label_previous_assets": "توجه: برای اعمال برچسب ذخیره سازی به دارایی هایی که قبلاً بارگذاری شده اند، دستور زیر را اجرا کنید",
"note_cannot_be_changed_later": "توجه: این را نمی توان بعداً تغییر داد!",
"note_unlimited_quota": "توجه: برای سهمیه نامحدود، عدد 0 را وارد کنید",
"notification_email_from_address": "آدرس فرستنده",
"notification_email_from_address_description": "آدرس ایمیل فرستنده، به عنوان مثال:\"Immich سرور عکس <noreply@example.com>\"",
"notification_email_host_description": "میزبان سرور ایمیل (مثلاً smtp.immich.app)",
@@ -664,7 +663,6 @@
"no_shared_albums_message": "",
"not_in_any_album": "در هیچ آلبومی نیست",
"note_apply_storage_label_to_previously_uploaded assets": "",
"note_unlimited_quota": "",
"notes": "یادداشت‌ها",
"notification_toggle_setting_description": "اعلان‌های ایمیلی را فعال کنید",
"notifications": "اعلان‌ها",
@@ -926,4 +924,4 @@
"yes": "بله",
"you_dont_have_any_shared_links": "",
"zoom_image": "بزرگنمایی تصویر"
}
}

View File

@@ -159,7 +159,6 @@
"no_pattern_added": "Kaavoja ei lisättynä",
"note_apply_storage_label_previous_assets": "Huom: Asettaaksesi nimikkeen aiemmin ladatulle aineistolle, aja",
"note_cannot_be_changed_later": "Huom: Tätä ei voi enää myöhemmin vaihtaa!",
"note_unlimited_quota": "Huom: Määritä 0 rajoittamattomaksi kiintiöksi",
"notification_email_from_address": "Lähettäjän osoite",
"notification_email_from_address_description": "Lähettäjän sähköpostiosoite. Esimerkiksi \"Immich-kuvapalvelin <noreply@example.com>\"",
"notification_email_host_description": "Sähköpostipalvelin (esim. smtp.immich.app)",
@@ -219,7 +218,7 @@
"reset_settings_to_default": "Nollaa asetukset oletuksille",
"reset_settings_to_recent_saved": "Palauta aiemmin tallennetut asetukset",
"scanning_library": "Kirjastoa skannataan",
"search_jobs": "Etsi tehtäviä...",
"search_jobs": "Etsi tehtäviä",
"send_welcome_email": "Lähetä tervetuloviesti",
"server_external_domain_settings": "Ulkoinen osoite",
"server_external_domain_settings_description": "Osoite julkisille linkeille, http(s):// mukaan lukien",
@@ -406,11 +405,11 @@
"are_these_the_same_person": "Ovatko he sama henkilö?",
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
"asset_added_to_album": "Lisätty albumiin",
"asset_adding_to_album": "Lisätään albumiin...",
"asset_adding_to_album": "Lisätään albumiin",
"asset_description_updated": "Kohteen kuvaus on päivitetty",
"asset_filename_is_offline": "Kohde {filename} on offline-tilassa",
"asset_has_unassigned_faces": "Kohteella on määrittämättömiä kasvoja",
"asset_hashing": "Hajautetaan...",
"asset_hashing": "Hajautetaan",
"asset_offline": "Aineisto offline-tilassa",
"asset_offline_description": "Tätä ulkoista resurssia ei enää löydy levyltä. Ole hyvä ja ota yhteyttä Immich-järjestelmänvalvojaan saadaksesi apua.",
"asset_skipped": "Ohitettu",
@@ -914,7 +913,6 @@
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
"not_in_any_album": "Ei yhdessäkään albumissa",
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
"note_unlimited_quota": "Huomio: Syötä 0 rajoittamatonta kiintiötä varten",
"notes": "Muistiinpanot",
"notification_toggle_setting_description": "Ota sähköposti-ilmoitukset käyttöön",
"notifications": "Ilmoitukset",
@@ -1352,4 +1350,4 @@
"yes": "Kyllä",
"you_dont_have_any_shared_links": "Sinulla ei ole jaettuja linkkejä",
"zoom_image": "Zoomaa kuvaa"
}
}

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Forcer le rafraîchissement de tous les fichiers de la bibliothèque",
"image_format": "Format",
"image_format_description": "WebP produit des fichiers plus petits que JPEG, mais son encodage est plus lent.",
"image_fullsize_description": "Image en taille réelle, sans métadonnées, utilisée lors d'un zoom",
"image_fullsize_enabled": "Activer la génération d'image en taille d'origine",
"image_fullsize_enabled_description": "Générer une image en taille réelle pour les formats non compatibles avec le web. Lorsque l'option « Préférer l'aperçu intégré » est activée, les aperçus intégrés sont utilisés directement sans conversion. Cette option n'affecte pas les formats compatibles avec le web tels que JPEG.",
"image_fullsize_quality_description": "Qualité de l'image en taille réelle de 1 à 100. Une valeur plus élevée est meilleure, mais produit des fichiers plus volumineux.",
"image_fullsize_title": "Paramètres des images en taille réelle",
"image_prefer_embedded_preview": "Préférer l'aperçu intégré",
"image_prefer_embedded_preview_setting_description": "Utiliser les miniatures intégrées dans les photos au format RAW comme entrées pour le traitement d'image quand elles sont disponibles. Cela peut donner des couleurs plus justes pour certaines images, mais la qualité des miniatures est dépendant de l'appareil photo et l'image peut avoir des artéfacts de compression.",
"image_prefer_wide_gamut": "Préférer une gamme de couleurs étendue",
@@ -162,7 +167,6 @@
"no_pattern_added": "Aucun schéma d'exclusion n'a été ajouté",
"note_apply_storage_label_previous_assets": "Remarque: pour appliquer l'étiquette de stockage à des médias précédemment envoyés, exécutez la commande",
"note_cannot_be_changed_later": "REMARQUE: Il n'est pas possible de modifier ce paramètre ultérieurement!",
"note_unlimited_quota": "Note: saisir 0 pour un quota illimité",
"notification_email_from_address": "Depuis l'adresse",
"notification_email_from_address_description": "Adresse courriel de l'expéditeur, par exemple: « Serveur de photos Immich <nepasrepondre@exemple.org> »",
"notification_email_host_description": "Hôte du serveur de messagerie électronique (par exemple, smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Vidéos en boucle",
"loop_videos_description": "Activer pour voir la vidéo en boucle dans le lecteur détaillé.",
"main_branch_warning": "Vous utilisez une version de développement. Nous vous recommandons fortement d'utiliser une version stable!",
"main_menu": "Menu principal",
"make": "Marque",
"manage_shared_links": "Gérer les liens partagés",
"manage_sharing_with_partners": "Gérer le partage avec les partenaires",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Créer un album pour partager vos photos et vidéos avec les personnes de votre réseau",
"not_in_any_album": "Dans aucun album",
"note_apply_storage_label_to_previously_uploaded assets": "Note: Pour appliquer l'étiquette de stockage aux médias déjà envoyés, lancer la",
"note_unlimited_quota": "Note: Saisir 0 pour définir un quota illimité",
"notes": "Notes",
"notification_toggle_setting_description": "Activer les notifications par courriel",
"notifications": "Notifications",
@@ -1366,6 +1370,7 @@
"view_name": "Vue",
"view_next_asset": "Voir le média suivant",
"view_previous_asset": "Voir le média précédent",
"view_qr_code": "Voir le QR code",
"view_stack": "Afficher la pile",
"visibility_changed": "Visibilité changée pour {count, plural, one {# personne} other {# personnes}}",
"waiting": "En attente",

View File

@@ -1 +1,62 @@
{}
{
"about": "Acerca de",
"account": "Conta",
"account_settings": "Configuración da conta",
"acknowledge": "De acordo",
"action": "Acción",
"actions": "Accións",
"active": "Activo",
"activity": "Actividade",
"activity_changed": "A actividade está {enabled, select, true {habilitada} other {deshabilitada}}",
"add": "Engadir",
"add_a_description": "Engadir unha descrición",
"add_a_location": "Engadir unha localización",
"add_a_name": "Engadir un nome",
"add_a_title": "Engadir un título",
"add_exclusion_pattern": "Engadir patrón de exclusión",
"add_import_path": "Engadir ruta de importación",
"add_location": "Engadir localización",
"add_more_users": "Engadir máis usuarios",
"add_partner": "Engadir compañeiro",
"add_path": "Engadir ruta",
"add_photos": "Engadir fotos",
"add_to": "Engadir a…",
"add_to_album": "Engadir ao álbum",
"add_to_shared_album": "Engadir ao álbum compartido",
"add_url": "Engadir URL",
"added_to_archive": "Engadido ao arquivo",
"added_to_favorites": "Engadido a favoritos",
"added_to_favorites_count": "Engadidos {count, number} a favoritos",
"admin": {
"authentication_settings": "Configuración de autenticación",
"authentication_settings_description": "Xestionar contrasinal, OAuth e outros parámetros de autenticación",
"authentication_settings_disable_all": "Estás seguro de deshabilitar todos os métodos de inicio de sesión? Iniciar a sesión quedará completamente deshabilitado.",
"authentication_settings_reenable": "Para rehabilitala, usa un <link>Comando do servidor</link>.",
"background_task_job": "Tarefas en segundo plano",
"backup_database": "Respaldo da base de datos",
"backup_database_enable_description": "Habilitar as copias de seguridade da base de datos",
"backup_keep_last_amount": "Cantidade de copias de seguridade previas a manter",
"backup_settings": "Configuración de copias de seguridade",
"backup_settings_description": "Xestionar a configuración das copias de seguridade da base de datos",
"check_all": "Comprobar todo",
"cleared_jobs": "Traballos borrados para: {job}",
"config_set_by_file": "As configuracións están actualmente seleccionadas por un ficheiro de configuracións",
"confirm_delete_library": "Estás seguro de que queres eliminar a biblioteca {library}?",
"exclusion_pattern_description": "Os patróns de exclusión permítenche ignorar ficheiros e cartafoles ao escanear a túa biblioteca. Isto é útil se tes cartafoles que conteñen ficheiros que non queres importar, coma ficheiros RAW.",
"external_library_created_at": "Biblioteca externa (creada o {date})",
"external_library_management": "Xestión de bibliotecas externas",
"face_detection": "Detección de caras",
"job_settings": "Configuración de tarefas",
"job_settings_description": "Administrar tarefas simultáneas",
"job_status": "Estado da tarefa",
"jobs_failed": "{jobCount, one {# errado}, plural, other {# errados}}",
"note_cannot_be_changed_later": "NOTA: Non editable posteriormente!",
"notification_email_host_description": "Host do servidor de correo electrónico (p. ex.: smtp.immich.app)",
"notification_email_ignore_certificate_errors": "Ignorar erros de certificado",
"notification_email_ignore_certificate_errors_description": "Ignorar erros de validación de certificados TLS (non recomendado)",
"notification_settings": "Configuración de notificacións"
},
"year": "Ano",
"yes": "Si",
"zoom_image": "Acercar imaxe"
}

View File

@@ -44,11 +44,11 @@
"cleanup": "ניקוי",
"cleared_jobs": "נוקו משימות עבור: {job}",
"config_set_by_file": "התצורה מוגדרת כעת על ידי קובץ תצורה",
"confirm_delete_library": "האם את/ה בטוח/ה שברצונך למחוק את הספרייה {library}?",
"confirm_delete_library_assets": "האם את/ה בטוח/ה שברצונך למחוק את הספרייה הזו? זה ימחק את {count, plural, one {נכס # המוכל} other {כל # הנכסים המוכלים}} בה מ-Immich ואינו ניתן לביטול. קבצים יישארו בדיסק.",
"confirm_delete_library": "האם באמת ברצונך למחוק את הספרייה {library}?",
"confirm_delete_library_assets": "האם באמת ברצונך למחוק את הספרייה הזו? זה ימחק את {count, plural, one {נכס # המוכל} other {כל # הנכסים המוכלים}} בה מ-Immich ואינו ניתן לביטול. קבצים יישארו בדיסק.",
"confirm_email_below": "כדי לאשר, יש להקליד \"{email}\" למטה",
"confirm_reprocess_all_faces": "האם את/ה בטוח/ה שברצונך לעבד מחדש את כל הפנים? זה גם ינקה אנשים בעלי שם.",
"confirm_user_password_reset": "האם את/ה בטוח/ה שברצונך לאפס את הסיסמה של המשתמש {user}?",
"confirm_reprocess_all_faces": "האם באמת ברצונך לעבד מחדש את כל הפנים? זה גם ינקה אנשים בעלי שם.",
"confirm_user_password_reset": "האם באמת ברצונך לאפס את הסיסמה של המשתמש {user}?",
"create_job": "צור עבודה",
"cron_expression": "ביטוי cron",
"cron_expression_description": "הגדר את מרווח הסריקה באמצעות תבנית ה- cron. למידע נוסף נא לפנות למשל אל <link>Crontab Guru</link>",
@@ -66,12 +66,17 @@
"forcing_refresh_library_files": "כפיית רענון של כל קבצי הספרייה",
"image_format": "פורמט",
"image_format_description": "WebP מפיק קבצים קטנים יותר מ JPEG, אך הוא איטי יותר לקידוד.",
"image_fullsize_description": "תמונה בגודל מלא עם מטא-נתונים שהוסרו, משמשת כאשר התמונה מוצגת מקרוב",
"image_fullsize_enabled": "אפשר יצירה של תמונות בגודל מלא",
"image_fullsize_enabled_description": "צור תמונה בגודל מלא עבור פורמטים לא ידידותיים לרשת. כאשר האפשרות \"העדף תצוגה מקדימה מוטמעת\" מופעלת, תצוגות מקדימות מוטמעות משמשות ישירות ללא המרה. אין השפעה על פורמטים ידידותיים לרשת כמו JPEG.",
"image_fullsize_quality_description": "איכות תמונה בגודל מלא מ-1 עד 100. איכות גבוהה יותר היא טובה יותר, אבל מייצרת קבצים גדולים יותר.",
"image_fullsize_title": "הגדרות תמונה בגודל מלא",
"image_prefer_embedded_preview": "העדף תצוגה מקדימה מוטמעת",
"image_prefer_embedded_preview_setting_description": "השתמש בתצוגות מקדימות מוטמעות בתמונות RAW כקלט לעיבוד תמונה כאשר זמינות. זה יכול להפיק צבעים מדויקים יותר עבור תמונות מסוימות, אבל האיכות של התצוגה המקדימה היא תלוית מצלמה ולתמונה עשויים להיות יותר פגמי דחיסה.",
"image_prefer_embedded_preview_setting_description": "השתמש בתצוגות מקדימות מוטמעות בתמונות RAW כקלט לעיבוד תמונה וכאשר זמינות. זה יכול להפיק צבעים מדויקים יותר עבור תמונות מסוימות, אבל האיכות של התצוגה המקדימה היא תלוית מצלמה ולתמונה עשויים להיות יותר פגמי דחיסה.",
"image_prefer_wide_gamut": "העדף סולם צבעים רחב",
"image_prefer_wide_gamut_setting_description": "השתמש ב-Display P3 לתמונות ממוזערות. זה משמר טוב יותר את החיוניות של תמונות עם מרחבי צבע רחבים, אבל תמונות עשויות להופיע אחרת במכשירים ישנים עם גרסת דפדפן ישנה. תמונות sRGB נשמרות כ-sRGB כדי למנוע שינויי צבע.",
"image_preview_description": "תמונה בגודל בינוני עם מטא-נתונים שהוסרו, משמשת בעת צפייה בנכס בודד ועבור למידת מכונה",
"image_preview_quality_description": "איכות תצוגה מקדימה בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום. הגדרת ערך נמוך עשויה להשפיע על איכות תוצאות של למידת מכונה.",
"image_preview_quality_description": "איכות תצוגה מקדימה מ-1 עד 100. איכות גבוהה יותר היא טובה יותר, אבל מייצרת קבצים גדולים יותר ויכולה להפחית את תגובתיות היישום. הגדרת ערך נמוך עשויה להשפיע על איכות תוצאות של למידת מכונה.",
"image_preview_title": "הגדרות תצוגה מקדימה",
"image_quality": "איכות",
"image_resolution": "רזולוציה",
@@ -79,7 +84,7 @@
"image_settings": "הגדרות תמונה",
"image_settings_description": "ניהול האיכות והרזולוציה של תמונות שנוצרו",
"image_thumbnail_description": "תמונה ממוזערת קטנה עם מטא-נתונים שהוסרו, משמשת בעת צפייה בקבוצות של תמונות כמו ציר הזמן הראשי",
"image_thumbnail_quality_description": "איכות תמונה ממוזערת בין 1-100. גבוה יותר הוא טוב יותר, אבל מייצר קבצים גדולים יותר ויכול להפחית את תגובתיות היישום.",
"image_thumbnail_quality_description": "איכות תמונה ממוזערת מ-1 עד 100. איכות גבוהה יותר היא טובה יותר, אבל מייצרת קבצים גדולים יותר ויכולה להפחית את תגובתיות היישום.",
"image_thumbnail_title": "הגדרות תמונה ממוזערת",
"job_concurrency": "בו-זמניות של {job}",
"job_created": "עבודה נוצרה",
@@ -162,7 +167,6 @@
"no_pattern_added": "לא נוספה תבנית",
"note_apply_storage_label_previous_assets": "הערה: כדי להחיל את תווית האחסון על נכסים שהועלו בעבר, הפעל את",
"note_cannot_be_changed_later": "הערה: אי אפשר לשנות זאת מאוחר יותר!",
"note_unlimited_quota": "הערה: הזן 0 עבור מכסת אחסון בלתי מוגבלת",
"notification_email_from_address": "מכתובת",
"notification_email_from_address_description": "כתובת דוא\"ל של השולח, לדוגמה: \"Immich שרת תמונות <noreply@example.com>\"",
"notification_email_host_description": "מארח שרת הדוא\"ל (למשל smtp.immich.app)",
@@ -225,7 +229,7 @@
"search_jobs": "חיפוש עבודות…",
"send_welcome_email": "שלח דוא\"ל ברוכים הבאים",
"server_external_domain_settings": "דומיין חיצוני",
"server_external_domain_settings_description": "דומיין עבור קישורים משותפים ציבוריים, כולל http(s)://",
"server_external_domain_settings_description": "דומיין עבור קישורים משותפים ציבוריים, כולל //:http(s)",
"server_public_users": "משתמשים ציבוריים",
"server_public_users_description": "כל המשתמשים (שם ודוא\"ל) מופיעים בעת הוספת משתמש לאלבומים משותפים. כאשר התכונה מושבתת, רשימת המשתמשים תהיה זמינה רק למשתמשים בעלי הרשאות ניהול.",
"server_settings": "הגדרות שרת",
@@ -240,7 +244,7 @@
"storage_template_date_time_sample": "זמן לדוגמא {date}",
"storage_template_enable_description": "הפעל מנוע תבנית אחסון",
"storage_template_hash_verification_enabled": "אימות גיבוב מופעל",
"storage_template_hash_verification_enabled_description": "מאפשר אימות גיבוב, אל תשבית/י זאת אלא אם כן את/ה בטוח/ה בהשלכות",
"storage_template_hash_verification_enabled_description": "מאפשר אימות גיבוב, אין להשבית זאת אלא אם יש לך ודאות לגבי ההשלכות",
"storage_template_migration": "העברת תבנית אחסון",
"storage_template_migration_description": "החל את ה<link>{template}</link> הנוכחית על נכסים שהועלו בעבר",
"storage_template_migration_info": "תבנית האחסון תמיר את כל ההרחבות לאותיות קטנות. שינויים בתבנית יחולו רק על נכסים חדשים. כדי להחיל באופן רטרואקטיבי את התבנית על נכסים שהועלו בעבר, הפעל את <link>{job}</link>.",
@@ -369,16 +373,16 @@
"album_added": "אלבום נוסף",
"album_added_notification_setting_description": "קבלת הודעת דוא\"ל כאשר מוסיפים אותך לאלבום משותף",
"album_cover_updated": "עטיפת האלבום עודכנה",
"album_delete_confirmation": "את/ה בטוח/ה שברצונך למחוק את האלבום {album}?",
"album_delete_confirmation": "האם באמת ברצונך למחוק את האלבום {album}?",
"album_delete_confirmation_description": "אם האלבום הזה משותף, משתמשים אחרים לא יוכלו לגשת אליו יותר.",
"album_info_updated": "מידע האלבום עודכן",
"album_leave": "לעזוב אלבום?",
"album_leave_confirmation": "האם את/ה בטוח/ה שברצונך לעזוב את {album}?",
"album_leave_confirmation": "האם באמת ברצונך לעזוב את {album}?",
"album_name": "שם האלבום",
"album_options": "אפשרויות האלבום",
"album_remove_user": "להסיר משתמש?",
"album_remove_user_confirmation": "האם את/ה בטוחה שברצונך להסיר את {user}?",
"album_share_no_users": "נראה שאת/ה שיתפת את האלבום הזה עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"album_remove_user_confirmation": "האם באמת ברצונך להסיר את {user}?",
"album_share_no_users": "נראה ששיתפת את האלבום הזה עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"album_updated": "אלבום עודכן",
"album_updated_setting_description": "קבל הודעת דוא\"ל כאשר לאלבום משותף יש נכסים חדשים",
"album_user_left": "עזב את {album}",
@@ -408,7 +412,7 @@
"archive_size_description": "הגדר את גודל הארכיון להורדות (ב-GiB)",
"archived_count": "{count, plural, other {# הועברו לארכיון}}",
"are_these_the_same_person": "האם אלה אותו האדם?",
"are_you_sure_to_do_this": "האם את/ה בטוח/ה שברצונך לעשות את זה?",
"are_you_sure_to_do_this": "האם באמת ברצונך לעשות את זה?",
"asset_added_to_album": "נוסף לאלבום",
"asset_adding_to_album": "מוסיף לאלבום…",
"asset_description_updated": "תיאור הנכס עודכן",
@@ -429,7 +433,7 @@
"assets_moved_to_trash_count": "{count, plural, one {נכס # הועבר} other {# נכסים הועברו}} לאשפה",
"assets_permanently_deleted_count": "{count, plural, one {נכס # נמחק} other {# נכסים נמחקו}} לצמיתות",
"assets_removed_count": "{count, plural, one {נכס # הוסר} other {# נכסים הוסרו}}",
"assets_restore_confirmation": "האם את/ה בטוח/ה שברצונך לשחזר את כל הנכסים שבאשפה? את/ה לא יכול/ה לבטל את הפעולה הזו! שים לב שלא ניתן לשחזר נכסים לא מקוונים בדרך זו.",
"assets_restore_confirmation": "האם באמת ברצונך לשחזר את כל הנכסים שבאשפה? אין באפשרותך לבטל את הפעולה הזו! יש לשים לב שלא ניתן לשחזר נכסים לא מקוונים בדרך זו.",
"assets_restored_count": "{count, plural, one {נכס # שוחזר} other {# נכסים שוחזרו}}",
"assets_trashed_count": "{count, plural, one {נכס # הושלך} other {# נכסים הושלכו}} לאשפה",
"assets_were_part_of_album_count": "{count, plural, one {נכס היה} other {נכסים היו}} כבר חלק מהאלבום",
@@ -443,9 +447,9 @@
"bugs_and_feature_requests": "באגים & בקשות לתכונות",
"build": "גרסת בנייה",
"build_image": "גרסת תוכנה",
"bulk_delete_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך למחוק בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הכי גדול של כל קבוצה וימחק לצמיתות את כל שאר הכפילויות. את/ה לא יכול/ה לבטל את הפעולה הזו!",
"bulk_keep_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך להשאיר {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה יפתור את כל הקבוצות הכפולות מבלי למחוק דבר.",
"bulk_trash_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך להעביר לאשפה בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הגדול ביותר של כל קבוצה ויעביר לאשפה את כל שאר הכפילויות.",
"bulk_delete_duplicates_confirmation": "האם באמת ברצונך למחוק בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הכי גדול של כל קבוצה וימחק לצמיתות את כל שאר הכפילויות. אין באפשרותך לבטל את הפעולה הזו!",
"bulk_keep_duplicates_confirmation": "האם באמת ברצונך להשאיר {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה יפתור את כל הקבוצות הכפולות מבלי למחוק דבר.",
"bulk_trash_duplicates_confirmation": "האם באמת ברצונך להעביר לאשפה בכמות גדולה {count, plural, one {נכס # כפול} other {# נכסים כפולים}}? זה ישמור על הנכס הגדול ביותר של כל קבוצה ויעביר לאשפה את כל שאר הכפילויות.",
"buy": "רכוש את Immich",
"camera": "מצלמה",
"camera_brand": "מותג המצלמה",
@@ -453,7 +457,7 @@
"cancel": "ביטול",
"cancel_search": "ביטול חיפוש",
"cannot_merge_people": "לא ניתן למזג אנשים",
"cannot_undo_this_action": ת/ה לא יכול/ה לבטל את הפעולה הזו!",
"cannot_undo_this_action": ין באפשרותך לבטל את הפעולה הזו!",
"cannot_update_the_description": "לא ניתן לעדכן את התיאור",
"change_date": "שנה תאריך",
"change_expiration_time": "שנה את זמן התפוגה",
@@ -461,7 +465,7 @@
"change_name": "שנה שם",
"change_name_successfully": "השם שונה בהצלחה",
"change_password": "שינוי סיסמה",
"change_password_description": "זאת או הפעם הראשונה שאת/ה מתחבר/ת למערכת או שנעשתה בקשה לשינוי הסיסמה שלך. נא להזין את הסיסמה החדשה למטה.",
"change_password_description": "זאת או הפעם הראשונה שהתחברת למערכת או שנעשתה בקשה לשינוי הסיסמה שלך. נא להזין את הסיסמה החדשה למטה.",
"change_your_password": "החלף את הסיסמה שלך",
"changed_visibility_successfully": "הנראות שונתה בהצלחה",
"check_all": "לסמן הכל",
@@ -485,9 +489,9 @@
"comments_are_disabled": "תגובות מושבתות",
"confirm": "אישור",
"confirm_admin_password": "אישור סיסמת מנהל",
"confirm_delete_face": "האם את/ה בטוח/ה שברצונך למחוק את הפנים של {name} מהנכס?",
"confirm_delete_shared_link": "האם את/ה בטוח/ה שברצונך למחוק את הקישור המשותף הזה?",
"confirm_keep_this_delete_others": "כל שאר הנכסים בערימה יימחקו למעט נכס זה. האם את/ה בטוח/ה שברצונך להמשיך?",
"confirm_delete_face": "האם באמת ברצונך למחוק את הפנים של {name} מהנכס?",
"confirm_delete_shared_link": "האם באמת ברצונך למחוק את הקישור המשותף הזה?",
"confirm_keep_this_delete_others": "כל שאר הנכסים בערימה יימחקו למעט נכס זה. האם באמת ברצונך להמשיך?",
"confirm_password": "אשר סיסמה",
"contain": "מכיל",
"context": "הקשר",
@@ -536,8 +540,8 @@
"default_locale_description": "פורמט תאריכים ומספרים מבוסס שפת הדפדפן שלך",
"delete": "מחק",
"delete_album": "מחק אלבום",
"delete_api_key_prompt": "האם את/ה בטוח/ה שברצונך למחוק מפתח ה-API הזה?",
"delete_duplicates_confirmation": "האם את/ה בטוח/ה שברצונך למחוק לצמיתות את הכפילויות האלה?",
"delete_api_key_prompt": "האם באמת ברצונך למחוק מפתח ה-API הזה?",
"delete_duplicates_confirmation": "האם באמת ברצונך למחוק לצמיתות את הכפילויות האלה?",
"delete_face": "מחק פנים",
"delete_key": "מחק מפתח",
"delete_library": "מחק ספרייה",
@@ -545,7 +549,7 @@
"delete_others": "מחק אחרים",
"delete_shared_link": "מחק קישור משותף",
"delete_tag": "מחק תג",
"delete_tag_confirmation_prompt": "האם את/ה בטוח/ה שברצונך למחוק תג {tagName}?",
"delete_tag_confirmation_prompt": "האם באמת ברצונך למחוק תג {tagName}?",
"delete_user": "מחק משתמש",
"deleted_shared_link": "קישור משותף נמחק",
"deletes_missing_assets": "מוחק נכסים שחסרים בדיסק",
@@ -601,7 +605,7 @@
"editor_crop_tool_h2_rotation": "סיבוב",
"email": "דוא\"ל",
"empty_trash": "רוקן אשפה",
"empty_trash_confirmation": "האם את/ה בטוח/ה שברצונך לרוקן את האשפה? זה יסיר לצמיתות את כל הנכסים באשפה מImmich.\nאת/ה לא יכול/ה לבטל פעולה זו!",
"empty_trash_confirmation": "האם באמת ברצונך לרוקן את האשפה? זה יסיר לצמיתות את כל הנכסים באשפה מImmich.\nאין באפשרותך לבטל פעולה זו!",
"enable": "אפשר",
"enabled": "מופעל",
"end_date": "תאריך סיום",
@@ -645,7 +649,7 @@
"incorrect_email_or_password": "דוא\"ל או סיסמה שגויים",
"paths_validation_failed": "{paths, plural, one {נתיב # נכשל} other {# נתיבים נכשלו}} אימות",
"profile_picture_transparent_pixels": "תמונות פרופיל אינן יכולות לכלול פיקסלים שקופים. נא להגדיל ו/או להזיז את התמונה.",
"quota_higher_than_disk_size": "את/ה מגדיר/ה מכסה גבוהה יותר מגודל הדיסק",
"quota_higher_than_disk_size": "הגדרת מכסה גבוהה יותר מגודל הדיסק",
"repair_unable_to_check_items": "לא ניתן לסמן {count, select, one {פריט} other {פריטים}}",
"unable_to_add_album_users": "לא ניתן להוסיף משתמשים לאלבום",
"unable_to_add_assets_to_shared_link": "לא ניתן להוסיף נכסים לקישור משותף",
@@ -665,7 +669,7 @@
"unable_to_complete_oauth_login": "לא ניתן להשלים התחברות OAuth",
"unable_to_connect": "לא ניתן להתחבר",
"unable_to_connect_to_server": "לא ניתן להתחבר לשרת",
"unable_to_copy_to_clipboard": "לא ניתן להעתיק ללוח, ודא שאת/ה ניגש/ת לדף דרך https",
"unable_to_copy_to_clipboard": "לא ניתן להעתיק ללוח, יש לודא שניגשת לדף דרך https",
"unable_to_create_admin_account": "לא ניתן ליצור חשבון מנהל",
"unable_to_create_api_key": "לא ניתן ליצור מפתח API חדש",
"unable_to_create_library": "לא ניתן ליצור ספרייה",
@@ -827,7 +831,7 @@
"kept_this_deleted_others": "נכס זה נשמר ונמחקו {count, plural, one {נכס #} other {# נכסים}}",
"keyboard_shortcuts": "קיצורי מקלדת",
"language": "שפה",
"language_setting_description": "בחר/י את השפה המועדפת עליך",
"language_setting_description": "בחר את השפה המועדפת עליך",
"last_seen": "נראה לאחרונה",
"latest_version": "גרסה עדכנית ביותר",
"latitude": "קו רוחב",
@@ -852,13 +856,14 @@
"logged_out_device": "מכשיר מנותק",
"login": "כניסה",
"login_has_been_disabled": "הכניסה הושבתה.",
"logout_all_device_confirmation": "את/ה בטוח/ה שברצונך להתנתק מכל המכשירים?",
"logout_this_device_confirmation": "את/ה בטוח/ה שברצונך להתנתק מהמכשיר הזה?",
"logout_all_device_confirmation": "האם באמת ברצונך להתנתק מכל המכשירים?",
"logout_this_device_confirmation": "האם באמת ברצונך להתנתק מהמכשיר הזה?",
"longitude": "קו אורך",
"look": "מראה",
"loop_videos": "הפעלה חוזרת של סרטונים",
"loop_videos_description": "אפשר הפעלה חוזרת אוטומטית של סרטון במציג הפרטים.",
"main_branch_warning": "את/ה משתמש/ת בגרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!",
"main_branch_warning": "הגרסה המותקנת היא גרסת פיתוח; אנחנו ממליצים בחום להשתמש בגרסה יציבה!",
"main_menu": "תפריט ראשי",
"make": "תוצרת",
"manage_shared_links": "ניהול קישורים משותפים",
"manage_sharing_with_partners": "ניהול שיתוף עם שותפים",
@@ -874,14 +879,14 @@
"matches": "התאמות",
"media_type": "סוג מדיה",
"memories": "זכרונות",
"memories_setting_description": יהול מה שאת/ה רואה בזכרונות שלך",
"memories_setting_description": הל את מה שרואים בזכרונות שלך",
"memory": "זיכרון",
"memory_lane_title": "משעול הזיכרונות {title}",
"menu": "תפריט",
"merge": "מזג",
"merge_people": "מזג אנשים",
"merge_people_limit": "את/ה יכול/ה למזג רק עד 5 פנים בכל פעם",
"merge_people_prompt": "האם את/ה רוצה למזג את האנשים האלה? פעולה זו היא בלתי הפיכה.",
"merge_people_limit": "באפשרותך למזג רק עד 5 פנים בכל פעם",
"merge_people_prompt": "האם ברצונך למזג את האנשים האלה? פעולה זו היא בלתי הפיכה.",
"merge_people_successfully": "מיזוג אנשים בוצע בהצלחה",
"merged_people_count": "{count, plural, one {אדם # מוזג} other {# אנשים מוזגו}}",
"minimize": "מזער",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "צור אלבום כדי לשתף תמונות וסרטונים עם אנשים ברשת שלך",
"not_in_any_album": "לא בשום אלבום",
"note_apply_storage_label_to_previously_uploaded assets": "הערה: כדי להחיל את תווית האחסון על נכסים שהועלו בעבר, הפעל את",
"note_unlimited_quota": "הערה: הזן 0 עבור מכסה בלתי מוגבלת",
"notes": "הערות",
"notification_toggle_setting_description": "אפשר התראות דוא\"ל",
"notifications": "התראות",
@@ -937,9 +941,9 @@
"oldest_first": "הישן ביותר ראשון",
"onboarding": "היכרות",
"onboarding_privacy_description": "התכונות (האופציונליות) הבאות מסתמכות על שירותים חיצוניים, וניתנות לביטול בכל עת בהגדרות הניהול.",
"onboarding_theme_description": "בחר/י את צבע ערכת הנושא עבור ההתקנה שלך. את/ה יכול/ה לשנות את זה מאוחר יותר בהגדרות שלך.",
"onboarding_theme_description": "יש לבחור את צבע ערכת הנושא עבור ההתקנה שלך. באפשרותך לשנות את זה מאוחר יותר בהגדרות שלך.",
"onboarding_welcome_description": "בואו נכין את ההתקנה שלכם עם כמה הגדרות נפוצות.",
"onboarding_welcome_user": "ברוכ/ה הבא/ה, {user}",
"onboarding_welcome_user": "ברוך בואך, {user}",
"online": "מקוון",
"only_favorites": "רק מועדפים",
"open_in_map_view": "פתח בתצוגת מפה",
@@ -983,13 +987,13 @@
"permanent_deletion_warning_setting_description": "הצג אזהרה בעת מחיקת נכסים לצמיתות",
"permanently_delete": "מחק לצמיתות",
"permanently_delete_assets_count": "מחק לצמיתות {count, plural, one {נכס} other {נכסים}}",
"permanently_delete_assets_prompt": "האם את/ה בטוח/ה שברצונך למחוק לצמיתות {count, plural, one {נכס זה?} other {<b>#</b> נכסים אלה?}}זה גם יסיר {count, plural, one {אותו מאלבומו} other {אותם מאלבומם}}.",
"permanently_delete_assets_prompt": "האם באמת ברצונך למחוק לצמיתות {count, plural, one {נכס זה?} other {<b>#</b> נכסים אלה?}}זה גם יסיר {count, plural, one {אותו מאלבומו} other {אותם מאלבומם}}.",
"permanently_deleted_asset": "נכס נמחק לצמיתות",
"permanently_deleted_assets_count": "{count, plural, one {נכס # נמחק} other {# נכסים נמחקו}} לצמיתות",
"person": "אדם",
"person_birthdate": "נולד בתאריך {date}",
"person_hidden": "{name}{hidden, select, true { (מוסתר)} other {}}",
"photo_shared_all_users": "נראה שאת/ה שיתפת את התמונות שלך עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"photo_shared_all_users": "נראה ששיתפת את התמונות שלך עם כל המשתמשים או שאין לך אף משתמש לשתף איתו.",
"photos": "תמונות",
"photos_and_videos": "תמונות & סרטונים",
"photos_count": "{count, plural, one {תמונה {count, number}} other {{count, number} תמונות}}",
@@ -1039,9 +1043,9 @@
"purchase_per_server": "עבור שרת",
"purchase_per_user": "עבור משתמש",
"purchase_remove_product_key": "הסר מפתח מוצר",
"purchase_remove_product_key_prompt": "האם את/ה בטוח/ה שאת/ה רוצה להסיר את מפתח המוצר?",
"purchase_remove_product_key_prompt": "האם באמת ברצונך להסיר את מפתח המוצר?",
"purchase_remove_server_product_key": "הסר מפתח מוצר של שרת",
"purchase_remove_server_product_key_prompt": "האם את/ה בטוח/ה שאת/ה רוצה להסיר את מפתח המוצר של השרת?",
"purchase_remove_server_product_key_prompt": "האם באמת ברצונך להסיר את מפתח המוצר של השרת?",
"purchase_server_description_1": "עבור כל השרת",
"purchase_server_description_2": "מעמד תומך",
"purchase_server_title": "שרת",
@@ -1071,8 +1075,8 @@
"refreshing_metadata": "מרענן מטא-נתונים",
"regenerating_thumbnails": "מחדש תמונות ממוזערות",
"remove": "הסר",
"remove_assets_album_confirmation": "האם את/ה בטוח/ה שברצונך להסיר {count, plural, one {נכס #} other {# נכסים}} מהאלבום?",
"remove_assets_shared_link_confirmation": "האם את/ה בטוח/ה שברצונך להסיר {count, plural, one {נכס #} other {# נכסים}} מהקישור המשותף הזה?",
"remove_assets_album_confirmation": "האם באמת ברצונך להסיר {count, plural, one {נכס #} other {# נכסים}} מהאלבום?",
"remove_assets_shared_link_confirmation": "האם באמת ברצונך להסיר {count, plural, one {נכס #} other {# נכסים}} מהקישור המשותף הזה?",
"remove_assets_title": "הסר נכסים?",
"remove_custom_date_range": "הסר טווח תאריכים מותאם",
"remove_deleted_assets": "הסר קבצים לא מקוונים",
@@ -1118,7 +1122,7 @@
"saved_api_key": "מפתח API שמור",
"saved_profile": "פרופיל שמור",
"saved_settings": "הגדרות שמורות",
"say_something": "תגיד/י משהו",
"say_something": "להגיד משהו",
"scan_all_libraries": "סרוק את כל הספריות",
"scan_library": "סרוק",
"scan_settings": "הגדרות סריקה",
@@ -1309,7 +1313,7 @@
"unlinked_oauth_account": "בוטל קישור חשבון OAuth",
"unmute_memories": "בטל השתקת זיכרונות",
"unnamed_album": "אלבום ללא שם",
"unnamed_album_delete_confirmation": "את/ה בטוח/ה שברצונך למחוק את האלבום הזה?",
"unnamed_album_delete_confirmation": "האם באמת ברצונך למחוק את האלבום הזה?",
"unnamed_share": "שיתוף ללא שם",
"unsaved_change": "שינוי לא נשמר",
"unselect_all": "בטל בחירה בהכל",
@@ -1348,7 +1352,7 @@
"variables": "משתנים",
"version": "גרסה",
"version_announcement_closing": "החבר שלך, אלכס",
"version_announcement_message": "שלום לך! זמינה גרסה חדשה של Immich. אנא קח/י זמן מה לקרוא את <link>הערות הפרסום</link> כדי לוודא שההתקנה שלך עדכנית על מנת למנוע תצורות שגויות, במיוחד אם את/ה משתמש/ת ב-WatchTower או בכל מנגנון שמטפל בעדכון מופע ה-Immich שלך באופן אוטומטי.",
"version_announcement_message": "שלום לך! זמינה גרסה חדשה של Immich. נא לקחת זמן מה לקרוא את <link>הערות הפרסום</link> כדי לוודא שההתקנה שלך עדכנית על מנת למנוע תצורות שגויות, במיוחד אם נעשה שימוש ב-WatchTower או בכל מנגנון שמטפל בעדכון מופע ה-Immich שלך באופן אוטומטי.",
"version_history": "היסטוריית גרסאות",
"version_history_item": "{version} הותקנה ב-{date}",
"video": "סרטון",

View File

@@ -146,7 +146,6 @@
"no_pattern_added": "कोई पैटर्न नहीं जोड़ा गया",
"note_apply_storage_label_previous_assets": "नोट: पहले अपलोड की गई संपत्तियों पर स्टोरेज लेबल लागू करने के लिए, चलाएँ",
"note_cannot_be_changed_later": "नोट: इसे बाद में बदला नहीं जा सकता!",
"note_unlimited_quota": "नोट: असीमित कोटा के लिए 0 दर्ज करें",
"notification_email_from_address": "इस पते से",
"notification_email_from_address_description": "प्रेषक का ईमेल पता, उदाहरण के लिए: \"इमिच फोटो सर्वर <noreply@example.com>\"",
"notification_email_host_description": "ईमेल सर्वर का होस्ट (उदा. smtp.immitch.app)",
@@ -769,7 +768,6 @@
"no_shared_albums_message": "अपने नेटवर्क में लोगों के साथ फ़ोटो और वीडियो साझा करने के लिए एक एल्बम बनाएं",
"not_in_any_album": "किसी एलबम में नहीं",
"note_apply_storage_label_to_previously_uploaded assets": "नोट: पहले अपलोड की गई संपत्तियों पर स्टोरेज लेबल लागू करने के लिए, चलाएँ",
"note_unlimited_quota": "नोट: असीमित कोटा के लिए 0 दर्ज करें",
"notes": "टिप्पणियाँ",
"notification_toggle_setting_description": "ईमेल सूचनाएं सक्षम करें",
"notifications": "सूचनाएं",

View File

@@ -159,7 +159,6 @@
"no_pattern_added": "Nije dodan uzorak",
"note_apply_storage_label_previous_assets": "Napomena: da biste primijenili Oznaku Pohrane na prethodno prenesena sredstva, pokrenite",
"note_cannot_be_changed_later": "NAPOMENA: Ovo se ne može promijeniti kasnije!",
"note_unlimited_quota": "Napomena: Unesite 0 za neograničenu kvotu",
"notification_email_from_address": "Od adrese",
"notification_email_from_address_description": "E-mail adresa pošiljatelja, na primjer: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Poslužitelja e-pošte (npr. smtp.immich.app)",
@@ -893,7 +892,6 @@
"no_shared_albums_message": "Stvorite album za dijeljenje fotografija i videozapisa s osobama u svojoj mreži",
"not_in_any_album": "Ni u jednom albumu",
"note_apply_storage_label_to_previously_uploaded assets": "Napomena: Da biste primijenili Oznaku za skladištenje na prethodno prenesena sredstva, pokrenite",
"note_unlimited_quota": "napomena: Unesite 0 za neograni%C4%8Denu kvotu",
"notes": "Bilješke",
"notification_toggle_setting_description": "Omogući obavijesti putem e-pošte",
"notifications": "Obavijesti",
@@ -1253,4 +1251,4 @@
"yes": "",
"you_dont_have_any_shared_links": "",
"zoom_image": ""
}
}

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "A képtár összes fájljának frissítése",
"image_format": "Formátum",
"image_format_description": "WebP a JPEG-nél kisebb fájlokat készít, de lassabban.",
"image_fullsize_description": "Teljes méretű kép eltávolított metaadatokkal, nagyításkor használva",
"image_fullsize_enabled": "Teljes méretű képgenerálás engedélyezése",
"image_fullsize_enabled_description": "Teljes méretű kép generálása nem webbarát formátumokhoz. Ha a „Beágyazott előnézet preferálása” engedélyezve van, a beágyazott előnézetek közvetlenül, átalakítás nélkül kerülnek felhasználásra. Nem érinti a webbarát formátumokat, például a JPEG-et.",
"image_fullsize_quality_description": "Teljes méretű képminőség 1-100 között. A magasabb érték jobb minőséget eredményez, de nagyobb fájlméretet is.",
"image_fullsize_title": "Teljes méretű képbeállítások",
"image_prefer_embedded_preview": "Beágyazott előnézeti kép előnyben részesítése",
"image_prefer_embedded_preview_setting_description": "Nyers (RAW) fotók esetén használja a beépített előnézeti képet (ha van) a képek feldogozásához. Ez néhány kép esetében pontosabb színeket eredményezhet, de az előnézeti kép minősége erősen fényképezőgép függő, és a képen előfordulhatnak tömörítési hibák.",
"image_prefer_wide_gamut": "Széles színtér preferálása",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nincs megadva minta (pattern)",
"note_apply_storage_label_previous_assets": "Megjegyzés: Ha a korábban feltöltött elemekhez is szeretne Tárhely Címkéket társítani, akkor futtassa ezt",
"note_cannot_be_changed_later": "FIGYELEM: ezt később nem lehet megváltoztatni!",
"note_unlimited_quota": "Megjegyzés: 0 = korlátlan kvóta",
"notification_email_from_address": "Feladó cím",
"notification_email_from_address_description": "Küldő email címe, például: \"Immich Fotószerver <noreply@example.com>\"",
"notification_email_host_description": "Email szerver kiszolgálója (pl. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Videók ismétlése",
"loop_videos_description": "Engedélyezi a videók folyamatosan ismételt lejátszását.",
"main_branch_warning": "Fejlesztői verziót használsz. Javasoljuk a stabil verzió használatát!",
"main_menu": "Főmenü",
"make": "Gyártó",
"manage_shared_links": "Megosztási linkek kezelése",
"manage_sharing_with_partners": "Partnerekkel való megosztás kezelése",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Hozz létre egy új albumot, hogy megoszthasd fényképeid és videóid másokkal",
"not_in_any_album": "Nincs albumban",
"note_apply_storage_label_to_previously_uploaded assets": "Megjegyzés: a korábban feltöltött elemek Tárhely Címkézéséhez futtasd a(z)",
"note_unlimited_quota": "Megjegyzés: korlátlan kvótához írj 0-t",
"notes": "Megjegyzések",
"notification_toggle_setting_description": "Email értesítések engedélyezése",
"notifications": "Értesítések",

View File

@@ -116,7 +116,6 @@
"no_pattern_added": "",
"note_apply_storage_label_previous_assets": "",
"note_cannot_be_changed_later": "",
"note_unlimited_quota": "",
"notification_email_from_address": "",
"notification_email_from_address_description": "",
"notification_email_host_description": "",
@@ -614,7 +613,6 @@
"no_shared_albums_message": "",
"not_in_any_album": "",
"note_apply_storage_label_to_previously_uploaded assets": "",
"note_unlimited_quota": "",
"notes": "",
"notification_toggle_setting_description": "",
"notifications": "",

View File

@@ -162,7 +162,6 @@
"no_pattern_added": "Tidak ada pola yang ditambahkan",
"note_apply_storage_label_previous_assets": "Catatan: Untuk menerapkan Label Penyimpanan untuk aset yang telah diunggah sebelumnya, jalankan",
"note_cannot_be_changed_later": "CATATAN: Ini tidak akan dapat diubah lagi!",
"note_unlimited_quota": "Catatan: Masukkan 0 untuk kuota tidak terbatas",
"notification_email_from_address": "Dari alamat",
"notification_email_from_address_description": "Alamat surel pengirim, misalnya: \"Server Foto Immich <noreply@example.com>\"",
"notification_email_host_description": "Hos server surel (mis. smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "Buat sebuah album untuk membagikan foto dan video dengan orang-orang dalam jaringan Anda",
"not_in_any_album": "Tidak ada dalam album apa pun",
"note_apply_storage_label_to_previously_uploaded assets": "Catatan: Untuk menerapkan Label Penyimpanan pada aset yang sebelumnya telah diunggah, jalankan",
"note_unlimited_quota": "Catatan: Masukkan 0 untuk kuota tidak terbatas",
"notes": "Catatan",
"notification_toggle_setting_description": "Aktifkan notifikasi surel",
"notifications": "Notifikasi",

View File

@@ -49,7 +49,7 @@
"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_user_password_reset": "Sei sicuro di voler resettare la password di {user}?",
"create_job": "Crea un lavoro",
"create_job": "Crea Processo",
"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_presets": "Espressione Cron preimpostata",
@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Forzando l'aggiornamento completo della libreria",
"image_format": "Formato",
"image_format_description": "WebP produce file più piccoli rispetto a JPEG, ma l'encoding è più lento.",
"image_fullsize_description": "Le immagini con dimensioni reali senza metadati sono utilizzate durante lo zoom",
"image_fullsize_enabled": "Abilita la generazione delle immagini con dimensioni reali",
"image_fullsize_enabled_description": "Genera immagini con dimensioni reali per i formati non web-friendly. Quando \"Preferisci l'anteprima integrata\" è abilitata, le anteprime integrate saranno usate senza conversione. Non riguarda le immagini web-friendly come il JPEG.",
"image_fullsize_quality_description": "Qualità delle immagini con dimensioni reali da 1 a 100. Più è alto il valore più la qualità sarà alta come anche la grandezza dei file.",
"image_fullsize_title": "Impostazioni Immagini con dimensioni reali",
"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_wide_gamut": "Preferisci gamut più ampio",
@@ -82,7 +87,7 @@
"image_thumbnail_quality_description": "Qualità delle miniature da 1 a 100. Un valore più alto è migliore, ma produce file più grandi e può ridurre la reattività dell'app.",
"image_thumbnail_title": "Impostazioni della copertina",
"job_concurrency": "Concorrenza {job}",
"job_created": "Lavoro creato",
"job_created": "Processo creato",
"job_not_concurrency_safe": "Questo processo non è eseguibile in maniera concorrente.",
"job_settings": "Impostazioni dei processi",
"job_settings_description": "Gestisci la concorrenza dei processi",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nessun pattern aggiunto",
"note_apply_storage_label_previous_assets": "Nota: Per assegnare l'etichetta storage ad asset precedentemente caricati, esegui",
"note_cannot_be_changed_later": "NOTA: Non potrà essere modificato in futuro!",
"note_unlimited_quota": "Nota: Inserisci 0 per una quota illimitata",
"notification_email_from_address": "Indirizzo mittente",
"notification_email_from_address_description": "Indirizzo email mittente, ad esempio: \"Server Foto Immich <noreply@example.com>\"",
"notification_email_host_description": "Host del server email (es. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Riproduci video in loop",
"loop_videos_description": "Abilita per riprodurre automaticamente un video in loop nella vista dettagli.",
"main_branch_warning": "Stai usando una versione di sviluppo. Consigliamo vivamente di utilizzare una versione di rilascio!",
"main_menu": "Menu Principale",
"make": "Produttore",
"manage_shared_links": "Gestisci link condivisi",
"manage_sharing_with_partners": "Gestisci la condivisione con i compagni",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Crea un album per condividere foto e video con le persone nella tua rete",
"not_in_any_album": "In nessun album",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Per aggiungere l'etichetta dell'archiviazione agli asset caricati in precedenza, esegui",
"note_unlimited_quota": "Nota: Inserisci 0 per archiviazione illimitata",
"notes": "Note",
"notification_toggle_setting_description": "Attiva le notifiche via email",
"notifications": "Notifiche",
@@ -1366,6 +1370,7 @@
"view_name": "Visualizza",
"view_next_asset": "Visualizza risorsa successiva",
"view_previous_asset": "Visualizza risorsa precedente",
"view_qr_code": "Visualizza Codice QR",
"view_stack": "Visualizza Raggruppamento",
"visibility_changed": "Visibilità modificata per {count, plural, one {# persona} other {# persone}}",
"waiting": "In Attesa",

View File

@@ -66,6 +66,10 @@
"forcing_refresh_library_files": "すべてのライブラリファイルを強制更新",
"image_format": "フォーマット",
"image_format_description": "WebPはJPEGよりもファイルサイズが小さいですが、エンコードに時間がかかります。",
"image_fullsize_description": "画像を拡大する時に使われるメタデータを取り除いた原寸大画像",
"image_fullsize_enabled": "原寸大画像生成を有効にする",
"image_fullsize_quality_description": "1から100まで原寸大画像の質です。高いほうがいいがファイルが大きくなります。",
"image_fullsize_title": "原寸大画像設定",
"image_prefer_embedded_preview": "埋め込みプレビューを優先",
"image_prefer_embedded_preview_setting_description": "RAW写真の埋め込みプレビューが利用可能な場合に画像処理の入力として使用します。これにより、いくつかの画像でより正確な色を得ることができますが、プレビューの品質はカメラによって異なり、画像により多くの圧縮アーティファクトが含まれる場合があります。",
"image_prefer_wide_gamut": "広色域に対応させる",
@@ -162,7 +166,6 @@
"no_pattern_added": "パターンが追加されていません",
"note_apply_storage_label_previous_assets": "注意: 以前にアップロードされたアセットにストレージラベルを適用するには、以下を実行してください",
"note_cannot_be_changed_later": "注意: 後から変更できません!",
"note_unlimited_quota": "注意: 無制限にする場合は0を入力してください",
"notification_email_from_address": "送信メールアドレス",
"notification_email_from_address_description": "送信メールアドレスを設定します(例: \"Immich Photo Server <noreply@example.com>\" ",
"notification_email_host_description": "送信メールサーバーを設定しますsmtp.immich.app",
@@ -859,6 +862,7 @@
"loop_videos": "動画をループ",
"loop_videos_description": "有効にすると詳細表示で自動的に動画がループします。",
"main_branch_warning": "開発版を使っているようです。リリース版の使用を強く推奨します!",
"main_menu": "メインメニュー",
"make": "メーカー",
"manage_shared_links": "共有済みのリンクを管理",
"manage_sharing_with_partners": "パートナーとの共有を管理します",
@@ -923,7 +927,6 @@
"no_shared_albums_message": "アルバムを作成して写真や動画を共有しましょう",
"not_in_any_album": "どのアルバムにも入っていない",
"note_apply_storage_label_to_previously_uploaded assets": "注意: 以前にアップロードしたアセットにストレージラベルを適用するには以下を実行してください",
"note_unlimited_quota": "注: 容量を無制限にするには0を入力してください",
"notes": "注意",
"notification_toggle_setting_description": "メール通知を有効化",
"notifications": "通知",
@@ -1366,6 +1369,7 @@
"view_name": "分類",
"view_next_asset": "次のアセットを見る",
"view_previous_asset": "前のアセットを見る",
"view_qr_code": "QRコードを見る",
"view_stack": "ビュースタック",
"visibility_changed": "{count, plural, one {#人} other {#人}}の人物の非表示設定が変更されました",
"waiting": "待機中",

View File

@@ -1 +1,165 @@
{}
{
"about": "შესახებ",
"account": "ანგარიში",
"account_settings": "ანგარიშის პარამეტრები",
"acknowledge": "მიღება",
"action": "ქმედება",
"actions": "ქმედებები",
"active": "აქტიური",
"activity": "აქტივობა",
"add": "დამატება",
"add_a_description": "დაამატე აღწერა",
"add_a_location": "დაამატე ადგილი",
"add_a_name": "დაამატე სახელი",
"add_a_title": "დაასათაურე",
"add_import_path": "დაამატე საიმპორტო მისამართი",
"add_location": "დაამატე ადგილი",
"add_more_users": "დაამატე მომხმარებლები",
"add_partner": "დაამატე პარტნიორი",
"add_path": "დაამატე მისამართი",
"add_photos": "დაამატე ფოტოები",
"add_to_album": "დაამატე ალბომში",
"add_to_shared_album": "დაამატე საზიარო ალბომში",
"add_url": "დაამატე URL",
"added_to_archive": "დაარქივდა",
"added_to_favorites": "დაამატე რჩეულებში",
"added_to_favorites_count": "{count, number} დაემატა რჩეულებში",
"admin": {
"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": "შეამოწმე ყველა",
"cleanup": "გასუფთავება",
"confirm_delete_library": "ნამდვილად გინდა {library} ბიბლიოთეკის წაშლა?",
"confirm_email_below": "დასადასტურებლად, ქვემოთ აკრიფე \"{email}\"",
"confirm_user_password_reset": "ნამდვილად გინდა {user}-(ი)ს პაროლის დარესეტება?",
"disable_login": "გამორთე ავტორიზაცია",
"external_library_management": "გარე ბიბლიოთეკების მართვა",
"face_detection": "სახის ამოცნობა",
"image_format": "ფორმატი",
"image_fullsize_title": "სრული ზომის გამოსახულების პარამეტრები",
"image_quality": "ხარისხი",
"image_resolution": "გაფართოება",
"image_settings": "გამოსახულების პარამეტრები",
"image_settings_description": "გენერირებული ფოტოების ხარისხისა და რეზოლუციის მართვა",
"image_thumbnail_description": "მინიატურა მეტაინფორმაციის გარეშე, რომელიც ფოტოები ჯგუფურად თვალიერებისას გამოიყენება(მაგ. მთავარ თაიმლაინზე)",
"image_thumbnail_quality_description": "მინიატურის ხარისხი 1-დან 100-მდე. დიდი რიცხვი შეესაბამება უკეთეს ხარისხს, თუმცა, უფრო დიდ ფაილებს და აპლიკაციის შესაძლო შენელებას.",
"image_thumbnail_title": "მინიატურის პარამეტრები",
"library_created": "შეიქმნა ბიბლიოთეკა: {library}",
"library_deleted": "ბიბლიოთეკა წაიშალა",
"library_import_path_description": "აირჩიე დასაიმპორტებელი საქაღალდე. ფოტოები და ვიდეოები მოიძებნება ამ საქაღალდესა და მასში არსებულ საქაღალდეებში.",
"library_settings_description": "გარე ბიბლიოთეკების პარამეტრების მართვა",
"logging_settings": "ჟურნალი",
"map_settings": "რუკა",
"migration_job": "მიგრაცია",
"oauth_scope": "დიაპაზონი",
"oauth_settings": "OAuth",
"template_email_preview": "მინიატურა",
"transcoding_acceleration_vaapi": "VAAPI",
"transcoding_threads": "ნაკადები",
"transcoding_tone_mapping": "ტონების ასახვა"
},
"administration": "ადმინისტრაცია",
"advanced": "დამატებით",
"albums": "ალბომები",
"all": "ყველა",
"anti_clockwise": "საათის ისრის საწინააღმდეგო",
"archive": "არქივი",
"asset_hashing": "დაჰეშვა.…",
"asset_skipped": "გამოტოვებულია",
"asset_uploaded": "ატვირთულია",
"asset_uploading": "მიმდინარეობს ატვირთვა…",
"assets": "ობიექტები",
"back": "უკან",
"backward": "უკან გადასვლა",
"build": "აგება",
"camera": "კამერა",
"cancel": "გაუქმება",
"city": "ქალაქი",
"clear": "გასუფთავება",
"clockwise": "საათის ისრის მიმართულებით",
"close": "დახურვა",
"collapse": "აკეცვა",
"color": "ფერი",
"confirm": "დასტური",
"contain": "შეიცავს",
"context": "კონტექსტი",
"continue": "გაგრძელება",
"country": "ქვეყანა",
"cover": "ყდა",
"covers": "ყდები",
"create": "შექმნა",
"created": "შექმნილია",
"dark": "მუქი",
"day": "დღე",
"delete": "წაშლა",
"description": "აღწერა",
"details": "დეტალები",
"direction": "მიმართულება",
"disabled": "გათიშულია",
"discord": "Discord",
"discover": "აღმოჩენა",
"documentation": "დოკუმენტაცია",
"done": "მზადაა",
"download": "გადმოწერა",
"download_settings": "გადმოწერა",
"downloading": "მიმდინარეობს გადმოწერა",
"duplicates": "დუბლიკატები",
"duration": "ხანგრძლივობა",
"edit": "ჩასწორება",
"edited": "ჩასწორებულია",
"editor": "რედაქტორი",
"editor_crop_tool_h2_rotation": "ტრიალი",
"email": "ელფოსტა",
"enable": "ჩართვა",
"enabled": "ჩართულია",
"error": "შეცდომა",
"exif": "Exif",
"expired": "ვადაამოწურულია",
"explore": "დათვალიერება",
"explorer": "გამცილებელი",
"export": "გატანა",
"extension": "გაფართოება",
"external": "გარე",
"face_unassigned": "მიუნიჭებელი",
"favorite": "რჩეული",
"favorites": "რჩეულები",
"features": "თვისებები",
"filename": "ფაილის სახელი",
"filetype": "ფაილის ტიპი",
"folders": "საქაღალდეები",
"forward": "წინ",
"general": "ზოგადი",
"host": "ჰოსტი",
"hour": "საათი",
"image": "გამოსახულება",
"info": "ინფორმაცია",
"jobs": "დავალებები",
"keep": "შენარჩუნება",
"language": "ენა",
"latitude": "განედი",
"leave": "გასვლა",
"level": "დონე",
"library": "ბიბლიოთეკა",
"light": "ღია",
"list": "სია",
"loading": "ჩატვირთვა",
"login": "შესვლა",
"longitude": "გრძედი",
"look": "შეხედვა",
"make": "მწარმოებელი",
"map": "რუკა",
"matches": "დამთხვევები",
"memories": "მოგონებები",
"memory": "მეხსიერება",
"menu": "მენიუ",
"merge": "შერწყმა",
"minimize": "დაპატარავება"
}

View File

@@ -121,7 +121,6 @@
"no_pattern_added": "",
"note_apply_storage_label_previous_assets": "",
"note_cannot_be_changed_later": "",
"note_unlimited_quota": "",
"notification_email_from_address": "",
"notification_email_from_address_description": "",
"notification_email_host_description": "",
@@ -621,7 +620,6 @@
"no_shared_albums_message": "",
"not_in_any_album": "",
"note_apply_storage_label_to_previously_uploaded assets": "",
"note_unlimited_quota": "",
"notes": "",
"notification_toggle_setting_description": "",
"notifications": "",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "라이브러리의 모든 파일을 다시 스캔하는 중...",
"image_format": "형식",
"image_format_description": "WebP는 JPEG보다 파일 크기가 작지만 변환에 더 많은 시간이 소요됩니다.",
"image_fullsize_description": "메타데이터가 제거된 풀사이즈 이미지 (확대 시 사용)",
"image_fullsize_enabled": "풀사이즈 이미지 생성 활성화",
"image_fullsize_enabled_description": "웹 친화적이지 않은 형식의 경우 풀사이즈 이미지를 생성합니다. '임베드된 미리보기 선호'를 활성화하면 변환 없이 임베드된 미리보기가 바로 사용됩니다. JPEG와 같은 웹 친화적인 형식에는 영향을 미치지 않습니다.",
"image_fullsize_quality_description": "풀사이즈 이미지 품질은 1~100입니다. 높을수록 좋지만 파일이 커집니다.",
"image_fullsize_title": "풀사이즈 이미지 설정",
"image_prefer_embedded_preview": "포함된 미리 보기 선호",
"image_prefer_embedded_preview_setting_description": "가능한 경우 이미지 처리 시 RAW 사진에 포함된 미리 보기를 사용합니다. 포함된 미리 보기는 카메라에서 생성된 것으로 카메라마다 품질이 다릅니다. 일부 이미지의 경우 더 정확한 색상이 표현될 수 있지만 반대로 더 많은 아티팩트가 있을 수도 있습니다.",
"image_prefer_wide_gamut": "넓은 색 영역 선호",
@@ -162,7 +167,6 @@
"no_pattern_added": "추가된 규칙 없음",
"note_apply_storage_label_previous_assets": "참고: 이전에 업로드한 항목에도 스토리지 레이블을 적용하려면 다음을 실행합니다,",
"note_cannot_be_changed_later": "주의: 추후 변경할 수 없습니다!",
"note_unlimited_quota": "참고: 무제한 할당량의 경우 0을 입력하세요.",
"notification_email_from_address": "보낸 사람 이메일",
"notification_email_from_address_description": "보낸 사람의 이메일 주소, 예: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "이메일 서버의 호스트 (예: smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "동영상 반복",
"loop_videos_description": "상세 보기에서 자동으로 동영상을 반복 재생합니다.",
"main_branch_warning": "현재 개발 버전을 사용 중입니다. 정식 버전을 사용하는 것을 강력히 권장합니다!",
"main_menu": "메인 메뉴",
"make": "제조사",
"manage_shared_links": "공유 링크 관리",
"manage_sharing_with_partners": "파트너와 공유 관리",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "공유 앨범을 만들어 주변 사람들과 사진 및 동영상 공유",
"not_in_any_album": "앨범에 없음",
"note_apply_storage_label_to_previously_uploaded assets": "참고: 이전에 업로드한 항목에도 스토리지 레이블을 적용하려면 다음을 실행합니다,",
"note_unlimited_quota": "참고: 할당량을 설정하지 않으려면 0을 입력하세요.",
"notes": "참고",
"notification_toggle_setting_description": "이메일 알림 활성화",
"notifications": "알림",
@@ -1366,6 +1370,7 @@
"view_name": "보기",
"view_next_asset": "다음 항목 보기",
"view_previous_asset": "이전 항목 보기",
"view_qr_code": "QR코드 보기",
"view_stack": "스택 보기",
"visibility_changed": "인물 {count, plural, one {#명} other {#명}}의 표시 여부가 변경됨",
"waiting": "대기",

View File

@@ -157,7 +157,6 @@
"no_pattern_added": "Šablonas nepridėtas",
"note_apply_storage_label_previous_assets": "Pastaba: norėdami pritaikyti saugyklos etiketę seniau įkeltiems ištekliams, paleiskite",
"note_cannot_be_changed_later": "PASTABA: Vėliau to pakeisti negalima!",
"note_unlimited_quota": "Pastaba: įveskite 0 norint neribotos kvotos",
"notification_email_from_address": "Iš adreso",
"notification_email_from_address_description": "Siuntėjo elektroninis adresas, pavyzdžiui: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Elektroninio pašto serverio savininkas (pvz. smtp.immich.app)",
@@ -771,7 +770,6 @@
"no_results_description": "Pabandykite sinonimą arba bendresnį raktažodį",
"no_shared_albums_message": "",
"not_in_any_album": "Nė viename albume",
"note_unlimited_quota": "Pastaba: Įveskite 0, jei norite neribotos kvotos",
"notes": "Pastabos",
"notification_toggle_setting_description": "Įjungti el. pašto pranešimus",
"notifications": "Pranešimai",

View File

@@ -699,12 +699,18 @@
"purchase_button_remove_key": "Noņemt atslēgu",
"purchase_button_select": "Izvēlēties",
"purchase_individual_description_2": "Atbalstītāja statuss",
"purchase_input_suggestion": "Vai tev ir produkta atslēga? Ievadi atslēgu zemāk",
"purchase_license_subtitle": "Nopērc Immich licenci, lai atbalstītu turpmāku pakalpojuma attīstību",
"purchase_lifetime_description": "Pirkums uz mūžu",
"purchase_option_title": "IEGĀDES IESPĒJAS",
"purchase_panel_title": "Atbalstīt projektu",
"purchase_remove_product_key": "Noņemt produkta atslēgu",
"purchase_remove_server_product_key": "Noņemt servera produkta atslēgu",
"purchase_server_description_1": "Visam serverim",
"purchase_server_description_2": "Atbalstītāja statuss",
"purchase_server_title": "Serveris",
"purchase_settings_server_activated": "Servera produkta atslēgu pārvalda administrators",
"rating_clear": "Noņemt vērtējumu",
"reaction_options": "",
"read_changelog": "Lasīt izmaiņu sarakstu",
"recent": "",

View File

@@ -65,6 +65,11 @@
"forcing_refresh_library_files": "Memaksa muat semula semua fail perpustakaan",
"image_format": "Format",
"image_format_description": "WebP menghasilkan fail yang lebih kecil daripada JPEG, tetapi lebih perlahan untuk mengekod.",
"image_fullsize_description": "Imej bersaiz penuh dengan metadata yang dilucutkan, digunakan apabila dizum masuk",
"image_fullsize_enabled": "Dayakan penjanaan imej bersaiz penuh",
"image_fullsize_enabled_description": "Hasilkan imej bersaiz penuh untuk format tidak mesra web. Apabila \"Lebih suka pratonton terbenam\" didayakan, pratonton terbenam digunakan secara langsung tanpa penukaran. Tidak menjejaskan format mesra web seperti JPEG.",
"image_fullsize_quality_description": "Kualiti imej bersaiz penuh dari 1-100. Lebih tinggi adalah lebih baik, tetapi menghasilkan fail yang lebih besar.",
"image_fullsize_title": "Tetapan Imej bersaiz penuh",
"image_prefer_embedded_preview": "Cadangkan pratonton terbenam",
"image_prefer_embedded_preview_setting_description": "Gunakan pratonton terbenam dalam foto RAW sebagai input kepada pemprosesan imej apabila tersedia. Cara ini boleh menghasilkan warna yang lebih tepat untuk sesetengah imej, tetapi kualiti pratonton bergantung pada kamera dan imej mungkin mempunyai lebih banyak artifak mampatan.",
"image_prefer_wide_gamut": "Cadangkan warna gamut yang luas",
@@ -159,7 +164,6 @@
"no_pattern_added": "Tiada corak ditambah",
"note_apply_storage_label_previous_assets": "Nota: Untuk menggunakan Label Storan pada aset yang dimuat naik sebelum ini, jalankan",
"note_cannot_be_changed_later": "NOTA: Ini tidak boleh diubah kemudian!",
"note_unlimited_quota": "Nota: Masukkan 0 untuk kuota tanpa had",
"notification_email_from_address": "Dari alamat",
"notification_email_from_address_description": "Alamat e-mel penghantar, sebagai contoh: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Hos e-mel pelayan (cth. smtp.immich.app)",
@@ -321,7 +325,8 @@
"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."
"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.",
"transcoding_transcode_policy": "Dasar transkod"
},
"deduplication_criteria_1": "Saiz imej dalam bait",
"deduplication_criteria_2": "Kiraan data EXIF",
@@ -372,4 +377,4 @@
"yes": "Ya",
"you_dont_have_any_shared_links": "Anda tidak mempunyai apa-apa pautan yang dikongsi",
"zoom_image": "Zum Gambar"
}
}

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Tvinger oppdatering av alle bibliotekfiler",
"image_format": "Format",
"image_format_description": "WebP gir mindre filer enn JPEG, men er tregere å lage.",
"image_fullsize_description": "Bilde i full størrelse med strippet metadata, brukt når du zoomer inn",
"image_fullsize_enabled": "Aktiver generering av bilder i full størrelse",
"image_fullsize_enabled_description": "Generer bilder i full størrelse for ikke-nettvennlige formater. Når \"Foretrekk innebygd forhåndsvisning\" er aktivert, brukes innebygde forhåndsvisninger direkte uten konvertering. Påvirker ikke nettvennlige formater som JPEG.",
"image_fullsize_quality_description": "Bildekvalitet i full størrelse fra 1-100. Høyere er bedre, men produserer større filer.",
"image_fullsize_title": "Bildeinnstillinger for full størrelse",
"image_prefer_embedded_preview": "Foretrekk innebygd forhåndsvisning",
"image_prefer_embedded_preview_setting_description": "Bruk innebygd forhåndsvisning i RAW-bilder som inndata til bildebehandling når tilgjengelig. Dette kan gi mer nøyaktige farger for noen bilder, men kvaliteten er avhengig av kamera og bildet kan ha komprimeringsartefakter.",
"image_prefer_wide_gamut": "Foretrekk bredt fargespekter",
@@ -162,7 +167,6 @@
"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_cannot_be_changed_later": "MERK: Dette kan ikke endres senere!",
"note_unlimited_quota": "Merk: Skriv inn 0 for ubegrenset kvote",
"notification_email_from_address": "Fra adresse",
"notification_email_from_address_description": "Avsenderens e-postadresse, for eksempel: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Verten til e-posts serveren (f.eks. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Gjenta Videoer",
"loop_videos_description": "Aktiver for å automatisk loope en video i detaljeviseren.",
"main_branch_warning": "Du bruker en utviklingsversjon; vi anbefaler på det sterkeste og bruke en utgitt versjon!",
"main_menu": "Hovedmeny",
"make": "Merke",
"manage_shared_links": "Håndter delte linker",
"manage_sharing_with_partners": "Administrer deling med partnere",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Opprett et album for å dele bilder og videoer med personer i nettverket ditt",
"not_in_any_album": "Ikke i noen album",
"note_apply_storage_label_to_previously_uploaded assets": "Merk: For å bruke lagringsetiketten på tidligere opplastede filer, kjør",
"note_unlimited_quota": "Merk: Skriv inn 0 for ubegrenset kvote",
"notes": "Notater",
"notification_toggle_setting_description": "Aktiver e-postvarsler",
"notifications": "Notifikasjoner",
@@ -997,7 +1001,7 @@
"pick_a_location": "Velg et sted",
"place": "Sted",
"places": "Plasseringer",
"places_count": "{count, plural, one {{count, number} Place} other {{count, number} Places}}",
"places_count": "{count, plural, one {{count, number} Sted} other {{count, number} Steder}}",
"play": "Spill av",
"play_memories": "Spill av minner",
"play_motion_photo": "Spill av bevegelsesbilde",
@@ -1366,6 +1370,7 @@
"view_name": "Vis",
"view_next_asset": "Vis neste fil",
"view_previous_asset": "Vis forrige fil",
"view_qr_code": "Vis QR-kode",
"view_stack": "Vis Stabbel",
"visibility_changed": "Synlighet endret for {count, plural, one {# person} other {# people}}",
"waiting": "Venter",
@@ -1374,7 +1379,7 @@
"welcome": "Velkommen",
"welcome_to_immich": "Velkommen til Immich",
"year": "År",
"years_ago": "{years, plural, one {# year} other {# years}} siden",
"years_ago": "{years, plural, one {# år} other {# år}} siden",
"yes": "Ja",
"you_dont_have_any_shared_links": "Du har ingen delte lenker",
"zoom_image": "Zoom Bilde"

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Geforceerd vernieuwen van alle bibliotheekbestanden",
"image_format": "Formaat",
"image_format_description": "WebP produceert kleinere bestanden dan JPEG, maar is langzamer om te verwerken.",
"image_fullsize_description": "Afbeelding op ware grootte met gestripte metadata, gebruikt bij inzoomen",
"image_fullsize_enabled": "Genereer afbeeldingen op ware grootte inschakelen",
"image_fullsize_enabled_description": "Genereer afbeelding op volledig formaat voor niet-webvriendelijke formaten. Als “Ingebed voorvertoning verkiezen” is ingeschakeld, worden ingesloten voorvertoningen direct gebruikt zonder conversie. Heeft geen invloed op webvriendelijke formaten zoals JPEG.",
"image_fullsize_quality_description": "Beeldkwaliteit op ware grootte van 1-100. Hoger is beter, maar genereert grotere bestanden.",
"image_fullsize_title": "Instellingen afbeelding op ware grootte",
"image_prefer_embedded_preview": "Ingebedde voorbeeldafbeelding gebruiken",
"image_prefer_embedded_preview_setting_description": "Ingebedde voorbeeldafbeelding van RAW bestanden gebruiken als invoer voor beeldverwerking wanneer beschikbaar. Dit kan preciezere kleuren produceren voor sommige afbeeldingen, maar de kwaliteit van het voorbeeld is afhankelijk van de camera en de afbeelding kan mogelijk meer compressie-artefacten hebben.",
"image_prefer_embedded_preview_setting_description": "Ingebedde voorbeeldafbeelding van RAW bestanden gebruiken als invoer voor beeldverwerking wanneer beschikbaar. Dit kan preciezere kleuren produceren voor sommige afbeeldingen, maar de kwaliteit van het voorbeeld is afhankelijk van de camera en de afbeelding kan mogelijk meer compressie-artefacten bevatten.",
"image_prefer_wide_gamut": "Voorkeur geven aan wide gamut",
"image_prefer_wide_gamut_setting_description": "Display P3 gebruiken voor voorbeeldafbeeldingen. Dit behoudt de levendigheid van afbeeldingen met brede kleurruimtes beter, maar afbeeldingen kunnen er anders uitzien op oude apparaten met een oude browserversie. sRGB-afbeeldingen blijven sRGB gebruiken om kleurverschuivingen te vermijden.",
"image_preview_description": "Middelgrote afbeelding met verwijderde metadata, gebruikt bij het bekijken van een enkele asset en voor machine learning",
@@ -162,7 +167,6 @@
"no_pattern_added": "Geen patroon toegevoegd",
"note_apply_storage_label_previous_assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade assets, voer de volgende taak uit",
"note_cannot_be_changed_later": "LET OP: Dit kan later niet meer worden gewijzigd!",
"note_unlimited_quota": "Opmerking: voer 0 in voor onbeperkt",
"notification_email_from_address": "Adres afzender",
"notification_email_from_address_description": "E-mailadres van de afzender, bijvoorbeeld: \"Immich Foto Server <noreply@example.com>\"",
"notification_email_host_description": "Host van de e-mailserver (bijv. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Video's herhalen",
"loop_videos_description": "Inschakelen om video's automatisch te herhalen in de detailweergave.",
"main_branch_warning": "U gebruikt een ontwikkelingsversie. Wij raden u ten zeerste aan een releaseversie te gebruiken!",
"main_menu": "Hoofdmenu",
"make": "Merk",
"manage_shared_links": "Beheer gedeelde links",
"manage_sharing_with_partners": "Beheer delen met partners",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Maak een album om foto's en video's te delen met mensen in je netwerk",
"not_in_any_album": "Niet in een album",
"note_apply_storage_label_to_previously_uploaded assets": "Opmerking: om het opslaglabel toe te passen op eerder geüploade assets, voer de volgende taak uit",
"note_unlimited_quota": "Opmerking: voer 0 in voor onbeperkt",
"notes": "Opmerkingen",
"notification_toggle_setting_description": "E-mailmeldingen inschakelen",
"notifications": "Meldingen",

View File

@@ -66,20 +66,25 @@
"forcing_refresh_library_files": "Wymuś skanowanie wszystkich pliki w bibliotece",
"image_format": "Format",
"image_format_description": "Użycie formatu WebP skutkuje utworzeniem plików o rozmiarze mniejszym niż w przypadku JPEG ale jego kodowanie trwa dłużej.",
"image_prefer_embedded_preview": "Preferuj podgląd wbudowany",
"image_fullsize_description": "Pełnowymiarowy obraz z usuniętymi metadanymi, używany przy powiększeniu",
"image_fullsize_enabled": "Włącz generowanie obrazów o pełnym wymiarze",
"image_fullsize_enabled_description": "Generuje pełnowymiarowe obrazy dla formatów nieprzyjaznych stronom internetowym. Gdy opcja „Preferuj osadzony podgląd” jest włączona, osadzone podglądy są używane bezpośrednio bez konwersji. Nie wpływa na formaty przyjazne stronom internetowym, takie jak JPEG.",
"image_fullsize_quality_description": "Jakość pełnowymiarowego obrazu od 1 do 100. Wyższa jest lepsza, ale tworzy większe pliki.",
"image_fullsize_title": "Ustawienia pełnowymiarowego obrazu",
"image_prefer_embedded_preview": "Preferuj osadzony podgląd",
"image_prefer_embedded_preview_setting_description": "Jeśli to możliwe, używaj osadzonych podglądów w zdjęciach RAW jako danych wejściowych do przetwarzania obrazu. Może to zapewnić dokładniejsze kolory w przypadku niektórych obrazów, ale jakość podglądu zależy od aparatu, a obraz może zawierać więcej artefaktów kompresji.",
"image_prefer_wide_gamut": "Preferuj szeroką paletę barw",
"image_prefer_wide_gamut_setting_description": "Do wyświetlania miniatur użyj wyświetlacza P3. Dzięki temu lepiej zachowuje się intensywność obrazów o dużej ilości kolorów, ale obrazy mogą wyglądać inaczej na starych urządzeniach ze starą wersją przeglądarki. Obrazy sRGB są zachowywane jako sRGB, aby uniknąć przesunięć kolorów.",
"image_preview_description": "Obraz średniej wielkości z wyciętymi metadanymi, używany podczas przeglądania pojedynczego zasobu i do uczenia maszynowego",
"image_preview_quality_description": "Jakość podglądu od 1 do 100. Wyższa jest lepsza, ale powoduje większe pliki i może zmniejszyć responsywność aplikacji. Ustawienie niskiej wartości może wpłynąć na jakość uczenia maszynowego.",
"image_preview_description": "Obraz średniej wielkości z wyczyszczonymi metadanymi, używany podczas przeglądania pojedynczego zasobu i do uczenia maszynowego",
"image_preview_quality_description": "Jakość podglądu od 1 do 100. Wyższa jest lepsza, ale tworzy większe pliki i może spowolnić reakcję aplikacji. Ustawienie niskiej wartości może wpłynąć na jakość uczenia maszynowego.",
"image_preview_title": "Ustawienia podglądu",
"image_quality": "Jakość",
"image_resolution": "Rozdzielczość",
"image_resolution_description": "Wyższe rozdzielczości pozwalają zachować więcej szczegółów, ale wymagają dłuższego kodowania, mają większy rozmiar pliku i mogą spowalniać reakcję aplikacji.",
"image_settings": "Ustawienia Obrazu",
"image_settings_description": "Zarządzaj jakością i rozdzielczością generowanych obrazów",
"image_thumbnail_description": "Mała miniatura z wyciętymi metadanymi, używana podczas przeglądania grup zdjęć, takich jak główna oś czasu",
"image_thumbnail_quality_description": "Jakość miniatur od 1 do 100. Im wyższa, tym lepsza, ale powoduje to większy rozmiar plików i może spowolnić reakcję aplikacji.",
"image_thumbnail_description": "Mała miniatura z wyczyszczonymi metadanymi, używana podczas przeglądania grup zdjęć, takich jak główna oś czasu",
"image_thumbnail_quality_description": "Jakość miniatur od 1 do 100. Wyższa jest lepsza, ale tworzy większe pliki i może spowolnić reakcję aplikacji.",
"image_thumbnail_title": "Ustawienia miniatur",
"job_concurrency": "{job} współbieżność",
"job_created": "Zadanie utworzone",
@@ -148,8 +153,8 @@
"map_settings": "Ustawienia Mapy",
"map_settings_description": "Zarządzaj ustawieniami mapy",
"map_style_description": "URL do pliku style.json z motywem mapy",
"memory_cleanup_job": "Czyszczenie pamięci",
"memory_generate_job": "Generowanie pamięci",
"memory_cleanup_job": "Czyszczenie wspomnień",
"memory_generate_job": "Generowanie wspomnień",
"metadata_extraction_job": "Wyodrębnij metadane",
"metadata_extraction_job_description": "Wyodrębnij informacje o metadanych z każdego zasobu, takie jak GPS, twarze i rozdzielczość",
"metadata_faces_import_setting": "Włącz import twarzy",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nie dodano wzoru",
"note_apply_storage_label_previous_assets": "Uwaga: aby zastosować etykietę magazynu do wcześniej przesłanych zasobów, uruchom",
"note_cannot_be_changed_later": "UWAŻAJ: Nie można tego później zmienić!",
"note_unlimited_quota": "Wpisz by wyłączyć limit",
"notification_email_from_address": "Z adresu",
"notification_email_from_address_description": "Adres e-mail nadawcy, na przykład: „Immich Photo Server <noreply@example.com>”",
"notification_email_host_description": "Host serwera e-mail (np. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Powtarzaj filmy",
"loop_videos_description": "Włącz automatyczne zapętlanie wideo w przeglądarce szczegółów.",
"main_branch_warning": "Używasz wersji deweloperskiej. Rekomendujemy instalację stabilnej wersji aplikacji!",
"main_menu": "Menu główne",
"make": "Marka",
"manage_shared_links": "Zarządzaj udostępnionymi linkami",
"manage_sharing_with_partners": "Zarządzaj dzieleniem z partnerami",
@@ -909,7 +914,7 @@
"no_albums_message": "Stwórz album, aby organizować Twoje zdjęcia i filmy",
"no_albums_with_name_yet": "Wygląda na to, że nie masz jeszcze żadnych albumów o tej nazwie.",
"no_albums_yet": "Wygląda na to, że nie masz jeszcze żadnych albumów.",
"no_archived_assets_message": "Archiwuj zdjęcia i filmy, aby ukryć je ze strony Zdjęcia",
"no_archived_assets_message": "Archiwizuj zdjęcia i filmy, aby ukryć je ze strony Zdjęcia",
"no_assets_message": "KLIKNIJ, ABY WYSŁAĆ PIERWSZE ZDJĘCIE",
"no_duplicates_found": "Nie znaleziono duplikatów.",
"no_exif_info_available": "Nie znaleziono informacji exif",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Stwórz album aby udostępnić zdjęcia i filmy osobom w Twojej sieci",
"not_in_any_album": "Bez albumu",
"note_apply_storage_label_to_previously_uploaded assets": "Uwaga: Aby przypisać etykietę magazynowania do wcześniej przesłanych zasobów, uruchom",
"note_unlimited_quota": "Wpisz 0, aby wyłączyć limit",
"notes": "Uwagi",
"notification_toggle_setting_description": "Włącz powiadomienia e-mail",
"notifications": "Powiadomienia",
@@ -1047,7 +1051,7 @@
"purchase_server_title": "Serwer",
"purchase_settings_server_activated": "Klucz produktu serwera jest zarządzany przez administratora",
"rating": "Ocena gwiazdkowa",
"rating_clear": "Wyczyść oceną",
"rating_clear": "Wyczyść ocenę",
"rating_count": "{count, plural, one {# gwiazdka} other {# gwiazdek}}",
"rating_description": "Wyświetl ocenę z EXIF w panelu informacji",
"reaction_options": "Opcje reakcji",
@@ -1077,8 +1081,10 @@
"remove_custom_date_range": "Usuń niestandardowy zakres dat",
"remove_deleted_assets": "Usuń Niedostępne Pliki",
"remove_from_album": "Usuń z albumu",
"remove_from_favorites": "Usuń z ulubionych",
"remove_from_favorites": "Usuń z ulubionych",
"remove_from_shared_link": "Usuń z udostępnionego linku",
"remove_memory": "Usuń pamięć",
"remove_photo_from_memory": "Usuń zdjęcia z tej pamięci",
"remove_url": "Usuń URL",
"remove_user": "Usuń użytkownika",
"removed_api_key": "Usunięto Klucz API: {name}",

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "A forçar a atualização de todos os ficheiros da biblioteca",
"image_format": "Formato",
"image_format_description": "WebP produz ficheiros mais pequenos do que JPEG, mas é mais lento para codificar.",
"image_fullsize_description": "Imagem de tamanho inteiro sem meta dados, utilizada quando esta for ampliada",
"image_fullsize_enabled": "Ativar geração de imagem em tamanho inteiro",
"image_fullsize_enabled_description": "Gerar imagens de tamanho inteiro para formatos não compatíveis com a web. Quando a opção \"Preferir visualização incorporada\" está ativada, estas serão utilizadas diretamente sem serem convertidas. Não afeta formatos compatíveis com a web tais como JPEG.",
"image_fullsize_quality_description": "Qualidade da imagem de tamanho inteiro de 1 a 100. Valores mais altos são melhores, mas produzem ficheiros maiores.",
"image_fullsize_title": "Definições de imagem de tamanho inteiro",
"image_prefer_embedded_preview": "Preferir visualização incorporada",
"image_prefer_embedded_preview_setting_description": "Utilizar visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isto pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmara e a imagem pode ter mais artefatos de compressão.",
"image_prefer_embedded_preview_setting_description": "Utilizar visualizações incorporadas em fotos RAW como entrada para processamento de imagem e quando disponível. Isto pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmara e a imagem pode ter mais artefatos de compressão.",
"image_prefer_wide_gamut": "Prefira ampla gama",
"image_prefer_wide_gamut_setting_description": "Utilizar Display P3 para miniaturas. Isso preserva melhor a vibrância 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 metadados, utilizada ao visualizar um único ficheiro e pela aprendizagem de máquina",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nenhum padrão adicionado",
"note_apply_storage_label_previous_assets": "Observação: Para aplicar o Rótulo de Armazenamento a ficheiros carregados anteriormente, execute o",
"note_cannot_be_changed_later": "NOTA: Isto não pode ser alterado posteriormente!",
"note_unlimited_quota": "Observação: insira 0 para quota ilimitada",
"notification_email_from_address": "A partir do endereço",
"notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Servidor de Fotos Immich <noreply@example.com>\"",
"notification_email_host_description": "Host do servidor de e-mail (por exemplo, smtp.immich.app)",
@@ -467,7 +471,7 @@
"check_all": "Verificar tudo",
"check_logs": "Verificar registos",
"choose_matching_people_to_merge": "Escolha pessoas correspondentes para unir",
"city": "Cidade",
"city": "Cidade/Localidade",
"clear": "Limpar",
"clear_all": "Limpar tudo",
"clear_all_recent_searches": "Limpar todas as pesquisas recentes",
@@ -859,6 +863,7 @@
"loop_videos": "Repetir vídeos",
"loop_videos_description": "Ativar para repetir os vídeos automaticamente durante a exibição.",
"main_branch_warning": "Está a utilizar uma versão de desenvolvimento, recomendamos vivamente que utilize uma versão estável!",
"main_menu": "Menu Principal",
"make": "Marca",
"manage_shared_links": "Gerir links partilhados",
"manage_sharing_with_partners": "Gerir partilha com parceiros",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Crie um álbum para partilhar fotos e vídeos com pessoas na sua rede",
"not_in_any_album": "Não está em nenhum álbum",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar o Rótulo de Armazenamento a ficheiros carregados anteriormente, execute o",
"note_unlimited_quota": "Nota: Escreva 0 para quota ilimitada",
"notes": "Notas",
"notification_toggle_setting_description": "Ativar notificações por e-mail",
"notifications": "Notificações",
@@ -1244,7 +1248,7 @@
"stacktrace": "Stacktrace",
"start": "Iniciar",
"start_date": "Data de início",
"state": "Estado",
"state": "Estado/Distrito",
"status": "Estado",
"stop_motion_photo": "Parar foto em movimento",
"stop_photo_sharing": "Deixar de partilhar as suas fotos?",
@@ -1366,6 +1370,7 @@
"view_name": "Ver",
"view_next_asset": "Ver próximo ficheiro",
"view_previous_asset": "Ver ficheiro anterior",
"view_qr_code": "Ver código QR",
"view_stack": "Ver pilha",
"visibility_changed": "Visibilidade alterada para {count, plural, one {# pessoa} other {# pessoas}}",
"waiting": "Em fila",

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Forçando a atualização de todos os arquivos da biblioteca",
"image_format": "Formato",
"image_format_description": "WebP produz arquivos menores que JPEG, mas é mais lento para codificar.",
"image_fullsize_description": "Imagem em tamanho real sem os metadados exibida quando der zoom",
"image_fullsize_enabled": "Ativar geração de imagem no tamanho real",
"image_fullsize_enabled_description": "Gerar imagens no tamanho real para os formatos de arquivos não compatíveis com a web. Quando \"Preferir visualização incorporada\" estiver ativado, essas serão utilizadas sem conversão. Não afeta arquivos já em formatos para web, como JPEG.",
"image_fullsize_quality_description": "Qualidade da imagem em tamanho real, de 1 a 100. Valores maiores tem melhor qualidade, mas gera arquivos maiores.",
"image_fullsize_title": "Configurações de imagem em tamanho real",
"image_prefer_embedded_preview": "Preferir visualização incorporada",
"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 a entrada para processamento de imagem e 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_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 visualizando um único arquivo e também pelo aprendizado de máquina",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nenhum padrão adicionado",
"note_apply_storage_label_previous_assets": "Observação: Para aplicar o rótulo de armazenamento a arquivos carregados anteriormente, execute o",
"note_cannot_be_changed_later": "NOTA: Isto não pode ser alterado posteriormente!",
"note_unlimited_quota": "Observação: insira 0 para cota ilimitada",
"notification_email_from_address": "E-mail de origem",
"notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Host do servidor de e-mail (por exemplo, smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Repetir vídeos",
"loop_videos_description": "Ative para repetir os vídeos automaticamente durante a exibição.",
"main_branch_warning": "Você está utilizando a versão de desenvolvimento. É altamente recomendado que utilize a versão estável!",
"main_menu": "Menu Principal",
"make": "Marca",
"manage_shared_links": "Gerir links partilhados",
"manage_sharing_with_partners": "Gerenciar compartilhamento com parceiros",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Crie um álbum para compartilhar fotos e vídeos com pessoas em sua rede",
"not_in_any_album": "Fora de álbum",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar o rótulo de armazenamento a arquivos carregados anteriormente, execute o",
"note_unlimited_quota": "Nota: Digite 0 para cota ilimitada",
"notes": "Notas",
"notification_toggle_setting_description": "Habilitar notificações por e-mail",
"notifications": "Notificações",
@@ -1174,7 +1178,7 @@
"server_version": "Versão do servidor",
"set": "Definir",
"set_as_album_cover": "Definir como capa do álbum",
"set_as_featured_photo": "Definir como foto principal",
"set_as_featured_photo": "Definir como foto em destaque",
"set_as_profile_picture": "Definir como foto de perfil",
"set_date_of_birth": "Definir data de nascimento",
"set_profile_picture": "Definir foto de perfil",
@@ -1187,14 +1191,14 @@
"shared_by_user": "Compartilhado por {user}",
"shared_by_you": "Compartilhado por você",
"shared_from_partner": "Fotos de {partner}",
"shared_link_options": "Opções do link compartilhado",
"shared_link_options": "Opções de link compartilhado",
"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 {# Foto & vídeo compartilhado.} other {# Fotos & vídeos compartilhados.}}",
"shared_with_partner": "Compartilhado com {partner}",
"sharing": "Compartilhar",
"sharing": "Compartilhamento",
"sharing_enter_password": "Digite a senha para visualizar esta página.",
"sharing_sidebar_description": "Exibe o link Compartilhar na barra lateral",
"sharing_sidebar_description": "Exibe um link para Compartilhamento na barra lateral",
"shift_to_permanent_delete": "pressione ⇧ para excluir permanentemente o arquivo",
"show_album_options": "Exibir opções do álbum",
"show_albums": "Exibir álbuns",
@@ -1214,15 +1218,15 @@
"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_supporter_badge": "Insígnia de Contribuidor",
"show_supporter_badge_description": "Mostrar a insígnia de contribuidor",
"show_supporter_badge": "Insígnia de apoiador",
"show_supporter_badge_description": "Mostrar uma insígnia de apoiador",
"shuffle": "Aleatório",
"sidebar": "Barra lateral",
"sidebar_display_description": "Exibir um link para visualizar na barra lateral",
"sidebar_display_description": "Exibir um link para a visualização na barra lateral",
"sign_out": "Sair",
"sign_up": "Registrar",
"size": "Tamanho",
"skip_to_content": "Pular para o conteúdo",
"skip_to_content": "Ir para o conteúdo",
"skip_to_folders": "Ir para pastas",
"skip_to_tags": "Ir para os marcadores",
"slideshow": "Apresentação",
@@ -1240,19 +1244,19 @@
"stack_duplicates": "Empilhar duplicados",
"stack_select_one_photo": "Selecione uma foto principal para a pilha",
"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": "Rastreamento de pilha",
"start": "Início",
"start_date": "Data inicial",
"state": "Estado",
"status": "Status",
"stop_motion_photo": "Parar foto em movimento",
"stop_photo_sharing": "Parar de partilhar as suas fotos?",
"stop_photo_sharing": "Parar de compartilhar suas fotos?",
"stop_photo_sharing_description": "{partner} não terá mais acesso às suas fotos.",
"stop_sharing_photos_with_user": "Parar de compartilhar as fotos com este usuário",
"stop_sharing_photos_with_user": "Parar de compartilhar suas fotos com este usuário",
"storage": "Espaço de armazenamento",
"storage_label": "Rótulo de armazenamento",
"storage_usage": "utilizado {used} de {available}",
"storage_usage": "Utilizado {used} de {available}",
"submit": "Enviar",
"suggestions": "Sugestões",
"sunrise_on_the_beach": "Nascer do sol na praia",
@@ -1264,11 +1268,11 @@
"tag": "Marcador",
"tag_assets": "Marcar arquivos",
"tag_created": "Marcador criado: {tag}",
"tag_feature_description": "Visualizar fotos e videos agrupados pelo tópico do marcador",
"tag_feature_description": "Navegando por fotos e videos agrupados pelo tópico lógico do marcador",
"tag_not_found_question": "Não consegue encontrar o marcador? <link>Crie uma novo aqui.</link>",
"tag_people": "Marcar pessoas",
"tag_updated": "Marcador foi atualizado: {tag}",
"tagged_assets": "{count, plural, one {# arquivo marcado} other {# arquivos marcados}}",
"tagged_assets": "{count, plural, one {# Arquivo marcado} other {# Arquivos marcados}}",
"tags": "Marcadores",
"template": "Modelo",
"theme": "Tema",
@@ -1276,14 +1280,14 @@
"theme_selection_description": "Defina automaticamente o tema como claro ou escuro com base na preferência do sistema do seu navegador",
"they_will_be_merged_together": "Eles serão mesclados",
"third_party_resources": "Recursos de terceiros",
"time_based_memories": "Memórias baseada no tempo",
"time_based_memories": "Memórias baseadas no tempo",
"timeline": "Linha do tempo",
"timezone": "Fuso horário",
"to_archive": "Arquivar",
"to_change_password": "Alterar senha",
"to_favorite": "Favorito",
"to_login": "Iniciar sessão",
"to_parent": "Voltar um nível acima",
"to_parent": "Voltar para nível acima",
"to_trash": "Mover para a lixeira",
"toggle_settings": "Alternar configurações",
"toggle_theme": "Alternar tema escuro",
@@ -1297,7 +1301,7 @@
"trashed_items_will_be_permanently_deleted_after": "Os itens da lixeira serão deletados permanentemente após {days, plural, one {# dia} other {# dias}}.",
"type": "Tipo",
"unarchive": "Desarquivar",
"unarchived_count": "{count, plural, one {# desarquivado} other {# desarquivados}}",
"unarchived_count": "{count, plural, one {# Desarquivado} other {# Desarquivados}}",
"unfavorite": "Remover favorito",
"unhide_person": "Exibir pessoa",
"unknown": "Desconhecido",
@@ -1312,19 +1316,19 @@
"unnamed_album_delete_confirmation": "Tem certeza que deseja excluir este álbum?",
"unnamed_share": "Compartilhamento sem nome",
"unsaved_change": "Alteração não salva",
"unselect_all": "Limpar seleção",
"unselect_all": "Desselecionar todos",
"unselect_all_duplicates": "Desselecionar todas as duplicatas",
"unstack": "Desempilhar",
"unstacked_assets_count": "{count, plural, one {# arquivo não empilhado} other {# arquivos não empilhados}}",
"unstacked_assets_count": "{count, plural, one {# Arquivo desempilhado} other {# Arquivos desempilhados}}",
"untracked_files": "Arquivos não monitorados",
"untracked_files_decription": "Estes arquivos não são monitorados pela aplicação. Podem ser resultados de falhas em uma movimentação, carregamentos interrompidos, ou deixados para trás por causa de um problema",
"up_next": "A seguir",
"updated_password": "Senha atualizada",
"upload": "Carregar",
"upload_concurrency": "Carregar simultâneo",
"upload_concurrency": "Envios simultâneos",
"upload_errors": "Envio concluído com {count, plural, one {# erro} other {# erros}}, atualize a página para ver os novos arquivos carregados.",
"upload_progress": "{remaining, number} processando - {processed, number}/{total, number} já processados",
"upload_skipped_duplicates": "{count, plural, one {# arquivo duplicado foi ignorado} other {# arquivos duplicados foram ignorados}}",
"upload_progress": "{remaining, number} restantes - {processed, number}/{total, number} já processados",
"upload_skipped_duplicates": "{count, plural, one {# Arquivo duplicado foi ignorado} other {# Arquivos duplicados foram ignorados}}",
"upload_status_duplicates": "Duplicados",
"upload_status_errors": "Erros",
"upload_status_uploaded": "Carregado",
@@ -1334,23 +1338,23 @@
"use_custom_date_range": "Usar intervalo de datas personalizado",
"user": "Usuário",
"user_id": "ID do usuário",
"user_liked": "{user} curtiu {type, select, photo {a foto} video {o vídeo} asset {o arquivo} other {isso}}",
"user_liked": "{user} curtiu {type, select, photo {esta foto} video {este vídeo} asset {este arquivo} other {isto}}",
"user_purchase_settings": "Comprar",
"user_purchase_settings_description": "Gerenciar sua compra",
"user_role_set": "Definir {user} como {role}",
"user_usage_detail": "Detalhes de uso do usuário",
"user_usage_stats": "Estatísticas de utilização de conta",
"user_usage_stats_description": "Ver estatísticas de utilização de conta",
"user_usage_stats": "Estatísticas de utilização da conta",
"user_usage_stats_description": "Ver estatísticas de utilização da conta",
"username": "Nome do usuário",
"users": "Usuários",
"utilities": "Utilitários",
"utilities": "Ferramentas",
"validate": "Validar",
"variables": "Variáveis",
"version": "Versão",
"version_announcement_closing": "De seu amigo, Alex",
"version_announcement_message": "Olá! Uma nova versão do Immich está disponível. Para evitar configurações incorretas, leia com calma a página de <link>notas da versão</link> e verifique se é necessário alterar alguma configuração, principalmente se você usa o WatchTower ou qualquer outro mecanismo que faça atualizações automáticas do Immich.",
"version_history": "Histórico de versões",
"version_history_item": "Instalado {version} em {date}",
"version_history_item": "Versão {version} instalada em {date}",
"video": "Vídeo",
"video_hover_setting": "Reproduzir miniatura do vídeo ao passar o mouse",
"video_hover_setting_description": "Reproduzir a miniatura do vídeo ao passar o mouse sobre o item. Mesmo quando desativado, a reprodução pode ser iniciada ao passar o mouse sobre o ícone de reprodução.",
@@ -1359,16 +1363,17 @@
"view": "Ver",
"view_album": "Ver álbum",
"view_all": "Ver tudo",
"view_all_users": "Ver todos usuários",
"view_all_users": "Ver todos os usuários",
"view_in_timeline": "Ver na linha do tempo",
"view_link": "Ver link",
"view_links": "Ver links",
"view_name": "Ver",
"view_next_asset": "Ver próximo arquivo",
"view_previous_asset": "Ver arquivo anterior",
"view_stack": "Exibir Pilha",
"view_qr_code": "Ver QR Code",
"view_stack": "Ver Pilha",
"visibility_changed": "A visibilidade de {count, plural, one {# pessoa foi alterada} other {# pessoas foram alteradas}}",
"waiting": "Aguardando",
"waiting": "Na fila",
"warning": "Aviso",
"week": "Semana",
"welcome": "Bem-vindo",
@@ -1376,6 +1381,6 @@
"year": "Ano",
"years_ago": "{years, plural, one {# ano} other {# anos}} atrás",
"yes": "Sim",
"you_dont_have_any_shared_links": "Não há links compartilhados",
"you_dont_have_any_shared_links": "Você não possui links compartilhados",
"zoom_image": "Ampliar imagem"
}

View File

@@ -20,7 +20,7 @@
"add_partner": "Adaugă partener",
"add_path": "Adaugă o cale",
"add_photos": "Adaugă fotografii",
"add_to": "Adaugă la...",
"add_to": "Adaugă la",
"add_to_album": "Adaugă în album",
"add_to_shared_album": "Adaugă la album partajat",
"add_url": "Adăugați adresa URL",
@@ -41,6 +41,7 @@
"backup_settings": "Setări Copii de Rezervă",
"backup_settings_description": "Gestionați setările de salvare a bazei de date",
"check_all": "Bifează Toate",
"cleanup": "Curăță",
"cleared_jobs": "Activități eliminate pentru: {job}",
"config_set_by_file": "Configurația este setată în prezent de un fișier de configurare",
"confirm_delete_library": "Sigur doriți să ștergeți biblioteca {library}?",
@@ -63,10 +64,15 @@
"failed_job_command": "Comanda {command} a eșuat pentru jobul: {job}",
"force_delete_user_warning": "AVERTISMENT: Acest lucru va elimina imediat utilizatorul și toate activele sale. Acest lucru nu poate fi anulat și fișierele nu pot fi recuperate.",
"forcing_refresh_library_files": "Forțarea reîmprospătării tuturor fișierelor din bibliotecă",
"image_format": "Formateaza",
"image_format": "Formatează",
"image_format_description": "WebP produce fișiere mai mici decât JPEG, dar este mai lent de codat.",
"image_prefer_embedded_preview": "Preferați previzualizarea încorporată",
"image_prefer_embedded_preview_setting_description": "Folosiți previzualizările încorporate în fotografiile RAW ca intrare pentru procesarea imaginii, atunci când sunt disponibile. Acest lucru poate produce culori mai precise pentru unele imagini, dar calitatea previzualizării depinde de cameră și imaginea poate avea mai multe artefacte de compresie.",
"image_fullsize_description": "Imaginea întreagă fără metadata, mărită",
"image_fullsize_enabled": "Activați generarea imaginilor de dimensiune înaltă",
"image_fullsize_enabled_description": "Generează imagini de dimensiune înaltă pentru formate non-web-friendly. Atunci când „Preferați previzualizarea încorporată” e activată, previzualizările încorporate sunt folosite în mod direct fără conversie. Nu afectează formate web-friendly precum JPEG.",
"image_fullsize_quality_description": "Calitatea imaginilor de dimensiune înaltă între 1-100. Valorile mai mari sunt mai bune, dar produc fișiere mai mari.",
"image_fullsize_title": "Setări Imagini de mărime mare",
"image_prefer_embedded_preview": "Preferă previzualizarea încorporată",
"image_prefer_embedded_preview_setting_description": "Folosește previzualizările încorporate în fotografiile RAW ca intrare pentru procesarea imaginii, atunci când sunt disponibile. Acest lucru poate produce culori mai precise pentru unele imagini, dar calitatea previzualizării depinde de cameră, iar imaginea poate avea mai multe artefacte de compresie.",
"image_prefer_wide_gamut": "Preferă o gamă largă",
"image_prefer_wide_gamut_setting_description": "Utilizați Display P3 pentru miniaturi. Acest lucru păstrează mai bine vibrația imaginilor cu spații de culoare largi, dar imaginile pot apărea diferit pe dispozitivele cu o versiune mai veche de browser. Imaginile sRGB sunt păstrate ca sRGB pentru a evita schimbările de culoare.",
"image_preview_description": "Imagine de dimensiune medie cu metadate eliminate, utilizată la vizualizarea unui singur element și pentru învățarea automată",
@@ -96,7 +102,7 @@
"library_scanning_enable_description": "Activează scanarea periodică pentru bibliotecă",
"library_settings": "Bibliotecă Externă",
"library_settings_description": "Administrează setările pentru biblioteci externe",
"library_tasks_description": "Efectuează sarcini asupra bibliotecii",
"library_tasks_description": "Scanează bibliotecile externe de active noi sau modificate",
"library_watching_enable_description": "Urmărește bibliotecile externe pentru schimbări ale fișierelor",
"library_watching_settings": "Urmărirea bibliotecii (EXPERIMENTAL)",
"library_watching_settings_description": "Urmărește automat fișierele schimbate",
@@ -131,7 +137,7 @@
"machine_learning_smart_search_description": "Căutarea semantică a imaginilor utilizând încorporările CLIP",
"machine_learning_smart_search_enabled": "Activați căutarea inteligentă",
"machine_learning_smart_search_enabled_description": "Dacă este dezactivată, imaginile nu vor fi codificate pentru căutarea inteligentă.",
"machine_learning_url_description": "Adresa URL a serverului de învățare automată. Dacă sunt furnizate mai multe adrese URL, fiecare server va fi încercat unul câte unul până când unul răspunde cu succes, în ordine de la primul până la ultimul.",
"machine_learning_url_description": "URL-ul serverului de învățare automată. Dacă sunt furnizate mai multe URL-uri, fiecare server va fi încercat pe rând, până când unul răspunde cu succes, în ordine de la primul până la ultimul. Serverele care nu răspund vor fi ignorate temporar până revin online.",
"manage_concurrency": "Gestionarea Simultaneității",
"manage_log_settings": "Administrați setările jurnalului",
"map_dark_style": "Mod întunecat",
@@ -147,6 +153,8 @@
"map_settings": "Hartă",
"map_settings_description": "Gestionare setări hartă",
"map_style_description": "URL-ul style.json către o temă pentru hartă",
"memory_cleanup_job": "Curăță memoria",
"memory_generate_job": "Generare memorie",
"metadata_extraction_job": "Extrageți metadatele",
"metadata_extraction_job_description": "Extragere informații metadate din fiecare fișier cum ar fi localizare GPS, fețe și rezoluție,",
"metadata_faces_import_setting": "Activare import fețe",
@@ -159,7 +167,6 @@
"no_pattern_added": "Niciun tipar adăugat",
"note_apply_storage_label_previous_assets": "Notă: Pentru a aplica Eticheta de Stocare la elementele încărcate anterior, executați",
"note_cannot_be_changed_later": "NOTĂ: Nu se va mai putea modifica ulterior!",
"note_unlimited_quota": "Notă: Introduceți 0 pentru spațiu nelimitat",
"notification_email_from_address": "De la adresa",
"notification_email_from_address_description": "Adresa expeditorului, spre exemplu: „Immich Photo Server <noreply@example.com>”",
"notification_email_host_description": "Adresa serverului de email (ex. smtp.immich.app)",
@@ -219,7 +226,7 @@
"reset_settings_to_default": "Reseteazǎ setǎrile la valorile implicite",
"reset_settings_to_recent_saved": "Reseteazǎ setǎrile la valorile salvate recent",
"scanning_library": "Se scanează biblioteca",
"search_jobs": "Caută sarcini...",
"search_jobs": "Caută job-uri…",
"send_welcome_email": "Trimite email de bun-venit",
"server_external_domain_settings": "Domeniu extern",
"server_external_domain_settings_description": "Domeniu pentru distribuire publicǎ a scurtǎturilor, incluzând http(s)://",
@@ -240,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "Activează verificarea hash, nu o dezactivați decât dacă sunteți sigur de implicații",
"storage_template_migration": "Migrarea șablonului de stocare",
"storage_template_migration_description": "Aplicați <link>{template}</link> actual la elementele încărcate anterior",
"storage_template_migration_info": "Modificările de șablon se vor aplica numai materialelor noi. Pentru a aplica retroactiv șablonul la materialele încărcate anterior, rulați <link>{job}</link>.",
"storage_template_migration_info": "Șablonul de stocare va converti extensiile in litere mici. Modificările șablonului se vor aplica doar materialelor noi. Pentru a aplica retroactiv șablonul la materialele încărcate anterior, rulați <link>{job}</link>.",
"storage_template_migration_job": "Sarcină Migrare Șablon Stocare",
"storage_template_more_details": "Pentru mai multe detalii despre aceasta caracteristică, accesați <template-link>Șablon stocare</template-link> si <implications-link>implicațiile</implications-link>",
"storage_template_onboarding_description": "Atunci când este activată, această caracteristică va organiza automat fișierele pe baza unui șablon definit de utilizator. Din cauza unor probleme de stabilitate, această caracteristică este dezactivată implicit. Pentru mai multe informații, te rog să consulți <link>documentația</link>.",
@@ -391,6 +398,7 @@
"allow_edits": "Permite editări",
"allow_public_user_to_download": "Permite utilizatorului public să descarce",
"allow_public_user_to_upload": "Permite utilizatorului public să încarce",
"alt_text_qr_code": "Cod QR",
"anti_clockwise": "În sens invers acelor de ceasornic",
"api_key": "Cheie API",
"api_key_description": "Această valoare va fi afișată o singură dată. Vă rugăm să vă asigurați că o copiați înainte de a închide fereastra.",
@@ -406,17 +414,17 @@
"are_these_the_same_person": "Sunt aceștia aceeași persoană?",
"are_you_sure_to_do_this": "Sunteți sigur că doriți să faceți acest lucru?",
"asset_added_to_album": "Adăugat la album",
"asset_adding_to_album": "Se adaugă la album...",
"asset_adding_to_album": "Se adaugă la album",
"asset_description_updated": "Descrierea resursei a fost actualizată",
"asset_filename_is_offline": "Resursa {filename} este offline",
"asset_has_unassigned_faces": "Resursa are fețe neatribuite",
"asset_hashing": "Se face hashing...",
"asset_hashing": "Hashing",
"asset_offline": "Resursă Offline",
"asset_offline_description": "Această resursă externă nu mai este găsită pe disc. Contactează te rog administratorul tău Immich pentru ajutor.",
"asset_skipped": "Sărit",
"asset_skipped_in_trash": "În coșul de gunoi",
"asset_uploaded": "Încărcat",
"asset_uploading": "Se incarcă...",
"asset_uploading": "Se incarcă",
"assets": "Resurse",
"assets_added_count": "Adăugat {count, plural, one {# resursă} other {# resurse}}",
"assets_added_to_album_count": "Am adăugat {count, plural, one {# resursă} other {# resurse}} în album",
@@ -481,6 +489,7 @@
"comments_are_disabled": "Comentariile sunt dezactivate",
"confirm": "Confirmați",
"confirm_admin_password": "Confirmați Parola de Administrator",
"confirm_delete_face": "Ești sigur ca vrei sa ștergi {name} din activ?",
"confirm_delete_shared_link": "Sunteți sigur că doriți să ștergeți acest link partajat?",
"confirm_keep_this_delete_others": "Toate celelalte active din stivă vor fi șterse, cu excepția acestui material. Sunteți sigur că doriți să continuați?",
"confirm_password": "Confirmați parola",
@@ -533,6 +542,7 @@
"delete_album": "Ștergere album",
"delete_api_key_prompt": "Sunteți sigur că doriți să ștergeți această cheie API?",
"delete_duplicates_confirmation": "Sunteți sigur că doriți să ștergeți permanent aceste duplicate?",
"delete_face": "Șterge fața",
"delete_key": "Ștergere cheie",
"delete_library": "Ștergere biblioteca",
"delete_link": "Ștergere link",
@@ -600,6 +610,7 @@
"enabled": "Activat",
"end_date": "Data de încheiere",
"error": "Eroare",
"error_delete_face": "Eroare la ștergerea feței din activ",
"error_loading_image": "Eroare la încărcarea imaginii",
"error_title": "Eroare - ceva nu a mers",
"errors": {
@@ -852,6 +863,7 @@
"loop_videos": "Buclă videoclipuri",
"loop_videos_description": "Activați pentru a rula in buclă automat un videoclip în vizualizatorul de detalii.",
"main_branch_warning": "Utilizați o versiune de dezvoltare; vă recomandăm insistent să utilizați o versiune de lansare!",
"main_menu": "Meniu principal",
"make": "Face",
"manage_shared_links": "Administrați link-urile distribuite",
"manage_sharing_with_partners": "Gestionați partajarea cu partenerii",
@@ -884,6 +896,7 @@
"month": "Lună",
"more": "Mai mult",
"moved_to_trash": "Mutat în coșul de gunoi",
"mute_memories": "Amuțește amintirile",
"my_albums": "Albumele mele",
"name": "Nume",
"name_or_nickname": "Nume sau poreclǎ",
@@ -915,7 +928,6 @@
"no_shared_albums_message": "Creați un album pentru a partaja fotografii și videoclipuri cu persoanele din rețeaua dvs",
"not_in_any_album": "Nu există în niciun album",
"note_apply_storage_label_to_previously_uploaded assets": "Notă: Pentru a aplica eticheta de stocare la resursele încărcate anterior, rulați",
"note_unlimited_quota": "Notă: Introduceți 0 pentru spațiu pe disc nelimitat",
"notes": "Note",
"notification_toggle_setting_description": "Activați notificările prin email",
"notifications": "Notificări",
@@ -979,6 +991,7 @@
"permanently_deleted_asset": "Resursă ștearsă definitiv",
"permanently_deleted_assets_count": "S-au șters definitiv {count, plural, one {# resursă} other {# resurse}}",
"person": "Persoanǎ",
"person_birthdate": "Născut pe {date}",
"person_hidden": "{name}{hidden, select, true { (ascuns)} other {}}",
"photo_shared_all_users": "Se pare că ți-ai partajat fotografiile tuturor utilizatorilor sau că nu ai niciun utilizator căruia să le distribui.",
"photos": "Fotografii",
@@ -988,6 +1001,7 @@
"pick_a_location": "Alegeți o locație",
"place": "Loc",
"places": "Locații",
"places_count": "{count, plural, one {{count, number} Loc} other {{count, number} Locuri}}",
"play": "Redare",
"play_memories": "Redare amintiri",
"play_motion_photo": "Redare Fotografie în Mișcare",
@@ -1069,12 +1083,16 @@
"remove_from_album": "Ștergeți din album",
"remove_from_favorites": "Eliminați din favorite",
"remove_from_shared_link": "Eliminați din linkul partajat",
"remove_memory": "Șterge amintirea",
"remove_photo_from_memory": "Șterge fotografia din această amintire",
"remove_url": "Eliminați adresa URL",
"remove_user": "Eliminați utilizatorul",
"removed_api_key": "Cheie API eliminată: {name}",
"removed_from_archive": "Eliminat din arhivă",
"removed_from_favorites": "Eliminat din favorite",
"removed_from_favorites_count": "{count, plural, other {Eliminat #}} din favorite",
"removed_memory": "Amintire ștearsă",
"removed_photo_from_memory": "Fotografie ștearsă din amintire",
"removed_tagged_assets": "Eticheta a fost eliminată din {count, plural, one {# resursă} other {# resurse}}",
"rename": "Redenumiți",
"repair": "Reparați",
@@ -1083,6 +1101,7 @@
"repository": "Repertoriu",
"require_password": "Necesită parolă",
"require_user_to_change_password_on_first_login": "Solicitați utilizatorului să schimbe parola la prima conectare",
"rescan": "Rescanează",
"reset": "Resetare",
"reset_password": "Resetare parolă",
"reset_people_visibility": "Resetați vizibilitatea persoanelor",
@@ -1126,6 +1145,7 @@
"search_options": "Opțiuni de căutare",
"search_people": "Căutați oameni",
"search_places": "Căutați locuri",
"search_rating": "Caută după notă...",
"search_settings": "Setări de căutare",
"search_state": "Starea căutării...",
"search_tags": "Căutați etichete...",
@@ -1135,6 +1155,7 @@
"searching_locales": "Se caută regionale...",
"second": "Secundǎ",
"see_all_people": "Vizualizați toate persoanele",
"select": "Selectează",
"select_album_cover": "Selectați coperta albumului",
"select_all": "Selectați tot",
"select_all_duplicates": "Selectați toate duplicatele",
@@ -1249,6 +1270,7 @@
"tag_created": "Etichetă creată: {tag}",
"tag_feature_description": "Răsfoirea fotografiilor și videoclipurilor grupate după subiecte de etichete logice",
"tag_not_found_question": "Nu puteți găsi o etichetă? <link>Creați o etichetă nouă.</link>",
"tag_people": "Etichetează Persoane",
"tag_updated": "Etichetă actualizată: {tag}",
"tagged_assets": "Etichetat {count, plural, one {# resursă} other {# resurse}}",
"tags": "Etichete",
@@ -1289,6 +1311,7 @@
"unlink_motion_video": "Deconectați videoclipul în mișcare",
"unlink_oauth": "Deconectați OAuth",
"unlinked_oauth_account": "Cont OAuth deconectat",
"unmute_memories": "Activează amintirile",
"unnamed_album": "Album fără Nume",
"unnamed_album_delete_confirmation": "Sigur doriți să ștergeți acest album?",
"unnamed_share": "Partajare fără Nume",
@@ -1342,10 +1365,12 @@
"view_all": "Vizualizați Tot",
"view_all_users": "Vizulizați toți utilizatorii",
"view_in_timeline": "Vizualizați în cronologie",
"view_link": "Vezi link",
"view_links": "Vizualizați scurtǎturi",
"view_name": "Vizualizare",
"view_next_asset": "Vizualizați următoarea resursă",
"view_previous_asset": "Vizualizați resursa anterioară",
"view_qr_code": "Vezi cod QR",
"view_stack": "Vizualizați Stiva",
"visibility_changed": "Vizibilitatea schimbată pentru {count, plural, one {# persoană} other {# persoane}}",
"waiting": "Așteptați",
@@ -1358,4 +1383,4 @@
"yes": "Da",
"you_dont_have_any_shared_links": "Nu aveți linkuri partajate",
"zoom_image": "Măriți Imaginea"
}
}

View File

@@ -1,7 +1,7 @@
{
"about": "О продукте",
"account": "Учётная запись",
"account_settings": "Настройки аккаунта",
"account_settings": "Настройки учётной записи",
"acknowledge": "Подтвердить",
"action": "Действие",
"actions": "Действия",
@@ -33,7 +33,7 @@
"authentication_settings": "Настройки аутентификации",
"authentication_settings_description": "Управление паролями, OAuth и другими настройками аутентификации",
"authentication_settings_disable_all": "Вы уверены, что хотите отключить все методы входа? Вход будет полностью отключен.",
"authentication_settings_reenable": "Чтобы снова включить, используйте <link>Команда Сервера</link>.",
"authentication_settings_reenable": "Чтобы снова включить, используйте <link>Команду сервера</link>.",
"background_task_job": "Фоновые задачи",
"backup_database": "Резервное копирование базы данных",
"backup_database_enable_description": "Включить резервное копирование базы данных",
@@ -59,13 +59,18 @@
"external_library_created_at": "Внешняя библиотека (создана {date})",
"external_library_management": "Управление внешними библиотеками",
"face_detection": "Обнаружение лиц",
"face_detection_description": "Обнаруживает лица на медиа с помощью машинного обучения. Для видео учитывается только миниатюра. Обновить” — обработать все медиа. Сброс” — удалить все имеющиеся данные лиц и обработать заново. “Пропущенные” — добавить в очередь необработанные медиа. Обнаруженные лица будут помещены в очередь распознавания для привязки к существующим или новым людям.",
"facial_recognition_job_description": "Группирует распознанные лица по людям. Этот шаг выполняется после завершения обнаружения лиц. Сброс” - группирует все лица. “Пропущенные” - помещает в очередь лица, не привязанные к человеку.",
"face_detection_description": "Обнаруживает лица на медиа с использованием машинного обучения. Для видео анализируется только миниатюра. \"Обновить\" повторно обрабатывает все медиа. \"Сброс\" дополнительно удаляет все имеющиеся данные о лицах. \"Отсутствующие\" ставит в очередь медиа, которые ещё не были обработаны. Обнаруженные лица будут переданы в очередь для распознавания после завершения процесса их обнаружения, привязываясь к существующим или новым людям.",
"facial_recognition_job_description": "Группировка обнаруженных лиц по людям. Этот шаг выполняется после завершения обнаружения лиц. \"Сброс\" (пере)группирует все лица. \"Отсутствующие\" ставит в очередь лица, не привязанные к человеку.",
"failed_job_command": "Команда {command} не выполнена для задачи: {job}",
"force_delete_user_warning": "ПРЕДУПРЕЖДЕНИЕ: Это приведет к немедленному удалению пользователя и его ресурсов. Это действие невозможно отменить, и файлы не могут быть восстановлены.",
"forcing_refresh_library_files": "Принудительное обновление всех файлов библиотеки",
"image_format": "Формат",
"image_format_description": "WebP создает файлы меньшего размера, чем JPEG, но кодирует медленнее.",
"image_fullsize_description": "Полноразмерное изображение без метаданных, используется при увеличении",
"image_fullsize_enabled": "Включить создание полноразмерного изображения",
"image_fullsize_enabled_description": "Создавать полноразмерное изображение для форматов, не предназначенных для веба. Когда включен параметр «Предпочитать встроенное превью», встроенные превью используются напрямую без конверсии. Не влияет на веб-совместимые форматы, такие как JPEG.",
"image_fullsize_quality_description": "Качество полноразмерного изображения от 1 до 100. Чем выше значение, тем лучше качество, но больше размер файла.",
"image_fullsize_title": "Настройки полноразмерного изображения",
"image_prefer_embedded_preview": "Предпочитать встроенное превью",
"image_prefer_embedded_preview_setting_description": "Используйте встроенные превью в фотографиях RAW в качестве входных данных для обработки изображений, если они доступны. Это может обеспечить более точную цветопередачу для некоторых изображений, но качество предварительного просмотра зависит от камеры, и изображение может иметь больше артефактов сжатия.",
"image_prefer_wide_gamut": "Предпочитаю широкую гамму",
@@ -162,7 +167,6 @@
"no_pattern_added": "Шаблон не добавлен",
"note_apply_storage_label_previous_assets": "Примечание: Чтобы применить тег хранилища к ранее загруженным ресурсам, запустите",
"note_cannot_be_changed_later": "ПРИМЕЧАНИЕ: Это невозможно изменить позже!",
"note_unlimited_quota": "Примечание: Введите 0 для неограниченной квоты или оставьте пустым",
"notification_email_from_address": "Адрес отправителя",
"notification_email_from_address_description": "Адрес электронной почты отправителя, например: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Доменное имя почтового сервера (например, smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Циклическое воспроизведение",
"loop_videos_description": "Включить циклическое воспроизведение видео.",
"main_branch_warning": "Вы используете версию для разработки; мы настоятельно рекомендуем использовать релизную версию!",
"main_menu": "Главное меню",
"make": "Производитель",
"manage_shared_links": "Управление публичными ссылками",
"manage_sharing_with_partners": "Управление обменом информацией с партнерами. Эта функция позволяет вашему партнеру видеть ваши фотографии и видеозаписи, кроме тех, которые находятся в Архиве и Корзине",
@@ -886,7 +891,7 @@
"merged_people_count": "Объединено {count, plural, one {# человек} few {# человека} many {# человек} other {# человека}}",
"minimize": "Минимизировать",
"minute": "Минута",
"missing": "Пропущенные",
"missing": "Отсутствующие",
"model": "Модель",
"month": "Месяц",
"more": "Больше",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Создайте альбом для обмена фотографиями и видеозаписями с людьми в вашей сети",
"not_in_any_album": "Ни в одном альбоме",
"note_apply_storage_label_to_previously_uploaded assets": "Примечание: Чтобы применить тег хранилища к ранее загруженным ресурсам, запустите",
"note_unlimited_quota": "Примечание: Введите 0 для неограниченной квоты",
"notes": "Примечание",
"notification_toggle_setting_description": "Включить уведомления по электронной почте",
"notifications": "Уведомления",
@@ -1366,6 +1370,7 @@
"view_name": "Посмотреть",
"view_next_asset": "Показать следующий объект",
"view_previous_asset": "Показать предыдущий объект",
"view_qr_code": "Посмотреть QR код",
"view_stack": "Показать стек",
"visibility_changed": "Видимость изменена для {count, plural, one {# человека} other {# людей}}",
"waiting": "В очереди",
@@ -1374,7 +1379,7 @@
"welcome": "Добро пожаловать",
"welcome_to_immich": "Добро пожаловать в Immich",
"year": "Год",
"years_ago": "{years, plural, one {# год} few {# года} many {# лет} other {# года}} назад",
"years_ago": "{years, plural, one {# год} few {# года} many {# лет} other {# лет}} назад",
"yes": "Да",
"you_dont_have_any_shared_links": "У вас нет публичных ссылок",
"zoom_image": "Приблизить"

View File

@@ -162,7 +162,6 @@
"no_pattern_added": "Nebol pridaný žiadny vzor",
"note_apply_storage_label_previous_assets": "Poznámka: Ak chcete použiť Štítkovanie úložiska na predtým nahrané aktíva, spustite príkaz",
"note_cannot_be_changed_later": "POZNÁMKA: Toto nie je možné neskôr zmeniť!",
"note_unlimited_quota": "Poznámka: Použite 0 pre neobmedzený limit",
"notification_email_from_address": "Z adresy",
"notification_email_from_address_description": "E-mailová adresa odosielateľa, príklad: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Adresa emailového serveru (príklad: smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "Vytvorí album na zdieľanie fotiek a videí s ľuďmi vo vašej sieti",
"not_in_any_album": "Nie je v žiadnom albume",
"note_apply_storage_label_to_previously_uploaded assets": "Poznámka: Ak chcete použiť Štítok úložiska na predtým nahrané médiá, spustite príkaz",
"note_unlimited_quota": "Poznámka: Zadajte 0 pre neobmedzenú kvótu",
"notes": "Poznámky",
"notification_toggle_setting_description": "Povoliť e-mailové upozornenia",
"notifications": "Oznámenia",

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Vsiljena osvežitev vseh datotek knjižnice",
"image_format": "Format",
"image_format_description": "WebP ustvari manjše datoteke kot JPEG, vendar je počasnejši za kodiranje.",
"image_fullsize_description": "Slika v polni velikosti brez metapodatkov, uporabljena pri povečavi",
"image_fullsize_enabled": "Omogoči ustvarjanje slik v polni velikosti",
"image_fullsize_enabled_description": "Ustvari sliko v polni velikosti za formate, ki niso prijazni spletu. Ko je omogočena možnost »Prednostno vdelani predogled«, se vdelani predogledi uporabljajo neposredno brez pretvorbe. Ne vpliva na spletu prijazne formate, kot je JPEG.",
"image_fullsize_quality_description": "Kakovost slike v polni velikosti od 1 do 100. Višja vrednost pomeni boljšo kakovost, vendar ustvarja večje datoteke.",
"image_fullsize_title": "Nastavitve slike v polni velikosti",
"image_prefer_embedded_preview": "Uporabi raje vdelan predogled",
"image_prefer_embedded_preview_setting_description": "Uporabite vdelane predoglede v fotografije RAW kot vhod za obdelavo slik, ko so na voljo. To lahko ustvari natančnejše barve za nekatere slike, vendar je kakovost predogleda odvisna od kamere in slika ima lahko več artefaktov stiskanja.",
"image_prefer_embedded_preview_setting_description": "Uporabi vdelane predoglede v fotografijah RAW kot vhod za obdelavo slik, kadar so na voljo. To lahko pri nekaterih slikah zagotovi natančnejše barve, vendar je kakovost predogleda odvisna od fotoaparata, slika pa lahko vsebuje več artefaktov stiskanja.",
"image_prefer_wide_gamut": "Uporabi raje širok razpon",
"image_prefer_wide_gamut_setting_description": "Uporabite P3 Display za sličice. To bolje ohranja živahnost slik s širokimi barvnimi prostori, vendar so lahko slike videti drugače na starih napravah s staro različico brskalnika. Slike sRGB se ohranijo kot sRGB, da se izognejo barvnim zamikom.",
"image_preview_description": "Slika srednje velikosti z odstranjenimi metapodatki, ki se uporablja pri ogledu posameznega sredstva in za strojno učenje",
@@ -162,7 +167,6 @@
"no_pattern_added": "Brez dodanega vzorca",
"note_apply_storage_label_previous_assets": "Opomba: Če želite oznako za shranjevanje uporabiti za predhodno naložena sredstva, zaženite",
"note_cannot_be_changed_later": "OPOMBA: Tega pozneje ni mogoče spremeniti!",
"note_unlimited_quota": "Opomba: Vnesite 0 za neomejeno kvoto",
"notification_email_from_address": "Iz naslova",
"notification_email_from_address_description": "E-poštni naslov pošiljatelja, na primer: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Gostitelj e-poštnega strežnika (npr. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Zanka videoposnetkov",
"loop_videos_description": "Omogočite samodejno ponavljanje videoposnetka v pregledovalniku podrobnosti.",
"main_branch_warning": "Uporabljate razvojno različico; močno priporočamo uporabo izdajne različice!",
"main_menu": "Glavni meni",
"make": "Izdelava",
"manage_shared_links": "Upravljanje povezav v skupni rabi",
"manage_sharing_with_partners": "Upravljajte skupno rabo s partnerji",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Ustvarite album za skupno rabo fotografij in videoposnetkov z osebami v vašem omrežju",
"not_in_any_album": "Ni v nobenem albumu",
"note_apply_storage_label_to_previously_uploaded assets": "Opomba: Če želite oznako za shranjevanje uporabiti za predhodno naložena sredstva, zaženite",
"note_unlimited_quota": "Opomba: Vnesite 0 za neomejeno kvoto",
"notes": "Opombe",
"notification_toggle_setting_description": "Omogoči e-poštna obvestila",
"notifications": "Obvestila",
@@ -1366,6 +1370,7 @@
"view_name": "Pogled",
"view_next_asset": "Ogled naslednjega sredstva",
"view_previous_asset": "Ogled prejšnjega sredstva",
"view_qr_code": "Oglej si kodo QR",
"view_stack": "Ogled sklada",
"visibility_changed": "Vidnost spremenjena za {count, plural, one {# osebo} two {# osebi} few {# osebe} other {# oseb}}",
"waiting": "Čakanje",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Принудно освежавање свих датотека библиотеке",
"image_format": "Формат",
"image_format_description": "WebP производи мање датотеке од ЈПЕГ, али се спорије кодира.",
"image_fullsize_description": "Слика у пуној величини са огољеним метаподацима, користи се када је увећана",
"image_fullsize_enabled": "Омогућите генерисање слике у пуној величини",
"image_fullsize_enabled_description": "Генеришите слику пуне величине за формате који нису прилагођени вебу. Када је „Преферирај уграђени преглед“ омогућен, уграђени прегледи се користе директно без конверзије. Не утиче на формате прилагођене вебу као што је JPEG.",
"image_fullsize_quality_description": "Квалитет слике у пуној величини од 1-100. Више је боље, али производи веће датотеке.",
"image_fullsize_title": "Подешавања слике у пуној величини",
"image_prefer_embedded_preview": "Преферирајте уграђени преглед",
"image_prefer_embedded_preview_setting_description": "Користите уграђене прегледе у RAW фотографије као улаз за обраду слике када су доступне. Ово може да произведе прецизније боје за неке слике, али квалитет прегледа зависи од камере и слика може имати више неправилности компресије.",
"image_prefer_wide_gamut": "Преферирајте широк спектар",
@@ -162,7 +167,6 @@
"no_pattern_added": "Није додат образац",
"note_apply_storage_label_previous_assets": "Напомена: Da biste primenili oznaku za skladištenje na prethodno otpremljena sredstva, pokrenite",
"note_cannot_be_changed_later": "НАПОМЕНА: Ovo se kasnije ne može promeniti!",
"note_unlimited_quota": "Напомена: Unesite 0 za neograničenu kvotu",
"notification_email_from_address": "Са адресе",
"notification_email_from_address_description": "Адреса е-поште пошиљаоца, на пример: \"Immich foto server <noreply@example.com>\"",
"notification_email_host_description": "Хост сервера е-поште (нпр. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Понављајте видео записе",
"loop_videos_description": "Омогућите за аутоматско понављање видео записа у прегледнику детаља.",
"main_branch_warning": "Употребљавате развојну верзију; строго препоручујемо употребу издате верзије!",
"main_menu": "Главни мени",
"make": "Креирај",
"manage_shared_links": "Управљајте дељеним везама",
"manage_sharing_with_partners": "Управљајте дељењем са партнерима",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Направите албум да бисте делили фотографије и видео записе са људима у вашој мрежи",
"not_in_any_album": "Нема ни у једном албуму",
"note_apply_storage_label_to_previously_uploaded assets": "Напомена: Да бисте применили ознаку за складиштење на претходно отпремљена средства, покрените",
"note_unlimited_quota": "Напомена: Unesite 0 za neograničenu kvotu",
"notes": "Напомене",
"notification_toggle_setting_description": "Омогућите обавештења путем е-поште",
"notifications": "Нотификације",
@@ -1366,6 +1370,7 @@
"view_name": "Погледати",
"view_next_asset": "Погледајте следећу датотеку",
"view_previous_asset": "Погледај претходну датотеку",
"view_qr_code": "Погледајте QR код",
"view_stack": "Прикажи гомилу",
"visibility_changed": "Видљивост је промењена за {count, plural, one {# особу} other {# особе}}",
"waiting": "Чекам",

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "Prinudno osvežavanje svih datoteka biblioteke",
"image_format": "Format",
"image_format_description": "WebP proizvodi manje datoteke od JPEG, ali se sporije kodira.",
"image_fullsize_description": "Slika u punoj veličini sa ogoljenim metapodacima, koristi se kada je uvećana",
"image_fullsize_enabled": "Omogućite generisanje slike u punoj veličini",
"image_fullsize_enabled_description": "Generišite sliku pune veličine za formate koji nisu prilagođeni vebu. Kada je „Preferiraj ugrađeni pregled“ omogućen, ugrađeni pregledi se koriste direktno bez konverzije. Ne utiče na formate prilagođene vebu kao što je JPEG.",
"image_fullsize_quality_description": "Kvalitet slike u punoj veličini od 1-100. Više je bolje, ali proizvodi veće datoteke.",
"image_fullsize_title": "Podešavanja slike u punoj veličini",
"image_prefer_embedded_preview": "Preferirajte ugrađeni pregled",
"image_prefer_embedded_preview_setting_description": "Koristite ugrađene preglede u RAW fotografije kao ulaz za obradu slike kada su dostupne. Ovo može da proizvede preciznije boje za neke slike, ali kvalitet pregleda zavisi od kamere i slika može imati više nepravilnosti kompresije.",
"image_prefer_wide_gamut": "Preferirajte širok spektar",
@@ -162,7 +167,6 @@
"no_pattern_added": "Nije dodat obrazac",
"note_apply_storage_label_previous_assets": "Napomena: Da biste primenili oznaku za skladištenje na prethodno otpremljena sredstva, pokrenite",
"note_cannot_be_changed_later": "NAPOMENA: Ovo se kasnije ne može promeniti!",
"note_unlimited_quota": "Napomena: Unesite 0 za neograničenu kvotu",
"notification_email_from_address": "Sa adrese",
"notification_email_from_address_description": "Adresa e-pošte pošiljaoca, na primer: \"Immich foto server <noreply@example.com>\"",
"notification_email_host_description": "Host servera e-pošte (npr. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Ponavljajte video zapise",
"loop_videos_description": "Omogućite za automatsko ponavljanje video zapisa u pregledniku detalja.",
"main_branch_warning": "Upotrebljavate razvojnu verziju; strogo preporučujemo upotrebu izdate verzije!",
"main_menu": "Glavni meni",
"make": "Kreiraj",
"manage_shared_links": "Upravljajte deljenim vezama",
"manage_sharing_with_partners": "Upravljajte deljenjem sa partnerima",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Napravite album da biste delili fotografije i video zapise sa ljudima u vašoj mreži",
"not_in_any_album": "Nema ni u jednom albumu",
"note_apply_storage_label_to_previously_uploaded assets": "Napomena: Da biste primenili oznaku za skladištenje na prethodno uploadirane datoteke, pokrenite",
"note_unlimited_quota": "Napomena: Unesite 0 za neograničenu kvotu",
"notes": "Napomene",
"notification_toggle_setting_description": "Omogućite obaveštenja putem e-pošte",
"notifications": "Notifikacije",
@@ -1366,6 +1370,7 @@
"view_name": "Pogledati",
"view_next_asset": "Pogledajte sledeću datoteku",
"view_previous_asset": "Pogledaj prethodnu datoteku",
"view_qr_code": "Pogledajte QR kod",
"view_stack": "Prikaži gomilu",
"visibility_changed": "Vidljivost je promenjena za {count, plural, one {# osobu} other {# osobe}}",
"waiting": "Čekam",

View File

@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "Tvingar uppdatering av alla biblioteksfiler",
"image_format": "Format",
"image_format_description": "WebP producerar mindre filer än JPEG, men kodas långsammare.",
"image_fullsize_description": "Fullstor bild med borttagen metadata, används vid inzoomning",
"image_fullsize_enabled": "Använd fullstor bildgenerering",
"image_fullsize_enabled_description": "Generera fullstor bild för icke webbvänliga format. När \"Använd inbäddade förhandsvisningar\" är aktiverat används inbäddad förhandsvisning utan konvertering. Påverkar inte webbvänliga format som JPEG.",
"image_fullsize_quality_description": "Bildkvalitet för fullstora bilder 1-100. Högre värde ger bättre kvalitet men större filer.",
"image_fullsize_title": "Inställningar för fullstora bilder",
"image_prefer_embedded_preview": "Föredra inbäddad förhandsgranskning",
"image_prefer_embedded_preview_setting_description": "Använd inbäddade förhandsvisningar i RAW-foton som indata till bildbehandling när det är tillgängligt. Detta kan ge mer exakta färger för vissa bilder, men kvaliteten på förhandsgranskningen är kameraberoende och bilden kan ha fler komprimeringsartefakter.",
"image_prefer_embedded_preview_setting_description": "Använd inbäddade förhandsvisningar i RAW-foton som indata till bildbehandling och när det är tillgängligt. Detta kan ge mer exakta färger för vissa bilder, men kvaliteten på förhandsgranskningen är kameraberoende och bilden kan ha fler komprimeringsartefakter.",
"image_prefer_wide_gamut": "Föredrar brett spektrum",
"image_prefer_wide_gamut_setting_description": "Använd Display P3 för miniatyrer. Detta bevarar livfullheten bättre hos bilder med bred färgrymd, men bilder kan se annorlunda ut på gamla enheter med en gammal webbläsarversion. sRGB-bilder behålls som sRGB för att undvika färgskiftningar.",
"image_preview_description": "Mellanstor bild med avskalad metadata, används vid visning av en enskild tillgång och för maskininlärning",
@@ -162,7 +167,6 @@
"no_pattern_added": "Inga mönster tillagda",
"note_apply_storage_label_previous_assets": "Obs: Om du vill använda lagringsetiketten på tidigare uppladdade tillgångar kör du",
"note_cannot_be_changed_later": "OBS: Detta kan inte ändras i efterhand!",
"note_unlimited_quota": "OBS: Skriv 0 för obegränsad kvota",
"notification_email_from_address": "Från adress",
"notification_email_from_address_description": "Avsändarens epost, t.ex.: \"Immich Fotoserver <noreply@example.com>\"",
"notification_email_host_description": "Värd för epostservern (t.ex. smtp.immich.app)",
@@ -859,6 +863,7 @@
"loop_videos": "Loopa videor",
"loop_videos_description": "Aktivera för att automatiskt loopa en video i detaljvisaren.",
"main_branch_warning": "Du använder en utvecklingsversion. Vi rekommenderar starkt att du använder en utgiven version!",
"main_menu": "Huvudmeny",
"make": "Tillverkare",
"manage_shared_links": "Hantera Delade länkar",
"manage_sharing_with_partners": "Hantera delning med partner",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Skapa ett album för att dela bilder och videor med andra personer",
"not_in_any_album": "Inte i något album",
"note_apply_storage_label_to_previously_uploaded assets": "Obs: Om du vill använda lagringsetiketten på tidigare uppladdade tillgångar kör du",
"note_unlimited_quota": "Notera: Ange 0 för obegränsad mängd",
"notes": "Notera",
"notification_toggle_setting_description": "Aktivera e-postaviseringar",
"notifications": "Notifikationer",

View File

@@ -159,7 +159,6 @@
"no_pattern_added": "பேட்டர்ன்் சேர்க்கப்படவில்லை",
"note_apply_storage_label_previous_assets": "குறிப்பு: முன்பு பதிவேற்றிய படங்களுக்கு சேமிப்பக லேபிளைப் பயன்படுத்த, இதை இயக்கவும்",
"note_cannot_be_changed_later": "குறிப்பு: இதை பின்னர் மாற்ற முடியாது!",
"note_unlimited_quota": "குறிப்பு: வரம்பற்ற ஒதுக்கீட்டிற்கு 0 ஐ உள்ளிடவும்",
"notification_email_from_address": "முகவரியிலிருந்து",
"notification_email_from_address_description": "அனுப்புநரின் மின்னஞ்சல் முகவரி, எடுத்துக்காட்டாக: \"இம்மிச் புகைப்பட சேவையகம் <noreply@example.com>\"",
"notification_email_host_description": "மின்னஞ்சல் சேவையகத்தின் ஹோஸ்ட் (எடுத்துக்காட்டாக: smtp.immich.app)",
@@ -902,7 +901,6 @@
"no_shared_albums_message": "உங்கள் நெட்வொர்க்கில் உள்ளவர்களுடன் புகைப்படங்களையும் வீடியோக்களையும் பகிர்ந்து கொள்ள ஒரு ஆல்பத்தை உருவாக்கவும்",
"not_in_any_album": "எந்த ஆல்பத்திலும் இல்லை",
"note_apply_storage_label_to_previously_uploaded assets": "குறிப்பு: முன்னர் பதிவேற்றப்பட்ட சொத்துக்களுக்கு சேமிப்பக லேபிளை பயன்படுத்த, இயக்கவும்",
"note_unlimited_quota": "குறிப்பு: வரம்பற்ற ஒதுக்கீட்டிற்கு 0 ஐ உள்ளிடவும்",
"notes": "குறிப்புகள்",
"notification_toggle_setting_description": "மின்னஞ்சல் அறிவிப்புகளை இயக்கவும்",
"notifications": "அறிவிப்புகள்",
@@ -1339,4 +1337,4 @@
"yes": "ஆம்",
"you_dont_have_any_shared_links": "உங்களிடம் பகிரப்பட்ட இணைப்புகள் எதுவும் இல்லை",
"zoom_image": "பெரிதாக்க படம்"
}
}

View File

@@ -58,7 +58,7 @@
"exclusion_pattern_description": "మినహాయింపు నమూనాలు మీ లైబ్రరీని స్కాన్ చేస్తున్నప్పుడు ఫైల్‌లు మరియు ఫోల్డర్‌లను విస్మరించడానికి మిమ్మల్ని అనుమతిస్తాయి. మీరు దిగుమతి చేయకూడదనుకునే RAW ఫైల్‌లు వంటి ఫోల్డర్‌లను కలిగి ఉన్నట్లయితే ఇది ఉపయోగకరంగా ఉంటుంది.",
"external_library_created_at": "బాహ్య లైబ్రరీ ({date}న సృష్టించబడింది)",
"external_library_management": "బాహ్య లైబ్రరీ నిర్వహణ",
"face_detection": "ముఖ గుర్తింపు",
"face_detection": "ముఖ గమనింపు",
"face_detection_description": "మెషిన్ లెర్నింగ్ ఉపయోగించి ఆస్తులలో ముఖాలను గుర్తించండి. వీడియోల కోసం, సూక్ష్మచిత్రం మాత్రమే పరిగణించబడుతుంది. \"అన్నీ\" (పునః) అన్ని ఆస్తులను ప్రాసెస్ చేస్తుంది. ఇంకా ప్రాసెస్ చేయని ఆస్తులను \"మిస్సింగ్\" క్యూలు చేస్తుంది. గుర్తించబడిన ముఖాలు ఇప్పటికే ఉన్న లేదా కొత్త వ్యక్తులతో సమూహపరచడం పూర్తయిన తర్వాత ముఖ గుర్తింపు కోసం క్యూలో ఉంచబడతాయి.",
"facial_recognition_job_description": "సమూహం వ్యక్తుల ముఖాలను గుర్తించింది. ఫేస్ డిటెక్షన్ పూర్తయిన తర్వాత ఈ దశ అమలవుతుంది. \"అన్ని\" (పునః) అన్ని ముఖాలను క్లస్టర్‌లు చేస్తుంది. \"తప్పిపోయిన\" వ్యక్తిని కేటాయించని ముఖాలను క్యూలో ఉంచుతుంది.",
"failed_job_command": "ఉద్యోగం కోసం కమాండ్ {command} విఫలమైంది: {job}",
@@ -67,7 +67,7 @@
"image_format": "ఫార్మాట్",
"image_format_description": "WebP JPEG కంటే చిన్న ఫైల్‌లను ఉత్పత్తి చేస్తుంది, కానీ ఎన్‌కోడ్ చేయడం నెమ్మదిగా ఉంటుంది.",
"image_prefer_embedded_preview": "పొందుపరిచిన పరిదృశ్యానికి ప్రాధాన్యత ఇవ్వండి",
"image_prefer_embedded_preview_setting_description": "అందుబాటులో ఉన్నప్పుడు ఇమేజ్ ప్రాసెసింగ్‌కు ఇన్‌పుట్‌గా RAW ఫోటోలలో ఎంబెడెడ్ ప్రివ్యూలను ఉపయోగించండి. ఇది కొన్ని చిత్రాలకు మరింత ఖచ్చితమైన రంగులను ఉత్పత్తి చేయగలదు, అయితే ప్రివ్యూ నాణ్యత కెమెరాపై ఆధారపడి ఉంటుంది మరియు చిత్రం మరిన్ని కుదింపు కళాఖండాలను కలిగి ఉండవచ్చు.",
"image_prefer_embedded_preview_setting_description": "అందుబాటులో ఉన్నప్పుడు మరియు ఇమేజ్ ప్రాసెసింగ్‌కు ఇన్‌పుట్‌గా RAW ఫోటోలలో ఎంబెడెడ్ ప్రివ్యూలను ఉపయోగించండి. ఇది కొన్ని చిత్రాలకు మరింత ఖచ్చితమైన రంగులను ఉత్పత్తి చేయగలదు, అయితే ప్రివ్యూ నాణ్యత కెమెరాపై ఆధారపడి ఉంటుంది మరియు చిత్రం మరిన్ని కుదింపు కళాఖండాలను కలిగి ఉండవచ్చు.",
"image_prefer_wide_gamut": "విస్తృత స్వరసప్తకానికి ప్రాధాన్యత ఇవ్వండి",
"image_prefer_wide_gamut_setting_description": "థంబ్‌నెయిల్‌ల కోసం డిస్‌ప్లే P3ని ఉపయోగించండి. ఇది విస్తృత రంగుల ఖాళీలతో చిత్రాల వైబ్రెన్స్‌ను మెరుగ్గా భద్రపరుస్తుంది, అయితే పాత బ్రౌజర్ వెర్షన్‌తో పాత పరికరాల్లో చిత్రాలు విభిన్నంగా కనిపించవచ్చు. రంగు మార్పులను నివారించడానికి sRGB చిత్రాలు sRGB వలె ఉంచబడతాయి.",
"image_preview_description": "ఒకే ఆస్తిని వీక్షించేటప్పుడు మరియు యంత్ర అభ్యాసం కోసం మెటాడేటా లేని మధ్యస్థ-పరిమాణ చిత్రం ఉపయోగించబడుతుంది",
@@ -113,7 +113,7 @@
"machine_learning_enabled": "మెషిన్ లెర్నింగ్ ప్రారంభించండి",
"machine_learning_enabled_description": "డిజేబుల్ చేయబడితే, దిగువ సెట్టింగ్‌లతో సంబంధం లేకుండా అన్ని ML ఫీచర్‌లు నిలిపివేయబడతాయి.",
"machine_learning_facial_recognition": "ముఖ గుర్తింపు",
"machine_learning_facial_recognition_description": "చిత్రాలలో ముఖాలను గుర్తించండి, గుర్తించండి మరియు సమూహపరచండి",
"machine_learning_facial_recognition_description": "చిత్రాలలో ముఖాలను కనుగొనండి, గుర్తించండి మరియు సమూహపరచండి",
"machine_learning_facial_recognition_model": "ముఖ గుర్తింపు మోడల్",
"machine_learning_facial_recognition_model_description": "నమూనాలు పరిమాణం యొక్క అవరోహణ క్రమంలో జాబితా చేయబడ్డాయి. పెద్ద మోడల్‌లు నెమ్మదిగా ఉంటాయి మరియు ఎక్కువ మెమరీని ఉపయోగిస్తాయి, కానీ మంచి ఫలితాలను ఇస్తాయి. మీరు మోడల్‌ను మార్చిన తర్వాత అన్ని చిత్రాల కోసం తప్పనిసరిగా ఫేస్ డిటెక్షన్ జాబ్‌ని మళ్లీ అమలు చేయాలని గుర్తుంచుకోండి.",
"machine_learning_facial_recognition_setting": "ముఖ గుర్తింపును ప్రారంభించండి",
@@ -162,7 +162,6 @@
"no_pattern_added": "నమూనా జోడించబడలేదు",
"note_apply_storage_label_previous_assets": "గమనిక: గతంలో అప్‌లోడ్ చేసిన ఆస్తులకు నిల్వ లేబుల్‌ను వర్తింపజేయడానికి, నడపండి",
"note_cannot_be_changed_later": "గమనిక: దీనిని తర్వాత మార్చలేము!",
"note_unlimited_quota": "గమనిక: అపరిమిత కోటా కోసం 0 నమోదు చేయండి",
"notification_email_from_address": "నుండి",
"notification_email_from_address_description": "పంపినవారి ఇమెయిల్ చిరునామా, ఉదాహరణకు: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "ఇమెయిల్ సర్వర్ యొక్క హోస్ట్ (ఉదా. smtp.immich.app)",
@@ -395,7 +394,7 @@
"allow_public_user_to_download": "పబ్లిక్ వినియోగదారుడు డౌన్‌లోడ్ చేసేందుకు అనుమతించండి",
"allow_public_user_to_upload": "పబ్లిక్ వినియోగదారుడు అప్‌లోడ్ చేసేందుకు అనుమతించండి",
"alt_text_qr_code": "క్యూఆర్ కోడ్ చిత్రం",
"anti_clockwise": "ఎడమవైపు తిరిగే దిశ",
"anti_clockwise": "అపసవ్య-దిశ",
"api_key": "API కీ",
"api_key_description": "ఈ విలువ ఒక్కసారి మాత్రమే చూపబడుతుంది. విండోను మూసివేసే ముందు దయచేసి దీనిని ఖచ్చితంగా కాపీ చేసి ఎక్కడైనా భద్రపరచండి.",
"api_key_empty": "మీ API కీ పేరు ఖాళీగా ఉండకూడదు",
@@ -473,7 +472,7 @@
"clear_all_recent_searches": "ఇటీవల చేసిన అన్ని శోధనలను ఖాళీ చేయి",
"clear_message": "సందేశాన్ని ఖాళీ చేయి",
"clear_value": "విలువను ఖాళీ చేయి",
"clockwise": "సయదిశగా",
"clockwise": "సవ్యదిశ",
"close": "మూసివేయి",
"collapse": "సంకుచితం చేయి",
"collapse_all": "అన్నీ సంకుచితం చేయి",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "మీ నెట్‌వర్క్‌లోని వ్యక్తులతో ఫోటోలు మరియు వీడియోలను భాగస్వామ్యం చేయడానికి ఆల్బమ్‌ను సృష్టించండి",
"not_in_any_album": "ఏ ఆల్బమ్‌లోనూ లేదు",
"note_apply_storage_label_to_previously_uploaded assets": "గమనిక: గతంలో అప్‌లోడ్ చేసిన ఆస్తులకు నిల్వ లేబుల్‌ను వర్తింపజేయడానికి,",
"note_unlimited_quota": "గమనిక: అపరిమిత కోటా కోసం 0ని నమోదు చేయండి",
"notes": "గమనికలు",
"notification_toggle_setting_description": "ఇమెయిల్ నోటిఫికేషన్‌లను ప్రారంభించండి",
"notifications": "నోటిఫికేషన్‌లు",

View File

@@ -41,6 +41,7 @@
"backup_settings": "ตั้งค่าการสำรองข้อมูล",
"backup_settings_description": "จัดการการตั้งค่าการสำรองฐานข้อมูล",
"check_all": "ตรวจสอบทั้งหมด",
"cleanup": "ทำความสะอาด",
"cleared_jobs": "เคลียร์งานสำหรับ: {job}",
"config_set_by_file": "การตั้งค่าคอนฟิกกำลังถูกกำหนดโดยไฟล์คอนฟิก",
"confirm_delete_library": "คุณแน่ใจว่าอยากลบคลังภาพ {library} หรือไม่?",
@@ -65,8 +66,12 @@
"forcing_refresh_library_files": "บังคับรีเฟรชไฟล์ทั้งหมด",
"image_format": "Format",
"image_format_description": "WebP จะให้ไฟล์ที่เล็กกว่า JPEG แต่ใช้เวลาแปลงไฟล์นานกว่า",
"image_fullsize_description": "รูปภาพขนาดเต็มที่ถูกถอดข้อมูล metadata ออก ใช้ในขณะทำการขยายรูปภาพดู",
"image_fullsize_enabled": "เปิดใช้งานการสร้างรูปภาพขนาดเต็ม",
"image_fullsize_quality_description": "คุณภาพรูปภาพขนาดเต็มจาก 1-100 ค่ายิ่งสูงคุณภาพยิ่งสูง แต่แลกมาด้วยขนาดไฟล์ที่ใหญ่ขึ้น",
"image_fullsize_title": "ตั้งค่ารูปภาพขนาดเต็ม",
"image_prefer_embedded_preview": "ใช้พรีวิวแบบฝังตัว",
"image_prefer_embedded_preview_setting_description": "ใช้พรีวิวฝังตัวในรูปภาพ RAW ในการวิเคราะห์รูปภาพถ้ามี แต่คุณภาพรูปภาพขึ้นอยู่กับกล้อง และอาจจะมีสิ่งตกค้างจากการย่อขนาดไฟล์",
"image_prefer_embedded_preview_setting_description": "ใช้การแสดงภาพแบบฝังตัวในรูปภาพ RAW ในการวิเคราะห์รูปภาพหากสามารถใช้ได้ สิ่งนี้จะช่วยให้รูปภาพมีสีสันที่ถูกต้องมากยิ่งขึ้น แต่อย่างไรก็ตาม คุณภาพรูปภาพขึ้นอยู่กับกล้องถ่ายรูป และอาจจะเกิดร่องรอย ลาย ที่ไม่พึงประสงค์บนรูปภาพ จากการย่อขนาดไฟล์",
"image_prefer_wide_gamut": "ใช้ช่วงสีกว้าง",
"image_prefer_wide_gamut_setting_description": "ใช้ Display P3 สำหรับภาพตัวอย่าง (thumbnails) เพื่อรักษาความสดใสของภาพที่มีช่วงสีที่กว้างขึ้น อย่างไรก็ตาม ภาพอาจแสดงผลแตกต่างกันบนอุปกรณ์เก่าที่ใช้เว็บเบราว์เซอร์เวอร์ชันเก่า สำหรับภาพที่อยู่ใน sRGB จะยังคงใช้ sRGB ต่อไปเพื่อหลีกเลี่ยงการเปลี่ยนแปลงของสี",
"image_preview_description": "ภาพขนาดปานกลางที่ถูกลบข้อมูลเมตา ใช้สำหรับการดูแอสเซ็ตเดี่ยวและสำหรับการเรียนรู้ของเครื่อง (Machine Learning)",
@@ -131,7 +136,7 @@
"machine_learning_smart_search_description": "ค้นหาภาพโดยใช้ความหมายจากการใช้ CLIP",
"machine_learning_smart_search_enabled": "เปิดใช้งานการค้นหาอัจฉริยะ",
"machine_learning_smart_search_enabled_description": "หากปิดใช้งาน ภาพจะไม่ถูกใช้สําหรับการค้นหาอัจฉริยะ",
"machine_learning_url_description": "URL ของเซิร์ฟเวอร์ machine learning",
"machine_learning_url_description": "URL ของเซิร์ฟเวอร์ machine learning กรณีมี URL มากกว่าหนึ่ง URL จะทำการทดลองส่งข้อมูลเรียงไปทีละอันตามลำดับจนกว่าจะพบ URL ที่ตอบสนอง และจะเลิกส่งข้อมูลชั่วคราวในส่วนของ URL ที่ไม่ตอบสนอง",
"manage_concurrency": "จัดการการทำงานพร้อมกัน",
"manage_log_settings": "จัดการการตั้งค่าจดบันทึก",
"map_dark_style": "แบบมืด",
@@ -147,6 +152,8 @@
"map_settings": "การตั้งค่าแผนที่และ GPS",
"map_settings_description": "จัดการการตั้งค่าแผนที่",
"map_style_description": "URL ไปยังธีมแผนที่ style.json",
"memory_cleanup_job": "ล้างข้อมูลในหน่วยความจำ (memory)",
"memory_generate_job": "การสร้างความทรงจำ",
"metadata_extraction_job": "ดึงข้อมูล metadata",
"metadata_extraction_job_description": "ดึงข้อมูล metadata จากสื่อ เช่น GPS และความคมชัด",
"metadata_faces_import_setting": "เปิดการนำเข้าข้อมูลใบหน้า",
@@ -159,7 +166,6 @@
"no_pattern_added": "ไม่ได้เพิ่มรูปแบบ",
"note_apply_storage_label_previous_assets": "หากต้องการใช้ Storage Label กับไฟล์ที่อัปโหลดก่อนหน้านี้ ให้รันคำสั่งนี้",
"note_cannot_be_changed_later": "หมายเหตุ: ไม่สามารถเปลี่ยนภายหลังได้!",
"note_unlimited_quota": "หมายเหตุ: ใส่เลข 0 สําหรับโควต้าไม่จํากัด",
"notification_email_from_address": "จากที่อยู่",
"notification_email_from_address_description": "อีเมลผู้ส่ง อย่างเช่น \"Immich Photo Server <noreply@immich.app>\"",
"notification_email_host_description": "ที่อยู่เซิร์ฟเวอร์อีเมล (เช่น smtp.immich.app)",
@@ -219,7 +225,7 @@
"reset_settings_to_default": "ตั้งค่าการตั้งค่าเป็นค่าเริ่มต้น",
"reset_settings_to_recent_saved": "ตั้งค่าการตั้งค่าเป็นค่าล่าสุด",
"scanning_library": "กำลังสแกนคลัง",
"search_jobs": "ค้นหางาน",
"search_jobs": "ค้นหางาน",
"send_welcome_email": "ส่งอีเมลต้อนรับ",
"server_external_domain_settings": "โดเมนภายนอก",
"server_external_domain_settings_description": "โดเมนสำหรับลิงก์แชร์สาธารณะ แบบมี http(s)://",
@@ -240,7 +246,7 @@
"storage_template_hash_verification_enabled_description": "เปิดใช้งานการตรวจสอบ hash ห้ามปิดใช้งานเว้นแต่คุณจะเข้าใจผลกระทบ",
"storage_template_migration": "การย้ายเทมเพลตที่เก็บข้อมูล",
"storage_template_migration_description": "ใช้<link>{template}</link>ปัจจุบันกับสื่อที่อัปโหลดก่อนหน้านี้",
"storage_template_migration_info": "การเปลี่ยนแปลงเทมเพลตจะมีผลกับแอสเซ็ตใหม่เท่านั้น หากต้องการนำเทมเพลตไปใช้กับ Asset ที่อัปโหลดก่อนหน้านี้ ให้รัน <link>{job}</link>.",
"storage_template_migration_info": "เทมเพลตของการจัดเก็บข้อมูลจะเปลี่ยนตัวอักษรเป็นตัวพิมพ์เล็กทั้งหมด การเปลี่ยนแปลงเทมเพลตจะมีผลกับแอสเซ็ตใหม่เท่านั้น หากต้องการนำเทมเพลตไปใช้กับ Asset ที่อัปโหลดก่อนหน้านี้ ให้รัน <link>{job}</link>.",
"storage_template_migration_job": "เทมเพลตการ Migration ข้อมูล",
"storage_template_more_details": "สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับฟีเจอร์นี้ โปรดดูที่ <template-link>Storage Template</template-link> และ <implications-link>ผลกระทบ</implications-link>",
"storage_template_onboarding_description": "เมื่อเปิดใช้งาน ฟีเจอร์นี้จะจัดระเบียบไฟล์โดยอัตโนมัติตามเทมเพลตที่ผู้ใช้กำหนด เนื่องจากปัญหาด้านความเสถียร ฟีเจอร์นี้จึงถูกปิดใช้งานเป็นค่าเริ่มต้น สำหรับข้อมูลเพิ่มเติม โปรดดูที่ <link>เอกสารประกอบ</link>",
@@ -313,7 +319,7 @@
"transcoding_reference_frames_description": "จำนวนเฟรมที่จะอ้างอิงเมื่อบีบอัดเฟรมที่กำหนด ค่าที่สูงขึ้นจะช่วยเพิ่มประสิทธิภาพในการบีบอัด แต่จะทำให้การเข้ารหัสช้าลง ค่า 0 จะตั้งค่านี้โดยอัตโนมัติ",
"transcoding_required_description": "เฉพาะวิดีโอที่ไม่อยู่ในรูปแบบที่ยอมรับเท่านั้น",
"transcoding_settings": "การตั้งค่าการแปลงไฟล์วิดีโอ",
"transcoding_settings_description": "จัดการข้อมูลความคมชัดและแบบไฟล์วิดีโอ",
"transcoding_settings_description": "จัดการว่าวีดีโอไหนจะถูกแปลงการเข้ารหัส (Transcode) และวิธีการประมวลผลไฟล์ดังกล่าว",
"transcoding_target_resolution": "เป้าหมายความคมชัด",
"transcoding_target_resolution_description": "ความคมชัดที่สูงกว่าจะเก็บรายละเอียดดีกว่าแต่ใช้เวลาแปลงไฟล์นานกว่า ขนาดไฟล์ใหญ่กว่า และลดการตอบสนองของแอป",
"transcoding_temporal_aq": "AQ ชั่วคราว",
@@ -353,6 +359,7 @@
"version_check_implications": "การตรวจสอบเวอร์ชันใหม่จะต้องติดต่อกับ github.com เป็นระยะ",
"version_check_settings": "ตรวจสอบรุ่น",
"version_check_settings_description": "เปิด/ปิดการแจ้งเตือนรุ่นใหม่",
"video_conversion_job": "เข้ารหัสวีดีโอ (transcode)",
"video_conversion_job_description": "แปลงไฟล์วิดีโอเพึ่อรองรับบราวเซอร์และเครื่องเล่นอื่น ๆ มากขึ้น"
},
"admin_email": "อีเมลผู้ดูแลระบบ",
@@ -369,7 +376,7 @@
"album_delete_confirmation_description": "หากแชร์อัลบั้มนี้ ผู้ใช้รายอื่นจะไม่สามารถเข้าถึงได้อีก",
"album_info_updated": "อัปเดทข้อมูลอัลบั้มแล้ว",
"album_leave": "ออกจากอัลบั้ม ?",
"album_leave_confirmation": "คุณต้องการออกจากอัลบั้ม {album} ใช่หรือไม่",
"album_leave_confirmation": "คุณต้องการออกจากอัลบั้ม {album} ใช่หรือไม่?",
"album_name": "ชื่ออัลบั้ม",
"album_options": "ตัวเลือกอัลบั้ม",
"album_remove_user": "ลบผู้ใช้ ?",
@@ -390,6 +397,7 @@
"allow_edits": "อนุญาตให้แก้ไขได้",
"allow_public_user_to_download": "อนุญาตให้ผู้ใช้สาธารณะดาวน์โหลดได้",
"allow_public_user_to_upload": "อนุญาตให้ผู้ใช้สาธารณะอัปโหลดได้",
"alt_text_qr_code": "รูปภาพ QR code",
"anti_clockwise": "ทวนเข็มนาฬิกา",
"api_key": "API key",
"api_key_description": "ค่านี้จะแสดงเพียงครั้งเดียว โปรดคัดลอกก่อนปิดหน้าต่าง",
@@ -444,7 +452,7 @@
"cancel": "ยกเลิก",
"cancel_search": "ยกเลิกการค้นหา",
"cannot_merge_people": "ไม่สามารถรวมกลุ่มคนได้",
"cannot_undo_this_action": "ไม่สามารถย้อนกลับได้",
"cannot_undo_this_action": "การกระทำนี้ไม่สามารถย้อนกลับได้!",
"cannot_update_the_description": "ไม่สามารถอัพเดทรายละเอียดได้",
"change_date": "เปลี่ยนวันที่",
"change_expiration_time": "เปลี่ยนเวลาหมดอายุ",
@@ -476,6 +484,7 @@
"comments_are_disabled": "ความคิดเห็นถูกปิดใช้งาน",
"confirm": "ยืนยัน",
"confirm_admin_password": "ยืนยันรหัสผ่านผู้ดูแลระบบ",
"confirm_delete_face": "คุณแน่ใจว่าต้องการลบใบหน้า{name}ออกหรือไม่?",
"confirm_delete_shared_link": "คุณต้องการที่จะลบลิงก์ที่แชร์ใช่หรือไม่ ?",
"confirm_keep_this_delete_others": "จะลบทั้งหมดในรายการ และยกเว้นสื่อนี้หรือไม่ คุณแน่ใจใช่ไหมที่ต้องการดำเนินการต่อ?",
"confirm_password": "ยืนยันรหัสผ่าน",
@@ -528,13 +537,14 @@
"delete_album": "ลบอัลบั้ม",
"delete_api_key_prompt": "คุณต้องการลบ API คีย์ นี้ใช่ไหม ?",
"delete_duplicates_confirmation": "คุณแน่ใจที่ต้องการลบรายการซ้ำอย่างถาวรใช่ไหม ?",
"delete_face": "ลบใบหน้า",
"delete_key": "ลบกุญแจ",
"delete_library": "ลบคลังภาพ",
"delete_link": "ลบลิงก์",
"delete_others": "ลบผู้อื่น",
"delete_shared_link": "ลบลิงก์ที่แชร์",
"delete_tag": "ลบแท็ก",
"delete_tag_confirmation_prompt": "คุณต้องการลบแท็ก {tagName} ใช่หรือไม่",
"delete_tag_confirmation_prompt": "คุณแน่ใจว่าต้องการลบแท็ก {tagName} ใช่หรือไม่?",
"delete_user": "ลบผู้ใช้",
"deleted_shared_link": "ลบลิงก์ที่แชร์แล้ว",
"deletes_missing_assets": "ลบสื่อที่หายไปออกจากดิสถ์",
@@ -543,7 +553,7 @@
"direction": "เส้นทาง",
"disabled": "ปิดการใช้งาน",
"disallow_edits": "ไม่อนุญาตให้แก้ไข",
"discord": "Discord",
"discord": "ดิสคอร์ด",
"discover": "ค้นพบ",
"dismiss_all_errors": "ปฏิเสธข้อผิดพลาดทั้งหมด",
"dismiss_error": "ปฏิเสธข้อผิดพลาด",
@@ -595,6 +605,7 @@
"enabled": "เปิดใช้งาน",
"end_date": "วันสิ้นสุด",
"error": "เกิดข้อผิดพลาด",
"error_delete_face": "เกิดเออเรอร์ ไม่สามารถลบใบหน้าออกได้",
"error_loading_image": "เกิดข้อผิดพลาดระหว่างโหลดภาพ",
"error_title": "เกิดข้อผิดพลาด",
"errors": {
@@ -613,7 +624,7 @@
"error_adding_users_to_album": "เกิดข้อผิดพลาดในการเพิ่มผู้ใช้ไปยังอัลบั้ม",
"error_deleting_shared_user": "เกิดข้อผิดพลาดในการลบผู้ใช้ที่แชร์",
"error_downloading": "ไม่สามารถดาวน์โหลด {filename} ได้",
"error_hiding_buy_button": "Error hiding buy button",
"error_hiding_buy_button": "เกิดข้อผิดพลาด ไม่สามารถซ่อนปุ่มซื้อได้",
"error_removing_assets_from_album": "เกิดข้อผิดพลาดในการลบสื่อจากอัลบั้ม",
"error_selecting_all_assets": "เกิดข้อผิดพลาดในการเลือกสื่อทั้งหมด",
"exclusion_pattern_already_exists": "ข้อยกเว้นนี้มีอยู่แล้ว",
@@ -626,7 +637,7 @@
"failed_to_load_asset": "ไม่สามารถโหลดสื่อได้",
"failed_to_load_assets": "ไม่สามารถโหลดสื่อได้",
"failed_to_load_people": "ไม่สามารถโหลดบุคคลได้",
"failed_to_remove_product_key": "Failed to remove product key",
"failed_to_remove_product_key": "ไม่สามารถลบ product key ได้",
"failed_to_stack_assets": "Failed to stack assets",
"failed_to_unstack_assets": "Failed to un-stack assets",
"import_path_already_exists": "พาธนำเข้านี้มีอยู่แล้ว",
@@ -760,8 +771,10 @@
"go_to_folder": "ไปที่โฟล์เดอร์",
"go_to_search": "กลับไปยังการค้นหา",
"group_albums_by": "จัดกลุ่มอัลบั้มตาม",
"group_country": "จัดเรียงกลุ่มตามประเทศ",
"group_no": "ไม่จัดกลุ่ม",
"group_owner": "จัดกลุ่มโดยเจ้าของ",
"group_places_by": "จัดเรียงกลุ่มของสถานที่ด้วยการ...",
"group_year": "จัดกลุ่มตามปี",
"has_quota": "เหลือพื้นที่",
"hi_user": "สวัสดีคุณ {name} {email}",
@@ -842,6 +855,7 @@
"loop_videos": "วนวิดีโอ",
"loop_videos_description": "เปิดเพื่อให้วิดีโอวนลูปในที่ดูรายละเอียด",
"main_branch_warning": "คุณกำลังใช้เวอร์ชันการพัฒนา เราขอแนะนำอย่างยิ่งให้ใช้เวอร์ชันเสถียร !",
"main_menu": "เมนูหลัก",
"make": "สร้าง",
"manage_shared_links": "จัดการลิงก์ที่แชร์",
"manage_sharing_with_partners": "จัดการการแชร์กับคู่หู",
@@ -905,7 +919,6 @@
"no_shared_albums_message": "สร้างอัลบั้มเพื่อแชร์รูปภาพและวิดีโอกับคนในเครือข่ายของคุณ",
"not_in_any_album": "ไม่อยู่ในอัลบั้มใด ๆ",
"note_apply_storage_label_to_previously_uploaded assets": "หมายเหตุ: หากต้องการใช้ป้ายกำกับพื้นที่เก็บข้อมูลกับเนื้อหาที่อัปโหลดก่อนหน้านี้ ให้เรียกใช้",
"note_unlimited_quota": "หมายเหตุ: กรอก 0 สำหรับโควตาแบบไม่จำกัด",
"notes": "หมายเหตุ",
"notification_toggle_setting_description": "เปิด/ปิด การแจ้งเตือนอีเมล",
"notifications": "การแจ้งเตือน",
@@ -969,6 +982,7 @@
"permanently_deleted_asset": "ลบสื่อถาวรแล้ว",
"permanently_deleted_assets_count": "ลบ {count, plural, one {# asset} other {# assets}} เรียบร้อยแล้ว",
"person": "บุคคล",
"person_birthdate": "เกิดวัน{date}",
"photo_shared_all_users": "ดูเหมือนว่าคุณได้แชร์รูปภาพของคุณกับผู้ใช้ทั้งหมด หรือคุณไม่มีผู้ใช้ใดที่จะแชร์ด้วย",
"photos": "รูปภาพ",
"photos_and_videos": "รูปภาพ และ วิดีโอ",
@@ -1058,12 +1072,16 @@
"remove_from_album": "ลบออกจากอัลบั้ม",
"remove_from_favorites": "เอาออกจากรายการโปรด",
"remove_from_shared_link": "ลบออกจากลิงก์ที่แชร์",
"remove_memory": "ลบความทรงจำ",
"remove_photo_from_memory": "ลบรูปออกจากความทรงจำนี้",
"remove_url": "ลบ URL",
"remove_user": "ลบผู้ใช้",
"removed_api_key": "API คีย์ของ: {name} ถูกลบแล้ว",
"removed_from_archive": "ลบจากเก็บถาวรแล้ว",
"removed_from_favorites": "ลบจากรายการโปรดแล้ว",
"removed_from_favorites_count": "{count, plural, other {ถูกลบ#}} จากรายการโปรดแล้ว",
"removed_memory": "ความทรงจำที่ถูกลบ",
"removed_photo_from_memory": "รูปที่ถูกลบออกจากความทรงจำ",
"removed_tagged_assets": "ลบแท็กจาก {count, plural, one {# สื่อ} other {# สื่อ}}",
"rename": "เปลี่ยนชื่อ",
"repair": "ซ่อมแซม",
@@ -1071,6 +1089,7 @@
"replace_with_upload": "อัปโหลดทับรูปหรือวิดีโอนี้",
"require_password": "ต้องการรหัสผ่าน",
"require_user_to_change_password_on_first_login": "จำเป็นต้องเปลี่ยนรหัสผ่าน ในการเข้าสู่ระบบครั้งแรก",
"rescan": "สแกนใหม่",
"reset": "รีเซ็ต",
"reset_password": "ตั้งค่ารหัสผ่านใหม่",
"reset_people_visibility": "ปรับการมองเห็นใหม่",
@@ -1099,6 +1118,8 @@
"search": "ค้นหา",
"search_albums": "ค้นหาอัลบั้ม",
"search_by_context": "ค้นหาตามบริบท",
"search_by_description": "ค้นหาด้วยคำอธิบาย",
"search_by_description_example": "วันปีนเขาในซาปา",
"search_by_filename": "ค้นหาชื่อไฟล์ชื่อ หรือ ชนิดไฟล์",
"search_by_filename_example": "ตัวอย่าง. IMG_1234.JPG หรือ PNG",
"search_camera_make": "ค้นหายี่ห้อกล้อง",
@@ -1112,6 +1133,7 @@
"search_options": "ตัวเลือกการค้นหา",
"search_people": "ค้นหาผู้คน",
"search_places": "ค้นหาสถานที่",
"search_rating": "ค้นหาตามเรตติ้ง...",
"search_settings": "ตั้งค่าการค้นหา",
"search_state": "ค้นหาตามรัฐ",
"search_tags": "ค้นหาแท็ก",
@@ -1121,6 +1143,7 @@
"searching_locales": "ค้นหาตามภูมิภาค",
"second": "วินาที",
"see_all_people": "ดูบุคคลทั้งหมด",
"select": "เลือก",
"select_album_cover": "เลือกภาพปกอัลบั้ม",
"select_all": "เลือกทั้งหมด",
"select_all_duplicates": "เลือกรายการที่ซ้ำทั้งหมด",
@@ -1158,6 +1181,7 @@
"shared_from_partner": "รูปจาก {partner}",
"shared_link_options": "ตั้งค่าลิงก์ที่แชร์",
"shared_links": "ลิงก์ที่แชร์",
"shared_links_description": "แบ่งปันรูปและวีดีโอด้วยลิ้งค์",
"shared_with_partner": "แชร์กับ {partner}",
"sharing": "การแชร์",
"sharing_enter_password": "โปรดป้อนรหัสผ่าน สำหรับเปิดดูหน้านี้",
@@ -1179,6 +1203,7 @@
"show_person_options": "แสดงตัวเลือกของตัวบุคคล",
"show_progress_bar": "แสดงความคืบหน้า แถบ",
"show_search_options": "แสดงตัวเลือกการค้นหา",
"show_shared_links": "แสดงลิ้งค์ที่ถูกแบ่งปัน",
"show_slideshow_transition": "แสดงสไลค์โชว์",
"show_supporter_badge": "เครื่องหมายผู้สนับสนุน",
"show_supporter_badge_description": "แสดงเครื่องหมายผู้สนับสนุน",
@@ -1203,17 +1228,21 @@
"sort_title": "ไตเติ้ล",
"source": "แหล่ง",
"stack": "ซ้อน",
"stack_selected_photos": "",
"stack_duplicates": "นำสิ่งที่ซ้ำมาซ้อนอยู่ด้วยกัน",
"stack_select_one_photo": "เลือกรูปหลักหนึ่งรูปสำหรับรูปที่ซ้อนกันนี้",
"stack_selected_photos": "ซ้อนรูปที่ถูกเลือก",
"stacktrace": "",
"start": "เริ่มต้น",
"start_date": "วันที่เริ่ม",
"state": "รัฐ",
"status": "สถานะ",
"stop_motion_photo": "ภาพวัตถุเคลื่อนไหว",
"stop_photo_sharing": "หยุดแชร์รูปภาพ?",
"stop_photo_sharing_description": "{partner}จะไม่สามารถเข้าถึงรูปของคุณได้อีก",
"stop_sharing_photos_with_user": "หยุดการแชร์รูปภาพของคุณกับผู้ใช้นี้",
"storage": "พื้นที่จัดเก็บ",
"storage_label": "เนื้อที่จัดเก็บ",
"storage_usage": "ใช้ไป {used} จาก {available} ",
"storage_usage": "ใช้ไป {used} จาก {available}",
"submit": "ส่ง",
"suggestions": "ข้อเสนอแนะ",
"sunrise_on_the_beach": "พระอาทิตย์ขึ้นบนชายหาด",
@@ -1224,22 +1253,28 @@
"sync": "ซิงค์",
"tag": "แท็ก",
"tag_created": "สร้างแท็ก: {tag}",
"tag_not_found_question": "ไม่สามารถหาแท็กได้ใช่หรือไม่?<link>สร้างแท็กใหม่</link>",
"tag_people": "แท็กผู้คน",
"tag_updated": "แท็กที่ถูกอัพเดต: {tag}",
"tags": "แท็ก",
"template": "เท็มเพลต",
"theme": "ธีม",
"theme_selection": "การเลือกธีม",
"theme_selection_description": "ตั้งค่าธีมให้สว่างหรือมืดโดยอัตโนมัติ อิงจากค่าของเบราว์เซอร์ของคุณ",
"they_will_be_merged_together": "จะถูกรวมเข้าด้วยกัน",
"third_party_resources": "ทรัพยากรบุคคลที่สาม",
"time_based_memories": "ความทรงจําตามเวลา",
"timeline": "Timeline",
"timeline": "ทามไลน์",
"timezone": "เขตเวลา",
"to_archive": "จัดเก็บถาวร",
"to_change_password": "Change password",
"to_change_password": "เปลี่ยนรหัสผ่าน",
"to_favorite": "รายการโปรด",
"to_login": "เข้าสู่ระบบ",
"to_parent": "ไปยังบนสุด",
"to_trash": "ถังขยะ",
"toggle_settings": "สลับการตั้งค่า",
"toggle_theme": "สลับธีม",
"total": "ทั้งหมด",
"total_usage": "การใช้งานรวม",
"trash": "ถังขยะ",
"trash_all": "ทิ้งทั้งหมด",

View File

@@ -132,7 +132,7 @@
"machine_learning_smart_search_description": "Fotoğrafları CLIP kullanarak semantik olarak ara",
"machine_learning_smart_search_enabled": "Akıllı aramayı etkinleştir",
"machine_learning_smart_search_enabled_description": "Eğer devre dışı bırakılırsa fotoğraflar akıllı arama için işlenmeyecek.",
"machine_learning_url_description": "Makine öğrenimi sunucusunun URL'si. Birden fazla URL sağlanırsa, ilkinden sonuna doğru, biri başarılı bir şekilde yanıt verene kadar her sunucu tek tek denenir.",
"machine_learning_url_description": "Makine öğrenimi sunucusunun URLsi. Birden fazla URL sağlanırsa, her sunucu sırayla tek tek denenir ve biri başarılı yanıt verene kadar devam edilir. Yanıt vermeyen sunucular, çevrimiçi duruma gelene kadar geçici olarak yok sayılır.",
"manage_concurrency": "Aynı anda çalışmayı yönet",
"manage_log_settings": "Günlük ayarlarını yönet",
"map_dark_style": "Koyu mod",
@@ -162,7 +162,6 @@
"no_pattern_added": "Desen eklenmedi",
"note_apply_storage_label_previous_assets": "Not: Daha önce yüklenen varlıklara Depolama Etiketi uygulamak için şu komutu çalıştırın",
"note_cannot_be_changed_later": "NOT: Bu daha sonra değiştirilemez!",
"note_unlimited_quota": "NOT: Sınırsız kota için 0 yazın",
"notification_email_from_address": "Şu adresten",
"notification_email_from_address_description": "Göndericinin email adresi, örnek: \"Immich Fotoğraf Sunucusu <noreply@example.com>\"",
"notification_email_host_description": "E-posta sunucusunun ana bilgisayarı (örneğin, smtp.immich.app)",
@@ -923,7 +922,6 @@
"no_shared_albums_message": "Fotoğrafları ve videolarıınızdaki kişilerle paylaşmak için bir albüm oluşturun",
"not_in_any_album": "Hiçbir albümde değil",
"note_apply_storage_label_to_previously_uploaded assets": "Not: Daha önce yüklenen varlıklar için bir depolama yolu etiketi uygulamak üzere şunu başlatın",
"note_unlimited_quota": "Not: Sınırsız kota için 0 yazın",
"notes": "Notlar",
"notification_toggle_setting_description": "E-posta bildirimlerine izin ver",
"notifications": "Bildirimler",

View File

@@ -66,18 +66,23 @@
"forcing_refresh_library_files": "Примусове оновлення всіх файлів бібліотеки",
"image_format": "Формат",
"image_format_description": "Формат WebP виробляє меньші файлів, ніж JPEG, але його кодування вимагає більше часу.",
"image_prefer_embedded_preview": "Надати перевагу вбудованому перегляду",
"image_prefer_embedded_preview_setting_description": "Використовуйте вбудовані попередні перегляди у RAW фотографіях як вхідні дані для обробки зображень, коли це можливо. Це може забезпечити більш точні кольори для деяких зображень, але якість попереднього перегляду залежить від камери та зображення можуть мати більше артефактів стиснення.",
"image_fullsize_description": "Повнорозмірне зображення з видаленими метаданими, які використовуються під час збільшення",
"image_fullsize_enabled": "Увімкнути створення повнорозмірного зображення",
"image_fullsize_enabled_description": "Генерувати зображення повного розміру для форматів, не призначених для вебу. Якщо увімкнено \"Надавати перевагу вбудованому прев’ю\", вбудовані прев’ю використовуються без конвертації. Не впливає на веб-дружні формати, такі як JPEG.",
"image_fullsize_quality_description": "Якість повнорозмірного зображення від 1 до 100. Чим вище значення, тим краще якість, але більше розмір файлу.",
"image_fullsize_title": "Налаштування повнорозмірного зображення",
"image_prefer_embedded_preview": "Надавати перевагу вбудованому прев’ю",
"image_prefer_embedded_preview_setting_description": "Використовувати вбудовані прев’ю в RAW-фотографіях як вхідні дані для обробки зображень, якщо вони доступні. Це може забезпечити точніші кольори для деяких зображень, але якість прев’ю залежить від камери і зображення може містити більше артефактів стиснення.",
"image_prefer_wide_gamut": "Віддають перевагу широкій гамі",
"image_prefer_wide_gamut_setting_description": "Для мініатюр використовуйте дисплей P3. Це краще зберігає яскравість зображень з широким колірним простором, але на старих пристроях зі старою версією браузера зображення можуть виглядати інакше. sRGB-зображення зберігаються у форматі sRGB, щоб уникнути зсуву кольорів.",
"image_preview_description": "Зображення середнього розміру з видаленими метаданими, яке використовується при перегляді одного об'єкта та для машинного навчання",
"image_preview_quality_description": "Якість попереднього перегляду від 1 до 100. Вища оцінка означає кращу якість, але створює більші файли та може зменшити швидкість роботи програми. Встановлення низького значення може вплинути на якість машинного навчання.",
"image_preview_title": "Налаштування попереднього перегляду",
"image_preview_quality_description": "Якість прев’ю від 1 до 100. Вища оцінка означає кращу якість, але створює більші файли та може зменшити швидкість роботи програми. Встановлення низького значення може вплинути на якість машинного навчання.",
"image_preview_title": "Налаштування прев’ю",
"image_quality": "Якість",
"image_resolution": "Роздільність",
"image_resolution_description": "Вища роздільність може зберігати більше деталей, але займає більше часу для кодування, має більші розміри файлів і може зменшити швидкість роботи програми.",
"image_settings": "Налаштування зображення",
"image_settings_description": "Керуйте якістю та роздільною здатністю згенерованих зображень",
"image_settings_description": "Керувати якістю та роздільною здатністю згенерованих зображень",
"image_thumbnail_description": "Маленька мініатюра із видаленими метаданими, що використовується для перегляду груп фотографій, наприклад, на основній лінії часу",
"image_thumbnail_quality_description": "Якість мініатюри від 1 до 100. Вища оцінка означає кращу якість, але створює більші файли та може зменшити швидкість роботи програми.",
"image_thumbnail_title": "Налаштування мініатюр",
@@ -162,7 +167,6 @@
"no_pattern_added": "Шаблон не додано",
"note_apply_storage_label_previous_assets": "Примітка: Щоб застосувати мітку зберігання до раніше завантажених ресурсів, запустіть",
"note_cannot_be_changed_later": "ПРИМІТКА: Це не можна змінити пізніше!",
"note_unlimited_quota": "Примітка: Введіть 0 для необмеженого обсягу квоти",
"notification_email_from_address": "З адреси",
"notification_email_from_address_description": "Адреса електронної пошти відправника, наприклад: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Хост поштового сервера (наприклад, smtp.immich.app)",
@@ -256,7 +260,7 @@
"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_description": "Керувати шаблонами сповіщень ел. пошти",
"template_email_update_album": "Оновити шаблон альбому",
@@ -859,6 +863,7 @@
"loop_videos": "Циклічні відео",
"loop_videos_description": "Увімкнути циклічне відтворення відео.",
"main_branch_warning": "Ви використовуєте версію для розробників; ми настійно рекомендуємо використовувати релізну версію!",
"main_menu": "Головне меню",
"make": "Виробник",
"manage_shared_links": "Керування спільними посиланнями",
"manage_sharing_with_partners": "Керуйте спільним використанням з партнерами",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "Створіть альбом, щоб ділитися фотографіями та відео з людьми у вашій мережі",
"not_in_any_album": "У жодному альбомі",
"note_apply_storage_label_to_previously_uploaded assets": "Примітка: Щоб застосувати мітку сховища до раніше завантажених ресурсів, виконайте команду",
"note_unlimited_quota": "Примітка: Введіть 0 для необмеженої квоти",
"notes": "Нотатки",
"notification_toggle_setting_description": "Увімкнути сповіщення електронною поштою",
"notifications": "Сповіщення",
@@ -1366,6 +1370,7 @@
"view_name": "Переглянути",
"view_next_asset": "Переглянути наступний ресурс",
"view_previous_asset": "Переглянути попередній ресурс",
"view_qr_code": "Переглянути QR-код",
"view_stack": "Перегляд стеку",
"visibility_changed": "Видимість змінено для {count, plural, one {# особи} few {# осіб} many {# осіб} other {# осіб}}",
"waiting": "Очікують",

View File

@@ -64,6 +64,11 @@
"forcing_refresh_library_files": "Làm mới toàn bộ thư viện ảnh",
"image_format": "Định dạng",
"image_format_description": "Định dạng WebP dung lượng nhỏ hơn JPEG, nhưng mã hóa chậm hơn.",
"image_fullsize_description": "Ảnh kích thước đẩy đủ với thông tin metadata bị loại bỏ, được dùng khi phóng to",
"image_fullsize_enabled": "Cho phép sinh ảnh đầy đủ kích thước",
"image_fullsize_enabled_description": "Sinh ảnh đầy đủ kích thước cho các định dạng không thân thiện với web. Khi tùy chọn \"Ưu tiên xem trước dạng nhúng\" được bật, việc xem trước dạng nhúng dược sử dụng trực tiếp mà không thông viecj chueyern đổi định dạng. Không ảnh hưởng đến các định dạng thân thiện với web như JPEG.",
"image_fullsize_quality_description": "Chất lượng ảnh kích thước đầy đủ từ 1-100. Số lớn hơn là ảnh chất lượng tốt hơn, nhưng không sinh ra file có kích thước lớn hơn.",
"image_fullsize_title": "Cài đặt ảnh kích thước đầy đủ",
"image_prefer_embedded_preview": "Ưu tiên ảnh xem trước đi kèm",
"image_prefer_embedded_preview_setting_description": "Ứng dụng sẽ sử dụng ảnh xem trước trong ảnh RAW khi có sẵn để xử lý hình ảnh. Điều này có thể giúp tái tạo màu sắc chính xác hơn cho một số hình ảnh, nhưng chất lượng của ảnh xem trước phụ thuộc vào máy ảnh và có thể bị nén.",
"image_prefer_wide_gamut": "Ưu tiên gam màu mở rộng",
@@ -95,7 +100,7 @@
"library_scanning_enable_description": "Bật quét thư viện định kỳ",
"library_settings": "Thư viện bên ngoài",
"library_settings_description": "Quản lý cài đặt thư viện bên ngoài",
"library_tasks_description": "Thực hiện các tác vụ thư viện",
"library_tasks_description": "Quét thư viện ngoài để tìm ảnh mới thêm hoặc bị thay đổi",
"library_watching_enable_description": "Tự động cập nhật các tập tin bị thay đổi trong thư viện bên ngoài",
"library_watching_settings": "Theo dõi thư viện (THỬ NGHIỆM)",
"library_watching_settings_description": "Tự động cập nhật khi các tập tin bị thay đổi",
@@ -130,7 +135,7 @@
"machine_learning_smart_search_description": "Tìm kiếm hình ảnh theo ngữ cảnh với CLIP",
"machine_learning_smart_search_enabled": "Bật Tìm kiếm Thông minh",
"machine_learning_smart_search_enabled_description": "Nếu tắt, hình ảnh sẽ không được mã hoá để tìm kiếm thông minh.",
"machine_learning_url_description": "Địa chỉ máy chủ Học máy",
"machine_learning_url_description": "Địa chỉ máy chủ Học máy. Nếu có nhiều hơn một địa chỉ được cung cấp, mỗi máy chủ sẽ được kiểm tra một lần cho đến khi có một máy chủ trả lời thành công, theo thứ tự từ máy chủ đầu tiên đến máy chủ cuối cùng. Máy chủ không phản hồi sẽ tạm thời được bỏ qua cho đến khi máy chủ online trở lại.",
"manage_concurrency": "Quản lý Tác vụ",
"manage_log_settings": "Quản lý cài đặt nhật ký",
"map_dark_style": "Giao diện tối",
@@ -158,7 +163,6 @@
"no_pattern_added": "Không có quy tắc nào được thêm vào",
"note_apply_storage_label_previous_assets": "Lưu ý: Để áp dụng Nhãn lưu trữ cho nội dung đã tải lên trước đó, hãy chạy",
"note_cannot_be_changed_later": "LƯU Ý: Cài đặt này không thể thay đổi được sau khi lưu!",
"note_unlimited_quota": "Lưu ý: Nhập 0 để hạn mức không giới hạn",
"notification_email_from_address": "Địa chỉ email người gửi",
"notification_email_from_address_description": "Địa chỉ email của người gửi, ví dụ: \"Immich Photo Server <noreply@example.com>\"",
"notification_email_host_description": "Địa chỉ máy chủ email (ví dụ: smtp.immich.app)",
@@ -218,10 +222,11 @@
"reset_settings_to_default": "Đặt lại cài đặt về mặc định",
"reset_settings_to_recent_saved": "Đặt lại cài đặt về cài đặt trước đó",
"scanning_library": "Quét thư viện",
"search_jobs": "Tìm kiếm tác vụ...",
"search_jobs": "Tìm kiếm tác vụ",
"send_welcome_email": "Gửi email chào mừng",
"server_external_domain_settings": "Tên miền công khai",
"server_external_domain_settings_description": "Tên miền dành cho các liên kết chia sẻ công khai, bao gồm http(s)://",
"server_public_users_description": "Tất cả người dùng (tên và email) được liệt kê khi thêm một người dùng vào một album được chia sẻ. Khi tắt lựa chọn này, danh sách người dùng chỉ có thể được thấy bởi người dùng quản trị.",
"server_settings": "Máy chủ",
"server_settings_description": "Quản lý cài đặt máy chủ",
"server_welcome_message": "Thông điệp chào mừng",
@@ -237,7 +242,7 @@
"storage_template_hash_verification_enabled_description": "Bật xác minh băm, không tắt tính năng này trừ khi bạn chắc chắn về các rủi ro có thể xảy ra",
"storage_template_migration": "Di chuyển mẫu lưu trữ",
"storage_template_migration_description": "Áp dụng <link>{template}</link> hiện tại cho các ảnh đã được tải lên trước đây",
"storage_template_migration_info": "Các thay đổi mẫu chỉ áp dụng cho các ảnh mới. Để áp dụng lại mẫu cho các ảnh đã được tải lên trước đây, hãy chạy <link>{job}</link>.",
"storage_template_migration_info": "Bản mẫu lưu trữ sẽ chuyển đổi tất cả cả định dang file thành chữ nhỏ. Các thay đổi bản mẫu chỉ áp dụng cho các ảnh mới. Để áp dụng lại mẫu cho các ảnh đã được tải lên trước đây, hãy chạy <link>{job}</link>.",
"storage_template_migration_job": "Tác vụ di chuyển mẫu lưu trữ",
"storage_template_more_details": "Cần thêm thông tin chi tiết về tính năng này, vui lòng tham khảo <template-link>Mẫu lưu trữ</template-link> và các <implications-link>hệ quả</implications-link> của nó",
"storage_template_onboarding_description": "Khi được bật, tính năng này sẽ tự động sắp xếp các tập tin dựa trên mẫu do người dùng định nghĩa. Do các vấn đề về độ ổn định nên tính năng này đã bị tắt theo mặc định. Để biết thêm thông tin, vui lòng xem <link>tài liệu</link>.",
@@ -247,6 +252,15 @@
"storage_template_user_label": "Cụm từ <code>{label}</code> là Nhãn lưu trữ của người dùng",
"system_settings": "Cài đặt hệ thống",
"tag_cleanup_job": "Dọn dẹp thẻ",
"template_email_available_tags": "Bạn có thể dùng các biến sau trong định dạng mẫu: {tags}",
"template_email_if_empty": "Nếu định dạng mẫu trống, địa chỉ email mặc định sẽ được sử dụng.",
"template_email_preview": "Xem trước",
"template_email_settings": "Mẫu định dạng email",
"template_email_settings_description": "Quản lý các mẫu định dạng email thông báo tùy biến",
"template_email_update_album": "Cập nhật Mẫu Album",
"template_email_welcome": "Định dạng email chào mừng",
"template_settings": "Các định dạng thông báo",
"template_settings_description": "Quản lý các định dạng thông báo tùy biến.",
"theme_custom_css_settings": "CSS tùy chỉnh",
"theme_custom_css_settings_description": "Cascading Style Sheets cho phép tùy chỉnh thiết kế của Immich.",
"theme_settings": "Chủ đề",
@@ -276,6 +290,8 @@
"transcoding_constant_rate_factor": "Hệ số tỷ lệ cố định (-crf)",
"transcoding_constant_rate_factor_description": "Mức chất lượng video. Các giá trị điển hình là 23 cho H.264, 28 cho HEVC, 31 cho VP9 và 35 cho AV1. Giá trị thấp hơn thì tốt hơn, nhưng tạo ra các tập tin lớn hơn.",
"transcoding_disabled_description": "Không chuyển mã bất kỳ video nào, có thể gây lỗi phát lại trên một số thiết bị",
"transcoding_encoding_options": "Các tùy chọn mã hóa",
"transcoding_encoding_options_description": "Thiết lập codec, độ phân giải, chất lượng và các tùy chọn khác cho video",
"transcoding_hardware_acceleration": "Tăng tốc phần cứng",
"transcoding_hardware_acceleration_description": "(Thử nghiệm) nhanh hơn nhiều nhưng sẽ có chất lượng thấp hơn ở cùng bitrate",
"transcoding_hardware_decoding": "Giải mã phần cứng",
@@ -288,6 +304,7 @@
"transcoding_max_keyframe_interval": "Khoảng cách tối đa giữa các khung hình chính",
"transcoding_max_keyframe_interval_description": "Thiết lập khoảng thời gian tối đa giữa các khung hình chính. Giá trị thấp hơn làm giảm hiệu suất nén, nhưng cải thiện thời gian tìm kiếm và có thể cải thiện chất lượng trong các cảnh có chuyển động nhanh. Giá trị 0 để tự động thiết lập giá trị này.",
"transcoding_optimal_description": "Video có độ phân giải cao hơn mục tiêu hoặc không ở định dạng được chấp nhận",
"transcoding_policy": "Chính sách chuyển mã video",
"transcoding_preferred_hardware_device": "Thiết bị phần cứng ưa thích",
"transcoding_preferred_hardware_device_description": "Chỉ áp dụng cho VAAPI và QSV. Thiết lập nút dri được sử dụng cho chuyển mã phần cứng.",
"transcoding_preset_preset": "Preset (-preset)",
@@ -887,7 +904,6 @@
"no_shared_albums_message": "Tạo một album để chia sẻ ảnh và video với mọi người trong mạng của bạn",
"not_in_any_album": "Không thuộc album nào",
"note_apply_storage_label_to_previously_uploaded assets": "Lưu ý: Để áp dụng Nhãn lưu trữ cho các ảnh đã tải lên trước đó, hãy chạy",
"note_unlimited_quota": "Lưu ý: Nhập 0 để có hạn mức không giới hạn",
"notes": "Lưu ý",
"notification_toggle_setting_description": "Bật thông báo qua email",
"notifications": "Thông báo",
@@ -1317,4 +1333,4 @@
"yes": "Có",
"you_dont_have_any_shared_links": "Bạn không có liên kết chia sẻ nào",
"zoom_image": "Thu phóng ảnh"
}
}

View File

@@ -2,12 +2,12 @@
"about": "關於",
"account": "帳號",
"account_settings": "帳號設定",
"acknowledge": "明白",
"acknowledge": "了解",
"action": "操作",
"actions": "作",
"actions": "進行動作",
"active": "處理中",
"activity": "動態",
"activity_changed": "動態{enabled, select, true {啟} other {停用}}",
"activity_changed": "動態{enabled, select, true {啟} other {關閉}}",
"add": "加入",
"add_a_description": "加入文字說明",
"add_a_location": "新增地點",
@@ -23,8 +23,8 @@
"add_to": "加入到…",
"add_to_album": "加入到相簿",
"add_to_shared_album": "加到共享相簿",
"add_url": "新增URL",
"added_to_archive": "已新增至封存",
"add_url": "建立連結",
"added_to_archive": "至封存",
"added_to_favorites": "加入收藏",
"added_to_favorites_count": "將 {count, number} 個項目加入收藏",
"admin": {
@@ -33,7 +33,7 @@
"authentication_settings": "驗證設定",
"authentication_settings_description": "管理密碼、OAuth 與其他驗證設定",
"authentication_settings_disable_all": "確定要停用所有登入方式嗎?這樣會完全無法登入。",
"authentication_settings_reenable": "如需重新啟用,請使用 <link>伺服器指令</link>。",
"authentication_settings_reenable": "如需重新啟用,請使用 <link> 伺服器指令 </link> 。",
"background_task_job": "背景執行",
"backup_database": "備份資料庫",
"backup_database_enable_description": "啟用資料庫備份",
@@ -66,8 +66,13 @@
"forcing_refresh_library_files": "強制重新整理所有圖庫檔案",
"image_format": "格式",
"image_format_description": "WebP 能產生相對於 JPEG 更小的檔案,但編碼速度較慢。",
"image_fullsize_description": "剝離圖片詮釋資料/元數據後的全尺寸圖片,在圖片被放大的情況下使用",
"image_fullsize_enabled": "開啟全尺寸圖片生成",
"image_fullsize_enabled_description": "為非網路友好圖片格式的圖片生成全尺寸圖像。在開啟 “偏好嵌入的預覽” 的選項後嵌入預覽會在沒有轉換格式下的狀況被使用。這項選項不影響JPEG等網路友好圖片格式。",
"image_fullsize_quality_description": "從1-100的全尺寸圖片品質。越高的數字代表著產出的品質越高檔案更大。",
"image_fullsize_title": "全尺寸圖片設定",
"image_prefer_embedded_preview": "偏好嵌入的預覽",
"image_prefer_embedded_preview_setting_description": "優先使用 RAW 的嵌入預覧作影像處理。可以提升某些影像的顏色精確度,但嵌入預覧的影像品質依相機而異,且可能壓縮較多。",
"image_prefer_embedded_preview_setting_description": "優先使用 RAW 的嵌入預覧作影像處理。可以提升某些影像的顏色精確度,但嵌入預覧的影像品質依相機而異,且可能壓縮較多。",
"image_prefer_wide_gamut": "偏好廣色域",
"image_prefer_wide_gamut_setting_description": "使用 Display P3 來製作縮圖。這可以更好地保留廣色域圖片的鮮豔度但在舊版瀏覽器或舊設備上圖片可能會顯示不同。sRGB 圖片會維持 sRGB 以避免顏色變化。",
"image_preview_description": "刪除中等尺寸圖片的詳細資料,當選擇看指定項目和機器學習時使用",
@@ -162,7 +167,6 @@
"no_pattern_added": "未添加pattern",
"note_apply_storage_label_previous_assets": "註:要將儲存標籤用於先前上傳的檔案,請執行",
"note_cannot_be_changed_later": "註:之後就無法更改嘍!",
"note_unlimited_quota": "註:輸入 0 表示不限制配額",
"notification_email_from_address": "寄件地址",
"notification_email_from_address_description": "寄件者電子郵件地址Immich Photo Server <noreply@example.com>",
"notification_email_host_description": "電子郵件伺服器主機smtp.immich.app",
@@ -243,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "啟用散列函数驗證,除非您很清楚地知道這個選項的作用,否則請勿停用此功能",
"storage_template_migration": "存儲模板遷移",
"storage_template_migration_description": "將當前的 <link>{template}</link> 應用於先前上傳的檔案",
"storage_template_migration_info": "模板更改僅適用於新檔案。若要追溯應用模板至先前上傳的檔案,請運行 <link>{job}</link>。",
"storage_template_migration_info": "檔案儲存模板將把所有檔案副檔名改爲小寫。模板更改僅適用於新檔案。若要追溯應用模板至先前上傳的檔案,請運行 <link>{job}</link>。",
"storage_template_migration_job": "存儲模板遷移任務",
"storage_template_more_details": "欲了解更多有關此功能的詳細信息,請參閱 <template-link>存儲模板</template-link> 及其 <implications-link>影響</implications-link>",
"storage_template_onboarding_description": "啟用此功能後,將根據用戶自定義的模板自動組織文件。由於穩定性問題,此功能已默認關閉。欲了解更多信息,請參閱 <link>文檔</link>。",
@@ -432,7 +436,7 @@
"assets_restore_confirmation": "確定要還原所有丟掉的檔案嗎?此步驟無法取消喔!註:這無法還原任何離線檔案。",
"assets_restored_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": "授權裝置",
"back": "返回",
"back_close_deselect": "返回、關閉及取消選取",
@@ -485,7 +489,7 @@
"comments_are_disabled": "留言已停用",
"confirm": "確認",
"confirm_admin_password": "確認管理者密碼",
"confirm_delete_face": "您確定要從資產中刪除 {name} 的臉嗎?",
"confirm_delete_face": "您確定要從項目中刪除 {name} 的臉嗎?",
"confirm_delete_shared_link": "確定刪除連結嗎?",
"confirm_keep_this_delete_others": "所有的其他堆疊項目將被刪除。確定繼續嗎?",
"confirm_password": "確認密碼",
@@ -606,7 +610,7 @@
"enabled": "己啟用",
"end_date": "結束日期",
"error": "錯誤",
"error_delete_face": "從資產中刪除臉時發生錯誤",
"error_delete_face": "從項目中刪除臉時發生錯誤",
"error_loading_image": "載入圖片時出錯",
"error_title": "錯誤 - 出問題了",
"errors": {
@@ -618,7 +622,7 @@
"cant_change_metadata_assets_count": "無法更改 {count, plural, other {# 個檔案}}的詳細資料",
"cant_get_faces": "無法取得臉孔",
"cant_get_number_of_comments": "無法取得留言數量",
"cant_search_people": "無法搜尋人",
"cant_search_people": "未搜尋到人物",
"cant_search_places": "無法搜尋地點",
"cleared_jobs": "已清除的作業:{job}",
"error_adding_assets_to_album": "將檔案加入相簿時出錯",
@@ -859,6 +863,7 @@
"loop_videos": "重播影片",
"loop_videos_description": "啟用後,影片結束會自動重播。",
"main_branch_warning": "現在使用的是開發版本;我們強烈建議使用正式發行版!",
"main_menu": "主頁面",
"make": "製造商",
"manage_shared_links": "管理共享連結",
"manage_sharing_with_partners": "管理與夥伴的分享",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "建立相簿分享照片和影片",
"not_in_any_album": "不在任何相簿中",
"note_apply_storage_label_to_previously_uploaded assets": "註:要將儲存標籤用於先前上傳的檔案,請執行",
"note_unlimited_quota": "註:輸入 0 表示不限制配額",
"notes": "提示",
"notification_toggle_setting_description": "啟用電子郵件通知",
"notifications": "通知",
@@ -987,6 +991,7 @@
"permanently_deleted_asset": "永久刪除的檔案",
"permanently_deleted_assets_count": "永久刪除的 {count, plural, one {# 個檔案} other {# 個檔案}}",
"person": "人物",
"person_birthdate": "生於 {date}",
"person_hidden": "{name}{hidden, select, true {(隱藏)} other {}}",
"photo_shared_all_users": "看來您與所有使用者分享了照片,或沒有其他使用者可供分享。",
"photos": "照片",
@@ -1078,6 +1083,8 @@
"remove_from_album": "從相簿中移除",
"remove_from_favorites": "從收藏中移除",
"remove_from_shared_link": "從共享連結中移除",
"remove_memory": "移除記憶",
"remove_photo_from_memory": "將圖片從此記憶中移除",
"remove_url": "移除 URL",
"remove_user": "移除用戶",
"removed_api_key": "已移除 API 金鑰:{name}",
@@ -1148,6 +1155,7 @@
"searching_locales": "搜尋區域…",
"second": "秒",
"see_all_people": "查看所有人物",
"select": "選擇",
"select_album_cover": "選擇相簿封面",
"select_all": "選擇全部",
"select_all_duplicates": "選擇所有重複項",
@@ -1362,6 +1370,7 @@
"view_name": "檢視分類",
"view_next_asset": "查看下一項",
"view_previous_asset": "查看上一項",
"view_qr_code": "查看 QR code",
"view_stack": "查看堆疊",
"visibility_changed": "已更改 {count, plural, other {# 位人物}}的可見性",
"waiting": "待處理",
@@ -1374,4 +1383,4 @@
"yes": "是",
"you_dont_have_any_shared_links": "您沒有任何共享連結",
"zoom_image": "縮放圖片"
}
}

View File

@@ -66,6 +66,11 @@
"forcing_refresh_library_files": "强制刷新所有图库文件",
"image_format": "格式",
"image_format_description": "WebP 文件体积较 JPEG 文件更小,但编码速度较慢。",
"image_fullsize_description": "去除元数据的全尺寸图像,放大时使用",
"image_fullsize_enabled": "启用全尺寸图像生成",
"image_fullsize_enabled_description": "生成非网络友好格式的全尺寸图像。启用 “首选嵌入式预览 ”后,将直接使用嵌入式预览而无需转换。不影响 JPEG 等网络友好格式。",
"image_fullsize_quality_description": "全尺寸图像质量从 1 到 100。越高越好但生成的文件较大。",
"image_fullsize_title": "全尺寸图像设置",
"image_prefer_embedded_preview": "嵌入式预览",
"image_prefer_embedded_preview_setting_description": "优先使用 RAW 照片的嵌入式预览作为图像处理的输入。可以提升某些影像的颜色准确度,但嵌入式预览的质量取决于相机,图像可能压缩失真更严重。",
"image_prefer_wide_gamut": "广色域",
@@ -162,7 +167,6 @@
"no_pattern_added": "无已添加规则",
"note_apply_storage_label_previous_assets": "提示:要将存储标签应用于之前上传的项目,需要运行",
"note_cannot_be_changed_later": "注意:此项一旦设定,以后无法更改!",
"note_unlimited_quota": "提示:输入 0 表示无限配额",
"notification_email_from_address": "发件人地址",
"notification_email_from_address_description": "发件人邮箱,例如:“张三<12345@qq.com>”",
"notification_email_host_description": "服务器地址例如smtp.qq.com",
@@ -859,6 +863,7 @@
"loop_videos": "循环视频",
"loop_videos_description": "启用在详细信息中自动循环播放视频。",
"main_branch_warning": "您当前使用的是开发版我们强烈建议您使用正式发行版release版",
"main_menu": "主菜单",
"make": "品牌",
"manage_shared_links": "管理共享链接",
"manage_sharing_with_partners": "管理与同伴的共享",
@@ -923,7 +928,6 @@
"no_shared_albums_message": "创建相册以共享照片和视频",
"not_in_any_album": "不在任何相册中",
"note_apply_storage_label_to_previously_uploaded assets": "提示:要将存储标签应用于之前上传的项目,需要运行",
"note_unlimited_quota": "注:输入 0 表示无限配额",
"notes": "提示",
"notification_toggle_setting_description": "启用邮件通知",
"notifications": "通知",
@@ -1366,6 +1370,7 @@
"view_name": "查看",
"view_next_asset": "查看下一项",
"view_previous_asset": "查看上一项",
"view_qr_code": "查看二维码",
"view_stack": "查看堆叠项目",
"visibility_changed": "{count, plural, one {#个人物} other {#个人物}}的可见性已修改",
"waiting": "准备处理",

View File

@@ -1,6 +1,6 @@
ARG DEVICE=cpu
FROM python:3.11-bookworm@sha256:ebfa8696e47a68cffebb31e370a93ce57c01bc753f246ceaaef72801d1661351 AS builder-cpu
FROM python:3.11-bookworm@sha256:0a9d314ae6e976351bd37b702bf6b0a89bb58e6304e5df35b960059b12531419 AS builder-cpu
FROM builder-cpu AS builder-openvino
@@ -54,7 +54,7 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
RUN apt-get update && apt-get install -y --no-install-recommends g++
COPY --from=ghcr.io/astral-sh/uv:latest@sha256:57da96c4557243fc0a732817854084e81af9393f64dc7d172f39c16465b5e2ba /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:latest@sha256:0b6dc79013b689f3bc0cbf12807cb1c901beaafe80f2ee10a1d76aa3842afb92 /uv /uvx /bin/
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
@@ -63,11 +63,11 @@ RUN if [ "$DEVICE" = "rocm" ]; then \
uv pip install /opt/onnxruntime_rocm-*.whl; \
fi
FROM python:3.11-slim-bookworm@sha256:7029b00486ac40bed03e36775b864d3f3d39dcbdf19cd45e6a52d541e6c178f0 AS prod-cpu
FROM python:3.11-slim-bookworm@sha256:49d73c49616929b0a4f37c50fee0056eb4b0f15de624591e8d9bf84b4dfdd3ce AS prod-cpu
ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
FROM python:3.11-slim-bookworm@sha256:7029b00486ac40bed03e36775b864d3f3d39dcbdf19cd45e6a52d541e6c178f0 AS prod-openvino
FROM python:3.11-slim-bookworm@sha256:49d73c49616929b0a4f37c50fee0056eb4b0f15de624591e8d9bf84b4dfdd3ce AS prod-openvino
RUN apt-get update && \
apt-get install --no-install-recommends -yqq ocl-icd-libopencl1 wget && \

View File

@@ -278,8 +278,8 @@ class TestOrtSession:
assert session.provider_options == []
def test_sets_default_sess_options(self) -> None:
session = OrtSession("ViT-B-32__openai")
def test_sets_default_sess_options_if_cpu(self) -> None:
session = OrtSession("ViT-B-32__openai", providers=["CPUExecutionProvider"])
assert session.sess_options.execution_mode == ort.ExecutionMode.ORT_SEQUENTIAL
assert session.sess_options.inter_op_num_threads == 1

359
machine-learning/uv.lock generated
View File

@@ -508,16 +508,16 @@ wheels = [
[[package]]
name = "fastapi"
version = "0.115.11"
version = "0.115.12"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pydantic" },
{ name = "starlette" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b5/28/c5d26e5860df807241909a961a37d45e10533acef95fc368066c7dd186cd/fastapi-0.115.11.tar.gz", hash = "sha256:cc81f03f688678b92600a65a5e618b93592c65005db37157147204d8924bf94f", size = 294441 }
sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/b3/5d/4d8bbb94f0dbc22732350c06965e40740f4a92ca560e90bb566f4f73af41/fastapi-0.115.11-py3-none-any.whl", hash = "sha256:32e1541b7b74602e4ef4a0260ecaf3aadf9d4f19590bba3e1bf2ac4666aa2c64", size = 94926 },
{ url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164 },
]
[[package]]
@@ -876,7 +876,7 @@ wheels = [
[[package]]
name = "huggingface-hub"
version = "0.29.3"
version = "0.30.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "filelock" },
@@ -887,9 +887,9 @@ dependencies = [
{ name = "tqdm" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/e5/f9/851f34b02970e8143d41d4001b2d49e54ef113f273902103823b8bc95ada/huggingface_hub-0.29.3.tar.gz", hash = "sha256:64519a25716e0ba382ba2d3fb3ca082e7c7eb4a2fc634d200e8380006e0760e5", size = 390123 }
sdist = { url = "https://files.pythonhosted.org/packages/df/22/8eb91736b1dcb83d879bd49050a09df29a57cc5cd9f38e48a4b1c45ee890/huggingface_hub-0.30.2.tar.gz", hash = "sha256:9a7897c5b6fd9dad3168a794a8998d6378210f5b9688d0dfc180b1a228dc2466", size = 400868 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/40/0c/37d380846a2e5c9a3c6a73d26ffbcfdcad5fc3eacf42fdf7cff56f2af634/huggingface_hub-0.29.3-py3-none-any.whl", hash = "sha256:0b25710932ac649c08cdbefa6c6ccb8e88eef82927cacdb048efb726429453aa", size = 468997 },
{ url = "https://files.pythonhosted.org/packages/93/27/1fb384a841e9661faad1c31cbfa62864f59632e876df5d795234da51c395/huggingface_hub-0.30.2-py3-none-any.whl", hash = "sha256:68ff05969927058cfa41df4f2155d4bb48f5f54f719dd0390103eefa9b191e28", size = 481433 },
]
[[package]]
@@ -1583,62 +1583,64 @@ wheels = [
[[package]]
name = "orjson"
version = "3.10.15"
version = "3.10.16"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/ae/f9/5dea21763eeff8c1590076918a446ea3d6140743e0e36f58f369928ed0f4/orjson-3.10.15.tar.gz", hash = "sha256:05ca7fe452a2e9d8d9d706a2984c95b9c2ebc5db417ce0b7a49b91d50642a23e", size = 5282482 }
sdist = { url = "https://files.pythonhosted.org/packages/98/c7/03913cc4332174071950acf5b0735463e3f63760c80585ef369270c2b372/orjson-3.10.16.tar.gz", hash = "sha256:d2aaa5c495e11d17b9b93205f5fa196737ee3202f000aaebf028dc9a73750f10", size = 5410415 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/52/09/e5ff18ad009e6f97eb7edc5f67ef98b3ce0c189da9c3eaca1f9587cd4c61/orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04", size = 249532 },
{ url = "https://files.pythonhosted.org/packages/bd/b8/a75883301fe332bd433d9b0ded7d2bb706ccac679602c3516984f8814fb5/orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8", size = 125229 },
{ url = "https://files.pythonhosted.org/packages/83/4b/22f053e7a364cc9c685be203b1e40fc5f2b3f164a9b2284547504eec682e/orjson-3.10.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c2c79fa308e6edb0ffab0a31fd75a7841bf2a79a20ef08a3c6e3b26814c8ca8", size = 150148 },
{ url = "https://files.pythonhosted.org/packages/63/64/1b54fc75ca328b57dd810541a4035fe48c12a161d466e3cf5b11a8c25649/orjson-3.10.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cb85490aa6bf98abd20607ab5c8324c0acb48d6da7863a51be48505646c814", size = 139748 },
{ url = "https://files.pythonhosted.org/packages/5e/ff/ff0c5da781807bb0a5acd789d9a7fbcb57f7b0c6e1916595da1f5ce69f3c/orjson-3.10.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763dadac05e4e9d2bc14938a45a2d0560549561287d41c465d3c58aec818b164", size = 154559 },
{ url = "https://files.pythonhosted.org/packages/4e/9a/11e2974383384ace8495810d4a2ebef5f55aacfc97b333b65e789c9d362d/orjson-3.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a330b9b4734f09a623f74a7490db713695e13b67c959713b78369f26b3dee6bf", size = 130349 },
{ url = "https://files.pythonhosted.org/packages/2d/c4/dd9583aea6aefee1b64d3aed13f51d2aadb014028bc929fe52936ec5091f/orjson-3.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a61a4622b7ff861f019974f73d8165be1bd9a0855e1cad18ee167acacabeb061", size = 138514 },
{ url = "https://files.pythonhosted.org/packages/53/3e/dcf1729230654f5c5594fc752de1f43dcf67e055ac0d300c8cdb1309269a/orjson-3.10.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd271247691574416b3228db667b84775c497b245fa275c6ab90dc1ffbbd2b3", size = 130940 },
{ url = "https://files.pythonhosted.org/packages/e8/2b/b9759fe704789937705c8a56a03f6c03e50dff7df87d65cba9a20fec5282/orjson-3.10.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4759b109c37f635aa5c5cc93a1b26927bfde24b254bcc0e1149a9fada253d2d", size = 414713 },
{ url = "https://files.pythonhosted.org/packages/a7/6b/b9dfdbd4b6e20a59238319eb203ae07c3f6abf07eef909169b7a37ae3bba/orjson-3.10.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e992fd5cfb8b9f00bfad2fd7a05a4299db2bbe92e6440d9dd2fab27655b3182", size = 141028 },
{ url = "https://files.pythonhosted.org/packages/7c/b5/40f5bbea619c7caf75eb4d652a9821875a8ed04acc45fe3d3ef054ca69fb/orjson-3.10.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95fb363d79366af56c3f26b71df40b9a583b07bbaaf5b317407c4d58497852e", size = 129715 },
{ url = "https://files.pythonhosted.org/packages/38/60/2272514061cbdf4d672edbca6e59c7e01cd1c706e881427d88f3c3e79761/orjson-3.10.15-cp310-cp310-win32.whl", hash = "sha256:f9875f5fea7492da8ec2444839dcc439b0ef298978f311103d0b7dfd775898ab", size = 142473 },
{ url = "https://files.pythonhosted.org/packages/11/5d/be1490ff7eafe7fef890eb4527cf5bcd8cfd6117f3efe42a3249ec847b60/orjson-3.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:17085a6aa91e1cd70ca8533989a18b5433e15d29c574582f76f821737c8d5806", size = 133564 },
{ url = "https://files.pythonhosted.org/packages/7a/a2/21b25ce4a2c71dbb90948ee81bd7a42b4fbfc63162e57faf83157d5540ae/orjson-3.10.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c4cc83960ab79a4031f3119cc4b1a1c627a3dc09df125b27c4201dff2af7eaa6", size = 249533 },
{ url = "https://files.pythonhosted.org/packages/b2/85/2076fc12d8225698a51278009726750c9c65c846eda741e77e1761cfef33/orjson-3.10.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddbeef2481d895ab8be5185f2432c334d6dec1f5d1933a9c83014d188e102cef", size = 125230 },
{ url = "https://files.pythonhosted.org/packages/06/df/a85a7955f11274191eccf559e8481b2be74a7c6d43075d0a9506aa80284d/orjson-3.10.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e590a0477b23ecd5b0ac865b1b907b01b3c5535f5e8a8f6ab0e503efb896334", size = 150148 },
{ url = "https://files.pythonhosted.org/packages/37/b3/94c55625a29b8767c0eed194cb000b3787e3c23b4cdd13be17bae6ccbb4b/orjson-3.10.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6be38bd103d2fd9bdfa31c2720b23b5d47c6796bcb1d1b598e3924441b4298d", size = 139749 },
{ url = "https://files.pythonhosted.org/packages/53/ba/c608b1e719971e8ddac2379f290404c2e914cf8e976369bae3cad88768b1/orjson-3.10.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4f6edb1578960ed628a3b998fa54d78d9bb3e2eb2cfc5c2a09732431c678d0", size = 154558 },
{ url = "https://files.pythonhosted.org/packages/b2/c4/c1fb835bb23ad788a39aa9ebb8821d51b1c03588d9a9e4ca7de5b354fdd5/orjson-3.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0482b21d0462eddd67e7fce10b89e0b6ac56570424662b685a0d6fccf581e13", size = 130349 },
{ url = "https://files.pythonhosted.org/packages/78/14/bb2b48b26ab3c570b284eb2157d98c1ef331a8397f6c8bd983b270467f5c/orjson-3.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bb5cc3527036ae3d98b65e37b7986a918955f85332c1ee07f9d3f82f3a6899b5", size = 138513 },
{ url = "https://files.pythonhosted.org/packages/4a/97/d5b353a5fe532e92c46467aa37e637f81af8468aa894cd77d2ec8a12f99e/orjson-3.10.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d569c1c462912acdd119ccbf719cf7102ea2c67dd03b99edcb1a3048651ac96b", size = 130942 },
{ url = "https://files.pythonhosted.org/packages/b5/5d/a067bec55293cca48fea8b9928cfa84c623be0cce8141d47690e64a6ca12/orjson-3.10.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1e6d33efab6b71d67f22bf2962895d3dc6f82a6273a965fab762e64fa90dc399", size = 414717 },
{ url = "https://files.pythonhosted.org/packages/6f/9a/1485b8b05c6b4c4db172c438cf5db5dcfd10e72a9bc23c151a1137e763e0/orjson-3.10.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c33be3795e299f565681d69852ac8c1bc5c84863c0b0030b2b3468843be90388", size = 141033 },
{ url = "https://files.pythonhosted.org/packages/f8/d2/fc67523656e43a0c7eaeae9007c8b02e86076b15d591e9be11554d3d3138/orjson-3.10.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eea80037b9fae5339b214f59308ef0589fc06dc870578b7cce6d71eb2096764c", size = 129720 },
{ url = "https://files.pythonhosted.org/packages/79/42/f58c7bd4e5b54da2ce2ef0331a39ccbbaa7699b7f70206fbf06737c9ed7d/orjson-3.10.15-cp311-cp311-win32.whl", hash = "sha256:d5ac11b659fd798228a7adba3e37c010e0152b78b1982897020a8e019a94882e", size = 142473 },
{ url = "https://files.pythonhosted.org/packages/00/f8/bb60a4644287a544ec81df1699d5b965776bc9848d9029d9f9b3402ac8bb/orjson-3.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:cf45e0214c593660339ef63e875f32ddd5aa3b4adc15e662cdb80dc49e194f8e", size = 133570 },
{ url = "https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a", size = 249504 },
{ url = "https://files.pythonhosted.org/packages/48/b7/2622b29f3afebe938a0a9037e184660379797d5fd5234e5998345d7a5b43/orjson-3.10.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba5a1e85d554e3897fa9fe6fbcff2ed32d55008973ec9a2b992bd9a65d2352d", size = 125080 },
{ url = "https://files.pythonhosted.org/packages/ce/8f/0b72a48f4403d0b88b2a41450c535b3e8989e8a2d7800659a967efc7c115/orjson-3.10.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7723ad949a0ea502df656948ddd8b392780a5beaa4c3b5f97e525191b102fff0", size = 150121 },
{ url = "https://files.pythonhosted.org/packages/06/ec/acb1a20cd49edb2000be5a0404cd43e3c8aad219f376ac8c60b870518c03/orjson-3.10.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fd9bc64421e9fe9bd88039e7ce8e58d4fead67ca88e3a4014b143cec7684fd4", size = 139796 },
{ url = "https://files.pythonhosted.org/packages/33/e1/f7840a2ea852114b23a52a1c0b2bea0a1ea22236efbcdb876402d799c423/orjson-3.10.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dadba0e7b6594216c214ef7894c4bd5f08d7c0135f4dd0145600be4fbcc16767", size = 154636 },
{ url = "https://files.pythonhosted.org/packages/fa/da/31543337febd043b8fa80a3b67de627669b88c7b128d9ad4cc2ece005b7a/orjson-3.10.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48f59114fe318f33bbaee8ebeda696d8ccc94c9e90bc27dbe72153094e26f41", size = 130621 },
{ url = "https://files.pythonhosted.org/packages/ed/78/66115dc9afbc22496530d2139f2f4455698be444c7c2475cb48f657cefc9/orjson-3.10.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:035fb83585e0f15e076759b6fedaf0abb460d1765b6a36f48018a52858443514", size = 138516 },
{ url = "https://files.pythonhosted.org/packages/22/84/cd4f5fb5427ffcf823140957a47503076184cb1ce15bcc1165125c26c46c/orjson-3.10.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d13b7fe322d75bf84464b075eafd8e7dd9eae05649aa2a5354cfa32f43c59f17", size = 130762 },
{ url = "https://files.pythonhosted.org/packages/93/1f/67596b711ba9f56dd75d73b60089c5c92057f1130bb3a25a0f53fb9a583b/orjson-3.10.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7066b74f9f259849629e0d04db6609db4cf5b973248f455ba5d3bd58a4daaa5b", size = 414700 },
{ url = "https://files.pythonhosted.org/packages/7c/0c/6a3b3271b46443d90efb713c3e4fe83fa8cd71cda0d11a0f69a03f437c6e/orjson-3.10.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88dc3f65a026bd3175eb157fea994fca6ac7c4c8579fc5a86fc2114ad05705b7", size = 141077 },
{ url = "https://files.pythonhosted.org/packages/3b/9b/33c58e0bfc788995eccd0d525ecd6b84b40d7ed182dd0751cd4c1322ac62/orjson-3.10.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b342567e5465bd99faa559507fe45e33fc76b9fb868a63f1642c6bc0735ad02a", size = 129898 },
{ url = "https://files.pythonhosted.org/packages/01/c1/d577ecd2e9fa393366a1ea0a9267f6510d86e6c4bb1cdfb9877104cac44c/orjson-3.10.15-cp312-cp312-win32.whl", hash = "sha256:0a4f27ea5617828e6b58922fdbec67b0aa4bb844e2d363b9244c47fa2180e665", size = 142566 },
{ url = "https://files.pythonhosted.org/packages/ed/eb/a85317ee1732d1034b92d56f89f1de4d7bf7904f5c8fb9dcdd5b1c83917f/orjson-3.10.15-cp312-cp312-win_amd64.whl", hash = "sha256:ef5b87e7aa9545ddadd2309efe6824bd3dd64ac101c15dae0f2f597911d46eaa", size = 133732 },
{ url = "https://files.pythonhosted.org/packages/06/10/fe7d60b8da538e8d3d3721f08c1b7bff0491e8fa4dd3bf11a17e34f4730e/orjson-3.10.15-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bae0e6ec2b7ba6895198cd981b7cca95d1487d0147c8ed751e5632ad16f031a6", size = 249399 },
{ url = "https://files.pythonhosted.org/packages/6b/83/52c356fd3a61abd829ae7e4366a6fe8e8863c825a60d7ac5156067516edf/orjson-3.10.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93ce145b2db1252dd86af37d4165b6faa83072b46e3995ecc95d4b2301b725a", size = 125044 },
{ url = "https://files.pythonhosted.org/packages/55/b2/d06d5901408e7ded1a74c7c20d70e3a127057a6d21355f50c90c0f337913/orjson-3.10.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c203f6f969210128af3acae0ef9ea6aab9782939f45f6fe02d05958fe761ef9", size = 150066 },
{ url = "https://files.pythonhosted.org/packages/75/8c/60c3106e08dc593a861755781c7c675a566445cc39558677d505878d879f/orjson-3.10.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8918719572d662e18b8af66aef699d8c21072e54b6c82a3f8f6404c1f5ccd5e0", size = 139737 },
{ url = "https://files.pythonhosted.org/packages/6a/8c/ae00d7d0ab8a4490b1efeb01ad4ab2f1982e69cc82490bf8093407718ff5/orjson-3.10.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f71eae9651465dff70aa80db92586ad5b92df46a9373ee55252109bb6b703307", size = 154804 },
{ url = "https://files.pythonhosted.org/packages/22/86/65dc69bd88b6dd254535310e97bc518aa50a39ef9c5a2a5d518e7a223710/orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e117eb299a35f2634e25ed120c37c641398826c2f5a3d3cc39f5993b96171b9e", size = 130583 },
{ url = "https://files.pythonhosted.org/packages/bb/00/6fe01ededb05d52be42fabb13d93a36e51f1fd9be173bd95707d11a8a860/orjson-3.10.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13242f12d295e83c2955756a574ddd6741c81e5b99f2bef8ed8d53e47a01e4b7", size = 138465 },
{ url = "https://files.pythonhosted.org/packages/db/2f/4cc151c4b471b0cdc8cb29d3eadbce5007eb0475d26fa26ed123dca93b33/orjson-3.10.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7946922ada8f3e0b7b958cc3eb22cfcf6c0df83d1fe5521b4a100103e3fa84c8", size = 130742 },
{ url = "https://files.pythonhosted.org/packages/9f/13/8a6109e4b477c518498ca37963d9c0eb1508b259725553fb53d53b20e2ea/orjson-3.10.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b7155eb1623347f0f22c38c9abdd738b287e39b9982e1da227503387b81b34ca", size = 414669 },
{ url = "https://files.pythonhosted.org/packages/22/7b/1d229d6d24644ed4d0a803de1b0e2df832032d5beda7346831c78191b5b2/orjson-3.10.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:208beedfa807c922da4e81061dafa9c8489c6328934ca2a562efa707e049e561", size = 141043 },
{ url = "https://files.pythonhosted.org/packages/cc/d3/6dc91156cf12ed86bed383bcb942d84d23304a1e57b7ab030bf60ea130d6/orjson-3.10.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eca81f83b1b8c07449e1d6ff7074e82e3fd6777e588f1a6632127f286a968825", size = 129826 },
{ url = "https://files.pythonhosted.org/packages/b3/38/c47c25b86f6996f1343be721b6ea4367bc1c8bc0fc3f6bbcd995d18cb19d/orjson-3.10.15-cp313-cp313-win32.whl", hash = "sha256:c03cd6eea1bd3b949d0d007c8d57049aa2b39bd49f58b4b2af571a5d3833d890", size = 142542 },
{ url = "https://files.pythonhosted.org/packages/27/f1/1d7ec15b20f8ce9300bc850de1e059132b88990e46cd0ccac29cbf11e4f9/orjson-3.10.15-cp313-cp313-win_amd64.whl", hash = "sha256:fd56a26a04f6ba5fb2045b0acc487a63162a958ed837648c5781e1fe3316cfbf", size = 133444 },
{ url = "https://files.pythonhosted.org/packages/9d/a6/22cb9b03baf167bc2d659c9e74d7580147f36e6a155e633801badfd5a74d/orjson-3.10.16-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4cb473b8e79154fa778fb56d2d73763d977be3dcc140587e07dbc545bbfc38f8", size = 249179 },
{ url = "https://files.pythonhosted.org/packages/d7/ce/3e68cc33020a6ebd8f359b8628b69d2132cd84fea68155c33057e502ee51/orjson-3.10.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:622a8e85eeec1948690409a19ca1c7d9fd8ff116f4861d261e6ae2094fe59a00", size = 138510 },
{ url = "https://files.pythonhosted.org/packages/dc/12/63bee7764ce12052f7c1a1393ce7f26dc392c93081eb8754dd3dce9b7c6b/orjson-3.10.16-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c682d852d0ce77613993dc967e90e151899fe2d8e71c20e9be164080f468e370", size = 132373 },
{ url = "https://files.pythonhosted.org/packages/b3/d5/2998c2f319adcd572f2b03ba2083e8176863d1055d8d713683ddcf927b71/orjson-3.10.16-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c520ae736acd2e32df193bcff73491e64c936f3e44a2916b548da048a48b46b", size = 136774 },
{ url = "https://files.pythonhosted.org/packages/00/03/88c236ae307bd0604623204d4a835e15fbf9c75b8535c8f13ef45abd413f/orjson-3.10.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:134f87c76bfae00f2094d85cfab261b289b76d78c6da8a7a3b3c09d362fd1e06", size = 138030 },
{ url = "https://files.pythonhosted.org/packages/66/ba/3e256ddfeb364f98fd6ac65774844090d356158b2d1de8998db2bf984503/orjson-3.10.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b59afde79563e2cf37cfe62ee3b71c063fd5546c8e662d7fcfc2a3d5031a5c4c", size = 142677 },
{ url = "https://files.pythonhosted.org/packages/2c/71/73a1214bd27baa2ea5184fff4aa6193a114dfb0aa5663dad48fe63e8cd29/orjson-3.10.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:113602f8241daaff05d6fad25bd481d54c42d8d72ef4c831bb3ab682a54d9e15", size = 132798 },
{ url = "https://files.pythonhosted.org/packages/53/ac/0b2f41c0a1e8c095439d0fab3b33103cf41a39be8e6aa2c56298a6034259/orjson-3.10.16-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4fc0077d101f8fab4031e6554fc17b4c2ad8fdbc56ee64a727f3c95b379e31da", size = 135450 },
{ url = "https://files.pythonhosted.org/packages/d9/ca/7524c7b0bc815d426ca134dab54cad519802287b808a3846b047a5b2b7a3/orjson-3.10.16-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:9c6bf6ff180cd69e93f3f50380224218cfab79953a868ea3908430bcfaf9cb5e", size = 412356 },
{ url = "https://files.pythonhosted.org/packages/05/1d/3ae2367c255276bf16ff7e1b210dd0af18bc8da20c4e4295755fc7de1268/orjson-3.10.16-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5673eadfa952f95a7cd76418ff189df11b0a9c34b1995dff43a6fdbce5d63bf4", size = 152769 },
{ url = "https://files.pythonhosted.org/packages/d3/2d/8eb10b6b1d30bb69c35feb15e5ba5ac82466cf743d562e3e8047540efd2f/orjson-3.10.16-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5fe638a423d852b0ae1e1a79895851696cb0d9fa0946fdbfd5da5072d9bb9551", size = 137223 },
{ url = "https://files.pythonhosted.org/packages/47/42/f043717930cb2de5fbebe47f308f101bed9ec2b3580b1f99c8284b2f5fe8/orjson-3.10.16-cp310-cp310-win32.whl", hash = "sha256:33af58f479b3c6435ab8f8b57999874b4b40c804c7a36b5cc6b54d8f28e1d3dd", size = 141734 },
{ url = "https://files.pythonhosted.org/packages/67/99/795ad7282b425b9fddcfb8a31bded5dcf84dba78ecb1e7ae716e84e794da/orjson-3.10.16-cp310-cp310-win_amd64.whl", hash = "sha256:0338356b3f56d71293c583350af26f053017071836b07e064e92819ecf1aa055", size = 133779 },
{ url = "https://files.pythonhosted.org/packages/97/29/43f91a5512b5d2535594438eb41c5357865fd5e64dec745d90a588820c75/orjson-3.10.16-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:44fcbe1a1884f8bc9e2e863168b0f84230c3d634afe41c678637d2728ea8e739", size = 249180 },
{ url = "https://files.pythonhosted.org/packages/0c/36/2a72d55e266473c19a86d97b7363bb8bf558ab450f75205689a287d5ce61/orjson-3.10.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78177bf0a9d0192e0b34c3d78bcff7fe21d1b5d84aeb5ebdfe0dbe637b885225", size = 138510 },
{ url = "https://files.pythonhosted.org/packages/bb/ad/f86d6f55c1a68b57ff6ea7966bce5f4e5163f2e526ddb7db9fc3c2c8d1c4/orjson-3.10.16-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12824073a010a754bb27330cad21d6e9b98374f497f391b8707752b96f72e741", size = 132373 },
{ url = "https://files.pythonhosted.org/packages/5e/8b/d18f2711493a809f3082a88fda89342bc8e16767743b909cd3c34989fba3/orjson-3.10.16-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddd41007e56284e9867864aa2f29f3136bb1dd19a49ca43c0b4eda22a579cf53", size = 136773 },
{ url = "https://files.pythonhosted.org/packages/a1/dc/ce025f002f8e0749e3f057c4d773a4d4de32b7b4c1fc5a50b429e7532586/orjson-3.10.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0877c4d35de639645de83666458ca1f12560d9fa7aa9b25d8bb8f52f61627d14", size = 138029 },
{ url = "https://files.pythonhosted.org/packages/0e/1b/cf9df85852b91160029d9f26014230366a2b4deb8cc51fabe68e250a8c1a/orjson-3.10.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9a09a539e9cc3beead3e7107093b4ac176d015bec64f811afb5965fce077a03c", size = 142677 },
{ url = "https://files.pythonhosted.org/packages/92/18/5b1e1e995bffad49dc4311a0bdfd874bc6f135fd20f0e1f671adc2c9910e/orjson-3.10.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31b98bc9b40610fec971d9a4d67bb2ed02eec0a8ae35f8ccd2086320c28526ca", size = 132800 },
{ url = "https://files.pythonhosted.org/packages/d6/eb/467f25b580e942fcca1344adef40633b7f05ac44a65a63fc913f9a805d58/orjson-3.10.16-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0ce243f5a8739f3a18830bc62dc2e05b69a7545bafd3e3249f86668b2bcd8e50", size = 135451 },
{ url = "https://files.pythonhosted.org/packages/8d/4b/9d10888038975cb375982e9339d9495bac382d5c976c500b8d6f2c8e2e4e/orjson-3.10.16-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:64792c0025bae049b3074c6abe0cf06f23c8e9f5a445f4bab31dc5ca23dbf9e1", size = 412358 },
{ url = "https://files.pythonhosted.org/packages/3b/e2/cfbcfcc4fbe619e0ca9bdbbfccb2d62b540bbfe41e0ee77d44a628594f59/orjson-3.10.16-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ea53f7e68eec718b8e17e942f7ca56c6bd43562eb19db3f22d90d75e13f0431d", size = 152772 },
{ url = "https://files.pythonhosted.org/packages/b9/d6/627a1b00569be46173007c11dde3da4618c9bfe18409325b0e3e2a82fe29/orjson-3.10.16-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a741ba1a9488c92227711bde8c8c2b63d7d3816883268c808fbeada00400c164", size = 137225 },
{ url = "https://files.pythonhosted.org/packages/0a/7b/a73c67b505021af845b9f05c7c848793258ea141fa2058b52dd9b067c2b4/orjson-3.10.16-cp311-cp311-win32.whl", hash = "sha256:c7ed2c61bb8226384c3fdf1fb01c51b47b03e3f4536c985078cccc2fd19f1619", size = 141733 },
{ url = "https://files.pythonhosted.org/packages/f4/22/5e8217c48d68c0adbfb181e749d6a733761074e598b083c69a1383d18147/orjson-3.10.16-cp311-cp311-win_amd64.whl", hash = "sha256:cd67d8b3e0e56222a2e7b7f7da9031e30ecd1fe251c023340b9f12caca85ab60", size = 133784 },
{ url = "https://files.pythonhosted.org/packages/5d/15/67ce9d4c959c83f112542222ea3b9209c1d424231d71d74c4890ea0acd2b/orjson-3.10.16-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6d3444abbfa71ba21bb042caa4b062535b122248259fdb9deea567969140abca", size = 249325 },
{ url = "https://files.pythonhosted.org/packages/da/2c/1426b06f30a1b9ada74b6f512c1ddf9d2760f53f61cdb59efeb9ad342133/orjson-3.10.16-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:30245c08d818fdcaa48b7d5b81499b8cae09acabb216fe61ca619876b128e184", size = 133621 },
{ url = "https://files.pythonhosted.org/packages/9e/88/18d26130954bc73bee3be10f95371ea1dfb8679e0e2c46b0f6d8c6289402/orjson-3.10.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0ba1d0baa71bf7579a4ccdcf503e6f3098ef9542106a0eca82395898c8a500a", size = 138270 },
{ url = "https://files.pythonhosted.org/packages/4f/f9/6d8b64fcd58fae072e80ee7981be8ba0d7c26ace954e5cd1d027fc80518f/orjson-3.10.16-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb0beefa5ef3af8845f3a69ff2a4aa62529b5acec1cfe5f8a6b4141033fd46ef", size = 132346 },
{ url = "https://files.pythonhosted.org/packages/16/3f/2513fd5bc786f40cd12af569c23cae6381aeddbefeed2a98f0a666eb5d0d/orjson-3.10.16-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6daa0e1c9bf2e030e93c98394de94506f2a4d12e1e9dadd7c53d5e44d0f9628e", size = 136845 },
{ url = "https://files.pythonhosted.org/packages/6d/42/b0e7b36720f5ab722b48e8ccf06514d4f769358dd73c51abd8728ef58d0b/orjson-3.10.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9da9019afb21e02410ef600e56666652b73eb3e4d213a0ec919ff391a7dd52aa", size = 138078 },
{ url = "https://files.pythonhosted.org/packages/a3/a8/d220afb8a439604be74fc755dbc740bded5ed14745ca536b304ed32eb18a/orjson-3.10.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:daeb3a1ee17b69981d3aae30c3b4e786b0f8c9e6c71f2b48f1aef934f63f38f4", size = 142712 },
{ url = "https://files.pythonhosted.org/packages/8c/88/7e41e9883c00f84f92fe357a8371edae816d9d7ef39c67b5106960c20389/orjson-3.10.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fed80eaf0e20a31942ae5d0728849862446512769692474be5e6b73123a23b", size = 133136 },
{ url = "https://files.pythonhosted.org/packages/e9/ca/61116095307ad0be828ea26093febaf59e38596d84a9c8d765c3c5e4934f/orjson-3.10.16-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73390ed838f03764540a7bdc4071fe0123914c2cc02fb6abf35182d5fd1b7a42", size = 135258 },
{ url = "https://files.pythonhosted.org/packages/dc/1b/09493cf7d801505f094c9295f79c98c1e0af2ac01c7ed8d25b30fcb19ada/orjson-3.10.16-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a22bba012a0c94ec02a7768953020ab0d3e2b884760f859176343a36c01adf87", size = 412326 },
{ url = "https://files.pythonhosted.org/packages/ea/02/125d7bbd7f7a500190ddc8ae5d2d3c39d87ed3ed28f5b37cfe76962c678d/orjson-3.10.16-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5385bbfdbc90ff5b2635b7e6bebf259652db00a92b5e3c45b616df75b9058e88", size = 152800 },
{ url = "https://files.pythonhosted.org/packages/f9/09/7658a9e3e793d5b3b00598023e0fb6935d0e7bbb8ff72311c5415a8ce677/orjson-3.10.16-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:02c6279016346e774dd92625d46c6c40db687b8a0d685aadb91e26e46cc33e1e", size = 137516 },
{ url = "https://files.pythonhosted.org/packages/29/87/32b7a4831e909d347278101a48d4cf9f3f25901b2295e7709df1651f65a1/orjson-3.10.16-cp312-cp312-win32.whl", hash = "sha256:7ca55097a11426db80f79378e873a8c51f4dde9ffc22de44850f9696b7eb0e8c", size = 141759 },
{ url = "https://files.pythonhosted.org/packages/35/ce/81a27e7b439b807bd393585271364cdddf50dc281fc57c4feef7ccb186a6/orjson-3.10.16-cp312-cp312-win_amd64.whl", hash = "sha256:86d127efdd3f9bf5f04809b70faca1e6836556ea3cc46e662b44dab3fe71f3d6", size = 133944 },
{ url = "https://files.pythonhosted.org/packages/87/b9/ff6aa28b8c86af9526160905593a2fe8d004ac7a5e592ee0b0ff71017511/orjson-3.10.16-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:148a97f7de811ba14bc6dbc4a433e0341ffd2cc285065199fb5f6a98013744bd", size = 249289 },
{ url = "https://files.pythonhosted.org/packages/6c/81/6d92a586149b52684ab8fd70f3623c91d0e6a692f30fd8c728916ab2263c/orjson-3.10.16-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1d960c1bf0e734ea36d0adc880076de3846aaec45ffad29b78c7f1b7962516b8", size = 133640 },
{ url = "https://files.pythonhosted.org/packages/c2/88/b72443f4793d2e16039ab85d0026677932b15ab968595fb7149750d74134/orjson-3.10.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a318cd184d1269f68634464b12871386808dc8b7c27de8565234d25975a7a137", size = 138286 },
{ url = "https://files.pythonhosted.org/packages/c3/3c/72a22d4b28c076c4016d5a52bd644a8e4d849d3bb0373d9e377f9e3b2250/orjson-3.10.16-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df23f8df3ef9223d1d6748bea63fca55aae7da30a875700809c500a05975522b", size = 132307 },
{ url = "https://files.pythonhosted.org/packages/8a/a2/f1259561bdb6ad7061ff1b95dab082fe32758c4bc143ba8d3d70831f0a06/orjson-3.10.16-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b94dda8dd6d1378f1037d7f3f6b21db769ef911c4567cbaa962bb6dc5021cf90", size = 136739 },
{ url = "https://files.pythonhosted.org/packages/3d/af/c7583c4b34f33d8b8b90cfaab010ff18dd64e7074cc1e117a5f1eff20dcf/orjson-3.10.16-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12970a26666a8775346003fd94347d03ccb98ab8aa063036818381acf5f523e", size = 138076 },
{ url = "https://files.pythonhosted.org/packages/d7/59/d7fc7fbdd3d4a64c2eae4fc7341a5aa39cf9549bd5e2d7f6d3c07f8b715b/orjson-3.10.16-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15a1431a245d856bd56e4d29ea0023eb4d2c8f71efe914beb3dee8ab3f0cd7fb", size = 142643 },
{ url = "https://files.pythonhosted.org/packages/92/0e/3bd8f2197d27601f16b4464ae948826da2bcf128af31230a9dbbad7ceb57/orjson-3.10.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c83655cfc247f399a222567d146524674a7b217af7ef8289c0ff53cfe8db09f0", size = 133168 },
{ url = "https://files.pythonhosted.org/packages/af/a8/351fd87b664b02f899f9144d2c3dc848b33ac04a5df05234cbfb9e2a7540/orjson-3.10.16-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fa59ae64cb6ddde8f09bdbf7baf933c4cd05734ad84dcf4e43b887eb24e37652", size = 135271 },
{ url = "https://files.pythonhosted.org/packages/ba/b0/a6d42a7d412d867c60c0337d95123517dd5a9370deea705ea1be0f89389e/orjson-3.10.16-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ca5426e5aacc2e9507d341bc169d8af9c3cbe88f4cd4c1cf2f87e8564730eb56", size = 412444 },
{ url = "https://files.pythonhosted.org/packages/79/ec/7572cd4e20863f60996f3f10bc0a6da64a6fd9c35954189a914cec0b7377/orjson-3.10.16-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6fd5da4edf98a400946cd3a195680de56f1e7575109b9acb9493331047157430", size = 152737 },
{ url = "https://files.pythonhosted.org/packages/a9/19/ceb9e8fed5403b2e76a8ac15f581b9d25780a3be3c9b3aa54b7777a210d5/orjson-3.10.16-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:980ecc7a53e567169282a5e0ff078393bac78320d44238da4e246d71a4e0e8f5", size = 137482 },
{ url = "https://files.pythonhosted.org/packages/1b/78/a78bb810f3786579dbbbd94768284cbe8f2fd65167cd7020260679665c17/orjson-3.10.16-cp313-cp313-win32.whl", hash = "sha256:28f79944dd006ac540a6465ebd5f8f45dfdf0948ff998eac7a908275b4c1add6", size = 141714 },
{ url = "https://files.pythonhosted.org/packages/81/9c/b66ce9245ff319df2c3278acd351a3f6145ef34b4a2d7f4b0f739368370f/orjson-3.10.16-cp313-cp313-win_amd64.whl", hash = "sha256:fe0a145e96d51971407cb8ba947e63ead2aa915db59d6631a355f5f2150b56b7", size = 133954 },
]
[[package]]
@@ -1787,91 +1789,104 @@ wheels = [
[[package]]
name = "pydantic"
version = "2.10.6"
version = "2.11.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "annotated-types" },
{ name = "pydantic-core" },
{ name = "typing-extensions" },
{ name = "typing-inspection" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681 }
sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696 },
{ url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 },
]
[[package]]
name = "pydantic-core"
version = "2.27.2"
version = "2.33.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 }
sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938 },
{ url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684 },
{ url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169 },
{ url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227 },
{ url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695 },
{ url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662 },
{ url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370 },
{ url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813 },
{ url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287 },
{ url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414 },
{ url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301 },
{ url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685 },
{ url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876 },
{ url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421 },
{ url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998 },
{ url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167 },
{ url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071 },
{ url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244 },
{ url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470 },
{ url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291 },
{ url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613 },
{ url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355 },
{ url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661 },
{ url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261 },
{ url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361 },
{ url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484 },
{ url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102 },
{ url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127 },
{ url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340 },
{ url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 },
{ url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 },
{ url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 },
{ url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386 },
{ url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060 },
{ url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870 },
{ url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 },
{ url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 },
{ url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 },
{ url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 },
{ url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 },
{ url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 },
{ url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709 },
{ url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273 },
{ url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027 },
{ url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888 },
{ url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738 },
{ url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138 },
{ url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025 },
{ url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633 },
{ url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404 },
{ url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130 },
{ url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946 },
{ url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387 },
{ url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453 },
{ url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
{ url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159 },
{ url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331 },
{ url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467 },
{ url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797 },
{ url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839 },
{ url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861 },
{ url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582 },
{ url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985 },
{ url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715 },
{ url = "https://files.pythonhosted.org/packages/38/ea/5f572806ab4d4223d11551af814d243b0e3e02cc6913def4d1fe4a5ca41c/pydantic_core-2.33.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3077cfdb6125cc8dab61b155fdd714663e401f0e6883f9632118ec12cf42df26", size = 2044021 },
{ url = "https://files.pythonhosted.org/packages/8c/d1/f86cc96d2aa80e3881140d16d12ef2b491223f90b28b9a911346c04ac359/pydantic_core-2.33.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ffab8b2908d152e74862d276cf5017c81a2f3719f14e8e3e8d6b83fda863927", size = 1861742 },
{ url = "https://files.pythonhosted.org/packages/37/08/fbd2cd1e9fc735a0df0142fac41c114ad9602d1c004aea340169ae90973b/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5183e4f6a2d468787243ebcd70cf4098c247e60d73fb7d68d5bc1e1beaa0c4db", size = 1910414 },
{ url = "https://files.pythonhosted.org/packages/7f/73/3ac217751decbf8d6cb9443cec9b9eb0130eeada6ae56403e11b486e277e/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:398a38d323f37714023be1e0285765f0a27243a8b1506b7b7de87b647b517e48", size = 1996848 },
{ url = "https://files.pythonhosted.org/packages/9a/f5/5c26b265cdcff2661e2520d2d1e9db72d117ea00eb41e00a76efe68cb009/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3776f0001b43acebfa86f8c64019c043b55cc5a6a2e313d728b5c95b46969", size = 2141055 },
{ url = "https://files.pythonhosted.org/packages/5d/14/a9c3cee817ef2f8347c5ce0713e91867a0dceceefcb2973942855c917379/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c566dd9c5f63d22226409553531f89de0cac55397f2ab8d97d6f06cfce6d947e", size = 2753806 },
{ url = "https://files.pythonhosted.org/packages/f2/68/866ce83a51dd37e7c604ce0050ff6ad26de65a7799df89f4db87dd93d1d6/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d5f3acc81452c56895e90643a625302bd6be351e7010664151cc55b7b97f89", size = 2007777 },
{ url = "https://files.pythonhosted.org/packages/b6/a8/36771f4404bb3e49bd6d4344da4dede0bf89cc1e01f3b723c47248a3761c/pydantic_core-2.33.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3a07fadec2a13274a8d861d3d37c61e97a816beae717efccaa4b36dfcaadcde", size = 2122803 },
{ url = "https://files.pythonhosted.org/packages/18/9c/730a09b2694aa89360d20756369822d98dc2f31b717c21df33b64ffd1f50/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f99aeda58dce827f76963ee87a0ebe75e648c72ff9ba1174a253f6744f518f65", size = 2086755 },
{ url = "https://files.pythonhosted.org/packages/54/8e/2dccd89602b5ec31d1c58138d02340ecb2ebb8c2cac3cc66b65ce3edb6ce/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:902dbc832141aa0ec374f4310f1e4e7febeebc3256f00dc359a9ac3f264a45dc", size = 2257358 },
{ url = "https://files.pythonhosted.org/packages/d1/9c/126e4ac1bfad8a95a9837acdd0963695d69264179ba4ede8b8c40d741702/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fe44d56aa0b00d66640aa84a3cbe80b7a3ccdc6f0b1ca71090696a6d4777c091", size = 2257916 },
{ url = "https://files.pythonhosted.org/packages/7d/ba/91eea2047e681a6853c81c20aeca9dcdaa5402ccb7404a2097c2adf9d038/pydantic_core-2.33.1-cp310-cp310-win32.whl", hash = "sha256:ed3eb16d51257c763539bde21e011092f127a2202692afaeaccb50db55a31383", size = 1923823 },
{ url = "https://files.pythonhosted.org/packages/94/c0/fcdf739bf60d836a38811476f6ecd50374880b01e3014318b6e809ddfd52/pydantic_core-2.33.1-cp310-cp310-win_amd64.whl", hash = "sha256:694ad99a7f6718c1a498dc170ca430687a39894a60327f548e02a9c7ee4b6504", size = 1952494 },
{ url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224 },
{ url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845 },
{ url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029 },
{ url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784 },
{ url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075 },
{ url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849 },
{ url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794 },
{ url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237 },
{ url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351 },
{ url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914 },
{ url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385 },
{ url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765 },
{ url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688 },
{ url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185 },
{ url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640 },
{ url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649 },
{ url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472 },
{ url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509 },
{ url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702 },
{ url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428 },
{ url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753 },
{ url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849 },
{ url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541 },
{ url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225 },
{ url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373 },
{ url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034 },
{ url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848 },
{ url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986 },
{ url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551 },
{ url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785 },
{ url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758 },
{ url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109 },
{ url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159 },
{ url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222 },
{ url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980 },
{ url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840 },
{ url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518 },
{ url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025 },
{ url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991 },
{ url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262 },
{ url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626 },
{ url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590 },
{ url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963 },
{ url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896 },
{ url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810 },
{ url = "https://files.pythonhosted.org/packages/9c/c7/8b311d5adb0fe00a93ee9b4e92a02b0ec08510e9838885ef781ccbb20604/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c834f54f8f4640fd7e4b193f80eb25a0602bba9e19b3cd2fc7ffe8199f5ae02", size = 2041659 },
{ url = "https://files.pythonhosted.org/packages/8a/d6/4f58d32066a9e26530daaf9adc6664b01875ae0691570094968aaa7b8fcc/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:049e0de24cf23766f12cc5cc71d8abc07d4a9deb9061b334b62093dedc7cb068", size = 1873294 },
{ url = "https://files.pythonhosted.org/packages/f7/3f/53cc9c45d9229da427909c751f8ed2bf422414f7664ea4dde2d004f596ba/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a28239037b3d6f16916a4c831a5a0eadf856bdd6d2e92c10a0da3a59eadcf3e", size = 1903771 },
{ url = "https://files.pythonhosted.org/packages/f0/49/bf0783279ce674eb9903fb9ae43f6c614cb2f1c4951370258823f795368b/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d3da303ab5f378a268fa7d45f37d7d85c3ec19769f28d2cc0c61826a8de21fe", size = 2083558 },
{ url = "https://files.pythonhosted.org/packages/9c/5b/0d998367687f986c7d8484a2c476d30f07bf5b8b1477649a6092bd4c540e/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25626fb37b3c543818c14821afe0fd3830bc327a43953bc88db924b68c5723f1", size = 2118038 },
{ url = "https://files.pythonhosted.org/packages/b3/33/039287d410230ee125daee57373ac01940d3030d18dba1c29cd3089dc3ca/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3ab2d36e20fbfcce8f02d73c33a8a7362980cff717926bbae030b93ae46b56c7", size = 2079315 },
{ url = "https://files.pythonhosted.org/packages/1f/85/6d8b2646d99c062d7da2d0ab2faeb0d6ca9cca4c02da6076376042a20da3/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:2f9284e11c751b003fd4215ad92d325d92c9cb19ee6729ebd87e3250072cdcde", size = 2249063 },
{ url = "https://files.pythonhosted.org/packages/17/d7/c37d208d5738f7b9ad8f22ae8a727d88ebf9c16c04ed2475122cc3f7224a/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:048c01eee07d37cbd066fc512b9d8b5ea88ceeb4e629ab94b3e56965ad655add", size = 2254631 },
{ url = "https://files.pythonhosted.org/packages/13/e0/bafa46476d328e4553b85ab9b2f7409e7aaef0ce4c937c894821c542d347/pydantic_core-2.33.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5ccd429694cf26af7997595d627dd2637e7932214486f55b8a357edaac9dae8c", size = 2080877 },
{ url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858 },
{ url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745 },
{ url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188 },
{ url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479 },
{ url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415 },
{ url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623 },
{ url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175 },
{ url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674 },
{ url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951 },
]
[[package]]
@@ -1933,27 +1948,27 @@ wheels = [
[[package]]
name = "pytest-asyncio"
version = "0.25.3"
version = "0.26.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f2/a8/ecbc8ede70921dd2f544ab1cadd3ff3bf842af27f87bbdea774c7baa1d38/pytest_asyncio-0.25.3.tar.gz", hash = "sha256:fc1da2cf9f125ada7e710b4ddad05518d4cee187ae9412e9ac9271003497f07a", size = 54239 }
sdist = { url = "https://files.pythonhosted.org/packages/8e/c4/453c52c659521066969523e87d85d54139bbd17b78f09532fb8eb8cdb58e/pytest_asyncio-0.26.0.tar.gz", hash = "sha256:c4df2a697648241ff39e7f0e4a73050b03f123f760673956cf0d72a4990e312f", size = 54156 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/67/17/3493c5624e48fd97156ebaec380dcaafee9506d7e2c46218ceebbb57d7de/pytest_asyncio-0.25.3-py3-none-any.whl", hash = "sha256:9e89518e0f9bd08928f97a3482fdc4e244df17529460bc038291ccaf8f85c7c3", size = 19467 },
{ url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694 },
]
[[package]]
name = "pytest-cov"
version = "6.0.0"
version = "6.1.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "coverage", extra = ["toml"] },
{ name = "pytest" },
]
sdist = { url = "https://files.pythonhosted.org/packages/be/45/9b538de8cef30e17c7b45ef42f538a94889ed6a16f2387a6c89e73220651/pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0", size = 66945 }
sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949 },
{ url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841 },
]
[[package]]
@@ -2210,27 +2225,27 @@ wheels = [
[[package]]
name = "ruff"
version = "0.11.2"
version = "0.11.4"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/90/61/fb87430f040e4e577e784e325351186976516faef17d6fcd921fe28edfd7/ruff-0.11.2.tar.gz", hash = "sha256:ec47591497d5a1050175bdf4e1a4e6272cddff7da88a2ad595e1e326041d8d94", size = 3857511 }
sdist = { url = "https://files.pythonhosted.org/packages/e8/5b/3ae20f89777115944e89c2d8c2e795dcc5b9e04052f76d5347e35e0da66e/ruff-0.11.4.tar.gz", hash = "sha256:f45bd2fb1a56a5a85fae3b95add03fb185a0b30cf47f5edc92aa0355ca1d7407", size = 3933063 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/62/99/102578506f0f5fa29fd7e0df0a273864f79af044757aef73d1cae0afe6ad/ruff-0.11.2-py3-none-linux_armv6l.whl", hash = "sha256:c69e20ea49e973f3afec2c06376eb56045709f0212615c1adb0eda35e8a4e477", size = 10113146 },
{ url = "https://files.pythonhosted.org/packages/74/ad/5cd4ba58ab602a579997a8494b96f10f316e874d7c435bcc1a92e6da1b12/ruff-0.11.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2c5424cc1c4eb1d8ecabe6d4f1b70470b4f24a0c0171356290b1953ad8f0e272", size = 10867092 },
{ url = "https://files.pythonhosted.org/packages/fc/3e/d3f13619e1d152c7b600a38c1a035e833e794c6625c9a6cea6f63dbf3af4/ruff-0.11.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:ecf20854cc73f42171eedb66f006a43d0a21bfb98a2523a809931cda569552d9", size = 10224082 },
{ url = "https://files.pythonhosted.org/packages/90/06/f77b3d790d24a93f38e3806216f263974909888fd1e826717c3ec956bbcd/ruff-0.11.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c543bf65d5d27240321604cee0633a70c6c25c9a2f2492efa9f6d4b8e4199bb", size = 10394818 },
{ url = "https://files.pythonhosted.org/packages/99/7f/78aa431d3ddebfc2418cd95b786642557ba8b3cb578c075239da9ce97ff9/ruff-0.11.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20967168cc21195db5830b9224be0e964cc9c8ecf3b5a9e3ce19876e8d3a96e3", size = 9952251 },
{ url = "https://files.pythonhosted.org/packages/30/3e/f11186d1ddfaca438c3bbff73c6a2fdb5b60e6450cc466129c694b0ab7a2/ruff-0.11.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:955a9ce63483999d9f0b8f0b4a3ad669e53484232853054cc8b9d51ab4c5de74", size = 11563566 },
{ url = "https://files.pythonhosted.org/packages/22/6c/6ca91befbc0a6539ee133d9a9ce60b1a354db12c3c5d11cfdbf77140f851/ruff-0.11.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:86b3a27c38b8fce73bcd262b0de32e9a6801b76d52cdb3ae4c914515f0cef608", size = 12208721 },
{ url = "https://files.pythonhosted.org/packages/19/b0/24516a3b850d55b17c03fc399b681c6a549d06ce665915721dc5d6458a5c/ruff-0.11.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3b66a03b248c9fcd9d64d445bafdf1589326bee6fc5c8e92d7562e58883e30f", size = 11662274 },
{ url = "https://files.pythonhosted.org/packages/d7/65/76be06d28ecb7c6070280cef2bcb20c98fbf99ff60b1c57d2fb9b8771348/ruff-0.11.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0397c2672db015be5aa3d4dac54c69aa012429097ff219392c018e21f5085147", size = 13792284 },
{ url = "https://files.pythonhosted.org/packages/ce/d2/4ceed7147e05852876f3b5f3fdc23f878ce2b7e0b90dd6e698bda3d20787/ruff-0.11.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:869bcf3f9abf6457fbe39b5a37333aa4eecc52a3b99c98827ccc371a8e5b6f1b", size = 11327861 },
{ url = "https://files.pythonhosted.org/packages/c4/78/4935ecba13706fd60ebe0e3dc50371f2bdc3d9bc80e68adc32ff93914534/ruff-0.11.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:2a2b50ca35457ba785cd8c93ebbe529467594087b527a08d487cf0ee7b3087e9", size = 10276560 },
{ url = "https://files.pythonhosted.org/packages/81/7f/1b2435c3f5245d410bb5dc80f13ec796454c21fbda12b77d7588d5cf4e29/ruff-0.11.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7c69c74bf53ddcfbc22e6eb2f31211df7f65054bfc1f72288fc71e5f82db3eab", size = 9945091 },
{ url = "https://files.pythonhosted.org/packages/39/c4/692284c07e6bf2b31d82bb8c32f8840f9d0627d92983edaac991a2b66c0a/ruff-0.11.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6e8fb75e14560f7cf53b15bbc55baf5ecbe373dd5f3aab96ff7aa7777edd7630", size = 10977133 },
{ url = "https://files.pythonhosted.org/packages/94/cf/8ab81cb7dd7a3b0a3960c2769825038f3adcd75faf46dd6376086df8b128/ruff-0.11.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:842a472d7b4d6f5924e9297aa38149e5dcb1e628773b70e6387ae2c97a63c58f", size = 11378514 },
{ url = "https://files.pythonhosted.org/packages/d9/3a/a647fa4f316482dacf2fd68e8a386327a33d6eabd8eb2f9a0c3d291ec549/ruff-0.11.2-py3-none-win32.whl", hash = "sha256:aca01ccd0eb5eb7156b324cfaa088586f06a86d9e5314b0eb330cb48415097cc", size = 10319835 },
{ url = "https://files.pythonhosted.org/packages/86/54/3c12d3af58012a5e2cd7ebdbe9983f4834af3f8cbea0e8a8c74fa1e23b2b/ruff-0.11.2-py3-none-win_amd64.whl", hash = "sha256:3170150172a8f994136c0c66f494edf199a0bbea7a409f649e4bc8f4d7084080", size = 11373713 },
{ url = "https://files.pythonhosted.org/packages/d6/d4/dd813703af8a1e2ac33bf3feb27e8a5ad514c9f219df80c64d69807e7f71/ruff-0.11.2-py3-none-win_arm64.whl", hash = "sha256:52933095158ff328f4c77af3d74f0379e34fd52f175144cefc1b192e7ccd32b4", size = 10441990 },
{ url = "https://files.pythonhosted.org/packages/9c/db/baee59ac88f57527fcbaad3a7b309994e42329c6bc4d4d2b681a3d7b5426/ruff-0.11.4-py3-none-linux_armv6l.whl", hash = "sha256:d9f4a761ecbde448a2d3e12fb398647c7f0bf526dbc354a643ec505965824ed2", size = 10106493 },
{ url = "https://files.pythonhosted.org/packages/c1/d6/9a0962cbb347f4ff98b33d699bf1193ff04ca93bed4b4222fd881b502154/ruff-0.11.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8c1747d903447d45ca3d40c794d1a56458c51e5cc1bc77b7b64bd2cf0b1626cc", size = 10876382 },
{ url = "https://files.pythonhosted.org/packages/3a/8f/62bab0c7d7e1ae3707b69b157701b41c1ccab8f83e8501734d12ea8a839f/ruff-0.11.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:51a6494209cacca79e121e9b244dc30d3414dac8cc5afb93f852173a2ecfc906", size = 10237050 },
{ url = "https://files.pythonhosted.org/packages/09/96/e296965ae9705af19c265d4d441958ed65c0c58fc4ec340c27cc9d2a1f5b/ruff-0.11.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f171605f65f4fc49c87f41b456e882cd0c89e4ac9d58e149a2b07930e1d466f", size = 10424984 },
{ url = "https://files.pythonhosted.org/packages/e5/56/644595eb57d855afed6e54b852e2df8cd5ca94c78043b2f29bdfb29882d5/ruff-0.11.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebf99ea9af918878e6ce42098981fc8c1db3850fef2f1ada69fb1dcdb0f8e79e", size = 9957438 },
{ url = "https://files.pythonhosted.org/packages/86/83/9d3f3bed0118aef3e871ded9e5687fb8c5776bde233427fd9ce0a45db2d4/ruff-0.11.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edad2eac42279df12e176564a23fc6f4aaeeb09abba840627780b1bb11a9d223", size = 11547282 },
{ url = "https://files.pythonhosted.org/packages/40/e6/0c6e4f5ae72fac5ccb44d72c0111f294a5c2c8cc5024afcb38e6bda5f4b3/ruff-0.11.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f103a848be9ff379fc19b5d656c1f911d0a0b4e3e0424f9532ececf319a4296e", size = 12182020 },
{ url = "https://files.pythonhosted.org/packages/b5/92/4aed0e460aeb1df5ea0c2fbe8d04f9725cccdb25d8da09a0d3f5b8764bf8/ruff-0.11.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:193e6fac6eb60cc97b9f728e953c21cc38a20077ed64f912e9d62b97487f3f2d", size = 11679154 },
{ url = "https://files.pythonhosted.org/packages/1b/d3/7316aa2609f2c592038e2543483eafbc62a0e1a6a6965178e284808c095c/ruff-0.11.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7af4e5f69b7c138be8dcffa5b4a061bf6ba6a3301f632a6bce25d45daff9bc99", size = 13905985 },
{ url = "https://files.pythonhosted.org/packages/63/80/734d3d17546e47ff99871f44ea7540ad2bbd7a480ed197fe8a1c8a261075/ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126b1bf13154aa18ae2d6c3c5efe144ec14b97c60844cfa6eb960c2a05188222", size = 11348343 },
{ url = "https://files.pythonhosted.org/packages/04/7b/70fc7f09a0161dce9613a4671d198f609e653d6f4ff9eee14d64c4c240fb/ruff-0.11.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8806daaf9dfa881a0ed603f8a0e364e4f11b6ed461b56cae2b1c0cab0645304", size = 10308487 },
{ url = "https://files.pythonhosted.org/packages/1a/22/1cdd62dabd678d75842bf4944fd889cf794dc9e58c18cc547f9eb28f95ed/ruff-0.11.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5d94bb1cc2fc94a769b0eb975344f1b1f3d294da1da9ddbb5a77665feb3a3019", size = 9929091 },
{ url = "https://files.pythonhosted.org/packages/9f/20/40e0563506332313148e783bbc1e4276d657962cc370657b2fff20e6e058/ruff-0.11.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:995071203d0fe2183fc7a268766fd7603afb9996785f086b0d76edee8755c896", size = 10924659 },
{ url = "https://files.pythonhosted.org/packages/b5/41/eef9b7aac8819d9e942f617f9db296f13d2c4576806d604aba8db5a753f1/ruff-0.11.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7a37ca937e307ea18156e775a6ac6e02f34b99e8c23fe63c1996185a4efe0751", size = 11428160 },
{ url = "https://files.pythonhosted.org/packages/ff/61/c488943414fb2b8754c02f3879de003e26efdd20f38167ded3fb3fc1cda3/ruff-0.11.4-py3-none-win32.whl", hash = "sha256:0e9365a7dff9b93af933dab8aebce53b72d8f815e131796268709890b4a83270", size = 10311496 },
{ url = "https://files.pythonhosted.org/packages/b6/2b/2a1c8deb5f5dfa3871eb7daa41492c4d2b2824a74d2b38e788617612a66d/ruff-0.11.4-py3-none-win_amd64.whl", hash = "sha256:5a9fa1c69c7815e39fcfb3646bbfd7f528fa8e2d4bebdcf4c2bd0fa037a255fb", size = 11399146 },
{ url = "https://files.pythonhosted.org/packages/4f/03/3aec4846226d54a37822e4c7ea39489e4abd6f88388fba74e3d4abe77300/ruff-0.11.4-py3-none-win_arm64.whl", hash = "sha256:d435db6b9b93d02934cf61ef332e66af82da6d8c69aefdea5994c89997c7a0fc", size = 10450306 },
]
[[package]]
@@ -2444,23 +2459,23 @@ wheels = [
[[package]]
name = "types-pyyaml"
version = "6.0.12.20241230"
version = "6.0.12.20250402"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/9a/f9/4d566925bcf9396136c0a2e5dc7e230ff08d86fa011a69888dd184469d80/types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c", size = 17078 }
sdist = { url = "https://files.pythonhosted.org/packages/2d/68/609eed7402f87c9874af39d35942744e39646d1ea9011765ec87b01b2a3c/types_pyyaml-6.0.12.20250402.tar.gz", hash = "sha256:d7c13c3e6d335b6af4b0122a01ff1d270aba84ab96d1a1a1063ecba3e13ec075", size = 17282 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e8/c1/48474fbead512b70ccdb4f81ba5eb4a58f69d100ba19f17c92c0c4f50ae6/types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6", size = 20029 },
{ url = "https://files.pythonhosted.org/packages/ed/56/1fe61db05685fbb512c07ea9323f06ea727125951f1eb4dff110b3311da3/types_pyyaml-6.0.12.20250402-py3-none-any.whl", hash = "sha256:652348fa9e7a203d4b0d21066dfb00760d3cbd5a15ebb7cf8d33c88a49546681", size = 20329 },
]
[[package]]
name = "types-requests"
version = "2.32.0.20250306"
version = "2.32.0.20250328"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "urllib3" },
]
sdist = { url = "https://files.pythonhosted.org/packages/09/1a/beaeff79ef9efd186566ba5f0d95b44ae21f6d31e9413bcfbef3489b6ae3/types_requests-2.32.0.20250306.tar.gz", hash = "sha256:0962352694ec5b2f95fda877ee60a159abdf84a0fc6fdace599f20acb41a03d1", size = 23012 }
sdist = { url = "https://files.pythonhosted.org/packages/00/7d/eb174f74e3f5634eaacb38031bbe467dfe2e545bc255e5c90096ec46bc46/types_requests-2.32.0.20250328.tar.gz", hash = "sha256:c9e67228ea103bd811c96984fac36ed2ae8da87a36a633964a21f199d60baf32", size = 22995 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/99/26/645d89f56004aa0ba3b96fec27793e3c7e62b40982ee069e52568922b6db/types_requests-2.32.0.20250306-py3-none-any.whl", hash = "sha256:25f2cbb5c8710b2022f8bbee7b2b66f319ef14aeea2f35d80f18c9dbf3b60a0b", size = 20673 },
{ url = "https://files.pythonhosted.org/packages/cc/15/3700282a9d4ea3b37044264d3e4d1b1f0095a4ebf860a99914fd544e3be3/types_requests-2.32.0.20250328-py3-none-any.whl", hash = "sha256:72ff80f84b15eb3aa7a8e2625fffb6a93f2ad5a0c20215fc1dcfa61117bcb2a2", size = 20663 },
]
[[package]]
@@ -2477,20 +2492,20 @@ wheels = [
[[package]]
name = "types-simplejson"
version = "3.20.0.20250318"
version = "3.20.0.20250326"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/b7/bb/c19c0863ce03b950a2e6319e668a3e3f51c977368d6a1da529893e794162/types_simplejson-3.20.0.20250318.tar.gz", hash = "sha256:5ada2caa2f76826a90b97985f7b0caf55088a23ed4eb9c39fc1f5cb00b985e09", size = 9966 }
sdist = { url = "https://files.pythonhosted.org/packages/af/14/e26fc55e1ea56f9ea470917d3e2f8240e6d043ca914181021d04115ae0f7/types_simplejson-3.20.0.20250326.tar.gz", hash = "sha256:b2689bc91e0e672d7a5a947b4cb546b76ae7ddc2899c6678e72a10bf96cd97d2", size = 10489 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/02/5a/adb04301014b18324ec88d5fcfe0ffc262ffc68c443cfe79e32b6cc68a35/types_simplejson-3.20.0.20250318-py3-none-any.whl", hash = "sha256:e8c9cdb06b566b6ca1c7bf3d4c97fbd69a6f6a5aea760ef127f31e638a094c26", size = 10336 },
{ url = "https://files.pythonhosted.org/packages/76/bf/d3f3a5ba47fd18115e8446d39f025b85905d2008677c29ee4d03b4cddd57/types_simplejson-3.20.0.20250326-py3-none-any.whl", hash = "sha256:db1ddea7b8f7623b27a137578f22fc6c618db8c83ccfb1828ca0d2f0ec11efa7", size = 10462 },
]
[[package]]
name = "types-ujson"
version = "5.10.0.20240515"
version = "5.10.0.20250326"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/12/49/abb4bcb9f2258f785edbf236b517c3e7ba8a503a8cbce6b5895930586cc0/types-ujson-5.10.0.20240515.tar.gz", hash = "sha256:ceae7127f0dafe4af5dd0ecf98ee13e9d75951ef963b5c5a9b7ea92e0d71f0d7", size = 3571 }
sdist = { url = "https://files.pythonhosted.org/packages/cc/5c/c974451c4babdb4ae3588925487edde492d59a8403010b4642a554d09954/types_ujson-5.10.0.20250326.tar.gz", hash = "sha256:5469e05f2c31ecb3c4c0267cc8fe41bcd116826fbb4ded69801a645c687dd014", size = 8340 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3f/1f/9d018cee3d09ab44a5211f0b5ed9b0422ad9a8c226bf3967f5884498d8f0/types_ujson-5.10.0.20240515-py3-none-any.whl", hash = "sha256:02bafc36b3a93d2511757a64ff88bd505e0a57fba08183a9150fbcfcb2015310", size = 2757 },
{ url = "https://files.pythonhosted.org/packages/3e/c9/8a73a5f8fa6e70fc02eed506d5ac0ae9ceafbd2b8c9ad34a7de0f29900d6/types_ujson-5.10.0.20250326-py3-none-any.whl", hash = "sha256:acc0913f569def62ef6a892c8a47703f65d05669a3252391a97765cf207dca5b", size = 7644 },
]
[[package]]
@@ -2502,6 +2517,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
]
[[package]]
name = "typing-inspection"
version = "0.4.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 },
]
[[package]]
name = "urllib3"
version = "2.1.0"

View File

@@ -36,6 +36,8 @@ analyzer:
exclude:
- openapi/**
- lib/generated_plugin_registrant.dart
- lib/**/*.g.dart
- lib/**/*.drift.dart
plugins:
- custom_lint
@@ -59,6 +61,7 @@ custom_lint:
# refactor to make the providers and services testable
- lib/providers/backup/{backup,manual_upload}.provider.dart # uses only PMProgressHandler
- lib/services/{background,backup}.service.dart # uses only PMProgressHandler
- test/**.dart
- import_rule_isar:
message: isar must only be used in entities and repositories
restrict: package:isar
@@ -148,7 +151,6 @@ dart_code_metrics:
- avoid-unnecessary-continue
- avoid-unnecessary-nullable-return-type: false
- binary-expression-operand-order
- move-variable-outside-iteration
- pattern-fields-ordering
- prefer-abstract-final-static-class
- prefer-commenting-future-delayed

View File

@@ -6,6 +6,7 @@
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.MANAGE_MEDIA" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
@@ -124,4 +125,4 @@
<data android:scheme="geo" />
</intent>
</queries>
</manifest>
</manifest>

View File

@@ -1,25 +1,40 @@
package app.alextran.immich
import android.content.ContentResolver
import android.content.ContentUris
import android.content.ContentValues
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Environment
import android.provider.MediaStore
import android.provider.Settings
import android.util.Log
import io.flutter.embedding.engine.plugins.FlutterPlugin
import io.flutter.embedding.engine.plugins.activity.ActivityAware
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
import io.flutter.plugin.common.BinaryMessenger
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugin.common.MethodChannel.Result
import io.flutter.plugin.common.PluginRegistry
import java.security.MessageDigest
import java.io.FileInputStream
import kotlinx.coroutines.*
/**
* Android plugin for Dart `BackgroundService`
*
* Receives messages/method calls from the foreground Dart side to manage
* the background service, e.g. start (enqueue), stop (cancel)
* Android plugin for Dart `BackgroundService` and file trash operations
*/
class BackgroundServicePlugin : FlutterPlugin, MethodChannel.MethodCallHandler {
class BackgroundServicePlugin : FlutterPlugin, MethodChannel.MethodCallHandler, ActivityAware, PluginRegistry.ActivityResultListener {
private var methodChannel: MethodChannel? = null
private var fileTrashChannel: MethodChannel? = null
private var context: Context? = null
private var pendingResult: Result? = null
private val PERMISSION_REQUEST_CODE = 1001
private var activityBinding: ActivityPluginBinding? = null
override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
onAttachedToEngine(binding.applicationContext, binding.binaryMessenger)
@@ -29,6 +44,10 @@ class BackgroundServicePlugin : FlutterPlugin, MethodChannel.MethodCallHandler {
context = ctx
methodChannel = MethodChannel(messenger, "immich/foregroundChannel")
methodChannel?.setMethodCallHandler(this)
// Add file trash channel
fileTrashChannel = MethodChannel(messenger, "file_trash")
fileTrashChannel?.setMethodCallHandler(this)
}
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
@@ -38,11 +57,14 @@ class BackgroundServicePlugin : FlutterPlugin, MethodChannel.MethodCallHandler {
private fun onDetachedFromEngine() {
methodChannel?.setMethodCallHandler(null)
methodChannel = null
fileTrashChannel?.setMethodCallHandler(null)
fileTrashChannel = null
}
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
override fun onMethodCall(call: MethodCall, result: Result) {
val ctx = context!!
when (call.method) {
// Existing BackgroundService methods
"enable" -> {
val args = call.arguments<ArrayList<*>>()!!
ctx.getSharedPreferences(BackupWorker.SHARED_PREF_NAME, Context.MODE_PRIVATE)
@@ -114,10 +136,180 @@ class BackgroundServicePlugin : FlutterPlugin, MethodChannel.MethodCallHandler {
}
}
// File Trash methods moved from MainActivity
"moveToTrash" -> {
val fileName = call.argument<String>("fileName")
if (fileName != null) {
if (hasManageStoragePermission()) {
val success = moveToTrash(fileName)
result.success(success)
} else {
result.error("PERMISSION_DENIED", "Storage permission required", null)
}
} else {
result.error("INVALID_NAME", "The file name is not specified.", null)
}
}
"restoreFromTrash" -> {
val fileName = call.argument<String>("fileName")
if (fileName != null) {
if (hasManageStoragePermission()) {
val success = untrashImage(fileName)
result.success(success)
} else {
result.error("PERMISSION_DENIED", "Storage permission required", null)
}
} else {
result.error("INVALID_NAME", "The file name is not specified.", null)
}
}
"requestManageStoragePermission" -> {
if (!hasManageStoragePermission()) {
requestManageStoragePermission(result)
} else {
Log.e("Manage storage permission", "Permission already granted")
result.success(true)
}
}
else -> result.notImplemented()
}
}
// File Trash methods moved from MainActivity
private fun hasManageStoragePermission(): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Environment.isExternalStorageManager()
} else {
true
}
}
private fun requestManageStoragePermission(result: Result) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
pendingResult = result // Store the result callback
val activity = activityBinding?.activity ?: return
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.data = Uri.parse("package:${activity.packageName}")
activity.startActivityForResult(intent, PERMISSION_REQUEST_CODE)
} else {
result.success(true)
}
}
private fun moveToTrash(fileName: String): Boolean {
val contentResolver = context?.contentResolver ?: return false
val uri = getFileUri(fileName)
Log.e("FILE_URI", uri.toString())
return uri?.let { moveToTrash(it) } ?: false
}
private fun moveToTrash(contentUri: Uri): Boolean {
val contentResolver = context?.contentResolver ?: return false
return try {
val values = ContentValues().apply {
put(MediaStore.MediaColumns.IS_TRASHED, 1) // Move to trash
}
val updated = contentResolver.update(contentUri, values, null, null)
updated > 0
} catch (e: Exception) {
Log.e("TrashError", "Error moving to trash", e)
false
}
}
private fun getFileUri(fileName: String): Uri? {
val contentResolver = context?.contentResolver ?: return null
val contentUri = MediaStore.Files.getContentUri("external")
val projection = arrayOf(MediaStore.Images.Media._ID)
val selection = "${MediaStore.Images.Media.DISPLAY_NAME} = ?"
val selectionArgs = arrayOf(fileName)
var fileUri: Uri? = null
contentResolver.query(contentUri, projection, selection, selectionArgs, null)?.use { cursor ->
if (cursor.moveToFirst()) {
val id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID))
fileUri = ContentUris.withAppendedId(contentUri, id)
}
}
return fileUri
}
private fun untrashImage(name: String): Boolean {
val contentResolver = context?.contentResolver ?: return false
val uri = getTrashedFileUri(contentResolver, name)
Log.e("FILE_URI", uri.toString())
return uri?.let { untrashImage(it) } ?: false
}
private fun untrashImage(contentUri: Uri): Boolean {
val contentResolver = context?.contentResolver ?: return false
return try {
val values = ContentValues().apply {
put(MediaStore.MediaColumns.IS_TRASHED, 0) // Restore file
}
val updated = contentResolver.update(contentUri, values, null, null)
updated > 0
} catch (e: Exception) {
Log.e("TrashError", "Error restoring file", e)
false
}
}
private fun getTrashedFileUri(contentResolver: ContentResolver, fileName: String): Uri? {
val contentUri = MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL)
val projection = arrayOf(MediaStore.Files.FileColumns._ID)
val queryArgs = Bundle().apply {
putString(ContentResolver.QUERY_ARG_SQL_SELECTION, "${MediaStore.Files.FileColumns.DISPLAY_NAME} = ?")
putStringArray(ContentResolver.QUERY_ARG_SQL_SELECTION_ARGS, arrayOf(fileName))
putInt(MediaStore.QUERY_ARG_MATCH_TRASHED, MediaStore.MATCH_ONLY)
}
contentResolver.query(contentUri, projection, queryArgs, null)?.use { cursor ->
if (cursor.moveToFirst()) {
val id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID))
return ContentUris.withAppendedId(contentUri, id)
}
}
return null
}
// ActivityAware implementation
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
activityBinding = binding
binding.addActivityResultListener(this)
}
override fun onDetachedFromActivityForConfigChanges() {
activityBinding?.removeActivityResultListener(this)
activityBinding = null
}
override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
activityBinding = binding
binding.addActivityResultListener(this)
}
override fun onDetachedFromActivity() {
activityBinding?.removeActivityResultListener(this)
activityBinding = null
}
// ActivityResultListener implementation
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean {
if (requestCode == PERMISSION_REQUEST_CODE) {
val granted = hasManageStoragePermission()
pendingResult?.success(granted)
pendingResult = null
return true
}
return false
}
}
private const val TAG = "BackgroundServicePlugin"
private const val BUFFER_SIZE = 2 * 1024 * 1024;
private const val BUFFER_SIZE = 2 * 1024 * 1024

View File

@@ -2,14 +2,12 @@ package app.alextran.immich
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import android.os.Bundle
import android.content.Intent
import androidx.annotation.NonNull
class MainActivity : FlutterActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
flutterEngine.plugins.add(BackgroundServicePlugin())
// No need to set up method channel here as it's now handled in the plugin
}
}

View File

@@ -35,8 +35,8 @@ platform :android do
task: 'bundle',
build_type: 'Release',
properties: {
"android.injected.version.code" => 192,
"android.injected.version.name" => "1.131.2",
"android.injected.version.code" => 193,
"android.injected.version.name" => "1.131.3",
}
)
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')

View File

@@ -1,4 +1,5 @@
{
"open": "Open",
"action_common_back": "Back",
"action_common_cancel": "Cancel",
"action_common_clear": "Clear",
@@ -17,10 +18,14 @@
"advanced_settings_proxy_headers_title": "Proxy Headers",
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Use alternate device album sync filter",
"advanced_settings_enable_alternate_media_filter_subtitle": "Use this option to filter media during sync based on alternate criteria. Only try this if you have issues with the app detecting all albums.",
"advanced_settings_tile_subtitle": "Advanced user's settings",
"advanced_settings_tile_title": "Advanced",
"advanced_settings_troubleshooting_subtitle": "Enable additional features for troubleshooting",
"advanced_settings_troubleshooting_title": "Troubleshooting",
"advanced_settings_sync_remote_deletions_title": "Sync remote deletions [EXPERIMENTAL]",
"advanced_settings_sync_remote_deletions_subtitle": "Automatically delete or restore an asset on this device when that action is taken on the web",
"album_info_card_backup_album_excluded": "EXCLUDED",
"album_info_card_backup_album_included": "INCLUDED",
"albums": "Albums",
@@ -308,7 +313,7 @@
"home_page_delete_remote_err_local": "Local assets in delete remote selection, skipping",
"home_page_favorite_err_local": "Can not favorite local assets yet, skipping",
"home_page_favorite_err_partner": "Can not favorite partner assets yet, skipping",
"home_page_first_time_notice": "If this is your first time using the app, please make sure to choose a backup album(s) so that the timeline can populate photos and videos in the album(s).",
"home_page_first_time_notice": "If this is your first time using the app, please make sure to choose a backup album so that the timeline can populate photos and videos in it",
"home_page_share_err_local": "Can not share local assets via link, skipping",
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
"ignore_icloud_photos": "Ignore iCloud photos",
@@ -689,4 +694,4 @@
"viewer_unstack": "Un-Stack",
"wifi_name": "WiFi Name",
"your_wifi_name": "Your WiFi name"
}
}

View File

@@ -1,692 +0,0 @@
{
"action_common_back": "后退",
"action_common_cancel": "取消",
"action_common_clear": "清空",
"action_common_confirm": "确定",
"action_common_save": "保存",
"action_common_select": "选择",
"action_common_update": "更新",
"add_a_name": "添加姓名",
"add_endpoint": "添加服务接口",
"add_to_album_bottom_sheet_added": "添加到 {album}",
"add_to_album_bottom_sheet_already_exists": "已在 {album} 中",
"advanced_settings_log_level_title": "日志等级:{}",
"advanced_settings_prefer_remote_subtitle": "在某些设备上,从本地的项目加载缩略图的速度非常慢。\n启用此选项以加载远程。",
"advanced_settings_prefer_remote_title": "优先远程项目",
"advanced_settings_proxy_headers_subtitle": "定义代理标头应用于Immich的每次网络请求",
"advanced_settings_proxy_headers_title": "代理标头",
"advanced_settings_self_signed_ssl_subtitle": "跳过服务器终结点的 SSL 证书验证(该选项适用于使用自签名证书的服务器)。",
"advanced_settings_self_signed_ssl_title": "允许自签名 SSL 证书",
"advanced_settings_tile_subtitle": "高级用户设置",
"advanced_settings_tile_title": "高级",
"advanced_settings_troubleshooting_subtitle": "启用用于故障排除的额外功能",
"advanced_settings_troubleshooting_title": "故障排除",
"album_info_card_backup_album_excluded": "已排除",
"album_info_card_backup_album_included": "已选中",
"albums": "相册",
"album_thumbnail_card_item": "1 项",
"album_thumbnail_card_items": "{} 项",
"album_thumbnail_card_shared": " · 已共享",
"album_thumbnail_owned": "拥有",
"album_thumbnail_shared_by": "由 {} 共享",
"album_viewer_appbar_delete_confirm": "确定要从账户中删除此相册吗?",
"album_viewer_appbar_share_delete": "删除相册",
"album_viewer_appbar_share_err_delete": "删除相册失败",
"album_viewer_appbar_share_err_leave": "退出共享失败",
"album_viewer_appbar_share_err_remove": "从相册中移除时出现错误",
"album_viewer_appbar_share_err_title": "修改相册标题失败",
"album_viewer_appbar_share_leave": "退出共享",
"album_viewer_appbar_share_remove": "从相册中移除",
"album_viewer_appbar_share_to": "共享给",
"album_viewer_page_share_add_users": "创建用户",
"all": "所有",
"all_people_page_title": "人物",
"all_videos_page_title": "视频",
"app_bar_signout_dialog_content": "您确定要退出吗?",
"app_bar_signout_dialog_ok": "是",
"app_bar_signout_dialog_title": "退出登录",
"archived": "已存档",
"archive_page_no_archived_assets": "未找到归档项目",
"archive_page_title": "归档({}",
"asset_action_delete_err_read_only": "无法删除只读项目,跳过",
"asset_action_share_err_offline": "无法获取离线项目,跳过",
"asset_list_group_by_sub_title": "分组方式",
"asset_list_layout_settings_dynamic_layout_title": "动态布局",
"asset_list_layout_settings_group_automatically": "自动",
"asset_list_layout_settings_group_by": "项目分组方式",
"asset_list_layout_settings_group_by_month": "月",
"asset_list_layout_settings_group_by_month_day": "月和日",
"asset_list_layout_sub_title": "布局",
"asset_list_settings_subtitle": "照片网格布局设置",
"asset_list_settings_title": "照片网格",
"asset_restored_successfully": "已成功恢复所有项目",
"assets_deleted_permanently": "{}个项目已被永久删除",
"assets_deleted_permanently_from_server": "已从服务器中永久移除{}个项目",
"assets_removed_permanently_from_device": "已从设备中永久移除{}个项目",
"assets_restored_successfully": "已成功恢复{}个项目",
"assets_trashed": "{}个回收站项目",
"assets_trashed_from_server": "{}个项目已放入回收站",
"asset_viewer_settings_subtitle": "管理图库浏览器设置",
"asset_viewer_settings_title": "资源查看器",
"automatic_endpoint_switching_subtitle": "在可用的情况下,通过指定的 Wi-Fi 进行本地连接,并在其它地方使用替代连接",
"automatic_endpoint_switching_title": "自动切换URL",
"background_location_permission": "后台定位权限",
"background_location_permission_content": "为了在后台运行时切换网络Immich 必须*始终*拥有精确的位置访问权限,这样应用程序才能读取 Wi-Fi 网络的名称",
"backup_album_selection_page_albums_device": "设备上的相册({}",
"backup_album_selection_page_albums_tap": "单击选中,双击取消",
"backup_album_selection_page_assets_scatter": "项目会分散在多个相册中。因此,可以在备份过程中包含或排除相册。",
"backup_album_selection_page_select_albums": "选择相册",
"backup_album_selection_page_selection_info": "选择信息",
"backup_album_selection_page_total_assets": "总计",
"backup_all": "全部",
"backup_background_service_backup_failed_message": "备份失败,正在重试…",
"backup_background_service_connection_failed_message": "连接服务器失败,正在重试…",
"backup_background_service_current_upload_notification": "正在上传 {}",
"backup_background_service_default_notification": "正在检查新项目…",
"backup_background_service_error_title": "备份失败",
"backup_background_service_in_progress_notification": "正在备份…",
"backup_background_service_upload_failure_notification": "上传失败 {}",
"backup_controller_page_albums": "备份相册",
"backup_controller_page_background_app_refresh_disabled_content": "要使用后台备份功能,请在“设置”>“常规”>“后台应用刷新”中启用后台应用程序刷新。",
"backup_controller_page_background_app_refresh_disabled_title": "后台应用刷新已禁用",
"backup_controller_page_background_app_refresh_enable_button_text": "前往设置",
"backup_controller_page_background_battery_info_link": "怎么做",
"backup_controller_page_background_battery_info_message": "为了获得最佳的后台备份体验,请禁用任何限制 Immich 后台活动的电池优化。\n\n由于这是设备相关的因此请查找设备制造商提供的信息进行操作。",
"backup_controller_page_background_battery_info_ok": "我知道了",
"backup_controller_page_background_battery_info_title": "电池优化",
"backup_controller_page_background_charging": "仅充电时",
"backup_controller_page_background_configure_error": "配置后台服务失败",
"backup_controller_page_background_delay": "延迟 {} 后备份",
"backup_controller_page_background_description": "打开后台服务以自动备份任何新项目,且无需打开应用",
"backup_controller_page_background_is_off": "后台自动备份已关闭",
"backup_controller_page_background_is_on": "后台自动备份已开启",
"backup_controller_page_background_turn_off": "关闭后台服务",
"backup_controller_page_background_turn_on": "开启后台服务",
"backup_controller_page_background_wifi": "仅 WiFi",
"backup_controller_page_backup": "备份",
"backup_controller_page_backup_selected": "已选中:",
"backup_controller_page_backup_sub": "已备份的照片和视频",
"backup_controller_page_cancel": "取消",
"backup_controller_page_created": "创建时间: {}",
"backup_controller_page_desc_backup": "打开前台备份,以在程序运行时自动备份新项目。",
"backup_controller_page_excluded": "已排除:",
"backup_controller_page_failed": "失败({}",
"backup_controller_page_filename": "文件名称: {} [{}]",
"backup_controller_page_id": "ID: {}",
"backup_controller_page_info": "备份信息",
"backup_controller_page_none_selected": "未选择",
"backup_controller_page_remainder": "剩余",
"backup_controller_page_remainder_sub": "所选数据中尚未备份的数据",
"backup_controller_page_select": "选择",
"backup_controller_page_server_storage": "服务器存储",
"backup_controller_page_start_backup": "开始备份",
"backup_controller_page_status_off": "前台自动备份已关闭",
"backup_controller_page_status_on": "前台自动备份已开启",
"backup_controller_page_storage_format": "{}/{} 已使用",
"backup_controller_page_to_backup": "要备份的相册",
"backup_controller_page_total": "总计",
"backup_controller_page_total_sub": "选中相册中所有不重复的视频和图像",
"backup_controller_page_turn_off": "关闭前台备份",
"backup_controller_page_turn_on": "开启前台备份",
"backup_controller_page_uploading_file_info": "正在上传中的文件信息",
"backup_err_only_album": "不能移除唯一的一个相册",
"backup_info_card_assets": "项",
"backup_manual_cancelled": "已取消",
"backup_manual_failed": "失败",
"backup_manual_in_progress": "上传正在进行中,请稍后再试",
"backup_manual_success": "成功",
"backup_manual_title": "上传状态",
"backup_options_page_title": "备份选项",
"backup_setting_subtitle": "管理后台和前台上传设置",
"cache_settings_album_thumbnails": "图库缩略图({} 项)",
"cache_settings_clear_cache_button": "清除缓存",
"cache_settings_clear_cache_button_title": "清除应用缓存。在重新生成缓存之前,将显著影响应用的性能。",
"cache_settings_duplicated_assets_clear_button": "清除",
"cache_settings_duplicated_assets_subtitle": "已加入黑名单的照片和视频",
"cache_settings_duplicated_assets_title": "重复项目({}",
"cache_settings_image_cache_size": "图像缓存大小({} 项)",
"cache_settings_statistics_album": "图库缩略图",
"cache_settings_statistics_assets": "{} 项({}",
"cache_settings_statistics_full": "完整图像",
"cache_settings_statistics_shared": "共享相册缩略图",
"cache_settings_statistics_thumbnail": "缩略图",
"cache_settings_statistics_title": "缓存使用情况",
"cache_settings_subtitle": "控制 Immich app 的缓存行为",
"cache_settings_thumbnail_size": "缩略图缓存大小({} 项)",
"cache_settings_tile_subtitle": "设置本地存储行为",
"cache_settings_tile_title": "本地存储",
"cache_settings_title": "缓存设置",
"cancel": "取消",
"canceled": "已取消",
"change_display_order": "更改显示顺序",
"change_password_form_confirm_password": "确认密码",
"change_password_form_description": "{name} 您好,\n\n这是您首次登录系统或被管理员要求更改密码。\n请在下方输入新密码。",
"change_password_form_new_password": "新密码",
"change_password_form_password_mismatch": "密码不匹配",
"change_password_form_reenter_new_password": "再次输入新密码",
"check_corrupt_asset_backup": "检查备份是否损坏",
"check_corrupt_asset_backup_button": "执行检查",
"check_corrupt_asset_backup_description": "仅在连接到Wi-Fi并完成所有项目备份后执行此检查。该过程可能需要几分钟。",
"client_cert_dialog_msg_confirm": "确定",
"client_cert_enter_password": "输入密码",
"client_cert_import": "导入",
"client_cert_import_success_msg": "客户端证书已导入",
"client_cert_invalid_msg": "无效的证书文件或密码错误",
"client_cert_remove": "移除",
"client_cert_remove_msg": "客户端证书已移除",
"client_cert_subtitle": "仅支持PKCS12 (.p12, .pfx)格式。仅可在登录前进行证书的导入和移除",
"client_cert_title": "SSL客户端证书",
"common_add_to_album": "添加到相册",
"common_change_password": "更改密码",
"common_create_new_album": "新建相册",
"common_server_error": "请检查您的网络连接,确保服务器可访问且该应用程序与服务器版本兼容。",
"common_shared": "共享",
"completed": "已完成",
"contextual_search": "海滩上的日出",
"control_bottom_app_bar_add_to_album": "添加到相册",
"control_bottom_app_bar_album_info": "{} 项",
"control_bottom_app_bar_album_info_shared": "{} 项 · 已共享",
"control_bottom_app_bar_archive": "归档",
"control_bottom_app_bar_create_new_album": "新建相册",
"control_bottom_app_bar_delete": "删除",
"control_bottom_app_bar_delete_from_immich": "从Immich服务器中删除",
"control_bottom_app_bar_delete_from_local": "从移动设备中删除",
"control_bottom_app_bar_download": "下载",
"control_bottom_app_bar_edit": "编辑",
"control_bottom_app_bar_edit_location": "编辑位置信息",
"control_bottom_app_bar_edit_time": "编辑日期和时间",
"control_bottom_app_bar_favorite": "收藏",
"control_bottom_app_bar_share": "共享",
"control_bottom_app_bar_share_link": "Share Link",
"control_bottom_app_bar_share_to": "发送给",
"control_bottom_app_bar_stack": "堆叠",
"control_bottom_app_bar_trash_from_immich": "放入回收站",
"control_bottom_app_bar_unarchive": "取消归档",
"control_bottom_app_bar_unfavorite": "取消收藏",
"control_bottom_app_bar_upload": "上传",
"create_album": "创建相册",
"create_album_page_untitled": "未命名",
"create_new": "新建",
"create_shared_album_page_create": "创建",
"create_shared_album_page_share": "共享",
"create_shared_album_page_share_add_assets": "添加项目",
"create_shared_album_page_share_select_photos": "选择项目",
"crop": "裁剪",
"curated_location_page_title": "地点",
"curated_object_page_title": "事物",
"current_server_address": "当前服务器地址",
"daily_title_text_date": "E, MMM dd",
"daily_title_text_date_year": "E, MMM dd, yyyy",
"date_format": "E, LLL d, y • h:mm a",
"delete_dialog_alert": "这些项目将从 Immich 和您的设备中永久删除",
"delete_dialog_alert_local": "这些项目将从您的移动设备中永久删除但仍然可以从Immich服务器中再次获取",
"delete_dialog_alert_local_non_backed_up": "部分项目还未备份至Immich服务器将从您的移动设备中永久删除",
"delete_dialog_alert_remote": "这些项目将从Immich服务器中永久删除",
"delete_dialog_cancel": "取消",
"delete_dialog_ok": "删除",
"delete_dialog_ok_force": "确认删除",
"delete_dialog_title": "永久删除",
"delete_local_dialog_ok_backed_up_only": "仅删除已备份项目",
"delete_local_dialog_ok_force": "确认删除",
"delete_shared_link_dialog_content": "确定要删除此共享链接?",
"delete_shared_link_dialog_title": "删除共享链接",
"description_input_hint_text": "添加描述...",
"description_input_submit_error": "更新描述时出错,请检查日志以获取更多详细信息",
"description_search": "在沙巴徒步的日子",
"download_canceled": "下载已取消",
"download_complete": "下载完成",
"download_enqueue": "已加入下载队列",
"download_error": "下载出错",
"download_failed": "下载失败",
"download_filename": "文件:{}",
"download_finished": "下载完成",
"downloading": "下载中...",
"downloading_media": "正在下载媒体",
"download_notfound": "无法找到下载",
"download_paused": "下载已暂停",
"download_started": "开始下载",
"download_sucess": "下载成功",
"download_sucess_android": "媒体已下载至 DCIM/Immich",
"download_waiting_to_retry": "等待重试",
"edit_date_time_dialog_date_time": "日期和时间",
"edit_date_time_dialog_search_timezone": "搜索时区...",
"edit_date_time_dialog_timezone": "时区",
"edit_image_title": "编辑",
"edit_location_dialog_title": "位置",
"empty_folder": "文件夹为空",
"end_date": "结束日期",
"enqueued": "排队中",
"enter_wifi_name": "输入 Wi-Fi 名称",
"error_change_sort_album": "更改相册排序失败",
"error_saving_image": "错误:{}",
"exif_bottom_sheet_description": "添加描述...",
"exif_bottom_sheet_details": "详情",
"exif_bottom_sheet_location": "位置",
"exif_bottom_sheet_location_add": "添加位置信息",
"exif_bottom_sheet_people": "人物",
"exif_bottom_sheet_person_add_person": "添加姓名",
"exif_bottom_sheet_person_age": "年龄 {}",
"exif_bottom_sheet_person_age_months": "Age {} months",
"exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
"exif_bottom_sheet_person_age_years": "Age {}",
"experimental_settings_new_asset_list_subtitle": "正在处理",
"experimental_settings_new_asset_list_title": "启用实验性照片网格",
"experimental_settings_subtitle": "使用风险自负!",
"experimental_settings_title": "实验性功能",
"external_network": "外部网络",
"external_network_sheet_info": "当不在首选的 Wi-Fi 网络上时,应用程序将通过下方第一个可连通的 URL 连接到服务器",
"failed": "失败",
"failed_to_load_assets": "加载项目失败",
"failed_to_load_folder": "加载文件夹失败",
"favorites": "收藏",
"favorites_page_no_favorites": "未找到收藏项目",
"favorites_page_title": "收藏",
"filename_search": "文件名或扩展名",
"filter": "筛选",
"folder": "文件夹",
"folder_not_found": "未找到文件夹",
"folders": "文件夹",
"get_wifiname_error": "无法获取 Wi-Fi 名称。确保已授予必要的权限,并已连接到 Wi-Fi 网络",
"grant_permission": "获取权限",
"haptic_feedback_switch": "启用振动反馈",
"haptic_feedback_title": "振动反馈",
"header_settings_add_header_tip": "添加标头",
"header_settings_field_validator_msg": "设置不可为空",
"header_settings_header_name_input": "标头名称",
"header_settings_header_value_input": "标头值",
"header_settings_page_title": "代理标头",
"headers_settings_tile_subtitle": "定义代理标头,应用于每次网络请求",
"headers_settings_tile_title": "自定义代理标头",
"home_page_add_to_album_conflicts": "已向相册 {album} 中添加 {added} 项。\n其中 {failed} 项在相册中已存在。",
"home_page_add_to_album_err_local": "暂不能将本地项目添加到相册中,跳过",
"home_page_add_to_album_success": "已向相册 {album} 中添加 {added} 项。",
"home_page_album_err_partner": "暂无法将同伴的项目添加到相册,跳过",
"home_page_archive_err_local": "暂无法归档本地项目,跳过",
"home_page_archive_err_partner": "无法存档同伴的项目,跳过",
"home_page_building_timeline": "正在生成时间线",
"home_page_delete_err_partner": "无法删除同伴的项目,跳过",
"home_page_delete_remote_err_local": "远程项目删除模式,跳过本地项目",
"home_page_favorite_err_local": "暂不能收藏本地项目,跳过",
"home_page_favorite_err_partner": "暂无法收藏同伴的项目,跳过",
"home_page_first_time_notice": "如果这是您第一次使用该应用程序,请确保选择一个要备份的本地相册,以便可以在时间线中预览该相册中的照片和视频。",
"home_page_share_err_local": "暂无法通过链接共享本地项目,跳过",
"home_page_upload_err_limit": "一次最多只能上传 30 个项目,跳过",
"ignore_icloud_photos": "忽略iCloud照片",
"ignore_icloud_photos_description": "存储在iCloud中的照片不会上传至Immich服务器",
"image_saved_successfully": "图片已保存",
"image_viewer_page_state_provider_download_error": "下载出现错误",
"image_viewer_page_state_provider_download_started": "下载启动",
"image_viewer_page_state_provider_download_success": "下载成功",
"image_viewer_page_state_provider_share_error": "共享出错",
"invalid_date": "无效的日期",
"invalid_date_format": "无效的日期格式",
"library": "库",
"library_page_albums": "相册",
"library_page_archive": "归档",
"library_page_device_albums": "设备上的相册",
"library_page_favorites": "收藏",
"library_page_new_album": "新建相册",
"library_page_sharing": "共享",
"library_page_sort_asset_count": "项目数量",
"library_page_sort_created": "创建日期",
"library_page_sort_last_modified": "上次修改",
"library_page_sort_most_oldest_photo": "最早的照片",
"library_page_sort_most_recent_photo": "最近的项目",
"library_page_sort_title": "相册标题",
"local_network": "本地网络",
"local_network_sheet_info": "使用指定的 Wi-Fi 网络时,应用程序将通过此 URL 连接到服务器",
"location_permission": "定位权限",
"location_permission_content": "为了使用自动切换功能Immich 需要精确的定位权限,这样才能读取当前 Wi-Fi 网络的名称",
"location_picker_choose_on_map": "在地图上选择",
"location_picker_latitude": "纬度",
"location_picker_latitude_error": "输入有效的纬度值",
"location_picker_latitude_hint": "请在此处输入您的纬度值",
"location_picker_longitude": "经度",
"location_picker_longitude_error": "输入有效的经度值",
"location_picker_longitude_hint": "请在此处输入您的经度值",
"login_disabled": "登录已被禁用",
"login_form_api_exception": "API 异常,请检查服务器地址并重试。",
"login_form_back_button_text": "后退",
"login_form_button_text": "登录",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "http://您的服务器地址:端口",
"login_form_endpoint_url": "服务器链接地址",
"login_form_err_http": "请注明 http:// 或 https://",
"login_form_err_invalid_email": "无效的电子邮箱",
"login_form_err_invalid_url": "无效的地址",
"login_form_err_leading_whitespace": "带有前导空格",
"login_form_err_trailing_whitespace": "带有尾随空格",
"login_form_failed_get_oauth_server_config": "使用 OAuth 登录时错误,请检查服务器地址",
"login_form_failed_get_oauth_server_disable": "OAuth 功能在此服务器上不可用",
"login_form_failed_login": "登录失败,请检查服务器地址、邮箱和密码",
"login_form_handshake_exception": "与服务器通信时出现握手异常。如果您使用的是自签名证书,请在设置中启用自签名证书支持。",
"login_form_label_email": "邮箱",
"login_form_label_password": "密码",
"login_form_next_button": "下一个",
"login_form_password_hint": "密码",
"login_form_save_login": "保持登录",
"login_form_server_empty": "输入服务器地址",
"login_form_server_error": "无法连接到服务器。",
"login_password_changed_error": "更新密码时出错\n",
"login_password_changed_success": "密码更新成功",
"map_assets_in_bound": "{}张照片",
"map_assets_in_bounds": "{}张照片",
"map_cannot_get_user_location": "无法获取用户位置",
"map_location_dialog_cancel": "取消",
"map_location_dialog_yes": "是",
"map_location_picker_page_use_location": "使用此位置",
"map_location_service_disabled_content": "需要启用定位服务才能显示当前位置相关的项目。要现在启用吗?",
"map_location_service_disabled_title": "定位服务已禁用",
"map_no_assets_in_bounds": "此区域中没有相关项目",
"map_no_location_permission_content": "需要位置权限才能显示与当前位置相关的项目。要现在就授予位置权限吗?",
"map_no_location_permission_title": "位置权限被拒绝",
"map_settings_dark_mode": "深色模式",
"map_settings_date_range_option_all": "所有",
"map_settings_date_range_option_day": "过去24小时",
"map_settings_date_range_option_days": "{}天前",
"map_settings_date_range_option_year": "1年前",
"map_settings_date_range_option_years": "{}年前",
"map_settings_dialog_cancel": "取消",
"map_settings_dialog_save": "保存",
"map_settings_dialog_title": "地图设置",
"map_settings_include_show_archived": "包括已归档项目",
"map_settings_include_show_partners": "包含伙伴",
"map_settings_only_relative_range": "日期范围",
"map_settings_only_show_favorites": "仅显示收藏的项目",
"map_settings_theme_settings": "地图主题",
"map_zoom_to_see_photos": "缩小以查看项目",
"memories_all_caught_up": "已全部看完",
"memories_check_back_tomorrow": "明天再看",
"memories_start_over": "再看一次",
"memories_swipe_to_close": "上划关闭",
"memories_year_ago": "1年前",
"memories_years_ago": "{}年前",
"monthly_title_text_date_format": "MMMM y",
"motion_photos_page_title": "动图",
"multiselect_grid_edit_date_time_err_read_only": "无法编辑只读项目的日期,跳过",
"multiselect_grid_edit_gps_err_read_only": "无法编辑只读项目的位置信息,跳过",
"my_albums": "我的相册",
"networking_settings": "网络",
"networking_subtitle": "管理服务接口设置",
"no_assets_to_show": "无项目展示",
"no_name": "无姓名",
"notification_permission_dialog_cancel": "取消",
"notification_permission_dialog_content": "要启用通知,请转到“设置”,并选择“允许”。",
"notification_permission_dialog_settings": "设置",
"notification_permission_list_tile_content": "授予通知权限。",
"notification_permission_list_tile_enable_button": "启用通知",
"notification_permission_list_tile_title": "通知权限",
"not_selected": "未选择",
"on_this_device": "在此设备",
"partner_list_user_photos": "{user}的照片",
"partner_list_view_all": "展示全部",
"partner_page_add_partner": "添加同伴失败",
"partner_page_empty_message": "您的照片尚未与任何同伴共享。",
"partner_page_no_more_users": "无需添加更多用户",
"partner_page_partner_add_failed": "添加同伴失败",
"partner_page_select_partner": "选择同伴",
"partner_page_shared_to_title": "共享给",
"partner_page_stop_sharing_content": "{} 将无法再访问您的照片。",
"partner_page_stop_sharing_title": "您确定要停止共享您的照片吗?",
"partner_page_title": "同伴",
"partners": "伙伴",
"paused": "已暂停",
"people": "人物",
"permission_onboarding_back": "返回",
"permission_onboarding_continue_anyway": "仍然继续",
"permission_onboarding_get_started": "开始使用",
"permission_onboarding_go_to_settings": "转到设置",
"permission_onboarding_grant_permission": "授予权限",
"permission_onboarding_log_out": "退出登录",
"permission_onboarding_permission_denied": "权限被拒:要使用 Immich请在“设置”中授予照片和视频权限。",
"permission_onboarding_permission_granted": "已授权!一切就绪。",
"permission_onboarding_permission_limited": "权限受限:要让 Immich 备份和管理您的整个图库收藏,请在“设置”中授予照片和视频权限。",
"permission_onboarding_request": "Immich 需要权限才能查看您的照片和视频。",
"places": "地点",
"preferences_settings_subtitle": "管理应用的偏好设置",
"preferences_settings_title": "偏好设置",
"profile_drawer_app_logs": "日志",
"profile_drawer_client_out_of_date_major": "客户端有大版本升级,请尽快升级至最新版。",
"profile_drawer_client_out_of_date_minor": "客户端有小版本升级,请尽快升级至最新版。",
"profile_drawer_client_server_up_to_date": "客户端和服务端都是最新的",
"profile_drawer_documentation": "文档",
"profile_drawer_github": "GitHub",
"profile_drawer_server_out_of_date_major": "服务端有大版本升级,请尽快升级至最新版。",
"profile_drawer_server_out_of_date_minor": "服务端有小版本升级,请尽快升级至最新版。",
"profile_drawer_settings": "设置",
"profile_drawer_sign_out": "退出登录",
"profile_drawer_trash": "回收站",
"recently_added": "近期添加",
"recently_added_page_title": "最近添加",
"save": "保存",
"save_to_gallery": "保存到图库",
"scaffold_body_error_occurred": "发生错误",
"search_albums": "搜索相册",
"search_bar_hint": "搜索照片",
"search_filter_apply": "应用筛选",
"search_filter_camera": "相机",
"search_filter_camera_make": "制造商",
"search_filter_camera_model": "型号",
"search_filter_camera_title": "选择相机类型",
"search_filter_contextual": "通过上下文搜索",
"search_filter_date": "日期",
"search_filter_date_interval": "从{start}到{end}",
"search_filter_date_title": "选择日期范围",
"search_filter_description": "通过描述搜索",
"search_filter_display_option_archive": "归档",
"search_filter_display_option_favorite": "收藏",
"search_filter_display_option_not_in_album": "不在相册中",
"search_filter_display_options": "显示选项",
"search_filter_display_options_title": "显示选项",
"search_filter_filename": "通过文件名搜索",
"search_filter_location": "位置",
"search_filter_location_city": "城市",
"search_filter_location_country": "国家",
"search_filter_location_state": "省",
"search_filter_location_title": "选择位置",
"search_filter_media_type": "媒体类型",
"search_filter_media_type_all": "所有",
"search_filter_media_type_image": "照片",
"search_filter_media_type_title": "选择媒体类型",
"search_filter_media_type_video": "视频",
"search_filter_people": "人物",
"search_filter_people_hint": "筛选人物",
"search_filter_people_title": "选择人物",
"search_no_more_result": "无更多结果",
"search_no_result": "未找到结果,请尝试不同的搜索词或搜索组合",
"search_page_categories": "类别",
"search_page_favorites": "收藏",
"search_page_motion_photos": "动图",
"search_page_no_objects": "没有事物信息",
"search_page_no_places": "地点信息不存在",
"search_page_people": "人物",
"search_page_person_add_name_dialog_cancel": "取消",
"search_page_person_add_name_dialog_hint": "姓名",
"search_page_person_add_name_dialog_save": "保存",
"search_page_person_add_name_dialog_title": "添加姓名",
"search_page_person_add_name_subtitle": "通过姓名快速查找",
"search_page_person_add_name_title": "添加姓名",
"search_page_person_edit_name": "编辑姓名",
"search_page_places": "地点",
"search_page_recently_added": "最近添加",
"search_page_screenshots": "屏幕截图",
"search_page_search_photos_videos": "搜索您的照片和视频",
"search_page_selfies": "自拍",
"search_page_things": "事物",
"search_page_videos": "视频",
"search_page_view_all_button": "查看全部",
"search_page_your_activity": "您的活动",
"search_page_your_map": "足迹",
"search_result_page_new_search_hint": "搜索新的",
"search_suggestion_list_smart_search_hint_1": "默认情况下启用智能搜索,要搜索元数据,请使用相关语法",
"search_suggestion_list_smart_search_hint_2": "m:您的搜索关键词",
"select_additional_user_for_sharing_page_suggestions": "建议",
"select_user_for_sharing_page_err_album": "创建相册失败",
"select_user_for_sharing_page_share_suggestions": "建议",
"server_endpoint": "服务接口",
"server_info_box_app_version": "App 版本",
"server_info_box_latest_release": "最新版本",
"server_info_box_server_url": "服务器地址",
"server_info_box_server_version": "服务端版本",
"setting_image_viewer_help": "详细信息查看器首先加载小缩略图,然后加载中等大小的预览图(若启用),最后加载原始图像。",
"setting_image_viewer_original_subtitle": "启用以加载原图,禁用以减少数据使用量(网络和设备缓存)。",
"setting_image_viewer_original_title": "加载原图",
"setting_image_viewer_preview_subtitle": "启用以加载中等质量的图像,禁用以加载原图或缩略图。",
"setting_image_viewer_preview_title": "加载预览图",
"setting_image_viewer_title": "图片",
"setting_languages_apply": "应用",
"setting_languages_subtitle": "更改应用语言",
"setting_languages_title": "语言",
"setting_notifications_notify_failures_grace_period": "后台备份失败通知:{}",
"setting_notifications_notify_hours": "{} 小时",
"setting_notifications_notify_immediately": "立即",
"setting_notifications_notify_minutes": "{} 分钟",
"setting_notifications_notify_never": "从不",
"setting_notifications_notify_seconds": "{} 秒",
"setting_notifications_single_progress_subtitle": "每项的详细上传进度信息",
"setting_notifications_single_progress_title": "显示后台备份详细进度",
"setting_notifications_subtitle": "调整通知首选项",
"setting_notifications_title": "通知",
"setting_notifications_total_progress_subtitle": "总体上传进度(已完成/总计)",
"setting_notifications_total_progress_title": "显示后台备份总进度",
"setting_pages_app_bar_settings": "设置",
"settings_require_restart": "请重启 Immich 以使设置生效",
"setting_video_viewer_looping_subtitle": "对播放窗口中的视频开启循环播放。",
"setting_video_viewer_looping_title": "循环播放",
"setting_video_viewer_original_video_subtitle": "从服务器流式传输视频时,即使有转码,也播放原始视频。可能会导致缓冲。本地视频则以原始质量播放,与此设置无关。",
"setting_video_viewer_original_video_title": "强制播放原始视频",
"setting_video_viewer_title": "视频",
"share_add": "添加",
"share_add_photos": "添加项目",
"share_add_title": "添加标题",
"share_assets_selected": "{} 已选择",
"share_create_album": "创建相册",
"shared_album_activities_input_disable": "评论已禁用",
"shared_album_activities_input_hint": "点评一下",
"shared_album_activity_remove_content": "您确定要删除此活动吗?",
"shared_album_activity_remove_title": "删除活动",
"shared_album_activity_setting_subtitle": "允许他人回复",
"shared_album_activity_setting_title": "评论与点赞",
"shared_album_section_people_action_error": "退出/删除相册失败",
"shared_album_section_people_action_leave": "从相册中删除用户",
"shared_album_section_people_action_remove_user": "从相册中删除用户",
"shared_album_section_people_owner_label": "所有者",
"shared_album_section_people_title": "人物",
"share_dialog_preparing": "正在准备...",
"shared_intent_upload_button_progress_text": "{} / {} 已上传",
"shared_link_app_bar_title": "共享链接",
"shared_link_clipboard_copied_massage": "复制到剪贴板",
"shared_link_clipboard_text": "链接:{}\n密码{}",
"shared_link_create_app_bar_title": "创建共享链接",
"shared_link_create_error": "创建共享链接出错",
"shared_link_create_info": "任何获得链接的人都可看到照片",
"shared_link_create_submit_button": "创建链接",
"shared_link_edit_allow_download": "允许游客下载",
"shared_link_edit_allow_upload": "允许游客上传",
"shared_link_edit_app_bar_title": "编辑链接",
"shared_link_edit_change_expiry": "修改过期时间",
"shared_link_edit_description": "描述",
"shared_link_edit_description_hint": "编辑共享描述",
"shared_link_edit_expire_after": "有效期",
"shared_link_edit_expire_after_option_day": "1天",
"shared_link_edit_expire_after_option_days": "{}天",
"shared_link_edit_expire_after_option_hour": "1小时",
"shared_link_edit_expire_after_option_hours": "{}小时",
"shared_link_edit_expire_after_option_minute": "1分钟",
"shared_link_edit_expire_after_option_minutes": "{}分钟",
"shared_link_edit_expire_after_option_months": "{} 个月",
"shared_link_edit_expire_after_option_never": "一万年",
"shared_link_edit_expire_after_option_year": "{} 年",
"shared_link_edit_password": "密码",
"shared_link_edit_password_hint": "输入共享密码",
"shared_link_edit_show_meta": "显示元数据",
"shared_link_edit_submit_button": "更新链接",
"shared_link_empty": "您还没有创建共享链接",
"shared_link_error_server_url_fetch": "无法获取服务器地址",
"shared_link_expired": "已过期",
"shared_link_expires_day": "{}天后过期",
"shared_link_expires_days": "{}天后过期",
"shared_link_expires_hour": "{}小时后过期",
"shared_link_expires_hours": "{}小时后过期",
"shared_link_expires_minute": "{}分钟后过期",
"shared_link_expires_minutes": "将在{}分钟后过期",
"shared_link_expires_never": "过期时间 ∞",
"shared_link_expires_second": "{}秒后过期",
"shared_link_expires_seconds": "将在{}秒后过期",
"shared_link_individual_shared": "个人共享",
"shared_link_info_chip_download": "下载",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_info_chip_upload": "更新",
"shared_link_manage_links": "管理共享链接",
"shared_link_public_album": "公共相册",
"shared_links": "共享链接",
"share_done": "完成",
"shared_with_me": "共享给我",
"share_invite": "邀请到共享相册",
"sharing_page_album": "共享相册",
"sharing_page_description": "创建共享相册以与网络中的人共享照片和视频。",
"sharing_page_empty_list": "空",
"sharing_silver_appbar_create_shared_album": "创建共享相册",
"sharing_silver_appbar_shared_links": "共享链接",
"sharing_silver_appbar_share_partner": "共享给同伴",
"start_date": "开始日期",
"sync": "同步",
"sync_albums": "同步相册",
"sync_albums_manual_subtitle": "将所有上传的视频和照片同步到选定的备份相册",
"sync_upload_album_setting_subtitle": "创建照片和视频并上传到 Immich 上的选定相册中",
"tab_controller_nav_library": "图库",
"tab_controller_nav_photos": "照片",
"tab_controller_nav_search": "搜索",
"tab_controller_nav_sharing": "共享",
"theme_setting_asset_list_storage_indicator_title": "在项目标题上显示存储占用",
"theme_setting_asset_list_tiles_per_row_title": "每行展示 {} 项",
"theme_setting_colorful_interface_subtitle": "应用主色调到背景",
"theme_setting_colorful_interface_title": "彩色界面",
"theme_setting_dark_mode_switch": "深色模式",
"theme_setting_image_viewer_quality_subtitle": "调整查看大图时的图像质量",
"theme_setting_image_viewer_quality_title": "图像质量",
"theme_setting_primary_color_subtitle": "选择颜色作为主色调",
"theme_setting_primary_color_title": "主色调",
"theme_setting_system_primary_color_title": "使用系统颜色",
"theme_setting_system_theme_switch": "自动(跟随系统设置)",
"theme_setting_theme_subtitle": "选择应用主题",
"theme_setting_theme_title": "主题",
"theme_setting_three_stage_loading_subtitle": "三段式加载可能会提升加载性能,但可能会导致更高的网络负载",
"theme_setting_three_stage_loading_title": "启用三段式加载",
"translated_text_options": "选项",
"trash": "回收站",
"trash_emptied": "空回收站",
"trash_page_delete": "删除",
"trash_page_delete_all": "删除全部",
"trash_page_empty_trash_btn": "清空回收站",
"trash_page_empty_trash_dialog_content": "是否清空回收站这些项目将被从Immich中永久删除",
"trash_page_empty_trash_dialog_ok": "确定",
"trash_page_info": "回收站中项目将在{}天后永久删除",
"trash_page_no_assets": "暂无已删除项目",
"trash_page_restore": "恢复",
"trash_page_restore_all": "恢复全部",
"trash_page_select_assets_btn": "选择项目",
"trash_page_select_btn": "选择",
"trash_page_title": "回收站 ({})",
"upload": "上传",
"upload_dialog_cancel": "取消",
"upload_dialog_info": "是否要将所选项目备份到服务器?",
"upload_dialog_ok": "上传",
"upload_dialog_title": "上传项目",
"uploading": "正在上传",
"upload_to_immich": "上传至Immich ({})",
"use_current_connection": "使用当前连接",
"validate_endpoint_error": "请输入有效的URL",
"version_announcement_overlay_ack": "我知道了",
"version_announcement_overlay_release_notes": "发行说明",
"version_announcement_overlay_text_1": "号外号外,有新版本的",
"version_announcement_overlay_text_2": "请花点时间访问",
"version_announcement_overlay_text_3": "并检查您的 docker-compose 和 .env 是否为最新且正确的配置,特别是您在使用 WatchTower 或者其他自动更新的程序时,您需要更加细致的检查。",
"version_announcement_overlay_title": "服务端有新版本啦 \uD83C\uDF89",
"videos": "视频",
"viewer_remove_from_stack": "从堆叠中移除",
"viewer_stack_use_as_main_asset": "作为主项目使用",
"viewer_unstack": "取消堆叠",
"wifi_name": "Wi-Fi 名称",
"your_wifi_name": "您的 Wi-Fi 名称"
}

24
mobile/build.yaml Normal file
View File

@@ -0,0 +1,24 @@
targets:
$default:
builders:
#drift @DriftDatabase()
drift_dev:
# Disable default builder to use modular builder instead
enabled: false
drift_dev:analyzer:
enabled: true
options: &drift_options
store_date_time_values_as_text: true
named_parameters: true
write_from_json_string_constructor: false
data_class_to_companions: false
# Required for make-migrations
databases:
main: lib/infrastructure/repositories/db.repository.dart
generate_for: &drift_generate_for
- lib/infrastructure/entities/*.dart
- lib/infrastructure/repositories/db.repository.dart
drift_dev:modular:
enabled: true
options: *drift_options
generate_for: *drift_generate_for

View File

@@ -0,0 +1 @@
{"_meta":{"description":"This file contains a serialized version of schema entities for drift.","version":"1.2.0"},"options":{"store_date_time_values_as_text":true},"entities":[{"id":0,"references":[],"type":"table","data":{"name":"user_entity","was_declared_in_moor":false,"columns":[{"name":"id","getter_name":"id","moor_type":"blob","nullable":false,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[]},{"name":"name","getter_name":"name","moor_type":"string","nullable":false,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[]},{"name":"is_admin","getter_name":"isAdmin","moor_type":"bool","nullable":false,"customConstraints":null,"defaultConstraints":"CHECK (\"is_admin\" IN (0, 1))","dialectAwareDefaultConstraints":{"sqlite":"CHECK (\"is_admin\" IN (0, 1))"},"default_dart":"const CustomExpression('0')","default_client_dart":null,"dsl_features":[]},{"name":"email","getter_name":"email","moor_type":"string","nullable":false,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[]},{"name":"profile_image_path","getter_name":"profileImagePath","moor_type":"string","nullable":true,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[]},{"name":"updated_at","getter_name":"updatedAt","moor_type":"dateTime","nullable":false,"customConstraints":null,"default_dart":"const CustomExpression('CURRENT_TIMESTAMP')","default_client_dart":null,"dsl_features":[]},{"name":"quota_size_in_bytes","getter_name":"quotaSizeInBytes","moor_type":"int","nullable":true,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[]},{"name":"quota_usage_in_bytes","getter_name":"quotaUsageInBytes","moor_type":"int","nullable":false,"customConstraints":null,"default_dart":"const CustomExpression('0')","default_client_dart":null,"dsl_features":[]}],"is_virtual":false,"without_rowid":true,"constraints":[],"strict":true,"explicit_pk":["id"]}},{"id":1,"references":[0],"type":"table","data":{"name":"user_metadata_entity","was_declared_in_moor":false,"columns":[{"name":"user_id","getter_name":"userId","moor_type":"blob","nullable":false,"customConstraints":null,"defaultConstraints":"REFERENCES user_entity (id) ON DELETE CASCADE","dialectAwareDefaultConstraints":{"sqlite":"REFERENCES user_entity (id) ON DELETE CASCADE"},"default_dart":null,"default_client_dart":null,"dsl_features":["unknown"]},{"name":"preferences","getter_name":"preferences","moor_type":"string","nullable":false,"customConstraints":null,"default_dart":null,"default_client_dart":null,"dsl_features":[],"type_converter":{"dart_expr":"userPreferenceConverter","dart_type_name":"UserPreferences"}}],"is_virtual":false,"without_rowid":true,"constraints":[],"strict":true,"explicit_pk":["user_id"]}},{"id":2,"references":[0],"type":"table","data":{"name":"partner_entity","was_declared_in_moor":false,"columns":[{"name":"shared_by_id","getter_name":"sharedById","moor_type":"blob","nullable":false,"customConstraints":null,"defaultConstraints":"REFERENCES user_entity (id) ON DELETE CASCADE","dialectAwareDefaultConstraints":{"sqlite":"REFERENCES user_entity (id) ON DELETE CASCADE"},"default_dart":null,"default_client_dart":null,"dsl_features":["unknown"]},{"name":"shared_with_id","getter_name":"sharedWithId","moor_type":"blob","nullable":false,"customConstraints":null,"defaultConstraints":"REFERENCES user_entity (id) ON DELETE CASCADE","dialectAwareDefaultConstraints":{"sqlite":"REFERENCES user_entity (id) ON DELETE CASCADE"},"default_dart":null,"default_client_dart":null,"dsl_features":["unknown"]},{"name":"in_timeline","getter_name":"inTimeline","moor_type":"bool","nullable":false,"customConstraints":null,"defaultConstraints":"CHECK (\"in_timeline\" IN (0, 1))","dialectAwareDefaultConstraints":{"sqlite":"CHECK (\"in_timeline\" IN (0, 1))"},"default_dart":"const CustomExpression('0')","default_client_dart":null,"dsl_features":[]}],"is_virtual":false,"without_rowid":true,"constraints":[],"strict":true,"explicit_pk":["shared_by_id","shared_with_id"]}}]}

View File

@@ -97,6 +97,25 @@ PODS:
- sqflite_darwin (0.0.4):
- Flutter
- FlutterMacOS
- sqlite3 (3.49.1):
- sqlite3/common (= 3.49.1)
- sqlite3/common (3.49.1)
- sqlite3/dbstatvtab (3.49.1):
- sqlite3/common
- sqlite3/fts5 (3.49.1):
- sqlite3/common
- sqlite3/perf-threadsafe (3.49.1):
- sqlite3/common
- sqlite3/rtree (3.49.1):
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- Flutter
- FlutterMacOS
- sqlite3 (~> 3.49.1)
- sqlite3/dbstatvtab
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
- SwiftyGif (5.4.5)
- url_launcher_ios (0.0.1):
- Flutter
@@ -130,6 +149,7 @@ DEPENDENCIES:
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
- sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
@@ -140,6 +160,7 @@ SPEC REPOS:
- MapLibre
- SAMKeychain
- SDWebImage
- sqlite3
- SwiftyGif
EXTERNAL SOURCES:
@@ -195,6 +216,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
sqflite_darwin:
:path: ".symlinks/plugins/sqflite_darwin/darwin"
sqlite3_flutter_libs:
:path: ".symlinks/plugins/sqlite3_flutter_libs/darwin"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
wakelock_plus:
@@ -232,6 +255,8 @@ SPEC CHECKSUMS:
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
sqlite3: fc1400008a9b3525f5914ed715a5d1af0b8f4983
sqlite3_flutter_libs: f8fc13346870e73fe35ebf6dbb997fbcd156b241
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
wakelock_plus: 04623e3f525556020ebd4034310f20fe7fda8b49

View File

@@ -541,7 +541,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
@@ -685,7 +685,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
@@ -715,7 +715,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
@@ -748,7 +748,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
@@ -791,7 +791,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
@@ -831,7 +831,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 200;
CURRENT_PROJECT_VERSION = 201;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_USER_SCRIPT_SANDBOXING = YES;

View File

@@ -78,7 +78,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.131.0</string>
<string>1.131.3</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@@ -93,7 +93,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>200</string>
<string>201</string>
<key>FLTEnableImpeller</key>
<true/>
<key>ITSAppUsesNonExemptEncryption</key>

View File

@@ -19,7 +19,7 @@ platform :ios do
desc "iOS Release"
lane :release do
increment_version_number(
version_number: "1.131.2"
version_number: "1.131.3"
)
increment_build_number(
build_number: latest_testflight_build_number + 1,

View File

@@ -4,3 +4,6 @@ const double downloadFailed = -2;
// Number of log entries to retain on app start
const int kLogTruncateLimit = 250;
const int kBatchHashFileLimit = 128;
const int kBatchHashSizeLimit = 1024 * 1024 * 1024; // 1GB

View File

@@ -6,9 +6,8 @@ const Map<String, Locale> locales = {
// Additional locales
'Arabic (ar_JO)': Locale('ar', 'JO'),
'Catalan (ca)': Locale('ca'),
'Chinese (zh_CN)': Locale('zh', 'CN'),
'Chinese Simplified (zh_Hans)': Locale('zh', 'Hans'),
'Chinese TW (zh_TW)': Locale('zh', 'TW'),
'Chinese Simplified (zh_CN)': Locale('zh', 'CN'),
'Chinese Traditional (zh_TW)': Locale('zh', 'TW'),
'Czech (cs_CZ)': Locale('cs', 'CZ'),
'Danish (da_DK)': Locale('da', 'DK'),
'Dutch (nl_NL)': Locale('nl', 'NL'),

View File

@@ -0,0 +1,12 @@
import 'dart:async';
import 'package:immich_mobile/domain/interfaces/db.interface.dart';
import 'package:immich_mobile/domain/models/device_asset.model.dart';
abstract interface class IDeviceAssetRepository implements IDatabaseRepository {
Future<bool> updateAll(List<DeviceAsset> assetHash);
Future<List<DeviceAsset>> getByIds(List<String> localIds);
Future<void> deleteIds(List<String> ids);
}

View File

@@ -0,0 +1,44 @@
import 'dart:typed_data';
class DeviceAsset {
final String assetId;
final Uint8List hash;
final DateTime modifiedTime;
const DeviceAsset({
required this.assetId,
required this.hash,
required this.modifiedTime,
});
@override
bool operator ==(covariant DeviceAsset other) {
if (identical(this, other)) return true;
return other.assetId == assetId &&
other.hash == hash &&
other.modifiedTime == modifiedTime;
}
@override
int get hashCode {
return assetId.hashCode ^ hash.hashCode ^ modifiedTime.hashCode;
}
@override
String toString() {
return 'DeviceAsset(assetId: $assetId, hash: $hash, modifiedTime: $modifiedTime)';
}
DeviceAsset copyWith({
String? assetId,
Uint8List? hash,
DateTime? modifiedTime,
}) {
return DeviceAsset(
assetId: assetId ?? this.assetId,
hash: hash ?? this.hash,
modifiedTime: modifiedTime ?? this.modifiedTime,
);
}
}

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