diff --git a/ROADMAP.md b/ROADMAP.md index c804c36fc..a444ec004 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -2,7 +2,7 @@ **Stage: alpha** · next: beta, ~14 points and ~340–600 h away -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (EOS R5 Mark II CR3 verified; RAW decoding 77%) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-12 · **Change:** minor (localization ~52% → ~55%: de, es, fr, ja, uk catalogs filled) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 One-page summary of how close LightCraft is to Adobe Lightroom. Agents: read this, then pick work from [docs/gaps.md](docs/gaps.md). The full assessment, method and evidence are in @@ -49,7 +49,7 @@ Hours are calibrated on this repo's PR history; see | UI/UX fidelity | ~70% | ~85% | 40–70 h | [ui-parity](docs/ui-parity.md) | | File formats (non-raw) | ~70% | ~85% | 30–55 h | [file-format-parity](docs/file-format-parity.md) | | Hardware | ~40% | ~50% | 40–80 h | [hardware-parity](docs/hardware-parity.md) | -| Localization | ~52% of the 12 key languages | 7 of 12 present | 130–210 h (+145–255 h new scripts) | [localization-parity](docs/localization-parity.md) | +| Localization | ~55% of the 12 key languages | 7 of 12 present | 130–210 h (+145–255 h new scripts) | [localization-parity](docs/localization-parity.md) | | Performance | ~70% | ~80% | 30–50 h | [target-app-parity](docs/target-app-parity.md#by-dimension) | | Stability | ~60% | — | 30–60 h | [target-app-parity](docs/target-app-parity.md#by-dimension) | | Platforms | ~60% | macOS, Windows, Linux, FreeBSD, web | 25–45 h | [target-app-parity](docs/target-app-parity.md#by-dimension) | @@ -161,6 +161,7 @@ Ranked toward beta; detail in [docs/roadmap.md](docs/roadmap.md), gaps in [docs/ | Date | Change | Summary | |---|---|---| +| 2026-10-12 | minor | Localization ~52% → ~55% (mean of the 12 key languages): de, es, fr, ja and uk catalogs filled | | 2026-10-11 | minor | EOS R5 Mark II CR3 verified: CR3 on four verified bodies, RAW decoding 76% → 77%; headline numbers unchanged | | 2026-10-10 | minor | RAW measured model by model; RAW decode and colour as explicit rows: full 59% → 61%, mainstream 51% → 49%, essentials 63% → 64%; beta ~14 points | | 2026-10-10 | minor | Full ready restored to the additive weighted sum (~59%; method aligned with the standard, no new evidence); hours per audience; beta ~16 points away | diff --git a/crates/pipeline/src/spots.rs b/crates/pipeline/src/spots.rs index 483f83f3c..f8b3fbbdf 100644 --- a/crates/pipeline/src/spots.rs +++ b/crates/pipeline/src/spots.rs @@ -247,8 +247,8 @@ fn fill_box(src: &mut [[f32; 3]], tgt: &[[f32; 3]], alpha: &[f32], bw: usize, bh let flat: Vec = tgt.iter().flatten().copied().collect(); let out = lightcraft_inpaint::complete(bw, bh, 3, &flat, &hole, &lightcraft_inpaint::CompleteParams::default()) .unwrap_or_else(|| lightcraft_inpaint::membrane_fill(bw, bh, 3, &flat, &hole)); - for (d, v) in src.iter_mut().zip(out.chunks_exact(3)) { - *d = [v[0], v[1], v[2]]; + for (d, v) in src.iter_mut().zip(out.as_chunks::<3>().0) { + *d = *v; } } diff --git a/crates/ui-egui/locales/de-formats.json b/crates/ui-egui/locales/de-formats.json index 7bcaf9f20..ac404ca28 100644 --- a/crates/ui-egui/locales/de-formats.json +++ b/crates/ui-egui/locales/de-formats.json @@ -197,23 +197,23 @@ "{} label (click more labels to show any of them)": "Markierung {} (weitere Markierungen auswählen, um alle passenden Fotos zu zeigen)", ", {} star{}": ", Sterne: {}{:.0}", ", {} label": ", Markierung: {}", - "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.": "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.", + "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.": "Lädt von {host} herunter. Sobald es angekommen und geprüft ist, installiert LightCraft es und {after}.", "{:.1} MB": "{:.1} MB", - "Running on the processor: {}.": "Running on the processor: {}.", - "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.": "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.", - "Denoising {name}: {done} of {total} tiles{}": "Denoising {name}: {done} of {total} tiles{}", + "Running on the processor: {}.": "Läuft auf dem Prozessor: {}.", + "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.": "{} · {}. Im Ordner „denoise“ der Bibliothek gespeichert; bei Erreichen der Grenze werden zuerst die ältesten entfernt, die kein Foto verwendet.", + "Denoising {name}: {done} of {total} tiles{}": "{name} wird entrauscht: {done} von {total} Kacheln{}", "{size} GB": "{size} GB", - "{} of {} from {host}": "{} of {} from {host}", + "{} of {} from {host}": "{} von {} von {host}", "{} KB": "{} KB", "{} MB": "{} MB", - "Making the denoised picture… {}%": "Making the denoised picture… {}%", + "Making the denoised picture… {}%": "Entrauschtes Bild wird berechnet… {}%", "{name} · {terms}": "{name} · {terms}", "{n} {noun}": "{n} {noun}", - "Trained on: {provenance}": "Trained on: {provenance}", - " · {queued} waiting": " · {queued} waiting", - "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.": "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.", - "In line for AI Denoise ({ahead} ahead)…": "In line for AI Denoise ({ahead} ahead)…", - "Running on {}.": "Running on {}.", + "Trained on: {provenance}": "Trainiert mit: {provenance}", + " · {queued} waiting": " · {queued} wartend", + "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.": "Zeigt die Bedingungen des Modells, lädt dann {} von {host} herunter, installiert es und verwendet es. Sonst wird nichts gesendet.", + "In line for AI Denoise ({ahead} ahead)…": "In der Warteschlange für KI-Entrauschen ({ahead} davor)…", + "Running on {}.": "Läuft auf {}.", "{file} · {size}": "{file} · {size}", "• {assumption}": "• {assumption}", "Put inside “{parent}”": "In „{parent}“ einfügen", diff --git a/crates/ui-egui/locales/de.json b/crates/ui-egui/locales/de.json index 10cc7e0ed..31b2be4b1 100644 --- a/crates/ui-egui/locales/de.json +++ b/crates/ui-egui/locales/de.json @@ -1813,96 +1813,96 @@ "Install the SAM 3 Model": "SAM-3-Modell installieren", "This build can't download the model yet. To install it by hand, put model.safetensors, vocab.json and merges.txt from Meta's facebook/sam3 in the folder above: Object and Describe work as soon as they are there.": "Diese Version kann das Modell noch nicht herunterladen. Zum Installieren von Hand lege model.safetensors, vocab.json und merges.txt aus Metas facebook/sam3 in den obigen Ordner: Objekt und Beschreiben funktionieren, sobald sie dort liegen.", "Open Log Folder": "Protokollordner öffnen", - "Back to this person": "Back to this person", - "AI Denoise": "AI Denoise", - "AI Denoise Model": "AI Denoise Model", - "AI Denoise is off: press Use on a model.": "AI Denoise is off: press Use on a model.", - "AI Denoise needs a model. Install one in Settings.": "AI Denoise needs a model. Install one in Settings.", - "Accept & Download": "Accept & Download", - "Already installed. Remove it before installing a replacement.": "Already installed. Remove it before installing a replacement.", - "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.": "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.", + "Back to this person": "Zurück zu dieser Person", + "AI Denoise": "KI-Entrauschen", + "AI Denoise Model": "KI-Entrauschungsmodell", + "AI Denoise is off: press Use on a model.": "KI-Entrauschen ist aus: Klicke bei einem Modell auf „Verwenden“.", + "AI Denoise needs a model. Install one in Settings.": "KI-Entrauschen benötigt ein Modell. Installiere eines in den Einstellungen.", + "Accept & Download": "Akzeptieren und herunterladen", + "Already installed. Remove it before installing a replacement.": "Bereits installiert. Entferne es, bevor du einen Ersatz installierst.", + "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.": "Automatisch verwendet die Grafikkarte, wo sie schneller als der Prozessor ist: Beide werden beim ersten berechneten Foto auf diesem Computer gemessen.", "Cache": "Cache", - "Checking and installing the model…": "Checking and installing the model…", - "Checking…": "Checking…", - "Clear cache": "Clear cache", - "Denoise Models": "Denoise Models", - "Denoise Settings": "Denoise Settings", - "Denoise all photos with an Amount": "Denoise all photos with an Amount", - "Downloaded and checked. Installing…": "Downloaded and checked. Installing…", - "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", - "Inspect Denoise Model": "Inspect Denoise Model", - "Install Denoise Model": "Install Denoise Model", - "Install from file…": "Install from file…", - "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.": "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.", - "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).": "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).", - "LightCraft does not know this model, so it assumed:": "LightCraft does not know this model, so it assumed:", - "Limit": "Limit", - "Make it now": "Make it now", - "Make the denoised picture of the photos I am looking at": "Make the denoised picture of the photos I am looking at", - "Next up for AI Denoise…": "Next up for AI Denoise…", - "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.": "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.", - "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.": "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.", - "Open page": "Open page", - "Open the model's page": "Open the model's page", - "Opens the model's own page in your browser, to read about it or get the file yourself.": "Opens the model's own page in your browser, to read about it or get the file yourself.", - "Processor": "Processor", - "Set up AI Denoise…": "Set up AI Denoise…", - "Speed": "Speed", - "Starting…": "Starting…", - "Tested and works on this computer": "Tested and works on this computer", - "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works": "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works", - "The graphics card is set up when the next photo is made.": "The graphics card is set up when the next photo is made.", - "The model is kept on this computer only. LightCraft never uploads or shares it.": "The model is kept on this computer only. LightCraft never uploads or shares it.", - "The processor does the work.": "The processor does the work.", - "There is no model file to install": "There is no model file to install", - "This build cannot run denoise models.": "This build cannot run denoise models.", - "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)": "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)", - "This file cannot be used yet": "This file cannot be used yet", - "Tick the box to accept the model's terms first": "Tick the box to accept the model's terms first", - "Try again": "Try again", - "Try the graphics card again": "Try the graphics card again", - "Turn off": "Turn off", - "Unknown licence": "Unknown licence", - "Use": "Use", - "Waiting to start…": "Waiting to start…", - "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.": "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.", - "cached picture": "cached picture", - "cached pictures": "cached pictures", - "commercial use allowed": "commercial use allowed", + "Checking and installing the model…": "Modell wird geprüft und installiert…", + "Checking…": "Wird geprüft…", + "Clear cache": "Cache leeren", + "Denoise Models": "Entrauschungsmodelle", + "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…", + "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", + "Inspect Denoise Model": "Entrauschungsmodell prüfen", + "Install Denoise Model": "Entrauschungsmodell installieren", + "Install from file…": "Aus Datei installieren…", + "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.": "Installiere ein eigenes ONNX-Modell mit einer denoise-model.json daneben. Diese Version bietet keine Modelldownloads an.", + "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).": "Sein entrauschtes Bild ist noch nicht berechnet, und Bilder werden nicht automatisch berechnet (Einstellungen, KI-Entrauschen).", + "LightCraft does not know this model, so it assumed:": "LightCraft kennt dieses Modell nicht und hat daher angenommen:", + "Limit": "Grenze", + "Make it now": "Jetzt berechnen", + "Make the denoised picture of the photos I am looking at": "Entrauschtes Bild der angezeigten Fotos berechnen", + "Next up for AI Denoise…": "Als Nächstes beim KI-Entrauschen…", + "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.": "Nichts wird geladen, bevor du zustimmst. Das Modell bleibt nur auf diesem Computer; LightCraft lädt es nie hoch und gibt es nie weiter.", + "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.": "Nur Fotos mit einer KI-Entrauschungsstärke über 0 werden berechnet. Exporte berechnen ihres immer, wenn es fehlt.", + "Open page": "Seite öffnen", + "Open the model's page": "Seite des Modells öffnen", + "Opens the model's own page in your browser, to read about it or get the file yourself.": "Öffnet die Seite des Modells im Browser, um mehr darüber zu lesen oder die Datei selbst herunterzuladen.", + "Processor": "Prozessor", + "Set up AI Denoise…": "KI-Entrauschen einrichten…", + "Speed": "Geschwindigkeit", + "Starting…": "Wird gestartet…", + "Tested and works on this computer": "Getestet, funktioniert auf diesem Computer", + "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works": "Das Entrauschungsmodell ist installiert und in Gebrauch: Der Regler für die KI-Entrauschungsstärke unter „Detail“ funktioniert jetzt", + "The graphics card is set up when the next photo is made.": "Die Grafikkarte wird eingerichtet, wenn das nächste Foto berechnet wird.", + "The model is kept on this computer only. LightCraft never uploads or shares it.": "Das Modell bleibt nur auf diesem Computer. LightCraft lädt es nie hoch und gibt es nie weiter.", + "The processor does the work.": "Der Prozessor erledigt die Arbeit.", + "There is no model file to install": "Es gibt keine Modelldatei zum Installieren", + "This build cannot run denoise models.": "Diese Version kann keine Entrauschungsmodelle ausführen.", + "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)": "Diese Version hat keinen Speicherort für Entrauschungsmodelle, daher ist KI-Entrauschen nicht verfügbar. (Die Desktop-App schon.)", + "This file cannot be used yet": "Diese Datei kann noch nicht verwendet werden", + "Tick the box to accept the model's terms first": "Setze zuerst das Häkchen, um die Bedingungen des Modells zu akzeptieren", + "Try again": "Erneut versuchen", + "Try the graphics card again": "Grafikkarte erneut versuchen", + "Turn off": "Ausschalten", + "Unknown licence": "Unbekannte Lizenz", + "Use": "Verwenden", + "Waiting to start…": "Wartet auf Start…", + "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.": "Funktioniert mit Raw-Dateien von Kameras mit Standardsensor (Bayer). Andere Dateien behalten ihre normale Rauschreduzierung.", + "cached picture": "zwischengespeichertes Bild", + "cached pictures": "zwischengespeicherte Bilder", + "commercial use allowed": "kommerzielle Nutzung erlaubt", "denoiseModel.accept": "denoiseModel.accept", - "in use": "in use", - "installed": "installed", - "makes AI Denoise available": "makes AI Denoise available", - "non-commercial use only": "non-commercial use only", - "photo has its denoised picture.": "photo has its denoised picture.", - "photo waiting": "photo waiting", - "photos have their denoised picture.": "photos have their denoised picture.", - "photos waiting": "photos waiting", - "starts using it for AI Denoise": "starts using it for AI Denoise", - "terms unclear": "terms unclear", - "the graphics card": "the graphics card", - "the graphics card is not used": "the graphics card is not used", - "Cancel Denoise": "Cancel Denoise", - "Cancel Denoise Model Download": "Cancel Denoise Model Download", - "Choose Denoise Model": "Choose Denoise Model", - "Clear Denoise Cache": "Clear Denoise Cache", - "Denoise Model Downloads": "Denoise Model Downloads", - "Denoise Photos": "Denoise Photos", - "Denoise Pump": "Denoise Pump", - "Denoise Status": "Denoise Status", - "Download Denoise Model": "Download Denoise Model", - "Remove Denoise Model": "Remove Denoise Model", - "Test Denoise Model": "Test Denoise Model", - "AI Denoise is enabled on the requesting photo": "AI Denoise is enabled on the requesting photo", - "After installation, AI Denoise will turn on for the requesting photo.": "After installation, AI Denoise will turn on for the requesting photo.", - "Cancel pending action": "Cancel pending action", - "Install a denoise model to enable AI Denoise on this photo": "Install a denoise model to enable AI Denoise on this photo", - "Pending photo action cancelled": "Pending photo action cancelled", - "Pending photo action cancelled because its library or photo changed": "Pending photo action cancelled because its library or photo changed", - "ONNX model": "ONNX model", - "commercial use subject to GPL conditions": "commercial use subject to GPL conditions", + "in use": "in Gebrauch", + "installed": "installiert", + "makes AI Denoise available": "macht KI-Entrauschen verfügbar", + "non-commercial use only": "nur nichtkommerzielle Nutzung", + "photo has its denoised picture.": "Foto hat sein entrauschtes Bild.", + "photo waiting": "Foto wartet", + "photos have their denoised picture.": "Fotos haben ihr entrauschtes Bild.", + "photos waiting": "Fotos warten", + "starts using it for AI Denoise": "verwendet es dann für KI-Entrauschen", + "terms unclear": "Bedingungen unklar", + "the graphics card": "die Grafikkarte", + "the graphics card is not used": "die Grafikkarte wird nicht verwendet", + "Cancel Denoise": "Entrauschen abbrechen", + "Cancel Denoise Model Download": "Download des Entrauschungsmodells abbrechen", + "Choose Denoise Model": "Entrauschungsmodell wählen", + "Clear Denoise Cache": "Entrauschungs-Cache leeren", + "Denoise Model Downloads": "Downloads von Entrauschungsmodellen", + "Denoise Photos": "Fotos entrauschen", + "Denoise Pump": "Entrauschungs-Warteschlange", + "Denoise Status": "Entrauschungsstatus", + "Download Denoise Model": "Entrauschungsmodell herunterladen", + "Remove Denoise Model": "Entrauschungsmodell entfernen", + "Test Denoise Model": "Entrauschungsmodell testen", + "AI Denoise is enabled on the requesting photo": "KI-Entrauschen ist für das anfragende Foto aktiviert", + "After installation, AI Denoise will turn on for the requesting photo.": "Nach der Installation wird KI-Entrauschen für das anfragende Foto eingeschaltet.", + "Cancel pending action": "Ausstehende Aktion abbrechen", + "Install a denoise model to enable AI Denoise on this photo": "Installiere ein Entrauschungsmodell, um KI-Entrauschen für dieses Foto zu aktivieren", + "Pending photo action cancelled": "Ausstehende Fotoaktion abgebrochen", + "Pending photo action cancelled because its library or photo changed": "Ausstehende Fotoaktion abgebrochen, weil sich die Bibliothek oder das Foto geändert hat", + "ONNX model": "ONNX-Modell", + "commercial use subject to GPL conditions": "kommerzielle Nutzung unter GPL-Bedingungen", "Decrease Rating": "Bewertung verringern", "Increase Rating": "Bewertung erhöhen", "Click to type a value": "Klicken, um einen Wert einzugeben", @@ -2109,5 +2109,46 @@ "Adding to Apple Photos…": "Wird zu Apple Fotos hinzugefügt…", "not added to Apple Photos (cancelled)": "nicht zu Apple Fotos hinzugefügt (abgebrochen)", "The first time, macOS asks whether LightCraft may control Photos.": "Beim ersten Mal fragt macOS, ob LightCraft Fotos steuern darf.", - "Adding to Apple Photos": "Wird zu Apple Fotos hinzugefügt" + "Adding to Apple Photos": "Wird zu Apple Fotos hinzugefügt", + "Add Face Model…": "Gesichtsmodell hinzufügen…", + "Cancel Face Model Download": "Download des Gesichtsmodells abbrechen", + "Cancel Pending Photo Action": "Ausstehende Fotoaktion abbrechen", + "Choose Face Recognition Model": "Gesichtserkennungsmodell wählen", + "Choose a model below (Use) to start.": "Wähle unten ein Modell („Verwenden“), um zu beginnen.", + "Detect Faces": "Gesichter erkennen", + "Detect Faces (Photo menu) needs it: a small one-time download.": "„Gesichter erkennen“ (Menü „Foto“) benötigt es: ein kleiner, einmaliger Download.", + "Download Face Model": "Gesichtsmodell herunterladen", + "Drag Crop Handle": "Freistellungsgriff ziehen", + "Evaluate Face Recognition": "Gesichtserkennung bewerten", + "Face Model Downloads": "Downloads von Gesichtsmodellen", + "Face Models": "Gesichtsmodelle", + "Face Recognition On/Off": "Gesichtserkennung ein/aus", + "Face detector": "Gesichtsdetektor", + "Face recognition": "Gesichtserkennung", + "Faces": "Gesichter", + "Faces of a Person": "Gesichter einer Person", + "Go back to listing them by name": "Wieder nach Namen auflisten", + "Index Faces": "Gesichter indizieren", + "Index Faces in the Background": "Gesichter im Hintergrund indizieren", + "Inspect Face Model File": "Gesichtsmodelldatei prüfen", + "Install Face Model": "Gesichtsmodell installieren", + "Library Folders": "Bibliotheksordner", + "Name Face": "Gesicht benennen", + "Name Faces": "Gesichter benennen", + "Recognise faces (experimental)": "Gesichter erkennen (experimentell)", + "Recognition models": "Erkennungsmodelle", + "Remove Face Model": "Gesichtsmodell entfernen", + "Reorder Album": "Album umordnen", + "Show Person": "Person anzeigen", + "Sort Albums A–Z": "Alben A–Z sortieren", + "Sort Albums by Name": "Alben nach Namen sortieren", + "Sort Contents A–Z": "Inhalt A–Z sortieren", + "Suggest Names for Faces": "Namen für Gesichter vorschlagen", + "Suggests who is in a photo from the faces you have named. Everything stays on your computer.": "Schlägt anhand der von dir benannten Gesichter vor, wer auf einem Foto zu sehen ist. Alles bleibt auf deinem Computer.", + "Test Face Model": "Gesichtsmodell testen", + "This build cannot run recognition models: they can be added and chosen, not used.": "Diese Version kann keine Erkennungsmodelle ausführen: Sie lassen sich hinzufügen und auswählen, aber nicht verwenden.", + "This build has nowhere to keep face models, so the model list is not available. (The desktop app has.)": "Diese Version hat keinen Speicherort für Gesichtsmodelle, daher ist die Modellliste nicht verfügbar. (Die Desktop-App schon.)", + "Unnamed Faces": "Unbenannte Gesichter", + "smart album value|No": "Nein", + "smart album value|Yes": "Ja" } diff --git a/crates/ui-egui/locales/es-formats.json b/crates/ui-egui/locales/es-formats.json index 3dd94a934..2a81be427 100644 --- a/crates/ui-egui/locales/es-formats.json +++ b/crates/ui-egui/locales/es-formats.json @@ -197,23 +197,23 @@ "{} label (click more labels to show any of them)": "Etiqueta {} (hacer clic en más etiquetas para mostrar cualquiera de ellas)", ", {} star{}": ", {} estrella{}", ", {} label": ", etiqueta {}", - "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.": "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.", + "Downloads from {host}. Once it has arrived and checked out, LightCraft installs it, {after}.": "Se descarga de {host}. Una vez recibido y comprobado, LightCraft lo instala y {after}.", "{:.1} MB": "{:.1} MB", - "Running on the processor: {}.": "Running on the processor: {}.", - "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.": "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.", - "Denoising {name}: {done} of {total} tiles{}": "Denoising {name}: {done} of {total} tiles{}", + "Running on the processor: {}.": "Se ejecuta en el procesador: {}.", + "{} · {}. Kept in the library's “denoise” folder; the oldest ones that no photo uses go first when the limit is reached.": "{} · {}. Se guardan en la carpeta «denoise» de la biblioteca; al llegar al límite se eliminan primero las más antiguas que ninguna foto usa.", + "Denoising {name}: {done} of {total} tiles{}": "Reduciendo ruido de {name}: {done} de {total} mosaicos{}", "{size} GB": "{size} GB", - "{} of {} from {host}": "{} of {} from {host}", + "{} of {} from {host}": "{} de {} de {host}", "{} KB": "{} KB", "{} MB": "{} MB", - "Making the denoised picture… {}%": "Making the denoised picture… {}%", + "Making the denoised picture… {}%": "Generando la imagen sin ruido… {}%", "{name} · {terms}": "{name} · {terms}", "{n} {noun}": "{n} {noun}", - "Trained on: {provenance}": "Trained on: {provenance}", - " · {queued} waiting": " · {queued} waiting", - "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.": "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.", - "In line for AI Denoise ({ahead} ahead)…": "In line for AI Denoise ({ahead} ahead)…", - "Running on {}.": "Running on {}.", + "Trained on: {provenance}": "Entrenado con: {provenance}", + " · {queued} waiting": " · {queued} en espera", + "Shows the model's terms, then downloads {} from {host}, installs it and starts using it. Nothing else is sent.": "Muestra las condiciones del modelo, luego descarga {} de {host}, lo instala y empieza a usarlo. No se envía nada más.", + "In line for AI Denoise ({ahead} ahead)…": "En cola para la reducción de ruido con IA ({ahead} por delante)…", + "Running on {}.": "Se ejecuta en {}.", "{file} · {size}": "{file} · {size}", "• {assumption}": "• {assumption}", "Put inside “{parent}”": "Poner dentro de “{parent}”", diff --git a/crates/ui-egui/locales/es.json b/crates/ui-egui/locales/es.json index ff672e88d..26e93c9c9 100644 --- a/crates/ui-egui/locales/es.json +++ b/crates/ui-egui/locales/es.json @@ -126,7 +126,7 @@ "Back to Edit (E)": "Volver a Editar (E)", "Back to Grid": "Volver a la cuadrícula", "Background": "Fondo", - "Balance": "Balance", + "Balance": "Equilibrio", "Basic": "Básico", "Before": "Antes", "Before/After (Y)": "Antes/Después (Y)", @@ -1658,96 +1658,96 @@ "Captured until": "Capturadas hasta", "Only": "Solo", "Open Log Folder": "Abrir carpeta de registros", - "Back to this person": "Back to this person", - "AI Denoise": "AI Denoise", - "AI Denoise Model": "AI Denoise Model", - "AI Denoise is off: press Use on a model.": "AI Denoise is off: press Use on a model.", - "AI Denoise needs a model. Install one in Settings.": "AI Denoise needs a model. Install one in Settings.", - "Accept & Download": "Accept & Download", - "Already installed. Remove it before installing a replacement.": "Already installed. Remove it before installing a replacement.", - "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.": "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.", - "Cache": "Cache", - "Checking and installing the model…": "Checking and installing the model…", - "Checking…": "Checking…", - "Clear cache": "Clear cache", - "Denoise Models": "Denoise Models", - "Denoise Settings": "Denoise Settings", - "Denoise all photos with an Amount": "Denoise all photos with an Amount", - "Downloaded and checked. Installing…": "Downloaded and checked. Installing…", - "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", - "Inspect Denoise Model": "Inspect Denoise Model", - "Install Denoise Model": "Install Denoise Model", - "Install from file…": "Install from file…", - "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.": "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.", - "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).": "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).", - "LightCraft does not know this model, so it assumed:": "LightCraft does not know this model, so it assumed:", - "Limit": "Limit", - "Make it now": "Make it now", - "Make the denoised picture of the photos I am looking at": "Make the denoised picture of the photos I am looking at", - "Next up for AI Denoise…": "Next up for AI Denoise…", - "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.": "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.", - "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.": "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.", - "Open page": "Open page", - "Open the model's page": "Open the model's page", - "Opens the model's own page in your browser, to read about it or get the file yourself.": "Opens the model's own page in your browser, to read about it or get the file yourself.", - "Processor": "Processor", - "Set up AI Denoise…": "Set up AI Denoise…", - "Speed": "Speed", - "Starting…": "Starting…", - "Tested and works on this computer": "Tested and works on this computer", - "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works": "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works", - "The graphics card is set up when the next photo is made.": "The graphics card is set up when the next photo is made.", - "The model is kept on this computer only. LightCraft never uploads or shares it.": "The model is kept on this computer only. LightCraft never uploads or shares it.", - "The processor does the work.": "The processor does the work.", - "There is no model file to install": "There is no model file to install", - "This build cannot run denoise models.": "This build cannot run denoise models.", - "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)": "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)", - "This file cannot be used yet": "This file cannot be used yet", - "Tick the box to accept the model's terms first": "Tick the box to accept the model's terms first", - "Try again": "Try again", - "Try the graphics card again": "Try the graphics card again", - "Turn off": "Turn off", - "Unknown licence": "Unknown licence", - "Use": "Use", - "Waiting to start…": "Waiting to start…", - "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.": "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.", - "cached picture": "cached picture", - "cached pictures": "cached pictures", - "commercial use allowed": "commercial use allowed", + "Back to this person": "Volver a esta persona", + "AI Denoise": "Reducción de ruido con IA", + "AI Denoise Model": "Modelo de reducción de ruido con IA", + "AI Denoise is off: press Use on a model.": "La reducción de ruido con IA está desactivada: pulsar Usar en un modelo.", + "AI Denoise needs a model. Install one in Settings.": "La reducción de ruido con IA necesita un modelo. Instalar uno en Ajustes.", + "Accept & Download": "Aceptar y descargar", + "Already installed. Remove it before installing a replacement.": "Ya instalado. Quitarlo antes de instalar otro en su lugar.", + "Automatic uses the graphics card where it is faster than the processor: both are timed on this computer the first time a photo is made.": "Automático usa la tarjeta gráfica cuando es más rápida que el procesador: ambos se cronometran en este ordenador la primera vez que se genera una foto.", + "Cache": "Caché", + "Checking and installing the model…": "Comprobando e instalando el modelo…", + "Checking…": "Comprobando…", + "Clear cache": "Vaciar caché", + "Denoise Models": "Modelos de reducción de ruido", + "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…", + "Failed its last test": "Falló 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", + "Inspect Denoise Model": "Inspeccionar modelo de reducción de ruido", + "Install Denoise Model": "Instalar modelo de reducción de ruido", + "Install from file…": "Instalar desde archivo…", + "Install your own ONNX model with denoise-model.json beside it. This build offers no model downloads.": "Instalar un modelo ONNX propio con denoise-model.json al lado. Esta compilación no ofrece descargas de modelos.", + "Its denoised picture is not made yet, and pictures are not made on their own (Settings, AI Denoise).": "Su imagen sin ruido aún no se ha generado, y las imágenes no se generan por sí solas (Ajustes, Reducción de ruido con IA).", + "LightCraft does not know this model, so it assumed:": "LightCraft no conoce este modelo, así que ha supuesto:", + "Limit": "Límite", + "Make it now": "Generarla ahora", + "Make the denoised picture of the photos I am looking at": "Generar la imagen sin ruido de las fotos que estoy viendo", + "Next up for AI Denoise…": "Siguiente en la reducción de ruido con IA…", + "Nothing is fetched until you accept. The model is kept on this computer only; LightCraft never uploads or shares it.": "No se descarga nada hasta aceptar. El modelo se guarda solo en este ordenador; LightCraft nunca lo sube ni lo comparte.", + "Only photos whose AI Denoise amount is above 0 are made. Exports always make theirs if it is missing.": "Solo se generan las fotos cuya cantidad de reducción de ruido con IA es mayor que 0. Las exportaciones siempre generan la suya si falta.", + "Open page": "Abrir página", + "Open the model's page": "Abrir la página del modelo", + "Opens the model's own page in your browser, to read about it or get the file yourself.": "Abre la página del modelo en el navegador, para informarse sobre él u obtener el archivo manualmente.", + "Processor": "Procesador", + "Set up AI Denoise…": "Configurar la reducción de ruido con IA…", + "Speed": "Velocidad", + "Starting…": "Iniciando…", + "Tested and works on this computer": "Probado y funciona en este ordenador", + "The denoise model is installed and in use: the AI Denoise Amount slider under Detail now works": "El modelo de reducción de ruido está instalado y en uso: el regulador Cantidad de la reducción de ruido con IA en Detalle ya funciona", + "The graphics card is set up when the next photo is made.": "La tarjeta gráfica se prepara cuando se genere la próxima foto.", + "The model is kept on this computer only. LightCraft never uploads or shares it.": "El modelo se guarda solo en este ordenador. LightCraft nunca lo sube ni lo comparte.", + "The processor does the work.": "El procesador hace el trabajo.", + "There is no model file to install": "No hay ningún archivo de modelo que instalar", + "This build cannot run denoise models.": "Esta compilación no puede ejecutar modelos de reducción de ruido.", + "This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)": "Esta compilación no tiene dónde guardar modelos de reducción de ruido, así que la reducción de ruido con IA no está disponible. (La aplicación de escritorio sí).", + "This file cannot be used yet": "Este archivo aún no se puede usar", + "Tick the box to accept the model's terms first": "Marcar primero la casilla para aceptar las condiciones del modelo", + "Try again": "Reintentar", + "Try the graphics card again": "Volver a probar la tarjeta gráfica", + "Turn off": "Desactivar", + "Unknown licence": "Licencia desconocida", + "Use": "Usar", + "Waiting to start…": "Esperando para empezar…", + "Works on raw files from cameras with a standard (Bayer) sensor. Other files keep their normal noise reduction.": "Funciona con archivos raw de cámaras con sensor estándar (Bayer). Los demás archivos conservan su reducción de ruido normal.", + "cached picture": "imagen en caché", + "cached pictures": "imágenes en caché", + "commercial use allowed": "uso comercial permitido", "denoiseModel.accept": "denoiseModel.accept", - "in use": "in use", - "installed": "installed", - "makes AI Denoise available": "makes AI Denoise available", - "non-commercial use only": "non-commercial use only", - "photo has its denoised picture.": "photo has its denoised picture.", - "photo waiting": "photo waiting", - "photos have their denoised picture.": "photos have their denoised picture.", - "photos waiting": "photos waiting", - "starts using it for AI Denoise": "starts using it for AI Denoise", - "terms unclear": "terms unclear", - "the graphics card": "the graphics card", - "the graphics card is not used": "the graphics card is not used", - "Cancel Denoise": "Cancel Denoise", - "Cancel Denoise Model Download": "Cancel Denoise Model Download", - "Choose Denoise Model": "Choose Denoise Model", - "Clear Denoise Cache": "Clear Denoise Cache", - "Denoise Model Downloads": "Denoise Model Downloads", - "Denoise Photos": "Denoise Photos", - "Denoise Pump": "Denoise Pump", - "Denoise Status": "Denoise Status", - "Download Denoise Model": "Download Denoise Model", - "Remove Denoise Model": "Remove Denoise Model", - "Test Denoise Model": "Test Denoise Model", - "AI Denoise is enabled on the requesting photo": "AI Denoise is enabled on the requesting photo", - "After installation, AI Denoise will turn on for the requesting photo.": "After installation, AI Denoise will turn on for the requesting photo.", - "Cancel pending action": "Cancel pending action", - "Install a denoise model to enable AI Denoise on this photo": "Install a denoise model to enable AI Denoise on this photo", - "Pending photo action cancelled": "Pending photo action cancelled", - "Pending photo action cancelled because its library or photo changed": "Pending photo action cancelled because its library or photo changed", - "ONNX model": "ONNX model", - "commercial use subject to GPL conditions": "commercial use subject to GPL conditions", + "in use": "en uso", + "installed": "instalado", + "makes AI Denoise available": "habilita la reducción de ruido con IA", + "non-commercial use only": "solo uso no comercial", + "photo has its denoised picture.": "foto tiene su imagen sin ruido.", + "photo waiting": "foto en espera", + "photos have their denoised picture.": "fotos tienen su imagen sin ruido.", + "photos waiting": "fotos en espera", + "starts using it for AI Denoise": "empieza a usarlo para la reducción de ruido con IA", + "terms unclear": "condiciones poco claras", + "the graphics card": "la tarjeta gráfica", + "the graphics card is not used": "no se usa la tarjeta gráfica", + "Cancel Denoise": "Cancelar reducción de ruido", + "Cancel Denoise Model Download": "Cancelar descarga del modelo de reducción de ruido", + "Choose Denoise Model": "Elegir modelo de reducción de ruido", + "Clear Denoise Cache": "Vaciar caché de reducción de ruido", + "Denoise Model Downloads": "Descargas de modelos de reducción de ruido", + "Denoise Photos": "Reducir ruido de las fotos", + "Denoise Pump": "Cola de reducción de ruido", + "Denoise Status": "Estado de la reducción de ruido", + "Download Denoise Model": "Descargar modelo de reducción de ruido", + "Remove Denoise Model": "Quitar modelo de reducción de ruido", + "Test Denoise Model": "Probar modelo de reducción de ruido", + "AI Denoise is enabled on the requesting photo": "La reducción de ruido con IA se activa en la foto que la solicitó", + "After installation, AI Denoise will turn on for the requesting photo.": "Tras la instalación, la reducción de ruido con IA se activará en la foto que la solicitó.", + "Cancel pending action": "Cancelar acción pendiente", + "Install a denoise model to enable AI Denoise on this photo": "Instalar un modelo de reducción de ruido para activar la reducción de ruido con IA en esta foto", + "Pending photo action cancelled": "Acción pendiente de la foto cancelada", + "Pending photo action cancelled because its library or photo changed": "Acción pendiente de la foto cancelada porque cambió su biblioteca o su foto", + "ONNX model": "Modelo ONNX", + "commercial use subject to GPL conditions": "uso comercial sujeto a las condiciones de la GPL", "Decrease Rating": "Reducir valoración", "Increase Rating": "Aumentar valoración", "Click to type a value": "Hacer clic para escribir un valor", @@ -1951,5 +1951,204 @@ "Adding to Apple Photos…": "Añadiendo a Fotos de Apple…", "not added to Apple Photos (cancelled)": "no se añadieron a Fotos de Apple (cancelado)", "The first time, macOS asks whether LightCraft may control Photos.": "La primera vez, macOS pregunta si LightCraft puede controlar Fotos.", - "Adding to Apple Photos": "Añadiendo a Fotos de Apple" + "Adding to Apple Photos": "Añadiendo a Fotos de Apple", + "\"saved in memory but not written to disk\", the top bar shows a warning, and LightCraft keeps retrying until the": "«guardado en memoria pero no escrito en el disco», la barra superior muestra un aviso y LightCraft lo sigue intentando hasta que el", + "#106): a DNG is checked against the raw data, written to a temp file, synced and read back before it gets its": "#106): un DNG se comprueba con los datos raw, se escribe en un archivo temporal, se sincroniza y se vuelve a leer antes de recibir su", + "(`gpuReason`, `gpuFallback`), Help ▸ System Info and Settings ▸ Performance say why the GPU isn't": "(`gpuReason`, `gpuFallback`), Ayuda → Información del sistema y Ajustes → Rendimiento indican por qué no se usa la GPU", + "(e.g. D750, D780, D850, D7500, Z 50) no longer render nearly black or with crushed shadows: their black level was": "(p. ej., D750, D780, D850, D7500, Z 50) ya no se ven casi negros ni con las sombras empastadas: su nivel de negro se", + "(issue #94): an HTTP request from a web page can no longer carry a command in its body. Lines are capped at": "(issue #94): una solicitud HTTP desde una página web ya no puede llevar un comando en su cuerpo. Las líneas se limitan a", + "123 on studio-mac)\") instead of letting both write and silently drop each other's edits. A crash never leaves the": "123 en studio-mac)») en lugar de dejar que ambos escriban y se descarten en silencio las ediciones. Un bloqueo nunca deja la", + "1620 × 1080 preview, and import with their metadata: capture time, camera, lens, exposure, GPS and XMP. Their raw": "vista previa de 1620 × 1080, y se importan con sus metadatos: hora de captura, cámara, objetivo, exposición, GPS y XMP. Sus datos raw", + "23 new built-in presets: Portrait, Landscape, Urban, Food, Seasons, Vintage and B&W toners.": "23 nuevos ajustes preestablecidos integrados: Retrato, Paisaje, Urbano, Comida, Estaciones, Vintage y virados de ByN.", + "4 MiB and connections at 16.": "4 MiB y las conexiones a 16.", + "630 drivers): on Windows the window and GPU rendering use DirectX 12 only and never load the Vulkan driver unless": "con controladores 630): en Windows, la ventana y el procesamiento en GPU usan solo DirectX 12 y nunca cargan el controlador Vulkan salvo que", + "A change that can't be saved to disk (full or unplugged drive) is no longer silent: the command reports": "Un cambio que no se puede guardar en el disco (unidad llena o desconectada) ya no pasa desapercibido: el comando indica", + "A library is open in one program at a time (issue #99): opening a library that LightCraft or `lightcraft-cli` already": "Una biblioteca solo está abierta en un programa a la vez (issue #99): abrir una biblioteca que LightCraft o `lightcraft-cli` ya", + "A save that fails part-way (a full disk, a network share that drops) no longer looks like a damaged catalog": "Un guardado que falla a medias (disco lleno, una carpeta de red que se desconecta) ya no parece un catálogo dañado", + "A sleeping NAS, a dropped network share or a USB drive spinning up no longer freezes the window (issue #104):": "Un NAS en reposo, una carpeta de red caída o una unidad USB que arranca ya no bloquean la ventana (issue #104):", + "AI masks with SAM 3 (Object and Describe in the Masking panel): click an object to select it (⌥-click leaves a": "Máscaras con IA mediante SAM 3 (Objeto y Describir en el panel Máscaras): hacer clic en un objeto para seleccionarlo (⌥-clic deja una", + "Add Face Model…": "Añadir modelo de caras…", + "Auto Sync: edits apply to every selected photo. Auto B&W mix. Automatic versions.": "Sincronización automática: las ediciones se aplican a todas las fotos seleccionadas. Mezcla de ByN automática. Versiones automáticas.", + "Auto-Tag from Tracklog: GPS locations for your photos from a GPX track log, matched by capture time.": "Etiquetado automático desde registro de track: ubicaciones GPS para las fotos a partir de un registro GPX, emparejadas por hora de captura.", + "Browser version (experimental), keeping a library safe (issue #107): File ▸ Back Up Library… downloads the catalog": "Versión para navegador (experimental), para mantener segura una biblioteca (issue #107): Archivo → Hacer copia de seguridad de la biblioteca… descarga el catálogo", + "Cancel Face Model Download": "Cancelar descarga del modelo de caras", + "Cancel Pending Photo Action": "Cancelar acción pendiente de la foto", + "Canon CR2 photos from the EOS 7D, 50D, 60D, 550D, 600D, 1200D, 1300D, 5D Mark II and 1D Mark IV (and other": "Fotos CR2 de Canon de las EOS 7D, 50D, 60D, 550D, 600D, 1200D, 1300D, 5D Mark II y 1D Mark IV (y otros", + "Canon CR3 files show their full-size embedded JPEG (e.g. 6960 × 4640 on an EOS R6 Mark III) instead of the": "Los archivos CR3 de Canon muestran su JPEG incrustado a tamaño completo (p. ej., 6960 × 4640 en una EOS R6 Mark III) en lugar de la", + "Canon EOS R5 Mark II C-RAW files that opened as \"preview only\" (more than half of them, depending on the": "Los archivos C-RAW de la Canon EOS R5 Mark II que se abrían como «solo vista previa» (más de la mitad, según la", + "Choose Face Recognition Model": "Elegir modelo de reconocimiento facial", + "Choose a model below (Use) to start.": "Elegir un modelo abajo (Usar) para empezar.", + "Cmd+Shift+R, keeps the photo and clears its edits.)": "Cmd+Mayús+R, conserva la foto y borra sus ediciones).", + "Colour-label filter with several labels at once; expandable folder tree in Local.": "Filtro de etiquetas de color con varias etiquetas a la vez; árbol de carpetas desplegable en Local.", + "Colour-range masks: click the photo to sample. Luminance ranges: range bar, smoothness, luminance map.": "Máscaras de rango de color: hacer clic en la foto para tomar una muestra. Rangos de luminancia: barra de rango, suavizado, mapa de luminancia.", + "Compressed Nikon NEFs (lossless and lossy compressed, 12- and 14-bit — e.g. D3200, D5100, D7000, D750, D850, Z 50)": "NEF de Nikon comprimidos (con y sin pérdida, de 12 y 14 bits; p. ej., D3200, D5100, D7000, D750, D850, Z 50)", + "Convert to DNG, Copy as DNG, Photo Merge and smart previews no longer write straight to the final file (issue": "Convertir a DNG, Copiar como DNG, Combinar fotos y las vistas previas inteligentes ya no escriben directamente en el archivo final (issue", + "Copyright status, rights usage terms and copyright info URL in Info, metadata presets and exports.": "Estado del copyright, condiciones de uso de los derechos y URL de información de copyright en Información, ajustes preestablecidos de metadatos y exportaciones.", + "Detect Faces": "Detectar caras", + "Detect Faces (Photo menu) needs it: a small one-time download.": "Detectar caras (menú Foto) lo necesita: una pequeña descarga única.", + "Download Face Model": "Descargar modelo de caras", + "Drag Crop Handle": "Arrastrar tirador de recorte", + "Edge setting, and get a sharper zoomed-in pass in the background. The model runs inside LightCraft in pure Rust": "ajuste de borde, y reciben en segundo plano una pasada más nítida al ampliar. El modelo se ejecuta dentro de LightCraft en Rust puro", + "Edit in External Editor (⇧⌘E): a 16-bit TIFF copy, stacked, refreshed when you come back.": "Editar en editor externo (⇧⌘E): una copia TIFF de 16 bits, apilada, que se actualiza al volver.", + "Evaluate Face Recognition": "Evaluar reconocimiento facial", + "Export file names use the Rename Photos tokens ({title}, {seq:2}, {date:%Y-%m-%d}…), plus new {num}, {folder}, {lens}, {iso}, {rating}, {creator}.": "Los nombres de los archivos exportados usan las etiquetas de Cambiar nombre de las fotos ({title}, {seq:2}, {date:%Y-%m-%d}…), más las nuevas {num}, {folder}, {lens}, {iso}, {rating}, {creator}.", + "Exported files are written to a temp file and then renamed into place, so a full disk or an unplugged drive": "Los archivos exportados se escriben en un archivo temporal y luego se renombran en su lugar, así que un disco lleno o una unidad desconectada", + "Exports and renders never write over a photo's original (issue #93): exporting into the photo's own folder with": "Las exportaciones y los procesados nunca sobrescriben el original de una foto (issue #93): exportar a la propia carpeta de la foto con", + "Exports are never black because of the GPU (issue #78): a GPU render that runs out of device": "Las exportaciones nunca salen negras por culpa de la GPU (issue #78): un procesado en GPU que se queda sin", + "Face Model Downloads": "Descargas de modelos de caras", + "Face Models": "Modelos de caras", + "Face Recognition On/Off": "Reconocimiento facial activado/desactivado", + "Face detector": "Detector de caras", + "Face recognition": "Reconocimiento facial", + "Faces": "Caras", + "Faces of a Person": "Caras de una persona", + "Faster exports and card imports, with the same protection for what can't be recreated (issue #134): exports,": "Exportaciones e importaciones desde tarjeta más rápidas, con la misma protección para lo que no se puede volver a crear (issue #134): las exportaciones,", + "Go back to listing them by name": "Volver a ordenarlos por nombre", + "If your library can't be opened at launch (open in another program, unreadable, on a drive that isn't connected,": "Si la biblioteca no se puede abrir al iniciar (abierta en otro programa, ilegible, en una unidad no conectada,", + "Import presets from other editors: XMP presets, classic `.lrtemplate` files, \"DNG presets\" from mobile apps and `.zip`": "Importar ajustes preestablecidos de otros editores: ajustes XMP, archivos clásicos `.lrtemplate`, «ajustes DNG» de aplicaciones móviles y paquetes `.zip`", + "Import ▸ Copy verifies every copy, like Move (issue #96): each file is written as a new file, synced to disk and": "Importar → Copiar verifica cada copia, como Mover (issue #96): cada archivo se escribe como un archivo nuevo, se sincroniza con el disco y", + "Import ▸ Move: photos go into the destination (with the same folders and renaming as Copy, e.g.": "Importar → Mover: las fotos van al destino (con las mismas carpetas y cambios de nombre que Copiar, p. ej.,", + "Import: copy to any folder, by day / by month / one folder, rename on import, metadata preset, Copy as DNG.": "Importación: copiar a cualquier carpeta, por día / por mes / en una carpeta, cambiar el nombre al importar, ajuste preestablecido de metadatos, Copiar como DNG.", + "Index Faces": "Indexar caras", + "Index Faces in the Background": "Indexar caras en segundo plano", + "Inspect Face Model File": "Inspeccionar archivo del modelo de caras", + "Install Face Model": "Instalar modelo de caras", + "JPEG with the same name (`IMG_0001.CR3` + `IMG_0001.JPG`) no longer share one sidecar: the raw keeps `IMG_0001.xmp`,": "JPEG con el mismo nombre (`IMG_0001.CR3` + `IMG_0001.JPG`) ya no comparten un archivo complementario: el raw conserva `IMG_0001.xmp`,", + "Library Folders": "Carpetas de la biblioteca", + "LightCraft 0.2.0 and older refuse it (\"unsupported format … v2\").": "LightCraft 0.2.0 y anteriores la rechazan («unsupported format … v2»).", + "LightCraft no longer crashes at launch on Windows PCs whose Vulkan driver is broken (issue #136, e.g. some Intel UHD": "LightCraft ya no se bloquea al iniciar en PC con Windows cuyo controlador Vulkan está dañado (issue #136, p. ej., algunas Intel UHD", + "Lossy DNG files and Smart Previews open as raw photos.": "Los archivos DNG con pérdida y las vistas previas inteligentes se abren como fotos raw.", + "Luminar looks: `.lmp` files and `.mplumpack` collections import as presets (grouped by collection); the sliders": "Looks de Luminar: los archivos `.lmp` y las colecciones `.mplumpack` se importan como ajustes preestablecidos (agrupados por colección); los reguladores", + "Name Face": "Poner nombre a la cara", + "Name Faces": "Poner nombre a las caras", + "Nikon NEFs start from a colour and tone look fitted to the camera's own JPEG, as Sony ARWs do, instead of a muted,": "Los NEF de Nikon parten de un aspecto de color y tono ajustado al JPEG de la propia cámara, como los ARW de Sony, en lugar de un procesado neutro apagado", + "Nikon splits into two differently compressed halves still use the preview for now.)": "Nikon divide en dos mitades comprimidas de forma distinta siguen usando la vista previa por ahora).", + "Panasonic and Leica raws (RW2, RWL and the older RAW files, DMC-LX1 to DC-S1R II) develop from the raw data in": "Los raw de Panasonic y Leica (RW2, RWL y los archivos RAW antiguos, de la DMC-LX1 a la DC-S1R II) se revelan a partir de los datos raw en", + "Photo menu. The filmstrip has the photo context menu too. Adding a file again that is in Recently Deleted no": "menú Foto. La tira de diapositivas también tiene el menú contextual de la foto. Volver a añadir un archivo que está en Eliminadas recientemente ya no", + "Photos in Recently Deleted can be restored from the app: right-click ▸ Restore (or Delete Permanently), also in the": "Las fotos de Eliminadas recientemente se pueden restaurar desde la aplicación: clic derecho → Restaurar (o Eliminar definitivamente), también en el", + "Photos); importing (also by drag and drop), Find Missing Photos, Build / Discard Smart Previews, the Rename preview,": "fotos que faltan); la importación (también arrastrando y soltando), Buscar fotos que faltan, Generar / Descartar vistas previas inteligentes, la vista previa de Cambiar nombre,", + "Quick Collection and target album (B in the grid), keyword sets (⌥1–⌥9), colour-label sets.": "Colección rápida y álbum de destino (B en la cuadrícula), conjuntos de palabras clave (⌥1–⌥9), conjuntos de etiquetas de color.", + "Recognise faces (experimental)": "Reconocer caras (experimental)", + "Recognition models": "Modelos de reconocimiento", + "Remove Face Model": "Quitar modelo de caras", + "Rename Folder… and Move Folder To… (Local) can be undone and redone (issue #97): the folder moves back on disk with": "Cambiar nombre de carpeta… y Mover carpeta a… (Local) se pueden deshacer y rehacer (issue #97): la carpeta vuelve a su sitio en el disco con", + "Rename Photos never overwrites another photo when only the letter case changes (issue #95): on case-sensitive": "Cambiar nombre de las fotos nunca sobrescribe otra foto cuando solo cambian las mayúsculas y minúsculas (issue #95): en", + "Rename Photos reports files it could not move back after a failure (issue #105), e.g. when a network share drops": "Cambiar nombre de las fotos indica los archivos que no pudo devolver a su sitio tras un fallo (issue #105), p. ej., cuando una carpeta de red se desconecta", + "Reorder Album": "Reordenar álbum", + "Saving metadata to an XMP sidecar another application wrote no longer replaces it (issue #92): LightCraft merges its": "Guardar metadatos en un archivo XMP complementario escrito por otra aplicación ya no lo sustituye (issue #92): LightCraft combina sus", + "Settings files are never quietly reset (issue #103): a damaged `prefs.json`, `presets.json` or `view.json` is kept": "Los archivos de ajustes nunca se restablecen en silencio (issue #103): un `prefs.json`, `presets.json` o `view.json` dañado se conserva", + "Show Person": "Mostrar persona", + "Slideshow, second window, All Metadata, System Info.": "Presentación, segunda ventana, Todos los metadatos, Información del sistema.", + "Smaller, faster catalogs: photos you only looked at in Local (never added, rated or edited) are forgotten once": "Catálogos más pequeños y rápidos: las fotos que solo se vieron en Local (nunca añadidas, valoradas ni editadas) se olvidan cuando", + "Smart albums with a rule editor: match all / any / none, nested groups, 26 fields.": "Álbumes inteligentes con editor de reglas: coincidir con todas / alguna / ninguna, grupos anidados, 26 campos.", + "Sony ARWs from before about 2017 (RX100, RX100 II–V, RX10, NEX, SLT, ILCE-6000, A7 / A7 II / A7R II and their": "Los ARW de Sony de antes de 2017 aproximadamente (RX100, RX100 II–V, RX10, NEX, SLT, ILCE-6000, A7 / A7 II / A7R II y sus", + "Sony ILCE-7M4 downsized lossless ARWs now decode subsampled YCbCr tiles into linear RGB,": "Los ARW sin pérdida reducidos de la Sony ILCE-7M4 ahora descodifican los mosaicos YCbCr submuestreados a RGB lineal,", + "Sort Albums A–Z": "Ordenar álbumes A–Z", + "Sort Albums by Name": "Ordenar álbumes por nombre", + "Sort Contents A–Z": "Ordenar contenido A–Z", + "Suggest Names for Faces": "Sugerir nombres para las caras", + "Suggests who is in a photo from the faces you have named. Everything stays on your computer.": "Sugiere quién aparece en una foto a partir de las caras con nombre. Todo se queda en el ordenador.", + "TZ/ZS series, Leica D-Lux, V-Lux and C-Lux, and the GH6, GH7, G9 II, S5 II and S9 generation. They start from a": "series TZ/ZS, las Leica D-Lux, V-Lux y C-Lux, y la generación GH6, GH7, G9 II, S5 II y S9. Parten de un", + "Test Face Model": "Probar modelo de caras", + "The catalog has a format version (issue #102). Opening a library from an older LightCraft upgrades it; a library": "El catálogo tiene una versión de formato (issue #102). Abrir una biblioteca de un LightCraft anterior la actualiza; una biblioteca", + "The control port (`--control`) closes a connection as soon as it receives anything that isn't a JSON request": "El puerto de control (`--control`) cierra una conexión en cuanto recibe algo que no es una solicitud JSON", + "The thumbnail cache only ever counts and deletes its own files (issue #98): a library opened on a folder that": "La caché de miniaturas solo cuenta y elimina sus propios archivos (issue #98): una biblioteca abierta en una carpeta que", + "This build cannot run recognition models: they can be added and chosen, not used.": "Esta compilación no puede ejecutar modelos de reconocimiento: se pueden añadir y elegir, pero no usar.", + "This build has nowhere to keep face models, so the model list is not available. (The desktop app has.)": "Esta compilación no tiene dónde guardar modelos de caras, así que la lista de modelos no está disponible. (La aplicación de escritorio sí).", + "Unnamed Faces": "Caras sin nombre", + "Watched-folder auto import; Convert to DNG; Duplicate; Build Standard / 1:1 / Smart Previews.": "Importación automática desde carpeta vigilada; Convertir a DNG; Duplicar; Generar vistas previas estándar / 1:1 / inteligentes.", + "Without Saving and Quit (issue #100). It no longer quietly starts a demo session that looked like a reset library and": "sin guardar y Salir (issue #100). Ya no inicia en silencio una sesión de demostración que parecía una biblioteca restablecida y", + "`Photos/2026/20260114/20260114_001.jpg`) together with their XMP sidecars; each original leaves the card only after its": "`Photos/2026/20260114/20260114_001.jpg`) junto con sus archivos XMP complementarios; cada original sale de la tarjeta solo cuando su", + "`img_1-1.JPG`; on case-insensitive volumes the case change still goes through.": "`img_1-1.JPG`; en volúmenes que no distinguen mayúsculas, el cambio de mayúsculas se aplica igualmente.", + "a full drive) no longer counts as built and Build Smart Previews replaces it.": "una unidad llena) ya no cuenta como generada y Generar vistas previas inteligentes la sustituye.", + "afterwards (issue #101): the partial write is cut off before LightCraft retries, so the next launch replays every": "después (issue #101): la escritura parcial se recorta antes de que LightCraft lo reintente, así que el siguiente inicio reproduce cada", + "again. Change the period (or turn it off) in Settings → Performance.": "de nuevo. Cambiar el periodo (o desactivarlo) en Ajustes → Rendimiento.", + "against the library's originals no longer scans the whole library when nothing is at that path.": "con los originales de la biblioteca ya no recorre toda la biblioteca cuando no hay nada en esa ruta.", + "already has a `thumbs/` folder of other pictures no longer loses them when the cache is trimmed or cleared.": "ya tiene una carpeta `thumbs/` con otras imágenes ya no las pierde al recortar o vaciar la caché.", + "and checks the file before using it. Masks keep their selection, so they render and export without the model.": "y comprueba el archivo antes de usarlo. Las máscaras conservan su selección, así que se procesan y exportan sin el modelo.", + "and every imported photo as one zip, and File ▸ Restore Library from Backup… brings it back (the current library": "y todas las fotos importadas en un zip, y Archivo → Restaurar biblioteca desde copia de seguridad… la recupera (la biblioteca actual", + "and never freezes the window. It is optional and not part of LightCraft (Meta's SAM License, about 3.4 GB): the": "y nunca bloquea la ventana. Es opcional y no forma parte de LightCraft (licencia SAM de Meta, unos 3,4 GB): la", + "as `.corrupt-