Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31dd15ce8a | ||
|
|
6108587c8b | ||
|
|
3e50f668d9 | ||
|
|
9b82617e22 | ||
|
|
76cb32d8d0 | ||
|
|
e8f3348833 | ||
|
|
9922c8de59 | ||
|
|
3f4bbab4eb |
6
cli/package-lock.json
generated
6
cli/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@immich/cli",
|
||||
"version": "2.2.52",
|
||||
"version": "2.2.53",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@immich/cli",
|
||||
"version": "2.2.52",
|
||||
"version": "2.2.53",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"chokidar": "^4.0.3",
|
||||
@@ -55,7 +55,7 @@
|
||||
},
|
||||
"../open-api/typescript-sdk": {
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"dev": true,
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@immich/cli",
|
||||
"version": "2.2.52",
|
||||
"version": "2.2.53",
|
||||
"description": "Command Line Interface (CLI) for Immich",
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
@@ -72,4 +72,4 @@
|
||||
"volta": {
|
||||
"node": "22.14.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,6 +242,13 @@ const roadmap: Item[] = [
|
||||
];
|
||||
|
||||
const milestones: Item[] = [
|
||||
{
|
||||
icon: mdiStar,
|
||||
iconColor: 'gold',
|
||||
title: '60,000 Stars',
|
||||
description: 'Reached 60K Stars on GitHub!',
|
||||
getDateLabel: withLanguage(new Date(2025, 2, 4)),
|
||||
},
|
||||
withRelease({
|
||||
icon: mdiLinkEdit,
|
||||
iconColor: 'crimson',
|
||||
|
||||
4
docs/static/archived-versions.json
vendored
4
docs/static/archived-versions.json
vendored
@@ -1,4 +1,8 @@
|
||||
[
|
||||
{
|
||||
"label": "v1.129.0",
|
||||
"url": "https://v1.129.0.archive.immich.app"
|
||||
},
|
||||
{
|
||||
"label": "v1.128.0",
|
||||
"url": "https://v1.128.0.archive.immich.app"
|
||||
|
||||
13
e2e/package-lock.json
generated
13
e2e/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "immich-e2e",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "immich-e2e",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
@@ -45,13 +45,15 @@
|
||||
},
|
||||
"../cli": {
|
||||
"name": "@immich/cli",
|
||||
"version": "2.2.52",
|
||||
"version": "2.2.53",
|
||||
"dev": true,
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"chokidar": "^4.0.3",
|
||||
"fast-glob": "^3.3.2",
|
||||
"fastq": "^1.17.1",
|
||||
"lodash-es": "^4.17.21"
|
||||
"lodash-es": "^4.17.21",
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"bin": {
|
||||
"immich": "dist/index.js"
|
||||
@@ -63,6 +65,7 @@
|
||||
"@types/byte-size": "^8.1.0",
|
||||
"@types/cli-progress": "^3.11.0",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/micromatch": "^4.0.9",
|
||||
"@types/mock-fs": "^4.13.1",
|
||||
"@types/node": "^22.13.5",
|
||||
"@typescript-eslint/eslint-plugin": "^8.15.0",
|
||||
@@ -92,7 +95,7 @@
|
||||
},
|
||||
"../open-api/typescript-sdk": {
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"dev": true,
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "immich-e2e",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
|
||||
@@ -66,8 +66,8 @@ download:
|
||||
locale_code: es-MX
|
||||
- file: mobile/assets/i18n/sv-FI.json
|
||||
locale_code: sv-FI
|
||||
- file: mobile/assets/i18n/ca-CA.json
|
||||
locale_code: ca-CA
|
||||
- file: mobile/assets/i18n/ca.json
|
||||
locale_code: ca
|
||||
- file: mobile/assets/i18n/hu-HU.json
|
||||
locale_code: hu-HU
|
||||
- file: mobile/assets/i18n/lv-LV.json
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "machine-learning"
|
||||
version = "1.128.0"
|
||||
version = "1.129.0"
|
||||
description = ""
|
||||
authors = ["Hau Tran <alex.tran1502@gmail.com>"]
|
||||
readme = "README.md"
|
||||
|
||||
@@ -70,6 +70,7 @@ custom_lint:
|
||||
- lib/infrastructure/repositories/{store,db,log}.repository.dart
|
||||
- lib/providers/infrastructure/db.provider.dart
|
||||
# acceptable exceptions for the time being (until Isar is fully replaced)
|
||||
- lib/providers/app_life_cycle.provider.dart
|
||||
- integration_test/test_utils/general_helper.dart
|
||||
- lib/main.dart
|
||||
- lib/pages/album/album_asset_selection.page.dart
|
||||
|
||||
@@ -35,8 +35,8 @@ platform :android do
|
||||
task: 'bundle',
|
||||
build_type: 'Release',
|
||||
properties: {
|
||||
"android.injected.version.code" => 186,
|
||||
"android.injected.version.name" => "1.128.0",
|
||||
"android.injected.version.code" => 187,
|
||||
"android.injected.version.name" => "1.129.0",
|
||||
}
|
||||
)
|
||||
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')
|
||||
|
||||
@@ -1,24 +1,35 @@
|
||||
{
|
||||
"action_common_cancel": "Cancel·la",
|
||||
"action_common_update": "Actualitza",
|
||||
"add_to_album_bottom_sheet_added": "S'ha afegit a {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Ja es troba en {album}",
|
||||
"action_common_back": "Enrere",
|
||||
"action_common_cancel": "Cancel·lar",
|
||||
"action_common_clear": "Buida",
|
||||
"action_common_confirm": "Confirmar",
|
||||
"action_common_save": "Desa",
|
||||
"action_common_select": "Selecciona",
|
||||
"action_common_update": "Actualitzar",
|
||||
"add_a_name": "Afegeix un nom",
|
||||
"add_endpoint": "afegir endpoint",
|
||||
"add_to_album_bottom_sheet_added": "Added to {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Already in {album}",
|
||||
"advanced_settings_log_level_title": "Log level: {}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from assets on the device. Activate this setting to load remote images instead.",
|
||||
"advanced_settings_prefer_remote_title": "Prefereix imatges remotes",
|
||||
"advanced_settings_proxy_headers_subtitle": "Definiu les capçaleres de proxy que Immich per enviar amb cada sol·licitud de xarxa",
|
||||
"advanced_settings_proxy_headers_title": "Capçaleres de proxy",
|
||||
"advanced_settings_self_signed_ssl_subtitle": "Skips SSL certificate verification for the server endpoint. Required for self-signed certificates.",
|
||||
"advanced_settings_self_signed_ssl_title": "Allow self-signed SSL certificates",
|
||||
"advanced_settings_tile_subtitle": "Configuració avançada",
|
||||
"advanced_settings_tile_subtitle": "Advanced user's settings",
|
||||
"advanced_settings_tile_title": "Avançat",
|
||||
"advanced_settings_troubleshooting_subtitle": "Enable additional features for troubleshooting",
|
||||
"advanced_settings_troubleshooting_title": "Resolució de problemes",
|
||||
"album_info_card_backup_album_excluded": "Exclosos",
|
||||
"album_info_card_backup_album_included": "Inclosos",
|
||||
"album_thumbnail_card_item": "1 element",
|
||||
"album_thumbnail_card_items": "{} elements",
|
||||
"album_thumbnail_card_shared": " · Compartit",
|
||||
"albums": "Àlbums",
|
||||
"album_thumbnail_card_item": "1 item",
|
||||
"album_thumbnail_card_items": "{} items",
|
||||
"album_thumbnail_card_shared": " · Shared",
|
||||
"album_thumbnail_owned": "Owned",
|
||||
"album_thumbnail_shared_by": "Compartit per {}",
|
||||
"album_viewer_appbar_delete_confirm": "Confirmes que vols suprimir aquest àlbum del teu compte?",
|
||||
"album_viewer_appbar_share_delete": "Esborra l'àlbum",
|
||||
"album_viewer_appbar_share_err_delete": "Error al esborrar l'àlbum",
|
||||
"album_viewer_appbar_share_err_leave": "Error al sortir de l'àlbum",
|
||||
@@ -28,25 +39,39 @@
|
||||
"album_viewer_appbar_share_remove": "Treu de l'àlbum",
|
||||
"album_viewer_appbar_share_to": "Share To",
|
||||
"album_viewer_page_share_add_users": "Afegeix usuaris",
|
||||
"all": "Tot",
|
||||
"all_people_page_title": "Persones",
|
||||
"all_videos_page_title": "Vídeos",
|
||||
"app_bar_signout_dialog_content": "Are you sure you want to sign out?",
|
||||
"app_bar_signout_dialog_ok": "Yes",
|
||||
"app_bar_signout_dialog_title": "Sign out",
|
||||
"archived": "Arxivat",
|
||||
"archive_page_no_archived_assets": "No s'ha trobat res arxivat",
|
||||
"archive_page_title": "Arxiu({})",
|
||||
"asset_action_delete_err_read_only": "Cannot delete read only asset(s), skipping",
|
||||
"asset_action_share_err_offline": "Cannot fetch offline asset(s), skipping",
|
||||
"asset_list_group_by_sub_title": "Group by",
|
||||
"asset_action_delete_err_read_only": "No es poden esborrar el fitxer(s) de només lectura, ometent",
|
||||
"asset_action_share_err_offline": "No s'ha pogut obtenir el fitxer(s) sense connexió, ometent",
|
||||
"asset_list_group_by_sub_title": "Agrupar per",
|
||||
"asset_list_layout_settings_dynamic_layout_title": "Dynamic layout",
|
||||
"asset_list_layout_settings_group_automatically": "Automàtic",
|
||||
"asset_list_layout_settings_group_by": "Group assets by",
|
||||
"asset_list_layout_settings_group_by_month": "Month",
|
||||
"asset_list_layout_settings_group_by_month_day": "Month + day",
|
||||
"asset_list_layout_sub_title": "Layout",
|
||||
"asset_list_layout_sub_title": "Disseny",
|
||||
"asset_list_settings_subtitle": "Photo grid layout settings",
|
||||
"asset_list_settings_title": "Photo Grid",
|
||||
"asset_viewer_settings_title": "Asset Viewer",
|
||||
"asset_restored_successfully": "Element recuperat correctament",
|
||||
"assets_deleted_permanently": "{} element(s) esborrats permanentment",
|
||||
"assets_deleted_permanently_from_server": "{} element(s) esborrats permanentment del servidor d'Immich",
|
||||
"assets_removed_permanently_from_device": "{} element(s) esborrat permanentment del dispositiu",
|
||||
"assets_restored_successfully": "{} element(s) recuperats correctament",
|
||||
"assets_trashed": "{} element(s) enviat a la paperera",
|
||||
"assets_trashed_from_server": "{} element(s) enviat a la paperera del servidor d'Immich",
|
||||
"asset_viewer_settings_subtitle": "Gestiona la configuració del visualitzador de la galeria",
|
||||
"asset_viewer_settings_title": "Visor d'arxius",
|
||||
"automatic_endpoint_switching_subtitle": "Connecteu-vos localment a través de la Wi-Fi designada quan estigui disponible i utilitzeu connexions alternatives en altres llocs",
|
||||
"automatic_endpoint_switching_title": "Canvi automàtic d'URL",
|
||||
"background_location_permission": "Permís d'ubicació en segon pla",
|
||||
"background_location_permission_content": "Per canviar de xarxa quan s'executa en segon pla, Immich ha de *sempre* tenir accés a la ubicació precisa perquè l'aplicació pugui llegir el nom de la xarxa Wi-Fi",
|
||||
"backup_album_selection_page_albums_device": "Àlbums al dispositiu ({})",
|
||||
"backup_album_selection_page_albums_tap": "Tap to include, double tap to exclude",
|
||||
"backup_album_selection_page_assets_scatter": "Assets can scatter across multiple albums. Thus, albums can be included or excluded during the backup process.",
|
||||
@@ -108,9 +133,11 @@
|
||||
"backup_info_card_assets": "elements",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Opcions de còpia de seguretat",
|
||||
"backup_setting_subtitle": "Gestiona la configuració de càrrega en segon pla i en primer pla",
|
||||
"cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
|
||||
"cache_settings_clear_cache_button": "Clear cache",
|
||||
"cache_settings_clear_cache_button_title": "Clears the app's cache. This will significantly impact the app's performance until the cache has rebuilt.",
|
||||
@@ -129,73 +156,136 @@
|
||||
"cache_settings_tile_subtitle": "Control the local storage behaviour",
|
||||
"cache_settings_tile_title": "Local Storage",
|
||||
"cache_settings_title": "Configuració de la memòria cau",
|
||||
"cancel": "Cancel·la",
|
||||
"canceled": "Cancel·lat",
|
||||
"change_display_order": "Canvia l'ordre de visualització",
|
||||
"change_password_form_confirm_password": "Confirma la contrasenya",
|
||||
"change_password_form_description": "Hi {name},\n\nThis is either the first time you are signing into the system or a request has been made to change your password. Please enter the new password below.",
|
||||
"change_password_form_new_password": "New Password",
|
||||
"change_password_form_password_mismatch": "Passwords do not match",
|
||||
"change_password_form_reenter_new_password": "Re-enter New Password",
|
||||
"check_corrupt_asset_backup": "Comprovar les còpies de seguretat corruptes",
|
||||
"check_corrupt_asset_backup_button": "Realitzar comprovació",
|
||||
"check_corrupt_asset_backup_description": "Executeu aquesta comprovació només mitjançant Wi-Fi i un cop s'hagi fet una còpia de seguretat de tots els actius. El procediment pot trigar uns minuts.",
|
||||
"client_cert_dialog_msg_confirm": "OK",
|
||||
"client_cert_enter_password": "Introdueix la contrasenya",
|
||||
"client_cert_import": "Importar",
|
||||
"client_cert_import_success_msg": "S'ha importat el certificat del client",
|
||||
"client_cert_invalid_msg": "Fitxer de certificat no vàlid o contrasenya incorrecta",
|
||||
"client_cert_remove": "Eliminar",
|
||||
"client_cert_remove_msg": "S'ha eliminat el certificat del client",
|
||||
"client_cert_subtitle": "Només admet el format PKCS12 (.p12, .pfx). La importació/eliminació de certificats només està disponible abans d'iniciar sessió",
|
||||
"client_cert_title": "Certificat de client SSL",
|
||||
"common_add_to_album": "Add to album",
|
||||
"common_change_password": "Change Password",
|
||||
"common_create_new_album": "Crea un àlbum nou",
|
||||
"common_server_error": "Please check your network connection, make sure the server is reachable and app/server versions are compatible.",
|
||||
"common_shared": "Compartit",
|
||||
"completed": "Completat",
|
||||
"contextual_search": "Sortida del sol a la platja",
|
||||
"control_bottom_app_bar_add_to_album": "Add to album",
|
||||
"control_bottom_app_bar_album_info": "{} elements",
|
||||
"control_bottom_app_bar_album_info_shared": "{} elements - Compartits",
|
||||
"control_bottom_app_bar_archive": "Arxiu",
|
||||
"control_bottom_app_bar_create_new_album": "Crea un àlbum nou",
|
||||
"control_bottom_app_bar_delete": "Esborra",
|
||||
"control_bottom_app_bar_delete_from_immich": "Delete from Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Delete from device",
|
||||
"control_bottom_app_bar_delete_from_immich": "Suprimeix del Immich",
|
||||
"control_bottom_app_bar_delete_from_local": "Suprimeix del dispositiu",
|
||||
"control_bottom_app_bar_download": "Descarrega",
|
||||
"control_bottom_app_bar_edit": "Edita",
|
||||
"control_bottom_app_bar_edit_location": "Edit Location",
|
||||
"control_bottom_app_bar_edit_time": "Edit Date & Time",
|
||||
"control_bottom_app_bar_favorite": "Preferit",
|
||||
"control_bottom_app_bar_share": "Share",
|
||||
"control_bottom_app_bar_share_to": "Share To",
|
||||
"control_bottom_app_bar_stack": "Stack",
|
||||
"control_bottom_app_bar_trash_from_immich": "Move to Trash",
|
||||
"control_bottom_app_bar_trash_from_immich": "Mou a paperera",
|
||||
"control_bottom_app_bar_unarchive": "Desarxiva",
|
||||
"control_bottom_app_bar_unfavorite": "Unfavorite",
|
||||
"control_bottom_app_bar_upload": "Upload",
|
||||
"create_album": "Crear àlbum",
|
||||
"create_album_page_untitled": "Untitled",
|
||||
"create_new": "CREAR NOU",
|
||||
"create_shared_album_page_create": "Create",
|
||||
"create_shared_album_page_share": "Comparteix",
|
||||
"create_shared_album_page_share_add_assets": "AFEGEIX ELEMENTS",
|
||||
"create_shared_album_page_share_select_photos": "Escull fotografies",
|
||||
"crop": "Retalla",
|
||||
"curated_location_page_title": "Localitzacions",
|
||||
"curated_object_page_title": "Coses",
|
||||
"current_server_address": "Current server address",
|
||||
"daily_title_text_date": "E, MMM dd",
|
||||
"daily_title_text_date_year": "E, MMM dd, yyyy",
|
||||
"date_format": "E, LLL d, y • h:mm a",
|
||||
"delete_dialog_alert": "These items will be permanently deleted from Immich and from your device",
|
||||
"delete_dialog_alert_local": "These items will be permanently removed from your device but still be available on the Immich server",
|
||||
"delete_dialog_alert_local_non_backed_up": "Some of the items aren't backed up to Immich and will be permanently removed from your device",
|
||||
"delete_dialog_alert_remote": "These items will be permanently deleted from the Immich server",
|
||||
"delete_dialog_alert_local": "Aquests elements s'eliminaran permanentment del vostre dispositiu, però encara estaran disponibles al servidor Immich",
|
||||
"delete_dialog_alert_local_non_backed_up": "Alguns dels elements no tenen còpia de seguretat a Immich i s'eliminaran permanentment del dispositiu",
|
||||
"delete_dialog_alert_remote": "Aquests elements s'eliminaran permanentment del servidor Immich",
|
||||
"delete_dialog_cancel": "Cancel·la",
|
||||
"delete_dialog_ok": "Esborra",
|
||||
"delete_dialog_ok_force": "Delete Anyway",
|
||||
"delete_dialog_ok_force": "Suprimeix de totes maneres",
|
||||
"delete_dialog_title": "Esborra permanentment",
|
||||
"delete_local_dialog_ok_backed_up_only": "Delete Backed Up Only",
|
||||
"delete_local_dialog_ok_force": "Delete Anyway",
|
||||
"delete_local_dialog_ok_backed_up_only": "Esborrar només les que tinguin còpia de seguretat",
|
||||
"delete_local_dialog_ok_force": "Suprimeix de totes maneres",
|
||||
"delete_shared_link_dialog_content": "Are you sure you want to delete this shared link?",
|
||||
"delete_shared_link_dialog_title": "Delete Shared Link",
|
||||
"description_input_hint_text": "Afegeix descripció...",
|
||||
"description_input_submit_error": "Error updating description, check the log for more details",
|
||||
"edit_date_time_dialog_date_time": "Date and Time",
|
||||
"edit_date_time_dialog_timezone": "Timezone",
|
||||
"edit_location_dialog_title": "Location",
|
||||
"description_search": "Jornada de senderisme a Sapa",
|
||||
"download_canceled": "Descàrrega cancel·lada",
|
||||
"download_complete": "Descàrrega completada",
|
||||
"download_enqueue": "Descàrrega en cua",
|
||||
"download_error": "Error de descàrrega",
|
||||
"download_failed": "Descàrrega ha fallat",
|
||||
"download_filename": "arxiu: {}",
|
||||
"download_finished": "Descàrrega acabada",
|
||||
"downloading": "Descarregant...",
|
||||
"downloading_media": "Descàrrega multimèdia",
|
||||
"download_notfound": "No s'ha trobat la descàrrega",
|
||||
"download_paused": "Descàrrega pausada",
|
||||
"download_started": "Descàrrega ha començat",
|
||||
"download_sucess": "Descarregat amb èxit",
|
||||
"download_sucess_android": "El multimedia s'ha descarregat a DCIM/Immich",
|
||||
"download_waiting_to_retry": "Esperant per tornar-ho a intentar",
|
||||
"edit_date_time_dialog_date_time": "Data i Hora",
|
||||
"edit_date_time_dialog_search_timezone": "Cerca zona horària...",
|
||||
"edit_date_time_dialog_timezone": "Zona horària",
|
||||
"edit_image_title": "Editar",
|
||||
"edit_location_dialog_title": "Ubicació",
|
||||
"end_date": "Data final",
|
||||
"enqueued": "En cua",
|
||||
"enter_wifi_name": "Introdueix el nom de WiFi",
|
||||
"error_change_sort_album": "No s'ha pogut canviar l'ordre d'ordenació dels àlbums",
|
||||
"error_saving_image": "Error: {}",
|
||||
"exif_bottom_sheet_description": "Afegeix descripció",
|
||||
"exif_bottom_sheet_details": "DETALLS",
|
||||
"exif_bottom_sheet_location": "UBICACIÓ",
|
||||
"exif_bottom_sheet_location_add": "Add a location",
|
||||
"exif_bottom_sheet_people": "PEOPLE",
|
||||
"exif_bottom_sheet_person_add_person": "Add name",
|
||||
"exif_bottom_sheet_people": "PERSONES",
|
||||
"exif_bottom_sheet_person_add_person": "Afegir nom",
|
||||
"experimental_settings_new_asset_list_subtitle": "Work in progress",
|
||||
"experimental_settings_new_asset_list_title": "Enable experimental photo grid",
|
||||
"experimental_settings_subtitle": "Use at your own risk!",
|
||||
"experimental_settings_title": "Experimental",
|
||||
"external_network": "Xarxa externa",
|
||||
"external_network_sheet_info": "Quan no estigui a la xarxa WiFi preferida, l'aplicació es connectarà al servidor mitjançant el primer dels URL següents a què pot arribar, començant de dalt a baix.",
|
||||
"failed": "Fallat",
|
||||
"favorites": "Favorits",
|
||||
"favorites_page_no_favorites": "No s'han trobat preferits",
|
||||
"favorites_page_title": "Favorites",
|
||||
"filename_search": "Nom o extensió del fitxer",
|
||||
"filter": "Filtrar",
|
||||
"get_wifiname_error": "No s'ha pogut obtenir el nom de la Wi-Fi. Assegureu-vos que heu concedit els permisos necessaris i que esteu connectat a una xarxa Wi-Fi",
|
||||
"grant_permission": "Grant permission",
|
||||
"haptic_feedback_switch": "Activa la resposta hàptica",
|
||||
"haptic_feedback_title": "Resposta Hàptica",
|
||||
"header_settings_add_header_tip": "Afegeix Capçalera",
|
||||
"header_settings_field_validator_msg": "El valor no pot estar buit",
|
||||
"header_settings_header_name_input": "Nom de la capçalera",
|
||||
"header_settings_header_value_input": "Valor de la capçalera",
|
||||
"header_settings_page_title": "Capçaleres de proxy",
|
||||
"headers_settings_tile_subtitle": "Definiu les capçaleres de proxy que l'aplicació hauria d'enviar amb cada sol·licitud de xarxa",
|
||||
"headers_settings_tile_title": "Custom proxy headers",
|
||||
"home_page_add_to_album_conflicts": "Added {added} assets to album {album}. {failed} assets are already in the album.",
|
||||
"home_page_add_to_album_err_local": "Can not add local assets to albums yet, skipping",
|
||||
"home_page_add_to_album_success": "Added {added} assets to album {album}.",
|
||||
@@ -204,16 +294,22 @@
|
||||
"home_page_archive_err_partner": "Can not archive partner assets, skipping",
|
||||
"home_page_building_timeline": "Building the timeline",
|
||||
"home_page_delete_err_partner": "Can not delete partner assets, skipping",
|
||||
"home_page_delete_remote_err_local": "Local assets in delete remote selection, skipping",
|
||||
"home_page_delete_remote_err_local": "Elements locals a la selecció d'eliminació remota, ometent",
|
||||
"home_page_favorite_err_local": "Can not favorite local assets yet, skipping",
|
||||
"home_page_favorite_err_partner": "Can not favorite partner assets yet, skipping",
|
||||
"home_page_first_time_notice": "If this is your first time using the app, please make sure to choose a backup album(s) so that the timeline can populate photos and videos in the album(s).",
|
||||
"home_page_share_err_local": "Can not share local assets via link, skipping",
|
||||
"home_page_upload_err_limit": "Can only upload a maximum of 30 assets at a time, skipping",
|
||||
"ignore_icloud_photos": "Ignora fotos d'iCloud",
|
||||
"ignore_icloud_photos_description": "Les fotos emmagatzemades a iCloud no es penjaran al servidor Immich",
|
||||
"image_saved_successfully": "Imatge desada",
|
||||
"image_viewer_page_state_provider_download_error": "Download Error",
|
||||
"image_viewer_page_state_provider_download_started": "Download Started",
|
||||
"image_viewer_page_state_provider_download_started": "Descàrrega començada",
|
||||
"image_viewer_page_state_provider_download_success": "Download Success",
|
||||
"image_viewer_page_state_provider_share_error": "Share Error",
|
||||
"invalid_date": "Data invàlida",
|
||||
"invalid_date_format": "Format de data invàlid",
|
||||
"library": "Llibreria",
|
||||
"library_page_albums": "Àlbums",
|
||||
"library_page_archive": "Arxiu",
|
||||
"library_page_device_albums": "Àlbums al Dispositiu",
|
||||
@@ -226,13 +322,17 @@
|
||||
"library_page_sort_most_oldest_photo": "Oldest photo",
|
||||
"library_page_sort_most_recent_photo": "Most recent photo",
|
||||
"library_page_sort_title": "Album title",
|
||||
"location_picker_choose_on_map": "Choose on map",
|
||||
"location_picker_latitude": "Latitude",
|
||||
"location_picker_latitude_error": "Enter a valid latitude",
|
||||
"local_network": "Xarxa local",
|
||||
"local_network_sheet_info": "L'aplicació es connectarà al servidor mitjançant aquest URL quan utilitzeu la xarxa Wi-Fi especificada",
|
||||
"location_permission": "Permís d'ubicació",
|
||||
"location_permission_content": "Per utilitzar la funció de canvi automàtic, Immich necessita un permís de ubicació precisa perquè pugui llegir el nom de la xarxa WiFi actual",
|
||||
"location_picker_choose_on_map": "Escollir en el mapa",
|
||||
"location_picker_latitude": "Latitud",
|
||||
"location_picker_latitude_error": "Introdueix una latitud vàlida",
|
||||
"location_picker_latitude_hint": "Enter your latitude here",
|
||||
"location_picker_longitude": "Longitude",
|
||||
"location_picker_longitude_error": "Enter a valid longitude",
|
||||
"location_picker_longitude_hint": "Enter your longitude here",
|
||||
"location_picker_longitude": "Longitud",
|
||||
"location_picker_longitude_error": "Introdueix una longitud vàlida",
|
||||
"location_picker_longitude_hint": "Introdueix aquí la longitud",
|
||||
"login_disabled": "Login has been disabled",
|
||||
"login_form_api_exception": "API exception. Please check the server URL and try again.",
|
||||
"login_form_back_button_text": "Back",
|
||||
@@ -258,12 +358,12 @@
|
||||
"login_form_server_error": "Could not connect to server.",
|
||||
"login_password_changed_error": "There was an error updating your password",
|
||||
"login_password_changed_success": "Password updated successfully",
|
||||
"map_assets_in_bound": "{} photo",
|
||||
"map_assets_in_bounds": "{} photos",
|
||||
"map_assets_in_bound": "{} foto",
|
||||
"map_assets_in_bounds": "{} fotos",
|
||||
"map_cannot_get_user_location": "Cannot get user's location",
|
||||
"map_location_dialog_cancel": "Cancel",
|
||||
"map_location_dialog_yes": "Yes",
|
||||
"map_location_picker_page_use_location": "Use this location",
|
||||
"map_location_picker_page_use_location": "Utilitzar aquesta ubicació",
|
||||
"map_location_service_disabled_content": "Location service needs to be enabled to display assets from your current location. Do you want to enable it now?",
|
||||
"map_location_service_disabled_title": "Location Service disabled",
|
||||
"map_no_assets_in_bounds": "No photos in this area",
|
||||
@@ -271,32 +371,44 @@
|
||||
"map_no_location_permission_title": "Location Permission denied",
|
||||
"map_settings_dark_mode": "Dark mode",
|
||||
"map_settings_date_range_option_all": "All",
|
||||
"map_settings_date_range_option_day": "Past 24 hours",
|
||||
"map_settings_date_range_option_days": "Past {} days",
|
||||
"map_settings_date_range_option_year": "Past year",
|
||||
"map_settings_date_range_option_years": "Past {} years",
|
||||
"map_settings_date_range_option_day": "Últimes 24 hores",
|
||||
"map_settings_date_range_option_days": "Darrers {} dies",
|
||||
"map_settings_date_range_option_year": "Any passat",
|
||||
"map_settings_date_range_option_years": "Darrers {} anys",
|
||||
"map_settings_dialog_cancel": "Cancel",
|
||||
"map_settings_dialog_save": "Save",
|
||||
"map_settings_dialog_title": "Map Settings",
|
||||
"map_settings_include_show_archived": "Include Archived",
|
||||
"map_settings_include_show_partners": "Incloure companys",
|
||||
"map_settings_only_relative_range": "Date range",
|
||||
"map_settings_only_show_favorites": "Show Favorite Only",
|
||||
"map_settings_theme_settings": "Map Theme",
|
||||
"map_settings_theme_settings": "Tema del Mapa",
|
||||
"map_zoom_to_see_photos": "Zoom out to see photos",
|
||||
"memories_all_caught_up": "All caught up",
|
||||
"memories_check_back_tomorrow": "Check back tomorrow for more memories",
|
||||
"memories_start_over": "Start Over",
|
||||
"memories_swipe_to_close": "Swipe up to close",
|
||||
"memories_all_caught_up": "Posat al dia",
|
||||
"memories_check_back_tomorrow": "Torna demà per veure més records",
|
||||
"memories_start_over": "Torna a començar",
|
||||
"memories_swipe_to_close": "Llisca per tancar",
|
||||
"memories_year_ago": "Fa un any",
|
||||
"memories_years_ago": "Fa {} anys",
|
||||
"monthly_title_text_date_format": "MMMM y",
|
||||
"motion_photos_page_title": "Motion Photos",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Cannot edit date of read only asset(s), skipping",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Cannot edit location of read only asset(s), skipping",
|
||||
"multiselect_grid_edit_date_time_err_read_only": "No es pot canviar la data del fitxer(s) de només lectura, ometent",
|
||||
"multiselect_grid_edit_gps_err_read_only": "No es pot canviar la localització de fitxers de només lectura. Saltant.",
|
||||
"my_albums": "Els meus àlbums",
|
||||
"networking_settings": "Xarxes",
|
||||
"networking_subtitle": "Gestiona la configuració del endpoint del servidor",
|
||||
"no_assets_to_show": "No hi ha elements per mostrar",
|
||||
"no_name": "Sense nom",
|
||||
"notification_permission_dialog_cancel": "Cancel·la",
|
||||
"notification_permission_dialog_content": "To enable notifications, go to Settings and select allow.",
|
||||
"notification_permission_dialog_settings": "Configuració",
|
||||
"notification_permission_list_tile_content": "Grant permission to enable notifications.",
|
||||
"notification_permission_list_tile_enable_button": "Activa les notificacions",
|
||||
"notification_permission_list_tile_title": "Notification Permission",
|
||||
"not_selected": "No seleccionat",
|
||||
"on_this_device": "En aquest dispositiu",
|
||||
"partner_list_user_photos": "fotos de {user}",
|
||||
"partner_list_view_all": "Veure tot",
|
||||
"partner_page_add_partner": "Afegeix company",
|
||||
"partner_page_empty_message": "Your photos are not yet shared with any partner.",
|
||||
"partner_page_no_more_users": "No more users to add",
|
||||
@@ -306,6 +418,9 @@
|
||||
"partner_page_stop_sharing_content": "{} will no longer be able to access your photos.",
|
||||
"partner_page_stop_sharing_title": "Stop sharing your photos?",
|
||||
"partner_page_title": "Company",
|
||||
"partners": "Companys",
|
||||
"paused": "Pausat",
|
||||
"people": "Persones",
|
||||
"permission_onboarding_back": "Back",
|
||||
"permission_onboarding_continue_anyway": "Continue anyway",
|
||||
"permission_onboarding_get_started": "Get started",
|
||||
@@ -316,7 +431,9 @@
|
||||
"permission_onboarding_permission_granted": "Permission granted! You are all set.",
|
||||
"permission_onboarding_permission_limited": "Permission limited. To let Immich backup and manage your entire gallery collection, grant photo and video permissions in Settings.",
|
||||
"permission_onboarding_request": "Immich requires permission to view your photos and videos.",
|
||||
"preferences_settings_title": "Preferences",
|
||||
"places": "Llocs",
|
||||
"preferences_settings_subtitle": "Gestiona les preferències de l'aplicació",
|
||||
"preferences_settings_title": "Preferències",
|
||||
"profile_drawer_app_logs": "Logs",
|
||||
"profile_drawer_client_out_of_date_major": "Mobile App is out of date. Please update to the latest major version.",
|
||||
"profile_drawer_client_out_of_date_minor": "Mobile App is out of date. Please update to the latest minor version.",
|
||||
@@ -328,9 +445,44 @@
|
||||
"profile_drawer_settings": "Settings",
|
||||
"profile_drawer_sign_out": "Tanca la sessió",
|
||||
"profile_drawer_trash": "Trash",
|
||||
"recently_added": "Afegit recentment",
|
||||
"recently_added_page_title": "Recently Added",
|
||||
"scaffold_body_error_occurred": "Error occurred",
|
||||
"save": "Desa",
|
||||
"save_to_gallery": "Desa a galeria",
|
||||
"scaffold_body_error_occurred": "S'ha produït un error",
|
||||
"search_albums": "Cerca àlbums",
|
||||
"search_bar_hint": "Search your photos",
|
||||
"search_filter_apply": "Aplicar filtre",
|
||||
"search_filter_camera": "Càmera",
|
||||
"search_filter_camera_make": "Marca",
|
||||
"search_filter_camera_model": "Model",
|
||||
"search_filter_camera_title": "Selecciona el tipus de càmera",
|
||||
"search_filter_contextual": "Cerca per contexte",
|
||||
"search_filter_date": "Data",
|
||||
"search_filter_date_interval": "{start} a {end}",
|
||||
"search_filter_date_title": "Selecciona un rang de dates",
|
||||
"search_filter_description": "Cerca per descripció",
|
||||
"search_filter_display_option_archive": "Arxivat",
|
||||
"search_filter_display_option_favorite": "Favorit",
|
||||
"search_filter_display_option_not_in_album": "No en àlbum",
|
||||
"search_filter_display_options": "Opcions de Visualització",
|
||||
"search_filter_display_options_title": "Opcions de visualització",
|
||||
"search_filter_filename": "Cerca pel nom del fitxer",
|
||||
"search_filter_location": "Ubicació",
|
||||
"search_filter_location_city": "Ciutat",
|
||||
"search_filter_location_country": "País",
|
||||
"search_filter_location_state": "Estat",
|
||||
"search_filter_location_title": "Selecciona l'ubicació",
|
||||
"search_filter_media_type": "Tipus de multimèdia",
|
||||
"search_filter_media_type_all": "Tot",
|
||||
"search_filter_media_type_image": "Imatge",
|
||||
"search_filter_media_type_title": "Selecciona tipus de multimèdia",
|
||||
"search_filter_media_type_video": "Vídeo",
|
||||
"search_filter_people": "Persones",
|
||||
"search_filter_people_hint": "Filtra persones",
|
||||
"search_filter_people_title": "Selecciona persones",
|
||||
"search_no_more_result": "No més resultats",
|
||||
"search_no_result": "No s'han trobat resultats, proveu un terme de cerca o una combinació diferents",
|
||||
"search_page_categories": "Categories",
|
||||
"search_page_favorites": "Preferides",
|
||||
"search_page_motion_photos": "Fotografies animades",
|
||||
@@ -347,6 +499,7 @@
|
||||
"search_page_places": "Llocs",
|
||||
"search_page_recently_added": "Afegit recentment",
|
||||
"search_page_screenshots": "Captures de pantalla",
|
||||
"search_page_search_photos_videos": "Cerca les teves fotos i vídeos",
|
||||
"search_page_selfies": "Autofotos",
|
||||
"search_page_things": "Coses",
|
||||
"search_page_videos": "Videos",
|
||||
@@ -359,6 +512,7 @@
|
||||
"select_additional_user_for_sharing_page_suggestions": "Suggeriments",
|
||||
"select_user_for_sharing_page_err_album": "Error al crear l'àlbum",
|
||||
"select_user_for_sharing_page_share_suggestions": "Suggestions",
|
||||
"server_endpoint": "Endpoint de Servidor",
|
||||
"server_info_box_app_version": "Versió de l'aplicació",
|
||||
"server_info_box_latest_release": "Latest Version",
|
||||
"server_info_box_server_url": "Server URL",
|
||||
@@ -368,6 +522,10 @@
|
||||
"setting_image_viewer_original_title": "Load original image",
|
||||
"setting_image_viewer_preview_subtitle": "Enable to load a medium-resolution image. Disable to either directly load the original or only use the thumbnail.",
|
||||
"setting_image_viewer_preview_title": "Load preview image",
|
||||
"setting_image_viewer_title": "Imatges",
|
||||
"setting_languages_apply": "Aplicar",
|
||||
"setting_languages_subtitle": "Canvia el llenguatge de l'aplicació",
|
||||
"setting_languages_title": "Idiomes",
|
||||
"setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
|
||||
"setting_notifications_notify_hours": "{} hours",
|
||||
"setting_notifications_notify_immediately": "immediately",
|
||||
@@ -382,9 +540,15 @@
|
||||
"setting_notifications_total_progress_title": "Show background backup total progress",
|
||||
"setting_pages_app_bar_settings": "Settings",
|
||||
"settings_require_restart": "Please restart Immich to apply this setting",
|
||||
"setting_video_viewer_looping_subtitle": "Habilita per reproduir automàticament un vídeo al visualitzador de detalls.",
|
||||
"setting_video_viewer_looping_title": "Bucle",
|
||||
"setting_video_viewer_original_video_subtitle": "Quan reproduïu un vídeo des del servidor, reproduïu l'original encara que hi hagi una transcodificació disponible. Pot conduir a l'amortització. Els vídeos disponibles localment es reprodueixen en qualitat original independentment d'aquesta configuració.",
|
||||
"setting_video_viewer_original_video_title": "Força el vídeo original",
|
||||
"setting_video_viewer_title": "Vídeos",
|
||||
"share_add": "Afegeix",
|
||||
"share_add_photos": "Afegeix fotografies",
|
||||
"share_add_title": "Afegeix un títol",
|
||||
"share_assets_selected": "{} seleccionats",
|
||||
"share_create_album": "Crea un àlbum",
|
||||
"shared_album_activities_input_disable": "Comment is disabled",
|
||||
"shared_album_activities_input_hint": "Say something",
|
||||
@@ -398,6 +562,7 @@
|
||||
"shared_album_section_people_owner_label": "Owner",
|
||||
"shared_album_section_people_title": "PEOPLE",
|
||||
"share_dialog_preparing": "Preparing...",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Pujat",
|
||||
"shared_link_app_bar_title": "Shared Links",
|
||||
"shared_link_clipboard_copied_massage": "Copied to clipboard",
|
||||
"shared_link_clipboard_text": "Link: {}\nPassword: {}",
|
||||
@@ -412,13 +577,15 @@
|
||||
"shared_link_edit_description": "Description",
|
||||
"shared_link_edit_description_hint": "Enter the share description",
|
||||
"shared_link_edit_expire_after": "Expire after",
|
||||
"shared_link_edit_expire_after_option_day": "1 day",
|
||||
"shared_link_edit_expire_after_option_days": "{} days",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hour",
|
||||
"shared_link_edit_expire_after_option_hours": "{} hours",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minute",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minutes",
|
||||
"shared_link_edit_expire_after_option_day": "1 dia",
|
||||
"shared_link_edit_expire_after_option_days": "{} dies",
|
||||
"shared_link_edit_expire_after_option_hour": "1 hora",
|
||||
"shared_link_edit_expire_after_option_hours": "{} hores",
|
||||
"shared_link_edit_expire_after_option_minute": "1 minut",
|
||||
"shared_link_edit_expire_after_option_minutes": "{} minuts",
|
||||
"shared_link_edit_expire_after_option_months": "{} mesos",
|
||||
"shared_link_edit_expire_after_option_never": "Never",
|
||||
"shared_link_edit_expire_after_option_year": "any {}",
|
||||
"shared_link_edit_password": "Password",
|
||||
"shared_link_edit_password_hint": "Enter the share password",
|
||||
"shared_link_edit_show_meta": "Show metadata",
|
||||
@@ -426,65 +593,89 @@
|
||||
"shared_link_empty": "You don't have any shared links",
|
||||
"shared_link_error_server_url_fetch": "Cannot fetch the server url",
|
||||
"shared_link_expired": "Expired",
|
||||
"shared_link_expires_day": "Expires in {} day",
|
||||
"shared_link_expires_days": "Expires in {} days",
|
||||
"shared_link_expires_hour": "Expires in {} hour",
|
||||
"shared_link_expires_hours": "Expires in {} hours",
|
||||
"shared_link_expires_minute": "Expires in {} minute",
|
||||
"shared_link_expires_day": "Caduca d'aquí a {} dia",
|
||||
"shared_link_expires_days": "Caduca d'aquí a {} dies",
|
||||
"shared_link_expires_hour": "Caduca d'aquí a {} hora",
|
||||
"shared_link_expires_hours": "Caduca d'aquí a {} hores",
|
||||
"shared_link_expires_minute": "Caduca d'aquí a {} minut",
|
||||
"shared_link_expires_minutes": "Expires in {} minutes",
|
||||
"shared_link_expires_never": "Expires ∞",
|
||||
"shared_link_expires_second": "Expires in {} second",
|
||||
"shared_link_expires_second": "Caduca d'aquí a {} segon",
|
||||
"shared_link_expires_seconds": "Expires in {} seconds",
|
||||
"shared_link_info_chip_download": "Baixa",
|
||||
"shared_link_individual_shared": "Individual compartit",
|
||||
"shared_link_info_chip_download": "Download",
|
||||
"shared_link_info_chip_metadata": "EXIF",
|
||||
"shared_link_info_chip_upload": "Puja",
|
||||
"shared_link_manage_links": "Manage Shared links",
|
||||
"share_done": "Fet",
|
||||
"shared_link_public_album": "Àlbum públic",
|
||||
"shared_links": "Enllaços compartits",
|
||||
"share_done": "Done",
|
||||
"shared_with_me": "Compartit amb mi",
|
||||
"share_invite": "Convida a l'àlbum",
|
||||
"sharing_page_album": "Àlbums compartits",
|
||||
"sharing_page_album": "Shared albums",
|
||||
"sharing_page_description": "Create shared albums to share photos and videos with people in your network.",
|
||||
"sharing_page_empty_list": "EMPTY LIST",
|
||||
"sharing_silver_appbar_create_shared_album": "Crea àlbum compartit",
|
||||
"sharing_silver_appbar_shared_links": "Shared links",
|
||||
"sharing_silver_appbar_share_partner": "Comparteix amb un company",
|
||||
"tab_controller_nav_library": "Bibilioteca",
|
||||
"tab_controller_nav_photos": "Fotos",
|
||||
"start_date": "Data inicial",
|
||||
"sync": "Sincronitzar",
|
||||
"sync_albums": "Sincronitzar àlbums",
|
||||
"sync_albums_manual_subtitle": "Sincronitza tots els vídeos i fotos penjats amb els àlbums de còpia de seguretat seleccionats",
|
||||
"sync_upload_album_setting_subtitle": "Creeu i pugeu les seves fotos i vídeos als àlbums seleccionats a Immich",
|
||||
"tab_controller_nav_library": "Library",
|
||||
"tab_controller_nav_photos": "Fotografies",
|
||||
"tab_controller_nav_search": "Cerca",
|
||||
"tab_controller_nav_sharing": "Compartint",
|
||||
"theme_setting_asset_list_storage_indicator_title": "Show storage indicator on asset tiles",
|
||||
"theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({})",
|
||||
"theme_setting_dark_mode_switch": "Modes fosc",
|
||||
"theme_setting_colorful_interface_subtitle": "Apliqueu color primari a les superfícies de fons.",
|
||||
"theme_setting_colorful_interface_title": "Interfície colorida",
|
||||
"theme_setting_dark_mode_switch": "Dark mode",
|
||||
"theme_setting_image_viewer_quality_subtitle": "Adjust the quality of the detail image viewer",
|
||||
"theme_setting_image_viewer_quality_title": "Image viewer quality",
|
||||
"theme_setting_primary_color_subtitle": "Trieu un color per a les accions i els accents principals.",
|
||||
"theme_setting_primary_color_title": "Color primari",
|
||||
"theme_setting_system_primary_color_title": "Utilitza color de sistema",
|
||||
"theme_setting_system_theme_switch": "Automatic (Follow system setting)",
|
||||
"theme_setting_theme_subtitle": "Choose the app's theme setting",
|
||||
"theme_setting_theme_title": "Tema",
|
||||
"theme_setting_theme_title": "Theme",
|
||||
"theme_setting_three_stage_loading_subtitle": "Three-stage loading might increase the loading performance but causes significantly higher network load",
|
||||
"theme_setting_three_stage_loading_title": "Enable three-stage loading",
|
||||
"translated_text_options": "Options",
|
||||
"trash_page_delete": "Elimina",
|
||||
"trash_page_delete_all": "Elimina-ho tot",
|
||||
"trash_page_empty_trash_btn": "Buida la paperera",
|
||||
"trash": "Paperera",
|
||||
"trash_emptied": "Paperera buidada",
|
||||
"trash_page_delete": "Delete",
|
||||
"trash_page_delete_all": "Delete All",
|
||||
"trash_page_empty_trash_btn": "Empty trash",
|
||||
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
|
||||
"trash_page_empty_trash_dialog_ok": "Ok",
|
||||
"trash_page_info": "Trashed items will be permanently deleted after {} days",
|
||||
"trash_page_no_assets": "No trashed assets",
|
||||
"trash_page_restore": "Recupera",
|
||||
"trash_page_restore_all": "Recupera-ho tot",
|
||||
"trash_page_restore": "Restore",
|
||||
"trash_page_restore_all": "Restore All",
|
||||
"trash_page_select_assets_btn": "Select assets",
|
||||
"trash_page_select_btn": "Select",
|
||||
"trash_page_title": "Trash ({})",
|
||||
"upload_dialog_cancel": "Cancel·la",
|
||||
"upload": "Puja",
|
||||
"upload_dialog_cancel": "Cancel",
|
||||
"upload_dialog_info": "Do you want to backup the selected Asset(s) to the server?",
|
||||
"upload_dialog_ok": "Upload",
|
||||
"upload_dialog_title": "Upload Asset",
|
||||
"uploading": "Pujant",
|
||||
"upload_to_immich": "Puja a Immich ({})",
|
||||
"use_current_connection": "utilitzar la connexió actual",
|
||||
"validate_endpoint_error": "Per favor introdueix un URL vàlid",
|
||||
"version_announcement_overlay_ack": "Acknowledge",
|
||||
"version_announcement_overlay_release_notes": "release notes",
|
||||
"version_announcement_overlay_text_1": "Hi friend, there is a new release of",
|
||||
"version_announcement_overlay_text_2": "please take your time to visit the ",
|
||||
"version_announcement_overlay_text_3": " and ensure your docker-compose and .env setup is up-to-date to prevent any misconfigurations, especially if you use WatchTower or any mechanism that handles updating your server application automatically.",
|
||||
"version_announcement_overlay_title": "New Server Version Available \uD83C\uDF89",
|
||||
"videos": "Vídeos",
|
||||
"viewer_remove_from_stack": "Remove from Stack",
|
||||
"viewer_stack_use_as_main_asset": "Use as Main Asset",
|
||||
"viewer_unstack": "Un-Stack"
|
||||
}
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "Nom WiFi",
|
||||
"your_wifi_name": "El teu nom WiFi"
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "स्टैक रद्द करें",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "zapisi",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@
|
||||
"backup_info_card_assets": "assets",
|
||||
"backup_manual_cancelled": "Cancelled",
|
||||
"backup_manual_failed": "Failed",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after some time",
|
||||
"backup_manual_in_progress": "Upload already in progress. Try after sometime",
|
||||
"backup_manual_success": "Success",
|
||||
"backup_manual_title": "Upload status",
|
||||
"backup_options_page_title": "Backup options",
|
||||
@@ -678,4 +678,4 @@
|
||||
"viewer_unstack": "Un-Stack",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
}
|
||||
}
|
||||
@@ -7,10 +7,10 @@
|
||||
"action_common_select": "Вибрати",
|
||||
"action_common_update": "Оновити",
|
||||
"add_a_name": "Додати ім'я",
|
||||
"add_endpoint": "Add endpoint",
|
||||
"add_endpoint": "Додати кінцеву точку",
|
||||
"add_to_album_bottom_sheet_added": "Додано до {album}",
|
||||
"add_to_album_bottom_sheet_already_exists": "Вже є в {album}",
|
||||
"advanced_settings_log_level_title": "Log level: {}",
|
||||
"advanced_settings_log_level_title": "Рівень логування: {}",
|
||||
"advanced_settings_prefer_remote_subtitle": "Деякі пристрої вельми повільно завантажують мініатюри із елементів на пристрої. Активуйте для завантаження віддалених мініатюр натомість.",
|
||||
"advanced_settings_prefer_remote_title": "Перевага віддаленим зображенням",
|
||||
"advanced_settings_proxy_headers_subtitle": "Визначте заголовки проксі-сервера, які Immich має надсилати з кожним мережевим запитом.",
|
||||
@@ -66,12 +66,12 @@
|
||||
"assets_restored_successfully": "{} елемент(и) успішно відновлено",
|
||||
"assets_trashed": "{} елемент(и) поміщено до кошика",
|
||||
"assets_trashed_from_server": "{} елемент(и) поміщено до кошика на сервері Immich",
|
||||
"asset_viewer_settings_subtitle": "Manage your gallery viewer settings",
|
||||
"asset_viewer_settings_subtitle": "Керуйте налаштуваннями переглядача галереї",
|
||||
"asset_viewer_settings_title": "Переглядач зображень",
|
||||
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
|
||||
"automatic_endpoint_switching_title": "Automatic URL switching",
|
||||
"background_location_permission": "Background location permission",
|
||||
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
|
||||
"automatic_endpoint_switching_subtitle": "Підключатися локально через зазначену Wi-Fi мережу, коли це можливо, і використовувати альтернативні з'єднання в інших випадках",
|
||||
"automatic_endpoint_switching_title": "Автоматичне перемикання URL",
|
||||
"background_location_permission": "Дозвіл до місцезнаходження у фоні",
|
||||
"background_location_permission_content": "Щоб перемикати мережі у фоновому режимі, Immich має *завжди* мати доступ до точної геолокації, щоб зчитувати назву Wi-Fi мережі",
|
||||
"backup_album_selection_page_albums_device": "Альбоми на пристрої ({})",
|
||||
"backup_album_selection_page_albums_tap": "Торкніться, щоб включити,\nторкніться двічі, щоб виключити",
|
||||
"backup_album_selection_page_assets_scatter": "Елементи можуть належати до кількох альбомів водночас. Таким чином, альбоми можуть бути включені або вилучені під час резервного копіювання.",
|
||||
@@ -119,7 +119,7 @@
|
||||
"backup_controller_page_remainder_sub": "Решта знімків та відео для резервного копіювання з вибраних",
|
||||
"backup_controller_page_select": "Вибрати",
|
||||
"backup_controller_page_server_storage": "Сховище сервера",
|
||||
"backup_controller_page_start_backup": "Почати Резервне Копіювання",
|
||||
"backup_controller_page_start_backup": "Почати резервне копіювання",
|
||||
"backup_controller_page_status_off": "Автоматичне резервне копіювання в активному режимі вимкнено",
|
||||
"backup_controller_page_status_on": "Автоматичне резервне копіювання в активному режимі ввімкнено",
|
||||
"backup_controller_page_storage_format": "{} із {} спожито",
|
||||
@@ -137,7 +137,7 @@
|
||||
"backup_manual_success": "Успіх",
|
||||
"backup_manual_title": "Стан завантаження",
|
||||
"backup_options_page_title": "Резервне копіювання",
|
||||
"backup_setting_subtitle": "Manage background and foreground upload settings",
|
||||
"backup_setting_subtitle": "Управління налаштуваннями завантаження у фоновому та активному режимі",
|
||||
"cache_settings_album_thumbnails": "Мініатюри сторінок бібліотеки ({} елементи)",
|
||||
"cache_settings_clear_cache_button": "Очистити кеш",
|
||||
"cache_settings_clear_cache_button_title": "Очищає кеш програми. Це суттєво знизить продуктивність програми, доки кеш не буде перебудовано.",
|
||||
@@ -156,17 +156,17 @@
|
||||
"cache_settings_tile_subtitle": "Керування поведінкою локального сховища",
|
||||
"cache_settings_tile_title": "Локальне сховище",
|
||||
"cache_settings_title": "Налаштування кешування",
|
||||
"cancel": "Cancel",
|
||||
"canceled": "Canceled",
|
||||
"change_display_order": "Change display order",
|
||||
"cancel": "Скасувати",
|
||||
"canceled": "Скасовано",
|
||||
"change_display_order": "Змінити порядок відображення",
|
||||
"change_password_form_confirm_password": "Підтвердити пароль",
|
||||
"change_password_form_description": "Привіт {name},\n\nВи або або вперше входите у систему, або було зроблено запит на зміну вашого пароля. \nВведіть ваш новий пароль.",
|
||||
"change_password_form_new_password": "Новий пароль",
|
||||
"change_password_form_password_mismatch": "Паролі не співпадають",
|
||||
"change_password_form_reenter_new_password": "Повторіть новий пароль",
|
||||
"check_corrupt_asset_backup": "Check for corrupt asset backups",
|
||||
"check_corrupt_asset_backup_button": "Perform check",
|
||||
"check_corrupt_asset_backup_description": "Run this check only over Wi-Fi and once all assets have been backed-up. The procedure might take a few minutes.",
|
||||
"check_corrupt_asset_backup": "Перевірити на пошкоджені резервні копії активів",
|
||||
"check_corrupt_asset_backup_button": "Виконати перевірку",
|
||||
"check_corrupt_asset_backup_description": "Запустіть цю перевірку лише через Wi-Fi та після того, як всі активи будуть завантажені на сервер. Процес може зайняти кілька хвилин.",
|
||||
"client_cert_dialog_msg_confirm": "OK",
|
||||
"client_cert_enter_password": "Введіть пароль",
|
||||
"client_cert_import": "Імпорт",
|
||||
@@ -181,7 +181,7 @@
|
||||
"common_create_new_album": "Створити новий альбом",
|
||||
"common_server_error": "Будь ласка, перевірте з'єднання, переконайтеся, що сервер доступний і версія програми/сервера сумісна.",
|
||||
"common_shared": "Спільні",
|
||||
"completed": "Completed",
|
||||
"completed": "Завершено",
|
||||
"contextual_search": "Схід сонця на пляжі",
|
||||
"control_bottom_app_bar_add_to_album": "Додати у альбом",
|
||||
"control_bottom_app_bar_album_info": "{} елементи",
|
||||
@@ -199,7 +199,7 @@
|
||||
"control_bottom_app_bar_share": "Поділитися",
|
||||
"control_bottom_app_bar_share_to": "Поділитися",
|
||||
"control_bottom_app_bar_stack": "Стек",
|
||||
"control_bottom_app_bar_trash_from_immich": "Перемістити до кошика",
|
||||
"control_bottom_app_bar_trash_from_immich": "До кошика",
|
||||
"control_bottom_app_bar_unarchive": "Розархівувати",
|
||||
"control_bottom_app_bar_unfavorite": "Видалити з улюблених",
|
||||
"control_bottom_app_bar_upload": "Завантажити",
|
||||
@@ -213,7 +213,7 @@
|
||||
"crop": "Кадрувати",
|
||||
"curated_location_page_title": "Місця",
|
||||
"curated_object_page_title": "Речі",
|
||||
"current_server_address": "Current server address",
|
||||
"current_server_address": "Поточна адреса сервера",
|
||||
"daily_title_text_date": "E, MMM dd",
|
||||
"daily_title_text_date_year": "E, MMM dd, yyyy",
|
||||
"date_format": "E, LLL d, y • h:mm a",
|
||||
@@ -231,7 +231,7 @@
|
||||
"delete_shared_link_dialog_title": "Видалити спільне посилання",
|
||||
"description_input_hint_text": "Додати опис...",
|
||||
"description_input_submit_error": "Помилка оновлення опису, перевірте логи для подробиць",
|
||||
"description_search": "Hiking day in Sapa",
|
||||
"description_search": "День походу в Сапі",
|
||||
"download_canceled": "Завантаження скасовано",
|
||||
"download_complete": "Завантаження закінчено",
|
||||
"download_enqueue": "Завантаження поставлено в чергу",
|
||||
@@ -248,14 +248,14 @@
|
||||
"download_sucess_android": "Медіафайли завантажено в DCIM/Immich",
|
||||
"download_waiting_to_retry": "Очікування повторної спроби",
|
||||
"edit_date_time_dialog_date_time": "Дата і час",
|
||||
"edit_date_time_dialog_search_timezone": "Search timezone...",
|
||||
"edit_date_time_dialog_search_timezone": "Пошук часової зони...",
|
||||
"edit_date_time_dialog_timezone": "Часовий пояс",
|
||||
"edit_image_title": "Редагувати",
|
||||
"edit_location_dialog_title": "Місцезнаходження",
|
||||
"end_date": "End date",
|
||||
"enqueued": "Enqueued",
|
||||
"enter_wifi_name": "Enter WiFi name",
|
||||
"error_change_sort_album": "Failed to change album sort order",
|
||||
"end_date": "Дата завершення",
|
||||
"enqueued": "У черзі",
|
||||
"enter_wifi_name": "Введіть назву WiFi",
|
||||
"error_change_sort_album": "Не вдалося змінити порядок сортування альбому",
|
||||
"error_saving_image": "Помилка: {}",
|
||||
"exif_bottom_sheet_description": "Додати опис...",
|
||||
"exif_bottom_sheet_details": "ПОДРОБИЦІ",
|
||||
@@ -267,16 +267,16 @@
|
||||
"experimental_settings_new_asset_list_title": "Експериментальний макет знімків",
|
||||
"experimental_settings_subtitle": "На власний ризик!",
|
||||
"experimental_settings_title": "Експериментальні",
|
||||
"external_network": "External network",
|
||||
"external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
|
||||
"failed": "Failed",
|
||||
"external_network": "Зовнішня мережа",
|
||||
"external_network_sheet_info": "Коли ви не підключені до переважної мережі WiFi, додаток підключатиметься до сервера через першу з наведених нижче URL-адрес, яку він зможе досягти, починаючи зверху вниз",
|
||||
"failed": "Не вдалося",
|
||||
"favorites": "Вибране",
|
||||
"favorites_page_no_favorites": "Немає улюблених елементів",
|
||||
"favorites_page_title": "Улюблені",
|
||||
"filename_search": "Ім'я або розширення файлу",
|
||||
"filter": "Фільтр",
|
||||
"get_wifiname_error": "Could not get Wi-Fi name. Make sure you have granted the necessary permissions and are connected to a Wi-Fi network",
|
||||
"grant_permission": "Grant permission",
|
||||
"get_wifiname_error": "Не вдалося отримати назву Wi-Fi. Переконайтеся, що ви надали необхідні дозволи та підключені до Wi-Fi мережі",
|
||||
"grant_permission": "Надати дозвіл",
|
||||
"haptic_feedback_switch": "Увімкнути тактильну віддачу",
|
||||
"haptic_feedback_title": "Тактильна віддача",
|
||||
"header_settings_add_header_tip": "Додати заголовок",
|
||||
@@ -322,10 +322,10 @@
|
||||
"library_page_sort_most_oldest_photo": "Найдавніші фото",
|
||||
"library_page_sort_most_recent_photo": "Найновіші фото",
|
||||
"library_page_sort_title": "Назва альбому",
|
||||
"local_network": "Local network",
|
||||
"local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
|
||||
"location_permission": "Location permission",
|
||||
"location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
|
||||
"local_network": "Локальна мережа",
|
||||
"local_network_sheet_info": "Додаток підключатиметься до сервера через цей URL, коли використовується вказана Wi-Fi мережа",
|
||||
"location_permission": "Дозвіл до місцезнаходження",
|
||||
"location_permission_content": "Щоб перемикати мережі у фоновому режимі, Immich має *завжди* мати доступ до точної геолокації, щоб зчитувати назву Wi-Fi мережі",
|
||||
"location_picker_choose_on_map": "Обрати на мапі",
|
||||
"location_picker_latitude": "Широта",
|
||||
"location_picker_latitude_error": "Вкажіть дійсну широту",
|
||||
@@ -395,8 +395,8 @@
|
||||
"multiselect_grid_edit_date_time_err_read_only": "Неможливо редагувати дату елементів лише для читання, пропущено",
|
||||
"multiselect_grid_edit_gps_err_read_only": "Неможливо редагувати місцезнаходження елементів лише для читання, пропущено",
|
||||
"my_albums": "Мої альбоми",
|
||||
"networking_settings": "Networking",
|
||||
"networking_subtitle": "Manage the server endpoint settings",
|
||||
"networking_settings": "Мережеві налаштування",
|
||||
"networking_subtitle": "Керування налаштуваннями кінцевої точки сервера",
|
||||
"no_assets_to_show": "Елементи відсутні",
|
||||
"no_name": "Без імені",
|
||||
"notification_permission_dialog_cancel": "Скасувати",
|
||||
@@ -405,7 +405,7 @@
|
||||
"notification_permission_list_tile_content": "Надати дозвіл для сповіщень.",
|
||||
"notification_permission_list_tile_enable_button": "Увімкнути Сповіщення",
|
||||
"notification_permission_list_tile_title": "Дозвіл на Сповіщення",
|
||||
"not_selected": "Not selected",
|
||||
"not_selected": "Не вибрано",
|
||||
"on_this_device": "На цьому пристрої",
|
||||
"partner_list_user_photos": "Фотографії {user}",
|
||||
"partner_list_view_all": "Переглянути усі",
|
||||
@@ -419,7 +419,7 @@
|
||||
"partner_page_stop_sharing_title": "Припинити надання ваших знімків?",
|
||||
"partner_page_title": "Партнер",
|
||||
"partners": "\nПартнери",
|
||||
"paused": "Paused",
|
||||
"paused": "Призупинено",
|
||||
"people": "Люди",
|
||||
"permission_onboarding_back": "Назад",
|
||||
"permission_onboarding_continue_anyway": "Все одно продовжити",
|
||||
@@ -432,7 +432,7 @@
|
||||
"permission_onboarding_permission_limited": "Обмежений доступ. Аби дозволити Immich резервне копіювання та керування вашою галереєю, надайте доступ до знімків та відео у Налаштуваннях",
|
||||
"permission_onboarding_request": "Immich потребує доступу до ваших знімків та відео.",
|
||||
"places": "Місця",
|
||||
"preferences_settings_subtitle": "Manage the app's preferences",
|
||||
"preferences_settings_subtitle": "Керування налаштуваннями додатку",
|
||||
"preferences_settings_title": "Параметри",
|
||||
"profile_drawer_app_logs": "Журнал",
|
||||
"profile_drawer_client_out_of_date_major": "Мобільний додаток застарів. Будь ласка, оновіть до останньої мажорної версії.",
|
||||
@@ -447,7 +447,7 @@
|
||||
"profile_drawer_trash": "Кошик",
|
||||
"recently_added": "Нещодавно додані",
|
||||
"recently_added_page_title": "Нещодавні",
|
||||
"save": "Save",
|
||||
"save": "Зберегти",
|
||||
"save_to_gallery": "Зберегти в галерею",
|
||||
"scaffold_body_error_occurred": "Виникла помилка",
|
||||
"search_albums": "Пошук альбому",
|
||||
@@ -457,17 +457,17 @@
|
||||
"search_filter_camera_make": "Виробник",
|
||||
"search_filter_camera_model": "Модель",
|
||||
"search_filter_camera_title": "Виберіть тип камери",
|
||||
"search_filter_contextual": "Search by context",
|
||||
"search_filter_contextual": "Пошук за контекстом",
|
||||
"search_filter_date": "Дата",
|
||||
"search_filter_date_interval": "{start} до {end}",
|
||||
"search_filter_date_title": "Виберіть діапазон дат",
|
||||
"search_filter_description": "Search by description",
|
||||
"search_filter_description": "Пошук за описом",
|
||||
"search_filter_display_option_archive": "Архів",
|
||||
"search_filter_display_option_favorite": "Улюблені",
|
||||
"search_filter_display_option_not_in_album": "Не в альбомі",
|
||||
"search_filter_display_options": "Параметри відображення",
|
||||
"search_filter_display_options_title": "Параметри відображення",
|
||||
"search_filter_filename": "Search by file name",
|
||||
"search_filter_filename": "Пошук за назвою файлу",
|
||||
"search_filter_location": "Місцезнаходження",
|
||||
"search_filter_location_city": "Місто",
|
||||
"search_filter_location_country": "Країна",
|
||||
@@ -479,10 +479,10 @@
|
||||
"search_filter_media_type_title": "Виберіть тип носія",
|
||||
"search_filter_media_type_video": "Відео",
|
||||
"search_filter_people": "Люди",
|
||||
"search_filter_people_hint": "Filter people",
|
||||
"search_filter_people_hint": "Фільтрувати за людьми",
|
||||
"search_filter_people_title": "Виберіть людей",
|
||||
"search_no_more_result": "No more results",
|
||||
"search_no_result": "No results found, try a different search term or combination",
|
||||
"search_no_more_result": "Більше результатів немає",
|
||||
"search_no_result": "Результатів не знайдено, спробуйте інший запит або комбінацію",
|
||||
"search_page_categories": "Категорії",
|
||||
"search_page_favorites": "Улюблені",
|
||||
"search_page_motion_photos": "Рухомі знімки",
|
||||
@@ -499,7 +499,7 @@
|
||||
"search_page_places": "Місця",
|
||||
"search_page_recently_added": "Нещодавно додані",
|
||||
"search_page_screenshots": "Знімки екрану",
|
||||
"search_page_search_photos_videos": "Search for your photos and videos",
|
||||
"search_page_search_photos_videos": "Шукайте ваші фото та відео",
|
||||
"search_page_selfies": "Селфі",
|
||||
"search_page_things": "Речі",
|
||||
"search_page_videos": "Відео",
|
||||
@@ -512,7 +512,7 @@
|
||||
"select_additional_user_for_sharing_page_suggestions": "Пропозиції",
|
||||
"select_user_for_sharing_page_err_album": "Не вдалося створити альбом",
|
||||
"select_user_for_sharing_page_share_suggestions": "Пропозиції",
|
||||
"server_endpoint": "Server Endpoint",
|
||||
"server_endpoint": "Кінцева точка сервера",
|
||||
"server_info_box_app_version": "Версія додатка",
|
||||
"server_info_box_latest_release": "Остання версія",
|
||||
"server_info_box_server_url": "URL сервера",
|
||||
@@ -524,7 +524,7 @@
|
||||
"setting_image_viewer_preview_title": "Завантажувати зображення попереднього перегляду",
|
||||
"setting_image_viewer_title": "Зображення",
|
||||
"setting_languages_apply": "Застосувати",
|
||||
"setting_languages_subtitle": "Change the app's language",
|
||||
"setting_languages_subtitle": "Змінити мову додатку",
|
||||
"setting_languages_title": "Мова",
|
||||
"setting_notifications_notify_failures_grace_period": "Повідомити про помилки фонового резервного копіювання: {}",
|
||||
"setting_notifications_notify_hours": "{} годин",
|
||||
@@ -542,8 +542,8 @@
|
||||
"settings_require_restart": "Перезавантажте програму для застосування цього налаштування",
|
||||
"setting_video_viewer_looping_subtitle": "Увімкнути циклічне відтворення відео",
|
||||
"setting_video_viewer_looping_title": "Циклічне відтворення",
|
||||
"setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
|
||||
"setting_video_viewer_original_video_title": "Force original video",
|
||||
"setting_video_viewer_original_video_subtitle": "При трансляції відео з сервера відтворювати оригінал, навіть якщо доступна транскодування. Може призвести до буферизації. Відео, доступні локально, відтворюються в оригінальній якості, незважаючи на це налаштування.",
|
||||
"setting_video_viewer_original_video_title": "Примусово відтворювати оригінальне відео",
|
||||
"setting_video_viewer_title": "Відео",
|
||||
"share_add": "Додати",
|
||||
"share_add_photos": "Додати знімки",
|
||||
@@ -562,7 +562,7 @@
|
||||
"shared_album_section_people_owner_label": "Власник",
|
||||
"shared_album_section_people_title": "ЛЮДИ",
|
||||
"share_dialog_preparing": "Підготовка...",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Uploaded",
|
||||
"shared_intent_upload_button_progress_text": "{} / {} Завантажено",
|
||||
"shared_link_app_bar_title": "Спільні посилання",
|
||||
"shared_link_clipboard_copied_massage": "Скопійовано в буфер обміну",
|
||||
"shared_link_clipboard_text": "Посилання: {}\nПароль: {}",
|
||||
@@ -618,7 +618,7 @@
|
||||
"sharing_silver_appbar_create_shared_album": "Створити спільний альбом",
|
||||
"sharing_silver_appbar_shared_links": "Спільні посилання",
|
||||
"sharing_silver_appbar_share_partner": "Поділитися з партнером",
|
||||
"start_date": "Start date",
|
||||
"start_date": "Дата початку",
|
||||
"sync": "Синхронізувати",
|
||||
"sync_albums": "Синхронізувати альбоми",
|
||||
"sync_albums_manual_subtitle": "Синхронізувати всі завантажені фото та відео у вибрані альбоми для резервного копіювання",
|
||||
@@ -657,15 +657,15 @@
|
||||
"trash_page_select_assets_btn": "Вибрані елементи",
|
||||
"trash_page_select_btn": "Вибрати",
|
||||
"trash_page_title": "Кошик ({})",
|
||||
"upload": "Upload",
|
||||
"upload": "Завантажити",
|
||||
"upload_dialog_cancel": "Скасувати",
|
||||
"upload_dialog_info": "Бажаєте створити резервну копію вибраних елементів на сервері?",
|
||||
"upload_dialog_ok": "Завантажити",
|
||||
"upload_dialog_title": "Завантажити Елементи",
|
||||
"uploading": "Uploading",
|
||||
"upload_to_immich": "Upload to Immich ({})",
|
||||
"use_current_connection": "use current connection",
|
||||
"validate_endpoint_error": "Please enter a valid URL",
|
||||
"uploading": "Завантаження",
|
||||
"upload_to_immich": "Завантажити в Immich ({})",
|
||||
"use_current_connection": "використовувати поточне підключення",
|
||||
"validate_endpoint_error": "Будь ласка, введіть дійсну URL-адресу",
|
||||
"version_announcement_overlay_ack": "Прийняти",
|
||||
"version_announcement_overlay_release_notes": "примітки до випуску",
|
||||
"version_announcement_overlay_text_1": "Вітаємо, є новий випуск ",
|
||||
@@ -676,6 +676,6 @@
|
||||
"viewer_remove_from_stack": "Видалити зі стеку",
|
||||
"viewer_stack_use_as_main_asset": "Використовувати як основний елементи",
|
||||
"viewer_unstack": "Розібрати стек",
|
||||
"wifi_name": "WiFi Name",
|
||||
"your_wifi_name": "Your WiFi name"
|
||||
"wifi_name": "Назва WiFi",
|
||||
"your_wifi_name": "Ваша назва WiFi"
|
||||
}
|
||||
@@ -19,7 +19,7 @@ platform :ios do
|
||||
desc "iOS Release"
|
||||
lane :release do
|
||||
increment_version_number(
|
||||
version_number: "1.128.0"
|
||||
version_number: "1.129.0"
|
||||
)
|
||||
increment_build_number(
|
||||
build_number: latest_testflight_build_number + 1,
|
||||
|
||||
@@ -5,7 +5,7 @@ const Map<String, Locale> locales = {
|
||||
'English (en_US)': Locale('en', 'US'),
|
||||
// Additional locales
|
||||
'Arabic (ar_JO)': Locale('ar', 'JO'),
|
||||
'Catalan (ca_CA)': Locale('ca', 'CA'),
|
||||
'Catalan (ca)': Locale('ca'),
|
||||
'Chinese (zh_CN)': Locale('zh', 'CN'),
|
||||
'Chinese Simplified (zh_Hans)': Locale('zh', 'Hans'),
|
||||
'Chinese TW (zh_TW)': Locale('zh', 'TW'),
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:immich_mobile/constants/constants.dart';
|
||||
import 'package:immich_mobile/domain/interfaces/log.interface.dart';
|
||||
import 'package:immich_mobile/domain/interfaces/store.interface.dart';
|
||||
@@ -91,12 +92,13 @@ class LogService {
|
||||
}
|
||||
|
||||
/// Flush pending log messages to persistent storage
|
||||
Future<void> flush() async {
|
||||
void flush() {
|
||||
if (_flushTimer == null) {
|
||||
return;
|
||||
}
|
||||
_flushTimer!.cancel();
|
||||
await _flushBufferToDatabase();
|
||||
// TODO: Rename enable this after moving to sqlite - #16504
|
||||
// await _flushBufferToDatabase();
|
||||
}
|
||||
|
||||
Future<void> dispose() {
|
||||
@@ -106,6 +108,10 @@ class LogService {
|
||||
}
|
||||
|
||||
void _writeLogToDatabase(LogRecord r) {
|
||||
if (kDebugMode) {
|
||||
debugPrint('[${r.level.name}] [${r.time}] ${r.message}');
|
||||
}
|
||||
|
||||
final record = LogMessage(
|
||||
message: r.message,
|
||||
level: r.level.toLogLevel(),
|
||||
|
||||
@@ -17,6 +17,7 @@ import 'package:immich_mobile/providers/server_info.provider.dart';
|
||||
import 'package:immich_mobile/providers/tab.provider.dart';
|
||||
import 'package:immich_mobile/providers/websocket.provider.dart';
|
||||
import 'package:immich_mobile/services/background.service.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
enum AppLifeCycleEnum {
|
||||
@@ -114,11 +115,13 @@ class AppLifeCycleNotifier extends StateNotifier<AppLifeCycleEnum> {
|
||||
_ref.read(websocketProvider.notifier).disconnect();
|
||||
}
|
||||
|
||||
unawaited(LogService.I.flush());
|
||||
LogService.I.flush();
|
||||
}
|
||||
|
||||
void handleAppDetached() {
|
||||
Future<void> handleAppDetached() async {
|
||||
state = AppLifeCycleEnum.detached;
|
||||
LogService.I.flush();
|
||||
await Isar.getInstance()?.close();
|
||||
// no guarantee this is called at all
|
||||
_ref.read(manualUploadProvider.notifier).cancelBackup();
|
||||
}
|
||||
|
||||
2
mobile/openapi/README.md
generated
2
mobile/openapi/README.md
generated
@@ -3,7 +3,7 @@ Immich API
|
||||
|
||||
This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.128.0
|
||||
- API version: 1.129.0
|
||||
- Generator version: 7.8.0
|
||||
- Build package: org.openapitools.codegen.languages.DartClientCodegen
|
||||
|
||||
|
||||
@@ -394,10 +394,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: easy_localization
|
||||
sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201
|
||||
sha256: "0f5239c7b8ab06c66440cfb0e9aa4b4640429c6668d5a42fe389c5de42220b12"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.7"
|
||||
version: "3.0.7+1"
|
||||
easy_logger:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -2,7 +2,7 @@ name: immich_mobile
|
||||
description: Immich - selfhosted backup media file on mobile phone
|
||||
|
||||
publish_to: 'none'
|
||||
version: 1.128.0+186
|
||||
version: 1.129.0+187
|
||||
|
||||
environment:
|
||||
sdk: '>=3.3.0 <4.0.0'
|
||||
@@ -34,7 +34,7 @@ dependencies:
|
||||
url_launcher: ^6.2.4
|
||||
http: ^1.1.0
|
||||
cancellation_token_http: ^2.0.0
|
||||
easy_localization: ^3.0.3
|
||||
easy_localization: ^3.0.7+1
|
||||
share_plus: ^10.0.0
|
||||
flutter_displaymode: ^0.6.0
|
||||
scrollable_positioned_list: ^0.3.8
|
||||
|
||||
@@ -7655,7 +7655,7 @@
|
||||
"info": {
|
||||
"title": "Immich",
|
||||
"description": "Immich API",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"contact": {}
|
||||
},
|
||||
"tags": [],
|
||||
|
||||
4
open-api/typescript-sdk/package-lock.json
generated
4
open-api/typescript-sdk/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"@oazapfts/runtime": "^1.0.2"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"description": "Auto-generated TypeScript SDK for the Immich API",
|
||||
"type": "module",
|
||||
"main": "./build/index.js",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Immich
|
||||
* 1.128.0
|
||||
* 1.129.0
|
||||
* DO NOT MODIFY - This file has been generated using oazapfts.
|
||||
* See https://www.npmjs.com/package/oazapfts
|
||||
*/
|
||||
|
||||
4
server/package-lock.json
generated
4
server/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "immich",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "immich",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"@nestjs/bullmq": "^11.0.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "immich",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"description": "",
|
||||
"author": "",
|
||||
"private": true,
|
||||
|
||||
@@ -10,7 +10,7 @@ export class MoveEntity {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id!: string;
|
||||
|
||||
@Column({ type: 'varchar' })
|
||||
@Column({ type: 'uuid' })
|
||||
entityId!: string;
|
||||
|
||||
@Column({ type: 'varchar' })
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||
|
||||
export class MoveHistoryUuidEntityId1741179334403 implements MigrationInterface {
|
||||
name = 'MoveHistoryUuidEntityId1741179334403';
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "move_history" ALTER COLUMN "entityId" TYPE uuid USING "entityId"::uuid;`);
|
||||
await queryRunner.query(`delete from "move_history"
|
||||
where
|
||||
"move_history"."entityId" not in (
|
||||
select
|
||||
"id"
|
||||
from
|
||||
"assets"
|
||||
where
|
||||
"assets"."id" = "move_history"."entityId"
|
||||
)
|
||||
and "move_history"."pathType" = 'original'
|
||||
`)
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "move_history" ALTER COLUMN "entityId" TYPE character varying`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,3 +15,22 @@ where
|
||||
"id" = $1
|
||||
returning
|
||||
*
|
||||
|
||||
-- MoveRepository.cleanMoveHistory
|
||||
delete from "move_history"
|
||||
where
|
||||
"move_history"."entityId" not in (
|
||||
select
|
||||
"id"
|
||||
from
|
||||
"assets"
|
||||
where
|
||||
"assets"."id" = "move_history"."entityId"
|
||||
)
|
||||
and "move_history"."pathType" = 'original'
|
||||
|
||||
-- MoveRepository.cleanMoveHistorySingle
|
||||
delete from "move_history"
|
||||
where
|
||||
"move_history"."pathType" = 'original'
|
||||
and "entityId" = $1
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { Insertable, Kysely, Updateable } from 'kysely';
|
||||
import { Insertable, Kysely, sql, Updateable } from 'kysely';
|
||||
import { InjectKysely } from 'nestjs-kysely';
|
||||
import { DB, MoveHistory } from 'src/db';
|
||||
import { DummyValue, GenerateSql } from 'src/decorators';
|
||||
import { MoveEntity } from 'src/entities/move.entity';
|
||||
import { PathType } from 'src/enum';
|
||||
import { AssetPathType, PathType } from 'src/enum';
|
||||
|
||||
export type MoveCreate = Pick<MoveEntity, 'oldPath' | 'newPath' | 'entityId' | 'pathType'> & Partial<MoveEntity>;
|
||||
|
||||
@@ -47,4 +47,28 @@ export class MoveRepository {
|
||||
.returningAll()
|
||||
.executeTakeFirstOrThrow() as unknown as Promise<MoveEntity>;
|
||||
}
|
||||
|
||||
@GenerateSql()
|
||||
async cleanMoveHistory(): Promise<void> {
|
||||
await this.db
|
||||
.deleteFrom('move_history')
|
||||
.where((eb) =>
|
||||
eb(
|
||||
'move_history.entityId',
|
||||
'not in',
|
||||
eb.selectFrom('assets').select('id').whereRef('assets.id', '=', 'move_history.entityId'),
|
||||
),
|
||||
)
|
||||
.where('move_history.pathType', '=', sql.lit(AssetPathType.ORIGINAL))
|
||||
.execute();
|
||||
}
|
||||
|
||||
@GenerateSql()
|
||||
async cleanMoveHistorySingle(assetId: string): Promise<void> {
|
||||
await this.db
|
||||
.deleteFrom('move_history')
|
||||
.where('move_history.pathType', '=', sql.lit(AssetPathType.ORIGINAL))
|
||||
.where('entityId', '=', assetId)
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,6 +152,7 @@ export class StorageTemplateService extends BaseService {
|
||||
this.logger.log('Storage template migration disabled, skipping');
|
||||
return JobStatus.SKIPPED;
|
||||
}
|
||||
await this.moveRepository.cleanMoveHistory();
|
||||
const assetPagination = usePagination(JOBS_ASSET_PAGINATION_SIZE, (pagination) =>
|
||||
this.assetRepository.getAll(pagination, { withExif: true, withArchived: true }),
|
||||
);
|
||||
@@ -175,6 +176,12 @@ export class StorageTemplateService extends BaseService {
|
||||
return JobStatus.SUCCESS;
|
||||
}
|
||||
|
||||
@OnEvent({ name: 'asset.delete' })
|
||||
async handleMoveHistoryCleanup({ assetId }: ArgOf<'asset.delete'>) {
|
||||
this.logger.debug(`Cleaning up move history for asset ${assetId}`);
|
||||
await this.moveRepository.cleanMoveHistorySingle(assetId);
|
||||
}
|
||||
|
||||
async moveAsset(asset: AssetEntity, metadata: MoveAssetMetadata) {
|
||||
if (asset.isExternal || StorageCore.isAndroidMotionPath(asset.originalPath)) {
|
||||
// External assets are not affected by storage template
|
||||
|
||||
@@ -8,5 +8,7 @@ export const newMoveRepositoryMock = (): Mocked<RepositoryInterface<MoveReposito
|
||||
getByEntity: vitest.fn(),
|
||||
update: vitest.fn(),
|
||||
delete: vitest.fn(),
|
||||
cleanMoveHistory: vitest.fn(),
|
||||
cleanMoveHistorySingle: vitest.fn(),
|
||||
};
|
||||
};
|
||||
|
||||
6
web/package-lock.json
generated
6
web/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "immich-web",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "immich-web",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"@formatjs/icu-messageformat-parser": "^2.9.8",
|
||||
@@ -80,7 +80,7 @@
|
||||
},
|
||||
"../open-api/typescript-sdk": {
|
||||
"name": "@immich/sdk",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"dependencies": {
|
||||
"@oazapfts/runtime": "^1.0.2"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "immich-web",
|
||||
"version": "1.128.0",
|
||||
"version": "1.129.0",
|
||||
"license": "GNU Affero General Public License version 3",
|
||||
"scripts": {
|
||||
"dev": "vite dev --host 0.0.0.0 --port 3000",
|
||||
|
||||
@@ -423,6 +423,12 @@ export class AssetStore {
|
||||
this.setOptions(options);
|
||||
return;
|
||||
}
|
||||
|
||||
// Make sure to re-initialize if the tagId changes
|
||||
if (this.options.tagId === options.tagId) {
|
||||
this.setOptions(options);
|
||||
return;
|
||||
}
|
||||
// TODO: don't call updateObjects frequently after
|
||||
// init - cancelation of the initialize tasks isn't
|
||||
// performed right now, and will cause issues if
|
||||
|
||||
Reference in New Issue
Block a user