Merge PR #2726: LR-BEHAV-LOCALIZE: panel layout toasts, face recognition prompts and the second window title are translated

locales it/ka/ru/vi/zh-hans/zh-hant: union of keys (side already on main kept where both set a key)
docs/parity-checklist.md: header keeps newer date, revision rows union
This commit is contained in:
aiongg
2026-10-31 02:07:51 +00:00
41 changed files with 296 additions and 46 deletions
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Soubor {name} se nepodařilo přečíst: {e}",
"Added {n} photo{}": "Přidáno fotografií: {n}{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Kam má jít katalog Lightroomu „{catalog}“?",
"Merge into the open library “{library}” ({count} photo{})": "Sloučit s otevřenou knihovnou „{library}“ (fotografie: {count}{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Sloučit s otevřenou knihovnou „{library}“ (fotografie: {count}{:.0})",
"Panel layout could not be restored: {error}": "Rozložení panelů se nepodařilo obnovit: {error}",
"Panel move was not applied: {error}": "Přesun panelu nebyl použit: {error}",
"{name} is installed": "{name} je nainstalován",
"{name} is installed and in use: face recognition is on": "{name} je nainstalován a používán: rozpoznávání obličejů je zapnuto"
}
+9 -1
View File
@@ -600,6 +600,7 @@
"Download Place Names (GeoNames)": "Stáhnout názvy míst (GeoNames)",
"Download the SAM 3 Model?": "Stáhnout model SAM 3?",
"Downloaded and checked. Installing…": "Staženo a ověřeno. Probíhá instalace…",
"The download failed": "Stažení se nezdařilo",
"Downloading model": "Stahování modelu",
"Downloading place names": "Stahování názvů míst",
"Downloads": "Stažené soubory",
@@ -2408,5 +2409,12 @@
"Import dropped files without review": "Importovat přetažené soubory bez kontroly",
"An import is running": "Import už běží",
"An import is running. Drop photos when it has finished": "Import už běží. Fotky přetáhněte, až skončí",
"Finish Lightroom catalog import before adding photos": "Dokončete import katalogu Lightroom, než přidáte fotky"
"Finish Lightroom catalog import before adding photos": "Dokončete import katalogu Lightroom, než přidáte fotky",
"Face recognition is on": "Rozpoznávání obličejů je zapnuto",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Rozpoznávání obličejů je vypnuto. Zapněte je, abyste dostávali návrhy jmen a viděli podobné obličeje pohromadě.",
"Turn on": "Zapnout",
"Set up face recognition": "Nastavit rozpoznávání obličejů",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Rozpoznávání obličejů potřebuje model, aby mohlo navrhovat jména: jednorázové stažení v Nastavení.",
"Turn on name suggestions": "Zapnout návrhy jmen",
"Set up name suggestions…": "Nastavit návrhy jmen…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "{name} konnte nicht gelesen werden: {e}",
"Added {n} photo{}": "{n} Foto{} hinzugefügt",
"Where should the Lightroom catalog “{catalog}” go?": "Wohin soll der Lightroom-Katalog „{catalog}“?",
"Merge into the open library “{library}” ({count} photo{})": "Mit der geöffneten Bibliothek „{library}“ zusammenführen ({count} Foto{})"
"Merge into the open library “{library}” ({count} photo{})": "Mit der geöffneten Bibliothek „{library}“ zusammenführen ({count} Foto{})",
"Panel layout could not be restored: {error}": "Die Bereichsanordnung konnte nicht wiederhergestellt werden: {error}",
"Panel move was not applied: {error}": "Das Verschieben des Bereichs wurde nicht ausgeführt: {error}",
"{name} is installed": "{name} ist installiert",
"{name} is installed and in use: face recognition is on": "{name} ist installiert und in Gebrauch: Gesichtserkennung ist eingeschaltet"
}
+9 -1
View File
@@ -1871,6 +1871,7 @@
"Denoise Settings": "Entrauschungseinstellungen",
"Denoise all photos with an Amount": "Alle Fotos mit einer Stärke entrauschen",
"Downloaded and checked. Installing…": "Heruntergeladen und geprüft. Wird installiert…",
"The download failed": "Der Download ist fehlgeschlagen",
"Failed its last test": "Letzter Test fehlgeschlagen",
"Graphics card": "Grafikkarte",
"I have read these terms and accept them for my own use": "Ich habe diese Bedingungen gelesen und akzeptiere sie für meine eigene Nutzung",
@@ -3440,5 +3441,12 @@
"Import dropped files without review": "Abgelegte Dateien ohne Prüfung importieren",
"An import is running": "Ein Import läuft",
"An import is running. Drop photos when it has finished": "Ein Import läuft. Lege die Fotos ab, wenn er fertig ist",
"Finish Lightroom catalog import before adding photos": "Schließe den Import des Lightroom-Katalogs ab, bevor du Fotos hinzufügst"
"Finish Lightroom catalog import before adding photos": "Schließe den Import des Lightroom-Katalogs ab, bevor du Fotos hinzufügst",
"Face recognition is on": "Gesichtserkennung ist eingeschaltet",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Gesichtserkennung ist ausgeschaltet. Schalte sie ein, um Namensvorschläge zu erhalten und ähnliche Gesichter zusammen zu sehen.",
"Turn on": "Einschalten",
"Set up face recognition": "Gesichtserkennung einrichten",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Die Gesichtserkennung braucht ein Modell, um Namen vorzuschlagen: ein einmaliger Download in den Einstellungen.",
"Turn on name suggestions": "Namensvorschläge einschalten",
"Set up name suggestions…": "Namensvorschläge einrichten…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "No se pudo leer {name}: {e}",
"Added {n} photo{}": "{n} foto{0} añadida{0}",
"Where should the Lightroom catalog “{catalog}” go?": "¿Dónde debe ir el catálogo de Lightroom “{catalog}”?",
"Merge into the open library “{library}” ({count} photo{})": "Combinar con la biblioteca abierta “{library}” ({count} foto{})"
"Merge into the open library “{library}” ({count} photo{})": "Combinar con la biblioteca abierta “{library}” ({count} foto{})",
"Panel layout could not be restored: {error}": "No se pudo restablecer la disposición de paneles: {error}",
"Panel move was not applied: {error}": "No se aplicó el movimiento del panel: {error}",
"{name} is installed": "{name} está instalado",
"{name} is installed and in use: face recognition is on": "{name} está instalado y en uso: el reconocimiento facial está activado"
}
+9 -1
View File
@@ -1886,6 +1886,7 @@
"Denoise Settings": "Ajustes de reducción de ruido",
"Denoise all photos with an Amount": "Reducir el ruido de todas las fotos con una cantidad",
"Downloaded and checked. Installing…": "Descargado y comprobado. Instalando…",
"The download failed": "La descarga ha fallado",
"Failed its last test": "Falló en su última prueba",
"Graphics card": "Tarjeta gráfica",
"I have read these terms and accept them for my own use": "He leído estas condiciones y las acepto para mi propio uso",
@@ -2359,5 +2360,12 @@
"Import dropped files without review": "Importar los archivos soltados sin revisión",
"An import is running": "Hay una importación en curso",
"An import is running. Drop photos when it has finished": "Hay una importación en curso. Suelta las fotos cuando termine",
"Finish Lightroom catalog import before adding photos": "Termina la importación del catálogo de Lightroom antes de añadir fotos"
"Finish Lightroom catalog import before adding photos": "Termina la importación del catálogo de Lightroom antes de añadir fotos",
"Face recognition is on": "El reconocimiento facial está activado",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "El reconocimiento facial está desactivado. Actívalo para obtener sugerencias de nombres y ver juntas las caras parecidas.",
"Turn on": "Activar",
"Set up face recognition": "Configurar el reconocimiento facial",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "El reconocimiento facial necesita un modelo para sugerir nombres: una descarga única, en Ajustes.",
"Turn on name suggestions": "Activar sugerencias de nombres",
"Set up name suggestions…": "Configurar sugerencias de nombres…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Drop to import {n} preset{}": "Pudota tuodaksesi esiasetuksia: {n}{:.0}",
"Drop to review {n} item{} for import": "Pudota tarkistaaksesi ennen tuontia (kohteita: {n}){:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Minne Lightroom-luettelo ”{catalog}” tuodaan?",
"Merge into the open library “{library}” ({count} photo{})": "Yhdistä avoimeen kirjastoon ”{library}” (kuvia: {count}{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Yhdistä avoimeen kirjastoon ”{library}” (kuvia: {count}{:.0})",
"Panel layout could not be restored: {error}": "Paneelien asettelua ei voitu palauttaa: {error}",
"Panel move was not applied: {error}": "Paneelin siirtoa ei otettu käyttöön: {error}",
"{name} is installed": "{name} on asennettu",
"{name} is installed and in use: face recognition is on": "{name} on asennettu ja käytössä: kasvojentunnistus on päällä"
}
+9 -1
View File
@@ -557,6 +557,7 @@
"Download Place Names (GeoNames)": "Lataa paikannimet (GeoNames)",
"Download the SAM 3 Model?": "Ladataanko SAM 3 -malli?",
"Downloaded and checked. Installing…": "Ladattu ja tarkistettu. Asennetaan…",
"The download failed": "Lataus epäonnistui",
"Downloading model": "Ladataan mallia",
"Downloading place names": "Ladataan paikannimiä",
"Downloads": "Lataukset",
@@ -2327,5 +2328,12 @@
"Drop to open the face model": "Pudota avataksesi kasvomallin",
"Dropped Files": "Pudotetut tiedostot",
"Finish Lightroom catalog import before adding photos": "Viimeistele Lightroom-luettelon tuonti ennen kuvien lisäämistä",
"Import dropped files without review": "Tuo pudotetut tiedostot ilman tarkistusta"
"Import dropped files without review": "Tuo pudotetut tiedostot ilman tarkistusta",
"Face recognition is on": "Kasvojentunnistus on päällä",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Kasvojentunnistus on pois päältä. Ota se käyttöön, niin saat nimiehdotuksia ja näet samannäköiset kasvot yhdessä.",
"Turn on": "Ota käyttöön",
"Set up face recognition": "Määritä kasvojentunnistus",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Kasvojentunnistus tarvitsee mallin nimien ehdottamiseen: kertaluonteinen lataus Asetuksissa.",
"Turn on name suggestions": "Ota nimiehdotukset käyttöön",
"Set up name suggestions…": "Määritä nimiehdotukset…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Impossible de lire {name} : {e}",
"Added {n} photo{}": "{n} photo{} ajoutée(s)",
"Where should the Lightroom catalog “{catalog}” go?": "Où importer le catalogue Lightroom « {catalog} » ?",
"Merge into the open library “{library}” ({count} photo{})": "Fusionner avec la bibliothèque ouverte « {library} » ({count} photo{})"
"Merge into the open library “{library}” ({count} photo{})": "Fusionner avec la bibliothèque ouverte « {library} » ({count} photo{})",
"Panel layout could not be restored: {error}": "La disposition des panneaux n'a pas pu être restaurée : {error}",
"Panel move was not applied: {error}": "Le déplacement du panneau n'a pas été appliqué : {error}",
"{name} is installed": "{name} est installé",
"{name} is installed and in use: face recognition is on": "{name} est installé et utilisé : la reconnaissance des visages est activée"
}
+9 -1
View File
@@ -1706,6 +1706,7 @@
"Denoise Settings": "Réglages de débruitage",
"Denoise all photos with an Amount": "Débruiter toutes les photos ayant une Quantité",
"Downloaded and checked. Installing…": "Téléchargé et vérifié. Installation en cours…",
"The download failed": "Le téléchargement a échoué",
"Failed its last test": "Échec lors de son dernier test",
"Graphics card": "Carte graphique",
"I have read these terms and accept them for my own use": "J'ai lu ces conditions et je les accepte pour mon propre usage",
@@ -2391,5 +2392,12 @@
"Checking recent libraries": "Vérification des bibliothèques récentes",
"The photos are imported once a library is open": "Les photos seront importées dès qu'une bibliothèque sera ouverte",
"Open a library first, then drop the presets again": "Ouvrez d'abord une bibliothèque, puis déposez à nouveau les préréglages",
"This library couldn't be checked:": "Impossible de vérifier cette bibliothèque :"
"This library couldn't be checked:": "Impossible de vérifier cette bibliothèque :",
"Face recognition is on": "La reconnaissance des visages est activée",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "La reconnaissance des visages est désactivée. Activez-la pour obtenir des suggestions de noms et voir ensemble les visages qui se ressemblent.",
"Turn on": "Activer",
"Set up face recognition": "Configurer la reconnaissance des visages",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "La reconnaissance des visages a besoin d'un modèle pour suggérer des noms : un téléchargement unique, dans Réglages.",
"Turn on name suggestions": "Activer les suggestions de noms",
"Set up name suggestions…": "Configurer les suggestions de noms…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Drop to review {n} item{} for import": "Jatuhkan untuk meninjau {n} item sebelum impor{:.0}",
"Inside: {names}": "Di dalam: {names}",
"Where should the Lightroom catalog “{catalog}” go?": "Ke mana katalog Lightroom “{catalog}” diimpor?",
"Merge into the open library “{library}” ({count} photo{})": "Gabungkan ke pustaka yang terbuka “{library}” ({count} foto{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Gabungkan ke pustaka yang terbuka “{library}” ({count} foto{:.0})",
"Panel layout could not be restored: {error}": "Tata letak panel tidak dapat dipulihkan: {error}",
"Panel move was not applied: {error}": "Pemindahan panel tidak diterapkan: {error}",
"{name} is installed": "{name} sudah terinstal",
"{name} is installed and in use: face recognition is on": "{name} sudah terinstal dan digunakan: pengenalan wajah aktif"
}
+9 -1
View File
@@ -560,6 +560,7 @@
"Download Place Names (GeoNames)": "Unduh nama tempat (GeoNames)",
"Download the SAM 3 Model?": "Unduh model SAM 3?",
"Downloaded and checked. Installing…": "Sudah diunduh dan diverifikasi. Menginstal…",
"The download failed": "Pengunduhan gagal",
"Downloading model": "Mengunduh model",
"Downloading place names": "Mengunduh nama tempat",
"Downloads": "Unduhan",
@@ -2340,5 +2341,12 @@
"Drop to open the face model": "Jatuhkan untuk membuka model wajah",
"Dropped Files": "File yang dijatuhkan",
"Finish Lightroom catalog import before adding photos": "Selesaikan impor katalog Lightroom sebelum menambahkan foto",
"Import dropped files without review": "Impor file yang dijatuhkan tanpa tinjauan"
"Import dropped files without review": "Impor file yang dijatuhkan tanpa tinjauan",
"Face recognition is on": "Pengenalan wajah aktif",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Pengenalan wajah nonaktif. Aktifkan untuk mendapatkan saran nama dan melihat wajah yang mirip bersama-sama.",
"Turn on": "Aktifkan",
"Set up face recognition": "Siapkan pengenalan wajah",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Pengenalan wajah memerlukan model untuk menyarankan nama: sekali unduh, di Pengaturan.",
"Turn on name suggestions": "Aktifkan saran nama",
"Set up name suggestions…": "Siapkan saran nama…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Impossibile leggere {name}: {e}",
"Added {n} photo{}": "Foto aggiunte: {n}{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Dove importare il catalogo Lightroom “{catalog}”?",
"Merge into the open library “{library}” ({count} photo{})": "Unisci alla libreria aperta “{library}” (foto: {count}{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Unisci alla libreria aperta “{library}” (foto: {count}{:.0})",
"Panel layout could not be restored: {error}": "Non è stato possibile ripristinare la disposizione dei pannelli: {error}",
"Panel move was not applied: {error}": "Lo spostamento del pannello non è stato applicato: {error}",
"{name} is installed": "{name} è installato",
"{name} is installed and in use: face recognition is on": "{name} è installato e in uso: il riconoscimento dei volti è attivo"
}
+9 -1
View File
@@ -1736,6 +1736,7 @@
"Denoise Settings": "Impostazioni della riduzione disturbo",
"Denoise all photos with an Amount": "Riduci il disturbo in tutte le foto con una quantità",
"Downloaded and checked. Installing…": "Scaricato e verificato. Installazione…",
"The download failed": "Download non riuscito",
"Failed its last test": "Non ha superato l'ultimo test",
"Graphics card": "Scheda grafica",
"I have read these terms and accept them for my own use": "Ho letto queste condizioni e le accetto per uso personale",
@@ -2449,5 +2450,12 @@
"No named people yet. Name the faces below to start.": "Ancora nessuna persona con nome. Per iniziare, dai un nome ai volti qui sotto.",
"No people yet": "Ancora nessuna persona",
"No person by that name": "Nessuna persona con quel nome",
"No unnamed faces. Faces found in your photos appear here until you name them.": "Nessun volto senza nome. I volti trovati nelle tue foto compaiono qui finché non dai loro un nome."
"No unnamed faces. Faces found in your photos appear here until you name them.": "Nessun volto senza nome. I volti trovati nelle tue foto compaiono qui finché non dai loro un nome.",
"Face recognition is on": "Il riconoscimento dei volti è attivo",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Il riconoscimento dei volti è disattivato. Attivalo per ricevere suggerimenti di nomi e vedere insieme i volti simili.",
"Turn on": "Attiva",
"Set up face recognition": "Configura il riconoscimento dei volti",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Il riconoscimento dei volti ha bisogno di un modello per suggerire i nomi: un download una tantum, in Impostazioni.",
"Turn on name suggestions": "Attiva i suggerimenti di nomi",
"Set up name suggestions…": "Configura i suggerimenti di nomi…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "{name} を読み取れませんでした: {e}",
"Added {n} photo{}": "{n}枚を追加しました{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Lightroom カタログ「{catalog}」をどこに読み込みますか?",
"Merge into the open library “{library}” ({count} photo{})": "開いているライブラリ「{library}」に統合(写真{count}枚){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "開いているライブラリ「{library}」に統合(写真{count}枚){:.0}",
"Panel layout could not be restored: {error}": "パネル配置を復元できませんでした:{error}",
"Panel move was not applied: {error}": "パネルの移動は適用されませんでした:{error}",
"{name} is installed": "{name} をインストールしました",
"{name} is installed and in use: face recognition is on": "{name} をインストールして使用中です:顔認識はオンです"
}
+9 -1
View File
@@ -1718,6 +1718,7 @@
"Denoise Settings": "ノイズ除去の設定",
"Denoise all photos with an Amount": "適用量のあるすべての写真のノイズを除去",
"Downloaded and checked. Installing…": "ダウンロードして確認しました。インストール中…",
"The download failed": "ダウンロードに失敗しました。",
"Failed its last test": "前回のテストに失敗",
"Graphics card": "グラフィックカード",
"I have read these terms and accept them for my own use": "この条件を読み、自分の使用のために同意します",
@@ -2357,5 +2358,12 @@
"Import dropped files without review": "ドロップしたファイルを確認せずに読み込む",
"An import is running": "読み込み中です",
"An import is running. Drop photos when it has finished": "読み込み中です。完了してから写真をドロップしてください",
"Finish Lightroom catalog import before adding photos": "写真を追加する前に Lightroom カタログの読み込みを完了してください"
"Finish Lightroom catalog import before adding photos": "写真を追加する前に Lightroom カタログの読み込みを完了してください",
"Face recognition is on": "顔認識をオンにしました",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "顔認識はオフです。オンにすると、名前の候補が表示され、似た顔をまとめて見られます。",
"Turn on": "オンにする",
"Set up face recognition": "顔認識を設定",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "顔認識で名前の候補を表示するにはモデルが必要です。設定から一度だけダウンロードします。",
"Turn on name suggestions": "名前の候補をオンにする",
"Set up name suggestions…": "名前の候補を設定…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "ვერ წაიკითხა {name}: {e}",
"Added {n} photo{}": "დაემატა ფოტო: {n}{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "სად გადავიტანოთ Lightroom-ის კატალოგი „{catalog}“?",
"Merge into the open library “{library}” ({count} photo{})": "გაერთიანება ღია ბიბლიოთეკასთან „{library}“ (ფოტოები: {count}){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "გაერთიანება ღია ბიბლიოთეკასთან „{library}“ (ფოტოები: {count}){:.0}",
"Panel layout could not be restored: {error}": "პანელების განლაგების აღდგენა ვერ მოხერხდა: {error}",
"Panel move was not applied: {error}": "პანელის გადატანა არ შესრულდა: {error}",
"{name} is installed": "{name} დაინსტალირებულია",
"{name} is installed and in use: face recognition is on": "{name} დაინსტალირებულია და გამოიყენება: სახეების ამოცნობა ჩართულია"
}
+9 -1
View File
@@ -621,6 +621,7 @@
"Download Place Names (GeoNames)": "ადგილების სახელების ჩამოტვირთვა (GeoNames)",
"Download the SAM 3 Model?": "ჩამოიტვირთოს SAM 3 მოდელი?",
"Downloaded and checked. Installing…": "ჩამოტვირთულია და შემოწმებულია. ინსტალირდება…",
"The download failed": "ჩამოტვირთვა ვერ მოხერხდა",
"Downloading model": "მოდელი იტვირთება",
"Downloading place names": "ადგილების სახელები იტვირთება",
"Downloads": "ჩამოტვირთვები",
@@ -3629,5 +3630,12 @@
"`slideshow.playback`; `view.slideshow` takes any of them for one run (`interval` still sets the slide duration).": "`slideshow.playback`-ს; `view.slideshow` ნებისმიერ მათგანს ერთი გაშვებისთვის იღებს (`interval` კვლავ სლაიდის ხანგრძლივობას ადგენს).",
"While it plays, moving the pointer shows a small control bar: previous, play / pause, next, the slide number and": "დაკვრისას მაჩვენებლის მოძრაობა პატარა მართვის ზოლს აჩენს: წინა, დაკვრა / პაუზა, შემდეგი, სლაიდის ნომერი და",
"end. Space pauses, ← / → step (a cut), Esc ends. A slide's time starts once it is shown sharp.": "დასრულება. Space აპაუზებს, ← / → გადადის (გადაჭრით), Esc ასრულებს. სლაიდის დრო მაშინ იწყება, როცა ის მკვეთრად გამოჩნდება.",
"M50, R100, R8 and RP (on the RP also in 1.6× crop mode). CR3 files the decoder can't read yet still open from their embedded JPEG, as before.": "M50, R100, R8 და RP კამერებზე (RP-ზე 1.6× ჩამოჭრის რეჟიმშიც). CR3 ფაილები, რომლებსაც დეკოდერი ჯერ ვერ კითხულობს, კვლავ ჩაშენებული JPEG-იდან იხსნება, როგორც ადრე."
"M50, R100, R8 and RP (on the RP also in 1.6× crop mode). CR3 files the decoder can't read yet still open from their embedded JPEG, as before.": "M50, R100, R8 და RP კამერებზე (RP-ზე 1.6× ჩამოჭრის რეჟიმშიც). CR3 ფაილები, რომლებსაც დეკოდერი ჯერ ვერ კითხულობს, კვლავ ჩაშენებული JPEG-იდან იხსნება, როგორც ადრე.",
"Face recognition is on": "სახეების ამოცნობა ჩართულია",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "სახეების ამოცნობა გამორთულია. ჩართეთ, რომ მიიღოთ სახელების შეთავაზებები და ერთად ნახოთ მსგავსი სახეები.",
"Turn on": "ჩართვა",
"Set up face recognition": "სახეების ამოცნობის დაყენება",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "სახეების ამოცნობას სახელების შესათავაზებლად მოდელი სჭირდება: ერთჯერადი ჩამოტვირთვა, პარამეტრებში.",
"Turn on name suggestions": "სახელების შეთავაზებების ჩართვა",
"Set up name suggestions…": "სახელების შეთავაზებების დაყენება…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Added {n} photo{}": "Dodano zdjęcia: {n}{:.0}",
"Inside: {names}": "Wewnątrz: {names}",
"Where should the Lightroom catalog “{catalog}” go?": "Dokąd zaimportować katalog Lightroom „{catalog}”?",
"Merge into the open library “{library}” ({count} photo{})": "Scal z otwartą biblioteką „{library}” (zdjęcia: {count}){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "Scal z otwartą biblioteką „{library}” (zdjęcia: {count}){:.0}",
"Panel layout could not be restored: {error}": "Nie udało się przywrócić układu paneli: {error}",
"Panel move was not applied: {error}": "Przeniesienie panelu nie zostało zastosowane: {error}",
"{name} is installed": "{name} jest zainstalowany",
"{name} is installed and in use: face recognition is on": "{name} jest zainstalowany i używany: rozpoznawanie twarzy jest włączone"
}
+9 -1
View File
@@ -1670,6 +1670,7 @@
"Denoise Settings": "Ustawienia odszumiania",
"Denoise all photos with an Amount": "Odszum wszystkie zdjęcia z ustawioną intensywnością",
"Downloaded and checked. Installing…": "Pobrano i sprawdzono. Instalowanie…",
"The download failed": "Pobieranie nie powiodło się",
"Failed its last test": "Nie przeszedł ostatniego testu",
"Graphics card": "Karta graficzna",
"I have read these terms and accept them for my own use": "Przeczytałem warunki i akceptuję je na własny użytek",
@@ -2284,5 +2285,12 @@
"Import dropped files without review": "Importuj upuszczone pliki bez przeglądu",
"An import is running": "Import jest w toku",
"An import is running. Drop photos when it has finished": "Import jest w toku. Upuść zdjęcia, gdy się zakończy",
"Finish Lightroom catalog import before adding photos": "Zakończ import katalogu Lightrooma, zanim dodasz zdjęcia"
"Finish Lightroom catalog import before adding photos": "Zakończ import katalogu Lightrooma, zanim dodasz zdjęcia",
"Face recognition is on": "Rozpoznawanie twarzy jest włączone",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Rozpoznawanie twarzy jest wyłączone. Włącz je, aby dostawać propozycje imion i widzieć podobne twarze razem.",
"Turn on": "Włącz",
"Set up face recognition": "Skonfiguruj rozpoznawanie twarzy",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Rozpoznawanie twarzy potrzebuje modelu, aby proponować imiona: jednorazowe pobranie w Ustawieniach.",
"Turn on name suggestions": "Włącz propozycje imion",
"Set up name suggestions…": "Skonfiguruj propozycje imion…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Não foi possível ler {name}: {e}",
"Added {n} photo{}": "{n} foto{0} adicionada{0}",
"Where should the Lightroom catalog “{catalog}” go?": "Para onde vai o catálogo do Lightroom “{catalog}”?",
"Merge into the open library “{library}” ({count} photo{})": "Mesclar na biblioteca aberta “{library}” ({count} foto{})"
"Merge into the open library “{library}” ({count} photo{})": "Mesclar na biblioteca aberta “{library}” ({count} foto{})",
"Panel layout could not be restored: {error}": "Não foi possível restaurar a disposição dos painéis: {error}",
"Panel move was not applied: {error}": "A movimentação do painel não foi aplicada: {error}",
"{name} is installed": "{name} está instalado",
"{name} is installed and in use: face recognition is on": "{name} está instalado e em uso: o reconhecimento facial está ativado"
}
+9 -1
View File
@@ -1718,6 +1718,7 @@
"Denoise Settings": "Configurações de redução de ruído",
"Denoise all photos with an Amount": "Reduzir o ruído de todas as fotos com uma Quantidade",
"Downloaded and checked. Installing…": "Baixado e verificado. Instalando…",
"The download failed": "Falha ao baixar",
"Failed its last test": "Falhou no último teste",
"Graphics card": "Placa de vídeo",
"I have read these terms and accept them for my own use": "Li estes termos e os aceito para meu uso pessoal",
@@ -2203,5 +2204,12 @@
"Import dropped files without review": "Importar arquivos soltos sem revisão",
"An import is running": "Uma importação está em andamento",
"An import is running. Drop photos when it has finished": "Uma importação está em andamento. Solte as fotos quando ela terminar",
"Finish Lightroom catalog import before adding photos": "Conclua a importação do catálogo do Lightroom antes de adicionar fotos"
"Finish Lightroom catalog import before adding photos": "Conclua a importação do catálogo do Lightroom antes de adicionar fotos",
"Face recognition is on": "O reconhecimento facial está ativado",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "O reconhecimento facial está desativado. Ative-o para receber sugestões de nomes e ver rostos parecidos juntos.",
"Turn on": "Ativar",
"Set up face recognition": "Configurar o reconhecimento facial",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "O reconhecimento facial precisa de um modelo para sugerir nomes: um download único, em Configurações.",
"Turn on name suggestions": "Ativar sugestões de nomes",
"Set up name suggestions…": "Configurar sugestões de nomes…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Не удалось прочитать {name}: {e}",
"Added {n} photo{}": "Добавлено фото: {n}{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Куда импортировать каталог Lightroom «{catalog}»?",
"Merge into the open library “{library}” ({count} photo{})": "Объединить с открытой библиотекой «{library}» (фото: {count}){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "Объединить с открытой библиотекой «{library}» (фото: {count}){:.0}",
"Panel layout could not be restored: {error}": "Не удалось восстановить расположение панелей: {error}",
"Panel move was not applied: {error}": "Перемещение панели не применено: {error}",
"{name} is installed": "Модель {name} установлена",
"{name} is installed and in use: face recognition is on": "Модель {name} установлена и используется: распознавание лиц включено"
}
+9 -1
View File
@@ -1605,6 +1605,7 @@
"Denoise Settings": "Настройки шумоподавления",
"Denoise all photos with an Amount": "Подавить шум на всех фото с заданным количеством",
"Downloaded and checked. Installing…": "Загружено и проверено. Установка…",
"The download failed": "Не удалось загрузить",
"Failed its last test": "Последняя проверка не пройдена",
"Graphics card": "Видеокарта",
"I have read these terms and accept them for my own use": "Я прочитал эти условия и принимаю их для собственного использования",
@@ -2566,5 +2567,12 @@
"An import is running": "Импорт уже выполняется",
"An import is running. Drop photos when it has finished": "Импорт уже выполняется. Перетащите фото, когда он закончится",
"Finish Lightroom catalog import before adding photos": "Завершите импорт каталога Lightroom, прежде чем добавлять фото",
"★ Favorites": "★ Избранное"
"★ Favorites": "★ Избранное",
"Face recognition is on": "Распознавание лиц включено",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Распознавание лиц выключено. Включите его, чтобы получать подсказки имён и видеть похожие лица вместе.",
"Turn on": "Включить",
"Set up face recognition": "Настроить распознавание лиц",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Для подсказок имён распознаванию лиц нужна модель: однократная загрузка в Настройках.",
"Turn on name suggestions": "Включить подсказки имён",
"Set up name suggestions…": "Настроить подсказки имён…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Drop to review {n} item{} for import": "Släpp för att granska {n} objekt före import{:.0}",
"Inside: {names}": "Inuti: {names}",
"Where should the Lightroom catalog “{catalog}” go?": "Vart ska Lightroom-katalogen ”{catalog}” importeras?",
"Merge into the open library “{library}” ({count} photo{})": "Slå samman med det öppna biblioteket ”{library}” ({count} foto{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Slå samman med det öppna biblioteket ”{library}” ({count} foto{:.0})",
"Panel layout could not be restored: {error}": "Panellayouten kunde inte återställas: {error}",
"Panel move was not applied: {error}": "Panelflytten tillämpades inte: {error}",
"{name} is installed": "{name} är installerad",
"{name} is installed and in use: face recognition is on": "{name} är installerad och används: ansiktsigenkänning är på"
}
+9 -1
View File
@@ -606,6 +606,7 @@
"Download Place Names (GeoNames)": "Hämta ortnamn (GeoNames)",
"Download the SAM 3 Model?": "Vill du hämta SAM 3-modellen?",
"Downloaded and checked. Installing…": "Hämtad och kontrollerad. Installerar…",
"The download failed": "Hämtningen misslyckades",
"Downloading model": "Hämtar modell",
"Downloading place names": "Hämtar ortnamn",
"Downloads": "Hämtade filer",
@@ -2429,5 +2430,12 @@
"Drop to open the face model": "Släpp för att öppna ansiktsmodellen",
"Dropped Files": "Släppta filer",
"Finish Lightroom catalog import before adding photos": "Slutför importen av Lightroom-katalogen innan du lägger till foton",
"Import dropped files without review": "Importera släppta filer utan granskning"
"Import dropped files without review": "Importera släppta filer utan granskning",
"Face recognition is on": "Ansiktsigenkänning är på",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Ansiktsigenkänning är av. Slå på den för att få namnförslag och se liknande ansikten tillsammans.",
"Turn on": "Slå på",
"Set up face recognition": "Ställ in ansiktsigenkänning",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Ansiktsigenkänning behöver en modell för att föreslå namn: en engångsnedladdning, i Inställningar.",
"Turn on name suggestions": "Slå på namnförslag",
"Set up name suggestions…": "Ställ in namnförslag…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "Не вдалося прочитати {name}: {e}",
"Added {n} photo{}": "Додано фото: {n}{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Куди імпортувати каталог Lightroom «{catalog}»?",
"Merge into the open library “{library}” ({count} photo{})": "Об’єднати з відкритою бібліотекою «{library}» (фото: {count}){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "Об’єднати з відкритою бібліотекою «{library}» (фото: {count}){:.0}",
"Panel layout could not be restored: {error}": "Не вдалося відновити розташування панелей: {error}",
"Panel move was not applied: {error}": "Переміщення панелі не застосовано: {error}",
"{name} is installed": "{name} установлено",
"{name} is installed and in use: face recognition is on": "{name} установлено й використовується: розпізнавання облич увімкнено"
}
+9 -1
View File
@@ -1709,6 +1709,7 @@
"Denoise Settings": "Налаштування усунення шуму",
"Denoise all photos with an Amount": "Обробити всі фото зі значенням усунення шуму",
"Downloaded and checked. Installing…": "Завантажено й перевірено. Установлення…",
"The download failed": "Не вдалося завантажити",
"Failed its last test": "Останню перевірку не пройдено",
"Graphics card": "Відеокарта",
"I have read these terms and accept them for my own use": "Я прочитав ці умови й приймаю їх для власного використання",
@@ -2355,5 +2356,12 @@
"Import dropped files without review": "Імпортувати перетягнуті файли без перегляду",
"An import is running": "Імпорт уже виконується",
"An import is running. Drop photos when it has finished": "Імпорт уже виконується. Перетягніть фото, коли він завершиться",
"Finish Lightroom catalog import before adding photos": "Завершіть імпорт каталогу Lightroom, перш ніж додавати фото"
"Finish Lightroom catalog import before adding photos": "Завершіть імпорт каталогу Lightroom, перш ніж додавати фото",
"Face recognition is on": "Розпізнавання облич увімкнено",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Розпізнавання облич вимкнено. Увімкніть його, щоб отримувати підказки імен і бачити схожі обличчя разом.",
"Turn on": "Увімкнути",
"Set up face recognition": "Налаштувати розпізнавання облич",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Для підказок імен розпізнаванню облич потрібна модель: одноразове завантаження в Налаштуваннях.",
"Turn on name suggestions": "Увімкнути підказки імен",
"Set up name suggestions…": "Налаштувати підказки імен…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Drop to import {n} preset{}": "Thả để nhập {n} thiết lập sẵn{:.0}",
"Drop to review {n} item{} for import": "Thả để xem lại {n} mục trước khi nhập{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Nhập danh mục Lightroom «{catalog}» vào đâu?",
"Merge into the open library “{library}” ({count} photo{})": "Gộp vào thư viện đang mở «{library}» ({count} ảnh{:.0})"
"Merge into the open library “{library}” ({count} photo{})": "Gộp vào thư viện đang mở «{library}» ({count} ảnh{:.0})",
"Panel layout could not be restored: {error}": "Không thể khôi phục bố cục bảng: {error}",
"Panel move was not applied: {error}": "Việc di chuyển bảng chưa được áp dụng: {error}",
"{name} is installed": "{name} đã được cài đặt",
"{name} is installed and in use: face recognition is on": "{name} đã được cài đặt và đang dùng: nhận diện khuôn mặt đã bật"
}
+9 -1
View File
@@ -518,6 +518,7 @@
"Download Place Names (GeoNames)": "Tải tên địa điểm (GeoNames)",
"Download the SAM 3 Model?": "Tải mô hình SAM 3?",
"Downloaded and checked. Installing…": "Đã tải và kiểm tra. Đang cài…",
"The download failed": "Tải xuống không thành công",
"Downloading model": "Đang tải mô hình",
"Downloading place names": "Đang tải tên địa điểm",
"Downloads": "Tải xuống",
@@ -2656,5 +2657,12 @@
"Checking for updates…": "Đang kiểm tra cập nhật…",
"LightCraft {version} is currently the newest version available.": "LightCraft {version} hiện là phiên bản mới nhất.",
"Could not check for updates:\n{error}": "Không thể kiểm tra cập nhật:\n{error}",
"LightCraft Updates": "Cập nhật LightCraft"
"LightCraft Updates": "Cập nhật LightCraft",
"Face recognition is on": "Nhận diện khuôn mặt đã bật",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "Nhận diện khuôn mặt đang tắt. Hãy bật để nhận gợi ý tên và xem các khuôn mặt giống nhau cùng nhau.",
"Turn on": "Bật",
"Set up face recognition": "Thiết lập nhận diện khuôn mặt",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "Nhận diện khuôn mặt cần một mô hình để gợi ý tên: tải xuống một lần, trong Cài đặt.",
"Turn on name suggestions": "Bật gợi ý tên",
"Set up name suggestions…": "Thiết lập gợi ý tên…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "无法读取 {name}:{e}",
"Added {n} photo{}": "已添加 {n} 张照片{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Lightroom 目录“{catalog}”要导入到哪里?",
"Merge into the open library “{library}” ({count} photo{})": "合并到当前打开的图库“{library}”({count} 张照片){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "合并到当前打开的图库“{library}”({count} 张照片){:.0}",
"Panel layout could not be restored: {error}": "无法恢复面板布局:{error}",
"Panel move was not applied: {error}": "面板移动未应用:{error}",
"{name} is installed": "{name} 已安装",
"{name} is installed and in use: face recognition is on": "{name} 已安装并在使用:人脸识别已开启"
}
+9 -1
View File
@@ -1712,6 +1712,7 @@
"Denoise Settings": "降噪设置",
"Denoise all photos with an Amount": "对所有设置了数量的照片进行降噪",
"Downloaded and checked. Installing…": "已下载并校验完成。正在安装…",
"The download failed": "下载失败。",
"Failed its last test": "上次检测未通过",
"Graphics card": "显卡",
"I have read these terms and accept them for my own use": "我已阅读这些条款,并为个人使用表示接受",
@@ -2358,5 +2359,12 @@
"one by one — they can always be exported again, and on a USB drive or a NAS that per-file sync dominated a large": "逐个进行——它们随时可以重新导出,而在 USB 硬盘或 NAS 上,逐文件同步曾占用了大量",
"over a same-name same-size look-alike, and skips (and reports) photos it can't tell apart instead of guessing.": "而不是同名同大小的相似文件,并且会跳过(并报告)无法区分的照片,而不是猜测。",
"Panasonic and Leica raws (RW2, RWL and the older RAW files, DMC-LX1 to DC-S1R II) develop from the raw data in": "Panasonic 和 Leica 的 RAW 文件(RW2、RWL 及更早的 RAW 文件,DMC-LX1 至 DC-S1R II)在",
"part out), or type what to select (\"sky\", \"the red car\", \"car, road\"); both combine with other masks, have an": "部分选中),或输入要选择的内容(“天空”、“红色汽车”、“汽车、道路”);两者都可与其他蒙版组合,并具有"
"part out), or type what to select (\"sky\", \"the red car\", \"car, road\"); both combine with other masks, have an": "部分选中),或输入要选择的内容(“天空”、“红色汽车”、“汽车、道路”);两者都可与其他蒙版组合,并具有",
"Face recognition is on": "人脸识别已开启",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "人脸识别已关闭。开启后可获得姓名建议,并将相似的人脸放在一起查看。",
"Turn on": "开启",
"Set up face recognition": "设置人脸识别",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "人脸识别需要一个模型来建议姓名:只需在“设置”中下载一次。",
"Turn on name suggestions": "开启姓名建议",
"Set up name suggestions…": "设置姓名建议…"
}
+5 -1
View File
@@ -305,5 +305,9 @@
"Could not read {name}: {e}": "無法讀取 {name}:{e}",
"Added {n} photo{}": "已加入 {n} 張照片{:.0}",
"Where should the Lightroom catalog “{catalog}” go?": "Lightroom 目錄「{catalog}」要匯入到哪裡?",
"Merge into the open library “{library}” ({count} photo{})": "合併到目前開啟的照片庫「{library}」({count} 張照片){:.0}"
"Merge into the open library “{library}” ({count} photo{})": "合併到目前開啟的照片庫「{library}」({count} 張照片){:.0}",
"Panel layout could not be restored: {error}": "無法還原面板配置:{error}",
"Panel move was not applied: {error}": "面板移動未套用:{error}",
"{name} is installed": "{name} 已安裝",
"{name} is installed and in use: face recognition is on": "{name} 已安裝並在使用中:臉部辨識已開啟"
}
+9 -1
View File
@@ -1718,6 +1718,7 @@
"Denoise Settings": "Denoise Settings",
"Denoise all photos with an Amount": "Denoise all photos with an Amount",
"Downloaded and checked. Installing…": "Downloaded and checked. Installing…",
"The download failed": "下載失敗。",
"Failed its last test": "Failed its last test",
"Graphics card": "Graphics card",
"I have read these terms and accept them for my own use": "I have read these terms and accept them for my own use",
@@ -2358,5 +2359,12 @@
"Without Saving and Quit (issue #100). It no longer quietly starts a demo session that looked like a reset library and": "不儲存並結束(問題 #100)。它不再靜默啟動一個看似已重設圖庫的示範工作階段,",
"written by a newer LightCraft is refused with \"this library was written by a newer version of LightCraft\" and left": "由更新版本 LightCraft 寫入的目錄會被拒絕,提示「此圖庫由更新版本的 LightCraft 寫入」,並保持",
"written by a newer LightCraft), LightCraft says so and why, and offers Try Again, Choose Another Library…, Continue": "由更新版本 LightCraft 寫入),LightCraft 會說明情況和原因,並提供 重試、選擇其他圖庫…、繼續",
"⌘-drag to straighten, ⇧G Guided Upright, a grid while transforming.": "⌘-拖曳進行拉直,⇧G 引導式垂直校正,變換時顯示網格。"
"⌘-drag to straighten, ⇧G Guided Upright, a grid while transforming.": "⌘-拖曳進行拉直,⇧G 引導式垂直校正,變換時顯示網格。",
"Face recognition is on": "臉部辨識已開啟",
"Face recognition is off. Turn it on to get name suggestions and see look-alike faces together.": "臉部辨識已關閉。開啟後可取得姓名建議,並將相似的臉孔放在一起檢視。",
"Turn on": "開啟",
"Set up face recognition": "設定臉部辨識",
"Face recognition needs a model to suggest names: a one-time download, in Settings.": "臉部辨識需要一個模型來建議姓名:只需在「設定」中下載一次。",
"Turn on name suggestions": "開啟姓名建議",
"Set up name suggestions…": "設定姓名建議…"
}
+12 -7
View File
@@ -137,7 +137,7 @@ pub fn take_step(app: &mut LightcraftApp, ctx: &egui::Context, step: Setup) {
if app.run("faces.enable", json!({"enabled": true})).is_ok() {
app.caches.faces_epoch += 1;
app.ui.status = "Face recognition is on".into();
app.toast(ctx, "Face recognition is on");
app.toast(ctx, crate::i18n::tr("Face recognition is on"));
}
}
Setup::GetModel => {
@@ -154,8 +154,8 @@ pub fn setup_banner(app: &mut LightcraftApp, ui: &mut egui::Ui) {
let t = Tokens::get(ui.ctx());
egui::Frame::NONE.inner_margin(egui::Margin::symmetric(12, 6)).show(ui, |ui| {
ui.horizontal_wrapped(|ui| {
ui.label(RichText::new(message).font(t.font(12.5)).color(t.text_dim));
let r = ui.button(button);
ui.label(RichText::new(crate::i18n::tr(message)).font(t.font(12.5)).color(t.text_dim));
let r = ui.button(crate::i18n::tr(button));
register(ui, "faces:setup", r.rect);
if r.clicked() {
take_step(app, ui.ctx(), step);
@@ -379,7 +379,7 @@ fn model_row(app: &mut LightcraftApp, ui: &mut egui::Ui, t: &Tokens, m: &Value,
});
}
(Some("failed"), Some(d)) => {
let why = sentence(d["error"].as_str().unwrap_or("The download failed"));
let why = crate::panels::denoise::download_failure(d);
ui.add(egui::Label::new(RichText::new(why).font(t.font(11.5)).color(t.caution)).wrap());
}
_ => {}
@@ -683,7 +683,7 @@ pub fn name_editor(
}
}
if let Some(label) = setup.short() {
let b = ui.add(egui::Button::new(RichText::new(label).font(t.font(12.0)).color(t.accent)).frame(false));
let b = ui.add(egui::Button::new(RichText::new(crate::i18n::tr(label)).font(t.font(12.0)).color(t.accent)).frame(false));
register(ui, "faces:setup", b.rect);
if b.clicked() {
outcome = Editor::Setup;
@@ -809,8 +809,13 @@ fn watch_downloads(app: &mut LightcraftApp, ctx: &egui::Context) {
.ok()
.is_some_and(|l| l["models"].as_array().is_some_and(|a| a.iter().any(|m| m["id"] == id.as_str() && m["role"] == "detector")));
let text = if detector { format!("{name} is installed") } else { format!("{name} is installed and in use: face recognition is on") };
app.ui.status = text.clone();
app.toast(ctx, text);
let toast = if detector {
crate::i18n::tr_format!("{name} is installed", name = name)
} else {
crate::i18n::tr_format!("{name} is installed and in use: face recognition is on", name = name)
};
app.ui.status = text;
app.toast(ctx, toast);
}
ctx.request_repaint_after(std::time::Duration::from_millis(120));
}
+2 -2
View File
@@ -347,7 +347,7 @@ pub fn show(app: &mut crate::LightcraftApp, ui: &mut egui::Ui) {
let t = crate::theme::Tokens::get(ui.ctx());
let mut workspace = app.ui.docking.clone().unwrap_or_else(|| from_ui(app));
if let Err(error) = validate(&workspace).and_then(|()| sync(&mut workspace, app)) {
app.ui.toast = Some((format!("Panel layout could not be restored: {error}"), app.tick_now() + 8.0, None));
app.ui.toast = Some((crate::i18n::tr_format!("Panel layout could not be restored: {error}", error = error), app.tick_now() + 8.0, None));
workspace = from_ui(app);
let _ = sync(&mut workspace, app);
}
@@ -454,7 +454,7 @@ pub fn show(app: &mut crate::LightcraftApp, ui: &mut egui::Ui) {
.map_err(|error| error.to_string())
.and_then(|action| command_impl(app, false, &json!({"action": action}), true))
{
app.ui.toast = Some((format!("Panel move was not applied: {error}"), app.tick_now() + 8.0, None));
app.ui.toast = Some((crate::i18n::tr_format!("Panel move was not applied: {error}", error = error), app.tick_now() + 8.0, None));
}
}
}
+12
View File
@@ -872,11 +872,23 @@ fn people_and_the_name_box_offer_to_set_face_recognition_up() {
h.step();
assert!(offers(&mut h));
assert_eq!(h.app.session.execute("faces.models.list", &json!({})).unwrap()["enabled"], false);
h.app.ui.language = crate::i18n::Locale::De;
crate::i18n::set_language(crate::i18n::Locale::De);
h.step();
h.step();
assert!(offers(&mut h), "the offer is still there in German");
let r = h.request("ui.clickWidget", json!({"id": "faces:setup"}), t);
assert_eq!(r["ok"], true, "{r}");
h.step();
h.step();
assert_eq!(h.app.session.execute("faces.models.list", &json!({})).unwrap()["enabled"], true);
assert_eq!(
h.app.ui.toast.as_ref().map(|toast| toast.0.as_str()),
Some(crate::i18n::Locale::De.tr("Face recognition is on")),
"the toast is looked up in the UI language"
);
h.app.ui.language = crate::i18n::Locale::En;
crate::i18n::set_language(crate::i18n::Locale::En);
assert_eq!(h.app.ui.dialog, None, "nothing to go to Settings for");
h.step();
assert!(!offers(&mut h), "once it is on the offer is gone");
+23 -2
View File
@@ -508,7 +508,7 @@ fn model_row(app: &mut LightcraftApp, ui: &mut egui::Ui, t: &Tokens, m: &Value,
});
}
(Some("failed"), Some(d)) => {
let why = sentence(d["error"].as_str().unwrap_or("The download failed"));
let why = download_failure(d);
ui.add(egui::Label::new(RichText::new(why).font(t.font(11.5)).color(t.caution)).wrap());
}
_ => {}
@@ -664,10 +664,15 @@ pub(super) fn mb(bytes: Option<u64>) -> String {
}
}
/// Why a model download failed, as a sentence: the engine's reason, or, when it gave none, a message in the UI language.
pub(crate) fn download_failure(d: &Value) -> String {
sentence(d["error"].as_str().unwrap_or_else(|| tr("The download failed")))
}
pub(super) fn sentence(s: &str) -> String {
let s = s.trim();
let mut out = crate::i18n::upper_first(s);
if !out.is_empty() && !out.ends_with(['.', '!', '?']) {
if !out.is_empty() && !out.ends_with(['.', '!', '?', '。', '!', '?']) {
out.push('.');
}
out
@@ -765,3 +770,19 @@ pub fn model_dialog(app: &mut LightcraftApp, ui: &mut egui::Ui, t: &Tokens, info
};
ui.label(RichText::new(tr(closing)).font(t.font(11.5)).color(t.text_dim));
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn a_download_failure_without_a_reason_is_said_in_the_ui_language() {
let de = crate::i18n::Locale::De;
crate::i18n::set_language(de);
let said = download_failure(&json!({}));
crate::i18n::set_language(crate::i18n::Locale::En);
assert_eq!(said, sentence(de.tr("The download failed")));
assert_eq!(download_failure(&json!({"error": "no space left"})), "No space left.", "the engine's own reason is shown as given");
assert_eq!(sentence("下载失败。"), "下载失败。", "a Chinese or Japanese full stop ends the sentence");
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ pub fn show(app: &mut LightcraftApp, ctx: &egui::Context) {
return;
}
let vid = egui::ViewportId::from_hash_of("lightcraft-second-window");
let builder = egui::ViewportBuilder::default().with_title("LightCraft — Second Window").with_inner_size([960.0, 640.0]);
let builder = egui::ViewportBuilder::default().with_title(crate::i18n::tr("LightCraft — Second Window")).with_inner_size([960.0, 640.0]);
ctx.show_viewport_immediate(vid, builder, |ui, class| {
// 0.37 passes the viewport's root `Ui` (not a `Context`). Do not enter `root_ui` from it.
// (without native windows — web, headless — egui wraps this in a floating window)
+1
View File
@@ -961,3 +961,4 @@ Latin stays upright. Advanced Japanese composition remains open. Regression cove
| 2026-10-23 | patch | LRC-LIB-FILTERBAR: showing an album (`library.source`) while the filter holds an album drops the filter's album, as showing a library folder already dropped its folder filter; before, the old album stayed in the filter unseen (the filter bar has no album chip) and narrowed the next source such as All Photos; the row's note says so; status unchanged (✅) |
| 2026-10-27 | patch | MENU-EDIT-SELECTNONE, MENU-EDIT-PASTESELECTED: Select Only Active Photo and Paste Settings from Previous were not in the Edit menu's layout and ended up after Settings…, near the end of the menu; they now sit with the other Select and Paste rows. On macOS the Edit menu no longer shows two separators in a row where Settings… moved to the app menu; status unchanged (✅) |
| 2026-10-27 | patch | MENU-FILE-CLOSE, KEY-CLOSEWINDOW: the notes say that Close Window and the red close button of the main window quit the app, after the check Quit makes; kept on purpose; a user page says so; status unchanged (✅) |
| 2026-10-23 | minor | LR-BEHAV-LOCALIZE: panel layout toasts, the face recognition prompts and toasts, and the second window's title are looked up in the interface language in all 17 catalogs; status unchanged (🟡) |
+7
View File
@@ -93,6 +93,13 @@
library you open and are imported into it, as files given on the command line are; presets dropped then are
refused with a note, since they belong to a library.
### Panel layout messages, face recognition prompts and the second window's title in your language
- The messages shown when a panel layout cannot be restored or a panel move is not applied, the face recognition
prompts (the banner and the name box's offer, with their buttons), the "Face recognition is on" and "is installed"
messages, and the title of the second window are now in the interface language in all 17 languages. They stayed in
English before. So did "The download failed", shown under a denoise or face recognition model's download when the
download gives no reason.
## 2026-10-22
### Reliability