Compare commits

..

6 Commits

Author SHA1 Message Date
Hosted Weblate a495a96338 chore(web): update translations
Co-authored-by: Aiixi Bear <bearshen1019@outlook.com>
Co-authored-by: Alaksandr Łopart <laporte0723@gmail.com>
Co-authored-by: Alexis Rossfelder <rossfelderalexis@gmail.com>
Co-authored-by: AntonPalmqvist <apq@users.noreply.hosted.weblate.org>
Co-authored-by: Ardev Prisec <prisecardev@gmail.com>
Co-authored-by: Branko Kokanovic <branko@kokanovic.org>
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gyutaek Kang <gtkang2000@naver.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 157208 <benjamin3.hanke@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jesus Barba <jesusbarba11@gmail.com>
Co-authored-by: Jesús Barba <jesusbarba11@gmail.com>
Co-authored-by: Jins K Joy <mailjinskjoy@gmail.com>
Co-authored-by: Jonas Franke <90050350+JonasFranke@users.noreply.github.com>
Co-authored-by: Jordy H <jordy@hoebergen.net>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Ketan Avhad <ketaavha@gmail.com>
Co-authored-by: Klenner Martins Barros <klenne.al@gmail.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: Marc Portabella Navarro <portabella.marc@gmail.com>
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matteo De Carli <matteo.de.carli01@gmail.com>
Co-authored-by: Mees Frensel <meesfrensel@gmail.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Nico Sendan <nico@sendan.com>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Simone Ognibene <ognibene2001@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: Tiago <tiagojoaquimsamsung@gmail.com>
Co-authored-by: Tijs-B <tijs.bergmans@telenet.be>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Tom Golden <tmgldn@users.noreply.hosted.weblate.org>
Co-authored-by: Tomislav Renić <trenic@gmail.com>
Co-authored-by: Tushar Harsora <tusharharsora95@gmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Yusuf Arda <yusufarda7813@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bonjur <ivanpercsity08@gmail.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de>
Co-authored-by: pluwen chen <pluwen@gmail.com>
Co-authored-by: puv <dev@puv.pm>
Co-authored-by: vatahome <vataszilamer@pm.me>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_GB/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/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/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_Hans/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich
2026-07-06 21:27:26 +02:00
Matthew Momjian 6f45521610 fix(docs): clarify version policy (#29654)
* version policy

* Update docs/docs/install/upgrading.md

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

---------

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

* openapi

* dynamic level

* unnecessary width/height fields

* add web config

* allow 1440p and 2160p

* more helpful descriptions

* simplify level picker

* formatting

* integer instead of number
2026-07-06 14:57:48 -04:00
Daniel Dietzler a6f0253544 chore: improve added to album messages (#29641) 2026-07-06 17:21:49 +02:00
Jins K Joy 32352fa375 feat(docs): add Malayalam language support in README files (#29593) 2026-07-06 17:15:00 +02:00
Tom B 6aa5651032 fix(docs): use correct heading name for DB dump (#29483)
match docs to actual UI copy
2026-07-06 10:13:22 -05:00
82 changed files with 2183 additions and 310 deletions
+1
View File
@@ -37,6 +37,7 @@
<a href="readme_i18n/README_ar_JO.md">العربية</a>
<a href="readme_i18n/README_vi_VN.md">Tiếng Việt</a>
<a href="readme_i18n/README_th_TH.md">ภาษาไทย</a>
<a href="readme_i18n/README_ml_IN.md">മലയാളം</a>
</p>
@@ -31,7 +31,7 @@ You can trigger a database backup manually:
1. Go to **Administration > Job Queues**
2. Click **Create job** in the top right
3. Select **Create Database Backup** and click **Confirm**
3. Select **Create Database Dump** and click **Confirm**
The backup will appear in `UPLOAD_LOCATION/backups` and counts toward your retention limit.
+8 -4
View File
@@ -28,11 +28,15 @@ docker image prune
## Versioning Policy
Immich follows [semantic versioning][semver], which tags releases in the format `<major>.<minor>.<patch>`. We intend for breaking changes to be limited to major version releases.
You can configure your Docker image to point to the current major version by using a metatag, such as `:v3`.
Immich follows [semantic versioning][semver], which tags releases in the format `<major>.<minor>.<patch>`.
We intend for breaking changes, including those to the API or deployment, to be limited to major version releases.
You can configure your Docker image to point to the current major version by using a metatag, such as `:v3`. These metatags do not follow release candidates.
Currently, we have no plans to backport patches to earlier versions. We encourage all users to run the most recent release of Immich.
Switching back to an earlier version, even within the same minor release tag, is not supported.
The mobile app is typically compatible with the current and prior major version. However, the server is only compatible with the matching major version.
Thus, we recommend upgrading all mobile clients before upgrading the server to ensure compatibility.
We do not backport patches to earlier versions. We encourage all users to run the most recent stable release of Immich.
Downgrading to an earlier version, even within the same minor version, is not supported.
[semver]: https://semver.org/
+38 -14
View File
@@ -53,11 +53,11 @@
"backup_onboarding_1_description": "зняшняя копія ў воблаку або ў іншым фізічным месцы.",
"backup_onboarding_2_description": "лакальныя копіі на іншых прыладах. Гэта ўключае ў сябе асноўныя файлы і лакальную рэзервовую копію гэтых файлаў.",
"backup_onboarding_3_description": "поўная колькасць копій вашых данных, у тым ліку зыходных файлаў. Гэта ўключае 1 пазаштатную копію і 2 лакальныя копіі.",
"backup_onboarding_description": "<backblaze-link>Стратэгія рэзервовых копій 3-2-1</backblaze-link> рэкамендуецца для аховы вашых даных. Захоўвайце копіі загружаных фота/відэа, а таксама базу даных Immich для поўнага рэзервовага капіявання.",
"backup_onboarding_description": "<backblaze-link>Стратэгія рэзервовых копій 3-2-1</backblaze-link> рэкамендуецца для аховы вашых даных. Захоўвайце копіі запампаваных фота/відэа, а таксама базу даных Immich для поўнага рэзервовага капіравання.",
"backup_onboarding_footer": "Каб атрымаць дадатковую інфармацыю пра рэзервовае капіраванне Immich, звярніцеся да <link>дакументацыі</link>.",
"backup_onboarding_parts_title": "Рэзервовая копія «3-2-1» уключае ў сябе:",
"backup_onboarding_title": "Рэзервовыя копіі",
"backup_settings": "Налады рэзервовага капіявання",
"backup_settings": "Налады рэзервовага капіравання",
"backup_settings_description": "Кіраванне наладамі рэзервавання базы даных.",
"cleared_jobs": "Ачышчаны заданні для: {job}",
"config_set_by_file": "Канфігурацыя зараз усталявана праз файл канфігурацыі",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Якасць мініяцюр ад 1 да 100. Чым вышэй, тым лепш, але файлы становяцца большымі, што можа знізіць хуткасць працы праграмы.",
"image_thumbnail_title": "Налады мініяцюр",
"import_config_from_json_description": "Імпартаваць канфігурацыю сістэмы праз запампоўванне JSON файла настроек",
"integrity_checks_checksum_files": "Файлы кантрольных сум",
"integrity_checks_checksum_files_description": "Наладжванне праверкі кантрольнай сумы",
"integrity_checks_checksum_files_enable_description": "Уключыць праверку кантрольнай сумы",
"integrity_checks_checksum_files_percentage_limit": "Працэнтны ліміт",
"integrity_checks_checksum_files_percentage_limit_description": "Наладзьце максімальны працэнт ад 0,01 да 1, які вызначае, колькі разоў трэба правяраць кантрольную суму кожны інтэрвал.",
"integrity_checks_checksum_files_time_limit": "Абмежаванне па часе",
"integrity_checks_checksum_files_time_limit_description": "Наладжванне максімальнай працягласці, на працягу якой праверка кантрольнай сумы павінна выконвацца кожны інтэрвал. (мс)",
"integrity_checks_missing_files": "Адсутныя файлы",
"integrity_checks_missing_files_description": "Наладжванне частаты і ўключэнне або выключэнне праверкі адсутных файлаў",
"integrity_checks_missing_files_enable_description": "Уключэнне праверкі адсутных файлаў",
"integrity_checks_settings": "Праверкі цэласнасці",
"integrity_checks_settings_description": "Кіраванне інтэрваламі праверак цэласнасці",
"integrity_checks_untracked_files": "Неадсочваныя файлы",
"integrity_checks_untracked_files_description": "Наладжванне частаты і ўключэння або адключэння праверак неадсочваных файлаў",
"integrity_checks_untracked_files_enable_description": "Уключыць праверку неадсочваных файлаў",
"job_concurrency": "Колькасць паралельных патокаў задання {job}",
"job_created": "Заданне створана",
"job_not_concurrency_safe": "Гэта заданне небяспечнае для паралельнага выканання.",
@@ -183,6 +198,7 @@
"machine_learning_smart_search_enabled": "Уключыць разумны пошук",
"machine_learning_smart_search_enabled_description": "Калі адключана, відарысы не будуць кадзіравацца для разумнага пошуку.",
"machine_learning_url_description": "URL-адрас сервера машыннага навучання. Калі пазначана больш за адзін URL-адрас, спробы падключэння да кожнага сервера будуць выконвацца па чарзе, пакуль адзін з іх не адкажа паспяхова, па парадку ад першага да апошняга. Серверы, якія не адказваюць, будуць часова ігнаравацца, пакуль яны не вернуцца ў сетку.",
"maintenance_backup_management": "Кіраванне рэзервовым капіраваннем",
"maintenance_delete_backup": "Выдаліць рэзервовую копію",
"maintenance_delete_backup_description": "Гэты файл будзе беззваротна выдалены.",
"maintenance_delete_error": "Не атрымалася выдаліць рэзервовую копію.",
@@ -196,9 +212,14 @@
"maintenance_integrity_missing_file_description": "Файлы, якія ёсць у базе даных Immich, але не існуюць у файлавай сістэме.",
"maintenance_integrity_missing_file_job": "Праверка наяўнасці адсутных файлаў",
"maintenance_integrity_missing_file_refresh_job": "Абнавіць справаздачы аб адсутных файлах",
"maintenance_integrity_report": "Справаздача аб цэласнасці",
"maintenance_integrity_untracked_file": "Неадсочваныя файлы",
"maintenance_integrity_untracked_file_description": "Файлы ў каталогах Immich, пра якія ў Immich няма ніякіх запісаў.",
"maintenance_integrity_untracked_file_job": "Праверыць наяўнасць неадсочваных файлаў",
"maintenance_integrity_untracked_file_refresh_job": "Абнавіць справаздачы аб неадсочваных файлах",
"maintenance_restore_backup": "Аднавіць рэзервовую копію",
"maintenance_restore_backup_description": "Immich будзе сцёрты і адноўлены з абранай рэзервовай копіі. Перад працягам будзе створана рэзервовая копія.",
"maintenance_restore_backup_different_version": "Гэтая рэзервовая копія была створана з для іншай версіі Immich!",
"maintenance_restore_backup_different_version": "Гэтая рэзервовая копія была створана з іншай версіі Immich!",
"maintenance_restore_backup_unknown_version": "Не атрымалася вызначыць рэзервовую версію.",
"maintenance_restore_database_backup": "Аднавіць рэзервовую копію базы даных",
"maintenance_restore_database_backup_description": "Адкат да папярэдняга стану базы даных з выкарыстаннем файла рэзервовай копіі",
@@ -250,7 +271,7 @@
"nightly_tasks_sync_quota_usage_setting_description": "Абнаўляць квоту сховішча карыстальніка на аснове бягучага выкарыстання",
"no_paths_added": "Не дададзена аніводнага шляху",
"no_pattern_added": "Не дададзена аніводнага патэрну",
"note_apply_storage_label_previous_assets": "Заўвага: Каб ужыць Маркіроўку сховішча да раней загружаных аб'ектаў, запусціце",
"note_apply_storage_label_previous_assets": "Заўвага: Каб ужыць Маркіроўку сховішча да раней запампаваных аб'ектаў, запусціце",
"note_cannot_be_changed_later": "УВАГА: Гэта нельга будзе змяніць пазней!",
"notification_email_from_address": "З адрасоў",
"notification_email_from_address_description": "Электронны адрас адпраўніка, для прыкладу: \"Immich Photo Server <noreply@example.com>\". Пераканайцеся, што выкарыстоўваееца адрас, якому дазволена адпраўляць электронныя лісты.",
@@ -310,6 +331,8 @@
"refreshing_all_libraries": "Абнаўленне ўсіх бібліятэк",
"registration": "Рэгістрацыя адміністратара",
"registration_description": "Вы з'яўляецеся першым карыстальнікам сістэмы, таму вы будзеце прызначаны адміністратарам. Вы будзеце адказваць за адміністрацыйныя задачы, а таксама ствараць новых карыстальнікаў.",
"release_channel_release_candidate": "Кандыдат на рэліз",
"release_channel_stable": "Стабільны",
"remove_failed_jobs": "Выдаліць няўдалыя заданні",
"require_password_change_on_login": "Патрабаваць змяніць пароль пры першым уваходзе ў сістэму",
"reset_settings_to_default": "Скінуць налады да прадвызначаных",
@@ -320,7 +343,7 @@
"server_external_domain_settings": "Знешні дамен",
"server_external_domain_settings_description": "Дамен, які выкарыстоўваецца для знешніх спасылак",
"server_public_users": "Публічныя карыстальнікі",
"server_public_users_description": "Усе карыстальнікі (імя і электронная пошта) паказваюцца пры даданні карыстальніка ў агульныя альбомы. Калі адключана, спіс карыстальнікаў будзе даступны толькі адміністратарам.",
"server_public_users_description": "Усе карыстальнікі (імя і электронная пошта) паказваюцца пры дадаванні карыстальніка ў агульныя альбомы. Калі адключана, спіс карыстальнікаў будзе даступны толькі адміністратарам.",
"server_settings": "Налады сервера",
"server_settings_description": "Кіраванне наладамі сервера",
"server_stats_page_description": "Старонка статыстыкі сервера для адміністратара",
@@ -404,6 +427,7 @@
"transcoding_preferred_hardware_device_description": "Прымяняецца толькі да VAAPI і QSV. Задае dri-вузел для апаратнага транскадавання.",
"transcoding_preset_preset": "Прэсет (-preset)",
"transcoding_preset_preset_description": "Хуткасць сціскання. Больш павольныя прэсеты даюць меншыя файлы і павышаюць якасць пры мэтавым бітрэйце. VP9 ігнаруе хуткасці вышэйшыя за «faster».",
"transcoding_realtime": "Перакадаванне ў рэжыме рэальнага часу [EXPERIMENTAL]]",
"transcoding_reference_frames": "Апорныя кадры",
"transcoding_reference_frames_description": "Колькасць кадраў, якія выкарыстоўваюцца як эталон пры сцісканні дадзенага кадра. Большыя значэнні паляпшаюць эфектыўнасць сціскання, але запавольваюць кадаванне. 0 выстаўляе значэнне аўтаматычна.",
"transcoding_required_description": "Толькі відэа ў недапушчальным фармаце",
@@ -755,7 +779,7 @@
"create_new": "СТВАРЫЦЬ",
"create_new_person": "Стварыць новую асобу",
"create_new_person_hint": "Прызначыць выбраныя аб’екты новай асобе",
"create_new_user": "Стварыць новага карыстальніка",
"create_new_user": "Стварэнне новага карыстальніка",
"create_person": "Стварыць асобу",
"create_person_subtitle": "Дадайце імя да выбранага твару, каб стварыць і пазначыць новую асобу",
"create_shared_album_page_share_add_assets": "ДАДАЦЬ АБ’ЕКТЫ",
@@ -766,7 +790,7 @@
"create_user": "Стварыць карыстальніка",
"create_workflow": "Стварыць працоўны працэс",
"created": "Створаны",
"created_at": "Створана",
"created_at": "Створаны",
"creating_linked_albums": "Стварэнне звязаных альбомаў…",
"crop": "Абрэзка",
"crop_aspect_ratio_free": "Свабодная",
@@ -1402,7 +1426,7 @@
"model": "Мадэль",
"modify_date": "Дата змянення",
"month": "Месяц",
"more": "Болей",
"more": "Больш",
"motion": "Рух",
"move": "Перамясціць",
"move_off_locked_folder": "Перамясціць з заблакіраванай папкі",
@@ -1526,7 +1550,7 @@
"partner_can_access_location": "Месцазнаходжанне, дзе былі зробленыя вашы фота",
"partner_list_user_photos": "Фота карыстальніка {user}",
"partner_page_empty_message": "Вашы фота яшчэ не абагуленыя ні з адным партнёрам.",
"partner_page_no_more_users": "Больш няма карыстальнікаў для дадання",
"partner_page_no_more_users": "Больш няма карыстальнікаў для дадавання",
"partner_page_select_partner": "Выберыце партнёра",
"partner_page_stop_sharing_content": "{partner} больш не зможа мець доступ да вашых фота.",
"partner_sharing": "Абагульванне з партнёрам",
@@ -1789,7 +1813,7 @@
"search_people": "Пошук людзей",
"search_places": "Пошук месцаў",
"search_rating": "Пошук па ацэнцы...",
"search_settings": "Налады пошуку",
"search_settings": "Пошук у наладах",
"search_state": "Пошук рэгіёна...",
"search_tags": "Пошук тэгаў...",
"search_timezone": "Пошук часавага пояса...",
@@ -2059,9 +2083,9 @@
"trash_page_info": "Элементы ў сметніцы будуць канчаткова выдалены праз {days} дзён",
"trashed_items_will_be_permanently_deleted_after": "Элементы ў сметніцы будуць канчаткова выдалены праз {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}.",
"trigger": "Трыгер",
"trigger_asset_uploaded": "Аб’ект запампаваны",
"trigger_asset_uploaded": "Запампаваны аб’ект",
"trigger_asset_uploaded_description": "Спрацоўвае пры запампоўванні новага аб’екта",
"trigger_person_recognized": "Асоба распазнана",
"trigger_person_recognized": "Распазнана асоба",
"trigger_person_recognized_description": "Спрацоўвае пры выяўленні асобы",
"troubleshoot": "Пошук і выпраўленне непаладак",
"type": "Тып",
@@ -2098,7 +2122,7 @@
"untagged": "Без тэга",
"up_next": "Далей",
"update_location_action_prompt": "Абнавіць месцазнаходжанне выбраных аб’ектаў ({count}) на:",
"updated_at": "Абноўлена",
"updated_at": "Абноўлены",
"updated_password": "Пароль абноўлены",
"upload": "Запампаваць",
"upload_concurrency": "Паралельнасць запампоўвання",
@@ -2201,7 +2225,7 @@
"years_ago": "{years, plural, one {# год} few {# гады} many {# гадоў} other {# гадоў}} таму",
"yes": "Так",
"you_dont_have_any_shared_links": "У вас няма абагуленых спасылак",
"your_wifi_name": "Імя вайшай Wi-Fi сеткі",
"your_wifi_name": "Назва сеткі Wi-Fi",
"zero_to_clear_rating": "націсніце 0, каб скінуць ацэнку аб’екта",
"zoom_image": "Павялічыць відарыс"
}
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Качество на миниатюрата от 1 до 100. По-високата стойност е по-добра, но води до по-големи файлове и може да намали бързодействието на приложението.",
"image_thumbnail_title": "Настройки на миниатюрите",
"import_config_from_json_description": "Импорт на системна конфигурация чрез качване на JSON файл",
"integrity_checks_checksum_files": "Файлове с контролни суми",
"integrity_checks_checksum_files_description": "Настройка на проверката с контролна сума",
"integrity_checks_checksum_files_enable_description": "Активиране на проверката с контролна сума",
"integrity_checks_checksum_files_percentage_limit": "Процентно ограничение",
"integrity_checks_checksum_files_percentage_limit_description": "Конфигурирайте максималния процент между 0.01 и 1 за това колко често трябва да се изпълнява проверката на контролната сума през всеки интервал.",
"integrity_checks_checksum_files_time_limit": "Ограничение на времето",
"integrity_checks_checksum_files_time_limit_description": "Конфигурирайте максималната продължителност, за която трябва да се изпълнява проверка на контролната сума за всеки интервал. (ms)",
"integrity_checks_missing_files": "Липсващи файловe",
"integrity_checks_missing_files_description": "Конфигурирайте честотата и активирайте или деактивирайте проверката за липсващи файлове",
"integrity_checks_missing_files_enable_description": "Активиране на проверката за липсващи файлове",
"integrity_checks_settings": "Проверка за цялост",
"integrity_checks_settings_description": "Управлявайте интервалите за проверка на цялост",
"integrity_checks_untracked_files": "Непроследявани файлове",
"integrity_checks_untracked_files_description": "Конфигурирайте честотата и активирайте или деактивирайте проверката за непроследявани файлове",
"integrity_checks_untracked_files_enable_description": "Активиране на проверката за непроследявани файлове",
"job_concurrency": "Паралелност на {job}",
"job_created": "Задачата е създадена",
"job_not_concurrency_safe": "Тази задача не е безопасна за паралелно изпълнение.",
@@ -1461,6 +1476,7 @@
"never": "Никога",
"new_album": "Нов Албум",
"new_api_key": "Нов API ключ",
"new_feature": "Нова функция",
"new_password": "Нова парола",
"new_person": "Нов човек",
"new_pin_code": "Нов PIN код",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Конфигуратор за получаване",
"obtainium_configurator_instructions": "Използвайте Obtainium за инсталация и обновяване на приложението за Android директно от GitHub на Immich. Създайте API ключ и изберете вариант за да създадете Obtainium конфигурационен линк",
"ocr": "Оптично разпознаване на текст",
"ocr_body": "Сега Immich разчита текст в снимките, така че може да търсите по това, което пише.",
"ocr_title": "Търсене на текст в снимките",
"official_immich_resources": "Официална информация за Immich",
"offline": "Офлайн",
"offset": "Отместване",
@@ -1539,6 +1557,8 @@
"open": "Отвори",
"open_calendar": "Отвори календар",
"open_in_browser": "Отвори в браузър",
"open_in_immich_body": "Задайте Immich като галерия на Android, за да отваряте снимки директно от други приложения.",
"open_in_immich_title": "Отваряне на снимки в Immich",
"open_in_map_view": "Отвори изглед на карта",
"open_in_openstreetmap": "Отвори в OpenStreetMap",
"open_the_search_filters": "Отвари филтрите за търсене",
@@ -1697,7 +1717,10 @@
"recent": "Скорошни",
"recent_searches": "Скорошни търсения",
"recently_added": "Наскоро добавено",
"recently_added_body": "Преминете директно към специална страница, където е всичко, което сте добавили напоследък.",
"recently_added_description": "Разглеждане на файлове, подредени по реда на добавяне в Immich",
"recently_added_page_title": "Наскоро добавено",
"recently_added_title": "Добавени скоро",
"recently_taken": "Наскоро снимано",
"refresh": "Опресняване",
"refresh_encoded_videos": "Опресни кодирани видеоклипове",
@@ -1904,6 +1927,8 @@
"share_link": "Връзка за споделяне",
"share_original": "Използвай оригинала (голям размер)",
"share_preview": "Използвай миниатюра (намален размер)",
"share_quality_body": "Натиснете и задръжте бутона за споделяне, за да изберете качеството на изображението, преди да го споделите.",
"share_quality_title": "Изберете качеството при споделяне",
"shared": "Споделено",
"shared_album_activities_input_disable": "Коментарите са изключени",
"shared_album_activity_remove_content": "Искате ли да изтриете тази активност?",
@@ -1985,16 +2010,19 @@
"sign_out": "Отписване",
"sign_up": "Запиши се",
"size": "Размер",
"skip": "Пропусни",
"skip_to_content": "Премини към съдържанието",
"skip_to_folders": "Премини към папките",
"skip_to_tags": "Премини към етикетите",
"slideshow": "Слайдшоу",
"slideshow_body": "Отпуснете се и гледайте снимките си, възпроизвеждани в слайдшоу на цял екран.",
"slideshow_metadata_overlay_mode": "Съдържание на слоя с информация",
"slideshow_metadata_overlay_mode_description_only": "Само описание",
"slideshow_metadata_overlay_mode_full": "Пълна",
"slideshow_repeat": "Повтаряй слайдшоуто",
"slideshow_repeat_description": "Започвай отново, когато слайдшоуто приключи",
"slideshow_settings": "Настройки за слайдшоу",
"slideshow_title": "Слайдшоу",
"smart_album": "Умен албум",
"some_assets_already_have_a_location_warning": "Някои от избраните файлове вече имат местоположение",
"sort_albums_by": "Сортиране на албуми по...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Грешки",
"upload_status_uploaded": "Качено",
"upload_success": "Качването е успешно, опреснете страницата, за да видите новите файлове.",
"upload_to_album_body": "За потребители, които не използват функцията за ръчно качване, вече можете да изберете да добавяте локални снимки директно в албум, докато ги качвате, вече не е необходимо да качвате и след това да добавяте към албум.",
"upload_to_album_title": "Качване директно в албум",
"upload_to_immich": "Казване в Immich ({count})",
"uploading": "Качваме",
"uploading_media": "Качване на медийни файлове",
@@ -2224,6 +2254,9 @@
"week": "Седмица",
"welcome": "Добре дошли",
"welcome_to_immich": "Добре дошли в Immich",
"whats_new": "Какво е новото",
"whats_new_settings_subtitle": "Вижте какво ново има в Immich",
"whats_new_version": "Версия {version}",
"when": "Когато",
"width": "Ширинa",
"wifi_name": "Wi-Fi мрежа",
+36 -3
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualitat de miniatura d'1 a 100. Més alt és millor, però produeix fitxers més grans i pot reduir la capacitat de resposta de l'aplicació.",
"image_thumbnail_title": "Configuració de les miniatures",
"import_config_from_json_description": "Importa la configuració del sistema pujant un fitxer de configuració JSON",
"integrity_checks_checksum_files": "Verifica la integritat dels fitxers",
"integrity_checks_checksum_files_description": "Configura la verificació de la integritat",
"integrity_checks_checksum_files_enable_description": "Activa la verificació de la integritat dels fitxers (checksum)",
"integrity_checks_checksum_files_percentage_limit": "Percentatge límit",
"integrity_checks_checksum_files_percentage_limit_description": "Configura el percentatge màxim, entre 0,01 i 1, de la durada de la comprovació de la suma de verificació en cada interval.",
"integrity_checks_checksum_files_time_limit": "Límit de temps",
"integrity_checks_checksum_files_time_limit_description": "Configura la durada màxima de la comprovació de la suma de verificació en cada interval. (ms)",
"integrity_checks_missing_files": "Fitxers absents",
"integrity_checks_missing_files_description": "Configura la freqüència i activa o desactiva la comprovació de fitxers absents",
"integrity_checks_missing_files_enable_description": "Activa la verificació de fitxers absents",
"integrity_checks_settings": "Verificacions d'integritat",
"integrity_checks_settings_description": "Gestió de l'interval de verificacions d'integritat",
"integrity_checks_untracked_files": "Fitxers sense seguiment",
"integrity_checks_untracked_files_description": "Configuració de la freqüència, i activar o desactivar, la verificació dels fitxers sense seguiment",
"integrity_checks_untracked_files_enable_description": "Activa la verificació dels fitxers sense seguiment",
"job_concurrency": "{job} simultàniament",
"job_created": "Tasca creada",
"job_not_concurrency_safe": "Aquesta tasca no és segura per a la conconcurrència.",
@@ -1461,6 +1476,7 @@
"never": "Mai",
"new_album": "Nou Àlbum",
"new_api_key": "Nova clau de l'API",
"new_feature": "Nova funció",
"new_password": "Nova contrasenya",
"new_person": "Persona nova",
"new_pin_code": "Nou codi PIN",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Configurador Obtainium",
"obtainium_configurator_instructions": "Utilitza Obtainium per instal·lar una actualització a la app directament des de Github-Immich. Crear una clau API i seleccionar una variant per crear un enllaç a la configuració Obtainium",
"ocr": "OCR",
"ocr_body": "Immich ara llegeix el text dins les vostres fotos, de tal manera que podeu cercar-les pel que hi diuen.",
"ocr_title": "Cerqueu el text dins les vostres fotos",
"official_immich_resources": "Recursos oficials d'Immich",
"offline": "Fora de línia",
"offset": "Diferència",
@@ -1539,6 +1557,8 @@
"open": "Obrir",
"open_calendar": "Obrir el calendari",
"open_in_browser": "Obre al navegador",
"open_in_immich_body": "Estableix Immich com la teva galeria de fotos a Android, per obrir les fotos directament des d'altres aplicacions.",
"open_in_immich_title": "Obre fotos a Immich",
"open_in_map_view": "Obrir a la vista del mapa",
"open_in_openstreetmap": "Obre a OpenStreetMap",
"open_the_search_filters": "Obriu els filtres de cerca",
@@ -1594,9 +1614,9 @@
"permission": "Permís",
"permission_empty": "El seu permís no hauria d'estar buit",
"person": "Persona",
"person_age_months": "{months, plural, one {# mes} other {# mesos}} d'antiguitat",
"person_age_year_months": "1 any, {months, plural, one {# mes} other {# mesos}} d'antiguitat",
"person_age_years": "{years, plural, other {# anys}} d'antiguitat",
"person_age_months": "{months, plural, one {# mes} other {# mesos}}",
"person_age_year_months": "1 any, {months, plural, one {# mes} other {# mesos}}",
"person_age_years": "{years, plural, other {# anys}}",
"person_birthdate": "Nascut a {date}",
"person_hidden": "{name}{hidden, select, true { (ocultat)} other {}}",
"person_recognized": "Persona reconeguda",
@@ -1697,7 +1717,10 @@
"recent": "Recent",
"recent_searches": "Cerques recents",
"recently_added": "Afegit recentment",
"recently_added_body": "Ves directament a tot el que has afegit últimament en una pàgina dedicada.",
"recently_added_description": "Explora els teus recursos ordenats per data de pujada a Immich",
"recently_added_page_title": "Afegit recentment",
"recently_added_title": "Afegits recentment",
"recently_taken": "Fet recentment",
"refresh": "Actualitzar",
"refresh_encoded_videos": "Actualitza vídeos codificats",
@@ -1904,6 +1927,8 @@
"share_link": "Compartir Enllaç",
"share_original": "Ús original (gran)",
"share_preview": "Ús de la miniatura (petit)",
"share_quality_body": "Mantingues premut el botó de compartir per triar la qualitat de la imatge abans de compartir-la.",
"share_quality_title": "Tria la qualitat al compartir",
"shared": "Compartit",
"shared_album_activities_input_disable": "Els comentaris estan desactivats",
"shared_album_activity_remove_content": "Voleu eliminar aquesta activitat?",
@@ -1985,16 +2010,19 @@
"sign_out": "Tanca sessió",
"sign_up": "Registrar-se",
"size": "Mida",
"skip": "Omet",
"skip_to_content": "Salta al contingut",
"skip_to_folders": "Anar a carpetes",
"skip_to_tags": "Anar a etiquetes",
"slideshow": "Diapositives",
"slideshow_body": "Relaxa't i mira les teves fotos en una presentació de diapositives a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contingut de superposició",
"slideshow_metadata_overlay_mode_description_only": "Descripció només",
"slideshow_metadata_overlay_mode_full": "Tot",
"slideshow_repeat": "Repeteix la presentació de diapositives",
"slideshow_repeat_description": "Torna al principi quan acaba la presentació de diapositives",
"slideshow_settings": "Configuració de diapositives",
"slideshow_title": "Presentació de diapositives",
"smart_album": "Àlbum inteŀligent",
"some_assets_already_have_a_location_warning": "Alguns dels actius seleccionats ja tenen una ubicació",
"sort_albums_by": "Ordena àlbums per...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Carregat",
"upload_success": "Pujada correcta, actualitza la pàgina per veure nous recursos de pujada.",
"upload_to_album_body": "Per als usuaris que no utilitzen la funció de càrrega manual, ara pots triar afegir fotos locals directament a un àlbum a mesura que les pengis, ja no cal que les pengis i les afegeixis a un àlbum més tard.",
"upload_to_album_title": "Puja directament a un àlbum",
"upload_to_immich": "Puja a Immich ({count})",
"uploading": "Pujant",
"uploading_media": "Pujant mitjans",
@@ -2224,6 +2254,9 @@
"week": "Setmana",
"welcome": "Benvingut",
"welcome_to_immich": "Benvingut a immich",
"whats_new": "Novetats",
"whats_new_settings_subtitle": "Novetats a Immich",
"whats_new_version": "Versió {version}",
"when": "Quan",
"width": "Amplada",
"wifi_name": "Nom Wi-Fi",
+35 -1
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvalita miniatur od 1 do 100. Vyšší je lepší, ale vytváří větší soubory a může snížit odezvu aplikace.",
"image_thumbnail_title": "Miniatury",
"import_config_from_json_description": "Importujte konfiguraci systému nahráním konfiguračního JSON souboru",
"integrity_checks_checksum_files": "Soubory s kontrolními součty",
"integrity_checks_checksum_files_description": "Nastavení kontroly kontrolního součtu",
"integrity_checks_checksum_files_enable_description": "Zapnout kontrolu kontrolního součtu",
"integrity_checks_checksum_files_percentage_limit": "Procentuální limit",
"integrity_checks_checksum_files_percentage_limit_description": "Nastavte maximální procentuální hodnotu v rozmezí 0.01 až 1, která určuje, jak často se má v daném intervalu provádět kontrola kontrolního součtu.",
"integrity_checks_checksum_files_time_limit": "Časový limit",
"integrity_checks_checksum_files_time_limit_description": "Nastavte maximální dobu, po kterou by měla v každém intervalu probíhat kontrola kontrolního součtu. (ms)",
"integrity_checks_missing_files": "Chybějící soubory",
"integrity_checks_missing_files_description": "Nastavte frekvenci a zapněte nebo vypněte kontrolu chybějících souborů",
"integrity_checks_missing_files_enable_description": "Zapnout kontrolu chybějících souborů",
"integrity_checks_settings": "Kontroly integrity",
"integrity_checks_settings_description": "Správa intervalů kontrol integrity",
"integrity_checks_untracked_files": "Nesledované soubory",
"integrity_checks_untracked_files_description": "Nastavte frekvenci a zapněte nebo vypněte kontrolu nesledovaných souborů",
"integrity_checks_untracked_files_enable_description": "Zapnout kontrolu nesledovaných souborů",
"job_concurrency": "Souběžnost úlohy {job}",
"job_created": "Úloha vytvořena",
"job_not_concurrency_safe": "Tato úloha není bezpečená pro souběh.",
@@ -189,7 +204,7 @@
"maintenance_delete_error": "Nepodařilo se smazat zálohu.",
"maintenance_integrity_check": "Zkontrolovat",
"maintenance_integrity_check_all": "Zkontrolovat vše",
"maintenance_integrity_checksum_mismatch": "Neshoda kontrolního součtu",
"maintenance_integrity_checksum_mismatch": "Neshoda kontrol. součtu",
"maintenance_integrity_checksum_mismatch_description": "Soubory, u nichž se kontrolní součet na disku neshoduje s kontrolním součtem, který Immich uložil do své databáze.",
"maintenance_integrity_checksum_mismatch_job": "Kontrola shod kontrolních součtů",
"maintenance_integrity_checksum_mismatch_refresh_job": "Obnovit hlášení o neshodách kontrolních součtů",
@@ -1461,6 +1476,7 @@
"never": "Nikdy",
"new_album": "Nové album",
"new_api_key": "Nový API klíč",
"new_feature": "Nová funkce",
"new_password": "Nové heslo",
"new_person": "Nová osoba",
"new_pin_code": "Nový PIN kód",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Konfigurátor Obtainium",
"obtainium_configurator_instructions": "Pomocí aplikace Obtainium nainstalujte a aktualizujte aplikaci pro Android přímo z vydání na GitHubu Immich. Vytvořte API klíč a vyberte variantu pro vytvoření konfiguračního odkazu pro Obtainium",
"ocr": "OCR",
"ocr_body": "Immich nyní rozpoznává text na vašich fotografiích, takže je můžete vyhledávat podle toho, co je na nich napsáno.",
"ocr_title": "Vyhledávání textu ve vašich fotografiích",
"official_immich_resources": "Oficiální zdroje Immich",
"offline": "Offline",
"offset": "Posun",
@@ -1539,6 +1557,8 @@
"open": "Otevřít",
"open_calendar": "Otevřít kalendář",
"open_in_browser": "Otevřít v prohlížeči",
"open_in_immich_body": "Nastavte si v systému Android aplikaci Immich jako svou galerii, abyste mohli otevírat fotografie přímo z jiných aplikací.",
"open_in_immich_title": "Otevřít fotografie v Immichi",
"open_in_map_view": "Otevřít v zobrazení mapy",
"open_in_openstreetmap": "Otevřít v OpenStreetMap",
"open_the_search_filters": "Otevřít vyhledávací filtry",
@@ -1697,7 +1717,10 @@
"recent": "Nedávné",
"recent_searches": "Nedávná vyhledávání",
"recently_added": "Nedávno přidané",
"recently_added_body": "Přejděte přímo na speciální stránku, kde najdete vše, co jste v poslední době přidali.",
"recently_added_description": "Prohlížejte si svá média seřazená podle data, kdy byla nahrána do Immiche",
"recently_added_page_title": "Nedávno přidané",
"recently_added_title": "Nedávno přidané",
"recently_taken": "Nedávno pořízené",
"refresh": "Obnovit",
"refresh_encoded_videos": "Obnovit kódovaná videa",
@@ -1904,6 +1927,8 @@
"share_link": "Sdílet odkaz",
"share_original": "Použít originál (velký)",
"share_preview": "Použít miniaturu (malý)",
"share_quality_body": "Při sdílení stiskněte a podržte tlačítko sdílení pro výběr kvality obrázku.",
"share_quality_title": "Vyberte si kvalitu sdílení",
"shared": "Sdílené",
"shared_album_activities_input_disable": "Komentář je vypnutý",
"shared_album_activity_remove_content": "Chcete odstranit tuto aktivitu?",
@@ -1985,16 +2010,19 @@
"sign_out": "Odhlásit se",
"sign_up": "Zaregistrovat se",
"size": "Velikost",
"skip": "Přeskočit",
"skip_to_content": "Přejít na obsah",
"skip_to_folders": "Přeskočit na složky",
"skip_to_tags": "Přeskočit na značky",
"slideshow": "Prezentace",
"slideshow_body": "Posaďte se a sledujte, jak se vaše fotografie promítají v prezentaci na celé obrazovce.",
"slideshow_metadata_overlay_mode": "Obsah překryvného panelu",
"slideshow_metadata_overlay_mode_description_only": "Pouze popis",
"slideshow_metadata_overlay_mode_full": "Úplný",
"slideshow_repeat": "Opakovat prezentaci",
"slideshow_repeat_description": "Po skončení prezentace se vrátit na začátek",
"slideshow_settings": "Nastavení prezentace",
"slideshow_title": "Prezentace",
"smart_album": "Chytré album",
"some_assets_already_have_a_location_warning": "Některé z vybraných položek již mají polohu",
"sort_albums_by": "Seřadit alba podle...",
@@ -2122,6 +2150,7 @@
"unknown": "Neznámý",
"unknown_country": "Neznámá země",
"unknown_date": "Neznámé datum",
"unknown_schema": "Neznámé schéma",
"unknown_year": "Neznámý rok",
"unlimited": "Neomezeně",
"unlink_motion_video": "Odpojit pohyblivé video",
@@ -2157,6 +2186,8 @@
"upload_status_errors": "Chyby",
"upload_status_uploaded": "Nahráno",
"upload_success": "Nahrání proběhlo úspěšně, obnovením stránky se zobrazí nově nahrané položky.",
"upload_to_album_body": "Uživatelé, kteří nevyužívají funkci ručního nahrávání, si nyní mohou zvolit, zda chtějí lokální fotografie přidávat přímo do alba již při jejich nahrávání, již není nutné je nejprve nahrát a teprve poté přidat do alba.",
"upload_to_album_title": "Nahrát přímo do alba",
"upload_to_immich": "Nahrát do Immich ({count})",
"uploading": "Nahrávání",
"uploading_media": "Nahrávání médií",
@@ -2224,6 +2255,9 @@
"week": "Týden",
"welcome": "Vítejte",
"welcome_to_immich": "Vítejte v Immichi",
"whats_new": "Co je nového",
"whats_new_settings_subtitle": "Podívejte se, co je nového v Immichi",
"whats_new_version": "Verze {version}",
"when": "Kdy",
"width": "Šířka",
"wifi_name": "Název Wi-Fi",
+35
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualität der Miniaturansicht von 1-100. Höher ist besser, erzeugt aber größere Dateien und kann die Reaktionsfähigkeit der App beeinträchtigen.",
"image_thumbnail_title": "Miniaturansicht-Einstellungen",
"import_config_from_json_description": "Importieren Sie die Systemkonfiguration, indem Sie eine JSON-Konfigurationsdatei hochladen",
"integrity_checks_checksum_files": "Prüfsummendateien",
"integrity_checks_checksum_files_description": "Anpassung der Prüfsummen Tests",
"integrity_checks_checksum_files_enable_description": "Aktiviere den Prüfsummen Test",
"integrity_checks_checksum_files_percentage_limit": "Prozentuales Limit",
"integrity_checks_checksum_files_percentage_limit_description": "Setze die maximale Prozentzahl zwischen 0.01 und 1, um zu bestimmen wie viel der Prüfsummen Test jedes Intervall prüfen soll.",
"integrity_checks_checksum_files_time_limit": "Zeitlimit",
"integrity_checks_checksum_files_time_limit_description": "Setze die maximale Dauer die der Prüfsummen Test jedes Intervall ausgeführt werden soll. (ms)",
"integrity_checks_missing_files": "Fehlende Dateien",
"integrity_checks_missing_files_description": "Setze die Frequenz und (de)aktiviere den Test für fehlende Dateien",
"integrity_checks_missing_files_enable_description": "Aktiviere den Test für fehlende Dateien",
"integrity_checks_settings": "Integritätstests",
"integrity_checks_settings_description": "Verwalten Intervalle der Integritätstests",
"integrity_checks_untracked_files": "Nicht getrackte Dateien",
"integrity_checks_untracked_files_description": "Setze die Frequenz und (de)aktiviere den Test für ungetrackte Dateien",
"integrity_checks_untracked_files_enable_description": "Aktiviere den Test für ungetrackte Dateien",
"job_concurrency": "{job} (Anzahl gleichzeitiger Prozesse)",
"job_created": "Aufgabe erstellt",
"job_not_concurrency_safe": "Diese Aufgabe ist nicht parallelisierungssicher.",
@@ -578,6 +593,7 @@
"asset_viewer_settings_title": "Fotoanzeige",
"assets": "Dateien",
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefügt",
"assets_added_to_album_partial_count": "{successCount} von {totalCount} {totalCount, plural, one {Datei} other {Dateien}} zum Album hinzugefügt",
"assets_added_to_albums_count": "{assetTotal, plural, one {# Datei} other {# Dateien}} zu {albumTotal, plural, one {# Album} other {# Alben}} hinzugefügt",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Datei kann}other {Dateien können}} nicht zum Album hinzugefügt werden",
"assets_cannot_be_added_to_albums": "{count, plural, one {Datei kann} other {Dateien können}} nicht zu den Alben hinzugefügt werden",
@@ -1461,6 +1477,7 @@
"never": "Niemals",
"new_album": "Neues Album",
"new_api_key": "Neuer API-Schlüssel",
"new_feature": "Neue Funktion",
"new_password": "Neues Passwort",
"new_person": "Neue Person",
"new_pin_code": "Neuer PIN-Code",
@@ -1521,6 +1538,8 @@
"obtainium_configurator": "Obtainium Konfigurator",
"obtainium_configurator_instructions": "Du kannst Obtainium benutzen, um die App direkt aus den Github Releases zu installieren oder zu aktualisieren. Bitte erstelle dazu einen API-Schlüssel und wähle eine Variante aus um einen Obtainium-Konfigurationslink zu erstellen",
"ocr": "OCR",
"ocr_body": "Immich liest jetzt den Text in deinen Fotos, sodass du nach ihrem Inhalt suchen kannst.",
"ocr_title": "Suche Text in deinen Fotos",
"official_immich_resources": "Offizielle Immich Quellen",
"offline": "Offline",
"offset": "Verschiebung",
@@ -1539,6 +1558,8 @@
"open": "Öffnen",
"open_calendar": "Kalender öffnen",
"open_in_browser": "Im Browser öffnen",
"open_in_immich_body": "Setze Immich als deine Galerie auf Android um auf Fotos von anderen Apps zugreifen zu können.",
"open_in_immich_title": "Öffne Fotos in Immich",
"open_in_map_view": "In Kartenansicht öffnen",
"open_in_openstreetmap": "In OpenStreetMap öffnen",
"open_the_search_filters": "Die Suchfilter öffnen",
@@ -1697,7 +1718,10 @@
"recent": "Neueste",
"recent_searches": "Letzte Suchen",
"recently_added": "Kürzlich hinzugefügt",
"recently_added_body": "Öffne direkt deine neusten Änderungen direkt auf einer Seite.",
"recently_added_description": "Durchsuche deine Medien nachdem Sie auf Immich hochgeladen wurden",
"recently_added_page_title": "Zuletzt hinzugefügt",
"recently_added_title": "Zuletzt hinzugefügt",
"recently_taken": "Kürzlich aufgenommen",
"refresh": "Aktualisieren",
"refresh_encoded_videos": "Kodierte Videos aktualisieren",
@@ -1904,6 +1928,8 @@
"share_link": "Link teilen",
"share_original": "Original verwenden (groß)",
"share_preview": "Thumbnail verwenden (klein)",
"share_quality_body": "Halte den Teilen Button gedrückt um die Bildqualität vor dem Teilen auszuwählen.",
"share_quality_title": "Wähle deine Qualität zum Teilen aus",
"shared": "Geteilt",
"shared_album_activities_input_disable": "Kommentare sind deaktiviert",
"shared_album_activity_remove_content": "Möchtest du diese Aktivität entfernen?",
@@ -1985,16 +2011,19 @@
"sign_out": "Abmelden",
"sign_up": "Registrieren",
"size": "Größe",
"skip": "Überspringen",
"skip_to_content": "Zum Inhalt springen",
"skip_to_folders": "Springe zu Ordnern",
"skip_to_tags": "Springe zu Tags",
"slideshow": "Diashow",
"slideshow_body": "Lehn' dich zurück und genieße deine Fotos in einer Vollbild Diashow.",
"slideshow_metadata_overlay_mode": "Overlay Inhalt",
"slideshow_metadata_overlay_mode_description_only": "Nur Beschreibung",
"slideshow_metadata_overlay_mode_full": "Alles",
"slideshow_repeat": "Slideshow wiederholen",
"slideshow_repeat_description": "Wenn Slideshow beendet, zum Anfang zurückkehren",
"slideshow_settings": "Diashow-Einstellungen",
"slideshow_title": "Diashow",
"smart_album": "Smart Album",
"some_assets_already_have_a_location_warning": "Einige der ausgewählten Dateien haben bereits einen Standort",
"sort_albums_by": "Alben sortieren nach...",
@@ -2122,6 +2151,7 @@
"unknown": "Unbekannt",
"unknown_country": "Unbekanntes Land",
"unknown_date": "Unbekanntes Datum",
"unknown_schema": "Unbekanntes Schema",
"unknown_year": "Unbekanntes Jahr",
"unlimited": "Unlimitiert",
"unlink_motion_video": "Verknüpfung zum Bewegungsvideo aufheben",
@@ -2157,6 +2187,8 @@
"upload_status_errors": "Fehler",
"upload_status_uploaded": "Hochgeladen",
"upload_success": "Hochladen erfolgreich. Aktualisiere die Seite, um neue hochgeladene Dateien zu sehen.",
"upload_to_album_body": "Für Nutzer*innen die nicht den manuellen Upload verwenden, du kannst auswählen neue lokale Fotos direkt in ein Album hinzufügen, sodass du sie nicht erst hochladen und dann zu einem Album hinzufügen musst.",
"upload_to_album_title": "Direkt in ein Album hochladen",
"upload_to_immich": "Auf Immich hochladen ({count})",
"uploading": "Wird hochgeladen",
"uploading_media": "Medien werden hochgeladen",
@@ -2224,6 +2256,9 @@
"week": "Woche",
"welcome": "Willkommen",
"welcome_to_immich": "Willkommen bei Immich",
"whats_new": "Neuigkeiten",
"whats_new_settings_subtitle": "Neues in Immich",
"whats_new_version": "Version {version}",
"when": "Wann",
"width": "Breite",
"wifi_name": "WLAN-Netzwerk",
+5
View File
@@ -431,6 +431,10 @@
"transcoding_realtime_description": "Allows transcoding to be performed in real-time as the video is being streamed. Enables quality switching, but may cause higher playback latency and stuttering depending on server capabilities.",
"transcoding_realtime_enabled": "Enable real-time transcoding",
"transcoding_realtime_enabled_description": "If disabled, the server will refuse to start new real-time transcoding sessions.",
"transcoding_realtime_resolutions": "Resolutions",
"transcoding_realtime_resolutions_description": "The resolutions offered for real-time transcoding. A variant is only offered when its resolution is no larger than the source. Higher resolutions may cause playback issues if the server cannot transcode them quickly enough.",
"transcoding_realtime_video_codecs": "Video codecs",
"transcoding_realtime_video_codecs_description": "The video codecs offered for real-time transcoding. Clients will choose the best option they support during playback. AV1 is more efficient than HEVC, which is more efficient than H.264. When using hardware acceleration, only select the codecs the accelerator can encode. When using software transcoding, note that H.264 is faster than AV1, which is faster than HEVC.",
"transcoding_reference_frames": "Reference frames",
"transcoding_reference_frames_description": "The number of frames to reference when compressing a given frame. Higher values improve compression efficiency, but slow down encoding. 0 sets this value automatically.",
"transcoding_required_description": "Only videos not in an accepted format",
@@ -593,6 +597,7 @@
"asset_viewer_settings_title": "Asset Viewer",
"assets": "Assets",
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
"assets_added_to_album_partial_count": "Added {successCount} out of {totalCount} {totalCount, plural, one {asset} other {assets}} to the album",
"assets_added_to_albums_count": "Added {assetTotal, plural, one {# asset} other {# assets}} to {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Asset} other {Assets}} cannot be added to the album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Asset} other {Assets}} cannot be added to any of the albums",
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Thumbnail quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness.",
"image_thumbnail_title": "Thumbnail Settings",
"import_config_from_json_description": "Import system config by uploading a JSON config file",
"integrity_checks_checksum_files": "Checksum files",
"integrity_checks_checksum_files_description": "Configure the checksum check",
"integrity_checks_checksum_files_enable_description": "Enable the checksum check",
"integrity_checks_checksum_files_percentage_limit": "Percentage limit",
"integrity_checks_checksum_files_percentage_limit_description": "Configure the maximum percentage between 0.01 and 1 for how much the checksum check should run each interval.",
"integrity_checks_checksum_files_time_limit": "Time limit",
"integrity_checks_checksum_files_time_limit_description": "Configure the maximum duration for which the checksum check should run each interval. (ms)",
"integrity_checks_missing_files": "Missing files",
"integrity_checks_missing_files_description": "Configure the frequency and enable or disable the missing files check",
"integrity_checks_missing_files_enable_description": "Enable the missing files check",
"integrity_checks_settings": "Integrity checks",
"integrity_checks_settings_description": "Manage integrity checks intervals",
"integrity_checks_untracked_files": "Untracked files",
"integrity_checks_untracked_files_description": "Configure the frequency and enable or disable the untracked files check",
"integrity_checks_untracked_files_enable_description": "Enable the untracked files check",
"job_concurrency": "{job} concurrency",
"job_created": "Job created",
"job_not_concurrency_safe": "This job is not concurrency-safe.",
@@ -1461,6 +1476,7 @@
"never": "Never",
"new_album": "New Album",
"new_api_key": "New API Key",
"new_feature": "New Feature",
"new_password": "New password",
"new_person": "New person",
"new_pin_code": "New PIN code",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Obtainium Configurator",
"obtainium_configurator_instructions": "Use Obtainium to install and update the Android app directly from Immich GitHub's release. Create an API key and select a variant to create your Obtainium configuration link",
"ocr": "OCR",
"ocr_body": "Immich now reads the text inside your photos, so you can search for them by what they say.",
"ocr_title": "Search text in your photos",
"official_immich_resources": "Official Immich Resources",
"offline": "Offline",
"offset": "Offset",
@@ -1539,6 +1557,8 @@
"open": "Open",
"open_calendar": "Open calendar",
"open_in_browser": "Open in browser",
"open_in_immich_body": "Set Immich as your gallery on Android to open photos straight from other apps.",
"open_in_immich_title": "Open photos in Immich",
"open_in_map_view": "Open in map view",
"open_in_openstreetmap": "Open in OpenStreetMap",
"open_the_search_filters": "Open the search filters",
@@ -1697,7 +1717,10 @@
"recent": "Recent",
"recent_searches": "Recent searches",
"recently_added": "Recently added",
"recently_added_body": "Jump straight to everything you've added lately on a dedicated page.",
"recently_added_description": "Browse your assets sorted by when they were uploaded to Immich",
"recently_added_page_title": "Recently Added",
"recently_added_title": "Recently added",
"recently_taken": "Recently taken",
"refresh": "Refresh",
"refresh_encoded_videos": "Refresh encoded videos",
@@ -1904,6 +1927,8 @@
"share_link": "Share Link",
"share_original": "Use original (large)",
"share_preview": "Use thumbnail (small)",
"share_quality_body": "Press and hold the share button to choose the image quality before you share.",
"share_quality_title": "Choose your share quality",
"shared": "Shared",
"shared_album_activities_input_disable": "Comment is disabled",
"shared_album_activity_remove_content": "Do you want to delete this activity?",
@@ -1985,16 +2010,19 @@
"sign_out": "Sign Out",
"sign_up": "Sign up",
"size": "Size",
"skip": "Skip",
"skip_to_content": "Skip to content",
"skip_to_folders": "Skip to folders",
"skip_to_tags": "Skip to tags",
"slideshow": "Slideshow",
"slideshow_body": "Sit back and watch your photos play in a full-screen slideshow.",
"slideshow_metadata_overlay_mode": "Overlay content",
"slideshow_metadata_overlay_mode_description_only": "Description only",
"slideshow_metadata_overlay_mode_full": "Full",
"slideshow_repeat": "Repeat slideshow",
"slideshow_repeat_description": "Loop back to beginning when slideshow ends",
"slideshow_settings": "Slideshow settings",
"slideshow_title": "Slideshow",
"smart_album": "Smart album",
"some_assets_already_have_a_location_warning": "Some of the selected assets already have a location",
"sort_albums_by": "Sort albums by...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Uploaded",
"upload_success": "Upload success, refresh the page to see new upload assets.",
"upload_to_album_body": "For users that don't use the manual upload feature, you can now choose to add local photos directly into an album as you upload them, no need to upload then add to an album later anymore.",
"upload_to_album_title": "Upload straight to an album",
"upload_to_immich": "Upload to Immich ({count})",
"uploading": "Uploading",
"uploading_media": "Uploading media",
@@ -2224,6 +2254,9 @@
"week": "Week",
"welcome": "Welcome",
"welcome_to_immich": "Welcome to Immich",
"whats_new": "What's new",
"whats_new_settings_subtitle": "See what's new in Immich",
"whats_new_version": "Version {version}",
"when": "When",
"width": "Width",
"wifi_name": "Wi-Fi Name",
+71
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvalito de bildeto, inter 1 kaj 100. Pli alta cifero indikas pli altkvalitan bildon, sed donas pli grandajn dosierojn kaj povas malrapidigi uzadon de la apo.",
"image_thumbnail_title": "Agordoj pri bildetoj",
"import_config_from_json_description": "Importi sistem-agordaĵaron de JSON-dosiero",
"integrity_checks_checksum_files": "Kontrolsum-dosieroj",
"integrity_checks_checksum_files_description": "Konfiguri la kontroladon per kontrolsumo",
"integrity_checks_checksum_files_enable_description": "Ŝalti kontroladon per kontrolsumoj",
"integrity_checks_checksum_files_percentage_limit": "Elcenta limo",
"integrity_checks_checksum_files_percentage_limit_description": "Konfiguri la maksimuman elcentaĵon, inter 0.01 kaj 1, kiom estu kontrolata je ĉiu intervalo.",
"integrity_checks_checksum_files_time_limit": "Tempolimo",
"integrity_checks_checksum_files_time_limit_description": "Konfiguri la maksimuman daŭron (milisekundoj) de kontrolado je ĉiu intervalo.",
"integrity_checks_missing_files": "Mankantaj dosieroj",
"integrity_checks_missing_files_description": "Konfiguri la oftecon kaj ŝalti/malŝalti kontrolon por mankantaj dosieroj",
"integrity_checks_missing_files_enable_description": "Ŝalti kontroladon por mankantaj dosieroj",
"integrity_checks_settings": "Kontrolo de integreco",
"integrity_checks_settings_description": "Administri intervalojn inter kontroloj de integreco",
"integrity_checks_untracked_files": "Senspuraj dosieroj",
"integrity_checks_untracked_files_description": "Konfiguri la oftecon kaj ŝalti/malŝalti kontrolon por senspuraj dosieroj",
"integrity_checks_untracked_files_enable_description": "Ŝalti kontroladon por senspuraj dosieroj",
"job_concurrency": "{job}: nombro de samtempaj taskoj",
"job_created": "Tasko kreita",
"job_not_concurrency_safe": "Estas nesekure fari tiun ĉi taskon samtempe kun aliaj.",
@@ -1497,6 +1512,8 @@
"notes": "Notoj",
"nothing_here_yet": "Ankoraŭ nenio ĉi tie",
"notification_backup_reliability": "Ŝalti atentigilojn por igi pli fidinda la fonan savkopiadon",
"notification_enabled_list_tile_open_button": "Malfermi agordojn",
"notification_enabled_list_tile_title": "Atentigoj ŝaltitaj",
"notification_permission_dialog_content": "Por ŝalti sciigojn, iru al Agordoj kaj elektu 'permesi'.",
"notification_permission_list_tile_content": "Donu permeson por ŝalti sciigojn.",
"notification_permission_list_tile_enable_button": "Ŝalti sciigojn",
@@ -1508,6 +1525,8 @@
"obtainium_configurator": "Konfigurilo pri Obtainium",
"obtainium_configurator_instructions": "Uzu Obtainium por instali kaj ĝisdatigi la apon por Android rekte el github. Kreu API-ŝlosilon kaj elektu variaĵon por krei ligilon por konfiguri Obtainium",
"ocr": "Optika signo-rekono",
"ocr_body": "Immich nun legas tekston en viaj fotoj, do vi povas serĉi kaj trovi fotojn laŭ tio.",
"ocr_title": "Serĉi tekston en fotoj",
"official_immich_resources": "Oficialaj rimedoj por Immich",
"offline": "Nekonektita",
"offset": "Deŝovo",
@@ -1526,6 +1545,8 @@
"open": "Malfermi",
"open_calendar": "Malfermi kalendaron",
"open_in_browser": "Malfermi en retumilo",
"open_in_immich_body": "Agordi Immich kiel galerion en Android-aparato por ke fotoj malfermiĝu rekte de aliaj apoj en Immich.",
"open_in_immich_title": "Malfermi fotojn en Immich",
"open_in_map_view": "Montri sur mapo",
"open_in_openstreetmap": "Malfermi en OpenStreetMap",
"open_the_search_filters": "Malfermi la serĉ-filtrilojn",
@@ -1814,9 +1835,59 @@
"search_timezone": "Serĉi laŭ horzono...",
"search_type": "Serĉi laŭ tipo",
"search_your_photos": "Serĉi viajn fotojn",
"searching_locales": "Serĉado de lokaj parametroj...",
"second": "Sekundo",
"see_all_people": "Vidi ĉiujn homojn",
"select": "Elekti",
"select_album": "Elekti albumon",
"select_album_cover": "Elekti album-kovrilon",
"select_albums": "Elekti albumojn",
"select_all": "Elekti ĉiujn",
"select_all_duplicates": "Elekti ĉiujn duoblaĵojn",
"select_avatar_color": "Elekti koloron de profilbildo",
"select_count": "{count, plural, one {Elekti #} other {Elekti #}}",
"select_cutoff_date": "Elekti limdaton",
"select_face": "Elekti vizaĝon",
"select_featured_photo": "Elekti elstarigitan foton",
"select_from_computer": "Elekti el komputilo",
"select_keep_all": "Konservi ĉiujn",
"select_new_face": "Elekti novan vizaĝon",
"select_people": "Elekti homojn",
"select_person": "Elekti homon",
"select_person_to_tag": "Elekti homon por etikedi",
"select_photos": "Elekti fotojn",
"select_quality": "Elekti kvaliton",
"select_trash_all": "Forigi ĉiujn",
"selected": "Elektita",
"selected_count": "{count, plural, one {# elektita} other {# elektitaj}}",
"selected_gps_coordinates": "GPS-koordinatoj elektitaj",
"send_message": "Sendi mesaĝon",
"send_welcome_email": "Sendi bonvenan retmesaĝon",
"server_endpoint": "Finpunkto ĉe servilo",
"server_info_box_app_version": "Versio de apo",
"server_info_box_server_url": "URL-o de servilo",
"server_offline": "Servilo nedisponebla",
"server_online": "Servilo disponebla",
"server_privacy": "Privateco de servilo",
"server_restarting_description": "La paĝo baldaŭ reŝargiĝos.",
"server_restarting_title": "Servilo restartas",
"server_stats": "Statistikoj de servilo",
"server_update_available": "Ĝisdatigo disponeblas por la servilo",
"server_version": "Versio de servilo",
"set": "Agordi",
"set_as_album_cover": "Agordi kiel album-kovrilo",
"set_as_featured_photo": "Agordi kiel elstarigitan foton",
"set_as_profile_picture": "Elekti kiel profilbildon",
"set_date_of_birth": "Agordi naskiĝdaton",
"set_profile_picture": "Elekti profilbildon",
"set_slideshow_to_fullscreen": "Vidigi bildserion plenekrane",
"set_stack_primary_asset": "Agordi kiel unuarangan elementon",
"setting_image_navigation_enable_subtitle": "Se ŝaltita, vi povas salti al antaŭa/sekva bildo per tuŝeto en la maldekstra/dekstra kvarono de la ekrano.",
"setting_image_navigation_enable_title": "Tuŝeti por navigi",
"setting_image_navigation_title": "Navigado de bildoj",
"setting_image_viewer_help": "La detala montrilo unue montras la malgrandan bildeton, poste ŝargas la mezgrandan antaŭvidon (se ŝaltita), kaj fine ŝargas la originalan (se ŝaltita).",
"setting_image_viewer_original_subtitle": "Ŝalti por ŝargi la originalan bildon (povas esti tre granda!) Malŝalti por ŝpareme uzi datumojn (de retkonekto kaj memoro en via aparato).",
"setting_image_viewer_original_title": "Ŝargi originalan bildon",
"setting_notifications_subtitle": "Redakti viajn preferojn pri sciigoj",
"shared": "Dividitaj",
"shared_album_activities_input_disable": "Komentado estas malŝaltita",
+34
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Calidad de miniatura de 1 a 100. Es mejor cuanto más alto es el valor pero genera archivos más grandes y puede reducir la capacidad de respuesta de la aplicación.",
"image_thumbnail_title": "Ajustes de las miniaturas",
"import_config_from_json_description": "Importar la configuración del sistema subiendo un archivo JSON de configuración",
"integrity_checks_checksum_files": "Archivos de suma de comprobación",
"integrity_checks_checksum_files_description": "Configurar la comprobación de la suma de comprobación",
"integrity_checks_checksum_files_enable_description": "Activar la comprobación de la suma de comprobación",
"integrity_checks_checksum_files_percentage_limit": "Límite porcentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configura el porcentaje máximo, entre 0,01 y 1, que indica la frecuencia con la que debe ejecutarse la comprobación de la suma de comprobación en cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Límite de tiempo",
"integrity_checks_checksum_files_time_limit_description": "Configura la duración máxima durante la cual debe ejecutarse la comprobación de la suma de comprobación en cada intervalo. (ms)",
"integrity_checks_missing_files": "Archivos faltantes",
"integrity_checks_missing_files_description": "Configura la frecuencia y activa o desactiva la comprobación de archivos faltantes",
"integrity_checks_missing_files_enable_description": "Activar la comprobación de archivos faltantes",
"integrity_checks_settings": "Comprobaciones de integridad",
"integrity_checks_settings_description": "Gestionar los intervalos de las comprobaciones de integridad",
"integrity_checks_untracked_files": "Archivos sin seguimiento",
"integrity_checks_untracked_files_description": "Configure la frecuencia y active o desactive la comprobación de archivos sin seguimiento",
"integrity_checks_untracked_files_enable_description": "Habilitar la comprobación de archivos sin seguimiento",
"job_concurrency": "{job}: Procesos simultáneos",
"job_created": "Tarea creada",
"job_not_concurrency_safe": "Esta tarea no es segura para la simultaneidad.",
@@ -1461,6 +1476,7 @@
"never": "Nunca",
"new_album": "Nuevo álbum",
"new_api_key": "Nueva clave API",
"new_feature": "Nueva característica",
"new_password": "Nueva contraseña",
"new_person": "Nueva persona",
"new_pin_code": "Nuevo PIN",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Configurador de Obtainium",
"obtainium_configurator_instructions": "Usa Obtainium para instalar y actualizar la aplicación de Android directamente desde las versiones publicadas en el GitHub de Immich. Crea una clave API y selecciona una variante para generar tu enlace de configuración de Obtainium",
"ocr": "OCR",
"ocr_body": "Ahora Immich lee el texto que hay dentro de tus fotos, así podrás buscarlas por lo que dicen.",
"ocr_title": "Buscar texto en tus fotos",
"official_immich_resources": "Recursos oficiales de Immich",
"offline": "Desconectado",
"offset": "Desviación",
@@ -1539,6 +1557,8 @@
"open": "Abierto",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir en el navegador",
"open_in_immich_body": "Establece Immich como tu galería en Android para abrir fotos directamente desde otras aplicaciones.",
"open_in_immich_title": "Abrir fotos en Immich",
"open_in_map_view": "Abrir en la vista del mapa",
"open_in_openstreetmap": "Abrir en OpenStreetMap",
"open_the_search_filters": "Abre los filtros de búsqueda",
@@ -1697,7 +1717,10 @@
"recent": "Reciente",
"recent_searches": "Búsquedas recientes",
"recently_added": "Añadidos recientemente",
"recently_added_body": "Acceda directamente a todo lo que ha añadido recientemente en una página dedicada.",
"recently_added_description": "Explora tus archivos ordenados por fecha de subida a Immich",
"recently_added_page_title": "Recién añadidos",
"recently_added_title": "Añadido recientemente",
"recently_taken": "Tomadas recientemente",
"refresh": "Actualizar",
"refresh_encoded_videos": "Recargar los vídeos codificados",
@@ -1904,6 +1927,8 @@
"share_link": "Compartir enlace",
"share_original": "Usar original (grande)",
"share_preview": "Usar vista previa (pequeño)",
"share_quality_body": "Mantén pulsado el botón de compartir para elegir la calidad de la imagen antes de compartirla.",
"share_quality_title": "Elige la calidad de compartición",
"shared": "Compartidos",
"shared_album_activities_input_disable": "Los comentarios están deshabilitados",
"shared_album_activity_remove_content": "¿Deseas eliminar esta actividad?",
@@ -1985,16 +2010,19 @@
"sign_out": "Salir",
"sign_up": "Registrarse",
"size": "Tamaño",
"skip": "Saltar",
"skip_to_content": "Saltar al contenido",
"skip_to_folders": "Ir a las carpetas",
"skip_to_tags": "Ir a las etiquetas",
"slideshow": "Pase de diapositivas",
"slideshow_body": "Relájate y disfruta viendo tus fotos en una presentación de diapositivas a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contenido superpuesto",
"slideshow_metadata_overlay_mode_description_only": "Solo descripción",
"slideshow_metadata_overlay_mode_full": "Lleno",
"slideshow_repeat": "Repetir presentación de diapositivas",
"slideshow_repeat_description": "Volver al inicio cuando finaliza la presentación de diapositivas",
"slideshow_settings": "Ajustes de diapositivas",
"slideshow_title": "Presentación de diapositivas",
"smart_album": "Álbum inteligente",
"some_assets_already_have_a_location_warning": "Algunos de los elementos seleccionados ya tienen una ubicación",
"sort_albums_by": "Ordenar álbumes por…",
@@ -2122,6 +2150,7 @@
"unknown": "Desconocido",
"unknown_country": "País desconocido",
"unknown_date": "Fecha desconocida",
"unknown_schema": "Esquema desconocido",
"unknown_year": "Año desconocido",
"unlimited": "Sin límites",
"unlink_motion_video": "Desvincular vídeo en movimiento",
@@ -2157,6 +2186,8 @@
"upload_status_errors": "Errores",
"upload_status_uploaded": "Subido",
"upload_success": "Subida realizada correctamente, actualice la página para ver los nuevos recursos de subida.",
"upload_to_album_body": "Los usuarios que no utilicen la función de subida manual ya pueden añadir fotos locales directamente a un álbum a medida que las suben, sin necesidad de subirlas primero para luego añadirlas al álbum.",
"upload_to_album_title": "Subir directamente a un álbum",
"upload_to_immich": "Subir a Immich ({count})",
"uploading": "Subiendo",
"uploading_media": "Subiendo medios",
@@ -2224,6 +2255,9 @@
"week": "Semana",
"welcome": "Bienvenido/a",
"welcome_to_immich": "Bienvenido/a a Immich",
"whats_new": "Novedades",
"whats_new_settings_subtitle": "Descubre las novedades de Immich",
"whats_new_version": "Versión {version}",
"when": "Cuándo",
"width": "Ancho",
"wifi_name": "Nombre del Wi-Fi",
+28
View File
@@ -108,6 +108,18 @@
"image_thumbnail_quality_description": "Pisipildi kvaliteet vahemikus 1-100. Kõrgem väärtus on parem, aga tekitab suuremaid faile ning võib mõjutada rakenduse töökiirust.",
"image_thumbnail_title": "Pisipildi seaded",
"import_config_from_json_description": "Impordi süsteemi seadistus JSON-faili üleslaadimise teel",
"integrity_checks_checksum_files_description": "Seadista kontrollsumma kontroll",
"integrity_checks_checksum_files_enable_description": "Luba kontrollsumma kontroll",
"integrity_checks_checksum_files_percentage_limit": "Protsendi piirang",
"integrity_checks_checksum_files_percentage_limit_description": "Seadista maksimaalne protsent 0.01 ja 1 vahel, kui palju peaks kontrollsumma kontroll iga intervalli jooksul käivituma.",
"integrity_checks_checksum_files_time_limit": "Ajaline piirang",
"integrity_checks_checksum_files_time_limit_description": "Seadista maksimaalne kestus, kui kaua peaks kontrollsumma kontroll iga intervalli jooksul käivituma. (ms)",
"integrity_checks_missing_files": "Puuduvad failid",
"integrity_checks_missing_files_description": "Luba või keela puuduvate failide kontroll ning seadista selle sagedus",
"integrity_checks_missing_files_enable_description": "Luba puuduvate failide kontroll",
"integrity_checks_untracked_files": "Mittejälgitud failid",
"integrity_checks_untracked_files_description": "Luba või keela mittejälgitud failide kontroll ning seadista selle sagedus",
"integrity_checks_untracked_files_enable_description": "Luba mittejälgitud failide kontroll",
"job_concurrency": "{job} samaaegsus",
"job_created": "Tööde lisatud",
"job_not_concurrency_safe": "Seda töödet pole ohutu samaaegselt käivitada.",
@@ -1453,6 +1465,7 @@
"never": "Mitte kunagi",
"new_album": "Uus album",
"new_api_key": "Uus API võti",
"new_feature": "Uus funktsionaalsus",
"new_password": "Uus parool",
"new_person": "Uus isik",
"new_pin_code": "Uus PIN-kood",
@@ -1513,6 +1526,8 @@
"obtainium_configurator": "Obtainiumi seadistamine",
"obtainium_configurator_instructions": "Androidi rakenduse otse GitHub'ist paigaldamiseks ja uuendamiseks kasuta Obtainiumit. Seadistamise lingi loomiseks lisa API võti ja vali rakenduse variant",
"ocr": "OCR",
"ocr_body": "Immich loeb nüüd teksti sinu fotodel, nii et saad selle järgi neid otsida.",
"ocr_title": "Otsi teksti oma fotodel",
"official_immich_resources": "Ametlikud Immich'i ressursid",
"offline": "Ühendus puudub",
"offset": "Nihe",
@@ -1531,6 +1546,8 @@
"open": "Ava",
"open_calendar": "Ava kalender",
"open_in_browser": "Ava brauseris",
"open_in_immich_body": "Sea Immich oma Androidi galeriirakenduseks, et fotosid otse teistest rakendustest avada.",
"open_in_immich_title": "Ava fotod Immich'is",
"open_in_map_view": "Ava kaardi vaates",
"open_in_openstreetmap": "Ava OpenStreetMap",
"open_the_search_filters": "Ava otsingufiltrid",
@@ -1688,7 +1705,9 @@
"recent": "Hiljutine",
"recent_searches": "Hiljutised otsingud",
"recently_added": "Hiljuti lisatud",
"recently_added_description": "Sirvi oma üksuseid sorteerituna Immich'isse üleslaadimise järgi",
"recently_added_page_title": "Hiljuti lisatud",
"recently_added_title": "Hiljuti lisatud",
"recently_taken": "Hiljuti tehtud",
"refresh": "Värskenda",
"refresh_encoded_videos": "Värskenda kodeeritud videod",
@@ -1895,6 +1914,8 @@
"share_link": "Jaga linki",
"share_original": "Kasuta algset (suur)",
"share_preview": "Kasuta pisipilti (väike)",
"share_quality_body": "Vajuta ja hoia jagamise nuppu, et valida enne jagamist pildifaili kvaliteet.",
"share_quality_title": "Vali jagamise kvaliteet",
"shared": "Jagatud",
"shared_album_activities_input_disable": "Kommentaarid on keelatud",
"shared_album_activity_remove_content": "Kas soovid selle tegevuse kustutada?",
@@ -1976,6 +1997,7 @@
"sign_out": "Logi välja",
"sign_up": "Registreeru",
"size": "Suurus",
"skip": "Jäta vahele",
"skip_to_content": "Sisu juurde",
"skip_to_folders": "Kaustade juurde",
"skip_to_tags": "Siltide juurde",
@@ -1986,6 +2008,7 @@
"slideshow_repeat": "Korda slaidiesitlust",
"slideshow_repeat_description": "Mine slaidiesitluse lõppedes tagasi algusesse",
"slideshow_settings": "Slaidiesitluse seaded",
"slideshow_title": "Slaidiesitlus",
"smart_album": "Nutikas album",
"some_assets_already_have_a_location_warning": "Osadel valitud üksustest on juba asukoht määratud",
"sort_albums_by": "Järjesta albumid...",
@@ -2148,6 +2171,8 @@
"upload_status_errors": "Vead",
"upload_status_uploaded": "Üleslaaditud",
"upload_success": "Üleslaadimine õnnestus, uute üksuste nägemiseks värskenda lehte.",
"upload_to_album_body": "Kui sa ei kasuta käsitsi üleslaadimise funktsionaalsust, saad nüüd fotode üleslaadimisel need otse albumisse lisada, pole vaja kõigepealt üles laadida ja seejärel albumisse lisada.",
"upload_to_album_title": "Laadi üles otse albumisse",
"upload_to_immich": "Laadi Immich'isse ({count})",
"uploading": "Üleslaadimine",
"uploading_media": "Üksuste üleslaadimine",
@@ -2215,6 +2240,9 @@
"week": "Nädal",
"welcome": "Tere tulemast",
"welcome_to_immich": "Tere tulemast Immich'isse",
"whats_new": "Mis on uut",
"whats_new_settings_subtitle": "Vaata, mis on Immich'is uut",
"whats_new_version": "Versioon {version}",
"width": "Laius",
"wifi_name": "WiFi-võrgu nimi",
"workflow": "Töövoog",
+40 -5
View File
@@ -33,7 +33,7 @@
"add_to_albums": "Ajouter aux albums",
"add_to_albums_count": "Ajouter aux albums ({count})",
"add_to_bottom_bar": "Ajouter à",
"add_upload_to_stack": "Ajouter les éléments téléversés à la pile",
"add_upload_to_stack": "Ajouter les éléments envoyés à la pile",
"add_url": "Ajouter l'URL",
"added_to_archive": "Ajouté à l'archive",
"added_to_favorites": "Ajouté aux favoris",
@@ -53,7 +53,7 @@
"backup_onboarding_1_description": "copie hors site dans le cloud ou sur un site distant.",
"backup_onboarding_2_description": "copies locales sur différents appareils. Cela inclut les fichiers principaux ainsi qu'une sauvegarde locale de ces fichiers.",
"backup_onboarding_3_description": "copies total de vos données, incluant les fichiers originaux. Cela inclut 1 copie hors site ainsi que 2 copies locales.",
"backup_onboarding_description": "Une <backblaze-link>stratégie de sauvegarde 3-2-1</backblaze-link> est recommandée pour protéger vos données. Vous devriez conserver des copies de vos photos/vidéos téléversés ainsi que de la base de données d'Immich pour une solution de sauvegarde cohérente.",
"backup_onboarding_description": "Une <backblaze-link>stratégie de sauvegarde 3-2-1</backblaze-link> est recommandée pour protéger vos données. Vous devriez conserver des copies de vos photos/vidéos envoyées ainsi que de la base de données d'Immich pour une solution de sauvegarde cohérente.",
"backup_onboarding_footer": "Pour plus d'information sur la sauvegarde d'Immich, merci de vous référer à la <link>documentation</link>.",
"backup_onboarding_parts_title": "Une sauvegarde 3-2-1 inclut :",
"backup_onboarding_title": "Sauvegardes",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualité des miniatures : de 1 à 100. Une valeur élevée produit de meilleurs résultats, mais elle produit des fichiers plus volumineux et peut réduire la réactivité de l'application.",
"image_thumbnail_title": "Paramètres des miniatures",
"import_config_from_json_description": "Importer la configuration système en envoyant un fichier de configuration JSON",
"integrity_checks_checksum_files": "Vérifier l'intégrité des fichiers",
"integrity_checks_checksum_files_description": "Configurer le test d'intégrité",
"integrity_checks_checksum_files_enable_description": "Active le test d'intégrité des fichiers (checksum)",
"integrity_checks_checksum_files_percentage_limit": "Limite de pourcentage",
"integrity_checks_checksum_files_percentage_limit_description": "Configurez le pourcentage maximal du test d'intégrité qui doit être effectué à chaque interval, entre 0.01 et 1.",
"integrity_checks_checksum_files_time_limit": "Limite de temps",
"integrity_checks_checksum_files_time_limit_description": "Configurez la durée maximale en millisecondes entre deux vérifications.",
"integrity_checks_missing_files": "Fichiers manquants",
"integrity_checks_missing_files_description": "Configurez la fréquence et activez/désactivez la vérification des fichiers manquants",
"integrity_checks_missing_files_enable_description": "Activez la vérification des fichiers manquants",
"integrity_checks_settings": "Tests d'intégrité",
"integrity_checks_settings_description": "Gérez l'interval des tests d'intégrité",
"integrity_checks_untracked_files": "Fichiers non suivis",
"integrity_checks_untracked_files_description": "Configurez la fréquence et activez/désactivez la vérification des fichiers non suivis",
"integrity_checks_untracked_files_enable_description": "Activez la vérification des fichiers non suivis",
"job_concurrency": "{job}: nombre de tâches simultanées",
"job_created": "Tâche créée",
"job_not_concurrency_safe": "Cette tâche ne peut pas être exécutée en multitâche de façon sûre.",
@@ -214,8 +229,8 @@
"maintenance_start_error": "Échec du démarrage du mode maintenance.",
"maintenance_upload_backup": "Télécharger le fichier de sauvegarde de la base de données",
"maintenance_upload_backup_error": "Impossible de télécharger la sauvegarde, s'agit-il d'un fichier .sql/.sql.gz?",
"manage_concurrency": "Gérer du multitâche",
"manage_concurrency_description": "Naviguer vers la pages des tâches pour gérer le multitâche",
"manage_concurrency": "Gestion du multitâche",
"manage_concurrency_description": "Naviguer vers la page des tâches pour gérer le multitâche",
"manage_log_settings": "Gérer les paramètres de journalisation",
"map_dark_style": "Thème sombre",
"map_enable_description": "Activer la carte",
@@ -507,7 +522,7 @@
"album_summary": "Résumé de l'album",
"album_updated": "Album mis à jour",
"album_updated_setting_description": "Recevoir une notification par courriel lorsqu'un album partagé a de nouveaux médias",
"album_upload_assets": "Téléchargez des fichiers depuis votre ordinateur et ajoutez-les à l'album",
"album_upload_assets": "Envoyez des fichiers depuis votre ordinateur et ajoutez-les à l'album",
"album_viewer_appbar_share_err_delete": "Échec de la suppression de l'album",
"album_viewer_page_share_add_users": "Ajouter des utilisateurs",
"album_with_link_access": "Permettre à n'importe qui possédant le lien de voir les photos et les personnes de cet album.",
@@ -578,6 +593,7 @@
"asset_viewer_settings_title": "Visualiseur d'éléments",
"assets": "Médias",
"assets_added_to_album_count": "{count, plural, one {# média ajouté} other {# médias ajoutés}} à l'album",
"assets_added_to_album_partial_count": "{successCount} ajouté(s) parmi {totalCount} {totalCount, plural, one {média} other {médias}} à l'album",
"assets_added_to_albums_count": "{assetTotal, plural, one {# média ajouté} other {# médias ajoutés}} à {albumTotal, plural, one {# album} other {# albums}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Le média ne peut pas être ajouté} other {Les médias ne peuvent pas être ajoutés}} à l'album",
"assets_cannot_be_added_to_albums": "{count, plural, one {Le média ne peut être ajouté} other {Les médias ne peuvent être ajoutés}} à aucun des albums",
@@ -1461,6 +1477,7 @@
"never": "Jamais",
"new_album": "Nouvel Album",
"new_api_key": "Nouvelle clé API",
"new_feature": "Nouvelle fonctionnalité",
"new_password": "Nouveau mot de passe",
"new_person": "Nouvelle personne",
"new_pin_code": "Nouveau code PIN",
@@ -1521,6 +1538,8 @@
"obtainium_configurator": "Configuration pour Obtainium",
"obtainium_configurator_instructions": "Utilisez Obtainium pour installer et mettre à jour l'application Android directement depuis la version d'Immich sur Github. Créez une clé d'API et sélectionnez une variante pour créer votre lien de configuration pour Obtainium",
"ocr": "Reconnaissance Optique de Caractères OCR",
"ocr_body": "Immich peut désormais lire le texte dans vos photos, pour que vous puissiez les chercher dans votre galerie par ce qu'elles disent.",
"ocr_title": "Cherchez le texte dans vos photos",
"official_immich_resources": "Ressources Immich officielles",
"offline": "Hors ligne",
"offset": "Décalage",
@@ -1539,6 +1558,8 @@
"open": "Ouvrir",
"open_calendar": "Ouvrir le calendrier",
"open_in_browser": "Ouvrir dans le navigateur",
"open_in_immich_body": "Définissez Immich comme vote application de gallerie par défaut sur Android pour ouvrir vos photos directement depuis les autres applications.",
"open_in_immich_title": "Ouvrir les photos dans Immich",
"open_in_map_view": "Montrer sur la carte",
"open_in_openstreetmap": "Ouvrir dans OpenStreetMap",
"open_the_search_filters": "Ouvrir les filtres de recherche",
@@ -1697,7 +1718,10 @@
"recent": "Récent",
"recent_searches": "Recherches récentes",
"recently_added": "Récemment ajouté",
"recently_added_body": "Allez directement à ce que vous avez ajouté récemment dans une page dédiée.",
"recently_added_description": "Naviguez dans vos médias, triés par date d'envoi dans Immich",
"recently_added_page_title": "Récemment ajouté",
"recently_added_title": "Ajouté récemment",
"recently_taken": "Récemment photographié",
"refresh": "Actualiser",
"refresh_encoded_videos": "Actualiser les vidéos encodées",
@@ -1904,6 +1928,8 @@
"share_link": "Partager le lien",
"share_original": "Utiliser l'originale (grand)",
"share_preview": "Utiliser la miniature (petite)",
"share_quality_body": "Appuyez longtemps sur le bouton partager pour choisir la qualité d'image avant de partager.",
"share_quality_title": "Choisissez votre qualité d'envoi",
"shared": "Partagé",
"shared_album_activities_input_disable": "Les commentaires sont désactivés",
"shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activité ?",
@@ -1985,16 +2011,19 @@
"sign_out": "Déconnexion",
"sign_up": "S'enregistrer",
"size": "Taille",
"skip": "Passer",
"skip_to_content": "Passer",
"skip_to_folders": "Passer vers les dossiers",
"skip_to_tags": "Passer vers les étiquettes",
"slideshow": "Diaporama",
"slideshow_body": "Relaxez-vous et regardez vos photos dans un diaporama en plein écran.",
"slideshow_metadata_overlay_mode": "Contenu en superposition",
"slideshow_metadata_overlay_mode_description_only": "Seulement la description",
"slideshow_metadata_overlay_mode_full": "Tout",
"slideshow_repeat": "Répéter le diaporama",
"slideshow_repeat_description": "Reboucler au début lorsque le diaporama se termine",
"slideshow_settings": "Paramètres du diaporama",
"slideshow_title": "Diaporama",
"smart_album": "Album intelligent",
"some_assets_already_have_a_location_warning": "Certains médias sélectionnés ont déjà une localisation",
"sort_albums_by": "Trier les albums par...",
@@ -2122,6 +2151,7 @@
"unknown": "Inconnu",
"unknown_country": "Pays non connu",
"unknown_date": "Date inconnue",
"unknown_schema": "Schéma inconnu",
"unknown_year": "Année inconnue",
"unlimited": "Illimité",
"unlink_motion_video": "Détacher la photo animée",
@@ -2157,6 +2187,8 @@
"upload_status_errors": "Erreurs",
"upload_status_uploaded": "Envoyé",
"upload_success": "Envoi réussi. Rafraîchissez la page pour voir les nouveaux médias envoyés.",
"upload_to_album_body": "Pour les utilisateurs qui n'utilise pas la fonctionnalité de mise en ligne manuelle, vous pouvez maintenant ajouter vos photos locales directement dans un album, plus besoin de mettre en ligne puis de déplacer dans un album après.",
"upload_to_album_title": "Mettre en ligne directement dans un album",
"upload_to_immich": "Envoyer vers Immich ({count})",
"uploading": "Envoi",
"uploading_media": "Envoi du média",
@@ -2224,6 +2256,9 @@
"week": "Semaine",
"welcome": "Bienvenue",
"welcome_to_immich": "Bienvenue sur Immich",
"whats_new": "Quoi de neuf",
"whats_new_settings_subtitle": "Découvrez les nouveautés dans Immich",
"whats_new_version": "Version {version}",
"when": "Quand",
"width": "Largeur",
"wifi_name": "Nom du réseau wifi",
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Calidade da miniatura de 1 a 100. Canto máis alto, mellor, pero produce ficheiros máis grandes e pode reducir a capacidade de resposta da aplicación.",
"image_thumbnail_title": "Configuración da miniatura",
"import_config_from_json_description": "Importar a configuración do sistema subindo un arquivo de configuración JSON",
"integrity_checks_checksum_files": "Ficheiros de suma de verificación",
"integrity_checks_checksum_files_description": "Configurar a comprobación da suma de comprobación",
"integrity_checks_checksum_files_enable_description": "Activar a comprobación da suma de verificación",
"integrity_checks_checksum_files_percentage_limit": "Límite porcentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configura a porcentaxe máxima entre 0,01 e 1 para a duración da comprobación da suma de verificación en cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Límite de tempo",
"integrity_checks_checksum_files_time_limit_description": "Configura a duración máxima durante a que se debe executar a comprobación da suma de comprobación en cada intervalo. (ms)",
"integrity_checks_missing_files": "Arquivos que faltan",
"integrity_checks_missing_files_description": "Configura a frecuencia e activa ou desactiva a comprobación de arquivos que faltan",
"integrity_checks_missing_files_enable_description": "Activar a comprobación de arquivos que faltan",
"integrity_checks_settings": "Comprobacións de integridade",
"integrity_checks_settings_description": "Xestionar intervalos de comprobacións de integridade",
"integrity_checks_untracked_files": "Arquivos sen rastrexar",
"integrity_checks_untracked_files_description": "Configura a frecuencia e activa ou desactiva a comprobación de arquivos sen rastrexar",
"integrity_checks_untracked_files_enable_description": "Activar a comprobación de arquivos sen rastrexar",
"job_concurrency": "concorrencia de {job}",
"job_created": "Traballo creado",
"job_not_concurrency_safe": "Este traballo non é seguro para execución concorrente.",
@@ -1461,6 +1476,7 @@
"never": "Nunca",
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave API",
"new_feature": "Nova función",
"new_password": "Novo contrasinal",
"new_person": "Nova persoa",
"new_pin_code": "Novo código PIN",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Configurador de Obtainium",
"obtainium_configurator_instructions": "Emprega Obtainium para instalar e actualizar a aplicación de Android directamente desde o lanzamento do GitHub de Immich. Crea unha chave API e selecciona unha variante para xerar o teu enlace de configuración de Obtainium",
"ocr": "OCR",
"ocr_body": "Agora Immich le o texto que hai dentro das túas fotos, para que poidas buscalas polo que din.",
"ocr_title": "Buscar texto nas túas fotos",
"official_immich_resources": "Recursos Oficiais de Immich",
"offline": "Fóra de liña",
"offset": "Desprazamento",
@@ -1539,6 +1557,8 @@
"open": "Abrir",
"open_calendar": "Abrir calendario",
"open_in_browser": "Abrir no navegador",
"open_in_immich_body": "Configura Immich como a túa galería en Android para abrir fotos directamente doutras aplicacións.",
"open_in_immich_title": "Abrir fotos en Immich",
"open_in_map_view": "Abrir na vista de mapa",
"open_in_openstreetmap": "Abrir en OpenStreetMap",
"open_the_search_filters": "Abrir os filtros de busca",
@@ -1697,7 +1717,10 @@
"recent": "Recente",
"recent_searches": "Buscas recentes",
"recently_added": "Engadido recentemente",
"recently_added_body": "Vaia directamente a todo o que engadiu ultimamente nunha páxina específica.",
"recently_added_description": "Explora os teus recursos ordenados por cando foron cargados en Immich",
"recently_added_page_title": "Engadido Recentemente",
"recently_added_title": "Engadida recentemente",
"recently_taken": "Tomado recentemente",
"refresh": "Actualizar",
"refresh_encoded_videos": "Actualizar vídeos codificados",
@@ -1904,6 +1927,8 @@
"share_link": "Ligazón para Compartir",
"share_original": "Utilizar orixinal (grande)",
"share_preview": "Utilizar miniatura (pequena)",
"share_quality_body": "Mantén premido o botón de compartir para escoller a calidade da imaxe antes de compartila.",
"share_quality_title": "Escolle a calidade da compartición",
"shared": "Compartido",
"shared_album_activities_input_disable": "O comentario está desactivado",
"shared_album_activity_remove_content": "Quere eliminar esta actividade?",
@@ -1985,16 +2010,19 @@
"sign_out": "Pechar Sesión",
"sign_up": "Rexistrarse",
"size": "Tamaño",
"skip": "Saltar",
"skip_to_content": "Saltar ao contido",
"skip_to_folders": "Saltar a cartafoles",
"skip_to_tags": "Saltar a etiquetas",
"slideshow": "Presentación",
"slideshow_body": "Reláxate e mira as túas fotos reproducíndose nunha presentación de diapositivas a pantalla completa.",
"slideshow_metadata_overlay_mode": "Contido superposto",
"slideshow_metadata_overlay_mode_description_only": "Só descrición",
"slideshow_metadata_overlay_mode_full": "Cheo",
"slideshow_repeat": "Repetir presentación de diapositivas",
"slideshow_repeat_description": "Volver ao principio ao rematar a presentación de diapositivas",
"slideshow_settings": "Configuración da presentación",
"slideshow_title": "Presentación de diapositivas",
"smart_album": "Álbume intelixente",
"some_assets_already_have_a_location_warning": "Algúns dos recursos seleccionados xa teñen unha localización",
"sort_albums_by": "Ordenar álbums por...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Erros",
"upload_status_uploaded": "Subido",
"upload_success": "Subida exitosa. Actualice a páxina para ver os novos activos subidos.",
"upload_to_album_body": "Para os usuarios que non empreguen a función de carga manual, agora poden optar por engadir fotos locais directamente a un álbum mentres as cargan, sen necesidade de cargalas e engadlas a un álbum máis tarde.",
"upload_to_album_title": "Subir directamente a un álbum",
"upload_to_immich": "Subir a Immich ({count})",
"uploading": "Subindo",
"uploading_media": "Cargando multimedia",
@@ -2224,6 +2254,9 @@
"week": "Semana",
"welcome": "Benvido/a",
"welcome_to_immich": "Benvido/a a Immich",
"whats_new": "O que hai de novo",
"whats_new_settings_subtitle": "Vexa as novidades de Immich",
"whats_new_version": "Versión {version}",
"when": "Cando",
"width": "Ancho",
"wifi_name": "Nome da wifi",
+2
View File
@@ -72,6 +72,7 @@
"cron_expression_description": "क्रॉन प्रारूप का उपयोग करके स्कैनिंग अंतराल सेट करें। अधिक जानकारी के लिए कृपया <link>क्रोनटैब गुरु</link> देखें",
"cron_expression_presets": "क्रॉन अभिव्यक्ति प्रीसेट",
"disable_login": "लॉगिन अक्षम करें",
"download_csv": "सीएसवी डाउनलोड करें",
"duplicate_detection_job_description": "समान छवियों का पता लगाने के लिए संपत्तियों पर मशीन लर्निंग चलाएं। यह कार्यक्षमता स्मार्ट खोज पर निर्भर करती है",
"exclusion_pattern_description": "Exclusion पैटर्न आपको अपनी लाइब्रेरी को स्कैन करते समय फ़ाइलों और फ़ोल्डरों को अनदेखा करने देता है। यह उपयोगी है यदि आपके पास ऐसे फ़ोल्डर हैं जिनमें ऐसी फ़ाइलें हैं जिन्हें आप आयात नहीं करना चाहते हैं, जैसे RAW फ़ाइलें।",
"export_config_as_json_description": "वर्तमान सिस्टम कॉन्फ़िगरेशन को JSON फ़ाइल के रूप में डाउनलोड करें",
@@ -106,6 +107,7 @@
"image_thumbnail_quality_description": "थंबनेल की गुणवत्ता 1-100 तक। उच्चतर बेहतर है, लेकिन बड़ी फ़ाइलें बनाता है और ऐप की प्रतिक्रियाशीलता को कम कर सकता है।",
"image_thumbnail_title": "थंबनेल सेटिंग्स",
"import_config_from_json_description": "JSON कॉन्फ़िगरेशन फ़ाइल अपलोड करके सिस्टम कॉन्फ़िगरेशन इंपोर्ट करें",
"integrity_checks_checksum_files_time_limit": "समय सीमा",
"job_concurrency": "{job} समरूपता",
"job_created": "नौकरी बनाई गई",
"job_not_concurrency_safe": "यह कार्य (जॉब) समवर्ती-सुरक्षित नहीं है।",
+6
View File
@@ -108,6 +108,12 @@
"image_thumbnail_quality_description": "Kvaliteta sličica od 1-100. Više je bolje, ali proizvodi veće datoteke i može smanjiti odziv aplikacije.",
"image_thumbnail_title": "Postavke sličica",
"import_config_from_json_description": "Učitaj konfiguraciju sustava učitavanjem JSON datoteke konfiguracije",
"integrity_checks_checksum_files": "Provjeri kontrolni broj datoteka",
"integrity_checks_checksum_files_description": "Kofiguriraj provjeru kontrolnog broja",
"integrity_checks_checksum_files_enable_description": "Omogući provjeru kontrolnog broja",
"integrity_checks_checksum_files_percentage_limit": "Postotno ograničenje",
"integrity_checks_checksum_files_percentage_limit_description": "Konfiguriraj maksimalni postotak, između 0.01 i 1, za koliko se provjera kontrolnog zbroja treba izvršavati u svakom intervalu.",
"integrity_checks_checksum_files_time_limit": "Ograničenje vremena",
"job_concurrency": "{job} istovremenost",
"job_created": "Zadatak je kreiran",
"job_not_concurrency_safe": "Ovaj posao nije siguran za istovremenost.",
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Bélyegkép minősége 1-100 között. A magasabb szám jobb minőséget, de nagyobb fájlméretet eredményez és belassíthatja az alkalmazást.",
"image_thumbnail_title": "Bélyegkép beállítások",
"import_config_from_json_description": "Rendszer konfiguráció importálása JSON fájlból",
"integrity_checks_checksum_files": "Ellenőrzőösszeg fájlok",
"integrity_checks_checksum_files_description": "Az ellenőrzőösszeg-ellenőrzés beállítása",
"integrity_checks_checksum_files_enable_description": "Ellenőrzőösszeg-ellenőrzés bekapcsolása",
"integrity_checks_checksum_files_percentage_limit": "Százalékos limit",
"integrity_checks_checksum_files_percentage_limit_description": "Állítsd be 0,01 és 1 közötti értékre azt a maximális százalékot, amely meghatározza, hogy az ellenőrzőösszeg-ellenőrzés az egyes időközökben milyen gyakorisággal fusson.",
"integrity_checks_checksum_files_time_limit": "Idő limit",
"integrity_checks_checksum_files_time_limit_description": "Állítsd be, hogy az egyes időközökben az ellenőrzőösszeg-ellenőrzés legfeljebb mennyi ideig futhasson. (ms)",
"integrity_checks_missing_files": "Hiányzó fájlok",
"integrity_checks_missing_files_description": "Gyakoriság beállítása, valamint a hiányzó fájlok ellenőrzésének engedélyezése vagy letiltása",
"integrity_checks_missing_files_enable_description": "A hiányzó fájlok ellenőrzésének engedélyezése",
"integrity_checks_settings": "Integritás ellenőrzések",
"integrity_checks_settings_description": "Integritás-ellenőrzések gyakoriságának kezelése",
"integrity_checks_untracked_files": "Nem követett fájlok",
"integrity_checks_untracked_files_description": "Gyakoriság beállítása, valamint nem követett fájlok ellenőrzésének engedélyezése vagy letiltása",
"integrity_checks_untracked_files_enable_description": "Nem követett fájlok ellenőrzésének engedélyezése",
"job_concurrency": "{job} párhuzamosan",
"job_created": "Feladat létrehozva",
"job_not_concurrency_safe": "Ez a feladat nem párhuzamosság-biztos.",
@@ -1461,6 +1476,7 @@
"never": "Soha",
"new_album": "Új album",
"new_api_key": "Új API kulcs",
"new_feature": "Új funkció",
"new_password": "Új jelszó",
"new_person": "Új személy",
"new_pin_code": "Új PIN kód",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Obtainium konfigurátor",
"obtainium_configurator_instructions": "Az Obtainium segítségével közvetlenül az Immich GitHub-os kiadásából telepítheted és frissítheted az Android-alkalmazást. Hozz létre egy API-kulcsot és válassz egy változatot az Obtainium konfigurációs hivatkozás elkészítéséhez",
"ocr": "OCR",
"ocr_body": "Az Immich mostantól elolvassa a fotókon szereplő szöveget, így a szöveg alapján is kereshetsz közöttük.",
"ocr_title": "Szövegkeresés a fényképeidben",
"official_immich_resources": "Hivatalos Immich források",
"offline": "Nem elérhető (offline)",
"offset": "Eltolás",
@@ -1539,6 +1557,8 @@
"open": "Nyitva",
"open_calendar": "Naptár megnyitása",
"open_in_browser": "Megnyitás böngészőben",
"open_in_immich_body": "Állítsd be az Immich-et galériádként az Androidon, hogy a fényképeket közvetlenül más alkalmazásokból nyithasd meg.",
"open_in_immich_title": "Fotók megnyitása az Immich-ben",
"open_in_map_view": "Megnyitás térkép nézetben",
"open_in_openstreetmap": "Megnyitás OpenStreetMap-ben",
"open_the_search_filters": "Keresési szűrők megnyitása",
@@ -1697,7 +1717,10 @@
"recent": "Friss",
"recent_searches": "Legutóbbi keresések",
"recently_added": "Nemrég hozzáadott",
"recently_added_body": "Egy külön oldalon azonnal megtekintheted az összes legutóbb hozzáadott elemet.",
"recently_added_description": "Az Immich-re való feltöltés időpontja szerint rendezve böngészheted a fájljaid",
"recently_added_page_title": "Nemrég hozzáadott",
"recently_added_title": "Legutóbb hozzáadott",
"recently_taken": "Nemrég készített",
"refresh": "Frissítés",
"refresh_encoded_videos": "Átkódolt videók frissítése",
@@ -1904,6 +1927,8 @@
"share_link": "Link megosztása",
"share_original": "Használd az eredetit (nagy)",
"share_preview": "Használd a miniatűrt (kicsi)",
"share_quality_body": "A megosztás előtt tartsa lenyomva a megosztás gombot, hogy kiválassza a képminőséget.",
"share_quality_title": "Válaszd ki a megosztási minőséget",
"shared": "Megosztva",
"shared_album_activities_input_disable": "Hozzászólások kikapcsolva",
"shared_album_activity_remove_content": "Törölni szeretnéd ezt a tevékenységet?",
@@ -1985,16 +2010,19 @@
"sign_out": "Kijelentkezés",
"sign_up": "Regisztráció",
"size": "Méret",
"skip": "Kihagyás",
"skip_to_content": "Ugrás a tartalomhoz",
"skip_to_folders": "Ugrás a mappákhoz",
"skip_to_tags": "Ugrás a címkékhez",
"slideshow": "Diavetítés",
"slideshow_body": "Dőlj hátra, és nézd meg fotóidat teljes képernyős diavetítésben.",
"slideshow_metadata_overlay_mode": "Képadatok tartalma",
"slideshow_metadata_overlay_mode_description_only": "Csak leírás",
"slideshow_metadata_overlay_mode_full": "Teljes",
"slideshow_repeat": "Diavetítés ismétlése",
"slideshow_repeat_description": "Ha a diavetítés véget ér, újraindul az elejétől",
"slideshow_settings": "Diavetítés beállításai",
"slideshow_title": "Diavetítés",
"smart_album": "Okos album",
"some_assets_already_have_a_location_warning": "A kiválasztott elemek közül néhánynak már van helyszíne",
"sort_albums_by": "Albumok rendezése...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Hibák",
"upload_status_uploaded": "Feltöltve",
"upload_success": "Feltöltés sikeres, frissítsd az oldalt az újonnan feltöltött elemek megtekintéséhez.",
"upload_to_album_body": "Azok a felhasználók, akik nem használják a kézi feltöltési funkciót, mostantól a helyi fényképeket feltöltés közben közvetlenül hozzáadhatják egy albumhoz; így már nem kell először feltölteniük a képeket, majd később hozzáadniuk őket az albumhoz.",
"upload_to_album_title": "Feltöltés közvetlenül egy albumba",
"upload_to_immich": "Feltöltés Immich-be ({count})",
"uploading": "Feltöltés folyamatban",
"uploading_media": "Média feltöltés folyamatban",
@@ -2224,6 +2254,9 @@
"week": "Hét",
"welcome": "Üdvözlünk",
"welcome_to_immich": "Üdvözöl az Immich",
"whats_new": "Újdonságok",
"whats_new_settings_subtitle": "Nézd meg az Immich újdonságait",
"whats_new_version": "{version} verzió",
"when": "Mikor",
"width": "Szélesség",
"wifi_name": "Wi-Fi neve",
+28 -1
View File
@@ -108,9 +108,23 @@
"image_thumbnail_quality_description": "Qualità delle miniature da 1 a 100. Un valore più alto è migliore ma produce file più grandi e può ridurre la reattività dell'app.",
"image_thumbnail_title": "Impostazioni miniature",
"import_config_from_json_description": "Importa la configurazione del sistema caricando un file JSON",
"integrity_checks_checksum_files_description": "Configura il controllo del checksum",
"integrity_checks_checksum_files_enable_description": "Attiva il controllo del checksum",
"integrity_checks_checksum_files_percentage_limit": "Limite percentuale",
"integrity_checks_checksum_files_percentage_limit_description": "Imposta la percentuale massima, compresa tra 0,01 e 1, che indica la frequenza con cui deve essere eseguito il controllo del checksum in ciascun intervallo.",
"integrity_checks_checksum_files_time_limit": "Limite di tempo",
"integrity_checks_checksum_files_time_limit_description": "Configura la durata massima della verifica del checksum per ciascun intervallo. (ms)",
"integrity_checks_missing_files": "File mancanti",
"integrity_checks_missing_files_description": "Configurare la frequenza e attivare o disattivare il controllo dei file mancanti",
"integrity_checks_missing_files_enable_description": "Attiva il controllo dei file mancanti",
"integrity_checks_settings": "Controlli integrità",
"integrity_checks_settings_description": "Gestisci l'intervallo dei controlli di integrità",
"integrity_checks_untracked_files": "File non tracciati",
"integrity_checks_untracked_files_description": "Configurare la frequenza e attivare/disattivare il controllo dei file non tracciati",
"integrity_checks_untracked_files_enable_description": "Abilita il controllo dei file non tracciati",
"job_concurrency": "Concorrenza {job}",
"job_created": "Processo creato",
"job_not_concurrency_safe": "Questo processo non è eseguibile in maniera concorrente.",
"job_not_concurrency_safe": "Questa operazione non è sicura dal punto di vista della concorrenza.",
"job_settings": "Impostazioni processi",
"job_settings_description": "Gestisci la concorrenza dei processi",
"jobs_delayed": "{jobCount, plural, one {# posticipato} other {# posticipati}}",
@@ -1461,6 +1475,7 @@
"never": "Mai",
"new_album": "Nuovo Album",
"new_api_key": "Nuova Chiave di API",
"new_feature": "Nuova funzionalità",
"new_password": "Nuova password",
"new_person": "Nuova persona",
"new_pin_code": "Nuovo codice PIN",
@@ -1521,6 +1536,8 @@
"obtainium_configurator": "Configuratore Obtainium",
"obtainium_configurator_instructions": "Utilizza Obtainium per installare e aggiornare l'app Android direttamente dalla versione rilasciata su GitHub da Immich. Crea una chiave API e seleziona una variante per creare il tuo link di configurazione Obtainium",
"ocr": "OCR",
"ocr_body": "Immich ora riconosce il testo contenuto nelle tue foto, così puoi cercarle in base a ciò che dicono.",
"ocr_title": "Cerca tra il testo nelle tue foto",
"official_immich_resources": "Risorse Ufficiali Immich",
"offline": "Offline",
"offset": "Offset",
@@ -1539,6 +1556,8 @@
"open": "Apri",
"open_calendar": "Apri il calendario",
"open_in_browser": "Apri con il browser",
"open_in_immich_body": "Imposta Immich come galleria su Android per aprire le foto direttamente da altre app.",
"open_in_immich_title": "Apri foto in Immich",
"open_in_map_view": "Apri nella visualizzazione mappa",
"open_in_openstreetmap": "Apri su OpenStreetMap",
"open_the_search_filters": "Apri filtri di ricerca",
@@ -1697,7 +1716,10 @@
"recent": "Recenti",
"recent_searches": "Ricerche recenti",
"recently_added": "Aggiunti recentemente",
"recently_added_body": "Vai direttamente a tutto ciò che hai aggiunto di recente su una pagina dedicata.",
"recently_added_description": "Sfoglia le tue risorse ordinate in base alla data di caricamento su Immich",
"recently_added_page_title": "Aggiunti di recente",
"recently_added_title": "Aggiunto di recente",
"recently_taken": "Scattate di recente",
"refresh": "Ricarica",
"refresh_encoded_videos": "Ricarica video codificati",
@@ -1904,6 +1926,8 @@
"share_link": "Link di condivisione",
"share_original": "Usa originale (grande)",
"share_preview": "Usa miniatura (piccola)",
"share_quality_body": "Tieni premuto il pulsante di condivisione per scegliere la qualità dell'immagine prima di condividerla.",
"share_quality_title": "Seleziona la qualità di condivisione",
"shared": "Condivisi",
"shared_album_activities_input_disable": "I commenti sono disabilitati",
"shared_album_activity_remove_content": "Vuoi eliminare questa attività?",
@@ -1985,16 +2009,19 @@
"sign_out": "Esci",
"sign_up": "Registrati",
"size": "Dimensione",
"skip": "Salta",
"skip_to_content": "Salta al contenuto",
"skip_to_folders": "Salta alle cartelle",
"skip_to_tags": "Salta ai tag",
"slideshow": "Presentazione",
"slideshow_body": "Rilassati e guarda le tue foto scorrere in una presentazione a schermo intero.",
"slideshow_metadata_overlay_mode": "Contenuto dell'overlay",
"slideshow_metadata_overlay_mode_description_only": "Solo descrizione",
"slideshow_metadata_overlay_mode_full": "Completo",
"slideshow_repeat": "Ripeti presentazione",
"slideshow_repeat_description": "Ricomincia da capo quando la presentazione termina",
"slideshow_settings": "Impostazioni presentazione",
"slideshow_title": "Presentazione",
"smart_album": "Raccolta intelligente",
"some_assets_already_have_a_location_warning": "Alcune delle risorse selezionate hanno già una posizione",
"sort_albums_by": "Ordina album per...",
+8 -3
View File
@@ -108,6 +108,11 @@
"image_thumbnail_quality_description": "섬네일 품질을 1~100 범위에서 설정합니다. 값이 클수록 좋지만 파일 크기가 커지고 앱 반응 속도가 느려질 수 있습니다.",
"image_thumbnail_title": "섬네일 설정",
"import_config_from_json_description": "JSON 파일을 업로드하여 시스템 구성을 가져옵니다.",
"integrity_checks_checksum_files": "체크섬 파일",
"integrity_checks_checksum_files_enable_description": "체크섬 확인 활성화",
"integrity_checks_checksum_files_percentage_limit": "퍼센트 한도",
"integrity_checks_missing_files": "누락된 파일",
"integrity_checks_missing_files_enable_description": "누락된 파일 확인 활성화",
"job_concurrency": "{job} 동시성",
"job_created": "작업이 생성되었습니다.",
"job_not_concurrency_safe": "이 작업은 동시 실행에 안전하지 않습니다.",
@@ -1303,9 +1308,9 @@
"login_form_failed_login": "로그인 중 오류가 발생했습니다. 서버 URL, 이메일 및 비밀번호를 확인하세요.",
"login_form_handshake_exception": "서버와 통신 중 인증서 예외가 발생했습니다. 자체 서명된 인증서를 사용 중이라면, 설정에서 자체 서명된 인증서 허용을 활성화하세요.",
"login_form_password_hint": "비밀번호",
"login_form_server_empty": "서버 URL 입력하세요.",
"login_form_server_error": "서버에 연결할 수 없습니다.",
"login_has_been_disabled": "로그인이 비활성화되었습니다.",
"login_form_server_empty": "서버 URL 입력",
"login_form_server_error": "서버에 연결할 수 없",
"login_has_been_disabled": "로그인이 비활성화",
"login_password_changed_error": "비밀번호 변경 중 오류가 발생했습니다.",
"login_password_changed_success": "비밀번호가 변경되었습니다.",
"logout_all_device_confirmation": "모든 기기에서 로그아웃하시겠습니까?",
+14
View File
@@ -108,6 +108,20 @@
"image_thumbnail_quality_description": "Miniatiūros kokybė nuo 1-100. Aukštesnės reikšmės yra geriau, bet pagaminami didesni failai ir gali būti sulėtintas programos reagavimo greitis.",
"image_thumbnail_title": "Miniatiūros nustatymai",
"import_config_from_json_description": "Importuokite sistemos konfigūraciją, įkeliant JSON konfigūracijos failą",
"integrity_checks_checksum_files": "Kontrolinės sumos failai",
"integrity_checks_checksum_files_description": "Konfigūruoti kontrolinės sumos patikrą",
"integrity_checks_checksum_files_enable_description": "Įjungti kontrolinės sumos patikrą",
"integrity_checks_checksum_files_percentage_limit": "Procentinis limitas",
"integrity_checks_checksum_files_time_limit": "Laiko limitas",
"integrity_checks_checksum_files_time_limit_description": "Konfigūruoti maksimalią trukmę, per kurią kontrolinės sumos patikra turėtų būti atlikta kiekvieną intervalą. (ms)",
"integrity_checks_missing_files": "Trūkstami failai",
"integrity_checks_missing_files_description": "Konfigūruoti dažnumą ir įjungti arba išjungti trūkstamų failų patikrą",
"integrity_checks_missing_files_enable_description": "Įjungti trūkstamų failų patikrą",
"integrity_checks_settings": "Vientisumo patikra",
"integrity_checks_settings_description": "Tvarkyti vientisumo patikrų intervalus",
"integrity_checks_untracked_files": "Nesekami failai",
"integrity_checks_untracked_files_description": "Konfigūruoti dažnumą ir įjungti arba išjungti nesekamų failų patikrą",
"integrity_checks_untracked_files_enable_description": "Įjungti nesekamų failų patikrą",
"job_concurrency": "{job} lygiagretumas",
"job_created": "Užduotis sukurta",
"job_not_concurrency_safe": "Ši užduotis nėra saugi apdoroti lygiagrečiai.",
+368 -4
View File
File diff suppressed because it is too large Load Diff
+126 -15
View File
@@ -4,29 +4,29 @@
"account_settings": "खाते व्यवस्था",
"acknowledge": "मान्यता",
"action": "कृती",
"action_common_update": "अद्ययावत",
"action_common_update": "अद्यत",
"action_description": "फिल्टर केलेल्या माध्यमांवर करायच्या क्रियांचा संच",
"actions": "कृत्ये",
"active": "सक्रिय",
"active_count": "कृती: {count}",
"active_count": "कृती: {संख्या}",
"activity": "गतिविधि",
"add": "जोडा",
"add_a_description": "वर्णन करा",
"add_a_location": "एक स्थळ टाका",
"add_a_name": "नाव टाका",
"add_a_title": "शीर्षक टाका",
"add_a_location": "एक स्थळ जोडा",
"add_a_name": "नाव जोडा",
"add_a_title": "शीर्षक जोडा",
"add_action": "कृती जोडा",
"add_assets": "माध्यमे जोडा",
"add_birthday": "जन्मदिवस नोंदवा",
"add_endpoint": "एंडपॉइंट जोडा",
"add_exclusion_pattern": "अपवाद नमुना जोडा",
"add_location": "स्थळ टाका",
"add_location": "स्थळ जोडा",
"add_partner": "भागीदार जोडा",
"add_photos": "छायाचित्रे जोडा",
"add_step": "पायरी जोडा",
"add_step": "टप्पा जोडा",
"add_tag": "टॅग जोडा",
"add_to": "त्या मध्ये जोडा…",
"add_to_album": "संग्रहात टाका",
"add_to_album": "संग्रहात जोडा",
"add_to_album_bottom_sheet_added": "{album} मध्ये जोडले गेले",
"add_to_album_bottom_sheet_already_exists": "आधीच {album} मध्ये आहे",
"add_to_album_bottom_sheet_some_local_assets": "काही स्थानिक माध्यमे अल्बममध्ये जोडणे शक्य झाले नाही",
@@ -37,7 +37,7 @@
"add_url": "URL प्रविष्ट करा",
"added_to_archive": "संग्रहित केले",
"added_to_favorites": "आवडत्या संग्रहात जोडले",
"added_to_favorites_count": "आवडत्यात {count, number} टाकले",
"added_to_favorites_count": "आवडत्यात {count, number} जोडले",
"admin": {
"add_exclusion_pattern_description": "अपवाद अनुकूलन जोडा. ** आणि ? या उपयोगात ग्लोबिंग समर्थित आहे. कोणत्याही \"Raw\" नावाच्या निर्देशिकेमधील सर्व खतावण्या दुर्लक्षीत करण्यासाठी \"/Raw/\" वापरा. \".tif\" या सामान्य पथावर समाप्त असलेल्या सर्व खतावण्या दुर्लक्षीत करण्यासाठी \"**/.tif\" वापरा. विशिष्ट पथ दुर्लक्ष करण्यासाठी \"/path/to/ignore/**\" वापरा.",
"admin_user": "प्रशासन वापरकर्ता",
@@ -67,13 +67,17 @@
"confirm_reprocess_all_faces": "तुम्हाला खात्री आहे का की तुम्हाला सर्व चेहऱ्यांवर पुन्हा प्रक्रिया करायची आहे? यामुळे नाव दिलेले लोकही साफ होतील.",
"confirm_user_password_reset": "तुम्हाला नक्की {user} चा परवलीचा शब्द बदलायचा आहे का?",
"confirm_user_pin_code_reset": "तुम्हाला नक्की {user} चा पिन कोड रीसेट करायचा आहे का?",
"copy_config_to_clipboard_description": "चालू सिस्टम कॉन्फिगरेशन JSON ऑब्जेक्ट म्हणून क्लिपबोर्डवर कॉपी करा",
"create_job": "कार्य बनवा",
"cron_expression": "वेळापत्रक सूत्र",
"cron_expression_description": "चाळन्याचे वेळापत्रक क्रॉन पद्धती ने करा. अधिक माहिती साठी पहा: <link> क्रॉन गुरु</link>",
"cron_expression_presets": "पूर्वनिर्धारित वेळापत्रक सूत्रे",
"disable_login": "प्रवेशाधिकर वर्ज्य करा",
"download_csv": "CSV डाउनलोड करा",
"duplicate_detection_job_description": "सारख्या छायाचित्रांचा शोध घेण्यासाठी यांत्रिकी प्रशिक्षण द्या. ही कार्यक्षमता चतुर शोधप्रणालीवर अवलंबून आहे",
"exclusion_pattern_description": "आपले संग्रहालय चाळताना अपवाद नमुने आपल्याला खतावण्या आणि र्निर्देशिकेला दुर्लक्षीत करू देतात. आपल्याकडे कच्च्या खतावण्या सारख्या आयात करू इच्छित नसलेल्या असंपादित (RAW) खतावण्या असलेल्या निर्देशिका असल्यास हे उपयुक्त आहे.",
"export_config_as_json_description": "चालू सिस्टम कॉन्फिगरेशन JSON फाईल म्हणून डाउनलोड करा",
"external_libraries_page_description": "बाह्य ग्रंथालयाच्या पृष्ठाचे व्यवस्थापन",
"face_detection": "मुख संशोधन",
"face_detection_description": "मशीन लर्निंग वापरून मालमत्तांमधील चेहरे शोधा. व्हिडिओंसाठी, फक्त थंबनेलचा विचार केला जातो. \"रिफ्रेश\" (पुन्हा) सर्व मालमत्तांवर प्रक्रिया करते. \"रीसेट\" याव्यतिरिक्त सर्व वर्तमान चेहरा डेटा साफ करते. \"गहाळ\" मालमत्तांवर अद्याप प्रक्रिया न केलेल्या रांगेत ठेवते. शोधलेले चेहरे फेस डिटेक्शन पूर्ण झाल्यानंतर फेशियल रेकग्निशनसाठी रांगेत ठेवले जातील, त्यांना विद्यमान किंवा नवीन लोकांमध्ये गटबद्ध केले जाईल.",
"facial_recognition_job_description": "शोधलेले चेहरे लोकांमध्ये गटबद्ध करा. हे चरण चेहरा शोधणे पूर्ण झाल्यानंतर चालते. \"रीसेट करा\" (पुन्हा) सर्व चेहरे क्लस्टर कर. \"गहाळ\" चेहरे रांगेत समाविष्ट करते ज्यांना नियुक्त केलेली व्यक्ती नाही.",
@@ -93,6 +97,8 @@
"image_preview_description": "एकच मालमत्ता पाहताना आणि मशीन लर्निंगसाठी वापरली जाणारी, मेटाडेटा काढून दिलेली मध्यम आकाराची प्रतिमा",
"image_preview_quality_description": "पूर्वावलोकन गुणवत्ता 1–100: जितकी उच्च, तितकी चांगली; फाइल आकार वाढतो आणि ॲपची प्रतिसादक्षमता कमी होऊ शकते. कमी मूल्य सेट केल्यास मशीन लर्निंग गुणवत्ता प्रभावित होऊ शकते.",
"image_preview_title": "पूर्वावलोकन विन्यास",
"image_progressive": "प्रगतीशील",
"image_progressive_description": "JPEG प्रतिमा हळूहळू लोड होऊन प्रदर्शित होण्यासाठी क्रमाक्रमानुसार एन्कोड करा. याचा WebP प्रतिमांवर कोणताही परिणाम होत नाही.",
"image_quality": "गुणवत्ता",
"image_resolution": "प्रतिमेची स्पष्टता",
"image_resolution_description": "उच्च रिझोल्यूशन अधिक तपशील जतन करतात, परंतु त्यांचे एन्कोडिंग जास्त वेळ घेतं, फाइल साईज मोठी होते आणि अ‍ॅपची प्रतिसादक्षमता कमी होऊ शकते.",
@@ -101,6 +107,22 @@
"image_thumbnail_description": "फोटो समूह पाहताना मेटाडेटा काढून दाखवलेले लहान थंबनेल",
"image_thumbnail_quality_description": "थंबनेल गुणवत्ता (1–100): जितकी जास्त, तितकी चांगली; परंतु फाइल आकार वाढतो आणि ॲपची प्रतिसादक्षमता कमी होऊ शकते.",
"image_thumbnail_title": "लघुरूप विन्यास",
"import_config_from_json_description": "JSON कॉन्फिग फाइल अपलोड करून सिस्टम कॉन्फिग आयात करा",
"integrity_checks_checksum_files": "चेकसम फाइल्स",
"integrity_checks_checksum_files_description": "चेकसम तपासणी कॉन्फिगर करा",
"integrity_checks_checksum_files_enable_description": "चेकसम तपासणी सक्षम करा",
"integrity_checks_checksum_files_percentage_limit": "टक्केवारी मर्यादा",
"integrity_checks_checksum_files_percentage_limit_description": "प्रत्येक अंतरालमध्ये चेकसम तपासणी किती टक्केपर्यंत चालवायची ते 0.01 ते 1 या श्रेणीत सेट करा.",
"integrity_checks_checksum_files_time_limit": "वेळेची मर्यादा",
"integrity_checks_checksum_files_time_limit_description": "प्रत्येक अंतरालानंतर चेकसम तपासणी किती काळ चालवायची ते कमाल कालावधी कॉन्फिगर करा. (मिलीसेकंद)",
"integrity_checks_missing_files": "गहाळ फाइल्स",
"integrity_checks_missing_files_description": "वारंवारता कॉन्फिगर करा आणि गहाळ फाइल्स तपासणी सक्षम किंवा अक्षम करा",
"integrity_checks_missing_files_enable_description": "गहाळ फाइल्स तपासणी सक्षम करा",
"integrity_checks_settings": "अखंडता तपासण्या",
"integrity_checks_settings_description": "अखंडता तपासणी अंतरांचे व्यवस्थापन करा",
"integrity_checks_untracked_files": "अनट्रॅक्ड फाइल्स",
"integrity_checks_untracked_files_description": "वारंवारता कॉन्फिगर करा आणि ट्रॅक न केलेल्या फाइल्सची तपासणी सक्षम किंवा अक्षम करा",
"integrity_checks_untracked_files_enable_description": "अनट्रॅक्ड फाइल्सची तपासणी सक्षम करा",
"job_concurrency": "{job} एकरूपता",
"job_created": "कार्य तयार झाले",
"job_not_concurrency_safe": "हे कार्य समांतरपणे चालवण्यासाठी सुरक्षित नाही.",
@@ -175,10 +197,15 @@
"machine_learning_smart_search_enabled": "स्मार्ट सर्च सक्षम करा",
"machine_learning_smart_search_enabled_description": "अक्षम केल्यास, प्रतिमा स्मार्ट सर्चसाठी एन्कोड केल्या जाणार नाहीत.",
"machine_learning_url_description": "मशीन लर्निंग सर्व्हरची URL. एकाहून अधिक URL दिल्यास, प्रथम ते दिलेल्या क्रमाने प्रत्येक सर्व्हरवर एक-एक करून प्रयत्न केले जातील, जोपर्यंत कोणीतरी यशस्वी प्रतिसाद देत नाही तोपर्यंत. जे सर्व्हर प्रतिसाद देत नाहीत, त्यांना ते परत ऑनलाइन येईपर्यंत तात्पुरते दुर्लक्षित केले जाईल.",
"maintenance_restore_backup_unknown_version": "बॅकअप आवृत्ती निश्चित करता आली नाही.",
"maintenance_restore_database_backup": "डेटाबेस बॅकअप पुनर्संचयित करा",
"maintenance_restore_database_backup_description": "बॅकअप फाइल वापरून डेटाबेसच्या पूर्वीच्या स्थितीत परत करा",
"maintenance_settings": "देखभाल",
"maintenance_settings_description": "Immich ला देखभाल मोडमध्ये ठेवा.",
"maintenance_start": "देखभाल मोड सुरू करा",
"maintenance_start_error": "देखभाल मोड सुरू करण्यात अयशस्वी.",
"maintenance_upload_backup": "डेटाबेस बॅकअप फाइल अपलोड करा",
"maintenance_upload_backup_error": "बॅकअप अपलोड करता आला नाही, हे .sql/.sql.gz फाइल आहे का?",
"manage_concurrency": "समांतरता व्यवस्थापित करा",
"manage_log_settings": "लॉग सेटिंग्ज नियंत्रण करा",
"map_dark_style": "गडद शैली",
@@ -245,7 +272,7 @@
"oauth_auto_register": "स्वयंचलित नोंदणी करा",
"oauth_auto_register_description": "OAuth सह साइन इन केल्यावर नवीन वापरकर्त्यांची आपोआप नोंदणी करा",
"oauth_button_text": "बटण मजकूर",
"oauth_client_secret_description": "PKCE (प्रूफ की फॉर कोड एक्सचेंज) OAuth प्रदात्याद्वारे समर्थित नसल्यास आवश्यक",
"oauth_client_secret_description": "PKCE (प्रूफ की फॉर कोड एक्सचेंज) OAuth प्रदात्याद्वारे समर्थित नसल्यास आवश्यक.",
"oauth_enable_description": "OAuth सह लॉगिन करा",
"oauth_mobile_redirect_uri": "मोबाइल रीडायरेक्ट URI",
"oauth_mobile_redirect_uri_override": "मोबाईल रीडायरेक्ट URI अधिलेखन",
@@ -273,6 +300,9 @@
"refreshing_all_libraries": "सर्व लायब्ररी रीफ्रेश करीत आहे",
"registration": "प्रशासक नोंदणी",
"registration_description": "आपण प्रणालीवरील पहिले वापरकर्ता आहात, म्हणून आपल्याला प्रशासक म्हणून नियुक्त केले जाईल आणि प्रशासकीय कार्ये आपल्याद्वारे हाताळली जातील; तसेच इतर वापरकर्ते आपण तयार कराल.",
"release_channel_release_candidate": "रिलीज कॅंडिडेट",
"release_channel_stable": "स्थिर",
"remove_failed_jobs": "अपयशी झालेल्या कामांना काढून टाका",
"require_password_change_on_login": "पहिल्या लॉगिनवर वापरकर्त्यास पासवर्ड बदलण्याची आवश्यकता असेल",
"reset_settings_to_default": "सेटिंग्ज डीफॉल्टवर रीसेट करा",
"reset_settings_to_recent_saved": "सेटिंग्ज अलीकडील जतन केलेल्या सेटिंग्जवर रीसेट करा",
@@ -285,8 +315,10 @@
"server_public_users_description": "सार्वजनिक अल्बममध्ये वापरकर्ता जोडताना सर्व वापरकर्त्यांची (नाव व ईमेल) यादी दर्शवली जाते. अक्षम केल्यास, ही यादी फक्त प्रशासकांसाठीच उपलब्ध असेल.",
"server_settings": "सर्व्हर सेटिंग्ज",
"server_settings_description": "सर्व्हर सेटिंग्ज व्यवस्थापित करा",
"server_stats_page_description": "प्रशासकीय सर्व्हर सांख्यिकी पृष्ठ",
"server_welcome_message": "स्वागत संदेश",
"server_welcome_message_description": "लॉगिन पृष्ठावर दर्शविण्यात येणारा संदेश।",
"settings_page_description": "प्रशासकीय सेटिंग्ज पृष्ठ",
"sidecar_job": "साइडकार मेटाडेटा",
"sidecar_job_description": "फाईल सिस्टममधून साइडकार मेटाडेटा शोधा किंवा समक्रमित करा",
"slideshow_duration_description": "प्रत्येक प्रतिमा किती सेकंद प्रदर्शित करायची",
@@ -364,6 +396,10 @@
"transcoding_preferred_hardware_device_description": "केवळ VAAPI आणि QSV साठी लागू. हार्डवेअर ट्रान्सकोडिंग साठी वापरला जाणारा DRI नोड सेट करा.",
"transcoding_preset_preset": "प्रीसेट (preset)",
"transcoding_preset_preset_description": "संकुचन गती. किंचित मंद प्रीसेट्स लहान फाइल तयार करतात आणि ठराविक बिटरेटसाठी गुणवत्ता वाढवतात. VP9 ‘faster’ पेक्षा जास्त गती लक्षात घेत नाही.",
"transcoding_realtime": "रिअल-टाइम ट्रान्सकोडिंग [प्रयोगात्मक]",
"transcoding_realtime_description": "व्हिडिओ प्रक्षेपित होत असताना रिअल-टाइममध्ये ट्रान्सकोडिंग करण्याची परवानगी देते. गुणवत्ता स्विचिंग सक्षम करते, परंतु सर्व्हरच्या क्षमतेवर अवलंबून प्लेबॅकमध्ये अधिक विलंब आणि अडथळे येऊ शकतात.",
"transcoding_realtime_enabled": "रिअल-टाइम ट्रान्सकोडिंग सक्षम करा",
"transcoding_realtime_enabled_description": "अक्षम केल्यास, सर्व्हर नवीन रिअल-टाइम ट्रान्सकोडिंग सत्रे सुरू करण्यास नकार देईल.",
"transcoding_reference_frames": "संदर्भ फ्रेम्स",
"transcoding_reference_frames_description": "दिलेल्या फ्रेमचे संकुचन करताना किती फ्रेम्स संदर्भित कराव्यात हे ठरवते. जास्त मूल्ये संकुचन कार्यक्षमतेत सुधारणा करतात, परंतु एन्कोडिंग मंद करतात. 0 ठेवल्यास हे स्वयंचलितपणे सेट होते.",
"transcoding_required_description": "फक्त मान्य प्रारूपात नसलेले व्हिडिओ",
@@ -405,6 +441,10 @@
"user_restore_scheduled_removal": "वापरकर्ता पुनर्संचयित करा – नियोजित हटविण्याची तारीख {date, date, long}",
"user_settings": "वापरकर्ता सेटिंग्ज",
"user_settings_description": "वापरकर्ता सेटिंग्ज व्यवस्थापित करा",
"user_successfully_removed": "वापरकर्ता {email} यशस्वीरित्या काढून टाकण्यात आला आहे.",
"users_page_description": "प्रशासक वापरकर्त्यांचे पृष्ठ",
"version_check_channel": "विमोचन मार्ग",
"version_check_channel_description": "आपल्याला आवृत्ती घोषणा मिळवायच्या असलेल्या प्रकाशन चॅनेलची निवड करा",
"version_check_enabled_description": "आवृत्ती तपासणी सक्षम करा",
"version_check_implications": "आवृत्ती तपासणी वैशिष्ट्य {server} सोबत आवर्ती संवादावर अवलंबून आहे",
"version_check_settings": "आवृत्ती तपासणी",
@@ -416,6 +456,9 @@
"admin_password": "प्रशासक पासवर्ड",
"administration": "प्रशासन",
"advanced": "प्रगत",
"advanced_settings_clear_image_cache": "प्रतिमा कॅश हटवा",
"advanced_settings_clear_image_cache_error": "प्रतिमा कॅश साफ करण्यात अयशस्वी",
"advanced_settings_clear_image_cache_success": "यशस्वीरित्या {size} पार केले",
"advanced_settings_log_level_title": "लॉग पातळी: {level}",
"advanced_settings_prefer_remote_subtitle": "काही उपकरणे स्थानिक अॅसेटमधून थंबनेल लोड करण्यात खूप मंद आहेत. त्याऐवजी रिमोट प्रतिमा लोड करण्यासाठी हा सेटिंग सक्षम करा.",
"advanced_settings_prefer_remote_title": "रिमोट प्रतिमा पसंत करा",
@@ -448,6 +491,7 @@
"album_summary": "अल्बम सारांश",
"album_updated": "अल्बम अद्यतनित",
"album_updated_setting_description": "शेअर केलेल्या अल्बममध्ये नवीन फाईल्स आल्यास ईमेल सूचनार्थ प्राप्त करा",
"album_upload_assets": "आपल्या संगणकातून फाइल्स अपलोड करा आणि अल्बममध्ये जोडा",
"album_viewer_appbar_share_err_delete": "अल्बम हटवण्यात अयशस्वी",
"album_viewer_page_share_add_users": "वापरकर्ते जोडा",
"album_with_link_access": "लिंक असलेल्या कोणत्याही व्यक्तीस या अल्बममधील फोटो आणि लोक पाहता येतील.",
@@ -460,12 +504,16 @@
"all": "सर्व",
"all_albums": "सर्व अल्बम्स",
"all_people": "सर्व लोक",
"all_photos": "सर्व फोटो",
"all_videos": "सर्व व्हिडिओ",
"allow_dark_mode": "डार्क मोडला परवानगी द्या",
"allow_public_user_to_download": "सार्वजनिक वापरकर्त्यांना डाउनलोड करण्याची परवानगी द्या",
"allow_public_user_to_upload": "सार्वजनिक वापरकर्त्यांना अपलोड करण्याची परवानगी द्या",
"allowed": "परवानगी आहे",
"alt_text_qr_code": "QR कोड प्रतिमा",
"always_keep": "नेहमी ठेवा",
"always_keep_photos_hint": "Free Up Space या डिव्हाइसवरील सर्व फोटो जपून ठेवेल.",
"always_keep_videos_hint": "Free Up Space या डिव्हाइसवरील सर्व व्हिडिओ जपून ठेवेल.",
"api_key": "एपीआई की",
"api_key_description": "हा मूल्य एकदाच दाखविला जाईल. कृपया विंडो बंद करण्यापूर्वी ते कॉपी करायला विसरू नका.",
"api_key_empty": "आपले API की नाव रिक्त असू नये",
@@ -490,6 +538,8 @@
"are_you_sure_to_do_this": "तुम्हाला हे खरंच करायचे आहे का?",
"asset_added_to_album": "अल्बममध्ये जोडले गेले",
"asset_adding_to_album": "अल्बममध्ये जोडत आहे…",
"asset_created": "अ‍ॅसेट तयार करण्यात आला",
"asset_day_count": "{date}: {count, plural, एक {# asset} इतर {# assets}}",
"asset_description_updated": "साधनाचे वर्णन अद्यावत केले गेले आहे",
"asset_hashing": "हॅशिंग…",
"asset_list_group_by_sub_title": "गटानुसार गटबद्ध करा",
@@ -498,6 +548,9 @@
"asset_list_layout_sub_title": "लेआउट",
"asset_list_settings_subtitle": "फोटो ग्रिड लेआउट सेटिंग्ज",
"asset_list_settings_title": "फोटो ग्रिड",
"asset_not_found_on_device_android": "उपकरणावर अ‍ॅसेट सापडली नाही",
"asset_not_found_on_device_ios": "डिव्हाइसवर अ‍ॅसेट सापडला नाही. जर आपण iCloud वापरत असाल, तर iCloud मध्ये संग्रहित खराब फाइलमुळे तो अ‍ॅसेट उपलब्ध नसेल",
"asset_not_found_on_icloud": "iCloud वर अ‍ॅसेट सापडला नाही. iCloud मध्ये संग्रहित खराब फाइलमुळे हा अ‍ॅसेट उपलब्ध नसू शकतो",
"asset_offline": "साधन ऑफलाइन आहे",
"asset_offline_description": "हे बाह्य साधन आता डिस्कवर सापडत नाही. मदतीसाठी आपल्या Immich प्रशासकाशी संपर्क करा.",
"asset_skipped": "वगळले",
@@ -562,12 +615,14 @@
"backup_options": "बॅकअप पर्याय",
"backup_settings_subtitle": "अपलोड सेटिंग्ज व्यवस्थापित करा",
"backward": "मागासलेले",
"battery_optimization_backup_reliability": "बॅटरी ऑप्टिमायझेशन अक्षम केल्याने पार्श्वभूमी बॅकअपची विश्वसनीयता सुधारू शकते",
"biometric_auth_enabled": "बायोमेट्रिक प्रमाणीकरण चालू आहे",
"biometric_locked_out": "आपण बायोमेट्रिक प्रमाणीकरणापासून लॉक आहात",
"biometric_no_options": "कोणतेही बायोमेट्रिक पर्याय उपलब्ध नाहीत",
"biometric_not_available": "या डिव्हाइसवर बायोमेट्रिक प्रमाणीकरण उपलब्ध नाही",
"birthdate_set_description": "फोटोच्या वेळी या व्यक्तीचे वय मोजण्यासाठी जन्मतारीख वापरली जाते.",
"blurred_background": "पार्श्वभूमी धुसळलेली",
"browse_templates": "टॅम्पलेट्स ब्राउझ करा",
"bugs_and_feature_requests": "बग्ज & फिचर विनंत्या",
"build": "तयार करा",
"build_image": "इमेज तयार करा",
@@ -587,6 +642,7 @@
"cannot_update_the_description": "वर्णन अद्यतनित करता येणार नाही",
"cast": "कास्ट",
"cast_description": "उपलब्ध कास्ट गंतव्ये कॉन्फिगर करा",
"change": "बदल",
"change_date": "तारीख बदला",
"change_description": "वर्णन बदला",
"change_display_order": "प्रदर्शन क्रम बदला",
@@ -608,17 +664,34 @@
"charging": "चार्जिंग",
"charging_requirement_mobile_backup": "बॅकग्राउंड बॅकअपसाठी उपकरण चार्ज होत असणे आवश्यक आहे",
"check_logs": "लॉग्ज तपासा",
"checksum": "चेकसम",
"choose": "निवडा",
"choose_matching_people_to_merge": "विलीन करण्यासाठी जुळणारे लोक निवडा",
"city": "शहर",
"cleanup_confirm_description": "Immich ने {count} अ‍ॅसेट({date} पूर्वी तयार केलेल्या) सर्व्हरवर सुरक्षितपणे बॅकअप केल्या आढळल्या. या डिव्हाइसमधील स्थानिक प्रती काढून टाकाव्यात का?",
"cleanup_confirm_prompt_title": "या उपकरणातून काढून टाकायचे?",
"cleanup_deleted_assets": "{count} मालमत्ता डिव्हाइसच्या कचऱ्यात हलवल्या",
"cleanup_deleting": "कचऱ्यात हलवत आहे...",
"cleanup_found_assets": "{count} बॅकअप केलेल्या मालमत्ता आढळल्या",
"cleanup_found_assets_with_size": "{count} बॅकअप केलेल्या मालमत्ता आढळल्या ({size})",
"cleanup_icloud_shared_albums_excluded": "iCloud सामायिक अल्बम्स स्कॅनमधून वगळले जातात",
"cleanup_no_assets_found": "वरील निकषांनुसार कोणतीही मालमत्ता सापडली नाही. फ्री अप स्पेस फक्त ती मालमत्ता हटवू शकते ज्याचे सर्व्हरवर बॅकअप घेतले गेले आहेत",
"cleanup_preview_title": "काढून टाकण्यासाठीची अ‍ॅसेट({count})",
"cleanup_step3_description": "तुमच्या तारखेनुसार बॅकअप झालेल्या अ‍ॅसेट स्कॅन करा आणि सेटिंग्ज जतन करा.",
"cleanup_step4_summary": "{count} अ‍ॅसेट({date} पूर्वी तयार केलेली) आपल्या स्थानिक उपकरणातून काढण्यासाठी. फोटो Immich अॅपमधून उपलब्ध राहतील.",
"cleanup_trash_hint": "साठवणुकीची जागा पूर्णपणे परत मिळवण्यासाठी, सिस्टम गॅलरी अॅप उघडा आणि कचरा रिकामी करा",
"clear": "साफ करा",
"clear_all": "सर्व साफ करा",
"clear_all_recent_searches": "सर्व शोध इतिहास मिटवा",
"clear_failed_count": "हटवणे अयशस्वी झाले ({count})",
"clear_file_cache": "फाईल कॅश मिटवा",
"clear_message": "संदेश मिटवा",
"clear_value": "मूल्य मिटवा",
"client_cert_import": "आयात करा",
"client_cert_import_success_msg": "क्लायंट प्रमाणपत्र आयात झाले",
"client_cert_invalid_msg": "अवैध प्रमाणपत्र फाईल किंवा चुकीचा संकेतशब्द",
"client_cert_password_message": "या प्रमाणपत्रासाठी पासवर्ड प्रविष्ट करा",
"client_cert_password_title": "प्रमाणपत्र संकेतशब्द",
"client_cert_remove_msg": "क्लायंट प्रमाणपत्र काढून टाकले",
"client_cert_subtitle": "फक्त PKCS12 (.p12, .pfx) फॉरमॅटला समर्थन आहे. सर्टिफिकेट आयात/काढणे फक्त लॉगिनपूर्वी उपलब्ध आहे",
"client_cert_title": "SSL क्लायंट प्रमाणपत्र [प्रायोगिक]",
@@ -626,12 +699,19 @@
"collapse": "संकुचित करा",
"collapse_all": "सर्व संकुचित करा",
"color": "रंग",
"command": "आदेश",
"command_palette_prompt": "पृष्ठे, क्रिया किंवा आदेश पटकन शोधा",
"command_palette_to_close": "बंद करण्यासाठी",
"command_palette_to_navigate": "प्रवेश करण्यासाठी",
"command_palette_to_select": "निवडण्यासाठी",
"command_palette_to_show_all": "सर्व दाखवण्यासाठी",
"comment_deleted": "टिप्पणी हटवली",
"comment_options": "टिप्पणी पर्याय",
"comments_and_likes": "टिप्पण्या & लाईक्स",
"comments_are_disabled": "टिप्पण्या अक्षम आहेत",
"common_create_new_album": "नवीन अल्बम तयार करा",
"completed": "पूर्ण झाले",
"configuration": "संरचना",
"confirm": "पुष्टी करा",
"confirm_admin_password": "ऍडमिन संकेतशब्द पुष्टी करा",
"confirm_delete_face": "तुम्हाला {name} चे चेहरा या फाईलमधून हटवायचे आहे का?",
@@ -646,6 +726,7 @@
"contain": "समाविष्ट करा",
"context": "संदर्भ",
"continue": "पुढे",
"control_bottom_app_bar_add_tags": "टॅग जोडा",
"control_bottom_app_bar_delete_from_local": "उपकरणातून हटवा",
"control_bottom_app_bar_edit_location": "स्थान संपादित करा",
"control_bottom_app_bar_edit_time": "तारीख व वेळ संपादित करा",
@@ -654,6 +735,7 @@
"copied_to_clipboard": "क्लिपबोर्डवर कॉपी झाले!",
"copy_error": "कॉपी करताना त्रुटी",
"copy_image": "प्रतिमा कॉपी करा",
"copy_json": "JSON कॉपी करा",
"copy_link": "लिंक कॉपी करा",
"copy_link_to_clipboard": "लिंक क्लिपबोर्डवर कॉपी करा",
"copy_password": "संकेतशब्द कॉपी करा",
@@ -665,6 +747,7 @@
"create_album": "अल्बम तयार करा",
"create_album_page_untitled": "शीर्षकेतर",
"create_api_key": "API की तयार करा",
"create_first_workflow": "पहिला वर्कफ्लो तयार करा",
"create_library": "लायब्ररी तयार करा",
"create_link": "लिंक तयार करा",
"create_link_to_share": "शेअर करण्यासाठी लिंक तयार करा",
@@ -673,33 +756,47 @@
"create_new_person": "नवीन व्यक्ती तयार करा",
"create_new_person_hint": "निवडलेल्या फाईल्स नवीन व्यक्तीशी जोडा",
"create_new_user": "नवीन वापरकर्ता तयार करा",
"create_person": "व्यक्ती तयार करा",
"create_person_subtitle": "नवीन व्यक्ती तयार करण्यासाठी आणि टॅग करण्यासाठी निवडलेल्या चेहऱ्यावर नाव जोडा",
"create_shared_album_page_share_add_assets": "फाईल्स जोडा",
"create_shared_album_page_share_select_photos": "फोटो निवडा",
"create_shared_link": "शेअर लिंक तयार करा",
"create_tag": "टॅग तयार करा",
"create_tag_description": "नवीन टॅग तयार करा. सबटॅगसाठी पूर्ण पाथसहित नाव टाका।",
"create_user": "वापरकर्ता तयार करा",
"create_workflow": "कार्यप्रवाह तयार करा",
"created": "तयार केले",
"created_at": "निर्मिती तारीख",
"creating_linked_albums": "लिंक केलेले अल्बम तयार करत आहे...",
"crop": "छाटणी करा",
"crop_aspect_ratio_free": "रिक्त",
"crop_aspect_ratio_original": "मूळ",
"crop_aspect_ratio_square": "चौरस",
"current_device": "वर्तमान उपकरण",
"current_pin_code": "चालू PIN कोड",
"current_server_address": "सर्व्हर पत्ता",
"custom_date": "सानुकूल तारीख",
"custom_locale": "भाषा व क्षेत्र",
"custom_locale_description": "दिनांक व संख्या भाषेनुसार व क्षेत्रानुसार format करा",
"custom_url": "सानुकूल URL",
"cutoff_date_description": "शेवटच्या… पासूनचे फोटो ठेवा…",
"cutoff_day": "{count, plural, one {दिवस} other {दिवस}}",
"cutoff_year": "{count, plural, one {वर्ष} other {वर्ष}}",
"dark": "डार्क",
"dark_theme": "डार्क थीम बदल",
"date": "तारीख",
"date_after": "नंतरची तारीख",
"date_and_time": "दिनांक व वेळ",
"date_before": "पूर्वची तारीख",
"date_of_birth": "जन्म तारीख",
"date_of_birth_saved": "जन्मतारीख जतन झाली",
"date_range": "तारीख श्रेणी",
"date_time_original": "मूळ तारीख/वेळ",
"day": "दिवस",
"days": "अनेक दिवस",
"deduplicate_all": "सर्व डुप्लिकेट काढा",
"default_quality_subtitle": "शेअर टॅप करताना वापरली जाणारी गुणवत्ता. प्रत्येक वेळी निवडण्यासाठी शेअर बटण दीर्घकाळ दाबा.",
"default_share_quality": "डीफॉल्ट शेअर गुणवत्ता",
"delete": "हटवा",
"delete_action_confirmation_message": "तुम्हाला ही फाईल हटवायची आहे का? ही क्रिया सर्व्हरच्या ट्रॅशमध्ये हलवेल आणि स्थानिकपणे हटवायचे का ते विचारेल",
"delete_action_prompt": "{count} हटवले",
@@ -730,6 +827,7 @@
"deselect_all": "सर्व निवड रद्द करा",
"details": "तपशील",
"direction": "दिशा",
"disable": "अक्षम करा",
"disabled": "अक्षम",
"discord": "डिस्कॉर्ड",
"discover": "शोधा",
@@ -751,16 +849,21 @@
"download_include_embedded_motion_videos": "एम्बेड केलेली व्हिडिओ",
"download_include_embedded_motion_videos_description": "मोशन फोटोमधील एम्बेड केलेली व्हिडिओ स्वतंत्र फाईल म्हणून समाविष्ट करा",
"download_notfound": "डाउनलोड आढळला नाही",
"download_original": "मूळ डाउनलोड करा",
"download_paused": "डाउनलोड थांबवला",
"download_settings": "डाउनलोड सेटिंग्ज",
"download_settings_description": "फाईल डाउनलोड संबंधित सेटिंग्ज व्यवस्थापित करा",
"download_waiting_to_retry": "पुन्हा प्रयत्न करण्याची प्रतीक्षा",
"downloading": "डाउनलोड करत आहे",
"downloading_asset_filename": "{filename} डाउनलोड करत आहे",
"downloading_from_icloud": "iCloud वरून डाउनलोड करत आहे",
"downloading_media": "मीडिया डाउनलोड करत आहे",
"drag_to_reorder": "पुनर्क्रम करण्यासाठी ओढा",
"drop_files_to_upload": "अपलोडसाठी फाईल्स इथे ड्रॉप करा",
"duplicate": "प्रतिलिपी",
"duplicate_workflow": "प्रतिलिपी कार्यप्रवाह",
"duplicates": "डुप्लिकेट्स",
"duplicates_description": "प्रत्येक गटातले डुप्लिकेट फाईल्स निवडा",
"duplicates_description": "प्रत्येक गटातले डुप्लिकेट फाईल्स निवडा.",
"duration": "कालावधी",
"edit": "संपादित करा",
"edit_album": "अल्बम संपादित करा",
@@ -783,7 +886,15 @@
"edit_tag": "टॅग संपादित करा",
"edit_title": "शीर्षक संपादित करा",
"edit_user": "वापरकर्ता संपादित करा",
"edit_workflow": "कार्यप्रवाह संपादित करा",
"editor": "एडिटर",
"editor_discard_edits_confirm": "संपादन रद्द करा",
"editor_discard_edits_prompt": "आपल्याकडे जतन न केलेल्या संपादना आहेत. आपण त्या टाकून द्यायच्या आहात का?",
"editor_discard_edits_title": "बदल रद्द करायचे का?",
"editor_edits_applied_error": "बदल लागू करण्यात अयशस्वी",
"editor_edits_applied_success": "बदल लागू करण्यात यशस्वी",
"editor_flip_horizontal": "आडवे पलटवा",
"editor_flip_vertical": "उभे पलटवा",
"email": "ईमेल",
"email_notifications": "ईमेल सूचना",
"empty_folder": "हा फोल्डर रिकामा आहे",
@@ -1128,9 +1239,9 @@
"login_form_failed_login": "लॉगिन करताना त्रुटी, सर्व्हर URL, ईमेल आणि पासवर्ड तपासा",
"login_form_handshake_exception": "सर्व्हरसह handshake exception आली. तुम्ही self-signed प्रमाणपत्र वापरत असाल तर सेटिंग्जमध्ये self-signed प्रमाणपत्र समर्थन सक्षम करा.",
"login_form_password_hint": "पासवर्ड",
"login_form_server_empty": "सर्व्हर URL भरा.",
"login_form_server_error": "सर्व्हरशी जोडता आले नाही.",
"login_has_been_disabled": "लॉगिन बंद केले आहे.",
"login_form_server_empty": "सर्व्हर URL भरा",
"login_form_server_error": "सर्व्हरशी जोडता आले नाही",
"login_has_been_disabled": "लॉगिन बंद केले आहे",
"login_password_changed_error": "पासवर्ड अपडेट करताना त्रुटी आली",
"login_password_changed_success": "पासवर्ड यशस्वीपणे अपडेट झाला",
"logout_all_device_confirmation": "तुम्हाला नक्की सर्व डिव्हाइसवरून लॉग आऊट करायचे आहे का?",
@@ -1495,7 +1606,7 @@
"reset_pin_code_description": "तुमचा PIN विसरला असल्यास, तो रीसेट करण्यासाठी सर्व्हर प्रशासकाशी संपर्क साधा",
"reset_pin_code_with_password": "पासवर्डने तुम्ही नेहमी PIN कोड रीसेट करू शकता",
"reset_sqlite": "SQLite डेटाबेस रीसेट करा",
"reset_sqlite_confirmation": "तुम्हाला नक्की SQLite डेटाबेस रीसेट करायचा आहे का? डेटा पुन्हा समक्रमित करण्यासाठी तुम्हाला लॉगआउट करून पुन्हा लॉगइन करावे लागेल",
"reset_sqlite_confirmation": "तुम्हाला नक्की SQLite डेटाबेस रीसेट करायचा आहे का? डेटा पुन्हा समक्रमित करण्यासाठी तुम्हाला लॉगआउट करून पुन्हा लॉगइन करावे लागेल.",
"reset_sqlite_success": "SQLite डेटाबेस यशस्वीरीत्या रीसेट केला",
"reset_to_default": "डीफॉल्टवर रीसेट करा",
"resolution": "रेझोल्यूशन",
+33 -3
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Miniatyrbildekvalitet fra 1-100. Høyere er bedre, men produserer større filer og kan redusere appens respons.",
"image_thumbnail_title": "Miniatyrbilde oppsett",
"import_config_from_json_description": "Importer systemkonfigurasjon ved å laste opp en JSON konfigurasjonsfil",
"integrity_checks_checksum_files": "Sjekksumfiler",
"integrity_checks_checksum_files_description": "Konfigurer sjekksumkontrollen",
"integrity_checks_checksum_files_enable_description": "Aktiver sjekksumkontrollen",
"integrity_checks_checksum_files_percentage_limit": "Prosentgrense",
"integrity_checks_checksum_files_percentage_limit_description": "Konfigurer den maksimale prosentsatsen mellom 0,01 og 1 for hvor mye sjekksumkontrollen skal kjøre hvert intervall.",
"integrity_checks_checksum_files_time_limit": "Tidsgrense",
"integrity_checks_checksum_files_time_limit_description": "Konfigurer den maksimale varigheten som sjekksumkontrollen skal kjøre hvert intervall. (ms)",
"integrity_checks_missing_files": "Manglende filer",
"integrity_checks_missing_files_description": "Konfigurer frekvensen og aktiver eller deaktiver kontrollen av manglende filer",
"integrity_checks_missing_files_enable_description": "Aktiver kontrollen for manglende filer",
"integrity_checks_settings": "Integritetskontroller",
"integrity_checks_settings_description": "Administrer intervaller for integritetskontroller",
"integrity_checks_untracked_files": "Usporede filer",
"integrity_checks_untracked_files_description": "Konfigurer frekvensen og aktiver eller deaktiver sjekken for usporede filer",
"integrity_checks_untracked_files_enable_description": "Aktiver kontrollen av usporede filer",
"job_concurrency": "{job} samtidighet",
"job_created": "Oppgave laget",
"job_not_concurrency_safe": "Denne jobben er ikke samtidlighet sikker.",
@@ -1303,9 +1318,9 @@
"login_form_failed_login": "Feil ved innlogging, sjekk serverens URL, e-post og passord",
"login_form_handshake_exception": "Det var et unntak for handshake med serveren. Aktiver støtte for selvsignerte sertifikater i innstillingene hvis du bruker et selvsignert sertifikat.",
"login_form_password_hint": "passord",
"login_form_server_empty": "Skriv inn en server-URL.",
"login_form_server_error": "Kunne ikke koble til server.",
"login_has_been_disabled": "Innlogging har blitt deaktivert.",
"login_form_server_empty": "Skriv inn en server-URL",
"login_form_server_error": "Kunne ikke koble til server",
"login_has_been_disabled": "Innlogging har blitt deaktivert",
"login_password_changed_error": "Det skjedde en feil ved oppdatering av passordet",
"login_password_changed_success": "Passord oppdatert",
"logout_all_device_confirmation": "Vil du virkelig logge ut av alle enheter?",
@@ -1460,6 +1475,7 @@
"never": "aldri",
"new_album": "Nytt Album",
"new_api_key": "Ny API-nøkkel",
"new_feature": "Ny funksjon",
"new_password": "Nytt passord",
"new_person": "Ny person",
"new_pin_code": "Ny PIN-kode",
@@ -1506,6 +1522,9 @@
"notes": "Notater",
"nothing_here_yet": "Ingenting her enda",
"notification_backup_reliability": "Slå på notifikasjoner for mer stabil sikkerhetskopiering i bakgrunnen",
"notification_enabled_list_tile_content": "Immich bruker varsler for sikkerhetskopiering i bakgrunnen. Du kan administrere disse i enhetsinnstillingene dine.",
"notification_enabled_list_tile_open_button": "Åpne innstillinger",
"notification_enabled_list_tile_title": "Varsler aktivert",
"notification_permission_dialog_content": "For å aktivere notifikasjoner, gå til Innstillinger og velg tillat.",
"notification_permission_list_tile_content": "Gi tilgang for å aktivere notifikasjoner.",
"notification_permission_list_tile_enable_button": "Aktiver notifikasjoner",
@@ -1517,6 +1536,8 @@
"obtainium_configurator": "Obtainium konfigurator",
"obtainium_configurator_instructions": "Bruk Obtainium for å installere og oppdatere Android appen direkte fra Immich sin Github utgivelse. Opprett en API nøkkel og velg en variant for å lage din Obtainium konfigurasjonslink",
"ocr": "Tekstgjenkjenning",
"ocr_body": "Immich leser nå teksten i bildene dine, slik at du kan søke etter dem basert på hva det står i dem.",
"ocr_title": "Søk etter tekst i bildene dine",
"official_immich_resources": "Offisielle Immich-ressurser",
"offline": "Frakoblet",
"offset": "Forskyving",
@@ -1535,6 +1556,8 @@
"open": "Åpne",
"open_calendar": "Åpne kalender",
"open_in_browser": "Åpne i nettleser",
"open_in_immich_body": "Angi Immich som galleri-app på Android for å åpne bilder rett fra andre apper.",
"open_in_immich_title": "Åpner bilder i Immich",
"open_in_map_view": "Åpne i kartvisning",
"open_in_openstreetmap": "Åpne i OpenStreetMap",
"open_the_search_filters": "Åpne søkefiltrene",
@@ -1693,7 +1716,10 @@
"recent": "Nylig",
"recent_searches": "Nylige søk",
"recently_added": "Nylig lagt til",
"recently_added_body": "Se alt det nyeste innholdet ditt samlet på én egen side.",
"recently_added_description": "Utforsk bildene og videoene dine sortert etter når de ble lastet opp til Immich",
"recently_added_page_title": "Nylig oppført",
"recently_added_title": "Nylig lagt til",
"recently_taken": "Nylig tatt",
"refresh": "Oppdater",
"refresh_encoded_videos": "Oppdater kodete videoer",
@@ -2153,6 +2179,7 @@
"upload_status_errors": "Feil",
"upload_status_uploaded": "Opplastet",
"upload_success": "Opplasting vellykket, oppdater siden for å se nye opplastninger.",
"upload_to_album_title": "Last opp direkte til et album",
"upload_to_immich": "Last opp til Immich ({count})",
"uploading": "Laster opp",
"uploading_media": "Laster opp media",
@@ -2220,6 +2247,9 @@
"week": "Uke",
"welcome": "Velkommen",
"welcome_to_immich": "Velkommen til Immich",
"whats_new": "Hva er nytt",
"whats_new_settings_subtitle": "Se hva som er nytt i Immich",
"whats_new_version": "Versjon {version}",
"when": "Når",
"width": "Bredde",
"wifi_name": "Wi-Fi-navn",
+37 -4
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Thumbnail kwaliteit van 1-100. Hoger is beter, maar produceert grotere bestanden en kan de app vertragen.",
"image_thumbnail_title": "Thumbnailinstellingen",
"import_config_from_json_description": "Importeer de systeem­configuratie door een JSON-configuratie­bestand te uploaden",
"integrity_checks_checksum_files": "Controlegetalbestanden",
"integrity_checks_checksum_files_description": "Configureer de check van controlegetallen",
"integrity_checks_checksum_files_enable_description": "Schakel de check van controlegetallen in",
"integrity_checks_checksum_files_percentage_limit": "Percentage limiet",
"integrity_checks_checksum_files_percentage_limit_description": "Stel het maximale percentage in tussen 0.01 en 1 voor hoe vaak de check van controlegetallen per interval moet worden uitgevoerd.",
"integrity_checks_checksum_files_time_limit": "Tijdslimiet",
"integrity_checks_checksum_files_time_limit_description": "Stel de maximale duur in waarin de check van controlegetallen per interval moet worden uitgevoerd. (ms)",
"integrity_checks_missing_files": "Ontbrekende bestanden",
"integrity_checks_missing_files_description": "Configureer de frequentie en schakel de controle op ontbrekende bestanden in of uit",
"integrity_checks_missing_files_enable_description": "Schakel de controle op ontbrekende bestanden in",
"integrity_checks_settings": "Integriteitscontroles",
"integrity_checks_settings_description": "Beheer de intervallen voor integriteitscontroles",
"integrity_checks_untracked_files": "Niet getraceerde bestanden",
"integrity_checks_untracked_files_description": "Configureer de frequentie en schakel de controle op niet getraceerde bestanden in of uit",
"integrity_checks_untracked_files_enable_description": "Schakel de controle op niet getraceerde bestanden in",
"job_concurrency": "{job} gelijktijdigheid",
"job_created": "Taak aangemaakt",
"job_not_concurrency_safe": "Deze taak kan niet parallel worden uitgevoerd.",
@@ -1461,6 +1476,7 @@
"never": "Nooit",
"new_album": "Nieuw album",
"new_api_key": "Nieuwe API-sleutel",
"new_feature": "Nieuwe functie",
"new_password": "Nieuw wachtwoord",
"new_person": "Nieuw persoon",
"new_pin_code": "Nieuwe pincode",
@@ -1480,21 +1496,21 @@
"no_assets_message": "Klik hier om je eerste foto te uploaden",
"no_assets_to_show": "Geen foto's om te laten zien",
"no_cast_devices_found": "Geen cast-apparaten gevonden",
"no_checksum_local": "Geen checksum beschikbaar - kan lokale assets niet ophalen",
"no_checksum_remote": "Geen checksum beschikbaar - kan online assets niet ophalen",
"no_checksum_local": "Geen controlegetal beschikbaar - kan lokale assets niet ophalen",
"no_checksum_remote": "Geen controlegetal beschikbaar - kan online assets niet ophalen",
"no_devices": "Geen geautoriseerde apparaten",
"no_duplicates_found": "Er zijn geen duplicaten gevonden.",
"no_exif_info_available": "Geen exif info beschikbaar",
"no_explore_results_message": "Upload meer foto's om je verzameling te verkennen.",
"no_favorites_message": "Voeg favorieten toe om snel je beste foto's en video's te vinden",
"no_libraries_message": "Maak een externe bibliotheek om je foto's en video's te bekijken",
"no_local_assets_found": "Geen lokale assets gevonden met deze checksum",
"no_local_assets_found": "Geen lokale assets gevonden met dit controlegetal",
"no_locked_photos_message": "Fotos en videos in de vergrendelde map zijn verborgen en worden niet weergegeven wanneer je door je bibliotheek bladert of zoekt.",
"no_name": "Geen naam",
"no_notifications": "Geen meldingen",
"no_people_found": "Geen mensen gevonden",
"no_places": "Geen plaatsen",
"no_remote_assets_found": "Geen online assets gevonden met deze checksum",
"no_remote_assets_found": "Geen online assets gevonden met dit controlegetal",
"no_results": "Geen resultaten",
"no_results_description": "Probeer een synoniem of een algemener zoekwoord",
"no_shared_albums_message": "Maak een album om foto's en video's te delen met mensen in je netwerk",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Obtainium instellen",
"obtainium_configurator_instructions": "Gebruik Obtainium om de Android-app recht­streeks vanuit Immich's GitHub-releases te installeren en bij te werken. Maak een API-sleutel aan en selecteer een variant om je Obtainium-configuratielink te maken",
"ocr": "OCR",
"ocr_body": "Immich leest nu de tekst in je foto's, zodat je ze kunt zoeken op basis van de inhoud.",
"ocr_title": "Zoek tekst in je foto's",
"official_immich_resources": "Officiële Immich bronnen",
"offline": "Offline",
"offset": "Verrekening",
@@ -1539,6 +1557,8 @@
"open": "Openen",
"open_calendar": "Open kalender",
"open_in_browser": "Openen in browser",
"open_in_immich_body": "Stel Immich in als je galerij op Android om foto's rechtstreeks vanuit andere apps te openen.",
"open_in_immich_title": "Open foto's in Immich",
"open_in_map_view": "Openen in kaartweergave",
"open_in_openstreetmap": "Openen in OpenStreetMap",
"open_the_search_filters": "Open de zoekfilters",
@@ -1697,7 +1717,10 @@
"recent": "Recent",
"recent_searches": "Recente zoekopdrachten",
"recently_added": "Onlangs toegevoegd",
"recently_added_body": "Ga direct naar een aparte pagina met al je recent toegevoegde items.",
"recently_added_description": "Blader door je items, op volgorde van wanneer ze zijn toegevoegd aan Immich",
"recently_added_page_title": "Recent toegevoegd",
"recently_added_title": "Recent toegevoegd",
"recently_taken": "Recent genomen",
"refresh": "Vernieuwen",
"refresh_encoded_videos": "Vernieuw gecodeerde video's",
@@ -1904,6 +1927,8 @@
"share_link": "Link delen",
"share_original": "Origineel gebruiken (groot)",
"share_preview": "Voorbeeldafbeelding gebruiken (klein)",
"share_quality_body": "Houd de deelknop ingedrukt om de beeldkwaliteit te kiezen voordat je deelt.",
"share_quality_title": "Kies de gewenste deel kwaliteit",
"shared": "Gedeeld",
"shared_album_activities_input_disable": "Reactie is uitgeschakeld",
"shared_album_activity_remove_content": "Wil je deze activiteit verwijderen?",
@@ -1985,16 +2010,19 @@
"sign_out": "Uitloggen",
"sign_up": "Registreren",
"size": "Grootte",
"skip": "Overslaan",
"skip_to_content": "Doorgaan naar inhoud",
"skip_to_folders": "Doorgaan naar mappen",
"skip_to_tags": "Doorgaan naar tags",
"slideshow": "Diavoorstelling",
"slideshow_body": "Leun achterover en bekijk hoe je foto's in een diavoorstelling op volledig scherm worden afgespeeld.",
"slideshow_metadata_overlay_mode": "Metadata bijschrift",
"slideshow_metadata_overlay_mode_description_only": "Enkel beschrijving",
"slideshow_metadata_overlay_mode_full": "Volledig",
"slideshow_repeat": "Herhaal diavoorstelling",
"slideshow_repeat_description": "Keer terug naar het begin wanneer de diavoorstelling eindigt",
"slideshow_settings": "Diavoorstelling instellingen",
"slideshow_title": "Diavoorstelling",
"smart_album": "Slim album",
"some_assets_already_have_a_location_warning": "Sommige geselecteerde items hebben al een locatie",
"sort_albums_by": "Sorteer albums op...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Fouten",
"upload_status_uploaded": "Geüpload",
"upload_success": "Uploaden gelukt, vernieuw de pagina om de nieuwe items te zien.",
"upload_to_album_body": "Voor gebruikers die de handmatige uploadfunctie niet gebruiken is het nu mogelijk om lokale foto's direct aan een album toe te voegen tijdens het uploaden. Het is dus niet meer nodig om foto's eerst te uploaden en ze later aan een album toe te voegen.",
"upload_to_album_title": "Upload direct naar een album",
"upload_to_immich": "Uploaden naar Immich ({count})",
"uploading": "Aan het uploaden",
"uploading_media": "Media wordt geüpload",
@@ -2224,6 +2254,9 @@
"week": "Week",
"welcome": "Welkom",
"welcome_to_immich": "Welkom bij Immich",
"whats_new": "Wat is er nieuw",
"whats_new_settings_subtitle": "Ontdek wat er nieuw is in Immich",
"whats_new_version": "Versie {version}",
"when": "Wanneer",
"width": "Breedte",
"wifi_name": "Wifinetwerk",
+34
View File
@@ -108,6 +108,21 @@
"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",
"import_config_from_json_description": "Zaimportuj konfigurację systemu poprzez wczytanie pliku konfiguracyjnego JSON",
"integrity_checks_checksum_files": "Weryfikacja sum kontrolnych",
"integrity_checks_checksum_files_description": "Skonfiguruj weryfikację sumy kontrolnej plików",
"integrity_checks_checksum_files_enable_description": "Włącz weryfikację sum kontrolnych",
"integrity_checks_checksum_files_percentage_limit": "Ograniczenie procentowe",
"integrity_checks_checksum_files_percentage_limit_description": "Ustaw maksymalną wartość procentową w przedziale od 0,01 do 1, określającą, jaka część weryfikacji sumy kontrolnej ma być przeprowadzana w każdym przedziale czasowym.",
"integrity_checks_checksum_files_time_limit": "Ograniczenie czasowe",
"integrity_checks_checksum_files_time_limit_description": "Skonfiguruj maksymalny czas trwania weryfikacji sumy kontrolnej w każdym przedziale czasowym. (ms)",
"integrity_checks_missing_files": "Brakujące pliki",
"integrity_checks_missing_files_description": "Skonfiguruj częstotliwość oraz włącz lub wyłącz sprawdzanie brakujących plików",
"integrity_checks_missing_files_enable_description": "Włącz sprawdzanie brakujących plików",
"integrity_checks_settings": "Kontrole integralności",
"integrity_checks_settings_description": "Zarządzanie częstotliwością kontroli integralności",
"integrity_checks_untracked_files": "Pliki nieśledzone",
"integrity_checks_untracked_files_description": "Skonfiguruj częstotliwość i włącz lub wyłącz sprawdzanie plików nieśledzonych",
"integrity_checks_untracked_files_enable_description": "Włącz sprawdzanie plików nieśledzonych",
"job_concurrency": "{job} współbieżność",
"job_created": "Zadanie utworzone",
"job_not_concurrency_safe": "To zadanie nie może zostać wykonane w wielu wątkach.",
@@ -1461,6 +1476,7 @@
"never": "Nigdy",
"new_album": "Nowy album",
"new_api_key": "Nowy Klucz API",
"new_feature": "Nowa funkcjonalność",
"new_password": "Nowe hasło",
"new_person": "Nowa osoba",
"new_pin_code": "Nowy kod PIN",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Konfigurator Obtainium",
"obtainium_configurator_instructions": "Użyj Obtainium, aby zainstalować i aktualizować aplikację na Androida bezpośrednio z wydania GitHuba Immich. Utwórz klucz API i wybierz wariant, aby utworzyć link konfiguracyjny Obtainium",
"ocr": "OCR",
"ocr_body": "Immich odczytuje teraz tekst znajdujący się na twoich zdjęciach, dzięki czemu możesz je wyszukiwać na podstawie treści.",
"ocr_title": "Wyszukaj tekst na twoich zdjęciach",
"official_immich_resources": "Oficjalne zasoby Immicha",
"offline": "Offline",
"offset": "Przesunięcie",
@@ -1539,6 +1557,8 @@
"open": "Otwórz",
"open_calendar": "Otwórz kalendarz",
"open_in_browser": "Otwórz w przeglądarce",
"open_in_immich_body": "Ustaw Immich jako domyślną galerię w systemie Android, aby otwierać zdjęcia bezpośrednio z innych aplikacji.",
"open_in_immich_title": "Otwórz zdjęcia w Immich",
"open_in_map_view": "Otwórz w widoku mapy",
"open_in_openstreetmap": "Otwórz w OpenStreetMap",
"open_the_search_filters": "Otwórz filtry wyszukiwania",
@@ -1697,7 +1717,10 @@
"recent": "Ostatnie",
"recent_searches": "Ostatnie wyszukiwania",
"recently_added": "Ostatnio dodane",
"recently_added_body": "Przejdź od razu do wszystkich elementów, które ostatnio dodałeś, na specjalnej stronie.",
"recently_added_description": "Przeglądaj swoje zasoby posortowane według daty przesłania ich do Immich",
"recently_added_page_title": "Ostatnio Dodane",
"recently_added_title": "Ostatnio dodane",
"recently_taken": "Ostatnio wykonane",
"refresh": "Odśwież",
"refresh_encoded_videos": "Odśwież enkodowane wideo",
@@ -1904,6 +1927,8 @@
"share_link": "Udostępnij link",
"share_original": "Użyj orginału (duży)",
"share_preview": "Użyj miniatury (mała)",
"share_quality_body": "Naciśnij i przytrzymaj przycisk udostępniania, aby wybrać jakość obrazu przed udostępnieniem.",
"share_quality_title": "Wybierz jakość udostępnianych zasobów",
"shared": "Udostępnione",
"shared_album_activities_input_disable": "Komentarz jest wyłączony",
"shared_album_activity_remove_content": "Czy chcesz usunąć tę aktywność?",
@@ -1985,16 +2010,19 @@
"sign_out": "Wyloguj się",
"sign_up": "Zarejestruj się",
"size": "Rozmiar",
"skip": "Pomiń",
"skip_to_content": "Przejdź do treści",
"skip_to_folders": "Przejdź do folderów",
"skip_to_tags": "Przejdź do tagów",
"slideshow": "Pokaz slajdów",
"slideshow_body": "Usiądź wygodnie i obejrzyj swoje zdjęcia w formie pokazu slajdów na pełnym ekranie.",
"slideshow_metadata_overlay_mode": "Treść nakładki",
"slideshow_metadata_overlay_mode_description_only": "Tylko opis",
"slideshow_metadata_overlay_mode_full": "Pełna",
"slideshow_repeat": "Powtórz pokaz slajdów",
"slideshow_repeat_description": "Zapętl pokaz slajdów",
"slideshow_settings": "Ustawienia pokazu slajdów",
"slideshow_title": "Pokaz slajdów",
"smart_album": "Album inteligentny",
"some_assets_already_have_a_location_warning": "Niektóre z wybranych zasobów mają już lokalizację",
"sort_albums_by": "Sortuj albumy według...",
@@ -2122,6 +2150,7 @@
"unknown": "Nieznany",
"unknown_country": "Nieznane państwo",
"unknown_date": "Nieznana data",
"unknown_schema": "Nieznany schemat",
"unknown_year": "Rok nieznany",
"unlimited": "Nieograniczony",
"unlink_motion_video": "Rozłącz ruchome wideo",
@@ -2157,6 +2186,8 @@
"upload_status_errors": "Błędy",
"upload_status_uploaded": "Przesłano",
"upload_success": "Przesyłanie powiodło się, odśwież stronę, aby zobaczyć nowo przesłane zasoby.",
"upload_to_album_body": "Użytkownicy, którzy nie korzystają z funkcji ręcznego przesyłania, mogą teraz dodawać lokalne zdjęcia bezpośrednio do albumu podczas przesyłania. Nie ma już potrzeby przesyłania i późniejszego dodawania zdjęć do albumu.",
"upload_to_album_title": "Prześlij bezpośrednio do albumu",
"upload_to_immich": "Prześlij do Immich ({count})",
"uploading": "Przesyłanie",
"uploading_media": "Przesyłanie multimediów",
@@ -2224,6 +2255,9 @@
"week": "Tydzień",
"welcome": "Witaj",
"welcome_to_immich": "Witamy w immich",
"whats_new": "Co nowego",
"whats_new_settings_subtitle": "Zobacz, co nowego w Immich",
"whats_new_version": "Wersja {version}",
"when": "Kiedy",
"width": "Szerokość",
"wifi_name": "Nazwa Wi-Fi",
+39 -6
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualidade das miniaturas de 1 a 100. Maior é melhor, mas produz tamanhos de ficheiro maiores e podem reduzir a capacidade de resposta da aplicação.",
"image_thumbnail_title": "Definições de Miniaturas",
"import_config_from_json_description": "Importar configuração do sistema ao carregar um ficheiro JSON",
"integrity_checks_checksum_files": "Ficheiros de checksum",
"integrity_checks_checksum_files_description": "Configurar a verificação de checksum",
"integrity_checks_checksum_files_enable_description": "Ativar a verificação de checksum",
"integrity_checks_checksum_files_percentage_limit": "Limite percentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configurar a percentagem máxima entre 0.01 e 1 para o quanto da verificação checksum deve ser executada a cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Tempo limite",
"integrity_checks_checksum_files_time_limit_description": "Configurar a duração máxima que cada verificação de checksum deve executar para cada intervalo. (ms)",
"integrity_checks_missing_files": "Ficheiros em falta",
"integrity_checks_missing_files_description": "Configurar a frequência e ativar ou desativar a verificação de ficheiros em falta",
"integrity_checks_missing_files_enable_description": "Ativar a verificação de ficheiros em falta",
"integrity_checks_settings": "Verificações de integridade",
"integrity_checks_settings_description": "Gerir os intervalos das verificações de integridade",
"integrity_checks_untracked_files": "Ficheiros não monitorizados",
"integrity_checks_untracked_files_description": "Configurar a frequência e ativar ou desativar a verificação de ficheiros não monitorizados",
"integrity_checks_untracked_files_enable_description": "Ativar a verificação de ficheiros não monitorizados",
"job_concurrency": "{job} em simultâneo",
"job_created": "Tarefa criada",
"job_not_concurrency_safe": "Esta tarefa não pode ser executada em simultâneo.",
@@ -562,7 +577,7 @@
"asset_list_layout_settings_group_by": "Agrupar ficheiros por",
"asset_list_layout_settings_group_by_month_day": "Mês + dia",
"asset_list_layout_sub_title": "Disposição",
"asset_list_settings_subtitle": "Configurações de disposição da grade de fotos",
"asset_list_settings_subtitle": "Definições de disposição da grade de fotos",
"asset_list_settings_title": "Grade de fotos",
"asset_not_found_on_device_android": "Ficheiro não encontrado no dispositivo",
"asset_not_found_on_device_ios": "Ficheiro não encontrado no dispositivo. Se estiver a utilizar o iCloud, o ficheiro pode estar inacessível devido a um ficheiro corrompido armazenado no iCloud",
@@ -574,7 +589,7 @@
"asset_troubleshoot": "Resolução de problemas com conteúdos",
"asset_uploaded": "Enviado",
"asset_uploading": "A enviar…",
"asset_viewer_settings_subtitle": "Gerenciar as configurações do visualizador da galeria",
"asset_viewer_settings_subtitle": "Gerir as definições do visualizador da galeria",
"asset_viewer_settings_title": "Visualizador",
"assets": "Ficheiros",
"assets_added_to_album_count": "{count, plural, one {# ficheiro adicionado} other {# ficheiros adicionados}} ao álbum",
@@ -1301,7 +1316,7 @@
"login_form_failed_get_oauth_server_config": "Ocorreu um erro ao iniciar sessão com o OAuth, verifique o URL do servidor",
"login_form_failed_get_oauth_server_disable": "A função OAuth não está disponível neste servidor",
"login_form_failed_login": "Ocorreu um erro ao iniciar sessão, verifique o URL do servidor, o e-mail e a palavra-passe",
"login_form_handshake_exception": "Erro ao conectar com o servidor. Ative o suporte para certificados auto-assinados nas configurações se estiver utilizando um certificado auto-assinado.",
"login_form_handshake_exception": "Ocorreu um erro ao autenticar com o servidor. Ative o suporte para certificados auto-assinados nas definições se estiver a utilizar um certificado auto-assinado.",
"login_form_password_hint": "Palavra-passe",
"login_form_server_empty": "Insira a URL do servidor",
"login_form_server_error": "Não foi possível ligar ao servidor",
@@ -1461,6 +1476,7 @@
"never": "Nunca",
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave de API",
"new_feature": "Nova Funcionalidade",
"new_password": "Nova palavra-passe",
"new_person": "Nova Pessoa",
"new_pin_code": "Novo código PIN",
@@ -1510,7 +1526,7 @@
"notification_enabled_list_tile_content": "O Immich utiliza notificações para cópias de segurança em segundo plano. Faça a gestão destas nas definições do seu dispositivo.",
"notification_enabled_list_tile_open_button": "Abrir Definições",
"notification_enabled_list_tile_title": "Notificações ativadas",
"notification_permission_dialog_content": "Para ativar as notificações, vá em Configurações e selecione permitir.",
"notification_permission_dialog_content": "Para ativar as notificações, aceda às Definições e selecione permitir.",
"notification_permission_list_tile_content": "Conceder permissões para ativar notificações.",
"notification_permission_list_tile_enable_button": "Ativar notificações",
"notification_permission_list_tile_title": "Permissão de notificações",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Configurador Obtainium",
"obtainium_configurator_instructions": "Utilize o Obtainium para instalar e atualizar a aplicação Android diretamente a partir do lançamento do Immich no Github. Crie uma chave API e selecione uma variante para criar a sua ligação de configuração do Obtainium",
"ocr": "Reconhecimento Ótico de Caracteres (OCR)",
"ocr_body": "O Immich agora lê o texto dentro das suas fotos, para que possa pesquisá-las pelo que está escrito nelas.",
"ocr_title": "Pesquisar por texto nas suas fotos",
"official_immich_resources": "Recursos oficiais do Immich",
"offline": "Offline",
"offset": "Desvio",
@@ -1539,6 +1557,8 @@
"open": "Abrir",
"open_calendar": "Abrir calendário",
"open_in_browser": "Abrir no navegador",
"open_in_immich_body": "Defina o Immich como a sua aplicação de galeria no Android para poder abrir fotos diretamente de outras aplicações.",
"open_in_immich_title": "Abrir fotos no Immich",
"open_in_map_view": "Abrir na visualização de mapa",
"open_in_openstreetmap": "Abrir no OpenStreetMap",
"open_the_search_filters": "Abrir os filtros de pesquisa",
@@ -1697,7 +1717,10 @@
"recent": "Recentes",
"recent_searches": "Pesquisas recentes",
"recently_added": "Adicionados Recentemente",
"recently_added_body": "Aceda diretamente a tudo o que adicionou recentemente numa página dedicada.",
"recently_added_description": "Navegue pelos seus ficheiros ordenados pela data em que foram carregados para o Immich",
"recently_added_page_title": "Adicionado recentemente",
"recently_added_title": "Adicionado recentemente",
"recently_taken": "Tirada recentemente",
"refresh": "Atualizar",
"refresh_encoded_videos": "Atualizar vídeos codificados",
@@ -1904,6 +1927,8 @@
"share_link": "Partilhar ligação",
"share_original": "Utilizar original (grande)",
"share_preview": "Utilizar miniatura (pequeno)",
"share_quality_body": "Toque e segure no botão de partilha para escolher a qualidade da imagem antes de a partilhar.",
"share_quality_title": "Escolha a qualidade de partilha",
"shared": "Partilhado",
"shared_album_activities_input_disable": "Comentários desativados",
"shared_album_activity_remove_content": "Deseja apagar esta atividade?",
@@ -1985,16 +2010,19 @@
"sign_out": "Terminar sessão",
"sign_up": "Criar conta",
"size": "Tamanho",
"skip": "Saltar",
"skip_to_content": "Saltar para o conteúdo",
"skip_to_folders": "Saltar para pastas",
"skip_to_tags": "Saltar para as etiquetas",
"slideshow": "Apresentação",
"slideshow_body": "Descontraia e veja as suas fotos a serem reproduzidas numa apresentação em ecrã inteiro.",
"slideshow_metadata_overlay_mode": "Sobrepor conteúdo",
"slideshow_metadata_overlay_mode_description_only": "Apenas descrição",
"slideshow_metadata_overlay_mode_full": "Completo",
"slideshow_repeat": "Repetir apresentação de diapositivos",
"slideshow_repeat_description": "Repetir do inicio quando a apresentação acabar",
"slideshow_settings": "Definições de apresentação",
"slideshow_title": "Apresentação de diapositivos",
"smart_album": "Álbum inteligente",
"some_assets_already_have_a_location_warning": "Alguns dos ficheiros selecionados já possuem localização",
"sort_albums_by": "Ordenar álbuns por...",
@@ -2087,7 +2115,7 @@
"to_parent": "Subir um nível",
"to_select": "seleccionar",
"to_trash": "Reciclagem",
"toggle_settings": "Alternar configurações",
"toggle_settings": "Alternar definições",
"toggle_theme_description": "Alternar tema",
"total": "Total",
"total_usage": "Total utilizado",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Erros",
"upload_status_uploaded": "Enviado",
"upload_success": "Carregamento realizado com sucesso, atualize a página para ver os novos ficheiros carregados.",
"upload_to_album_body": "Para os utilizadores que não utilizam a funcionalidade de carregamento manual, podem agora adicionar fotos guardadas localmente diretamente a um álbum enquanto as carrega, já não é necessário carregá-las primeiro para depois adicionar ao álbum.",
"upload_to_album_title": "Carregue diretamente para um álbum",
"upload_to_immich": "Enviar para o Immich ({count})",
"uploading": "Enviando",
"uploading_media": "A carregar media",
@@ -2191,7 +2221,7 @@
"variables": "Variáveis",
"version": "Versão",
"version_announcement_closing": "O seu amigo, Alex",
"version_announcement_message": "Olá! Está disponível uma nova versão do Immich. Por favor leia as <link>notas de lançamento</link> para garantir que as suas configurações estão atualizadas e para evitar quaisquer erros, especialmente se usar o WatchTower ou qualquer mecanismo que lide com a atualização automática do Immich.",
"version_announcement_message": "Olá! Está disponível uma nova versão do Immich. Por favor leia as <link>notas de lançamento</link> para garantir que as suas definições estão atualizadas e para evitar quaisquer erros, especialmente se usar o WatchTower ou qualquer mecanismo que faça atualização automática do Immich.",
"version_history": "Histórico de versões",
"version_history_item": "Instalado {version} em {date}",
"video": "Vídeo",
@@ -2224,6 +2254,9 @@
"week": "Semana",
"welcome": "Bem-vindo(a)",
"welcome_to_immich": "Bem-vindo(a) ao Immich",
"whats_new": "O que há de novo",
"whats_new_settings_subtitle": "Veja o que há de novo no Immich",
"whats_new_version": "Versão {version}",
"when": "Quando",
"width": "Largura",
"wifi_name": "Nome da rede Wi-Fi",
+41 -4
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Qualidade da miniatura, de 1 a 100. Maior é melhor, mas produz arquivos maiores e pode reduzir a velocidade do aplicativo.",
"image_thumbnail_title": "Configurações de Miniaturas",
"import_config_from_json_description": "Importar configuração do sistema enviando um arquivo JSON de configuração",
"integrity_checks_checksum_files": "Arquivos de checksum",
"integrity_checks_checksum_files_description": "Configure a verificação de checksum",
"integrity_checks_checksum_files_enable_description": "Ative a verificação de checksum",
"integrity_checks_checksum_files_percentage_limit": "Limite percentual",
"integrity_checks_checksum_files_percentage_limit_description": "Configure a porcentagem máxima entre 0,01 e 1 para a proporção da verificação de checksum a ser executada em cada intervalo.",
"integrity_checks_checksum_files_time_limit": "Tempo limite",
"integrity_checks_checksum_files_time_limit_description": "Configure a duração máxima pela qual a verificação de checksum deve ser executada em cada intervalo. (ms)",
"integrity_checks_missing_files": "Arquivos ausentes",
"integrity_checks_missing_files_description": "Configure a frequência e habilite ou desabilite a verificação de arquivos ausentes",
"integrity_checks_missing_files_enable_description": "Ativar a verificação de arquivos ausentes",
"integrity_checks_settings": "Verificações de integridade",
"integrity_checks_settings_description": "Gerenciar intervalos de verificações de integridade",
"integrity_checks_untracked_files": "Arquivos não rastreados",
"integrity_checks_untracked_files_description": "Configure a frequência e habilite ou desabilite a verificação de arquivos não rastreados",
"integrity_checks_untracked_files_enable_description": "Habilitar a verificação de arquivos não rastreados",
"job_concurrency": "{job} simultâneo",
"job_created": "Tarefa criada",
"job_not_concurrency_safe": "Esta tarefa não é compatível com simultaneidade.",
@@ -1200,7 +1215,7 @@
"individual_share": "Compartilhamento único",
"individual_shares": "Compartilhamentos individuais",
"info": "Informações",
"integrity_checks": "Verificações de integridade",
"integrity_checks": "Verificações de Integridade",
"interval": {
"day_at_onepm": "Todo dia, 1pm",
"hours": "A cada {hours, plural, one {hora} other {{hours, number} horas}}",
@@ -1303,9 +1318,9 @@
"login_form_failed_login": "Erro ao fazer login, verifique a URL do servidor, e-mail e senha",
"login_form_handshake_exception": "Houve um erro de autorização com o servidor. Se estiver utilizando um certificado auto assinado, ative o suporte a isso nas configurações.",
"login_form_password_hint": "senha",
"login_form_server_empty": "Digite a URL do servidor.",
"login_form_server_error": "Não foi possível conectar ao servidor.",
"login_has_been_disabled": "Login foi desativado.",
"login_form_server_empty": "Digite a URL do servido",
"login_form_server_error": "Não foi possível conectar ao servidor",
"login_has_been_disabled": "Login foi desativado",
"login_password_changed_error": "Erro ao atualizar a sua senha",
"login_password_changed_success": "Senha atualizada com sucesso",
"logout_all_device_confirmation": "Tem certeza de que deseja sair de todos os dispositivos?",
@@ -1461,6 +1476,7 @@
"never": "Nunca",
"new_album": "Novo Álbum",
"new_api_key": "Nova Chave de API",
"new_feature": "Recurso novo",
"new_password": "Nova senha",
"new_person": "Nova Pessoa",
"new_pin_code": "Novo código PIN",
@@ -1507,6 +1523,9 @@
"notes": "Notas",
"nothing_here_yet": "Ainda não existe nada aqui",
"notification_backup_reliability": "Ative as notificações para evitar problemas durante o backup em segundo plano",
"notification_enabled_list_tile_content": "O Immich utiliza notificações para o backup em segundo plano. Gerencie-as nas configurações do seu dispositivo.",
"notification_enabled_list_tile_open_button": "Abrir configurações",
"notification_enabled_list_tile_title": "Notificações ativadas",
"notification_permission_dialog_content": "Para ativar as notificações, vá em Configurações e selecione permitir.",
"notification_permission_list_tile_content": "Conceda permissão para ativar notificações.",
"notification_permission_list_tile_enable_button": "Ativar notificações",
@@ -1518,6 +1537,8 @@
"obtainium_configurator": "Configurador Obtainium",
"obtainium_configurator_instructions": "Use o Obtainium para instalar e atualizar o aplicativo Android diretamente do lançamento do Immich no GitHub. Crie uma chave API e selecione a variante para criar o seu link de configuração Obtainium",
"ocr": "OCR",
"ocr_body": "O Immich agora lê o texto dentro das suas fotos, para que você possa pesquisá-las pelo que está escrito nelas.",
"ocr_title": "Pesquise texto em suas fotos",
"official_immich_resources": "Recursos oficiais do Immich",
"offline": "Desconectado",
"offset": "Deslocamento",
@@ -1536,6 +1557,8 @@
"open": "Abrir",
"open_calendar": "Abrir calendário",
"open_in_browser": "Abrir no navegador",
"open_in_immich_body": "Defina o Immich como sua galeria no Android para abrir fotos diretamente de outros aplicativos.",
"open_in_immich_title": "Abrir fotos no Immich",
"open_in_map_view": "Mostrar no mapa",
"open_in_openstreetmap": "Abrir no OpenStreetMap",
"open_the_search_filters": "Abre os filtros de pesquisa",
@@ -1694,7 +1717,10 @@
"recent": "Recente",
"recent_searches": "Pesquisas recentes",
"recently_added": "Adicionado recentemente",
"recently_added_body": "Acesse diretamente tudo o que você adicionou recentemente em uma página dedicada.",
"recently_added_description": "Navegue pelas suas mídias ordenadas pela data de upload para o Immich",
"recently_added_page_title": "Adicionados recentemente",
"recently_added_title": "Adicionado recentemente",
"recently_taken": "Tirada recentemente",
"refresh": "Atualizar",
"refresh_encoded_videos": "Atualizar vídeos codificados",
@@ -1901,6 +1927,8 @@
"share_link": "Criar Link",
"share_original": "Original (grande)",
"share_preview": "Miniatura (pequeno)",
"share_quality_body": "Pressione e segure o botão de compartilhamento para escolher a qualidade da imagem antes de compartilhar.",
"share_quality_title": "Escolha a qualidade do compartilhamento",
"shared": "Compartilhado",
"shared_album_activities_input_disable": "Comentários desativados",
"shared_album_activity_remove_content": "Deseja excluir esta atividade?",
@@ -1982,16 +2010,19 @@
"sign_out": "Sair",
"sign_up": "Registrar",
"size": "Tamanho",
"skip": "Pular",
"skip_to_content": "Ir para o conteúdo",
"skip_to_folders": "Ir para pastas",
"skip_to_tags": "Ir para os marcadores",
"slideshow": "Apresentação",
"slideshow_body": "Relaxe e assista às suas fotos em uma apresentação de slides em tela cheia.",
"slideshow_metadata_overlay_mode": "Conteúdo exibido",
"slideshow_metadata_overlay_mode_description_only": "Apenas a descrição",
"slideshow_metadata_overlay_mode_full": "Tudo",
"slideshow_repeat": "Repetir apresentação de slides",
"slideshow_repeat_description": "Voltar para o início quando a apresentação terminar",
"slideshow_settings": "Opções de apresentação",
"slideshow_title": "Apresentação de slides",
"smart_album": "Álbum inteligente",
"some_assets_already_have_a_location_warning": "Alguns dos arquivos selecionados já tem uma localização",
"sort_albums_by": "Ordenar álbuns por...",
@@ -2119,6 +2150,7 @@
"unknown": "Desconhecido",
"unknown_country": "País desconhecido",
"unknown_date": "Data desconhecida",
"unknown_schema": "Esquema desconhecido",
"unknown_year": "Ano desconhecido",
"unlimited": "Ilimitado",
"unlink_motion_video": "Remover relação com video animado",
@@ -2154,6 +2186,8 @@
"upload_status_errors": "Erros",
"upload_status_uploaded": "Enviado",
"upload_success": "Enviado com sucesso, atualize a página para ver os novos arquivos.",
"upload_to_album_body": "Para os usuários que não utilizam o recurso de upload manual, agora é possível adicionar fotos locais diretamente a um álbum durante o upload; não é mais necessário fazer o upload para depois adicioná-las a um álbum.",
"upload_to_album_title": "Faça o upload diretamente para um álbum",
"upload_to_immich": "Enviar para o Immich ({count})",
"uploading": "Enviando",
"uploading_media": "Enviando mídia",
@@ -2221,6 +2255,9 @@
"week": "Semana",
"welcome": "Bem-vindo(a)",
"welcome_to_immich": "Bem-vindo(a) ao Immich",
"whats_new": "O que há de novo",
"whats_new_settings_subtitle": "Veja as novidades do Immich",
"whats_new_version": "Versão {version}",
"when": "Quando",
"width": "Largura",
"wifi_name": "Nome do Wi-Fi",
+64 -7
View File
@@ -108,6 +108,18 @@
"image_thumbnail_quality_description": "Calitatea miniaturii de la 1 la 100. O valoare mai mare oferă o calitate mai bună, dar produce fișiere mai mari și poate reduce receptivitatea aplicației.",
"image_thumbnail_title": "Setari miniaturi",
"import_config_from_json_description": "Importați configurația sistemului încărcând un fișier de configurare JSON",
"integrity_checks_checksum_files_percentage_limit": "Limită procentuală",
"integrity_checks_checksum_files_percentage_limit_description": "Configurează procentajul maxim, cuprins între 0,01 și 1, care indică frecvența cu care trebuie să se efectueze verificarea sumei de control la fiecare interval.",
"integrity_checks_checksum_files_time_limit": "Timp limită",
"integrity_checks_checksum_files_time_limit_description": "Configurează durata maximă pentru care verificarea sumei de control ar trebui să ruleze la fiecare interval. (ms)",
"integrity_checks_missing_files": "Fișiere lipsă",
"integrity_checks_missing_files_description": "Configurează frecvența și activează sau dezactivează verificarea fișierelor lipsă",
"integrity_checks_missing_files_enable_description": "Activează verificarea fișierelor lipsă",
"integrity_checks_settings": "Verificări de integritate",
"integrity_checks_settings_description": "Gestionează intervalele de verificare a integrității",
"integrity_checks_untracked_files": "Fișiere neurmărite",
"integrity_checks_untracked_files_description": "Configurează frecvența și activează sau dezactivează verificarea fișierelor neurmărite",
"integrity_checks_untracked_files_enable_description": "Activează verificarea fișierelor neurmărite",
"job_concurrency": "Concurență {job}",
"job_created": "Sarcină creată",
"job_not_concurrency_safe": "Această sarcină nu este sigură pentru a rula în concurență.",
@@ -189,6 +201,18 @@
"maintenance_delete_error": "Stergerea backup-ului nu a reusit.",
"maintenance_integrity_check": "Verifică",
"maintenance_integrity_check_all": "Verifică tot",
"maintenance_integrity_checksum_mismatch": "Neconcordanță sumă de control",
"maintenance_integrity_checksum_mismatch_description": "Fișiere a căror sumă de control de pe disc nu se potrivește cu suma de control stocată de Immich în baza sa de date.",
"maintenance_integrity_checksum_mismatch_job": "Verificați neconcordanțele sumelor de control",
"maintenance_integrity_checksum_mismatch_refresh_job": "Reîmprospătarea rapoartelor privind neconcordanța sumelor de control",
"maintenance_integrity_missing_file": "Fișiere lipsă",
"maintenance_integrity_missing_file_description": "Fișiere pe care Immich le-a urmărit în baza sa de date, dar care nu există în sistemul de fișiere.",
"maintenance_integrity_missing_file_job": "Verifică dacă există fișiere lipsă",
"maintenance_integrity_missing_file_refresh_job": "Reîmprospătați rapoartele privind fișierele lipsă",
"maintenance_integrity_report": "Raport de integritate",
"maintenance_integrity_untracked_file": "Fișiere neurmărite",
"maintenance_integrity_untracked_file_job": "Verifică dacă există fișiere neurmărite",
"maintenance_integrity_untracked_file_refresh_job": "Reîmprospătează rapoartele fișierelor neurmărite",
"maintenance_restore_backup": "Restaureaza Backup",
"maintenance_restore_backup_description": "Immich va fi șters si restaurat din backup-ul ales. Va fi creat un nou backup înainte de a continua.",
"maintenance_restore_backup_different_version": "Acest backup a fost creat folosind o versiune diferita de Immich!",
@@ -292,7 +316,7 @@
"oauth_timeout_description": "Timp de expirare pentru solicitări în milisecunde",
"ocr_job_description": "Folosește învățarea automată pentru recunoașterea textului din imagini",
"password_enable_description": "Autentificare cu email și parolǎ",
"password_settings": "Autentificare cu Parolǎ",
"password_settings": "Autentificare cu parolǎ",
"password_settings_description": "Gestioneazǎ setǎrile de autentificare cu parola",
"paths_validated_successfully": "Toate cǎile au fost validate cu succes",
"person_cleanup_job": "Ștergere persoane",
@@ -301,7 +325,7 @@
"queues_page_description": "Pagina cu cozi de sarcini administrative",
"quota_size_gib": "Spațiu de stocare alocat (GiB)",
"refreshing_all_libraries": "Bibliotecile sunt în curs de reîmprospǎtare",
"registration": "Înregistrare Administratori",
"registration": "Înregistrare administratori",
"registration_description": "Deoarece sunteți primul utilizator de pe sistem, veți fi desemnat ca administrator și sunteți responsabil pentru sarcinile administrative, iar utilizatorii suplimentari vor fi creați de dumneavoastră.",
"release_channel_release_candidate": "Candidat pentru lansare",
"release_channel_stable": "Stabil",
@@ -316,7 +340,7 @@
"server_external_domain_settings_description": "Domeniu utilizat pentru link-uri externe",
"server_public_users": "Utilizatori publici",
"server_public_users_description": "Toți utilizatorii (nume și e-mail) sunt listați atunci când adăugați un utilizator la albumele partajate. Când este dezactivată, lista de utilizatori va fi disponibilă numai pentru utilizatorii admin.",
"server_settings": "Setǎri Server",
"server_settings": "Setǎri server",
"server_settings_description": "Gestioneazǎ setǎrile serverului",
"server_stats_page_description": "Pagina cu statistici ale serverului de administrare",
"server_welcome_message": "Mesaj de bun-venit",
@@ -542,6 +566,7 @@
"asset_added_to_album": "Adăugat la album",
"asset_adding_to_album": "Se adaugă la album…",
"asset_created": "Resurse create",
"asset_day_count": "{date}: {count, plural, un {# asset} și alte {# assets}}",
"asset_description_updated": "Descrierea resursei a fost actualizată",
"asset_hashing": "Calculare amprentă digitală…",
"asset_list_group_by_sub_title": "Grupare după",
@@ -797,6 +822,7 @@
"day": "Zi",
"days": "Zile",
"deduplicate_all": "Deduplicați Toate",
"default_share_quality": "Calitatea implicită a partajării",
"delete": "Ștergere",
"delete_action_confirmation_message": "Sigur vrei să ștergi acest element? Această acțiune va muta elementul în coșul de gunoi al serverului și te va întreba dacă vrei să-l ștergi local",
"delete_action_prompt": "{count} șterse",
@@ -1074,10 +1100,12 @@
"external_libraries": "Biblioteci externe",
"external_network": "Rețea externă",
"external_network_sheet_info": "Când nu se află în rețeaua Wi-Fi preferată, aplicația se va conecta la server prin prima dintre adresele URL de mai jos pe care o poate accesa, începând de sus în jos",
"f_number": "Număr F",
"face_unassigned": "Nealocat",
"failed": "Eșuat",
"failed_count": "Eșuat: {count}",
"failed_to_authenticate": "Autentificarea nu a reușit",
"failed_to_delete_file": "Nu s-a putut șterge fișierul",
"failed_to_load_assets": "Nu s-au încărcat activele",
"failed_to_load_folder": "Nu s-a putut încărca folderul",
"favorite": "Favorit",
@@ -1182,6 +1210,7 @@
"individual_share": "Cota individuală",
"individual_shares": "Partajări individuale",
"info": "Informație",
"integrity_checks": "Verificări de integritate",
"interval": {
"day_at_onepm": "În fiecare zi la ora 13.00",
"hours": "La fiecare {hours, plural, one {oră} other {{hours, number} ore}}",
@@ -1242,6 +1271,8 @@
"link_to_oauth": "Link către OAuth",
"linked_oauth_account": "Cont OAuth conectat",
"list": "Listă",
"live": "În direct",
"load_more": "Afișează mai multe",
"loading": "Încărcare",
"loading_search_results_failed": "Încărcarea rezultatelor căutării nu a reușit",
"local": "Local",
@@ -1282,9 +1313,9 @@
"login_form_failed_login": "Eroare la autentificare, verifică URL-ul server-ului, adresa de email și parola",
"login_form_handshake_exception": "A apărut o excepție Handshake cu server-ul. Activează suportul pentru certificate auto-semnate în setări dacă folosești un certificat auto-semnat.",
"login_form_password_hint": "parolă",
"login_form_server_empty": "Introdu URL-ul server-ului.",
"login_form_server_error": "Nu s-a putut realiza conexiunea la server.",
"login_has_been_disabled": "Conectarea a fost dezactivată.",
"login_form_server_empty": "Introdu adresa URL a unui server",
"login_form_server_error": "Nu s-a putut realiza conexiunea la server",
"login_has_been_disabled": "Conectarea a fost dezactivată",
"login_password_changed_error": "A intervenit o eroare la actualizarea parolei",
"login_password_changed_success": "Parola a fost actualizată cu succes",
"logout_all_device_confirmation": "Sigur doriți să deconectați toate dispozitivele?",
@@ -1354,9 +1385,12 @@
"matching_assets": "Resurse similare",
"media_chrome": {
"auto": "Automat",
"captions": "Subtitrări",
"captions_off": "Oprit",
"closed_captions": "subtitrări pentru persoane cu deficiențe de auz",
"decode_error": "Eroare de decodare",
"disable_captions": "Dezactivează subtitrările",
"enable_captions": "Activează subtitrările",
"enter_fullscreen_mode": "Intră în modul ecran complet",
"exit_fullscreen_mode": "Ieși din modul ecran complet",
"loop": "Buclǎ",
@@ -1367,12 +1401,17 @@
"not_supported_error": "Sursa nu este suportatǎ",
"playback_rate": "Ratǎ de redare",
"playback_rate_current": "ratǎ de redare actualǎ",
"playback_rate_value": "Viteza de redare {playbackRate}",
"playback_time": "timp de redare",
"quality": "Calitate",
"second": "secundǎ",
"seconds": "secunde",
"time_value_of_total_time": "{currentTime} din {totalTime}",
"unmute": "Activează sunetul"
"time_value_remaining": "{time} rămas",
"unmute": "Activează sunetul",
"video_not_loaded_unknown_time": "videoclipul nu s-a încărcat, durată necunoscută.",
"video_player": "player video",
"volume": "volum"
},
"media_type": "Tip media",
"memories": "Amintiri",
@@ -1399,8 +1438,10 @@
"mobile_app": "Aplicație Mobilă",
"mobile_app_download_onboarding_note": "Descarcă aplicația mobilă folosind următoarele opțiuni",
"model": "Model",
"modify_date": "Data modificării",
"month": "Lună",
"more": "Mai mult",
"motion": "Mişcare",
"move": "Mută",
"move_off_locked_folder": "Mutați din dosarul blocat",
"move_to": "Mutare la",
@@ -1427,6 +1468,7 @@
"never": "Niciodată",
"new_album": "Album Nou",
"new_api_key": "Cheie API nouǎ",
"new_feature": "Funcție nouă",
"new_password": "Parolă nouă",
"new_person": "Persoanǎ nouǎ",
"new_pin_code": "Cod PIN nou",
@@ -1464,6 +1506,7 @@
"no_results": "Fără rezultate",
"no_results_description": "Încercați un sinonim sau un cuvânt cheie mai general",
"no_shared_albums_message": "Creați un album pentru a partaja fotografii și videoclipuri cu persoanele din rețeaua dvs",
"no_steps": "Niciun pas adăugat încă",
"none": "Niciunul",
"not_allowed": "Nu este permis",
"not_available": "N/A",
@@ -1472,6 +1515,8 @@
"notes": "Note",
"nothing_here_yet": "Nimic aici încă",
"notification_backup_reliability": "Activează notificările pentru a îmbunătăți fiabilitatea copierii de rezervă în fundal",
"notification_enabled_list_tile_open_button": "Deschide setările",
"notification_enabled_list_tile_title": "Notificările sunt activate",
"notification_permission_dialog_content": "Pentru a activa notificările, mergi în Setări > Immich și selectează permite.",
"notification_permission_list_tile_content": "Acordă permisiunea pentru a activa notificările.",
"notification_permission_list_tile_enable_button": "Activează notificările",
@@ -1483,6 +1528,7 @@
"obtainium_configurator": "Configurator Obtainium",
"obtainium_configurator_instructions": "Folosește Obtainium pentru a instala și actualiza aplicația Android direct din release-urile Immich de pe GitHub. Creează o cheie API și selectează o variantă pentru a genera linkul de configurare Obtainium",
"ocr": "OCR",
"ocr_title": "Caută text în fotografiile tale",
"official_immich_resources": "Resurse Oficiale Immich",
"offline": "Offline",
"offset": "Decalaj",
@@ -1501,6 +1547,7 @@
"open": "Deschide",
"open_calendar": "Deschide calendarul",
"open_in_browser": "Deschide în browser",
"open_in_immich_title": "Deschide fotografiile în Immich",
"open_in_map_view": "Deschideți în vizualizarea hărții",
"open_in_openstreetmap": "Deschideți în OpenStreetMap",
"open_the_search_filters": "Deschideți filtrele de căutare",
@@ -1605,6 +1652,7 @@
"profile_drawer_readonly_mode": "Mod doar citire activat. Ține apăsat pe pictograma avatarului utilizatorului pentru a ieși.",
"profile_image_of_user": "Imagine de profil a lui {user}",
"profile_picture_set": "Poză de profil setată.",
"projection_type": "Tipul proiecției",
"public_album": "Album public",
"public_share": "Distribuire Publică",
"purchase_account_info": "Suporter",
@@ -1658,6 +1706,7 @@
"recent_searches": "Căutări recente",
"recently_added": "Adăugate recent",
"recently_added_page_title": "Adăugate recent",
"recently_added_title": "Adăugate recent",
"recently_taken": "Recent realizate",
"refresh": "Reîmprospătare",
"refresh_encoded_videos": "Actualizează videoclipurile encodate",
@@ -1750,6 +1799,7 @@
"search_by_filename": "Căutați după numele fișierului sau extensie",
"search_by_filename_example": "i.e. IMG_1234.JPG sau PNG",
"search_by_full_path": "Caută după calea completă sau dosar",
"search_by_full_path_example": "/John/Projects/3D_Printing/2026-07-01 - poți căuta după Proiecte, 3D, Imprimare, 2026 etc.",
"search_by_ocr": "Caută folosind OCR",
"search_by_ocr_example": "Factură",
"search_camera_lens_model": "Caută modelul lentilei...",
@@ -1811,6 +1861,7 @@
"select_person": "Selectează persoana",
"select_person_to_tag": "Selectați o persoană pentru a o eticheta",
"select_photos": "Selectați fotografii",
"select_quality": "Selectează calitatea",
"select_trash_all": "Selectați tot pentru ștergere",
"selected": "Selectat",
"selected_count": "{count, plural, other {# selectat}}",
@@ -1860,6 +1911,7 @@
"share": "Distribuiți",
"share_dialog_preparing": "Se pregătește...",
"share_link": "Partajați linkul",
"share_original": "Folosește varianta originală (mare)",
"shared": "Partajat",
"shared_album_activities_input_disable": "Cometariile sunt dezactivate",
"shared_album_activity_remove_content": "Dorești să ștergi această activitate?",
@@ -2073,6 +2125,7 @@
"unknown": "Necunoscut",
"unknown_country": "Țară necunoscută",
"unknown_date": "Dată necunoscută",
"unknown_schema": "Schemă necunoscută",
"unknown_year": "An Necunoscut",
"unlimited": "Nelimitat",
"unlink_motion_video": "Deconectați videoclipul în mișcare",
@@ -2107,6 +2160,7 @@
"upload_status_errors": "Erori",
"upload_status_uploaded": "Încărcat",
"upload_success": "Încărcare reușită, reîmprospătați pagina pentru a vedea resursele noi încărcate.",
"upload_to_album_title": "Încarcă direct într-un album",
"upload_to_immich": "Încărcați pe Immich ({count})",
"uploading": "Se încarcă",
"uploading_media": "Se încarcă fișierele media",
@@ -2173,6 +2227,9 @@
"week": "Sǎptǎmânǎ",
"welcome": "Bun venit",
"welcome_to_immich": "Bun venit la Immich",
"whats_new": "Ce este nou",
"whats_new_settings_subtitle": "Descoperă noutățile din Immich",
"whats_new_version": "Versiunea {version}",
"when": "Când",
"width": "Lățime",
"wifi_name": "Nume Wi-Fi",
+40 -1
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Качество миниатюр от 1 до 100. Чем выше качество, тем лучше, но при этом создаются файлы большего размера и может снизиться скорость отклика приложения.",
"image_thumbnail_title": "Настройки миниатюр",
"import_config_from_json_description": "Импортировать конфигурацию системы, загрузив JSON файл настроек",
"integrity_checks_checksum_files": "Контрольные суммы файлов",
"integrity_checks_checksum_files_description": "Настройка проверки контрольных сумм",
"integrity_checks_checksum_files_enable_description": "Включить проверку контрольных сумм",
"integrity_checks_checksum_files_percentage_limit": "Процентный лимит",
"integrity_checks_checksum_files_percentage_limit_description": "Максимальное количество объектов в процентах от 0,01 до 1, обрабатываемых за раз при проверке контрольных сумм.",
"integrity_checks_checksum_files_time_limit": "Временной лимит",
"integrity_checks_checksum_files_time_limit_description": "Максимальная продолжительность выполнения итерации по проверке контрольных сумм (мс)",
"integrity_checks_missing_files": "Отсутствующие файлы",
"integrity_checks_missing_files_description": "Настройка частоты и включение/отключение функции поиска отсутствующих файлов",
"integrity_checks_missing_files_enable_description": "Включить функцию поиска отсутствующих файлов",
"integrity_checks_settings": "Проверка целостности",
"integrity_checks_settings_description": "Управление интервалами функции проверки целостности",
"integrity_checks_untracked_files": "Неотслеживаемые файлы",
"integrity_checks_untracked_files_description": "Настройка частоты и включение/отключение функции поиска неотслеживаемых файлов",
"integrity_checks_untracked_files_enable_description": "Включение функции поиска неотслеживаемых файлов",
"job_concurrency": "Число параллельных потоков задачи {job}",
"job_created": "Задача создана",
"job_not_concurrency_safe": "Эта задача не обеспечивает безопасность параллельности выполнения.",
@@ -416,6 +431,10 @@
"transcoding_realtime_description": "Позволяет перекодировать видео в режиме реального времени во время воспроизведения. Поддерживает переключение качества, но может вызывать более высокие задержки воспроизведения и подтормаживания в зависимости от производительности сервера.",
"transcoding_realtime_enabled": "Включить перекодирование в реальном времени",
"transcoding_realtime_enabled_description": "Отключение параметра приведёт к недоступности запуска перекодирования в реальном времени.",
"transcoding_realtime_resolutions": "Разрешения",
"transcoding_realtime_resolutions_description": "Доступные разрешения для транскодирования в реальном времени. Для выбора будут доступны варианты, не превышающие разрешение исходного файла. Высокие разрешения могут вызвать проблемы с воспроизведением, если возможностей сервера будет недостаточно.",
"transcoding_realtime_video_codecs": "Видеокодеки",
"transcoding_realtime_video_codecs_description": "Доступные видеокодеки для транскодирования в реальном времени. Клиенты будут выбирать наиболее подходящий кодек во время воспроизведения. AV1 эффективнее, чем HEVC, который, в свою очередь, эффективнее, чем H.264. При использовании аппаратного ускорения выбирайте только те кодеки, которые поддерживает ускоритель. При использовании программного перекодирования обратите внимание, что H.264 быстрее, чем AV1, который, в свою очередь, быстрее, чем HEVC.",
"transcoding_reference_frames": "Опорные кадры",
"transcoding_reference_frames_description": "Количество кадров, на которые следует ссылаться при сжатии данного кадра. Более высокие значения повышают эффективность сжатия, но замедляют кодирование. 0 устанавливает это значение автоматически.",
"transcoding_required_description": "Только видео в нестандартном формате",
@@ -578,6 +597,7 @@
"asset_viewer_settings_title": "Просмотр объектов",
"assets": "Объекты",
"assets_added_to_album_count": "В альбом {count, plural, one {добавлен # объект} many {добавлено # объектов} other {добавлено # объекта}}",
"assets_added_to_album_partial_count": "{successCount} из {totalCount, plural, one {# объекта} other {# объектов}} добавлено в альбом",
"assets_added_to_albums_count": "{assetTotal, plural, one {# объект добавлен} many {# объектов добавлены} other {# объекта добавлены}} в {albumTotal, plural, one {# альбом} many {# альбомов} other {# альбома}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Объект не может быть добавлен} other {Объекты не могут быть добавлены}} в альбом",
"assets_cannot_be_added_to_albums": "{count, plural, one {# объект} many {# объектов} other {# объекта}} не могут быть добавлены ни в один альбом",
@@ -763,7 +783,7 @@
"create_album": "Создать альбом",
"create_album_page_untitled": "Без названия",
"create_api_key": "Создать API ключ",
"create_first_workflow": "Создать первый сценарий",
"create_first_workflow": "Нажмите для создания первого сценария",
"create_library": "Создать библиотеку",
"create_link": "Создать ссылку",
"create_link_to_share": "Создать ссылку общего доступа",
@@ -1461,6 +1481,7 @@
"never": "никогда",
"new_album": "Новый альбом",
"new_api_key": "Новый API ключ",
"new_feature": "Новая функциональность",
"new_password": "Новый пароль",
"new_person": "Новый человек",
"new_pin_code": "Новый PIN-код",
@@ -1521,6 +1542,8 @@
"obtainium_configurator": "Настройка Obtainium",
"obtainium_configurator_instructions": "Для установки и обновления Android приложения Immich напрямую из источников на GitHub (минуя магазины приложений) можно использовать Obtainium. Создайте новый API ключ и укажите архитектуру приложения для формирования ссылки для Obtainium.",
"ocr": "Текст (OCR)",
"ocr_body": "Immich научился распознавать текст на изображениях, теперь поиск возможен и по этому содержимому.",
"ocr_title": "Поиск текста на фотографиях",
"official_immich_resources": "Официальные ресурсы Immich",
"offline": "Недоступен",
"offset": "Смещение",
@@ -1539,6 +1562,8 @@
"open": "Открыть",
"open_calendar": "Открыть календарь",
"open_in_browser": "Открыть в браузере",
"open_in_immich_body": "Установите Immich в качестве галереи по умолчанию на Android, чтобы открывать фотографии в Immich из других приложений.",
"open_in_immich_title": "Открывать фотографии в Immich",
"open_in_map_view": "Открыть в режиме просмотра карты",
"open_in_openstreetmap": "Открыть в OpenStreetMap",
"open_the_search_filters": "Открыть фильтры поиска",
@@ -1697,7 +1722,10 @@
"recent": "Недавние",
"recent_searches": "Недавние поисковые запросы",
"recently_added": "Недавно добавленные",
"recently_added_body": "Переход к отдельной странице с недавно добавленными объектами.",
"recently_added_description": "Просмотр объектов, отсортированных по дате их загрузки в Immich",
"recently_added_page_title": "Недавно добавленные",
"recently_added_title": "Недавно добавленные",
"recently_taken": "Недавно снято",
"refresh": "Обновить",
"refresh_encoded_videos": "Обновить закодированные видео",
@@ -1904,6 +1932,8 @@
"share_link": "Создать ссылку",
"share_original": "Оригинал (большой размер)",
"share_preview": "Миниатюра (маленький размер)",
"share_quality_body": "Нажмите и удерживайте кнопку «Поделиться», чтобы выбрать качество изображения перед отправкой.",
"share_quality_title": "Выберите качество для функции \"Поделиться\"",
"shared": "Общиe",
"shared_album_activities_input_disable": "Комментарии отключены",
"shared_album_activity_remove_content": "Удалить сообщение?",
@@ -1985,16 +2015,19 @@
"sign_out": "Выход",
"sign_up": "Зарегистрироваться",
"size": "Размер",
"skip": "Пропустить",
"skip_to_content": "Перейти к содержанию",
"skip_to_folders": "Перейти к папкам",
"skip_to_tags": "Перейти к тегам",
"slideshow": "Слайд-шоу",
"slideshow_body": "Устройтесь поудобнее и наслаждайтесь полноэкранным просмотром фотографий в режиме слайд-шоу.",
"slideshow_metadata_overlay_mode": "Вид информации",
"slideshow_metadata_overlay_mode_description_only": "Только описание",
"slideshow_metadata_overlay_mode_full": "Полный",
"slideshow_repeat": "Зациклить слайд-шоу",
"slideshow_repeat_description": "Повторять слайд-шоу после его окончания",
"slideshow_settings": "Настройки слайд-шоу",
"slideshow_title": "Слайдшоу",
"smart_album": "Смарт-альбом",
"some_assets_already_have_a_location_warning": "Некоторые из выбранных объектов уже содержат данные о местоположении",
"sort_albums_by": "Сортировать альбомы по...",
@@ -2122,6 +2155,7 @@
"unknown": "Неизвестно",
"unknown_country": "Неизвестная страна",
"unknown_date": "Дата неизвестна",
"unknown_schema": "Неизвестная схема",
"unknown_year": "Неизвестный Год",
"unlimited": "Не ограничено",
"unlink_motion_video": "Отсоединить движущееся видео",
@@ -2157,6 +2191,8 @@
"upload_status_errors": "Ошибки",
"upload_status_uploaded": "Загружено",
"upload_success": "Загрузка прошла успешно. Обновите страницу, чтобы увидеть новые объекты.",
"upload_to_album_body": "Для пользователей, которые не используют функцию ручной загрузки, теперь можно добавлять фотографии с устройства сразу в нужный альбом по мере их загрузки. Больше не нужно сначала загружать их, а затем добавлять в альбом.",
"upload_to_album_title": "Загружать сразу в альбом",
"upload_to_immich": "Загрузка в Immich ({count})",
"uploading": "Загружается",
"uploading_media": "Выполняется загрузка",
@@ -2224,6 +2260,9 @@
"week": "Неделя",
"welcome": "Добро пожаловать",
"welcome_to_immich": "Добро пожаловать в Immich",
"whats_new": "Что нового",
"whats_new_settings_subtitle": "Узнайте об нововведениях в Immich",
"whats_new_version": "Версия {version}",
"when": "Когда",
"width": "Ширина",
"wifi_name": "Имя сети",
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kvalita miniatúry v stupnici od 1 do 100. Vyššia hodnota znamená lepšiu kvalitu, ale produkuje väčšie súbory a môže znížiť odozvu aplikácie.",
"image_thumbnail_title": "Miniatúry",
"import_config_from_json_description": "Importovať konfiguráciu systému nahraním konfiguračného súboru JSON",
"integrity_checks_checksum_files": "Súbory s kontrolnými súčtami",
"integrity_checks_checksum_files_description": "Nastaviť kontroly kontrolných súčtov",
"integrity_checks_checksum_files_enable_description": "Zapnúť kontrolu kontrolných súčtov",
"integrity_checks_checksum_files_percentage_limit": "Percentuálny limit",
"integrity_checks_checksum_files_percentage_limit_description": "Nastavte maximálnu percentuálnu hodnotu v rozsahu 0.01 až 1. Tá určí ako často sa má kontrolovať kontrolný súčet v každom intervale.",
"integrity_checks_checksum_files_time_limit": "Časový limit",
"integrity_checks_checksum_files_time_limit_description": "Nastavte maximálnu dobu ako dlho môže prebiehať kontrola kontrolného súčtu v každom intervale. (ms)",
"integrity_checks_missing_files": "Chýbajúce súbory",
"integrity_checks_missing_files_description": "Nastavte frekvenciu a zapnite alebo vypnite kontrolu chýbajúcich súborov",
"integrity_checks_missing_files_enable_description": "Zapnúť kontrolu chýbajúcich súborov",
"integrity_checks_settings": "Kontroly integrity",
"integrity_checks_settings_description": "Spravovanie intervalov kontrol integrity",
"integrity_checks_untracked_files": "Nesledované súbory",
"integrity_checks_untracked_files_description": "Nastavte frekvenciu a zapnite alebo vypnite kontrolu nesledovaných súborov",
"integrity_checks_untracked_files_enable_description": "Zapnúť kontrolu nesledovaných súborov",
"job_concurrency": "Súbežné úlohy - {job}",
"job_created": "Úloha bola vytvorená",
"job_not_concurrency_safe": "Táto úloha nie je bezpečná pre súbežné spracovanie.",
@@ -1461,6 +1476,7 @@
"never": "nikdy",
"new_album": "Nový album",
"new_api_key": "Nový API kľúč",
"new_feature": "Nová funkcia",
"new_password": "Nové heslo",
"new_person": "Nová osoba",
"new_pin_code": "Nový PIN kód",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Konfigurátor Obtainium",
"obtainium_configurator_instructions": "Použite Obtainium na inštaláciu a aktualizáciu aplikácie pre Android priamo z verzie Immich v službe GitHub. Vytvorte kľúč API a vyberte variantu, aby ste vytvorili konfiguračný odkaz Obtainium",
"ocr": "OCR",
"ocr_body": "Immich teraz detekuje text vo Vašich fotkách, takže môžete vyhľadávať aj v týchto textoch.",
"ocr_title": "Vyhľadávať text vo Vašich fotkách",
"official_immich_resources": "Oficiálne Immich zdroje",
"offline": "Offline",
"offset": "Posun",
@@ -1539,6 +1557,8 @@
"open": "Otvoriť",
"open_calendar": "Otvoriť kalendár",
"open_in_browser": "Otvoriť v prehliadači",
"open_in_immich_body": "Nastavte vo svojom Androide aplikáciu Immich ako svoju galériu, aby ste mohli otvárat fotografie priamo z iných aplikácií.",
"open_in_immich_title": "Otvoriť fotografie v Immich",
"open_in_map_view": "Otvoriť v mape",
"open_in_openstreetmap": "Otvoriť v OpenStreetMap",
"open_the_search_filters": "Otvoriť vyhľadávacie filtre",
@@ -1697,7 +1717,10 @@
"recent": "Nedávne",
"recent_searches": "Posledné vyhľadávania",
"recently_added": "Nedávno pridané",
"recently_added_body": "Prejdite priamo na stránku, kde nájdete naposledy pridané fotky.",
"recently_added_description": "Prezerať fotky zoradené podľa dátumu pridania do Immich",
"recently_added_page_title": "Nedávno pridané",
"recently_added_title": "Naposledy pridané",
"recently_taken": "Nedávno nasnímané",
"refresh": "Aktualizovať",
"refresh_encoded_videos": "Obnoviť enkódované videá",
@@ -1904,6 +1927,8 @@
"share_link": "Zdieľať odkaz",
"share_original": "Použiť originál (veľký)",
"share_preview": "Použiť miniatúru (malý)",
"share_quality_body": "Stlačte a podržte tlačidlo zdieľať pre výber kvality obrázka.",
"share_quality_title": "Vyberte kvalitu obrázka na zdieľanie",
"shared": "Zdieľané",
"shared_album_activities_input_disable": "Komentár je zakázaný",
"shared_album_activity_remove_content": "Chcete vymazať túto aktivitu?",
@@ -1985,16 +2010,19 @@
"sign_out": "Odhlásiť sa",
"sign_up": "Registrovať",
"size": "Veľkosť",
"skip": "Preskočiť",
"skip_to_content": "Preskočiť na obsah",
"skip_to_folders": "Preskočiť do priečinkov",
"skip_to_tags": "Preskočiť ku štítkom",
"slideshow": "Prezentácia",
"slideshow_body": "Sledujte ako sa Vaše fotografie premietajú v prezentácii na celej obrazovke.",
"slideshow_metadata_overlay_mode": "Obsah prekrytia obrázku",
"slideshow_metadata_overlay_mode_description_only": "Iba popis",
"slideshow_metadata_overlay_mode_full": "Úplný",
"slideshow_repeat": "Opakovať prezentáciu",
"slideshow_repeat_description": "Po skončení prezentácie sa vrátiť späť na začiatok",
"slideshow_settings": "Nastavenia prezentácie",
"slideshow_title": "Prezentácia",
"smart_album": "Inteligentný album",
"some_assets_already_have_a_location_warning": "Niektoré z vybraných objektov už majú určenú polohu",
"sort_albums_by": "Zoradiť albumy podľa...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Chyby",
"upload_status_uploaded": "Nahrané",
"upload_success": "Nahrávanie úspešné, pridané súbory sa zobrazia po obnovení stránky.",
"upload_to_album_body": "Užívatelia, ktorí nevyužívajú ručné pridávanie obrázkov, si môžu zvoliť, či chcú lokálne fotografie pridávať priamo do albumu už pri ich pridávaní. Už nie je potrebné ich najprv pridať do Immich a až potom pridať do albumu.",
"upload_to_album_title": "Nahrať priamo do albumu",
"upload_to_immich": "Nahrať na Immich ({count})",
"uploading": "Nahrávanie",
"uploading_media": "Nahrávanie médií",
@@ -2224,6 +2254,9 @@
"week": "Týždeň",
"welcome": "Vitajte",
"welcome_to_immich": "Vitajte v Immich",
"whats_new": "Čo je nové",
"whats_new_settings_subtitle": "Čo je nové v Immich",
"whats_new_version": "Verzia {version}",
"when": "Kedy",
"width": "Šírka",
"wifi_name": "Názov Wi-Fi",
+33
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Kakovost sličic od 1-100. Višje je boljše, vendar ustvarja večje datoteke in lahko zmanjša odzivnost aplikacije.",
"image_thumbnail_title": "Nastavitve sličic",
"import_config_from_json_description": "Uvozite sistemsko konfiguracijo z nalaganjem konfiguracijske datoteke JSON",
"integrity_checks_checksum_files": "Datoteke kontrolnih vsot",
"integrity_checks_checksum_files_description": "Konfigurirajte preverjanje kontrolne vsote",
"integrity_checks_checksum_files_enable_description": "Omogočite preverjanje kontrolne vsote",
"integrity_checks_checksum_files_percentage_limit": "Odstotna omejitev",
"integrity_checks_checksum_files_percentage_limit_description": "Konfigurirajte največji odstotek med 0,01 in 1 za to, kolikokrat naj se preverjanje kontrolne vsote izvaja v vsakem intervalu.",
"integrity_checks_checksum_files_time_limit": "Časovna omejitev",
"integrity_checks_checksum_files_time_limit_description": "Konfigurirajte najdaljše trajanje preverjanja kontrolne vsote v vsakem intervalu. (ms)",
"integrity_checks_missing_files": "Manjkajoče datoteke",
"integrity_checks_missing_files_description": "Konfigurirajte pogostost in omogočite ali onemogočite preverjanje manjkajočih datotek",
"integrity_checks_missing_files_enable_description": "Omogočite preverjanje manjkajočih datotek",
"integrity_checks_settings": "Preverjanja integritete",
"integrity_checks_settings_description": "Upravljanje intervalov preverjanj integritete",
"integrity_checks_untracked_files": "Nesledljive datoteke",
"integrity_checks_untracked_files_description": "Konfigurirajte pogostost in omogočite ali onemogočite preverjanje nesledljivih datotek",
"integrity_checks_untracked_files_enable_description": "Omogoči preverjanje nesledljivih datotek",
"job_concurrency": "{job} sočasnost",
"job_created": "Opravilo ustvarjeno",
"job_not_concurrency_safe": "To delo ni varno za sočasnost.",
@@ -1461,6 +1476,7 @@
"never": "nikoli",
"new_album": "Nov album",
"new_api_key": "Nov API ključ",
"new_feature": "Nova funkcija",
"new_password": "Novo geslo",
"new_person": "Nova oseba",
"new_pin_code": "Nova PIN koda",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Konfigurator Obtainium",
"obtainium_configurator_instructions": "Z Obtainium namestite in posodobite aplikacijo za Android neposredno iz izdaje Immich GitHub. Ustvarite ključ API in izberite različico, da ustvarite svojo konfiguracijsko povezavo Obtainium",
"ocr": "Optično prepoznavanje znakov (OCR)",
"ocr_body": "Immich zdaj bere besedilo v vaših fotografijah, tako da jih lahko iščete po tem, kaj pišejo.",
"ocr_title": "Iskanje besedila na fotografijah",
"official_immich_resources": "Immich uradni viri",
"offline": "Brez povezave",
"offset": "Odmik",
@@ -1539,6 +1557,8 @@
"open": "Odpri",
"open_calendar": "Odpri koledar",
"open_in_browser": "Odpri v brskalniku",
"open_in_immich_body": "Nastavite Immich kot galerijo v sistemu Android, da boste lahko fotografije odpirali neposredno iz drugih aplikacij.",
"open_in_immich_title": "Odpri fotografije v Immichu",
"open_in_map_view": "Odpri v pogledu zemljevida",
"open_in_openstreetmap": "Odpri v OpenStreetMap",
"open_the_search_filters": "Odpri iskalne filtre",
@@ -1697,7 +1717,10 @@
"recent": "Nedavno",
"recent_searches": "Nedavna iskanja",
"recently_added": "Nedavno dodano",
"recently_added_body": "Skočite neposredno na vse, kar ste nedavno dodali, na namenski strani.",
"recently_added_description": "Brskajte po svojih sredstvih, razvrščenih po času nalaganja v Immich",
"recently_added_page_title": "Nedavno dodano",
"recently_added_title": "Nedavno dodano",
"recently_taken": "Nedavno posneto",
"refresh": "Osveži",
"refresh_encoded_videos": "Osveži kodirane videoposnetke",
@@ -1904,6 +1927,8 @@
"share_link": "Deli povezavo",
"share_original": "Uporabi izvirno (veliko)",
"share_preview": "Uporabi sličico (majhno)",
"share_quality_body": "Pritisnite in držite gumb za deljenje, da izberete kakovost slike, preden jo delite.",
"share_quality_title": "Izberite kakovost delitve",
"shared": "V skupni rabi",
"shared_album_activities_input_disable": "Komentiranje je onemogočeno",
"shared_album_activity_remove_content": "Ali želite izbrisati to dejavnost?",
@@ -1985,16 +2010,19 @@
"sign_out": "Odjavi se",
"sign_up": "Prijavi se",
"size": "Velikost",
"skip": "Preskoči",
"skip_to_content": "Preskoči na vsebino",
"skip_to_folders": "Preskoči na mape",
"skip_to_tags": "Preskoči na oznake",
"slideshow": "Diaprojekcija",
"slideshow_body": "Udobno se namestite in si oglejte svoje fotografije v celozaslonskem prikazu diaprojekcije.",
"slideshow_metadata_overlay_mode": "Prekrivna vsebina",
"slideshow_metadata_overlay_mode_description_only": "Samo opis",
"slideshow_metadata_overlay_mode_full": "Polno",
"slideshow_repeat": "Ponavljanje diaprojekcije",
"slideshow_repeat_description": "Po koncu diaprojekcije se zanka vrne na začetek",
"slideshow_settings": "Nastavitve diaprojekcije",
"slideshow_title": "Diaprojekcija",
"smart_album": "Pametni album",
"some_assets_already_have_a_location_warning": "Nekatera izbrana sredstva že imajo lokacijo",
"sort_albums_by": "Razvrsti albume po...",
@@ -2157,6 +2185,8 @@
"upload_status_errors": "Napake",
"upload_status_uploaded": "Naloženo",
"upload_success": "Nalaganje je uspelo, osvežite stran, da vidite nova sredstva za nalaganje.",
"upload_to_album_body": "Uporabniki, ki ne uporabljajo funkcije ročnega nalaganja, lahko zdaj dodajo lokalne fotografije neposredno v album med nalaganjem, tako da jih ni več treba nalagati in nato dodajati v album pozneje.",
"upload_to_album_title": "Naloži neposredno v album",
"upload_to_immich": "Naloži v Immich ({count})",
"uploading": "Nalagam",
"uploading_media": "Nalaganje medijev",
@@ -2224,6 +2254,9 @@
"week": "Teden",
"welcome": "Dobrodošli",
"welcome_to_immich": "Dobrodošli v Immich",
"whats_new": "Kaj je novega",
"whats_new_settings_subtitle": "Oglejte si novosti v Immichu",
"whats_new_version": "Različica {version}",
"when": "Ko",
"width": "Širina",
"wifi_name": "Wi-Fi ime",
+3 -3
View File
@@ -542,12 +542,12 @@
"check_logs": "Проверите дневнике (логс)",
"choose_matching_people_to_merge": "Изаберите одговарајуће особе за спајање",
"city": "Град",
"clear": "Јасно",
"clear": "Очисти",
"clear_all": "Избриши све",
"clear_all_recent_searches": "Обришите све недавне претраге",
"clear_message": "Обриши поруку",
"clear_value": "Јасна вредност",
"client_cert_import": "Импорт",
"clear_value": "Очисти вредност",
"client_cert_import": "Увези",
"client_cert_import_success_msg": "Сертификат клијента је увезен",
"client_cert_invalid_msg": "Неважећа датотека сертификата или погрешна лозинка",
"client_cert_remove_msg": "Сертификат клијента је уклоњен",
+1
View File
@@ -73,6 +73,7 @@
"cron_expression_description": "Podesite interval skeniranja koristeći cron format. Za više informacija pogledajte npr. <link>Crontab Guru</link>",
"cron_expression_presets": "Predefinisana podešavanja Cron izraza (expression)",
"disable_login": "Onemogući prijavu",
"download_csv": "Preuzmite CSV",
"duplicate_detection_job_description": "Pokrenite mašinsko učenje na sredstvima da biste otkrili slične slike. Oslanja se na pametnu pretragu",
"exclusion_pattern_description": "Obrasci izuzimanja vam omogućavaju da ignorišete datoteke i fascikle kada skenirate biblioteku. Ovo je korisno ako imate fascikle koje sadrže datoteke koje ne želite da uvezete, kao što su RAW datoteke.",
"export_config_as_json_description": "Skini trenutnu sistemsku konfiguraciju kao JSON fajl",
+35
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Miniatyrkvalitet från 1-100. Högre är bättre, men ger större filer och kan minska appens följsamhet.",
"image_thumbnail_title": "Miniatyrbildsinställningar",
"import_config_from_json_description": "Importera systemkonfiguration genom att ladda upp en JSON-konfigurationsfil",
"integrity_checks_checksum_files": "Kontrollsummafiler",
"integrity_checks_checksum_files_description": "Konfigurera kontrollsummekontrollen",
"integrity_checks_checksum_files_enable_description": "Aktivera kontrollsummekontrollen",
"integrity_checks_checksum_files_percentage_limit": "Procentuell gräns",
"integrity_checks_checksum_files_percentage_limit_description": "Konfigurera den maximala procentandelen mellan 0,01 och 1 för hur mycket kontrollsummekontrollen ska köras varje intervall.",
"integrity_checks_checksum_files_time_limit": "Tidsgräns",
"integrity_checks_checksum_files_time_limit_description": "Konfigurera den maximala tiden som kontrollsummekontrollen ska köras under varje intervall. (ms)",
"integrity_checks_missing_files": "Saknade filer",
"integrity_checks_missing_files_description": "Konfigurera frekvensen och aktivera eller inaktivera kontrollen av saknade filer",
"integrity_checks_missing_files_enable_description": "Aktivera kontroll av saknade filer",
"integrity_checks_settings": "Integritetskontroller",
"integrity_checks_settings_description": "Hantera intervall för integritetskontroller",
"integrity_checks_untracked_files": "Ospårade filer",
"integrity_checks_untracked_files_description": "Konfigurera frekvensen och aktivera eller inaktivera kontrollen av ospårade filer",
"integrity_checks_untracked_files_enable_description": "Aktivera kontroll av ospårade filer",
"job_concurrency": "{job} samtidighet",
"job_created": "Jobb skapat",
"job_not_concurrency_safe": "Det här jobbet är inte samtidighetssäkert.",
@@ -578,6 +593,7 @@
"asset_viewer_settings_title": "Objektvisare",
"assets": "Objekt",
"assets_added_to_album_count": "Lade till {count, plural, one {# objekt} other {# objekt}} i albumet",
"assets_added_to_album_partial_count": "Lade till {successCount} av {totalCount} {totalCount, plural, one {asset} other {assets}} till albumet",
"assets_added_to_albums_count": "Lade till {assetTotal, plural, one {# objekt} other {# objekt}} till {albumTotal, plural, one {# album} other {# album}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Objekt} other {Objekt}} kan inte läggas till i albumet",
"assets_cannot_be_added_to_albums": "{count, plural, one {Objekt} other {Objekt}} kan inte läggas till i något av albumen",
@@ -1461,6 +1477,7 @@
"never": "aldrig",
"new_album": "Nytt album",
"new_api_key": "Ny API-nyckel",
"new_feature": "Ny funktion",
"new_password": "Nytt lösenord",
"new_person": "Ny person",
"new_pin_code": "Ny PIN-kod",
@@ -1521,6 +1538,8 @@
"obtainium_configurator": "Obtainium-konfigurator",
"obtainium_configurator_instructions": "Använd Obtainium för att installera och uppdatera Android-appen direkt från Immichs GitHub-version. Skapa en API-nyckel och välj en variant för att skapa din Obtainium-konfigurationslänk",
"ocr": "OCR",
"ocr_body": "Immich läser nu text inuti dina foton, så att du kan söka efter dem utifrån vad de säger.",
"ocr_title": "Sök text i dina foton",
"official_immich_resources": "Officiella Immich-resurser",
"offline": "Frånkopplad",
"offset": "Förskjutning",
@@ -1539,6 +1558,8 @@
"open": "Öppen",
"open_calendar": "Öppna kalender",
"open_in_browser": "Öppna i webbläsare",
"open_in_immich_body": "Ställ in Immich som ditt galleri på Android för att öppna foton direkt från andra appar.",
"open_in_immich_title": "Öppna foton i Immich",
"open_in_map_view": "Öppna kartvy",
"open_in_openstreetmap": "Öppna med OpenStreetMap",
"open_the_search_filters": "Öppna sökfilter",
@@ -1697,7 +1718,10 @@
"recent": "Nyligen",
"recent_searches": "Senaste sökningar",
"recently_added": "Nyligen tillagda",
"recently_added_body": "Hoppa direkt till allt du har lagt till nyligen på en dedikerad sida.",
"recently_added_description": "Bläddra bland dina objekt sorterade efter när de laddades upp till Immich",
"recently_added_page_title": "Nyligen tillagda",
"recently_added_title": "Nyligen tillagda",
"recently_taken": "Nyligen tagna",
"refresh": "Ladda om",
"refresh_encoded_videos": "Ladda om kodade videor",
@@ -1904,6 +1928,8 @@
"share_link": "Dela Länk",
"share_original": "Använd original (stor)",
"share_preview": "Använd miniatyrbild (liten)",
"share_quality_body": "Tryck och håll ned delningsknappen för att välja bildkvalitet innan du delar.",
"share_quality_title": "Välj din delningskvalitet",
"shared": "Delad",
"shared_album_activities_input_disable": "Kommentar är inaktiverad",
"shared_album_activity_remove_content": "Vill du ta bort den här aktiviteten?",
@@ -1985,16 +2011,19 @@
"sign_out": "Logga ut",
"sign_up": "Registrera dig",
"size": "Storlek",
"skip": "Hoppa över",
"skip_to_content": "Hoppa till innehåll",
"skip_to_folders": "Hoppa till mapp",
"skip_to_tags": "Hoppa till taggar",
"slideshow": "Bildspel",
"slideshow_body": "Luta dig tillbaka och titta på dina foton som spelas upp i ett helskärms bildspel.",
"slideshow_metadata_overlay_mode": "Överläggsinnehåll",
"slideshow_metadata_overlay_mode_description_only": "Endast beskrivning",
"slideshow_metadata_overlay_mode_full": "Fullständig",
"slideshow_repeat": "Upprepa bildspel",
"slideshow_repeat_description": "Gå tillbaka till början när bildspelet slutar",
"slideshow_settings": "Bildspelsinställningar",
"slideshow_title": "Bildspel",
"smart_album": "Smart album",
"some_assets_already_have_a_location_warning": "Vissa av de valda objekten har redan platsdata",
"sort_albums_by": "Sortera album efter...",
@@ -2122,6 +2151,7 @@
"unknown": "Okänd",
"unknown_country": "Okänt Land",
"unknown_date": "Okänt datum",
"unknown_schema": "Okänt schema",
"unknown_year": "Okänt år",
"unlimited": "Obegränsat",
"unlink_motion_video": "Ta bort länken till rörlig video",
@@ -2157,6 +2187,8 @@
"upload_status_errors": "Fel",
"upload_status_uploaded": "Uppladdad",
"upload_success": "Uppladdning lyckades, ladda om sidan för att se nya objekt.",
"upload_to_album_body": "För användare som inte använder funktionen för manuell uppladdning kan ni nu välja att lägga till lokala foton direkt i ett album när ni laddar upp dem. Ni behöver inte längre ladda upp dem och lägga till dem i ett album senare.",
"upload_to_album_title": "Ladda upp direkt till ett album",
"upload_to_immich": "Ladda upp till Immich ({count})",
"uploading": "Laddar upp",
"uploading_media": "Uppladdning av media",
@@ -2224,6 +2256,9 @@
"week": "Vecka",
"welcome": "Välkommen",
"welcome_to_immich": "Välkommen till Immich",
"whats_new": "Vad är nytt",
"whats_new_settings_subtitle": "Se vad som är nytt i Immich",
"whats_new_version": "Version {version}",
"when": "När",
"width": "Bredd",
"wifi_name": "Wi-Fi-namn",
+1 -1
View File
@@ -104,7 +104,7 @@
"image_resolution_description": "ความละเอียดสูกว่าสามารถเก็บรายละเอียดได้มากกว่าแต่ใช้เวลา encode นานกว่า ไฟล์ใหญ่กว่า และลดความตอบสนองของแอป",
"image_settings": "การตั้งค่ารูปภาพ",
"image_settings_description": "จัดการคุณภาพและความคมชัดของภาพที่สร้างขึ้น",
"image_thumbnail_description": "รูปขนาดย่อที่มีการลบข้อมูลเมตาดาต้า ใช้เมื่อดูภาพถ่ายในกลุ่ม เช่น ในไทม์ไลน์หลัก",
"image_thumbnail_description": "รูปขนาดย่อที่มีการลบข้อมูลเมตาดาต้า ใช้เมื่อดูภาพถ่ายในกลุ่ม เช่น ในไทม์ไลน์หลัก",
"image_thumbnail_quality_description": "คุณภาพของภาพขนาดย่อตั้งแต่ 1-100 ยิ่งสูงยิ่งดี แต่จะทำให้ไฟล์มีขนาดใหญ่ขึ้นและอาจทำให้แอปตอบสนองช้าลง",
"image_thumbnail_title": "ตั้งค่า Thumbnail",
"import_config_from_json_description": "นำเข้าการตั้งค่าระบบโดยการอัปโหลดไฟล์คอนฟิก JSON",
+53 -7
View File
@@ -16,7 +16,7 @@
"add_a_name": "Ad ekle",
"add_a_title": "Bir başlık ekleyin",
"add_action": "Eylem ekle",
"add_assets": "Varlık ekle",
"add_assets": "Öğe ekle",
"add_birthday": "Doğum günü ekle",
"add_endpoint": "Uç nokta ekle",
"add_exclusion_pattern": "Hariç tutma deseni ekle",
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Küçük resim kalitesi 1-100 arasında. Daha yüksek değerler daha iyidir, ancak daha büyük dosyalar üretir ve uygulamanın yanıt hızını azaltabilir.",
"image_thumbnail_title": "Küçük Fotoğraf Ayarları",
"import_config_from_json_description": "JSON yapılandırma dosyası yükleyerek sistem yapılandırmasını içe aktar",
"integrity_checks_checksum_files": "Doğrulama dosyaları",
"integrity_checks_checksum_files_description": "Doğrulama kontrolünü yapılandır",
"integrity_checks_checksum_files_enable_description": "Doğrulama kontrolünü etkinleştirin",
"integrity_checks_checksum_files_percentage_limit": "Yüzdelik sınır",
"integrity_checks_checksum_files_percentage_limit_description": "Her aralıkta çalışacak doğrulama kontrolü için maksimum yüzde sınırını 0.01 ile 1 arasında yapılandırın.",
"integrity_checks_checksum_files_time_limit": "Zaman limiti",
"integrity_checks_checksum_files_time_limit_description": "Doğrulama kontrolünün her aralıkta çalışacağı maksimum süreyi yapılandırın. (ms)",
"integrity_checks_missing_files": "Eksik dosyalar",
"integrity_checks_missing_files_description": "Eksik dosya kontrolünün sıklığını yapılandırın ve etkinleştirin veya devre dışı bırakın",
"integrity_checks_missing_files_enable_description": "Eksik dosya kontrolünü etkinleştirin",
"integrity_checks_settings": "Bütünlüğü doğrula",
"integrity_checks_settings_description": "Bütünlük kontrol aralıklarını yönetin",
"integrity_checks_untracked_files": "İzlenmeyen dosyalar",
"integrity_checks_untracked_files_description": "İzlenmeyen dosya kontrolü sıklığını yapılandırın ve özelliği açın veya kapatın",
"integrity_checks_untracked_files_enable_description": "İzlenmeyen dosyalar kontrolünü etkinleştirin",
"job_concurrency": "{job} eşzamanlılık",
"job_created": "Görev oluşturuldu",
"job_not_concurrency_safe": "Bu işlem eşzamanlılık açısından güvenli değil.",
@@ -189,8 +204,10 @@
"maintenance_delete_error": "Yedek silinemedi.",
"maintenance_integrity_check": "Kontrol et",
"maintenance_integrity_check_all": "Hepsini kontrol et",
"maintenance_integrity_checksum_mismatch": "Doğrulama Uyuşmazlığı",
"maintenance_integrity_checksum_mismatch_description": "Disk üzerindeki sağlama toplamı, Immich'in veritabanında sakladığı sağlama toplamıyla uyuşmayan dosyalar.",
"maintenance_integrity_checksum_mismatch_job": "Sağlama toplamı uyuşmazlıklarını kontrol et",
"maintenance_integrity_checksum_mismatch_refresh_job": "Doğrulama uyuşmazlığı raporlarını yenile",
"maintenance_integrity_missing_file": "Eksik Dosyalar",
"maintenance_integrity_missing_file_description": "Immich'in veritabanında izlediği ancak dosya sisteminde bulunmayan dosyalar.",
"maintenance_integrity_missing_file_job": "Eksik dosyaları kontrol et",
@@ -408,9 +425,10 @@
"transcoding_policy_description": "Bir videonun ne zaman kod dönüştürüleceğini ayarlama",
"transcoding_preferred_hardware_device": "Tercih edilen donanım cihazı",
"transcoding_preferred_hardware_device_description": "Sadece VAAPI ve QSV için uygulanır. Donanım kod çevrimi için DRI Node ayarlar.",
"transcoding_preset_preset": "Ön ayar (-ön)",
"transcoding_preset_preset": "Ön ayar (-preset)",
"transcoding_preset_preset_description": "Sıkıştırma hızı. Daha yavaş olan ayarlar belirli bitrate ayarları için daha küçük ve daha kaliteli dosya üretir. VP9 ayarı 'daha hızlı' ayarının üstündeki ayarları görmezden gelir.",
"transcoding_realtime": "Gerçek Zamanlı Kod Dönüştürme [DENEYSEL]",
"transcoding_realtime_description": "Videonun akışı sırasında kod dönüştürme işleminin gerçek zamanlı olarak yapılmasını sağlar. Kalite değiştirmeye olanak tanır, ancak sunucu yeteneklerine bağlı olarak daha yüksek oynatma gecikmesine ve takılmalara neden olabilir.",
"transcoding_realtime_enabled": "Gerçek zamanlı kod dönüştürmeyi etkinleştirin",
"transcoding_realtime_enabled_description": "Devre dışı bırakılırsa, sunucu yeni gerçek zamanlı kod dönüştürme oturumları başlatmayı reddedecektir.",
"transcoding_reference_frames": "Referans kareler",
@@ -552,6 +570,7 @@
"asset_added_to_album": "Albüme eklendi",
"asset_adding_to_album": "Albüme ekleniyor…",
"asset_created": "Öğe oluşturuldu",
"asset_day_count": "{date}: {count, plural, one {# dosya} other {# dosya}}",
"asset_description_updated": "Öğe açıklaması güncellendi",
"asset_hashing": "Karma (hashleme) oluşturuluyor…",
"asset_list_group_by_sub_title": "Grupla",
@@ -807,6 +826,7 @@
"day": "Gün",
"days": "Günler",
"deduplicate_all": "Tüm kopyaları kaldır",
"default_quality_subtitle": "Paylaş düğmesine dokunulduğunda kullanılacak kalite. Her seferinde seçim yapmak için paylaş düğmesine uzun süre basın.",
"default_share_quality": "Varsayılan paylaşım kalitesi",
"delete": "Sil",
"delete_action_confirmation_message": "Bu öğeyi silmek istediğinizden emin misiniz? Bu işlem, öğeyi sunucunun çöp kutusuna taşıyacak ve yerel olarak silmek isteyip istemediğinizi soracaktır",
@@ -1079,6 +1099,7 @@
"export_as_json": "JSON olarak Dışa Aktar",
"export_database": "Veritabanını Dışa Aktar",
"export_database_description": "SQLite veritabanını dışa aktarın",
"exposure_time": "Poz Süresi",
"extension": "Uzantı",
"external": "Harici",
"external_libraries": "Harici kütüphaneler",
@@ -1297,9 +1318,9 @@
"login_form_failed_login": "Giriş yaparken hata oluştu, sunucu URL'sini, e-postayı ve şifreyi kontrol edin",
"login_form_handshake_exception": "Sunucuda bir El Sıkışma İstisnası vardı. Kendi kendine imzalanmış bir sertifika kullanıyorsanız, ayarlar menüsünden kendi kendine imzalanmış sertifikalara izin verin.",
"login_form_password_hint": "şifre",
"login_form_server_empty": "Sunucu URL'si girin.",
"login_form_server_error": "Sunucuya bağlanılamadı.",
"login_has_been_disabled": "Giriş devre dışı bırakıldı.",
"login_form_server_empty": "Sunucu URL'si girin",
"login_form_server_error": "Sunucuya bağlanılamadı",
"login_has_been_disabled": "Giriş devre dışı bırakıldı",
"login_password_changed_error": "Şifreniz güncellenirken bir hata oluştu",
"login_password_changed_success": "Şifre başarıyla güncellendi",
"logout_all_device_confirmation": "Tüm cihazlarda oturum kapatmak istediğinizden emin misiniz?",
@@ -1350,6 +1371,7 @@
"map_location_picker_page_use_location": "Bu konumu kullan",
"map_location_service_disabled_content": "Mevcut konumunuzdan öğeleri görüntülemek için konum hizmetinin etkinleştirilmesi gerekiyor. Şimdi etkinleştirmek istiyor musunuz?",
"map_location_service_disabled_title": "Konum hizmeti devre dışı bırakıldı",
"map_marker_for_image": "{city}, {country} konumunda çekilen fotoğraf için harita işareti",
"map_marker_with_image": "Resimli harita işaretleyicisi",
"map_no_location_permission_content": "Mevcut konumunuzdan öğeleri görüntülemek için konum iznine ihtiyaç var. Şimdi izin vermek istiyor musunuz?",
"map_no_location_permission_title": "Konum izni reddedildi",
@@ -1454,6 +1476,7 @@
"never": "Asla",
"new_album": "Yeni albüm",
"new_api_key": "Yeni API Anahtarı",
"new_feature": "Yeni Özellik",
"new_password": "Yeni şifre",
"new_person": "Yeni kişi",
"new_pin_code": "Yeni PIN kodu",
@@ -1500,6 +1523,9 @@
"notes": "Notlar",
"nothing_here_yet": "Burada henüz bir şey yok",
"notification_backup_reliability": "Arka plan yedeklemelerinin güvenirliğini iyileştirmek için bildirimlere izin verin",
"notification_enabled_list_tile_content": "Immich, arka plan yedeklemesi için bildirimleri kullanır. Bunu cihaz ayarlarınızdan yönetebilirsiniz.",
"notification_enabled_list_tile_open_button": "Ayarları aç",
"notification_enabled_list_tile_title": "Bildirimler etkin",
"notification_permission_dialog_content": "Bildirimleri etkinleştirmek için cihaz ayarlarına gidin ve izin verin.",
"notification_permission_list_tile_content": "Bildirimleri etkinleştirmek için izin verin.",
"notification_permission_list_tile_enable_button": "Bildirimleri Etkinleştir",
@@ -1511,6 +1537,8 @@
"obtainium_configurator": "Obtainium Yapılandırıcı",
"obtainium_configurator_instructions": "Obtainium kullanarak Android uygulamasını doğrudan Immich GitHub sürümünden yükleyin ve güncelleyin. Bir API anahtarı oluşturun ve bir varyant seçerek Obtainium yapılandırma bağlantınızı oluşturun",
"ocr": "OCR",
"ocr_body": "Immich artık fotoğraflarınızın içindeki metinleri okuyabiliyor, böylece metinde yazanlara göre arama yapabilirsiniz.",
"ocr_title": "Fotoğraflarda metin ara",
"official_immich_resources": "Resmi Immich Kaynakları",
"offline": "Çevrim dışı",
"offset": "Ofset",
@@ -1529,6 +1557,8 @@
"open": "Aç",
"open_calendar": "Takvimi aç",
"open_in_browser": "Tarayıcıda aç",
"open_in_immich_body": "Immich'i Android'de galeri olarak ayarlayarak diğer uygulamalardan fotoğrafları doğrudan açabilirsiniz.",
"open_in_immich_title": "Fotoğrafları Immich ile aç",
"open_in_map_view": "Harita görünümünde aç",
"open_in_openstreetmap": "OpenStreetMap'te Aç",
"open_the_search_filters": "Arama filtrelerini aç",
@@ -1537,6 +1567,7 @@
"organize_into_albums": "Albümler halinde düzenle",
"organize_into_albums_description": "Mevcut fotoğrafları geçerli eşitleme ayarlarını kullanarak albümlere yerleştirin",
"organize_your_library": "Kütüphanenizi düzenleyin",
"orientation": "Yönlendirme",
"original": "orijinal",
"other": "Diğer",
"other_devices": "Diğer cihazlar",
@@ -1547,7 +1578,7 @@
"partner": "Ortak",
"partner_can_access": "{partner} erişebilir",
"partner_can_access_assets": "Arşivlenenler ve Silinenler dışındaki tüm fotoğraf ve videolarınız",
"partner_can_access_location": "Fotoğraf ve videolarınızın çekildiği konum",
"partner_can_access_location": "Fotoğraflarınızın çekildiği konum",
"partner_list_user_photos": "{user} fotoğrafları",
"partner_page_empty_message": "Fotoğraflarınız henüz hiçbir ortakla paylaşılmadı.",
"partner_page_no_more_users": "Eklenecek başka kullanıcı yok",
@@ -1686,7 +1717,10 @@
"recent": "Son",
"recent_searches": "Son aramalar",
"recently_added": "Son eklenenler",
"recently_added_body": "Son zamanlarda eklediğiniz her şeye özel bir sayfadan doğrudan göz atın.",
"recently_added_description": "Ögelerinize Immich'e yüklemeye göre sıralanmış olarak göz atın",
"recently_added_page_title": "Son Eklenenler",
"recently_added_title": "Son eklenenler",
"recently_taken": "Son çekilenler",
"refresh": "Yenile",
"refresh_encoded_videos": "Kodlanmış videoları yenile",
@@ -1893,6 +1927,8 @@
"share_link": "Bağlantıyı Paylaş",
"share_original": "Orijinal (büyük) olanı kullanın",
"share_preview": "Küçük resmi kullan",
"share_quality_body": "Paylaşmadan önce görüntü kalitesini seçmek için paylaş düğmesine basılı tutun.",
"share_quality_title": "Paylaşma kalitesini seçin",
"shared": "Paylaşılan",
"shared_album_activities_input_disable": "Yoruma kapalı",
"shared_album_activity_remove_content": "Bu etkinliği silmek istiyor musunuz?",
@@ -1954,6 +1990,7 @@
"show_keyboard_shortcuts": "Klavye kısayollarını göster",
"show_less": "Daha az göster",
"show_metadata": "Meta verileri göster",
"show_more_fields": "{count, plural, one {Show # alan daha göster} other {Show # alan daha göster}}",
"show_or_hide_info": "Bilgileri göster veya gizle",
"show_password": "Şifreyi göster",
"show_person_options": "Kişi seçeneklerini göster",
@@ -1973,16 +2010,19 @@
"sign_out": "Oturumu Kapat",
"sign_up": "Kaydol",
"size": "Boyut",
"skip": "Atla",
"skip_to_content": "İçeriğe atla",
"skip_to_folders": "Klasörlere atla",
"skip_to_tags": "Etiketlere atla",
"slideshow": "Slayt gösterisi",
"slideshow_body": "Arkanıza yaslanın ve fotoğraflarınızın tam ekran slayt gösterisinde akışını izleyin.",
"slideshow_metadata_overlay_mode": "Yer paylaşımı içeriği",
"slideshow_metadata_overlay_mode_description_only": "Sadece açıklama",
"slideshow_metadata_overlay_mode_full": "Dolu",
"slideshow_repeat": "Slayt gösterisini tekrarla",
"slideshow_repeat_description": "Slayt gösterisi bittiğinde başa dön",
"slideshow_settings": "Slayt gösterisi ayarları",
"slideshow_title": "Slayt gösterisi",
"smart_album": "Akıllı albüm",
"some_assets_already_have_a_location_warning": "Seçilen varlıkların bazılarının zaten bir konumu mevcut",
"sort_albums_by": "Albümleri sırala...",
@@ -2134,7 +2174,7 @@
"updated_password": "Güncellenen şifre",
"upload": "Yükle",
"upload_concurrency": "Yükleme eşzamanlılığı",
"upload_day_count": "{tarih}: {sayı, çoğul, bir {# yükleme} diğer {# yüklemeler}}",
"upload_day_count": "{date}: {count, plural, one {# yükleme} other {# yükleme}}",
"upload_details": "Yükleme Ayrıntıları",
"upload_error_with_count": "{count, plural, one {# öğe} other {# öğeler}} için yükleme hatası",
"upload_errors": "{count, plural, one {# hata} other {# hatayla}} yükleme tamamlandı, yeni yüklenen öğeleri görmek için sayfayı güncelleyin.",
@@ -2145,10 +2185,13 @@
"upload_status_errors": "Hatalar",
"upload_status_uploaded": "Yüklendi",
"upload_success": "Yükleme başarılı, yüklenen yeni öğeleri görebilmek için sayfayı yenileyin.",
"upload_to_album_body": "Manuel yükleme özelliğini kullanmayan kullanıcılar için, artık fotoğrafları yüklerken bunları doğrudan bir albüme ekleme seçeneğiniz var; artık önce fotoğrafları yükleyip daha sonra albüme eklemenize gerek yok.",
"upload_to_album_title": "Doğrudan bir albüme yükle",
"upload_to_immich": "Immich'e Yükle ({count})",
"uploading": "Yükleniyor",
"uploading_media": "Medya yükleme",
"uploads": "Yüklemeler",
"uploads_count": "{count, plural, one {# yükleme} other {# yüklemeler}}",
"url": "URL",
"usage": "Kullanım",
"use_biometric": "Biyometri kullan",
@@ -2211,6 +2254,9 @@
"week": "Hafta",
"welcome": "Hoş geldiniz",
"welcome_to_immich": "Immich'e hoş geldiniz",
"whats_new": "Yenilikler",
"whats_new_settings_subtitle": "Immich'te yeni neler olduğuna bak",
"whats_new_version": "Versiyon {version}",
"when": "Ne zaman",
"width": "Genişlik",
"wifi_name": "Wi-Fi Adı",
+40 -5
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Якість мініатюри від 1 до 100. Вище значення означає кращу якість, але створює більші файли та може зменшити швидкість роботи застосунку.",
"image_thumbnail_title": "Налаштування мініатюр",
"import_config_from_json_description": "Імпортувати конфігурацію системи, вивантаживши файл конфігурації JSON",
"integrity_checks_checksum_files": "Файли контрольних сум",
"integrity_checks_checksum_files_description": "Налаштувати перевірку контрольних сум",
"integrity_checks_checksum_files_enable_description": "Увімкнути перевірку контрольних сум",
"integrity_checks_checksum_files_percentage_limit": "Відсотковий ліміт",
"integrity_checks_checksum_files_percentage_limit_description": "Налаштуйте максимальний відсоток між 0.01 та 1 для того наскільки перевірка контрольних сум повинна виконуватись кожний інтервал.",
"integrity_checks_checksum_files_time_limit": "Ліміт часу",
"integrity_checks_checksum_files_time_limit_description": "Налаштуйте максимальну тривалість для якої перевірка контрольних сум повинна виконуватись кожний інтервал. (мс)",
"integrity_checks_missing_files": "Відсутні файли",
"integrity_checks_missing_files_description": "Налаштуйте частоту та увімкніть або вимкніть перевірку на відсутні файли",
"integrity_checks_missing_files_enable_description": "Увімкнути перевірку на відсутні файли",
"integrity_checks_settings": "Перевірки цілісності",
"integrity_checks_settings_description": "Керуйте інтервалами перевірок на цілісність",
"integrity_checks_untracked_files": "Невідстежувані файли",
"integrity_checks_untracked_files_description": "Налаштувати частоту та увімкнути або вимкнути перевірку на невідстежені файли",
"integrity_checks_untracked_files_enable_description": "Увімкнути перевірку на невідстежувані файли",
"job_concurrency": "Паралельність {job}",
"job_created": "Завдання створено",
"job_not_concurrency_safe": "Це завдання не є безпечним для одночасного виконання.",
@@ -198,7 +213,7 @@
"maintenance_integrity_missing_file_job": "Перевірка відсутніх файлів",
"maintenance_integrity_missing_file_refresh_job": "Оновити звіт про відсутні файли",
"maintenance_integrity_report": "Звіт про цілісність",
"maintenance_integrity_untracked_file": "Невідстежувані файли",
"maintenance_integrity_untracked_file": "Невідстежувані Файли",
"maintenance_integrity_untracked_file_description": "Файли в папках Immich, про які Immich не має жодних записів.",
"maintenance_integrity_untracked_file_job": "Перевірка невідстежуваних файлів",
"maintenance_integrity_untracked_file_refresh_job": "Оновити звіт про невідстежувані файли",
@@ -578,6 +593,7 @@
"asset_viewer_settings_title": "Переглядач елементів",
"assets": "елементи",
"assets_added_to_album_count": "Додано {count, plural, one {# елемент} few {# елементи} many {# елементів} other {# елементів}} до альбому",
"assets_added_to_album_partial_count": "Додано {successCount} з {totalCount} {totalCount, plural, one {asset} other {assets}} до альбому",
"assets_added_to_albums_count": "Додано {assetTotal, plural, one {# елемент} few {# елементи} many {# елементів} other {# елементів}} до {albumTotal, plural, one {# альбому} few {# альбомів} many {# альбомів} other {# альбомів}}",
"assets_cannot_be_added_to_album_count": "{count, plural, one {Елемент} few {Елементи} many {Елементів} other {Елементів}} не вдається додати до альбому",
"assets_cannot_be_added_to_albums": "{count, plural, one {Елемент} few {Елементи} many {Елементів} other {Елементів}} не вдається додати до жодного з альбомів",
@@ -1200,7 +1216,7 @@
"individual_share": "Окремий доступ",
"individual_shares": "Окремі доступи",
"info": "Інформація",
"integrity_checks": "Перевірки цілісності",
"integrity_checks": "Перевірки Цілісності",
"interval": {
"day_at_onepm": "Щодня о 13:00",
"hours": "Кожну {hours, plural, one {# годину} few {# години} many {# годин} other {# годин}}",
@@ -1303,9 +1319,9 @@
"login_form_failed_login": "Не вдалося ввійти, перевірте URL-адресу сервера, електронну пошту та пароль",
"login_form_handshake_exception": "Не вдалося установити з'єднання із сервером. Увімкніть підтримку самопідписаного сертифіката в налаштуваннях, якщо ви використовуєте самопідписаний сертифікат.",
"login_form_password_hint": "пароль",
"login_form_server_empty": "Введіть URL-адресу сервера.",
"login_form_server_error": "Не вдалося з'єднатися із сервером.",
"login_has_been_disabled": "Вхід було вимкнено.",
"login_form_server_empty": "Введіть URL-адресу сервера",
"login_form_server_error": "Не вдалося з'єднатися із сервером",
"login_has_been_disabled": "Вхід було вимкнено",
"login_password_changed_error": "Не вдалося оновити пароль",
"login_password_changed_success": "Пароль оновлено",
"logout_all_device_confirmation": "Ви впевнені, що хочете вийти з усіх пристроїв?",
@@ -1461,6 +1477,7 @@
"never": "Ніколи",
"new_album": "Новий альбом",
"new_api_key": "Новий ключ API",
"new_feature": "Нова Функція",
"new_password": "Новий пароль",
"new_person": "Нова людина",
"new_pin_code": "Новий PIN-код",
@@ -1521,6 +1538,8 @@
"obtainium_configurator": "Конфігуратор Obtainium",
"obtainium_configurator_instructions": "Використовуйте Obtainium для установлення та оновлення застосунку Android безпосередньо з релізу Immich на GitHub. Створіть ключ API та виберіть варіант, щоб створити посилання на конфігурацію Obtainium",
"ocr": "OCR",
"ocr_body": "Immich тепер читає текст всередині ваших фото, щоб ви могли шукати їх по тому, що там написано.",
"ocr_title": "Пошуковий текст у ваших фотографіях",
"official_immich_resources": "Офіційні ресурси Immich",
"offline": "Недоступний",
"offset": "Зсув",
@@ -1539,6 +1558,8 @@
"open": "Відкрити",
"open_calendar": "Відкрити календар",
"open_in_browser": "Відкрити в браузері",
"open_in_immich_body": "Встановити Immich як вашу галерею в Android щоб відкривати фото зразу з додатку.",
"open_in_immich_title": "Відкрити фото в Immich",
"open_in_map_view": "Відкрити на мапі",
"open_in_openstreetmap": "Відкрити в OpenStreetMap",
"open_the_search_filters": "Відкрити фільтри пошуку",
@@ -1697,7 +1718,10 @@
"recent": "Нещодавно",
"recent_searches": "Нещодавні пошукові запити",
"recently_added": "Нещодавно додані",
"recently_added_body": "Стрибніть зразу до всього що ви додали останнім часом на виділеній сторінці.",
"recently_added_description": "Переглядайте ваші активи сортованими за тим коли вони були завантажені в Immich",
"recently_added_page_title": "Нещодавно додані",
"recently_added_title": "Додані останнім часом",
"recently_taken": "Нещодавно зняті",
"refresh": "Оновити",
"refresh_encoded_videos": "Оновити закодовані відео",
@@ -1904,6 +1928,8 @@
"share_link": "Поділитися посиланням",
"share_original": "Використати оригінал (великий)",
"share_preview": "Використати мініатюру (малу)",
"share_quality_body": "Натисніть та тримайте кнопку поділитися щоб обрати якість зображення перед тим як поділитись.",
"share_quality_title": "Оберіть вашу якість для поширення",
"shared": "Спільні",
"shared_album_activities_input_disable": "Коментування вимкнено",
"shared_album_activity_remove_content": "Ви хочете видалити цей запис?",
@@ -1985,16 +2011,19 @@
"sign_out": "Вийти",
"sign_up": "Зареєструватися",
"size": "Розмір",
"skip": "Пропустити",
"skip_to_content": "Перейти до вмісту",
"skip_to_folders": "Перейти до папок",
"skip_to_tags": "Перейти до тегів",
"slideshow": "Слайд-шоу",
"slideshow_body": "Сядьте зручніше та подивіться як ваші фотографії програються в повноекранному слайд-шоу.",
"slideshow_metadata_overlay_mode": "Вміст оверлею",
"slideshow_metadata_overlay_mode_description_only": "Лише опис",
"slideshow_metadata_overlay_mode_full": "Повний",
"slideshow_repeat": "Повторювати слайд-шоу",
"slideshow_repeat_description": "Повернення до початку після завершення слайд-шоу",
"slideshow_settings": "Налаштування слайд-шоу",
"slideshow_title": "Слайд-шоу",
"smart_album": "Розумний альбом",
"some_assets_already_have_a_location_warning": "Для деяких вибраних елементів вже вказано місце",
"sort_albums_by": "Сортувати альбоми за…",
@@ -2122,6 +2151,7 @@
"unknown": "Невідомо",
"unknown_country": "Невідома країна",
"unknown_date": "Невідома дата",
"unknown_schema": "Невідома схема",
"unknown_year": "Невідомий рік",
"unlimited": "Без обмежень",
"unlink_motion_video": "Від'єднати рухоме відео",
@@ -2157,6 +2187,8 @@
"upload_status_errors": "Помилки",
"upload_status_uploaded": "Вивантажено",
"upload_success": "Вивантажено. Оновіть сторінку, щоб побачити нові елементи.",
"upload_to_album_body": "Для користувачів які повноцінно не використовують функцію ручного завантаження, тепер ви можете обрати, щоб додати локальні фото напряму до альбому коли ви їх завантажуєте, більше не треба завантажувати та потім додавати до альбому пізніше.",
"upload_to_album_title": "Завантажити напряму до альбому",
"upload_to_immich": "Вивантажити в Immich ({count})",
"uploading": "Вивантаження",
"uploading_media": "Вивантаження медіа",
@@ -2224,6 +2256,9 @@
"week": "Тиждень",
"welcome": "Ласкаво просимо",
"welcome_to_immich": "Ласкаво просимо до Immich",
"whats_new": "Що нового",
"whats_new_settings_subtitle": "Дивіться, що є нового в Immich",
"whats_new_version": "Версія {version}",
"when": "Коли",
"width": "Ширина",
"wifi_name": "Назва Wi-Fi",
+53 -19
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "Chất lượng ảnh thu nhỏ từ 1-100. Càng cao càng tốt, nhưng sẽ tạo ra các tệp lớn hơn có thể làm giảm khả năng phản hồi của app.",
"image_thumbnail_title": "Cài đặt Ảnh thu nhỏ",
"import_config_from_json_description": "Nhập cấu hình hệ thống bằng cách tải lên tệp cấu hình JSON",
"integrity_checks_checksum_files": "Các tệp checksum",
"integrity_checks_checksum_files_description": "Thiết lập kiểm tra checksum",
"integrity_checks_checksum_files_enable_description": "Bật kiểm tra checksum",
"integrity_checks_checksum_files_percentage_limit": "Giới hạn tỷ lệ phần trăm",
"integrity_checks_checksum_files_percentage_limit_description": "Thiết lập tỷ lệ phần trăm tối đa (trong khoảng từ 0.01 đến 1) cho tần suất thực hiện kiểm tra checksum trong mỗi khoảng thời gian.",
"integrity_checks_checksum_files_time_limit": "Giới hạn thời gian",
"integrity_checks_checksum_files_time_limit_description": "Thiết lập thời lượng tối đa để thực hiện kiểm tra checksum trong mỗi khoảng thời gian. (ms)",
"integrity_checks_missing_files": "Những tệp bị thiếu",
"integrity_checks_missing_files_description": "Thiết lập tần suất và bật/tắt tính năng kiểm tra tệp bị thiếu",
"integrity_checks_missing_files_enable_description": "Bật tính năng kiểm tra tệp bị thiếu",
"integrity_checks_settings": "Kiểm tra tính toàn vẹn",
"integrity_checks_settings_description": "Quản lý khoảng thời gian kiểm tra tính toàn vẹn",
"integrity_checks_untracked_files": "Những tệp chưa được theo dõi",
"integrity_checks_untracked_files_description": "Thiết lập tần suất và bật/tắt việc kiểm tra các tệp chưa được theo dõi",
"integrity_checks_untracked_files_enable_description": "Bật tính năng kiểm tra các tệp chưa được theo dõi",
"job_concurrency": "{job} chạy đồng thời",
"job_created": "Tác vụ đã được tạo",
"job_not_concurrency_safe": "Tác vụ này không an toàn để chạy đồng thời.",
@@ -123,7 +138,7 @@
"library_remove_exclusion_pattern_prompt": "Bạn có chắc muốn xóa mẫu loại trừ này?",
"library_remove_folder_prompt": "Bạn có chắc muốn gỡ thư mục nhập này?",
"library_scanning": "Quét định kỳ",
"library_scanning_description": "Cấu hình quét thư viện định kỳ",
"library_scanning_description": "Thiết lập quét thư viện định kỳ",
"library_scanning_enable_description": "Bật quét thư viện định kỳ",
"library_settings": "Thư viện ngoài",
"library_settings_description": "Quản lý cài đặt thư viện ngoài",
@@ -337,7 +352,7 @@
"settings_page_description": "Trang cài đặt quản trị",
"sidecar_job": "Siêu dữ liệu đi kèm",
"sidecar_job_description": "Tìm hoặc đồng bộ các tệp siêu dữ liệu đi kèm từ hệ thống",
"slideshow_duration_description": "Số giây hiển thị từng ảnh",
"slideshow_duration_description": "Số giây hiển thị mỗi ảnh",
"smart_search_job_description": "Chạy học máy trên toàn bộ tài nguyên để hỗ trợ tìm kiếm thông minh",
"storage_template_date_time_description": "Mốc thời gian tạo tài nguyên được dùng làm thông tin ngày giờ",
"storage_template_date_time_sample": "Thời gian mẫu {date}",
@@ -547,7 +562,7 @@
"archive_action_prompt": "Đã thêm ({count}) vào Lưu trữ",
"archive_or_unarchive_photo": "Lưu trữ hoặc bỏ lưu trữ ảnh",
"archive_size": "Dung lượng tệp nén",
"archive_size_description": "Cấu hình dung lượng tệp nén để tải xuống (đơn vị GiB)",
"archive_size_description": "Thiết lập dung lượng tệp nén tải xuống (đơn vị GiB)",
"archived": "Lưu trữ",
"archived_count": "{count, plural, other {Đã lưu trữ # mục}}",
"are_these_the_same_person": "Đây có phải cùng một người không?",
@@ -632,10 +647,10 @@
"backup_settings_subtitle": "Cài đặt việc tải lên",
"backward": "Lùi",
"battery_optimization_backup_reliability": "Tắt tính năng tiết kiệm pin để đảm bảo quá trình sao lưu nền",
"biometric_auth_enabled": "Đã bật xác thực sinh trắc học",
"biometric_locked_out": "Bạn đã bị khóa xác thực bằng sinh trắc học",
"biometric_no_options": "Không có tùy chọn bằng sinh trắc học",
"biometric_not_available": "Xác thực sinh trắc học không khả dụng trên thiết bị này",
"biometric_auth_enabled": "Đã bật xác thực vân tay",
"biometric_locked_out": "Bạn đã bị khóa xác thực bằng vân tay",
"biometric_no_options": "Tùy chọn vân tay không khả dụng",
"biometric_not_available": "Xác thực vân tay không khả dụng trên thiết bị này",
"birthdate_set_description": "Sinh nhật được sử dụng để tính tuổi của người này tại thời điểm chụp ảnh.",
"blurred_background": "Nền mờ",
"browse_templates": "Xem mẫu có sẵn",
@@ -657,7 +672,7 @@
"cannot_undo_this_action": "Bạn không thể hoàn tác hành động này!",
"cannot_update_the_description": "Không thể cập nhật mô tả",
"cast": "Chiếu",
"cast_description": "Cấu hình các thiết bị chiếu khả dụng",
"cast_description": "Thiết lập thiết bị chiếu khả dụng",
"change": "Thay đổi",
"change_date": "Thay đổi ngày",
"change_description": "Thay đổi mô tả",
@@ -766,7 +781,7 @@
"create_first_workflow": "Tạo workflow đầu tiên",
"create_library": "Tạo thư viện",
"create_link": "Tạo link",
"create_link_to_share": "Tạo liên kết để chia sẻ",
"create_link_to_share": "Tạo link để chia sẻ",
"create_link_to_share_description": "Ai có link sẽ xem được các ảnh đã chọn",
"create_new": "TẠO MỚI",
"create_new_person": "Tạo người mới",
@@ -924,7 +939,7 @@
"empty_trash_confirmation": "Bạn có chắc muốn dọn sạch thùng rác? Điều này sẽ xóa vĩnh viễn tất cả các tài nguyên trong thùng rác khỏi Immich.\nBạn không thể hoàn tác hành động này!",
"enable": "Bật",
"enable_backup": "Bật sao lưu",
"enable_biometric_auth_description": "Nhập mã PIN của bạn để bật xác thực sinh trắc học",
"enable_biometric_auth_description": "Nhập mã PIN của bạn để bật xác thực vân tay",
"enabled": "Đã bật",
"end_date": "Ngày kết thúc",
"enqueued": "Đã xếp hàng",
@@ -1130,7 +1145,7 @@
"full_path": "Đường dẫn đầy đủ: {path}",
"full_path_or_folder": "Đường dẫn đầy đủ hoặc thư mục",
"gcast_enabled": "Google Cast",
"gcast_enabled_description": "Tính năng này tải các tài nguyên từ Google để hoạt động.",
"gcast_enabled_description": "Tính năng này tải các tài nguyên từ Google để hoạt động",
"general": "Chung",
"geolocation_instruction_location": "Nhấn vào một tài nguyên có tọa độ GPS để sử dụng vị trí của nó hoặc chọn vị trí trực tiếp từ bản đồ",
"get_help": "Nhận trợ giúp",
@@ -1436,11 +1451,11 @@
"more": "Thêm",
"motion": "Hoạt ảnh",
"move": "Di chuyển",
"move_off_locked_folder": "Di chuyển ra khỏi thư mục Khóa",
"move_off_locked_folder": "Chuyển ra khỏi thư mục Bí mật",
"move_to": "Di chuyển đến",
"move_to_device_trash": "Chuyển vào thùng rác thiết bị",
"move_to_lock_folder_action_prompt": "Đã thêm {count} vào thư mục Bí mật",
"move_to_locked_folder": "Di chuyển đến thư mục Bí mật",
"move_to_locked_folder": "Chuyển đến thư mục Bí mật",
"move_to_locked_folder_confirmation": "Ảnh và video này sẽ bị xóa khỏi mọi album và chỉ có thể xem được trong thư mục Bí mật",
"moved_to_trash": "Đã chuyển vào thùng rác",
"mute_memories": "Tắt tiếng Kỷ niệm",
@@ -1461,10 +1476,11 @@
"never": "Không bao giờ",
"new_album": "Album mới",
"new_api_key": "Khóa API mới",
"new_feature": "Tính năng mới",
"new_password": "Mật khẩu mới",
"new_person": "Người mới",
"new_pin_code": "Mã PIN mới",
"new_pin_code_subtitle": "Đây là lần đầu bạn vào thư mục Khóa. Hãy tạo mã PIN để truy cập an toàn",
"new_pin_code_subtitle": "Đây là lần đầu bạn vào thư mục Bí mật. Hãy tạo mã PIN để truy cập an toàn",
"new_update": "Cập nhật mới",
"new_user_created": "Người dùng mới đã được tạo",
"new_version_available": "CÓ PHIÊN BẢN MỚI",
@@ -1489,7 +1505,7 @@
"no_favorites_message": "Thêm ảnh yêu thích để nhanh chóng tìm thấy những bức ảnh và video đẹp nhất của bạn",
"no_libraries_message": "Tạo một thư viện ngoài để xem ảnh và video của bạn",
"no_local_assets_found": "Không tìm thấy tài nguyên trên thiết bị nào với checksum này",
"no_locked_photos_message": "Ảnh và video trong thư mục Khóa sẽ được ẩn đi và không hiển thị khi bạn duyệt hay tìm kiếm trong thư viện.",
"no_locked_photos_message": "Ảnh và video trong thư mục Bí mật sẽ được ẩn đi và không hiển thị khi bạn duyệt hay tìm kiếm trong thư viện.",
"no_name": "Không có tên",
"no_notifications": "Không có thông báo",
"no_people_found": "Không có người nào khớp với tìm kiếm",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Cấu hình Obtainium",
"obtainium_configurator_instructions": "Sử dụng Obtainium để cài đặt và cập nhật ứng dụng Android trực tiếp từ bản phát hành GitHub của Immich. Tạo khóa API và chọn một biến thể để tạo liên kết cấu hình Obtainium của bạn",
"ocr": "OCR",
"ocr_body": "Immich hiện có thể đọc văn bản trong ảnh của bạn, nhờ đó bạn có thể tìm kiếm ảnh dựa trên nội dung văn bản đó.",
"ocr_title": "Tìm kiếm văn bản trong ảnh của bạn",
"official_immich_resources": "Tài nguyên chính thức của Immich",
"offline": "Ngoại tuyến",
"offset": "Độ lệch",
@@ -1539,6 +1557,8 @@
"open": "Mở",
"open_calendar": "Mở lịch",
"open_in_browser": "Mở trong trình duyệt",
"open_in_immich_body": "Hãy đặt Immich làm ứng dụng thư viện ảnh trên Android để mở ảnh trực tiếp từ các ứng dụng khác.",
"open_in_immich_title": "Mở ảnh trong Immich",
"open_in_map_view": "Mở trong bản đồ",
"open_in_openstreetmap": "Mở trong OpenStreetMap",
"open_the_search_filters": "Mở bộ lọc tìm kiếm",
@@ -1557,7 +1577,7 @@
"page": "Trang",
"partner": "Người thân",
"partner_can_access": "{partner} có thể truy cập",
"partner_can_access_assets": "Tất cả ảnh và video của bạn ngoại trừ những ảnh và video trong mục Đã lưu trữ và Đã xóa",
"partner_can_access_assets": "Tất cả ảnh và video của bạn, ngoại trừ mục Đã lưu trữ và Đã xóa",
"partner_can_access_location": "Vị trí nơi ảnh của bạn được chụp",
"partner_list_user_photos": "Ảnh của {user}",
"partner_page_empty_message": "Ảnh của bạn chưa được chia sẻ với người thân nào.",
@@ -1697,7 +1717,10 @@
"recent": "Gần đây",
"recent_searches": "Tìm kiếm gần đây",
"recently_added": "Thêm gần đây",
"recently_added_body": "Truy cập ngay vào tất cả những gì bạn đã thêm gần đây trên một trang dành riêng.",
"recently_added_description": "Tìm kiếm các tài nguyên của bạn được sắp xếp theo thời gian tải lên Immich",
"recently_added_page_title": "Thêm gần đây",
"recently_added_title": "Thêm gần đây",
"recently_taken": "Chụp gần đây",
"refresh": "Làm mới",
"refresh_encoded_videos": "Làm mới video đã mã hóa",
@@ -1904,6 +1927,8 @@
"share_link": "Chia sẻ link",
"share_original": "Chất lượng gốc (lớn)",
"share_preview": "Dùng ảnh thu nhỏ (nhỏ)",
"share_quality_body": "Nhấn giữ nút chia sẻ để chọn chất lượng hình ảnh trước khi chia sẻ.",
"share_quality_title": "Chọn chất lượng chia sẻ",
"shared": "Đã chia sẻ",
"shared_album_activities_input_disable": "Nhận xét hiện đã tắt",
"shared_album_activity_remove_content": "Bạn có muốn xóa hoạt động này?",
@@ -1961,7 +1986,7 @@
"show_gallery": "Hiển thị thư viện ảnh",
"show_hidden_people": "Hiển thị người bị ẩn",
"show_in_timeline": "Hiển thị trên dòng thời gian",
"show_in_timeline_setting_description": "Hiển thị ảnh và video từ người dùng này trong dòng thời gian của bạn",
"show_in_timeline_setting_description": "Hiển thị ảnh và video từ người dùng này trên dòng thời gian của bạn",
"show_keyboard_shortcuts": "Hiện phím tắt",
"show_less": "Hiện ít hơn",
"show_metadata": "Hiển thị metadata",
@@ -1985,16 +2010,19 @@
"sign_out": "Đăng xuất",
"sign_up": "Đăng ký",
"size": "Kích thước",
"skip": "Bỏ qua",
"skip_to_content": "Chuyển đến nội dung",
"skip_to_folders": "Chuyển đến thư mục",
"skip_to_tags": "Chuyển đến thẻ",
"slideshow": "Trình chiếu",
"slideshow_body": "Hãy thư giãn và xem các bức ảnh của bạn trình chiếu ở chế độ toàn màn hình.",
"slideshow_metadata_overlay_mode": "Lớp phủ nội dung",
"slideshow_metadata_overlay_mode_description_only": "Chỉ mô tả",
"slideshow_metadata_overlay_mode_full": "Đầy đủ",
"slideshow_repeat": "Lặp lại trình chiếu",
"slideshow_repeat_description": "Phát lại từ đầu khi trình chiếu kết thúc",
"slideshow_settings": "Cài đặt trình chiếu",
"slideshow_title": "Slideshow",
"smart_album": "Album thông minh",
"some_assets_already_have_a_location_warning": "Một số tài nguyên được lựa chọn đã có vị trí",
"sort_albums_by": "Sắp xếp album theo...",
@@ -2122,6 +2150,7 @@
"unknown": "Không xác định",
"unknown_country": "Quốc gia chưa rõ",
"unknown_date": "Dữ liệu không xác định",
"unknown_schema": "Lược đồ không xác định",
"unknown_year": "Năm không rõ",
"unlimited": "Không giới hạn",
"unlink_motion_video": "Hủy liên kết video chuyển động",
@@ -2157,6 +2186,8 @@
"upload_status_errors": "Lỗi",
"upload_status_uploaded": "Đã tải lên",
"upload_success": "Tải lên thành công, làm mới trang để xem các tài nguyên mới tải lên.",
"upload_to_album_body": "Đối với những người dùng không sử dụng tính năng tải lên thủ công, giờ đây bạn có thể chọn thêm ảnh từ thiết bị trực tiếp vào album ngay khi tải lên, thay vì phải tải lên rồi mới thêm vào album sau như trước đây.",
"upload_to_album_title": "Tải lên trực tiếp vào album",
"upload_to_immich": "Tải lên Immich ({count})",
"uploading": "Đang tải lên",
"uploading_media": "Đang tải lên phương tiện",
@@ -2164,7 +2195,7 @@
"uploads_count": "{count, plural, one {# tải lên} other {# tải lên}}",
"url": "URL",
"usage": "Sử dụng",
"use_biometric": "Dùng sinh trắc học",
"use_biometric": "Dùng vân tay",
"use_browser_locale": "Dùng ngôn ngữ trình duyệt",
"use_browser_locale_description": "Định dạng ngày, thời gian và số dựa trên ngôn ngữ trình duyệt",
"use_current_connection": "Dùng kết nối hiện tại",
@@ -2206,7 +2237,7 @@
"view_all_users": "Xem tất cả người dùng",
"view_asset_owners": "Xem chủ sở hữu tài nguyên",
"view_details": "Xem thông tin chi tiết",
"view_in_timeline": "Xem trong dòng thời gian",
"view_in_timeline": "Xem trên dòng thời gian",
"view_link": "Xem liên kết",
"view_name": "Giao diện",
"view_next_asset": "Xem tài nguyên tiếp theo",
@@ -2224,6 +2255,9 @@
"week": "Tuần",
"welcome": "Chào mừng",
"welcome_to_immich": "Chào mừng đến với Immich",
"whats_new": "Có gì mới?",
"whats_new_settings_subtitle": "Xem Immich có gì mới",
"whats_new_version": "Phiên bản {version}",
"when": "Khi nào",
"width": "Chiều rộng",
"wifi_name": "Tên Wi-Fi",
+6
View File
@@ -108,6 +108,12 @@
"image_thumbnail_quality_description": "缩略图质量(1-100)。数值越高画质越好,但生成的文件越大,且可能降低应用响应速度。",
"image_thumbnail_title": "缩略图设置",
"import_config_from_json_description": "通过上传 JSON 配置文件导入系统配置",
"integrity_checks_checksum_files": "文件校验和",
"integrity_checks_checksum_files_description": "配置校验和检查",
"integrity_checks_checksum_files_enable_description": "启用校验和检查",
"integrity_checks_checksum_files_percentage_limit": "百分比限制",
"integrity_checks_checksum_files_percentage_limit_description": "设置每个检查周期执行校验和检查的最大比例(0.01–1)。",
"integrity_checks_checksum_files_time_limit": "时间限制",
"job_concurrency": "{job}并发数",
"job_created": "任务已创建",
"job_not_concurrency_safe": "该任务不支持并发操作。",
+36 -2
View File
@@ -108,6 +108,21 @@
"image_thumbnail_quality_description": "縮圖品質範圍為 1 到 100。數值越高品質越好,但檔案也會更大,並可能降低應用程式的回應速度。",
"image_thumbnail_title": "縮圖設定",
"import_config_from_json_description": "透過上傳 JSON 設定檔匯入系統設定",
"integrity_checks_checksum_files": "校驗檔案",
"integrity_checks_checksum_files_description": "設定校驗和檢查",
"integrity_checks_checksum_files_enable_description": "啟用校驗和檢查",
"integrity_checks_checksum_files_percentage_limit": "百分比限制",
"integrity_checks_checksum_files_percentage_limit_description": "設定每個區間內,校驗和檢驗所能執行的最大百分比,數值範圍介於 0.01 到 1 之間。",
"integrity_checks_checksum_files_time_limit": "時間限制",
"integrity_checks_checksum_files_time_limit_description": "設定每個週期中,校驗和檢查的最長執行時間。(毫秒)",
"integrity_checks_missing_files": "遺失的檔案",
"integrity_checks_missing_files_description": "設定執行頻率,並啟用或停用遺失檔案檢查",
"integrity_checks_missing_files_enable_description": "啟用遺失檔案檢查",
"integrity_checks_settings": "完整性檢查",
"integrity_checks_settings_description": "管理完整性檢查間隔",
"integrity_checks_untracked_files": "未追蹤的檔案",
"integrity_checks_untracked_files_description": "設定頻率,並啟用或停用未追蹤檔案檢查",
"integrity_checks_untracked_files_enable_description": "啟用未追蹤檔案檢查",
"job_concurrency": "{job} 並行數",
"job_created": "已建立任務",
"job_not_concurrency_safe": "此任務不支援並行執行。",
@@ -1068,7 +1083,7 @@
},
"errors_text": "錯誤",
"exclusion_pattern": "排除模式",
"exif": "EXIF",
"exif": "Exif 資訊",
"exif_bottom_sheet_description": "新增描述...",
"exif_bottom_sheet_description_error": "更新描述時發生錯誤",
"exif_bottom_sheet_no_description": "無描述",
@@ -1461,6 +1476,7 @@
"never": "永不失效",
"new_album": "新相簿",
"new_api_key": "新的 API 金鑰",
"new_feature": "新功能",
"new_password": "新密碼",
"new_person": "新的人物",
"new_pin_code": "新 PIN 碼",
@@ -1521,6 +1537,8 @@
"obtainium_configurator": "Obtainium 設定工具",
"obtainium_configurator_instructions": "使用 Obtainium 直接從 Immich GitHub 的發行版本安裝並更新 Android App。建立 API 金鑰並選取版本類型以產生您的 Obtainium 設定連結",
"ocr": "OCR",
"ocr_body": "Immich可以辨識你照片裡的文字,所以你可以透過照片裡的文字來搜尋照片。",
"ocr_title": "在您的照片中搜尋文字",
"official_immich_resources": "官方 Immich 資源",
"offline": "離線",
"offset": "移動",
@@ -1539,6 +1557,8 @@
"open": "開啟",
"open_calendar": "打開日曆",
"open_in_browser": "在瀏覽器中開啟",
"open_in_immich_body": "在 Android 裝置上將 Immich 設定為媒體庫,即可直接從其他應用程式開啟照片。",
"open_in_immich_title": "在Immich裡面打開照片",
"open_in_map_view": "開啟地圖檢視",
"open_in_openstreetmap": "用 OpenStreetMap 開啟",
"open_the_search_filters": "開啟搜尋篩選器",
@@ -1697,7 +1717,10 @@
"recent": "最近",
"recent_searches": "最近搜尋項目",
"recently_added": "最近新增",
"recently_added_body": "前往專屬頁面,直接查看您最近新增的所有內容。",
"recently_added_description": "瀏覽您的項目,並按上傳到 Immich 的時間排序",
"recently_added_page_title": "最近新增",
"recently_added_title": "最近新增",
"recently_taken": "最近拍攝",
"refresh": "重新整理",
"refresh_encoded_videos": "重新整理已編碼的影片",
@@ -1790,7 +1813,7 @@
"search_by_filename": "依檔名或副檔名搜尋",
"search_by_filename_example": "如 IMG_1234.JPG 或 PNG",
"search_by_full_path": "依完整路徑或資料夾搜尋",
"search_by_full_path_example": "/John/Projects/3D_Printing/2026-07-01 - 您可以搜尋 Projects、3D、Printing、2026 等",
"search_by_full_path_example": "/John/Projects/3D_Printing/2026-07-01 - 您可以搜尋 Projects、3D、Printing、2026 等",
"search_by_ocr": "透過 OCR 搜尋",
"search_by_ocr_example": "拿鐵",
"search_camera_lens_model": "搜尋鏡頭型號...",
@@ -1904,6 +1927,8 @@
"share_link": "分享連結",
"share_original": "使用原圖 (大)",
"share_preview": "使用縮圖(小)",
"share_quality_body": "長按分享按鈕即可在分享之前選擇圖片品質。",
"share_quality_title": "選擇您的分享品質",
"shared": "共享",
"shared_album_activities_input_disable": "留言功能已停用",
"shared_album_activity_remove_content": "您確定要刪除此活動嗎?",
@@ -1985,16 +2010,19 @@
"sign_out": "登出",
"sign_up": "註冊",
"size": "用量",
"skip": "跳過",
"skip_to_content": "跳至內容",
"skip_to_folders": "跳到資料夾",
"skip_to_tags": "跳轉到標籤",
"slideshow": "幻燈片",
"slideshow_body": "請放鬆觀看,您的照片會以全螢幕幻燈片形式播放。",
"slideshow_metadata_overlay_mode": "覆蓋內容",
"slideshow_metadata_overlay_mode_description_only": "僅描述",
"slideshow_metadata_overlay_mode_full": "完整",
"slideshow_repeat": "重複投影片",
"slideshow_repeat_description": "循環播放",
"slideshow_settings": "幻燈片設定",
"slideshow_title": "幻燈片",
"smart_album": "智能相簿",
"some_assets_already_have_a_location_warning": "部分所選項目已有位置資訊",
"sort_albums_by": "相簿排序依據...",
@@ -2122,6 +2150,7 @@
"unknown": "未知",
"unknown_country": "未知國家",
"unknown_date": "未知的日期",
"unknown_schema": "未知的架構",
"unknown_year": "未知年份",
"unlimited": "不限制",
"unlink_motion_video": "解除連結動態影片",
@@ -2157,6 +2186,8 @@
"upload_status_errors": "錯誤",
"upload_status_uploaded": "已上傳",
"upload_success": "上傳成功,要檢視新上傳的檔案請重新整理頁面。",
"upload_to_album_body": "對於不使用手動上傳功能的使用者,現在可以選擇在上傳照片的同時直接將其新增至相簿,無需先上傳後才新增至相簿。",
"upload_to_album_title": "直接上傳到相簿",
"upload_to_immich": "上傳至 Immich ({count})",
"uploading": "上傳中",
"uploading_media": "項目上傳中",
@@ -2224,6 +2255,9 @@
"week": "週",
"welcome": "歡迎",
"welcome_to_immich": "歡迎使用 Immich",
"whats_new": "有什麼新東西",
"whats_new_settings_subtitle": "看看Immich裡有什麼新東西",
"whats_new_version": "版本:{version}",
"when": "當",
"width": "寬度",
"wifi_name": "Wi-Fi 名稱",
+14 -60
View File
@@ -1,65 +1,19 @@
import 'package:flutter/material.dart';
class CropAspectRatio {
final int? numerator;
final int? denominator;
enum AspectRatioPreset {
free(ratio: null, label: 'Free', icon: Icons.crop_free_rounded),
square(ratio: 1.0, label: '1:1', icon: Icons.crop_square_rounded),
ratio16x9(ratio: 16 / 9, label: '16:9', icon: Icons.crop_16_9_rounded),
ratio3x2(ratio: 3 / 2, label: '3:2', icon: Icons.crop_3_2_rounded),
ratio7x5(ratio: 7 / 5, label: '7:5', icon: Icons.crop_7_5_rounded),
ratio9x16(ratio: 9 / 16, label: '9:16', icon: Icons.crop_16_9_rounded, iconRotated: true),
ratio2x3(ratio: 2 / 3, label: '2:3', icon: Icons.crop_3_2_rounded, iconRotated: true),
ratio5x7(ratio: 5 / 7, label: '5:7', icon: Icons.crop_7_5_rounded, iconRotated: true);
final String? customLabel;
final IconData? icon;
final double? ratio;
final String label;
final IconData icon;
final bool iconRotated;
const CropAspectRatio({this.numerator, this.denominator, this.customLabel, this.icon});
static const free = CropAspectRatio(customLabel: "Free", icon: Icons.crop_free);
static const original = CropAspectRatio(customLabel: "Original", icon: Icons.crop_original);
String get label {
return customLabel ?? (numerator != null && denominator != null ? '$numerator:$denominator' : 'Free');
}
bool get hasFlippedVariant => numerator != denominator;
double? get ratio => (numerator != null && denominator != null) ? numerator! / denominator! : null;
CropAspectRatio get flipped {
return CropAspectRatio(numerator: denominator, denominator: numerator, customLabel: customLabel, icon: icon);
}
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
return other is CropAspectRatio &&
other.numerator == numerator &&
other.denominator == denominator &&
other.customLabel == customLabel &&
other.icon == icon;
}
@override
int get hashCode {
return numerator.hashCode ^ denominator.hashCode ^ customLabel.hashCode ^ icon.hashCode;
}
const AspectRatioPreset({required this.ratio, required this.label, required this.icon, this.iconRotated = false});
}
const aspectRatioFree = CropAspectRatio(customLabel: "Free", icon: Icons.crop_free);
const aspectRatioOriginal = CropAspectRatio(customLabel: "Original", icon: Icons.crop_original);
final aspectRatioPresets = [
CropAspectRatio.free,
CropAspectRatio.original,
const CropAspectRatio(numerator: 1, denominator: 1),
// lanscape
const CropAspectRatio(numerator: 16, denominator: 9),
const CropAspectRatio(numerator: 3, denominator: 2),
const CropAspectRatio(numerator: 7, denominator: 5),
const CropAspectRatio(numerator: 4, denominator: 3),
// portrait
const CropAspectRatio(numerator: 16, denominator: 9).flipped,
const CropAspectRatio(numerator: 3, denominator: 2).flipped,
const CropAspectRatio(numerator: 7, denominator: 5).flipped,
const CropAspectRatio(numerator: 4, denominator: 3).flipped,
];
@@ -154,7 +154,7 @@ class _DriftEditImagePageState extends ConsumerState<DriftEditImagePage> with Ti
}
class _AspectRatioButton extends StatelessWidget {
final CropAspectRatio ratio;
final AspectRatioPreset ratio;
final bool isSelected;
final VoidCallback onPressed;
@@ -162,16 +162,15 @@ class _AspectRatioButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
final color = isSelected ? context.primaryColor : context.themeData.iconTheme.color;
return Column(
mainAxisSize: MainAxisSize.max,
children: [
IconButton(
iconSize: 36,
icon: ratio.ratio != null
? _AspectRatioRect(ratio: ratio.ratio!, color: color)
: Icon(ratio.icon, color: color),
icon: Transform.rotate(
angle: ratio.iconRotated ? pi / 2 : 0,
child: Icon(ratio.icon, color: isSelected ? context.primaryColor : context.themeData.iconTheme.color),
),
onPressed: onPressed,
),
Text(ratio.label, style: context.textTheme.displayMedium),
@@ -180,32 +179,6 @@ class _AspectRatioButton extends StatelessWidget {
}
}
class _AspectRatioRect extends StatelessWidget {
final double ratio;
final Color? color;
const _AspectRatioRect({required this.ratio, required this.color});
@override
Widget build(BuildContext context) {
return SizedBox(
width: 28,
height: 28,
child: Center(
child: AspectRatio(
aspectRatio: ratio,
child: Container(
decoration: BoxDecoration(
border: Border.all(color: color ?? Colors.transparent, width: 3),
borderRadius: BorderRadius.circular(4),
),
),
),
),
);
}
}
class _AspectRatioSelector extends ConsumerWidget {
const _AspectRatioSelector();
@@ -214,16 +187,22 @@ class _AspectRatioSelector extends ConsumerWidget {
final editorState = ref.watch(editorStateProvider);
final editorNotifier = ref.read(editorStateProvider.notifier);
// the whole crop view is rotated, so we need to swap the aspect ratio when the rotation is 90 or 270 degrees
double? selectedAspectRatio = editorState.aspectRatio;
if (editorState.rotationAngle % 180 != 0 && selectedAspectRatio != null) {
selectedAspectRatio = 1 / selectedAspectRatio;
}
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: aspectRatioPresets.map((entry) {
children: AspectRatioPreset.values.map((entry) {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: _AspectRatioButton(
ratio: entry,
isSelected: editorState.aspectRatio == entry,
onPressed: () => editorNotifier.setAspectRatio(entry),
isSelected: selectedAspectRatio == entry.ratio,
onPressed: () => editorNotifier.setAspectRatio(entry.ratio),
),
);
}).toList(),
@@ -378,24 +357,8 @@ class _EditorPreviewState extends ConsumerState<_EditorPreview> with TickerProvi
final editorState = ref.watch(editorStateProvider);
final editorNotifier = ref.read(editorStateProvider.notifier);
ref.listen(editorStateProvider, (previous, current) {
// Only re-apply the aspect ratio when it changes, otherwise the crop rect will shrink on every rotation
if (previous?.aspectRatio != current.aspectRatio) {
double? ratio;
switch (current.aspectRatio) {
case CropAspectRatio.original:
ratio = current.originalWidth / current.originalHeight;
default:
ratio = current.aspectRatio.ratio;
}
if (current.rotationAngle % 180 != 0) {
ratio = ratio != null ? 1 / ratio : null;
}
cropController.aspectRatio = ratio;
}
ref.listen(editorStateProvider, (_, current) {
cropController.aspectRatio = current.aspectRatio;
if (cropController.crop != current.crop) {
cropController.crop = current.crop;
@@ -423,9 +386,7 @@ class _EditorPreviewState extends ConsumerState<_EditorPreview> with TickerProvi
1.0,
1.0,
),
child: AnimatedContainer(
duration: editorState.animationDuration,
curve: Curves.easeInOut,
child: Container(
padding: const EdgeInsets.all(10),
width: (editorState.rotationAngle % 180 == 0) ? baseWidth : baseHeight,
height: (editorState.rotationAngle % 180 == 0) ? baseHeight : baseWidth,
@@ -1,6 +1,5 @@
import 'package:flutter/services.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/aspect_ratios.dart';
import 'package:immich_mobile/domain/models/asset_edit.model.dart';
import 'package:immich_mobile/domain/models/exif.model.dart';
import 'package:immich_mobile/utils/editor.utils.dart';
@@ -61,8 +60,13 @@ class EditorProvider extends Notifier<EditorState> {
state = state.copyWith(crop: crop, hasUnsavedEdits: true);
}
void setAspectRatio(CropAspectRatio preset) {
state = state.copyWith(aspectRatio: preset, hasUnsavedEdits: true);
void setAspectRatio(double? aspectRatio) {
if (aspectRatio != null && state.rotationAngle % 180 != 0) {
// When rotated 90 or 270 degrees, swap width and height for aspect ratio calculations
aspectRatio = 1 / aspectRatio;
}
state = state.copyWith(aspectRatio: aspectRatio);
}
void resetEdits() {
@@ -72,19 +76,19 @@ class EditorProvider extends Notifier<EditorState> {
flipHorizontal: false,
flipVertical: false,
crop: const Rect.fromLTRB(0, 0, 1, 1),
aspectRatio: CropAspectRatio.free,
aspectRatio: null,
hasUnsavedEdits: true,
);
}
void rotateCCW() {
_animateRotation(state.rotationAngle - 90);
state = state.copyWith(aspectRatio: state.aspectRatio.flipped, hasUnsavedEdits: true);
state = state.copyWith(hasUnsavedEdits: true);
}
void rotateCW() {
_animateRotation(state.rotationAngle + 90);
state = state.copyWith(aspectRatio: state.aspectRatio.flipped, hasUnsavedEdits: true);
state = state.copyWith(hasUnsavedEdits: true);
}
void flipHorizontally() {
@@ -113,7 +117,7 @@ class EditorState {
final bool flipHorizontal;
final bool flipVertical;
final Rect crop;
final CropAspectRatio aspectRatio;
final double? aspectRatio;
final int originalWidth;
final int originalHeight;
@@ -128,7 +132,7 @@ class EditorState {
bool? flipHorizontal,
bool? flipVertical,
Rect? crop,
CropAspectRatio? aspectRatio,
this.aspectRatio,
int? originalWidth,
int? originalHeight,
Duration? animationDuration,
@@ -141,7 +145,6 @@ class EditorState {
originalWidth = originalWidth ?? 0,
originalHeight = originalHeight ?? 0,
crop = crop ?? const Rect.fromLTRB(0, 0, 1, 1),
aspectRatio = aspectRatio ?? CropAspectRatio.free,
hasUnsavedEdits = hasUnsavedEdits ?? false;
EditorState copyWith({
@@ -149,7 +152,7 @@ class EditorState {
int? rotationAngle,
bool? flipHorizontal,
bool? flipVertical,
CropAspectRatio? aspectRatio,
double? aspectRatio = double.infinity,
int? originalWidth,
int? originalHeight,
Duration? animationDuration,
@@ -161,7 +164,7 @@ class EditorState {
rotationAngle: rotationAngle ?? this.rotationAngle,
flipHorizontal: flipHorizontal ?? this.flipHorizontal,
flipVertical: flipVertical ?? this.flipVertical,
aspectRatio: aspectRatio ?? this.aspectRatio,
aspectRatio: aspectRatio == double.infinity ? this.aspectRatio : aspectRatio,
animationDuration: animationDuration ?? this.animationDuration,
originalWidth: originalWidth ?? this.originalWidth,
originalHeight: originalHeight ?? this.originalHeight,
+1
View File
@@ -452,6 +452,7 @@ Class | Method | HTTP request | Description
- [FacialRecognitionConfig](doc//FacialRecognitionConfig.md)
- [FoldersResponse](doc//FoldersResponse.md)
- [FoldersUpdate](doc//FoldersUpdate.md)
- [HlsVideoResolution](doc//HlsVideoResolution.md)
- [ImageFormat](doc//ImageFormat.md)
- [IntegrityReport](doc//IntegrityReport.md)
- [IntegrityReportResponseDto](doc//IntegrityReportResponseDto.md)
+1
View File
@@ -173,6 +173,7 @@ part 'model/face_dto.dart';
part 'model/facial_recognition_config.dart';
part 'model/folders_response.dart';
part 'model/folders_update.dart';
part 'model/hls_video_resolution.dart';
part 'model/image_format.dart';
part 'model/integrity_report.dart';
part 'model/integrity_report_response_dto.dart';
+2
View File
@@ -391,6 +391,8 @@ class ApiClient {
return FoldersResponse.fromJson(value);
case 'FoldersUpdate':
return FoldersUpdate.fromJson(value);
case 'HlsVideoResolution':
return HlsVideoResolutionTypeTransformer().decode(value);
case 'ImageFormat':
return ImageFormatTypeTransformer().decode(value);
case 'IntegrityReport':
+3
View File
@@ -106,6 +106,9 @@ String parameterToString(dynamic value) {
if (value is Colorspace) {
return ColorspaceTypeTransformer().encode(value).toString();
}
if (value is HlsVideoResolution) {
return HlsVideoResolutionTypeTransformer().encode(value).toString();
}
if (value is ImageFormat) {
return ImageFormatTypeTransformer().encode(value).toString();
}
+94
View File
@@ -0,0 +1,94 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.18
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
/// HLS video resolution
class HlsVideoResolution {
/// Instantiate a new enum with the provided [value].
const HlsVideoResolution._(this.value);
/// The underlying value of this enum member.
final int value;
@override
String toString() => value.toString();
int toJson() => value;
static const number480 = HlsVideoResolution._(480);
static const number720 = HlsVideoResolution._(720);
static const number1080 = HlsVideoResolution._(1080);
static const number1440 = HlsVideoResolution._(1440);
static const number2160 = HlsVideoResolution._(2160);
/// List of all possible values in this [enum][HlsVideoResolution].
static const values = <HlsVideoResolution>[
number480,
number720,
number1080,
number1440,
number2160,
];
static HlsVideoResolution? fromJson(dynamic value) => HlsVideoResolutionTypeTransformer().decode(value);
static List<HlsVideoResolution> listFromJson(dynamic json, {bool growable = false,}) {
final result = <HlsVideoResolution>[];
if (json is List && json.isNotEmpty) {
for (final row in json) {
final value = HlsVideoResolution.fromJson(row);
if (value != null) {
result.add(value);
}
}
}
return result.toList(growable: growable);
}
}
/// Transformation class that can [encode] an instance of [HlsVideoResolution] to int,
/// and [decode] dynamic data back to [HlsVideoResolution].
class HlsVideoResolutionTypeTransformer {
factory HlsVideoResolutionTypeTransformer() => _instance ??= const HlsVideoResolutionTypeTransformer._();
const HlsVideoResolutionTypeTransformer._();
int encode(HlsVideoResolution data) => data.value;
/// Decodes a [dynamic value][data] to a HlsVideoResolution.
///
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
///
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
/// and users are still using an old app with the old code.
HlsVideoResolution? decode(dynamic data, {bool allowNull = true}) {
if (data != null) {
switch (data) {
case 480: return HlsVideoResolution.number480;
case 720: return HlsVideoResolution.number720;
case 1080: return HlsVideoResolution.number1080;
case 1440: return HlsVideoResolution.number1440;
case 2160: return HlsVideoResolution.number2160;
default:
if (!allowNull) {
throw ArgumentError('Unknown enum value to decode: $data');
}
}
}
return null;
}
/// Singleton [HlsVideoResolutionTypeTransformer] instance.
static HlsVideoResolutionTypeTransformer? _instance;
}
@@ -14,26 +14,40 @@ class SystemConfigFFmpegRealtimeDto {
/// Returns a new [SystemConfigFFmpegRealtimeDto] instance.
SystemConfigFFmpegRealtimeDto({
required this.enabled,
this.resolutions = const [],
this.videoCodecs = const [],
});
/// Enable real-time HLS transcoding (alpha)
bool enabled;
/// Resolutions to use for real-time HLS transcoding
List<HlsVideoResolution> resolutions;
/// Video codecs to use for real-time HLS transcoding
List<VideoCodec> videoCodecs;
@override
bool operator ==(Object other) => identical(this, other) || other is SystemConfigFFmpegRealtimeDto &&
other.enabled == enabled;
other.enabled == enabled &&
_deepEquality.equals(other.resolutions, resolutions) &&
_deepEquality.equals(other.videoCodecs, videoCodecs);
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(enabled.hashCode);
(enabled.hashCode) +
(resolutions.hashCode) +
(videoCodecs.hashCode);
@override
String toString() => 'SystemConfigFFmpegRealtimeDto[enabled=$enabled]';
String toString() => 'SystemConfigFFmpegRealtimeDto[enabled=$enabled, resolutions=$resolutions, videoCodecs=$videoCodecs]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
json[r'enabled'] = this.enabled;
json[r'resolutions'] = this.resolutions;
json[r'videoCodecs'] = this.videoCodecs;
return json;
}
@@ -47,6 +61,8 @@ class SystemConfigFFmpegRealtimeDto {
return SystemConfigFFmpegRealtimeDto(
enabled: mapValueOfType<bool>(json, r'enabled')!,
resolutions: HlsVideoResolution.listFromJson(json[r'resolutions']),
videoCodecs: VideoCodec.listFromJson(json[r'videoCodecs']),
);
}
return null;
@@ -95,6 +111,8 @@ class SystemConfigFFmpegRealtimeDto {
/// The list of required keys that must be present in a JSON.
static const requiredKeys = <String>{
'enabled',
'resolutions',
'videoCodecs',
};
}
+28 -1
View File
@@ -19120,6 +19120,17 @@
},
"type": "object"
},
"HlsVideoResolution": {
"description": "HLS video resolution",
"enum": [
480,
720,
1080,
1440,
2160
],
"type": "integer"
},
"ImageFormat": {
"description": "Image format",
"enum": [
@@ -25754,10 +25765,26 @@
"enabled": {
"description": "Enable real-time HLS transcoding (alpha)",
"type": "boolean"
},
"resolutions": {
"description": "Resolutions to use for real-time HLS transcoding",
"items": {
"$ref": "#/components/schemas/HlsVideoResolution"
},
"type": "array"
},
"videoCodecs": {
"description": "Video codecs to use for real-time HLS transcoding",
"items": {
"$ref": "#/components/schemas/VideoCodec"
},
"type": "array"
}
},
"required": [
"enabled"
"enabled",
"resolutions",
"videoCodecs"
],
"type": "object"
},
+11
View File
@@ -2302,6 +2302,10 @@ export type SystemConfigBackupsDto = {
export type SystemConfigFFmpegRealtimeDto = {
/** Enable real-time HLS transcoding (alpha) */
enabled: boolean;
/** Resolutions to use for real-time HLS transcoding */
resolutions: HlsVideoResolution[];
/** Video codecs to use for real-time HLS transcoding */
videoCodecs: VideoCodec[];
};
export type SystemConfigFFmpegDto = {
accel: TranscodeHWAccel;
@@ -7629,6 +7633,13 @@ export enum CQMode {
Cqp = "cqp",
Icq = "icq"
}
export enum HlsVideoResolution {
$480 = 480,
$720 = 720,
$1080 = 1080,
$1440 = 1440,
$2160 = 2160
}
export enum ToneMapping {
Hable = "hable",
Mobius = "mobius",
+1
View File
@@ -35,6 +35,7 @@
<a href="README_pt_BR.md">Português Brasileiro</a>
<a href="README_sv_SE.md">Svenska</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -35,6 +35,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -36,6 +36,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -35,6 +35,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -35,6 +35,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -36,6 +36,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -34,6 +34,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -36,6 +36,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
+133
View File
@@ -0,0 +1,133 @@
<p align="center">
<br/>
<a href="https://opensource.org/license/agpl-v3"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?color=3F51B5&style=for-the-badge&label=License&logoColor=000000&labelColor=ececec" alt="License: AGPLv3"></a>
<a href="https://discord.immich.app">
<img src="https://img.shields.io/discord/979116623879368755.svg?label=Discord&logo=Discord&style=for-the-badge&logoColor=000000&labelColor=ececec" alt="Discord"/>
</a>
<br/>
<br/>
</p>
<p align="center">
<img src="../design/immich-logo-stacked-light.svg" width="300" title="Immich">
</p>
<h3 align="center">ഫോട്ടോകളും വീഡിയോകളും കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഉയർന്ന കാര്യക്ഷമതയുള്ള സെൽഫ്-ഹോസ്റ്റഡ് ആപ്ലിക്കേഷൻ</h3>
<br/>
<a href="https://immich.app">
<img src="../design/immich-screenshots.png" title="പ്രധാന സ്ക്രീൻഷോട്ട്">
</a>
<br/>
<p align="center">
<a href="../README.md">English</a>
<a href="README_ca_ES.md">Català</a>
<a href="README_es_ES.md">Español</a>
<a href="README_fr_FR.md">Français</a>
<a href="README_it_IT.md">Italiano</a>
<a href="README_ja_JP.md">日本語</a>
<a href="README_ko_KR.md">한국어</a>
<a href="README_de_DE.md">Deutsch</a>
<a href="README_nl_NL.md">Nederlands</a>
<a href="README_tr_TR.md">Türkçe</a>
<a href="README_zh_CN.md">简体中文</a>
<a href="README_zh_TW.md">正體中文</a>
<a href="README_uk_UA.md">Українська</a>
<a href="README_ru_RU.md">Русский</a>
<a href="README_pt_BR.md">Português Brasileiro</a>
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
</p>
> [!WARNING]
> ⚠️ നിങ്ങളുടെ വിലയേറിയ ഫോട്ടോകൾക്കും വീഡിയോകൾക്കും എല്ലായ്പ്പോഴും [3-2-1](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) ബാക്കപ്പ് പ്ലാൻ പിന്തുടരുക!
>
> [!NOTE]
> ഇൻസ്റ്റാളേഷൻ ഗൈഡുകൾ ഉൾപ്പെടെയുള്ള പ്രധാന ഡോക്യുമെന്റേഷൻ https://immich.app/ എന്ന വെബ്സൈറ്റിൽ നിങ്ങൾക്ക് കണ്ടെത്താം.
## ലിങ്കുകൾ
- [ഡോക്യുമെന്റേഷൻ](https://docs.immich.app/)
- [വിവരങ്ങൾ](https://docs.immich.app/overview/introduction)
- [ഇൻസ്റ്റാളേഷൻ](https://docs.immich.app/install/requirements)
- [റോഡ്മാപ്പ്](https://immich.app/roadmap)
- [ഡെമോ](#ഡെമോ)
- [സവിശേഷതകൾ](#സവിശേഷതകൾ)
- [വിവർത്തനങ്ങൾ](https://docs.immich.app/developer/translations)
- [സംഭാവന നൽകൽ](https://docs.immich.app/overview/support-the-project)
## ഡെമോ
ഡെമോ വെബ്സൈറ്റ് [ഇവിടെ](https://demo.immich.app) ആക്സസ് ചെയ്യാം. മൊബൈൽ ആപ്പിന്റെ ഡെമോ കാണാൻ ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, `Server Endpoint URL` എന്ന സെറ്റിങ്ങിൽ നിങ്ങൾക്ക് `https://demo.immich.app` ഉപയോഗിക്കാം.
### ലോഗിൻ വിവരങ്ങൾ
| ഇമെയിൽ | പാസ്‌വേഡ് |
| --------------- | -------- |
| demo@immich.app | demo |
## സവിശേഷതകൾ
| സവിശേഷതകൾ | മൊബൈൽ | വെബ് |
| :-------------------------------------------------- | ------ | --- |
| ഫോട്ടോകളും വീഡിയോകളും അപ്‌ലോഡ് ചെയ്യാനും കാണാനും സാധിക്കും | ഉണ്ട് | ഉണ്ട് |
| ആപ്പ് തുറക്കുമ്പോൾ ഓട്ടോമാറ്റിക് ബാക്കപ്പ് | ഉണ്ട് | N/A |
| ഫയലുകളുടെ ഇരട്ടിപ്പ് (duplication) തടയുന്നു | ഉണ്ട് | ഉണ്ട് |
| ബാക്കപ്പിനായി നിർദ്ദിഷ്ട ആൽബങ്ങൾ തിരഞ്ഞെടുക്കാം | ഉണ്ട് | N/A |
| ഫോട്ടോകളും വീഡിയോകളും ലോക്കൽ ഡിവൈസിലേക്ക് ഡൗൺലോഡ് ചെയ്യാം | ഉണ്ട് | ഉണ്ട് |
| ഒന്നിലധികം ഉപയോക്താക്കൾക്കുള്ള പിന്തുണ (Multi-user) | ഉണ്ട് | ഉണ്ട് |
| ആൽബങ്ങളും പങ്കിട്ട ആൽബങ്ങളും | ഉണ്ട് | ഉണ്ട് |
| സ്ക്രബ്ബ് ചെയ്യാവുന്ന/വലിച്ചിഴക്കാവുന്ന സ്ക്രോൾബാർ | ഉണ്ട് | ഉണ്ട് |
| റോ (RAW) ഫോർമാറ്റുകൾക്കുള്ള പിന്തുണ | ഉണ്ട് | ഉണ്ട് |
| മെറ്റാഡാറ്റ കാഴ്‌ച (EXIF, മാപ്പ്) | ഉണ്ട് | ഉണ്ട് |
| മെറ്റാഡാറ്റ, ഒബ്‌ജക്റ്റുകൾ, മുഖങ്ങൾ, CLIP എന്നിവ ഉപയോഗിച്ച് തിരയാം | ഉണ്ട് | ഉണ്ട് |
| അഡ്മിനിസ്ട്രേറ്റീവ് പ്രവർത്തനങ്ങൾ (യൂസർ മാനേജ്‌മെന്റ്) | ഇല്ല | ഉണ്ട് |
| ബാക്ക്ഗ്രൗണ്ട് ബാക്കപ്പ് | ഉണ്ട് | N/A |
| വിർച്വൽ സ്ക്രോൾ | ഉണ്ട് | ഉണ്ട് |
| OAuth സപ്പോർട്ട് | ഉണ്ട് | ഉണ്ട് |
| API കീകൾ | N/A | ഉണ്ട് |
| ലൈവ് ഫോട്ടോ/മോഷൻ ഫോട്ടോ ബാക്കപ്പും പ്ലേബാക്കും | ഉണ്ട് | ഉണ്ട് |
| 360 ഡിഗ്രി ഇമേജ് ഡിസ്‌പ്ലേ പിന്തുണ | ഇല്ല | ഉണ്ട് |
| ഉപയോക്താവ് നിർവചിക്കുന്ന സ്റ്റോറേജ് ഘടന | ഉണ്ട് | ഉണ്ട് |
| പബ്ലിക് ഷെയറിംഗ് | ഉണ്ട് | ഉണ്ട് |
| ആർക്കൈവും പ്രിയപ്പെട്ടവയും (Favorites) | ഉണ്ട് | ഉണ്ട് |
| ആഗോള മാപ്പ് (Global Map) | ഉണ്ട് | ഉണ്ട് |
| പങ്കാളി പങ്കിടൽ (Partner Sharing) | ഉണ്ട് | ഉണ്ട് |
| മുഖം തിരിച്ചറിയലും ക്ലസ്റ്ററിംഗും | ഉണ്ട് | ഉണ്ട് |
| ഓർമ്മകൾ (Memories - x വർഷങ്ങൾക്ക് മുമ്പ്) | ഉണ്ട് | ഉണ്ട് |
| ഓഫ്‌ലൈൻ പിന്തുണ | ഉണ്ട് | ഇല്ല |
| റീഡ്-ഒൺലി ഗാലറി | ഉണ്ട് | ഉണ്ട് |
| അടുക്കിവെച്ച ഫോട്ടോകൾ (Stacked Photos) | ഉണ്ട് | ഉണ്ട് |
| ടാഗുകൾ | ഇല്ല | ഉണ്ട് |
| ഫോൾഡർ കാഴ്‌ച | ഉണ്ട് | ഉണ്ട് |
## വിവർത്തനങ്ങൾ
വിവർത്തനങ്ങളെക്കുറിച്ച് കൂടുതൽ [ഇവിടെ](https://docs.immich.app/developer/translations) വായിക്കാം.
<a href="https://hosted.weblate.org/engage/immich/">
<img src="https://hosted.weblate.org/widget/immich/immich/multi-auto.svg" alt="Translation status" />
</a>
## റെപ്പോസിറ്ററി പ്രവർത്തനം
![Activities](https://repobeats.axiom.co/api/embed/9e86d9dc3ddd137161f2f6d2e758d7863b1789cb.svg "Repobeats analytics image")
## സ്റ്റാർ ചരിത്രം
<a href="https://star-history.com/#immich-app/immich&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=immich-app/immich&type=date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=immich-app/immich&type=date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=immich-app/immich&type=date" width="100%" />
</picture>
</a>
## സംഭാവന ചെയ്തവർ
<a href="https://github.com/immich-app/immich/graphs/contributors">
<img src="https://contrib.rocks/image?repo=immich-app/immich" width="100%"/>
</a>
+1
View File
@@ -35,6 +35,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -37,6 +37,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
+1
View File
@@ -37,6 +37,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -36,6 +36,7 @@
<a href="README_pt_BR.md">Português Brasileiro</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -39,6 +39,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
+1
View File
@@ -35,6 +35,7 @@
<a href="README_sv_SE.md">Svenska</a>
<a href="README_ar_JO.md">العربية</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -37,6 +37,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+1
View File
@@ -38,6 +38,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
+1
View File
@@ -40,6 +40,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
+1
View File
@@ -38,6 +38,7 @@
<a href="README_ar_JO.md">العربية</a>
<a href="README_vi_VN.md">Tiếng Việt</a>
<a href="README_th_TH.md">ภาษาไทย</a>
<a href="README_ml_IN.md">മലയാളം</a>
</p>
> [!WARNING]
+5
View File
@@ -4,6 +4,7 @@ import {
AudioCodec,
Colorspace,
CQMode,
HlsVideoResolution,
ImageFormat,
LogLevel,
OAuthTokenEndpointAuthMethod,
@@ -48,6 +49,8 @@ export type SystemConfig = {
tonemap: ToneMapping;
realtime: {
enabled: boolean;
videoCodecs: VideoCodec[];
resolutions: HlsVideoResolution[];
};
};
integrityChecks: {
@@ -247,6 +250,8 @@ export const defaults = Object.freeze<SystemConfig>({
accelDecode: true,
realtime: {
enabled: false,
videoCodecs: [VideoCodec.H264, VideoCodec.Hevc],
resolutions: [HlsVideoResolution.p480, HlsVideoResolution.p720, HlsVideoResolution.p1080],
},
},
integrityChecks: {
+60 -9
View File
@@ -235,14 +235,65 @@ export const HLS_PLAYLIST_CONTENT_TYPE = 'application/vnd.apple.mpegurl';
export const HLS_SEGMENT_DURATION = 2;
export const HLS_SEGMENT_FILENAME_REGEX = /^seg_(\d+)\.m4s$/;
export const HLS_VARIANTS = [
{ resolution: 480, codec: VideoCodec.Av1, bitrate: 1_000_000, codecString: 'av01.0.04M.08' },
{ resolution: 480, codec: VideoCodec.Hevc, bitrate: 1_200_000, codecString: 'hvc1.1.6.L90.B0' },
{ resolution: 480, codec: VideoCodec.H264, bitrate: 2_500_000, codecString: 'avc1.64001e' },
{ resolution: 720, codec: VideoCodec.Av1, bitrate: 2_000_000, codecString: 'av01.0.08M.08' },
{ resolution: 720, codec: VideoCodec.Hevc, bitrate: 2_500_000, codecString: 'hvc1.1.6.L93.B0' },
{ resolution: 720, codec: VideoCodec.H264, bitrate: 5_000_000, codecString: 'avc1.64001f' },
{ resolution: 1080, codec: VideoCodec.Av1, bitrate: 4_000_000, codecString: 'av01.0.09M.08' },
{ resolution: 1080, codec: VideoCodec.Hevc, bitrate: 4_500_000, codecString: 'hvc1.1.6.L120.B0' },
{ resolution: 1080, codec: VideoCodec.H264, bitrate: 8_000_000, codecString: 'avc1.640028' },
{ resolution: 480, codec: VideoCodec.Av1, bitrate: 1_000_000 },
{ resolution: 480, codec: VideoCodec.Hevc, bitrate: 1_200_000 },
{ resolution: 480, codec: VideoCodec.H264, bitrate: 2_500_000 },
{ resolution: 720, codec: VideoCodec.Av1, bitrate: 2_000_000 },
{ resolution: 720, codec: VideoCodec.Hevc, bitrate: 2_500_000 },
{ resolution: 720, codec: VideoCodec.H264, bitrate: 5_000_000 },
{ resolution: 1080, codec: VideoCodec.Av1, bitrate: 4_000_000 },
{ resolution: 1080, codec: VideoCodec.Hevc, bitrate: 4_500_000 },
{ resolution: 1080, codec: VideoCodec.H264, bitrate: 8_000_000 },
{ resolution: 1440, codec: VideoCodec.Av1, bitrate: 7_000_000 },
{ resolution: 1440, codec: VideoCodec.Hevc, bitrate: 8_000_000 },
{ resolution: 1440, codec: VideoCodec.H264, bitrate: 14_000_000 },
{ resolution: 2160, codec: VideoCodec.Av1, bitrate: 12_000_000 },
{ resolution: 2160, codec: VideoCodec.Hevc, bitrate: 14_000_000 },
{ resolution: 2160, codec: VideoCodec.H264, bitrate: 25_000_000 },
];
export const HLS_VERSION = 7;
export type CodecLevel = { maxFrame: number; maxRate: number; token: string };
// H.264 High profile: token is the hex level_idc.
export const H264_LEVELS: CodecLevel[] = [
{ maxFrame: 1620, maxRate: 40_500, token: '1e' }, // 3.0
{ maxFrame: 3600, maxRate: 108_000, token: '1f' }, // 3.1
{ maxFrame: 5120, maxRate: 216_000, token: '20' }, // 3.2
{ maxFrame: 8192, maxRate: 245_760, token: '28' }, // 4.0
{ maxFrame: 8704, maxRate: 522_240, token: '2a' }, // 4.2
{ maxFrame: 22_080, maxRate: 589_824, token: '32' }, // 5.0
{ maxFrame: 36_864, maxRate: 983_040, token: '33' }, // 5.1
{ maxFrame: 36_864, maxRate: 2_073_600, token: '34' }, // 5.2
{ maxFrame: 139_264, maxRate: 4_177_920, token: '3c' }, // 6.0
{ maxFrame: 139_264, maxRate: 8_355_840, token: '3d' }, // 6.1
{ maxFrame: 139_264, maxRate: 16_711_680, token: '3e' }, // 6.2
];
// HEVC Main profile, Main tier: token is `L` + level_idc (level × 30).
export const HEVC_LEVELS: CodecLevel[] = [
{ maxFrame: 552_960, maxRate: 16_588_800, token: 'L90' }, // 3.0
{ maxFrame: 983_040, maxRate: 33_177_600, token: 'L93' }, // 3.1
{ maxFrame: 2_228_224, maxRate: 66_846_720, token: 'L120' }, // 4.0
{ maxFrame: 2_228_224, maxRate: 133_693_440, token: 'L123' }, // 4.1
{ maxFrame: 8_912_896, maxRate: 267_386_880, token: 'L150' }, // 5.0
{ maxFrame: 8_912_896, maxRate: 534_773_760, token: 'L153' }, // 5.1
{ maxFrame: 8_912_896, maxRate: 1_069_547_520, token: 'L156' }, // 5.2
{ maxFrame: 35_651_584, maxRate: 1_069_547_520, token: 'L180' }, // 6.0
{ maxFrame: 35_651_584, maxRate: 2_139_095_040, token: 'L183' }, // 6.1
{ maxFrame: 35_651_584, maxRate: 4_278_190_080, token: 'L186' }, // 6.2
];
// AV1 Main profile (0), Main tier (M): token is the two-digit seq_level_idx + `M`.
export const AV1_LEVELS: CodecLevel[] = [
{ maxFrame: 665_856, maxRate: 19_975_168, token: '04M' }, // 3.0
{ maxFrame: 1_065_024, maxRate: 31_950_336, token: '05M' }, // 3.1
{ maxFrame: 2_359_296, maxRate: 70_778_880, token: '08M' }, // 4.0
{ maxFrame: 2_359_296, maxRate: 141_557_760, token: '09M' }, // 4.1
{ maxFrame: 8_912_896, maxRate: 267_386_880, token: '12M' }, // 5.0
{ maxFrame: 8_912_896, maxRate: 534_773_760, token: '13M' }, // 5.1
{ maxFrame: 8_912_896, maxRate: 1_069_547_520, token: '14M' }, // 5.2
{ maxFrame: 35_651_584, maxRate: 1_069_547_520, token: '16M' }, // 6.0
{ maxFrame: 35_651_584, maxRate: 2_139_095_040, token: '17M' }, // 6.1
{ maxFrame: 35_651_584, maxRate: 4_278_190_080, token: '18M' }, // 6.2
];
+3
View File
@@ -11,6 +11,7 @@ import {
AudioCodecSchema,
ColorspaceSchema,
CQModeSchema,
HlsVideoResolutionSchema,
ImageFormatSchema,
LogLevelSchema,
OAuthTokenEndpointAuthMethodSchema,
@@ -115,6 +116,8 @@ const SystemConfigFFmpegSchema = z
realtime: z
.object({
enabled: configBool.describe('Enable real-time HLS transcoding (alpha)'),
videoCodecs: z.array(VideoCodecSchema).describe('Video codecs to use for real-time HLS transcoding'),
resolutions: z.array(HlsVideoResolutionSchema).describe('Resolutions to use for real-time HLS transcoding'),
})
.meta({ id: 'SystemConfigFFmpegRealtimeDto' }),
})
+13
View File
@@ -529,6 +529,19 @@ export enum CQMode {
export const CQModeSchema = z.enum(CQMode).describe('CQ mode').meta({ id: 'CQMode' });
export enum HlsVideoResolution {
p480 = 480,
p720 = 720,
p1080 = 1080,
p1440 = 1440,
p2160 = 2160,
}
export const HlsVideoResolutionSchema = z
.enum(HlsVideoResolution)
.describe('HLS video resolution')
.meta({ id: 'HlsVideoResolution', type: 'integer' });
export enum Colorspace {
Srgb = 'srgb',
P3 = 'p3',
+66 -39
View File
@@ -1,5 +1,5 @@
import { BadRequestException, NotFoundException } from '@nestjs/common';
import { TranscodeHardwareAcceleration } from 'src/enum';
import { HlsVideoResolution, VideoCodec } from 'src/enum';
import { HlsService } from 'src/services/hls.service';
import { eiffelTower, train, waterfall } from 'test/fixtures/media.stub';
import { factory } from 'test/small.factory';
@@ -96,67 +96,79 @@ seg_10.m4s
const sessionId = '00000000-0000-0000-0000-000000000000';
const eiffelExpectedMasterDisabled = `#EXTM3U
const eiffelExpectedMasterAv1 = `#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=1000000,RESOLUTION=480x852,CODECS="av01.0.04M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=1350000,RESOLUTION=480x852,CODECS="av01.0.04M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/0/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=1620000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/1/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=480x852,CODECS="avc1.64001e,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=480x852,CODECS="avc1.64001e,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/2/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=720x1280,CODECS="av01.0.08M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=2700000,RESOLUTION=720x1280,CODECS="av01.0.05M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/3/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/4/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=6750000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/5/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4000000,RESOLUTION=1080x1920,CODECS="av01.0.09M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=5400000,RESOLUTION=1080x1920,CODECS="av01.0.08M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/6/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4500000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=6075000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/7/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=10800000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/8/playlist.m3u8
`;
const eiffelExpectedMasterRkmpp = `#EXTM3U
const eiffelExpectedMasterNoAv1 = `#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=1620000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/1/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=480x852,CODECS="avc1.64001e,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=480x852,CODECS="avc1.64001e,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/2/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/4/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=6750000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/5/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4500000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=6075000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/7/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
#EXT-X-STREAM-INF:BANDWIDTH=10800000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=24.910
${sessionId}/8/playlist.m3u8
`;
const waterfallExpectedMasterDisabled = `#EXTM3U
const waterfallExpectedMasterAv1 = `#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=1000000,RESOLUTION=480x852,CODECS="av01.0.04M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=1350000,RESOLUTION=480x852,CODECS="av01.0.04M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/0/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=1620000,RESOLUTION=480x852,CODECS="hvc1.1.6.L90.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/1/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=480x852,CODECS="avc1.64001e,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=480x852,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/2/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=720x1280,CODECS="av01.0.08M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=2700000,RESOLUTION=720x1280,CODECS="av01.0.05M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/3/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=3375000,RESOLUTION=720x1280,CODECS="hvc1.1.6.L93.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/4/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=6750000,RESOLUTION=720x1280,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/5/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4000000,RESOLUTION=1080x1920,CODECS="av01.0.09M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=5400000,RESOLUTION=1080x1920,CODECS="av01.0.08M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/6/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4500000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=6075000,RESOLUTION=1080x1920,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/7/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
#EXT-X-STREAM-INF:BANDWIDTH=10800000,RESOLUTION=1080x1920,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/8/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=9450000,RESOLUTION=1440x2560,CODECS="av01.0.12M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/9/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=10800000,RESOLUTION=1440x2560,CODECS="hvc1.1.6.L150.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/10/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=18900000,RESOLUTION=1440x2560,CODECS="avc1.640032,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/11/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=16200000,RESOLUTION=2160x3840,CODECS="av01.0.12M.08,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/12/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=18900000,RESOLUTION=2160x3840,CODECS="hvc1.1.6.L150.B0,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/13/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=33750000,RESOLUTION=2160x3840,CODECS="avc1.640033,mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=29.830
${sessionId}/14/playlist.m3u8
`;
describe(HlsService.name, () => {
@@ -171,9 +183,24 @@ describe(HlsService.name, () => {
const auth = factory.auth();
const assetId = 'asset-1';
const setup = (asset: typeof eiffelTower | typeof waterfall, accel: TranscodeHardwareAcceleration) => {
const allCodecs = [VideoCodec.Av1, VideoCodec.Hevc, VideoCodec.H264];
const allResolutions = [
HlsVideoResolution.p480,
HlsVideoResolution.p720,
HlsVideoResolution.p1080,
HlsVideoResolution.p1440,
HlsVideoResolution.p2160,
];
const setup = (
asset: typeof eiffelTower | typeof waterfall,
videoCodecs?: VideoCodec[],
resolutions?: HlsVideoResolution[],
) => {
mocks.access.asset.checkOwnerAccess.mockResolvedValue(new Set([assetId]));
mocks.systemMetadata.get.mockResolvedValue({ ffmpeg: { realtime: { enabled: true }, accel } });
mocks.systemMetadata.get.mockResolvedValue({
ffmpeg: { realtime: { enabled: true, videoCodecs, resolutions } },
});
mocks.videoStream.getForMainPlaylist.mockResolvedValue(asset);
mocks.crypto.randomUUID.mockReturnValue(sessionId);
mocks.websocket.serverSend.mockImplementation((event, ...rest) => {
@@ -184,19 +211,19 @@ describe(HlsService.name, () => {
});
};
it('returns main playlist for eiffel-tower (1080p portrait, no acceleration)', async () => {
setup(eiffelTower, TranscodeHardwareAcceleration.Disabled);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(eiffelExpectedMasterDisabled);
it('offers AV1, HEVC, and H.264 when AV1 is configured and the accelerator supports it', async () => {
setup(eiffelTower, allCodecs);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(eiffelExpectedMasterAv1);
});
it('returns main playlist for eiffel-tower with RKMPP (no AV1 variants)', async () => {
setup(eiffelTower, TranscodeHardwareAcceleration.Rkmpp);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(eiffelExpectedMasterRkmpp);
it('omits AV1 when it is not in the configured codecs', async () => {
setup(eiffelTower);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(eiffelExpectedMasterNoAv1);
});
it('returns main playlist for waterfall (4K landscape) with no acceleration', async () => {
setup(waterfall, TranscodeHardwareAcceleration.Disabled);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(waterfallExpectedMasterDisabled);
it('offers every resolution up to the source and derives 4K codec levels (waterfall, 4K, 29.83fps)', async () => {
setup(waterfall, allCodecs, allResolutions);
await expect(sut.getMainPlaylist(auth, assetId)).resolves.toBe(waterfallExpectedMasterAv1);
});
it('throws BadRequestException when realtime transcoding is disabled', async () => {
+9 -12
View File
@@ -1,13 +1,7 @@
import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common';
import { constants } from 'node:fs';
import { join } from 'node:path';
import {
HLS_SEGMENT_DURATION,
HLS_SEGMENT_FILENAME_REGEX,
HLS_VARIANTS,
HLS_VERSION,
SUPPORTED_HWA_CODECS,
} from 'src/constants';
import { HLS_SEGMENT_DURATION, HLS_SEGMENT_FILENAME_REGEX, HLS_VARIANTS, HLS_VERSION } from 'src/constants';
import { StorageCore } from 'src/cores/storage.core';
import { OnEvent } from 'src/decorators';
import { AuthDto } from 'src/dtos/auth.dto';
@@ -18,7 +12,7 @@ import { BaseService } from 'src/services/base.service';
import { VideoPacketInfo, VideoStreamInfo } from 'src/types';
import { PendingEvents } from 'src/utils/event';
import { ImmichFileResponse } from 'src/utils/file';
import { getOutputSize } from 'src/utils/media';
import { getCodecString, getOutputSize } from 'src/utils/media';
type AssetWithStreamInfo = { videoStream: VideoStreamInfo & { timeBase: number }; packets: VideoPacketInfo };
type Segmentation = { fps: number; framesPerSegment: number; segmentCount: number; segmentDuration: number };
@@ -131,18 +125,21 @@ export class HlsService extends BaseService {
}
private generateMainPlaylist(sessionId: string, ffmpeg: SystemConfigFFmpegDto, asset: AssetWithStreamInfo) {
const fps = ((asset.packets.packetCount * asset.videoStream.timeBase) / asset.packets.totalDuration).toFixed(3);
const fps = (asset.packets.packetCount * asset.videoStream.timeBase) / asset.packets.totalDuration;
const roundedFps = fps.toFixed(3);
const sourceResolution = Math.min(asset.videoStream.height, asset.videoStream.width);
const targetResolution = Math.max(sourceResolution, HLS_VARIANTS[0].resolution);
const lines = ['#EXTM3U', `#EXT-X-VERSION:${HLS_VERSION}`, '#EXT-X-INDEPENDENT-SEGMENTS'];
const { videoCodecs, resolutions } = ffmpeg.realtime;
for (let i = 0; i < HLS_VARIANTS.length; i++) {
const { resolution, bitrate, codec, codecString } = HLS_VARIANTS[i];
if (resolution > targetResolution || !SUPPORTED_HWA_CODECS[ffmpeg.accel].includes(codec)) {
const { resolution, bitrate, codec } = HLS_VARIANTS[i];
if (resolution > targetResolution || !videoCodecs.includes(codec) || !resolutions.includes(resolution)) {
continue;
}
const { width, height } = getOutputSize(asset.videoStream, resolution);
const codecString = getCodecString(codec, width, height, fps);
lines.push(
`#EXT-X-STREAM-INF:BANDWIDTH=${bitrate},RESOLUTION=${width}x${height},CODECS="${codecString},mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=${fps}`,
`#EXT-X-STREAM-INF:BANDWIDTH=${Math.round(bitrate * 1.35)},RESOLUTION=${width}x${height},CODECS="${codecString},mp4a.40.2",VIDEO-RANGE=SDR,FRAME-RATE=${roundedFps}`,
`${sessionId}/${i}/playlist.m3u8`,
);
}
@@ -5,6 +5,7 @@ import {
AudioCodec,
Colorspace,
CQMode,
HlsVideoResolution,
ImageFormat,
LogLevel,
OAuthTokenEndpointAuthMethod,
@@ -76,6 +77,8 @@ const updatedConfig = Object.freeze<SystemConfig>({
tonemap: ToneMapping.Hable,
realtime: {
enabled: false,
videoCodecs: [VideoCodec.H264, VideoCodec.Hevc],
resolutions: [HlsVideoResolution.p480, HlsVideoResolution.p720, HlsVideoResolution.p1080],
},
},
integrityChecks: {
+24 -1
View File
@@ -1,4 +1,4 @@
import { AUDIO_ENCODER, SUPPORTED_HWA_CODECS } from 'src/constants';
import { AUDIO_ENCODER, AV1_LEVELS, CodecLevel, H264_LEVELS, HEVC_LEVELS, SUPPORTED_HWA_CODECS } from 'src/constants';
import { SystemConfigFFmpegDto } from 'src/dtos/system-config.dto';
import {
ColorMatrix,
@@ -36,6 +36,29 @@ export const getOutputSize = (videoStream: VideoStreamInfo, targetRes: number) =
return isVideoVertical(videoStream) ? { width: targetRes, height: larger } : { width: larger, height: targetRes };
};
const pickLevel = (levels: CodecLevel[], frame: number, rate: number) =>
levels.find((level) => frame <= level.maxFrame && rate <= level.maxRate) ?? levels.at(-1)!;
export const getCodecString = (codec: VideoCodec, width: number, height: number, fps: number): string => {
switch (codec) {
case VideoCodec.H264: {
const macroblocks = Math.ceil(width / 16) * Math.ceil(height / 16);
return `avc1.6400${pickLevel(H264_LEVELS, macroblocks, macroblocks * fps).token}`;
}
case VideoCodec.Hevc: {
const samples = width * height;
return `hvc1.1.6.${pickLevel(HEVC_LEVELS, samples, samples * fps).token}.B0`;
}
case VideoCodec.Av1: {
const samples = width * height;
return `av01.0.${pickLevel(AV1_LEVELS, samples, samples * fps).token}.08`;
}
default: {
throw new Error(`Codec '${codec}' does not support HLS codec strings`);
}
}
};
export class BaseConfig implements VideoCodecSWConfig {
readonly presets = ['veryslow', 'slower', 'slow', 'medium', 'fast', 'faster', 'veryfast', 'superfast', 'ultrafast'];
protected constructor(
+6 -3
View File
@@ -134,10 +134,13 @@ const notifyAddToAlbum = ($t: MessageFormatter, albumId: string, assetIds: strin
const successCount = results.filter(({ success }) => success).length;
const duplicateCount = results.filter(({ error }) => error === 'duplicate').length;
let description = $t('assets_cannot_be_added_to_album_count', { values: { count: assetIds.length } });
if (successCount > 0) {
description = $t('assets_added_to_album_count', { values: { count: successCount } });
} else if (duplicateCount > 0) {
if (duplicateCount === assetIds.length) {
description = $t('assets_were_part_of_album_count', { values: { count: duplicateCount } });
} else if (successCount === assetIds.length) {
description = $t('assets_added_to_album_count', { values: { count: successCount } });
} else if (successCount > 0) {
description = $t('assets_added_to_album_partial_count', { values: { successCount, totalCount: assetIds.length } });
}
toastManager.primary(
@@ -12,6 +12,7 @@
import {
AudioCodec,
CQMode,
HlsVideoResolution,
ToneMapping,
TranscodeHWAccel,
TranscodePolicy,
@@ -401,9 +402,45 @@
title={$t('admin.transcoding_realtime_enabled')}
subtitle={$t('admin.transcoding_realtime_enabled_description')}
bind:checked={configToEdit.ffmpeg.realtime.enabled}
isEdited={configToEdit.ffmpeg.realtime.enabled !== configToEdit.ffmpeg.realtime.enabled}
isEdited={configToEdit.ffmpeg.realtime.enabled !== config.ffmpeg.realtime.enabled}
{disabled}
/>
<SettingCheckboxes
label={$t('admin.transcoding_realtime_video_codecs')}
desc={$t('admin.transcoding_realtime_video_codecs_description')}
disabled={disabled || !configToEdit.ffmpeg.realtime.enabled}
bind:value={configToEdit.ffmpeg.realtime.videoCodecs}
name="realtimeVideoCodecs"
options={[
{ value: VideoCodec.H264, text: 'H.264' },
{ value: VideoCodec.Hevc, text: 'HEVC' },
{ value: VideoCodec.Av1, text: 'AV1' },
]}
isEdited={!isEqual(
sortBy(configToEdit.ffmpeg.realtime.videoCodecs),
sortBy(config.ffmpeg.realtime.videoCodecs),
)}
/>
<SettingCheckboxes
label={$t('admin.transcoding_realtime_resolutions')}
desc={$t('admin.transcoding_realtime_resolutions_description')}
disabled={disabled || !configToEdit.ffmpeg.realtime.enabled}
bind:value={configToEdit.ffmpeg.realtime.resolutions}
name="realtimeResolutions"
options={[
{ value: HlsVideoResolution.$480, text: '480p' },
{ value: HlsVideoResolution.$720, text: '720p' },
{ value: HlsVideoResolution.$1080, text: '1080p' },
{ value: HlsVideoResolution.$1440, text: '1440p' },
{ value: HlsVideoResolution.$2160, text: '2160p' },
]}
isEdited={!isEqual(
sortBy(configToEdit.ffmpeg.realtime.resolutions),
sortBy(config.ffmpeg.realtime.resolutions),
)}
/>
</div>
</SettingAccordion>
</div>
@@ -1,4 +1,4 @@
<script lang="ts" generics="T extends string">
<script lang="ts" generics="T extends string | number">
import { Checkbox, Label } from '@immich/ui';
import { t } from 'svelte-i18n';
import { quintOut } from 'svelte/easing';