From 3ce2e4786016a44e169004c94cd5554b4a77ff8b Mon Sep 17 00:00:00 2001 From: Nathaniel Ledford Date: Fri, 23 Oct 2026 13:15:16 -0400 Subject: [PATCH] LR-BEHAV-LOCALIZE: panel layout toasts, face recognition prompts and toasts, and the second window title are translated --- crates/ui-egui/locales/cs-formats.json | 6 ++++- crates/ui-egui/locales/cs.json | 10 ++++++++- crates/ui-egui/locales/de-formats.json | 6 ++++- crates/ui-egui/locales/de.json | 10 ++++++++- crates/ui-egui/locales/es-formats.json | 6 ++++- crates/ui-egui/locales/es.json | 10 ++++++++- crates/ui-egui/locales/fi-formats.json | 6 ++++- crates/ui-egui/locales/fi.json | 10 ++++++++- crates/ui-egui/locales/fr-formats.json | 6 ++++- crates/ui-egui/locales/fr.json | 10 ++++++++- crates/ui-egui/locales/id-formats.json | 6 ++++- crates/ui-egui/locales/id.json | 10 ++++++++- crates/ui-egui/locales/it-formats.json | 6 ++++- crates/ui-egui/locales/it.json | 10 ++++++++- crates/ui-egui/locales/ja-formats.json | 6 ++++- crates/ui-egui/locales/ja.json | 10 ++++++++- crates/ui-egui/locales/ka-formats.json | 6 ++++- crates/ui-egui/locales/ka.json | 10 ++++++++- crates/ui-egui/locales/pl-formats.json | 6 ++++- crates/ui-egui/locales/pl.json | 10 ++++++++- crates/ui-egui/locales/pt-br-formats.json | 6 ++++- crates/ui-egui/locales/pt-br.json | 10 ++++++++- crates/ui-egui/locales/ru-formats.json | 6 ++++- crates/ui-egui/locales/ru.json | 10 ++++++++- crates/ui-egui/locales/sv-formats.json | 6 ++++- crates/ui-egui/locales/sv.json | 10 ++++++++- crates/ui-egui/locales/uk-formats.json | 6 ++++- crates/ui-egui/locales/uk.json | 10 ++++++++- crates/ui-egui/locales/vi-formats.json | 6 ++++- crates/ui-egui/locales/vi.json | 10 ++++++++- crates/ui-egui/locales/zh-hans-formats.json | 6 ++++- crates/ui-egui/locales/zh-hans.json | 10 ++++++++- crates/ui-egui/locales/zh-hant-formats.json | 6 ++++- crates/ui-egui/locales/zh-hant.json | 10 ++++++++- crates/ui-egui/src/dialogs/faces.rs | 19 ++++++++++------ crates/ui-egui/src/docking.rs | 4 ++-- crates/ui-egui/src/headless/tests.rs | 12 ++++++++++ crates/ui-egui/src/panels/denoise.rs | 25 +++++++++++++++++++-- crates/ui-egui/src/panels/second.rs | 2 +- docs/parity-checklist.md | 3 ++- docs/whats-new.md | 7 ++++++ 41 files changed, 297 insertions(+), 47 deletions(-) diff --git a/crates/ui-egui/locales/cs-formats.json b/crates/ui-egui/locales/cs-formats.json index 1eb882f09..aadd26ce9 100644 --- a/crates/ui-egui/locales/cs-formats.json +++ b/crates/ui-egui/locales/cs-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/cs.json b/crates/ui-egui/locales/cs.json index 52ca94a52..ae834f6c4 100644 --- a/crates/ui-egui/locales/cs.json +++ b/crates/ui-egui/locales/cs.json @@ -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…" } diff --git a/crates/ui-egui/locales/de-formats.json b/crates/ui-egui/locales/de-formats.json index 79390f136..1cf2b1d04 100644 --- a/crates/ui-egui/locales/de-formats.json +++ b/crates/ui-egui/locales/de-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/de.json b/crates/ui-egui/locales/de.json index e2205db78..9a994d9fb 100644 --- a/crates/ui-egui/locales/de.json +++ b/crates/ui-egui/locales/de.json @@ -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…" } diff --git a/crates/ui-egui/locales/es-formats.json b/crates/ui-egui/locales/es-formats.json index 33e5f52fc..5b5c8ccf8 100644 --- a/crates/ui-egui/locales/es-formats.json +++ b/crates/ui-egui/locales/es-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/es.json b/crates/ui-egui/locales/es.json index 888af077f..3c326ef1d 100644 --- a/crates/ui-egui/locales/es.json +++ b/crates/ui-egui/locales/es.json @@ -1885,6 +1885,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", @@ -2358,5 +2359,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…" } diff --git a/crates/ui-egui/locales/fi-formats.json b/crates/ui-egui/locales/fi-formats.json index 1daab3dab..ea0828e5a 100644 --- a/crates/ui-egui/locales/fi-formats.json +++ b/crates/ui-egui/locales/fi-formats.json @@ -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ä" } diff --git a/crates/ui-egui/locales/fi.json b/crates/ui-egui/locales/fi.json index e0a8c622a..214cad041 100644 --- a/crates/ui-egui/locales/fi.json +++ b/crates/ui-egui/locales/fi.json @@ -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…" } diff --git a/crates/ui-egui/locales/fr-formats.json b/crates/ui-egui/locales/fr-formats.json index 294273781..7fe24eba9 100644 --- a/crates/ui-egui/locales/fr-formats.json +++ b/crates/ui-egui/locales/fr-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/fr.json b/crates/ui-egui/locales/fr.json index 3278d6ccd..3c4f485c0 100644 --- a/crates/ui-egui/locales/fr.json +++ b/crates/ui-egui/locales/fr.json @@ -1705,6 +1705,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", @@ -2390,5 +2391,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…" } diff --git a/crates/ui-egui/locales/id-formats.json b/crates/ui-egui/locales/id-formats.json index 7fc325522..4e35683fc 100644 --- a/crates/ui-egui/locales/id-formats.json +++ b/crates/ui-egui/locales/id-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/id.json b/crates/ui-egui/locales/id.json index 0d6da9b8f..4de9e2f7f 100644 --- a/crates/ui-egui/locales/id.json +++ b/crates/ui-egui/locales/id.json @@ -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", @@ -2339,5 +2340,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…" } diff --git a/crates/ui-egui/locales/it-formats.json b/crates/ui-egui/locales/it-formats.json index 7efae90e9..e244cfbcc 100644 --- a/crates/ui-egui/locales/it-formats.json +++ b/crates/ui-egui/locales/it-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/it.json b/crates/ui-egui/locales/it.json index e159fd47d..1307f0888 100644 --- a/crates/ui-egui/locales/it.json +++ b/crates/ui-egui/locales/it.json @@ -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", @@ -2361,5 +2362,12 @@ "Import dropped files without review": "Importa i file rilasciati senza revisione", "An import is running": "Un'importazione è in corso", "An import is running. Drop photos when it has finished": "Un'importazione è in corso. Trascina le foto quando è finita", - "Finish Lightroom catalog import before adding photos": "Termina l'importazione del catalogo Lightroom prima di aggiungere foto" + "Finish Lightroom catalog import before adding photos": "Termina l'importazione del catalogo Lightroom prima di aggiungere foto", + "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…" } diff --git a/crates/ui-egui/locales/ja-formats.json b/crates/ui-egui/locales/ja-formats.json index 99c14bf16..7c43c061d 100644 --- a/crates/ui-egui/locales/ja-formats.json +++ b/crates/ui-egui/locales/ja-formats.json @@ -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} をインストールして使用中です:顔認識はオンです" } diff --git a/crates/ui-egui/locales/ja.json b/crates/ui-egui/locales/ja.json index e1834555b..bbc35077c 100644 --- a/crates/ui-egui/locales/ja.json +++ b/crates/ui-egui/locales/ja.json @@ -1717,6 +1717,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": "この条件を読み、自分の使用のために同意します", @@ -2356,5 +2357,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…": "名前の候補を設定…" } diff --git a/crates/ui-egui/locales/ka-formats.json b/crates/ui-egui/locales/ka-formats.json index 460368261..b21a3bfb0 100644 --- a/crates/ui-egui/locales/ka-formats.json +++ b/crates/ui-egui/locales/ka-formats.json @@ -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} დაინსტალირებულია და გამოიყენება: სახეების ამოცნობა ჩართულია" } diff --git a/crates/ui-egui/locales/ka.json b/crates/ui-egui/locales/ka.json index 32c407700..9c9065c3d 100644 --- a/crates/ui-egui/locales/ka.json +++ b/crates/ui-egui/locales/ka.json @@ -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": "ჩამოტვირთვები", @@ -2734,5 +2735,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…": "სახელების შეთავაზებების დაყენება…" } diff --git a/crates/ui-egui/locales/pl-formats.json b/crates/ui-egui/locales/pl-formats.json index 20c7f840d..8ecf99e5b 100644 --- a/crates/ui-egui/locales/pl-formats.json +++ b/crates/ui-egui/locales/pl-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/pl.json b/crates/ui-egui/locales/pl.json index adac22e62..5806081ee 100644 --- a/crates/ui-egui/locales/pl.json +++ b/crates/ui-egui/locales/pl.json @@ -1669,6 +1669,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", @@ -2283,5 +2284,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…" } diff --git a/crates/ui-egui/locales/pt-br-formats.json b/crates/ui-egui/locales/pt-br-formats.json index f17f2c0fd..4f059e516 100644 --- a/crates/ui-egui/locales/pt-br-formats.json +++ b/crates/ui-egui/locales/pt-br-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/pt-br.json b/crates/ui-egui/locales/pt-br.json index e84fb7615..347344450 100644 --- a/crates/ui-egui/locales/pt-br.json +++ b/crates/ui-egui/locales/pt-br.json @@ -1717,6 +1717,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", @@ -2202,5 +2203,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…" } diff --git a/crates/ui-egui/locales/ru-formats.json b/crates/ui-egui/locales/ru-formats.json index 76b7af427..8fdb59c69 100644 --- a/crates/ui-egui/locales/ru-formats.json +++ b/crates/ui-egui/locales/ru-formats.json @@ -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} установлена и используется: распознавание лиц включено" } diff --git a/crates/ui-egui/locales/ru.json b/crates/ui-egui/locales/ru.json index 306804df0..8d6db1d58 100644 --- a/crates/ui-egui/locales/ru.json +++ b/crates/ui-egui/locales/ru.json @@ -1389,6 +1389,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": "Я прочитал эти условия и принимаю их для собственного использования", @@ -2349,5 +2350,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…": "Настроить подсказки имён…" } diff --git a/crates/ui-egui/locales/sv-formats.json b/crates/ui-egui/locales/sv-formats.json index 9a71a0288..49f3cff1d 100644 --- a/crates/ui-egui/locales/sv-formats.json +++ b/crates/ui-egui/locales/sv-formats.json @@ -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å" } diff --git a/crates/ui-egui/locales/sv.json b/crates/ui-egui/locales/sv.json index 66e69b7ba..55c42dec9 100644 --- a/crates/ui-egui/locales/sv.json +++ b/crates/ui-egui/locales/sv.json @@ -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…" } diff --git a/crates/ui-egui/locales/uk-formats.json b/crates/ui-egui/locales/uk-formats.json index 36022ac1a..3a1bde588 100644 --- a/crates/ui-egui/locales/uk-formats.json +++ b/crates/ui-egui/locales/uk-formats.json @@ -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} установлено й використовується: розпізнавання облич увімкнено" } diff --git a/crates/ui-egui/locales/uk.json b/crates/ui-egui/locales/uk.json index ee694ed4f..b3e435563 100644 --- a/crates/ui-egui/locales/uk.json +++ b/crates/ui-egui/locales/uk.json @@ -1708,6 +1708,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": "Я прочитав ці умови й приймаю їх для власного використання", @@ -2354,5 +2355,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…": "Налаштувати підказки імен…" } diff --git a/crates/ui-egui/locales/vi-formats.json b/crates/ui-egui/locales/vi-formats.json index d5e28bff0..c4b16cf63 100644 --- a/crates/ui-egui/locales/vi-formats.json +++ b/crates/ui-egui/locales/vi-formats.json @@ -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" } diff --git a/crates/ui-egui/locales/vi.json b/crates/ui-egui/locales/vi.json index e4fb8feb8..2b1713f0b 100644 --- a/crates/ui-egui/locales/vi.json +++ b/crates/ui-egui/locales/vi.json @@ -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", @@ -2235,5 +2236,12 @@ "Drop to open the face model": "Thả để mở mô hình khuôn mặt", "Dropped Files": "Tệp đã thả", "Finish Lightroom catalog import before adding photos": "Hoàn tất nhập danh mục Lightroom trước khi thêm ảnh", - "Import dropped files without review": "Nhập các tệp đã thả mà không xem lại" + "Import dropped files without review": "Nhập các tệp đã thả mà không xem lại", + "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…" } diff --git a/crates/ui-egui/locales/zh-hans-formats.json b/crates/ui-egui/locales/zh-hans-formats.json index 7406c39b8..d7a6c9659 100644 --- a/crates/ui-egui/locales/zh-hans-formats.json +++ b/crates/ui-egui/locales/zh-hans-formats.json @@ -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} 已安装并在使用:人脸识别已开启" } diff --git a/crates/ui-egui/locales/zh-hans.json b/crates/ui-egui/locales/zh-hans.json index 270af8a62..e4957ce1e 100644 --- a/crates/ui-egui/locales/zh-hans.json +++ b/crates/ui-egui/locales/zh-hans.json @@ -1711,6 +1711,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": "我已阅读这些条款,并为个人使用表示接受", @@ -2200,5 +2201,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…": "设置姓名建议…" } diff --git a/crates/ui-egui/locales/zh-hant-formats.json b/crates/ui-egui/locales/zh-hant-formats.json index d5c4eb279..7a0621e37 100644 --- a/crates/ui-egui/locales/zh-hant-formats.json +++ b/crates/ui-egui/locales/zh-hant-formats.json @@ -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} 已安裝並在使用中:臉部辨識已開啟" } diff --git a/crates/ui-egui/locales/zh-hant.json b/crates/ui-egui/locales/zh-hant.json index 0408e23ec..dc9b3f7f5 100644 --- a/crates/ui-egui/locales/zh-hant.json +++ b/crates/ui-egui/locales/zh-hant.json @@ -1717,6 +1717,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", @@ -2157,5 +2158,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…": "設定姓名建議…" } diff --git a/crates/ui-egui/src/dialogs/faces.rs b/crates/ui-egui/src/dialogs/faces.rs index 1811ec0a9..032e6f082 100644 --- a/crates/ui-egui/src/dialogs/faces.rs +++ b/crates/ui-egui/src/dialogs/faces.rs @@ -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)); } diff --git a/crates/ui-egui/src/docking.rs b/crates/ui-egui/src/docking.rs index f2bc190d7..577ac4496 100644 --- a/crates/ui-egui/src/docking.rs +++ b/crates/ui-egui/src/docking.rs @@ -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)); } } } diff --git a/crates/ui-egui/src/headless/tests.rs b/crates/ui-egui/src/headless/tests.rs index f38ed636a..0067f4892 100644 --- a/crates/ui-egui/src/headless/tests.rs +++ b/crates/ui-egui/src/headless/tests.rs @@ -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"); diff --git a/crates/ui-egui/src/panels/denoise.rs b/crates/ui-egui/src/panels/denoise.rs index fdb208b51..1a66c22e1 100644 --- a/crates/ui-egui/src/panels/denoise.rs +++ b/crates/ui-egui/src/panels/denoise.rs @@ -486,7 +486,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()); } _ => {} @@ -642,10 +642,15 @@ pub(super) fn mb(bytes: Option) -> 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 @@ -743,3 +748,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"); + } +} diff --git a/crates/ui-egui/src/panels/second.rs b/crates/ui-egui/src/panels/second.rs index cbdaa2d73..57fc5756a 100644 --- a/crates/ui-egui/src/panels/second.rs +++ b/crates/ui-egui/src/panels/second.rs @@ -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) diff --git a/docs/parity-checklist.md b/docs/parity-checklist.md index 90cfc248f..4b528d6d0 100644 --- a/docs/parity-checklist.md +++ b/docs/parity-checklist.md @@ -1,6 +1,6 @@ # Lightroom parity checklist -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-25 · **Change:** minor (LR-BEHAV-TITLEBAR: a double-click follows the system setting, and a panel over the bar keeps the window still; KEYC-METADATA, LRC-LIB-KEYWORDS: ⌥0 / ⌥⇧0 go to the next / previous keyword set; LRC-DEV-HISTOGRAM-DRAG: the histogram's five tonal zones — hover for the value, drag to adjust the Basic control the press locked, double-click to reset; LR-VIEW-HISTOGRAM note updated; MENU-BAR: on macOS a menu item that yields its key to a focused text field or to shortcut recording really lets it go; LR-MERGE-HDR / LR-MERGE-PANO: Lanczos-3 warps; LR-IMP-LOCAL: browsing from the sidebar records the folder; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LR-IMP-ADD-DIALOG: hierarchical import album destination reconciled with main, #2362; KEY-SLIDER-NUDGE: vertical wheel nudges need a click or drag in the row; leaving it disarms them; LR-EDIT-OPTICS-PROFILE: Fujifilm nine-knot lens tables read at the plain radius; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LRC-LIB-LIBFOLDERS, LR-BEHAV-BG-TASKS: Synchronize Folder's scan shows its folder listing and stops it on ✕; LRC-LIB-LIBFOLDERS: Synchronize Folder says a folder is up to date; LR-LIB-STACK: filmstrip stack badge click; LRC-LIB-REFVIEW / CATALOG-SWITCH: Escape preserves edits; catalog-local pins; deleted and malformed references refused; LRC-LIB-COMPARE: the Info panel labels the active photo while culling, #2398; KEYC-RATING: `\` shows / hides the Filter Bar in the grids; LR-VIEW-PHOTOGRID: the grid reads only the photos an import batch or an edit touched, not the whole list; earlier: LRC-PRINT-PAGE: Print Page Options; LR-META-XMP: fewer false unimported-XMP warnings; KEYC-METADATA: ⌘K / Ctrl+K Add Keywords; LRC-DEV-HISTOGRAM-DRAG: the histogram's five tonal zones — hover for the value, drag to adjust the Basic control the press locked, double-click to reset; LR-VIEW-HISTOGRAM note updated; MENU-BAR: on macOS a menu item that yields its key to a focused text field or to shortcut recording really lets it go; LR-MERGE-HDR / LR-MERGE-PANO: Lanczos-3 warps; LR-IMP-LOCAL: browsing from the sidebar records the folder; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LR-IMP-ADD-DIALOG: hierarchical import album destination reconciled with main, #2362; KEY-SLIDER-NUDGE: vertical wheel nudges need a click or drag in the row; leaving it disarms them; LR-EDIT-OPTICS-PROFILE: Fujifilm nine-knot lens tables read at the plain radius; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LRC-LIB-LIBFOLDERS, LR-BEHAV-BG-TASKS: Synchronize Folder's scan shows its folder listing and stops it on ✕; LRC-LIB-LIBFOLDERS: Synchronize Folder says a folder is up to date; LR-LIB-STACK: filmstrip stack badge click; LRC-LIB-REFVIEW / CATALOG-SWITCH: Escape preserves edits; catalog-local pins; deleted and malformed references refused; LRC-LIB-COMPARE: the Info panel labels the active photo while culling, #2398; KEYC-RATING: `\` shows / hides the Filter Bar in the grids; LR-VIEW-PHOTOGRID: the grid reads only the photos an import batch or an edit touched, not the whole list; earlier: LRC-PRINT-PAGE: Print Page Options; LR-META-XMP: fewer false unimported-XMP warnings) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-25 · **Change:** minor (LR-BEHAV-LOCALIZE: panel layout toasts, face recognition prompts and toasts, and the second window's title are translated; LR-BEHAV-TITLEBAR: a double-click follows the system setting, and a panel over the bar keeps the window still; KEYC-METADATA, LRC-LIB-KEYWORDS: ⌥0 / ⌥⇧0 go to the next / previous keyword set; LRC-DEV-HISTOGRAM-DRAG: the histogram's five tonal zones — hover for the value, drag to adjust the Basic control the press locked, double-click to reset; LR-VIEW-HISTOGRAM note updated; MENU-BAR: on macOS a menu item that yields its key to a focused text field or to shortcut recording really lets it go; LR-MERGE-HDR / LR-MERGE-PANO: Lanczos-3 warps; LR-IMP-LOCAL: browsing from the sidebar records the folder; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LR-IMP-ADD-DIALOG: hierarchical import album destination reconciled with main, #2362; KEY-SLIDER-NUDGE: vertical wheel nudges need a click or drag in the row; leaving it disarms them; LR-EDIT-OPTICS-PROFILE: Fujifilm nine-knot lens tables read at the plain radius; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LRC-LIB-LIBFOLDERS, LR-BEHAV-BG-TASKS: Synchronize Folder's scan shows its folder listing and stops it on ✕; LRC-LIB-LIBFOLDERS: Synchronize Folder says a folder is up to date; LR-LIB-STACK: filmstrip stack badge click; LRC-LIB-REFVIEW / CATALOG-SWITCH: Escape preserves edits; catalog-local pins; deleted and malformed references refused; LRC-LIB-COMPARE: the Info panel labels the active photo while culling, #2398; KEYC-RATING: `\` shows / hides the Filter Bar in the grids; LR-VIEW-PHOTOGRID: the grid reads only the photos an import batch or an edit touched, not the whole list; earlier: LRC-PRINT-PAGE: Print Page Options; LR-META-XMP: fewer false unimported-XMP warnings; KEYC-METADATA: ⌘K / Ctrl+K Add Keywords; LRC-DEV-HISTOGRAM-DRAG: the histogram's five tonal zones — hover for the value, drag to adjust the Basic control the press locked, double-click to reset; LR-VIEW-HISTOGRAM note updated; MENU-BAR: on macOS a menu item that yields its key to a focused text field or to shortcut recording really lets it go; LR-MERGE-HDR / LR-MERGE-PANO: Lanczos-3 warps; LR-IMP-LOCAL: browsing from the sidebar records the folder; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LR-IMP-ADD-DIALOG: hierarchical import album destination reconciled with main, #2362; KEY-SLIDER-NUDGE: vertical wheel nudges need a click or drag in the row; leaving it disarms them; LR-EDIT-OPTICS-PROFILE: Fujifilm nine-knot lens tables read at the plain radius; LR-VIEW-ZOOM: only a full-size drag within 20 ms clears a slow-drag verdict; LRC-LIB-LIBFOLDERS, LR-BEHAV-BG-TASKS: Synchronize Folder's scan shows its folder listing and stops it on ✕; LRC-LIB-LIBFOLDERS: Synchronize Folder says a folder is up to date; LR-LIB-STACK: filmstrip stack badge click; LRC-LIB-REFVIEW / CATALOG-SWITCH: Escape preserves edits; catalog-local pins; deleted and malformed references refused; LRC-LIB-COMPARE: the Info panel labels the active photo while culling, #2398; KEYC-RATING: `\` shows / hides the Filter Bar in the grids; LR-VIEW-PHOTOGRID: the grid reads only the photos an import batch or an edit touched, not the whole list; earlier: LRC-PRINT-PAGE: Print Page Options; LR-META-XMP: fewer false unimported-XMP warnings) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 The measured, row-by-row checklist: one row per Lightroom feature, menu item and shortcut, what we have and what is missing. It answers *does the feature exist?* (feature breadth). Whether it is good @@ -959,3 +959,4 @@ Latin stays upright. Advanced Japanese composition remains open. Regression cove | 2026-10-23 | patch | LR-BEHAV-ACCESS: the name field of New Album, New Smart Album, Rename and the other one-field dialogs takes the keyboard focus once when the dialog opens instead of every frame, so Tab and Shift+Tab reach the check box, Cancel and OK; status unchanged (🟡) | | 2026-10-22 | minor | LR-CROP-AUTO: Auto straighten turns by at most 10° and only on at least 3 agreeing lines, and says when it finds nothing to level by; measured on 68 photos straightened by hand and 300 left as shot, unwanted turns of more than 1° fell from 79 to 19 of the 300. Downgraded ✅ → 🟡: it still leaves most tilted photos alone | | 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-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 (🟡) | diff --git a/docs/whats-new.md b/docs/whats-new.md index c6c259200..c96f0021e 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -82,6 +82,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