From b14fa518fb488cdae0afd8879d604ac046b9243d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 22 Oct 2026 01:26:04 +0000 Subject: [PATCH 1/2] Fix #3494: translatable package status message ## Summary Package completion status and the show-folder prompt use i18n templates with literal text between {folder} and {note}, so @msg rows parse and translate in every locale (Illustrator-style localized status feedback). ## Tests package_status_message_templates_parse; dialogs::tests_package; complete_languages_translate_every_message. Closes storytold/vectorcraft#3494 Co-authored-by: nrq6993-a11y --- crates/ui-egui/src/dialogs/package.rs | 27 +++++++++------------ crates/ui-egui/src/dialogs/tests_package.rs | 1 + crates/ui-egui/src/i18n/bg.tsv | 6 ++--- crates/ui-egui/src/i18n/cs.tsv | 6 ++--- crates/ui-egui/src/i18n/da.tsv | 6 ++--- crates/ui-egui/src/i18n/de.tsv | 6 ++--- crates/ui-egui/src/i18n/el.tsv | 6 ++--- crates/ui-egui/src/i18n/es.tsv | 6 ++--- crates/ui-egui/src/i18n/fi.tsv | 6 ++--- crates/ui-egui/src/i18n/fr.tsv | 6 ++--- crates/ui-egui/src/i18n/hu.tsv | 6 ++--- crates/ui-egui/src/i18n/id.tsv | 6 ++--- crates/ui-egui/src/i18n/it.tsv | 6 ++--- crates/ui-egui/src/i18n/ja.tsv | 6 ++--- crates/ui-egui/src/i18n/ka.tsv | 6 ++--- crates/ui-egui/src/i18n/ko.tsv | 6 ++--- crates/ui-egui/src/i18n/nl.tsv | 6 ++--- crates/ui-egui/src/i18n/pl.tsv | 6 ++--- crates/ui-egui/src/i18n/pt-br.tsv | 6 ++--- crates/ui-egui/src/i18n/ru.tsv | 6 ++--- crates/ui-egui/src/i18n/sv.tsv | 6 ++--- crates/ui-egui/src/i18n/tests.rs | 11 +++++++++ crates/ui-egui/src/i18n/tr.tsv | 6 ++--- crates/ui-egui/src/i18n/uk.tsv | 6 ++--- crates/ui-egui/src/i18n/vi.tsv | 6 ++--- crates/ui-egui/src/i18n/zh-hans.tsv | 6 ++--- crates/ui-egui/src/i18n/zh-hant.tsv | 6 ++--- 27 files changed, 96 insertions(+), 87 deletions(-) diff --git a/crates/ui-egui/src/dialogs/package.rs b/crates/ui-egui/src/dialogs/package.rs index 020c53096..438e42854 100644 --- a/crates/ui-egui/src/dialogs/package.rs +++ b/crates/ui-egui/src/dialogs/package.rs @@ -116,19 +116,6 @@ fn confirm(app: &mut VectorcraftApp, d: &Dialog) -> Result { let missing = r["missingLinks"].as_array().map_or(0, Vec::len); // The fonts left out: their license doesn't allow it, or they aren't on this computer. let fonts = r["skippedFonts"].as_array().into_iter().flatten().filter_map(|f| f["font"].as_str()).collect::>().join(", "); - let mut note = if missing > 0 { format!(" ({missing} linked file(s) not found)") } else { String::new() }; - if !fonts.is_empty() { - note.push_str(&format!(" (fonts not copied: {fonts})")); - } - if web { - let (name, data) = (r["name"].as_str().unwrap_or("package.zip"), r["dataBase64"].as_str().unwrap_or_default()); - let bytes = vectorcraft_format::base64_decode(data).ok_or("the package came back damaged")?; - io::write_named(app, None, name, &bytes)?; - app.status(format!("Packaged {n} file(s){note}")); - return Ok(r); - } - let folder = r["folder"].as_str().unwrap_or_default().to_string(); - app.status(format!("Packaged {n} file(s) in {folder}{note}")); let mut shown_note = if missing > 0 { format!(" ({})", crate::i18n::fmt(tl!("{count} linked file(s) not found"), &[("count", &missing.to_string())])) } else { @@ -137,9 +124,19 @@ fn confirm(app: &mut VectorcraftApp, d: &Dialog) -> Result { if !fonts.is_empty() { shown_note.push_str(&format!(" ({})", crate::i18n::fmt(tl!("fonts not copied: {fonts}"), &[("fonts", &fonts)]))); } + let n_s = n.to_string(); + if web { + let (name, data) = (r["name"].as_str().unwrap_or("package.zip"), r["dataBase64"].as_str().unwrap_or_default()); + let bytes = vectorcraft_format::base64_decode(data).ok_or("the package came back damaged")?; + io::write_named(app, None, name, &bytes)?; + app.status(crate::i18n::fmt(tl!("Packaged {n} file(s){note}"), &[("n", &n_s), ("note", &shown_note)])); + return Ok(r); + } + let folder = r["folder"].as_str().unwrap_or_default().to_string(); + app.status(crate::i18n::fmt(tl!("Packaged {n} file(s) in {folder} {note}"), &[("n", &n_s), ("folder", &folder), ("note", &shown_note)])); let detail = crate::i18n::fmt( - tl!("{count} file(s) in {folder}{note}. Show the package folder?"), - &[("count", &n.to_string()), ("folder", &folder), ("note", &shown_note)], + tl!("{count} file(s) in {folder} {note}. Show the package folder?"), + &[("count", &n_s), ("folder", &folder), ("note", &shown_note)], ); ask(app, tl!("Package created"), &detail, "file.showPackage", json!({ "folder": folder })); Ok(r) diff --git a/crates/ui-egui/src/dialogs/tests_package.rs b/crates/ui-egui/src/dialogs/tests_package.rs index ecd26301b..2dc2f1254 100644 --- a/crates/ui-egui/src/dialogs/tests_package.rs +++ b/crates/ui-egui/src/dialogs/tests_package.rs @@ -103,6 +103,7 @@ fn the_web_downloads_a_zip() { assert!(!frame(&mut app).contains("Location:"), "no folder to choose"); confirm(&mut app).unwrap(); assert!(app.ui.dialog.is_none()); + assert!(app.ui.status.contains("Packaged") && app.ui.status.contains("file(s)"), "{}", app.ui.status); let got = got.borrow(); assert_eq!(got.len(), 1); assert_eq!(got[0].0, "card Folder.zip"); diff --git a/crates/ui-egui/src/i18n/bg.tsv b/crates/ui-egui/src/i18n/bg.tsv index 7aa9d517d..540028cfd 100644 --- a/crates/ui-egui/src/i18n/bg.tsv +++ b/crates/ui-egui/src/i18n/bg.tsv @@ -2168,7 +2168,7 @@ Package Пакет Package collects a saved document with its linked files and fonts. Пакетът събира запазен документ заедно с неговите свързани файлове и шрифтове. Package created Пакетът е създаден - Packaged {n} file(s) in {folder}{note} Пакетирани са {n} файла в {folder}{note} + Packaged {n} file(s) in {folder} {note} Пакетирани са {n} файла в {folder}{note} Packaged {n} file(s){note} Пакетирани са {n} файла{note} Package… Пакет… Page Страница @@ -3517,7 +3517,7 @@ Zoom Tool Инструмент „Мащаб“ Zoom with Mouse Wheel Мащабиране с колелцето на мишката Scrub Numeric Fields by Dragging Плъзгане на числени полета чрез влачене - {count} file(s) in {folder}{note}. Show the package folder? {count} файл(а) в {folder}{note}. Показване на папката на пакета? + {count} file(s) in {folder} {note}. Show the package folder? {count} файл(а) в {folder}{note}. Показване на папката на пакета? {count} linked file(s) not found {count} свързан(и) файл(а) не са намерени fonts not copied: {fonts} некопирани шрифтове: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} свързано(и) изображение(я) е/са променено(и) след запазването на този документ. Показване на новите версии? @@ -3741,7 +3741,7 @@ axis Both И двете @msg Outline Stroke: no stroked paths selected Преобразуване на щрих в контур: няма избрани пътища с щрих @msg PDF settings are not an object Настройките за PDF не са обект @msg PDF writer error: {0} Грешка на PDF записа: {0} -@msg Packaged {n} file(s) in {folder}{note} Пакетирани са {n} файла в {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Пакетирани са {n} файла в {folder}{note} @msg Packaged {n} file(s){note} Пакетирани са {n} файла{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Прегледът в браузър изисква настолното приложение (уеб версията изтегля файловете вместо това) @msg Release Guides: no guides Освобождаване на водачи: няма водачи diff --git a/crates/ui-egui/src/i18n/cs.tsv b/crates/ui-egui/src/i18n/cs.tsv index 50fc2b5de..150d11b1c 100644 --- a/crates/ui-egui/src/i18n/cs.tsv +++ b/crates/ui-egui/src/i18n/cs.tsv @@ -2383,11 +2383,11 @@ lighting Light Světlo Fonts whose licence doesn't allow embedding are not copied. Písma, jejichž licence nepovoluje vkládání, se nekopírují. Package collects a saved document with its linked files and fonts. Sbalení shromáždí uložený dokument s jeho propojenými soubory a písmy. Package created Balíček vytvořen - Packaged {n} file(s) in {folder}{note} Zabaleno souborů: {n} do {folder}{note} + Packaged {n} file(s) in {folder} {note} Zabaleno souborů: {n} do {folder}{note} Packaged {n} file(s){note} Zabaleno souborů: {n}{note} Relink Linked Files to the Document Znovu propojit propojené soubory s dokumentem Save the document first? Nejprve uložit dokument? - {count} file(s) in {folder}{note}. Show the package folder? Souborů: {count} v {folder}{note}. Zobrazit složku balíčku? + {count} file(s) in {folder} {note}. Show the package folder? Souborů: {count} v {folder}{note}. Zobrazit složku balíčku? {count} linked file(s) not found Nenalezeno propojených souborů: {count} fonts not copied: {fonts} nezkopírovaná písma: {fonts} Built-in presets are read-only: New… starts an editable copy. Vestavěná přednastavení jsou jen pro čtení: Nový… vytvoří kopii, kterou lze upravit. @@ -4127,7 +4127,7 @@ imageTrace Outline Obrys @msg Outline Stroke: no stroked paths selected Převést tah na obrys: nejsou vybrány žádné cesty s tahem @msg PDF settings are not an object nastavení PDF nejsou objekt @msg PDF writer error: {0} chyba zápisu PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Zabaleno souborů: {n} do {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Zabaleno souborů: {n} do {folder}{note} @msg Packaged {n} file(s){note} Zabaleno souborů: {n}{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Náhled v prohlížeči vyžaduje desktopovou aplikaci (webová verze místo toho stahuje soubory) @msg Release Guides: no guides Uvolnit vodítka: žádná vodítka diff --git a/crates/ui-egui/src/i18n/da.tsv b/crates/ui-egui/src/i18n/da.tsv index 189d3ea7c..037759900 100644 --- a/crates/ui-egui/src/i18n/da.tsv +++ b/crates/ui-egui/src/i18n/da.tsv @@ -2184,11 +2184,11 @@ lighting Light Lys Fonts whose licence doesn't allow embedding are not copied. Skrifttyper, hvis licens ikke tillader indlejring, kopieres ikke. Package collects a saved document with its linked files and fonts. Pakning samler et gemt dokument med dets linkede filer og skrifttyper. Package created Pakke oprettet - Packaged {n} file(s) in {folder}{note} Pakkede {n} fil(er) i {folder}{note} + Packaged {n} file(s) in {folder} {note} Pakkede {n} fil(er) i {folder}{note} Packaged {n} file(s){note} Pakkede {n} fil(er){note} Relink Linked Files to the Document Genopret link til dokumentets linkede filer Save the document first? Gem dokumentet først? - {count} file(s) in {folder}{note}. Show the package folder? {count} fil(er) i {folder}{note}. Vis pakkemappen? + {count} file(s) in {folder} {note}. Show the package folder? {count} fil(er) i {folder}{note}. Vis pakkemappen? {count} linked file(s) not found {count} linkede fil(er) ikke fundet fonts not copied: {fonts} skrifttyper ikke kopieret: {fonts} Built-in presets are read-only: New… starts an editable copy. Indbyggede forudindstillinger er skrivebeskyttede: Ny… starter en redigerbar kopi. @@ -3862,7 +3862,7 @@ imageTrace Outline Kontur @msg Outline Stroke: no stroked paths selected Konturér kurve: ingen kurver med kontur er markeret @msg PDF settings are not an object PDF-indstillinger er ikke et objekt @msg PDF writer error: {0} PDF-skriverfejl: {0} -@msg Packaged {n} file(s) in {folder}{note} Pakkede {n} fil(er) i {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Pakkede {n} fil(er) i {folder}{note} @msg Packaged {n} file(s){note} Pakkede {n} fil(er){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Forhåndsvisning i browser kræver skrivebordsappen (webversionen downloader filer i stedet) @msg Release Guides: no guides Frigiv hjælpelinjer: ingen hjælpelinjer diff --git a/crates/ui-egui/src/i18n/de.tsv b/crates/ui-egui/src/i18n/de.tsv index 76b7a6f22..15793ab3c 100644 --- a/crates/ui-egui/src/i18n/de.tsv +++ b/crates/ui-egui/src/i18n/de.tsv @@ -2180,7 +2180,7 @@ file-filter Templates Vorlagen Package Verpacken Package collects a saved document with its linked files and fonts. „Verpacken“ sammelt ein gespeichertes Dokument mit seinen verknüpften Dateien und Schriften. Package created Paket erstellt - Packaged {n} file(s) in {folder}{note} {n} Datei(en) in {folder} verpackt{note} + Packaged {n} file(s) in {folder} {note} {n} Datei(en) in {folder} verpackt{note} Packaged {n} file(s){note} {n} Datei(en) verpackt{note} Package… Verpacken… Page Seite @@ -3502,7 +3502,7 @@ effect Points Punkte Zoom Tool Zoom-Werkzeug Zoom with Mouse Wheel Mit Mausrad zoomen Scrub Numeric Fields by Dragging Zahlenfelder durch Ziehen ändern - {count} file(s) in {folder}{note}. Show the package folder? {count} Datei(en) in {folder}{note}. Paketordner anzeigen? + {count} file(s) in {folder} {note}. Show the package folder? {count} Datei(en) in {folder} {note}. Paketordner anzeigen? {count} linked file(s) not found {count} verknüpfte Datei(en) nicht gefunden fonts not copied: {fonts} nicht kopierte Schriften: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} verknüpfte(s) Bild(er) wurde(n) seit dem Speichern dieses Dokuments geändert. Die neuen Versionen anzeigen? @@ -3747,7 +3747,7 @@ theme Appearance Erscheinungsbild @msg Outline Stroke: no stroked paths selected Konturlinie: keine Pfade mit Kontur ausgewählt @msg PDF settings are not an object die PDF-Einstellungen sind kein Objekt @msg PDF writer error: {0} Fehler beim Schreiben der PDF-Datei: {0} -@msg Packaged {n} file(s) in {folder}{note} {n} Datei(en) in {folder} verpackt{note} +@msg Packaged {n} file(s) in {folder} {note} {n} Datei(en) in {folder} verpackt{note} @msg Packaged {n} file(s){note} {n} Datei(en) verpackt{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) „Vorschau im Browser“ erfordert die Desktop-App (im Web werden stattdessen Dateien heruntergeladen) @msg Release Guides: no guides Hilfslinien zurückwandeln: keine Hilfslinien diff --git a/crates/ui-egui/src/i18n/el.tsv b/crates/ui-egui/src/i18n/el.tsv index a91f0a8ae..d84206d0e 100644 --- a/crates/ui-egui/src/i18n/el.tsv +++ b/crates/ui-egui/src/i18n/el.tsv @@ -2091,7 +2091,7 @@ axis Both Και τα δύο @msg Outline Stroke: no stroked paths selected Μετατροπή περιγράμματος σε διαδρομή: δεν επιλέχθηκαν διαδρομές με περίγραμμα @msg PDF settings are not an object Οι ρυθμίσεις PDF δεν είναι αντικείμενο @msg PDF writer error: {0} Σφάλμα εγγραφής PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder}{note} @msg Packaged {n} file(s){note} Συσκευάστηκαν {n} αρχεία{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Η προεπισκόπηση σε πρόγραμμα περιήγησης απαιτεί την εφαρμογή υπολογιστή (η έκδοση ιστού πραγματοποιεί λήψη αρχείων) @msg Release Guides: no guides Αποδέσμευση οδηγών: δεν υπάρχουν οδηγοί @@ -2840,7 +2840,7 @@ theme Appearance Εμφάνιση Override Character Color Παράκαμψη χρώματος χαρακτήρων Package collects a saved document with its linked files and fonts. Η συσκευασία συγκεντρώνει ένα αποθηκευμένο έγγραφο μαζί με συνδεδεμένα αρχεία και γραμματοσειρές. Package created Η συσκευασία δημιουργήθηκε - Packaged {n} file(s) in {folder}{note} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder}{note} + Packaged {n} file(s) in {folder} {note} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder}{note} Packaged {n} file(s){note} Συσκευάστηκαν {n} αρχεία{note} Page Σελίδα Page information Πληροφορίες σελίδας @@ -3826,7 +3826,7 @@ theme Appearance Εμφάνιση Zoom to Selection Ζουμ στην επιλογή Zoom with Mouse Wheel Ζουμ με τον τροχό του ποντικιού Scrub Numeric Fields by Dragging Ρύθμιση αριθμητικών πεδίων με σύρσιμο - {count} file(s) in {folder}{note}. Show the package folder? {count} αρχεία στον φάκελο {folder}{note}. Να εμφανιστεί ο φάκελος συσκευασίας; + {count} file(s) in {folder} {note}. Show the package folder? {count} αρχεία στον φάκελο {folder}{note}. Να εμφανιστεί ο φάκελος συσκευασίας; {count} linked file(s) not found Δεν βρέθηκαν {count} συνδεδεμένα αρχεία fonts not copied: {fonts} γραμματοσειρές που δεν αντιγράφηκαν: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} συνδεδεμένες εικόνες άλλαξαν μετά την αποθήκευση του εγγράφου. Να εμφανιστούν οι νέες εκδόσεις; diff --git a/crates/ui-egui/src/i18n/es.tsv b/crates/ui-egui/src/i18n/es.tsv index 210c66742..e080d910b 100644 --- a/crates/ui-egui/src/i18n/es.tsv +++ b/crates/ui-egui/src/i18n/es.tsv @@ -2218,7 +2218,7 @@ Package Empaquetar Package collects a saved document with its linked files and fonts. Empaquetar reúne un documento guardado con sus archivos vinculados y fuentes. Package created Paquete creado - Packaged {n} file(s) in {folder}{note} Se empaquetaron {n} archivo(s) en {folder}{note} + Packaged {n} file(s) in {folder} {note} Se empaquetaron {n} archivo(s) en {folder}{note} Packaged {n} file(s){note} Se empaquetaron {n} archivo(s){note} Package… Empaquetar… Page Página @@ -3583,7 +3583,7 @@ Zoom Tool Herramienta Zoom Zoom with Mouse Wheel Zoom con la rueda del mouse Scrub Numeric Fields by Dragging Ajustar campos numéricos arrastrando - {count} file(s) in {folder}{note}. Show the package folder? {count} archivo(s) en {folder}{note}. ¿Mostrar la carpeta del paquete? + {count} file(s) in {folder} {note}. Show the package folder? {count} archivo(s) en {folder}{note}. ¿Mostrar la carpeta del paquete? {count} linked file(s) not found No se encontraron {count} archivo(s) vinculado(s) fonts not copied: {fonts} fuentes no copiadas: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} imagen(es) vinculada(s) cambiaron desde que se guardó este documento. ¿Mostrar las versiones nuevas? @@ -3823,7 +3823,7 @@ axis Both Ambos @msg Outline Stroke: no stroked paths selected Contornear trazo: no hay trazados con trazo seleccionados @msg PDF settings are not an object los ajustes de PDF no son un objeto @msg PDF writer error: {0} error del escritor de PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Se empaquetaron {n} archivo(s) en {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Se empaquetaron {n} archivo(s) en {folder}{note} @msg Packaged {n} file(s){note} Se empaquetaron {n} archivo(s){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Previsualizar en el navegador requiere la aplicación de escritorio (la versión web descarga los archivos) @msg Release Guides: no guides Soltar guías: no hay guías diff --git a/crates/ui-egui/src/i18n/fi.tsv b/crates/ui-egui/src/i18n/fi.tsv index 0d359afd5..2ad8276db 100644 --- a/crates/ui-egui/src/i18n/fi.tsv +++ b/crates/ui-egui/src/i18n/fi.tsv @@ -2331,11 +2331,11 @@ lighting Light Valo Fonts whose licence doesn't allow embedding are not copied. Fontteja, joiden lisenssi ei salli upottamista, ei kopioida. Package collects a saved document with its linked files and fonts. Paketointi kokoaa tallennetun asiakirjan sekä sen linkitetyt tiedostot ja fontit. Package created Paketti luotu - Packaged {n} file(s) in {folder}{note} Paketoitu {n} tiedosto(a) kansioon {folder}{note} + Packaged {n} file(s) in {folder} {note} Paketoitu {n} tiedosto(a) kansioon {folder}{note} Packaged {n} file(s){note} Paketoitu {n} tiedosto(a){note} Relink Linked Files to the Document Linkitä linkitetyt tiedostot uudelleen asiakirjaan Save the document first? Tallennetaanko asiakirja ensin? - {count} file(s) in {folder}{note}. Show the package folder? {count} tiedosto(a) kansiossa {folder}{note}. Näytetäänkö pakettikansio? + {count} file(s) in {folder} {note}. Show the package folder? {count} tiedosto(a) kansiossa {folder}{note}. Näytetäänkö pakettikansio? {count} linked file(s) not found {count} linkitettyä tiedostoa ei löytynyt fonts not copied: {fonts} fontteja ei kopioitu: {fonts} Built-in presets are read-only: New… starts an editable copy. Sisäiset esiasetukset ovat vain luku -tilassa: Uusi… luo muokattavan kopion. @@ -4047,7 +4047,7 @@ imageTrace Outline Ääriviiva @msg Outline Stroke: no stroked paths selected Muunna viiva ääriviivaksi: viivallisia polkuja ei ole valittu @msg PDF settings are not an object PDF-asetukset eivät ole objekti @msg PDF writer error: {0} PDF-kirjoittimen virhe: {0} -@msg Packaged {n} file(s) in {folder}{note} Paketoitiin {n} tiedosto(a) kansioon {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Paketoitiin {n} tiedosto(a) kansioon {folder}{note} @msg Packaged {n} file(s){note} Paketoitiin {n} tiedosto(a){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Esikatselu selaimessa vaatii työpöytäsovelluksen (verkkoversio lataa tiedostot sen sijaan) @msg Release Guides: no guides Vapauta apuviivat: ei apuviivoja diff --git a/crates/ui-egui/src/i18n/fr.tsv b/crates/ui-egui/src/i18n/fr.tsv index 901913321..585eeb268 100644 --- a/crates/ui-egui/src/i18n/fr.tsv +++ b/crates/ui-egui/src/i18n/fr.tsv @@ -2215,7 +2215,7 @@ Package Assembler Package collects a saved document with its linked files and fonts. Assembler rassemble un document enregistré avec ses fichiers liés et ses polices. Package created Assemblage créé - Packaged {n} file(s) in {folder}{note} {n} fichier(s) assemblé(s) dans {folder}{note} + Packaged {n} file(s) in {folder} {note} {n} fichier(s) assemblé(s) dans {folder}{note} Packaged {n} file(s){note} {n} fichier(s) assemblé(s){note} Package… Assembler… Page Page @@ -3580,7 +3580,7 @@ Zoom Tool Outil Zoom Zoom with Mouse Wheel Zoom avec la molette de la souris Scrub Numeric Fields by Dragging Modifier les champs numériques en faisant glisser - {count} file(s) in {folder}{note}. Show the package folder? {count} fichier(s) dans {folder}{note}. Afficher le dossier de l’assemblage ? + {count} file(s) in {folder} {note}. Show the package folder? {count} fichier(s) dans {folder}{note}. Afficher le dossier de l’assemblage ? {count} linked file(s) not found {count} fichier(s) lié(s) introuvable(s) fonts not copied: {fonts} polices non copiées : {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} image(s) liée(s) modifiée(s) depuis l’enregistrement de ce document. Afficher les nouvelles versions ? @@ -3820,7 +3820,7 @@ axis Both Les deux @msg Outline Stroke: no stroked paths selected Vectoriser le contour : aucun tracé avec contour sélectionné @msg PDF settings are not an object Les paramètres PDF ne sont pas un objet @msg PDF writer error: {0} Erreur du générateur PDF : {0} -@msg Packaged {n} file(s) in {folder}{note} {n} fichier(s) assemblé(s) dans {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} {n} fichier(s) assemblé(s) dans {folder}{note} @msg Packaged {n} file(s){note} {n} fichier(s) assemblé(s){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Aperçu dans le navigateur nécessite l’application de bureau (la version web télécharge les fichiers à la place) @msg Release Guides: no guides Annuler les repères : aucun repère diff --git a/crates/ui-egui/src/i18n/hu.tsv b/crates/ui-egui/src/i18n/hu.tsv index 30045f3d6..02884a9ce 100644 --- a/crates/ui-egui/src/i18n/hu.tsv +++ b/crates/ui-egui/src/i18n/hu.tsv @@ -2709,7 +2709,7 @@ file-filter Templates Sablonok Package Csomagolás Package collects a saved document with its linked files and fonts. A csomagolás egy mentett dokumentumot a csatolt fájljaival és betűtípusaival együtt gyűjt össze. Package created A csomag elkészült - Packaged {n} file(s) in {folder}{note} Becsomagolt fájlok: {n}, mappa: {folder}{note} + Packaged {n} file(s) in {folder} {note} Becsomagolt fájlok: {n}, mappa: {folder}{note} Packaged {n} file(s){note} Becsomagolt fájlok: {n}{note} Package… Csomagolás… Page Oldal @@ -4311,7 +4311,7 @@ mark-style Japanese Japán Zoom to Selection Nagyítás a kijelölésre Zoom Tool Nagyító Zoom with Mouse Wheel Nagyítás egérgörgővel - {count} file(s) in {folder}{note}. Show the package folder? Fájlok: {count}, mappa: {folder}{note}. Megnyitod a csomag mappáját? + {count} file(s) in {folder} {note}. Show the package folder? Fájlok: {count}, mappa: {folder}{note}. Megnyitod a csomag mappáját? {count} folder(s) or file(s) couldn't be read Nem olvasható mappák vagy fájlok: {count} {count} folder(s) skipped, such as other apps' and the system's folders and hidden ones Kihagyott mappák: {count} (például más alkalmazások, a rendszer és a rejtett mappák) {count} linked file(s) not found Nem található csatolt fájlok: {count} @@ -4823,7 +4823,7 @@ imageTrace Outline Körvonal @msg Opened with {_1} note(s): {_2} Megnyitva; megjegyzések: {_1}: {_2} @msg Opened {url} Megnyitva: {url} @msg Outline Stroke: no stroked paths selected Körvonal útvonallá alakítása: nincs kijelölt körvonalas útvonal -@msg Packaged {n} file(s) in {folder}{note} Becsomagolt fájlok: {n}, mappa: {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Becsomagolt fájlok: {n}, mappa: {folder}{note} @msg Packaged {n} file(s){note} Becsomagolt fájlok: {n}{note} @msg page size {w} × {h} oldalméret: {w} × {h} @msg page {0} does not exist (the PDF has {1}) nincs ilyen oldal: {0} (a PDF oldalszáma: {1}) diff --git a/crates/ui-egui/src/i18n/id.tsv b/crates/ui-egui/src/i18n/id.tsv index a4e2fc343..13a1d9789 100644 --- a/crates/ui-egui/src/i18n/id.tsv +++ b/crates/ui-egui/src/i18n/id.tsv @@ -2184,11 +2184,11 @@ lighting Light Cahaya Fonts whose licence doesn't allow embedding are not copied. Font yang lisensinya tidak mengizinkan penyematan tidak disalin. Package collects a saved document with its linked files and fonts. Package mengumpulkan dokumen tersimpan beserta file dan font yang tertaut. Package created Paket dibuat - Packaged {n} file(s) in {folder}{note} {n} file dipaketkan dalam {folder}{note} + Packaged {n} file(s) in {folder} {note} {n} file dipaketkan dalam {folder}{note} Packaged {n} file(s){note} {n} file dipaketkan{note} Relink Linked Files to the Document Tautkan ulang file tertaut ke dokumen Save the document first? Simpan dokumen terlebih dahulu? - {count} file(s) in {folder}{note}. Show the package folder? {count} file dalam {folder}{note}. Tampilkan folder paket? + {count} file(s) in {folder} {note}. Show the package folder? {count} file dalam {folder}{note}. Tampilkan folder paket? {count} linked file(s) not found {count} file tertaut tidak ditemukan fonts not copied: {fonts} font tidak disalin: {fonts} Built-in presets are read-only: New… starts an editable copy. Preset bawaan bersifat hanya-baca: Baru… memulai salinan yang dapat diedit. @@ -3862,7 +3862,7 @@ imageTrace Outline Kontur @msg Outline Stroke: no stroked paths selected Ubah goresan menjadi kontur: tidak ada jalur dengan goresan yang dipilih @msg PDF settings are not an object Pengaturan PDF bukan objek @msg PDF writer error: {0} Kesalahan penulis PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Berhasil mengemas {n} file di {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Berhasil mengemas {n} file di {folder}{note} @msg Packaged {n} file(s){note} Berhasil mengemas {n} file{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Pratinjau di Peramban memerlukan aplikasi desktop (versi web mengunduh file sebagai gantinya) @msg Release Guides: no guides Lepaskan panduan: tidak ada panduan diff --git a/crates/ui-egui/src/i18n/it.tsv b/crates/ui-egui/src/i18n/it.tsv index 4d68d2dc1..b51c0895a 100644 --- a/crates/ui-egui/src/i18n/it.tsv +++ b/crates/ui-egui/src/i18n/it.tsv @@ -2245,7 +2245,7 @@ file-filter Templates Modelli Package Crea pacchetto Package collects a saved document with its linked files and fonts. Il comando Crea pacchetto raccoglie un documento salvato insieme ai file collegati e ai font. Package created Pacchetto creato - Packaged {n} file(s) in {folder}{note} Pacchetto creato con {n} file in {folder}{note} + Packaged {n} file(s) in {folder} {note} Pacchetto creato con {n} file in {folder} {note} Packaged {n} file(s){note} Pacchetto creato con {n} file{note} Package… Crea pacchetto… Page Pagina @@ -3618,7 +3618,7 @@ mark-style Japanese Giapponese Zoom Tool Strumento Zoom Zoom with Mouse Wheel Zoom con la rotellina del mouse Scrub Numeric Fields by Dragging Regola i campi numerici trascinando - {count} file(s) in {folder}{note}. Show the package folder? {count} file in {folder}{note}. Vuoi mostrare la cartella del pacchetto? + {count} file(s) in {folder} {note}. Show the package folder? {count} file in {folder} {note}. Vuoi mostrare la cartella del pacchetto? {count} linked file(s) not found File collegati non trovati: {count} fonts not copied: {fonts} font non copiati: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? Immagini collegate modificate dopo il salvataggio di questo documento: {count}. Vuoi mostrare le nuove versioni? @@ -3863,7 +3863,7 @@ axis Both Entrambi @msg Outline Stroke: no stroked paths selected Contorna traccia: nessun tracciato con traccia selezionato @msg PDF settings are not an object Le impostazioni PDF non sono un oggetto @msg PDF writer error: {0} Errore del generatore PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Pacchetto creato con {n} file in {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Pacchetto creato con {n} file in {folder} {note} @msg Packaged {n} file(s){note} Pacchetto creato con {n} file{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Anteprima nel browser richiede l'app desktop (sul web i file vengono invece scaricati) @msg Release Guides: no guides Rilascia guide: nessuna guida diff --git a/crates/ui-egui/src/i18n/ja.tsv b/crates/ui-egui/src/i18n/ja.tsv index fb3f5b88a..f397a9825 100644 --- a/crates/ui-egui/src/i18n/ja.tsv +++ b/crates/ui-egui/src/i18n/ja.tsv @@ -3209,7 +3209,7 @@ mark-style Japanese 日本式 the preset プリセット tile {number} タイル {number} to → - {count} file(s) in {folder}{note}. Show the package folder? {folder} に {count} 個のファイル{note}。パッケージフォルダーを表示しますか? + {count} file(s) in {folder} {note}. Show the package folder? {folder} に {count} 個のファイル{note}。パッケージフォルダーを表示しますか? {count} linked file(s) not found リンクファイルが {count} 個見つかりません fonts not copied: {fonts} コピーされなかったフォント:{fonts} {count} linked image(s) changed since this document was saved. Show the new versions? 保存後に {count} 個のリンク画像が変更されています。新しいバージョンを表示しますか? @@ -3486,7 +3486,7 @@ file-filter Templates テンプレート Output Black 出力ブラック Output White 出力ホワイト Output › Mode 出力 › モード - Packaged {n} file(s) in {folder}{note} {folder} に {n} 個のファイルをパッケージしました{note} + Packaged {n} file(s) in {folder} {note} {folder} に {n} 個のファイルをパッケージしました{note} Packaged {n} file(s){note} {n} 個のファイルをパッケージしました{note} Page information ページ情報 Paragraph Style 段落スタイル @@ -4339,7 +4339,7 @@ swatch Bright Violet ビビッドバイオレット @msg {_1} linked image(s) changed on disk: Update Links shows the new versions {_1} 個のリンク画像がディスク上で変更されました: 「リンクを更新」で新しいバージョンを表示できます @msg Updated {_1} linked file(s) changed on disk ディスク上で変更された {_1} 個のリンクファイルを更新しました @msg pick a colour, gradient or pattern to save as a swatch スウォッチとして保存するカラー、グラデーション、またはパターンを選択してください -@msg Packaged {n} file(s) in {folder}{note} {n} 個のファイルを {folder} にパッケージしました{note} +@msg Packaged {n} file(s) in {folder} {note} {n} 個のファイルを {folder} にパッケージしました{note} @msg Packaged {n} file(s){note} {n} 個のファイルをパッケージしました{note} @msg choose a location for the package パッケージの保存場所を選択してください @msg missing `folder` `folder` が指定されていません diff --git a/crates/ui-egui/src/i18n/ka.tsv b/crates/ui-egui/src/i18n/ka.tsv index 89575604d..5ea99e684 100644 --- a/crates/ui-egui/src/i18n/ka.tsv +++ b/crates/ui-egui/src/i18n/ka.tsv @@ -2079,11 +2079,11 @@ lighting Light სინათლე Fonts whose licence doesn't allow embedding are not copied. შრიფტები, რომელთა ლიცენზია ჩაშენების უფლებას არ იძლევა, არ კოპირდება. Package collects a saved document with its linked files and fonts. შეფუთვა აგროვებს შენახულ დოკუმენტს მის დაკავშირებულ ფაილებთან და შრიფტებთან ერთად. Package created შეფუთვა შეიქმნა - Packaged {n} file(s) in {folder}{note} შეიფუთა ფაილები: {n}, ადგილი: {folder}{note} + Packaged {n} file(s) in {folder} {note} შეიფუთა ფაილები: {n}, ადგილი: {folder}{note} Packaged {n} file(s){note} შეიფუთა ფაილები: {n}{note} Relink Linked Files to the Document დაკავშირებული ფაილების დოკუმენტთან ხელახლა დაკავშირება Save the document first? ჯერ შევინახოთ დოკუმენტი? - {count} file(s) in {folder}{note}. Show the package folder? ფაილები: {count}, ადგილი: {folder}{note}. ვაჩვენოთ შეფუთვის საქაღალდე? + {count} file(s) in {folder} {note}. Show the package folder? ფაილები: {count}, ადგილი: {folder}{note}. ვაჩვენოთ შეფუთვის საქაღალდე? {count} linked file(s) not found ვერ მოიძებნა დაკავშირებული ფაილები: {count} fonts not copied: {fonts} არ დაკოპირდა შრიფტები: {fonts} Built-in presets are read-only: New… starts an editable copy. ჩაშენებული პრესეტები მხოლოდ წასაკითხია: „ახალი…“ ქმნის რედაქტირებად ასლს. @@ -3623,7 +3623,7 @@ effect Regular ჩვეულებრივი @msg Outline Stroke: no stroked paths selected კონტურის ფიგურად გარდაქმნა: კონტურიანი ტრაექტორიები მონიშნული არ არის @msg PDF settings are not an object PDF-ის პარამეტრები ობიექტი არ არის @msg PDF writer error: {0} PDF-ის ჩამწერის შეცდომა: {0} -@msg Packaged {n} file(s) in {folder}{note} შეფუთულია ფაილი ({n}) საქაღალდეში {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} შეფუთულია ფაილი ({n}) საქაღალდეში {folder}{note} @msg Packaged {n} file(s){note} შეფუთულია ფაილი ({n}){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) ბრაუზერში წინასწარ ნახვას დესკტოპის აპი სჭირდება (ვებში ფაილები ჩამოიტვირთება) @msg Release Guides: no guides დამხმარე ხაზების მოხსნა: დამხმარე ხაზები არ არის diff --git a/crates/ui-egui/src/i18n/ko.tsv b/crates/ui-egui/src/i18n/ko.tsv index e02bffcca..1181b8eaf 100644 --- a/crates/ui-egui/src/i18n/ko.tsv +++ b/crates/ui-egui/src/i18n/ko.tsv @@ -3203,7 +3203,7 @@ mark-style Japanese 일본식 the preset 프리셋 tile {number} 타일 {number} to ~ - {count} file(s) in {folder}{note}. Show the package folder? {folder}에 파일 {count}개{note}. 패키지 폴더를 표시하시겠습니까? + {count} file(s) in {folder} {note}. Show the package folder? {folder}에 파일 {count}개{note}. 패키지 폴더를 표시하시겠습니까? {count} linked file(s) not found 연결된 파일 {count}개를 찾을 수 없습니다 fonts not copied: {fonts} 복사되지 않은 글꼴: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? 이 문서를 저장한 이후 연결된 이미지 {count}개가 변경되었습니다. 새 버전을 표시하시겠습니까? @@ -3479,7 +3479,7 @@ file-filter Templates 템플릿 Output Black 출력 검정 Output White 출력 흰색 Output › Mode 출력 › 모드 - Packaged {n} file(s) in {folder}{note} {folder}에 파일 {n}개를 패키지했습니다{note} + Packaged {n} file(s) in {folder} {note} {folder}에 파일 {n}개를 패키지했습니다{note} Packaged {n} file(s){note} 파일 {n}개를 패키지했습니다{note} Page information 페이지 정보 Paragraph Style 단락 스타일 @@ -4271,7 +4271,7 @@ theme Appearance 외관 @msg {_1} linked image(s) changed on disk: Update Links shows the new versions 링크된 이미지 {_1}개가 디스크에서 바뀌었습니다: 링크 업데이트를 하면 새 버전이 표시됩니다 @msg Updated {_1} linked file(s) changed on disk 디스크에서 바뀐 링크된 파일 {_1}개를 업데이트했습니다 @msg pick a colour, gradient or pattern to save as a swatch 견본으로 저장할 색상, 그레이디언트 또는 패턴을 선택하세요 -@msg Packaged {n} file(s) in {folder}{note} {folder}에 파일 {n}개를 패키지했습니다{note} +@msg Packaged {n} file(s) in {folder} {note} {folder}에 파일 {n}개를 패키지했습니다{note} @msg Packaged {n} file(s){note} 파일 {n}개를 패키지했습니다{note} @msg choose a location for the package 패키지 위치를 선택하세요 @msg missing `folder` `folder`가 없습니다 diff --git a/crates/ui-egui/src/i18n/nl.tsv b/crates/ui-egui/src/i18n/nl.tsv index 9cd5ef0fa..9a43532e7 100644 --- a/crates/ui-egui/src/i18n/nl.tsv +++ b/crates/ui-egui/src/i18n/nl.tsv @@ -2198,11 +2198,11 @@ lighting Light Licht Fonts whose licence doesn't allow embedding are not copied. Lettertypen waarvan de licentie insluiten niet toestaat, worden niet gekopieerd. Package collects a saved document with its linked files and fonts. Verpakken verzamelt een opgeslagen document met zijn gekoppelde bestanden en lettertypen. Package created Pakket gemaakt - Packaged {n} file(s) in {folder}{note} {n} bestand(en) verpakt in {folder}{note} + Packaged {n} file(s) in {folder} {note} {n} bestand(en) verpakt in {folder} {note} Packaged {n} file(s){note} {n} bestand(en) verpakt{note} Relink Linked Files to the Document Gekoppelde bestanden opnieuw koppelen aan het document Save the document first? Wil je het document eerst opslaan? - {count} file(s) in {folder}{note}. Show the package folder? {count} bestand(en) in {folder}{note}. De pakketmap openen? + {count} file(s) in {folder} {note}. Show the package folder? {count} bestand(en) in {folder} {note}. De pakketmap openen? {count} linked file(s) not found {count} gekoppelde bestand(en) niet gevonden fonts not copied: {fonts} niet gekopieerde lettertypen: {fonts} Built-in presets are read-only: New… starts an editable copy. Ingebouwde voorinstellingen zijn alleen-lezen: Nieuw… start een bewerkbare kopie. @@ -3876,7 +3876,7 @@ imageTrace Outline Contour @msg Outline Stroke: no stroked paths selected Lijn omzetten in contouren: geen paden met een lijn geselecteerd @msg PDF settings are not an object PDF-instellingen zijn geen object @msg PDF writer error: {0} PDF-schrijffout: {0} -@msg Packaged {n} file(s) in {folder}{note} {n} bestand(en) verpakt in {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} {n} bestand(en) verpakt in {folder} {note} @msg Packaged {n} file(s){note} {n} bestand(en) verpakt{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Voorvertoning in browser heeft de desktop-app nodig (het web downloadt in plaats daarvan bestanden) @msg Release Guides: no guides Hulplijnen vrijgeven: geen hulplijnen diff --git a/crates/ui-egui/src/i18n/pl.tsv b/crates/ui-egui/src/i18n/pl.tsv index 2872b1580..f537afcf3 100644 --- a/crates/ui-egui/src/i18n/pl.tsv +++ b/crates/ui-egui/src/i18n/pl.tsv @@ -2296,11 +2296,11 @@ lighting Light Światło Fonts whose licence doesn't allow embedding are not copied. Czcionki, których licencja nie zezwala na osadzanie, nie są kopiowane. Package collects a saved document with its linked files and fonts. Pakowanie zbiera zapisany dokument wraz z połączonymi plikami i czcionkami. Package created Utworzono pakiet - Packaged {n} file(s) in {folder}{note} Spakowane pliki: {n} w {folder}{note} + Packaged {n} file(s) in {folder} {note} Spakowane pliki: {n} w {folder}{note} Packaged {n} file(s){note} Spakowane pliki: {n}{note} Relink Linked Files to the Document Połącz ponownie połączone pliki z dokumentem Save the document first? Najpierw zapisać dokument? - {count} file(s) in {folder}{note}. Show the package folder? Pliki: {count} w {folder}{note}. Pokazać folder pakietu? + {count} file(s) in {folder} {note}. Show the package folder? Pliki: {count} w {folder}{note}. Pokazać folder pakietu? {count} linked file(s) not found Nie znaleziono połączonych plików: {count} fonts not copied: {fonts} nieskopiowane czcionki: {fonts} Built-in presets are read-only: New… starts an editable copy. Wbudowane ustawienia są tylko do odczytu: Nowe… tworzy edytowalną kopię. @@ -3949,7 +3949,7 @@ imageTrace Outline Kontur @msg Outline Stroke: no stroked paths selected Obrys konturu: nie zaznaczono ścieżek z obrysem @msg PDF settings are not an object Ustawienia PDF nie są obiektem @msg PDF writer error: {0} Błąd zapisu PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Spakowane pliki: {n} w {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Spakowane pliki: {n} w {folder}{note} @msg Packaged {n} file(s){note} Spakowane pliki: {n}{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Podgląd w przeglądarce wymaga aplikacji desktopowej (wersja webowa zamiast tego pobiera pliki) @msg Release Guides: no guides Uwolnij linie pomocnicze: brak linii pomocniczych diff --git a/crates/ui-egui/src/i18n/pt-br.tsv b/crates/ui-egui/src/i18n/pt-br.tsv index 8f41de5d8..fac337a7b 100644 --- a/crates/ui-egui/src/i18n/pt-br.tsv +++ b/crates/ui-egui/src/i18n/pt-br.tsv @@ -2936,7 +2936,7 @@ the preset o predefinido tile {number} bloco {number} to para - {count} file(s) in {folder}{note}. Show the package folder? {count} arquivo(s) em {folder}{note}. Mostrar a pasta do pacote? + {count} file(s) in {folder} {note}. Show the package folder? {count} arquivo(s) em {folder}{note}. Mostrar a pasta do pacote? {count} linked file(s) not found {count} arquivo(s) vinculado(s) não encontrado(s) fonts not copied: {fonts} fontes não copiadas: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} imagem(ns) vinculada(s) alterada(s) desde que este documento foi salvo. Mostrar as novas versões? @@ -3406,7 +3406,7 @@ axis Both Ambos @msg Outline Stroke: no stroked paths selected Contornar traço: nenhum traçado com traço selecionado @msg PDF settings are not an object as configurações de PDF não são um objeto @msg PDF writer error: {0} Erro do gravador de PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} {n} arquivo(s) empacotado(s) em {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} {n} arquivo(s) empacotado(s) em {folder}{note} @msg Packaged {n} file(s){note} {n} arquivo(s) empacotado(s){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Visualizar no navegador exige o aplicativo para desktop (na web, os arquivos são baixados) @msg Release Guides: no guides Liberar guias: não há guias @@ -4434,7 +4434,7 @@ axis Both Ambos Output Black Preto de Saída Output White Branco de Saída Output › Mode Saída › Modo - Packaged {n} file(s) in {folder}{note} {n} arquivo(s) empacotado(s) em {folder}{note} + Packaged {n} file(s) in {folder} {note} {n} arquivo(s) empacotado(s) em {folder}{note} Packaged {n} file(s){note} {n} arquivo(s) empacotado(s){note} Page information Informações da página Paragraph Style Estilo de Parágrafo diff --git a/crates/ui-egui/src/i18n/ru.tsv b/crates/ui-egui/src/i18n/ru.tsv index 63e06c6ef..fc8645d15 100644 --- a/crates/ui-egui/src/i18n/ru.tsv +++ b/crates/ui-egui/src/i18n/ru.tsv @@ -2241,7 +2241,7 @@ file-filter Templates Шаблоны Package Упаковать Package collects a saved document with its linked files and fonts. Упаковка собирает сохранённый документ с его связанными файлами и шрифтами. Package created Пакет создан - Packaged {n} file(s) in {folder}{note} Упаковано файлов: {n} в {folder}{note} + Packaged {n} file(s) in {folder} {note} Упаковано файлов: {n} в {folder}{note} Packaged {n} file(s){note} Упаковано файлов: {n}{note} Package… Упаковать… Page Страница @@ -3614,7 +3614,7 @@ mark-style Japanese Японский Zoom Tool Инструмент «Масштаб» Zoom with Mouse Wheel Масштабировать колесом мыши Scrub Numeric Fields by Dragging Изменять числовые поля перетаскиванием - {count} file(s) in {folder}{note}. Show the package folder? Файлов: {count} в {folder}{note}. Показать папку пакета? + {count} file(s) in {folder} {note}. Show the package folder? Файлов: {count} в {folder}{note}. Показать папку пакета? {count} linked file(s) not found Не найдено связанных файлов: {count} fonts not copied: {fonts} шрифты не скопированы: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? Связанных изображений ({count}) изменились с момента сохранения этого документа. Показать новые версии? @@ -3859,7 +3859,7 @@ axis Both Оба @msg Outline Stroke: no stroked paths selected Обводка контура: не выделены контуры с обводкой @msg PDF settings are not an object параметры PDF не являются объектом @msg PDF writer error: {0} ошибка записи PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Упаковано файлов: {n} в {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Упаковано файлов: {n} в {folder}{note} @msg Packaged {n} file(s){note} Упаковано файлов: {n}{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Просмотр в браузере требует настольного приложения (web-версия скачивает файлы) @msg Release Guides: no guides Освобождение направляющих: нет направляющих diff --git a/crates/ui-egui/src/i18n/sv.tsv b/crates/ui-egui/src/i18n/sv.tsv index 71fe3e8d9..9cfe7e22e 100644 --- a/crates/ui-egui/src/i18n/sv.tsv +++ b/crates/ui-egui/src/i18n/sv.tsv @@ -2168,7 +2168,7 @@ Package Paketera Package collects a saved document with its linked files and fonts. Paketera samlar ett sparat dokument med dess länkade filer och typsnitt. Package created Paketet har skapats - Packaged {n} file(s) in {folder}{note} Paketerade {n} fil(er) i {folder}{note} + Packaged {n} file(s) in {folder} {note} Paketerade {n} fil(er) i {folder}{note} Packaged {n} file(s){note} Paketerade {n} fil(er){note} Package… Paketera… Page Sida @@ -3517,7 +3517,7 @@ Zoom Tool Zoomverktyg Zoom with Mouse Wheel Zooma med mushjulet Scrub Numeric Fields by Dragging Ändra numeriska fält genom att dra - {count} file(s) in {folder}{note}. Show the package folder? {count} fil(er) i {folder}{note}. Visa paketmappen? + {count} file(s) in {folder} {note}. Show the package folder? {count} fil(er) i {folder}{note}. Visa paketmappen? {count} linked file(s) not found {count} länkad(e) fil(er) hittades inte fonts not copied: {fonts} typsnitt som inte kopierats: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} länkad(e) bild(er) har ändrats sedan dokumentet sparades. Visa de nya versionerna? @@ -3745,7 +3745,7 @@ axis Both Båda @msg Outline Stroke: no stroked paths selected Kontur till bana: inga banor med kontur markerade @msg PDF settings are not an object PDF-inställningarna är inte ett objekt @msg PDF writer error: {0} fel i PDF-skrivaren: {0} -@msg Packaged {n} file(s) in {folder}{note} Paketerade {n} fil(er) i {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Paketerade {n} fil(er) i {folder}{note} @msg Packaged {n} file(s){note} Paketerade {n} fil(er){note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Förhandsgranska i webbläsare kräver skrivbordsappen (webbversionen hämtar filer i stället) @msg Release Guides: no guides Släpp stödlinjer: inga stödlinjer diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index a2c154e19..7725b96ba 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -1685,6 +1685,17 @@ fn messages_translate_by_template_and_their_parts() { assert_eq!(message(Lang::EN, nested), nested); } +#[test] +fn package_status_message_templates_parse() { + let c = Catalog::parse(concat!( + "@msg\tPackaged {n} file(s) in {folder} {note}\tpackaged\n", + "@msg\t{count} file(s) in {folder} {note}. Show the package folder?\tdetail\n", + )); + assert!(c.message("Packaged 1 file(s) in /tmp/foo (1 linked file(s) not found)").is_some()); + assert!(c.message("2 file(s) in /tmp/foo. Show the package folder?").is_some()); + assert!(Catalog::parse("@msg\tPackaged {n} file(s) in {folder}{note}\tbad\n").message("Packaged 1 file(s) in /a b").is_none()); +} + /// Each language that translates status and error messages ([`COMPLETE_MESSAGES`]) has an `@msg` /// row for every message in the sources that reach the status bar, so a new one can't ship /// untranslated by accident (`VECTORCRAFT_I18N_DUMP_MESSAGES=` lists them). A message listed diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index 7c5f56dce..0d85400be 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -2044,7 +2044,7 @@ Package Paket Package collects a saved document with its linked files and fonts. Paket, kayıtlı bir belgeyi bağlantılı dosyaları ve yazı tipleriyle birlikte toplar. Package created Paket oluşturuldu - Packaged {n} file(s) in {folder}{note} {folder}{note} biçiminde paketlenmiş {n} dosyası/dosyaları + Packaged {n} file(s) in {folder} {note} {folder}{note} biçiminde paketlenmiş {n} dosyası/dosyaları Packaged {n} file(s){note} Paketlenmiş {n} dosyası/dosyaları{note} Package… Paket… Page Sayfa @@ -3408,7 +3408,7 @@ Zoom Tool Yakınlaştırma Aracı Zoom with Mouse Wheel Fare Tekerleği ile Yakınlaştırma Scrub Numeric Fields by Dragging Sayısal Alanları Sürükleyerek Fırçalayın - {count} file(s) in {folder}{note}. Show the package folder? {folder}{note} içindeki {count} dosyası/dosyaları. Paket klasörü gösterilsin mi? + {count} file(s) in {folder} {note}. Show the package folder? {folder}{note} içindeki {count} dosyası/dosyaları. Paket klasörü gösterilsin mi? {count} linked file(s) not found {count} bağlantılı dosya(lar) bulunamadı fonts not copied: {fonts} kopyalanmayan yazı tipleri: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? {count} bağlantılı görseller bu belgenin kaydedilmesinden bu yana değiştirildi. Yeni sürümler gösterilsin mi? @@ -3633,7 +3633,7 @@ axis Both Her İkisi @msg Outline Stroke: no stroked paths selected Anahat Konturu: konturlu yol seçilmedi @msg PDF settings are not an object PDF ayarları bir nesne değildir @msg PDF writer error: {0} PDF yazıcı hatası: {0} -@msg Packaged {n} file(s) in {folder}{note} {folder}{note} biçiminde paketlenmiş {n} dosyası/dosyaları +@msg Packaged {n} file(s) in {folder} {note} {folder}{note} biçiminde paketlenmiş {n} dosyası/dosyaları @msg Packaged {n} file(s){note} Paketlenmiş {n} dosyası/dosyaları{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Tarayıcıdaki önizleme için masaüstü uygulaması gerekir (bunun yerine web, dosyaları indirir) @msg Release Guides: no guides Sürüm Kılavuzları: kılavuz yok diff --git a/crates/ui-egui/src/i18n/uk.tsv b/crates/ui-egui/src/i18n/uk.tsv index 1c87f1269..2a5327d3d 100644 --- a/crates/ui-egui/src/i18n/uk.tsv +++ b/crates/ui-egui/src/i18n/uk.tsv @@ -2237,7 +2237,7 @@ file-filter Templates Шаблони Package Упакувати Package collects a saved document with its linked files and fonts. Упаковка збирає збережений документ із його пов’язаними файлами та шрифтами. Package created Пакет створено - Packaged {n} file(s) in {folder}{note} Упаковано файли: {n} {folder}{note} + Packaged {n} file(s) in {folder} {note} Упаковано файли: {n} {folder}{note} Packaged {n} file(s){note} Упаковано файли: {n}{note} Package… Упакувати… Page Сторінка @@ -3611,7 +3611,7 @@ effect Points Точки Zoom Tool Інструмент «Масштаб» Zoom with Mouse Wheel Масштабувати колесом миші Scrub Numeric Fields by Dragging Змінювати числові поля перетягуванням - {count} file(s) in {folder}{note}. Show the package folder? файлів: {count} {folder}{note}. Показати папку пакета? + {count} file(s) in {folder} {note}. Show the package folder? файлів: {count} {folder}{note}. Показати папку пакета? {count} linked file(s) not found не знайдено пов’язаних файлів: {count} fonts not copied: {fonts} шрифти не скопійовано: {fonts} {count} linked image(s) changed since this document was saved. Show the new versions? пов’язані зображення ({count}) змінилися з моменту збереження цього документа. Показати нові версії? @@ -3847,7 +3847,7 @@ axis Both Обидві @msg Outline Stroke: no stroked paths selected Обведення контуру: не виділено контури з обведенням @msg PDF settings are not an object Параметри PDF не є об’єктом @msg PDF writer error: {0} Помилка запису PDF: {0} -@msg Packaged {n} file(s) in {folder}{note} Упаковано файли: {n} {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Упаковано файли: {n} {folder}{note} @msg Packaged {n} file(s){note} Упаковано файли: {n}{note} @msg Preview in Browser needs the desktop app (the web downloads files instead) Перегляд у браузері вимагає настільної програми (web-версія завантажує файли) @msg Release Guides: no guides Звільнення напрямних: немає напрямних diff --git a/crates/ui-egui/src/i18n/vi.tsv b/crates/ui-egui/src/i18n/vi.tsv index 3673b3f77..a66655964 100644 --- a/crates/ui-egui/src/i18n/vi.tsv +++ b/crates/ui-egui/src/i18n/vi.tsv @@ -2518,7 +2518,7 @@ file-filter Templates Mẫu Package Gói Package collects a saved document with its linked files and fonts. Gói thu thập tài liệu đã lưu cùng tệp liên kết và phông chữ. Package created Đã tạo gói - Packaged {n} file(s) in {folder}{note} Đã đóng gói {n} tệp trong {folder}{note} + Packaged {n} file(s) in {folder} {note} Đã đóng gói {n} tệp trong {folder}{note} Packaged {n} file(s){note} Đã đóng gói {n} tệp{note} Package… Gói… Page Trang @@ -3971,7 +3971,7 @@ mark-style Japanese Kiểu Nhật Zoom to Selection Thu phóng đến vùng chọn Zoom Tool Công cụ thu phóng Zoom with Mouse Wheel Thu phóng bằng con lăn chuột - {count} file(s) in {folder}{note}. Show the package folder? {count} tệp trong {folder}{note}. Hiện thư mục gói? + {count} file(s) in {folder} {note}. Show the package folder? {count} tệp trong {folder}{note}. Hiện thư mục gói? {count} folder(s) or file(s) couldn't be read {count} thư mục hoặc tệp không thể đọc được {count} folder(s) skipped, such as other apps' and the system's folders and hidden ones Đã bỏ qua {count} thư mục, chẳng hạn thư mục của ứng dụng khác, thư mục hệ thống và thư mục ẩn {count} linked file(s) not found Không tìm thấy {count} tệp liên kết @@ -4473,7 +4473,7 @@ theme Appearance Giao diện @msg Opened with {_1} note(s): {_2} Đã mở với {_1} ghi chú: {_2} @msg Opened {url} Đã mở {url} @msg Outline Stroke: no stroked paths selected Đường bao nét: chưa chọn đường dẫn có nét -@msg Packaged {n} file(s) in {folder}{note} Đã đóng gói {n} tệp trong {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} Đã đóng gói {n} tệp trong {folder}{note} @msg Packaged {n} file(s){note} Đã đóng gói {n} tệp{note} @msg page size {w} × {h} kích thước trang {w} × {h} @msg page {0} does not exist (the PDF has {1}) trang {0} không tồn tại (PDF có {1} trang) diff --git a/crates/ui-egui/src/i18n/zh-hans.tsv b/crates/ui-egui/src/i18n/zh-hans.tsv index 93a8a8e5a..62d6f357c 100644 --- a/crates/ui-egui/src/i18n/zh-hans.tsv +++ b/crates/ui-egui/src/i18n/zh-hans.tsv @@ -2117,7 +2117,7 @@ file-filter Templates 模板 Package 打包 Package collects a saved document with its linked files and fonts. 打包会将已存储的文件连同其链接文件与字体一并收集。 Package created 已创建打包 - Packaged {n} file(s) in {folder}{note} 已将 {n} 个文件打包于 {folder}{note} + Packaged {n} file(s) in {folder} {note} 已将 {n} 个文件打包于 {folder}{note} Packaged {n} file(s){note} 已打包 {n} 个文件{note} Package… 打包… Page 页面 @@ -3461,7 +3461,7 @@ font-script Japanese 汉字 Zoom Tool 缩放工具 Zoom with Mouse Wheel 使用鼠标滚轮缩放 Scrub Numeric Fields by Dragging 拖动以调整数值字段 - {count} file(s) in {folder}{note}. Show the package folder? {folder} 中有 {count} 个文件{note}。要显示打包文件夹吗? + {count} file(s) in {folder} {note}. Show the package folder? {folder} 中有 {count} 个文件{note}。要显示打包文件夹吗? {count} linked file(s) not found 找不到 {count} 个链接文件 fonts not copied: {fonts} 未复制的字体:{fonts} {count} linked image(s) changed since this document was saved. Show the new versions? 自存储此文档后,有 {count} 个链接图像已更改。要显示新版本吗? @@ -4066,7 +4066,7 @@ imageTrace Outline 轮廓 @msg {_1} linked file(s) can't be read here: their previews show 此处无法读取 {_1} 个链接文件:显示的是其预览 @msg {_1} linked image(s) changed on disk: Update Links shows the new versions 有 {_1} 个链接图像已在磁盘上更改:“更新链接”可显示新版本 @msg pick a colour, gradient or pattern to save as a swatch 请选取要保存为色板的颜色、渐变或图案 -@msg Packaged {n} file(s) in {folder}{note} 已将 {n} 个文件打包到 {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} 已将 {n} 个文件打包到 {folder}{note} @msg Packaged {n} file(s){note} 已打包 {n} 个文件{note} @msg choose a location for the package 请为打包选择位置 @msg missing `folder` 缺少 `folder` diff --git a/crates/ui-egui/src/i18n/zh-hant.tsv b/crates/ui-egui/src/i18n/zh-hant.tsv index 42cd32aba..9f1ed0e7c 100644 --- a/crates/ui-egui/src/i18n/zh-hant.tsv +++ b/crates/ui-egui/src/i18n/zh-hant.tsv @@ -2052,7 +2052,7 @@ file-filter Templates 範本 @msg {_1} linked file(s) can't be read here: their previews show 此處無法讀取 {_1} 個連結檔案:顯示的是其預覽 @msg {_1} linked image(s) changed on disk: Update Links shows the new versions 有 {_1} 個連結影像已在磁碟上變更:「更新連結」可顯示新版本 @msg pick a colour, gradient or pattern to save as a swatch 請挑選要儲存為色票的顏色、漸層或圖樣 -@msg Packaged {n} file(s) in {folder}{note} 已將 {n} 個檔案封裝到 {folder}{note} +@msg Packaged {n} file(s) in {folder} {note} 已將 {n} 個檔案封裝到 {folder}{note} @msg Packaged {n} file(s){note} 已封裝 {n} 個檔案{note} @msg choose a location for the package 請選擇封裝的位置 @msg missing `folder` 未提供 `folder` @@ -2990,7 +2990,7 @@ file-filter Templates 範本 Package 封裝 Package collects a saved document with its linked files and fonts. 封裝會將已儲存的文件連同其連結檔案與字體一併收集。 Package created 已建立封裝 - Packaged {n} file(s) in {folder}{note} 已將 {n} 個檔案封裝於 {folder}{note} + Packaged {n} file(s) in {folder} {note} 已將 {n} 個檔案封裝於 {folder}{note} Packaged {n} file(s){note} 已封裝 {n} 個檔案{note} Package… 封裝… Page 頁面 @@ -4377,7 +4377,7 @@ font-script Japanese 漢字 Zoom Tool 縮放工具 Zoom with Mouse Wheel 使用滑鼠滾輪縮放 Scrub Numeric Fields by Dragging 拖曳以調整數值欄位 - {count} file(s) in {folder}{note}. Show the package folder? {folder} 中有 {count} 個檔案{note}。要顯示封裝資料夾嗎? + {count} file(s) in {folder} {note}. Show the package folder? {folder} 中有 {count} 個檔案{note}。要顯示封裝資料夾嗎? {count} linked file(s) not found 找不到 {count} 個連結檔案 fonts not copied: {fonts} 未複製的字體:{fonts} {count} linked image(s) changed since this document was saved. Show the new versions? 自儲存此文件後,有 {count} 個連結影像已變更。要顯示新版本嗎? From fd8459592d2490f85b7fca69fff37c238d1a4a9a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 22 Oct 2026 04:19:38 +0000 Subject: [PATCH 2/2] Fix #3494: package status spacing without notes ## Summary Package status notes are parenthetical fragments joined with spaces; templates without {note} are used when there are no missing links or skipped fonts, so folder paths are not followed by stray spaces or double gaps. ## Tests - package_status_without_notes_has_no_extra_spaces - package_status_message_templates_parse extended Closes storytold/vectorcraft#3494 Co-authored-by: nrq6993-a11y --- crates/ui-egui/src/dialogs/package.rs | 48 +++++++++++++++------ crates/ui-egui/src/dialogs/tests_package.rs | 14 ++++++ crates/ui-egui/src/i18n/bg.tsv | 7 +++ crates/ui-egui/src/i18n/cs.tsv | 7 +++ crates/ui-egui/src/i18n/da.tsv | 7 +++ crates/ui-egui/src/i18n/de.tsv | 7 +++ crates/ui-egui/src/i18n/el.tsv | 7 +++ crates/ui-egui/src/i18n/es.tsv | 7 +++ crates/ui-egui/src/i18n/fi.tsv | 7 +++ crates/ui-egui/src/i18n/fr.tsv | 7 +++ crates/ui-egui/src/i18n/hu.tsv | 7 +++ crates/ui-egui/src/i18n/id.tsv | 7 +++ crates/ui-egui/src/i18n/it.tsv | 7 +++ crates/ui-egui/src/i18n/ja.tsv | 7 +++ crates/ui-egui/src/i18n/ka.tsv | 7 +++ crates/ui-egui/src/i18n/ko.tsv | 7 +++ crates/ui-egui/src/i18n/nl.tsv | 7 +++ crates/ui-egui/src/i18n/pl.tsv | 7 +++ crates/ui-egui/src/i18n/pt-br.tsv | 7 +++ crates/ui-egui/src/i18n/ru.tsv | 7 +++ crates/ui-egui/src/i18n/sv.tsv | 7 +++ crates/ui-egui/src/i18n/tests.rs | 8 +++- crates/ui-egui/src/i18n/tr.tsv | 8 +++- crates/ui-egui/src/i18n/uk.tsv | 7 +++ crates/ui-egui/src/i18n/vi.tsv | 7 +++ crates/ui-egui/src/i18n/zh-hans.tsv | 7 +++ crates/ui-egui/src/i18n/zh-hant.tsv | 7 +++ 27 files changed, 222 insertions(+), 17 deletions(-) diff --git a/crates/ui-egui/src/dialogs/package.rs b/crates/ui-egui/src/dialogs/package.rs index 438e42854..590218e7e 100644 --- a/crates/ui-egui/src/dialogs/package.rs +++ b/crates/ui-egui/src/dialogs/package.rs @@ -116,32 +116,52 @@ fn confirm(app: &mut VectorcraftApp, d: &Dialog) -> Result { let missing = r["missingLinks"].as_array().map_or(0, Vec::len); // The fonts left out: their license doesn't allow it, or they aren't on this computer. let fonts = r["skippedFonts"].as_array().into_iter().flatten().filter_map(|f| f["font"].as_str()).collect::>().join(", "); - let mut shown_note = if missing > 0 { - format!(" ({})", crate::i18n::fmt(tl!("{count} linked file(s) not found"), &[("count", &missing.to_string())])) - } else { - String::new() - }; - if !fonts.is_empty() { - shown_note.push_str(&format!(" ({})", crate::i18n::fmt(tl!("fonts not copied: {fonts}"), &[("fonts", &fonts)]))); - } + let shown_note = package_status_note(missing, &fonts); let n_s = n.to_string(); if web { let (name, data) = (r["name"].as_str().unwrap_or("package.zip"), r["dataBase64"].as_str().unwrap_or_default()); let bytes = vectorcraft_format::base64_decode(data).ok_or("the package came back damaged")?; io::write_named(app, None, name, &bytes)?; - app.status(crate::i18n::fmt(tl!("Packaged {n} file(s){note}"), &[("n", &n_s), ("note", &shown_note)])); + let status = if shown_note.is_empty() { + crate::i18n::fmt(tl!("Packaged {n} file(s)"), &[("n", &n_s)]) + } else { + crate::i18n::fmt(tl!("Packaged {n} file(s) {note}"), &[("n", &n_s), ("note", &shown_note)]) + }; + app.status(status); return Ok(r); } let folder = r["folder"].as_str().unwrap_or_default().to_string(); - app.status(crate::i18n::fmt(tl!("Packaged {n} file(s) in {folder} {note}"), &[("n", &n_s), ("folder", &folder), ("note", &shown_note)])); - let detail = crate::i18n::fmt( - tl!("{count} file(s) in {folder} {note}. Show the package folder?"), - &[("count", &n_s), ("folder", &folder), ("note", &shown_note)], - ); + let status = if shown_note.is_empty() { + crate::i18n::fmt(tl!("Packaged {n} file(s) in {folder}"), &[("n", &n_s), ("folder", &folder)]) + } else { + crate::i18n::fmt(tl!("Packaged {n} file(s) in {folder} {note}"), &[("n", &n_s), ("folder", &folder), ("note", &shown_note)]) + }; + app.status(status); + let detail = if shown_note.is_empty() { + crate::i18n::fmt(tl!("{count} file(s) in {folder}. Show the package folder?"), &[("count", &n_s), ("folder", &folder)]) + } else { + crate::i18n::fmt( + tl!("{count} file(s) in {folder} {note}. Show the package folder?"), + &[("count", &n_s), ("folder", &folder), ("note", &shown_note)], + ) + }; ask(app, tl!("Package created"), &detail, "file.showPackage", json!({ "folder": folder })); Ok(r) } +/// Parenthetical notes after the folder path in a package status (`(2 linked file(s) not found)` …), +/// joined with spaces and without a leading space (#3494). +fn package_status_note(missing: usize, fonts: &str) -> String { + let mut parts = Vec::new(); + if missing > 0 { + parts.push(format!("({})", crate::i18n::fmt(tl!("{count} linked file(s) not found"), &[("count", &missing.to_string())]))); + } + if !fonts.is_empty() { + parts.push(format!("({})", crate::i18n::fmt(tl!("fonts not copied: {fonts}"), &[("fonts", fonts)]))); + } + parts.join(" ") +} + /// `file.showPackage {folder}`: show a package folder in the file manager. pub fn show_package(app: &mut VectorcraftApp, p: &Value) -> Result { let folder = p.get("folder").and_then(Value::as_str).ok_or("missing `folder`")?.to_string(); diff --git a/crates/ui-egui/src/dialogs/tests_package.rs b/crates/ui-egui/src/dialogs/tests_package.rs index 2dc2f1254..68fe1c765 100644 --- a/crates/ui-egui/src/dialogs/tests_package.rs +++ b/crates/ui-egui/src/dialogs/tests_package.rs @@ -134,6 +134,20 @@ fn fonts_left_out_of_the_package_are_named() { assert!(app.ui.status.contains(gone), "{}", app.ui.status); } +#[test] +fn package_status_without_notes_has_no_extra_spaces() { + let dir = Folder::new("spaces"); + let mut app = saved(&dir); + app.run("ui.packageDialog", json!({})).unwrap(); + let out = dir.path("out"); + std::fs::create_dir_all(&out).unwrap(); + app.ui.dialog.as_mut().unwrap().fields.insert("folder".into(), json!(out)); + confirm(&mut app).unwrap(); + assert!(!app.ui.status.ends_with(' '), "{}", app.ui.status); + let detail = app.ui.dialog.as_ref().unwrap().str("detail"); + assert!(!detail.contains(" ."), "{detail}"); +} + #[test] fn package_without_a_location_says_so() { let dir = Folder::new("empty"); diff --git a/crates/ui-egui/src/i18n/bg.tsv b/crates/ui-egui/src/i18n/bg.tsv index 540028cfd..b66475eb0 100644 --- a/crates/ui-egui/src/i18n/bg.tsv +++ b/crates/ui-egui/src/i18n/bg.tsv @@ -5358,3 +5358,10 @@ theme Appearance Външен вид Fresco Фреска Effect Gallery… Галерия с ефекти… Effect Gallery Dialog Диалог „Галерия с ефекти“ +@msg Packaged {n} file(s) in {folder} Пакетирани са {n} файла в {folder} +@msg Packaged {n} file(s) {note} Пакетирани са {n} файла {note} +@msg Packaged {n} file(s) Пакетирани са {n} файла + Packaged {n} file(s) Пакетирани са {n} файла + Packaged {n} file(s) in {folder} Пакетирани са {n} файла в {folder} + Packaged {n} file(s) {note} Пакетирани са {n} файла {note} + {count} file(s) in {folder}. Show the package folder? {count} файл(а) в {folder}. Показване на папката на пакета? diff --git a/crates/ui-egui/src/i18n/cs.tsv b/crates/ui-egui/src/i18n/cs.tsv index 150d11b1c..9a5256f57 100644 --- a/crates/ui-egui/src/i18n/cs.tsv +++ b/crates/ui-egui/src/i18n/cs.tsv @@ -5402,3 +5402,10 @@ mark-style Japanese Japonské Fresco Freska Effect Gallery… Galerie efektů… Effect Gallery Dialog Dialog Galerie efektů +@msg Packaged {n} file(s) in {folder} Zabaleno souborů: {n} do {folder} +@msg Packaged {n} file(s) {note} Zabaleno souborů: {n} {note} +@msg Packaged {n} file(s) Zabaleno souborů: {n} + Packaged {n} file(s) Zabaleno souborů: {n} + Packaged {n} file(s) in {folder} Zabaleno souborů: {n} do {folder} + Packaged {n} file(s) {note} Zabaleno souborů: {n} {note} + {count} file(s) in {folder}. Show the package folder? Souborů: {count} v {folder}. Zobrazit složku balíčku? diff --git a/crates/ui-egui/src/i18n/da.tsv b/crates/ui-egui/src/i18n/da.tsv index 037759900..ea3b4cf9f 100644 --- a/crates/ui-egui/src/i18n/da.tsv +++ b/crates/ui-egui/src/i18n/da.tsv @@ -5374,3 +5374,10 @@ swatch Bright Violet Kraftig violet Fresco Fresko Effect Gallery… Effektgalleri… Effect Gallery Dialog Dialogboksen Effektgalleri +@msg Packaged {n} file(s) in {folder} Pakkede {n} fil(er) i {folder} +@msg Packaged {n} file(s) {note} Pakkede {n} fil(er) {note} +@msg Packaged {n} file(s) Pakkede {n} fil(er) + Packaged {n} file(s) Pakkede {n} fil(er) + Packaged {n} file(s) in {folder} Pakkede {n} fil(er) i {folder} + Packaged {n} file(s) {note} Pakkede {n} fil(er) {note} + {count} file(s) in {folder}. Show the package folder? {count} fil(er) i {folder}. Vis pakkemappen? diff --git a/crates/ui-egui/src/i18n/de.tsv b/crates/ui-egui/src/i18n/de.tsv index 15793ab3c..be635c5d5 100644 --- a/crates/ui-egui/src/i18n/de.tsv +++ b/crates/ui-egui/src/i18n/de.tsv @@ -4983,3 +4983,10 @@ effect Soft Weich Fresco Fresko Effect Gallery… Effekt-Galerie… Effect Gallery Dialog Dialogfeld „Effekt-Galerie“ +@msg Packaged {n} file(s) in {folder} {n} Datei(en) in {folder} verpackt +@msg Packaged {n} file(s) {note} {n} Datei(en) verpackt {note} +@msg Packaged {n} file(s) {n} Datei(en) verpackt + Packaged {n} file(s) {n} Datei(en) verpackt + Packaged {n} file(s) in {folder} {n} Datei(en) in {folder} verpackt + Packaged {n} file(s) {note} {n} Datei(en) verpackt {note} + {count} file(s) in {folder}. Show the package folder? {count} Datei(en) in {folder}. Paketordner anzeigen? diff --git a/crates/ui-egui/src/i18n/el.tsv b/crates/ui-egui/src/i18n/el.tsv index d84206d0e..3d5783a54 100644 --- a/crates/ui-egui/src/i18n/el.tsv +++ b/crates/ui-egui/src/i18n/el.tsv @@ -5354,3 +5354,10 @@ effect Points Σημεία Fresco Νωπογραφία Effect Gallery… Συλλογή εφέ… Effect Gallery Dialog Παράθυρο διαλόγου Συλλογή εφέ +@msg Packaged {n} file(s) in {folder} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder} +@msg Packaged {n} file(s) {note} Συσκευάστηκαν {n} αρχεία {note} +@msg Packaged {n} file(s) Συσκευάστηκαν {n} αρχεία + Packaged {n} file(s) Συσκευάστηκαν {n} αρχεία + Packaged {n} file(s) in {folder} Συσκευάστηκαν {n} αρχεία στον φάκελο {folder} + Packaged {n} file(s) {note} Συσκευάστηκαν {n} αρχεία {note} + {count} file(s) in {folder}. Show the package folder? {count} αρχεία στον φάκελο {folder}. Να εμφανιστεί ο φάκελος συσκευασίας; diff --git a/crates/ui-egui/src/i18n/es.tsv b/crates/ui-egui/src/i18n/es.tsv index e080d910b..369d8c0a7 100644 --- a/crates/ui-egui/src/i18n/es.tsv +++ b/crates/ui-egui/src/i18n/es.tsv @@ -5344,3 +5344,10 @@ mark-style Japanese Japonesas Fresco Fresco Effect Gallery… Galería de efectos… Effect Gallery Dialog Cuadro de diálogo Galería de efectos +@msg Packaged {n} file(s) in {folder} Se empaquetaron {n} archivo(s) en {folder} +@msg Packaged {n} file(s) {note} Se empaquetaron {n} archivo(s) {note} +@msg Packaged {n} file(s) Se empaquetaron {n} archivo(s) + Packaged {n} file(s) Se empaquetaron {n} archivo(s) + Packaged {n} file(s) in {folder} Se empaquetaron {n} archivo(s) en {folder} + Packaged {n} file(s) {note} Se empaquetaron {n} archivo(s) {note} + {count} file(s) in {folder}. Show the package folder? {count} archivo(s) en {folder}. ¿Mostrar la carpeta del paquete? diff --git a/crates/ui-egui/src/i18n/fi.tsv b/crates/ui-egui/src/i18n/fi.tsv index 2ad8276db..7d93f0751 100644 --- a/crates/ui-egui/src/i18n/fi.tsv +++ b/crates/ui-egui/src/i18n/fi.tsv @@ -5433,3 +5433,10 @@ swatch Bright Violet Kirkas violetti Fresco Fresko Effect Gallery… Tehostegalleria… Effect Gallery Dialog Tehostegalleria-valintaikkuna +@msg Packaged {n} file(s) in {folder} Paketoitiin {n} tiedosto(a) kansioon {folder} +@msg Packaged {n} file(s) {note} Paketoitiin {n} tiedosto(a) {note} +@msg Packaged {n} file(s) Paketoitiin {n} tiedosto(a) + Packaged {n} file(s) Paketoitiin {n} tiedosto(a) + Packaged {n} file(s) in {folder} Paketoitiin {n} tiedosto(a) kansioon {folder} + Packaged {n} file(s) {note} Paketoitiin {n} tiedosto(a) {note} + {count} file(s) in {folder}. Show the package folder? {count} tiedosto(a) kansiossa {folder}. Näytetäänkö pakettikansio? diff --git a/crates/ui-egui/src/i18n/fr.tsv b/crates/ui-egui/src/i18n/fr.tsv index 585eeb268..2e2c13196 100644 --- a/crates/ui-egui/src/i18n/fr.tsv +++ b/crates/ui-egui/src/i18n/fr.tsv @@ -5401,3 +5401,10 @@ theme Appearance Apparence Fresco Fresque Effect Gallery… Galerie d'effets… Effect Gallery Dialog Boîte de dialogue Galerie d'effets +@msg Packaged {n} file(s) in {folder} {n} fichier(s) assemblé(s) dans {folder} +@msg Packaged {n} file(s) {note} {n} fichier(s) assemblé(s) {note} +@msg Packaged {n} file(s) {n} fichier(s) assemblé(s) + Packaged {n} file(s) {n} fichier(s) assemblé(s) + Packaged {n} file(s) in {folder} {n} fichier(s) assemblé(s) dans {folder} + Packaged {n} file(s) {note} {n} fichier(s) assemblé(s) {note} + {count} file(s) in {folder}. Show the package folder? {count} fichier(s) dans {folder}. Afficher le dossier de l’assemblage ? diff --git a/crates/ui-egui/src/i18n/hu.tsv b/crates/ui-egui/src/i18n/hu.tsv index 02884a9ce..44166d5a0 100644 --- a/crates/ui-egui/src/i18n/hu.tsv +++ b/crates/ui-egui/src/i18n/hu.tsv @@ -5388,3 +5388,10 @@ imageTrace Outline Körvonal Fresco Freskó Effect Gallery… Effektusgaléria… Effect Gallery Dialog Effektusgaléria párbeszédpanel +@msg Packaged {n} file(s) in {folder} Becsomagolt fájlok: {n}, mappa: {folder} +@msg Packaged {n} file(s) {note} Becsomagolt fájlok: {n} {note} +@msg Packaged {n} file(s) Becsomagolt fájlok: {n} + Packaged {n} file(s) Becsomagolt fájlok: {n} + Packaged {n} file(s) in {folder} Becsomagolt fájlok: {n}, mappa: {folder} + Packaged {n} file(s) {note} Becsomagolt fájlok: {n} {note} + {count} file(s) in {folder}. Show the package folder? Fájlok: {count}, mappa: {folder}. Megnyitod a csomag mappáját? diff --git a/crates/ui-egui/src/i18n/id.tsv b/crates/ui-egui/src/i18n/id.tsv index 13a1d9789..0d18d3799 100644 --- a/crates/ui-egui/src/i18n/id.tsv +++ b/crates/ui-egui/src/i18n/id.tsv @@ -5374,3 +5374,10 @@ swatch Bright Violet Violet cerah Fresco Fresko Effect Gallery… Galeri Efek… Effect Gallery Dialog Dialog Galeri Efek +@msg Packaged {n} file(s) in {folder} Berhasil mengemas {n} file di {folder} +@msg Packaged {n} file(s) {note} Berhasil mengemas {n} file {note} +@msg Packaged {n} file(s) Berhasil mengemas {n} file + Packaged {n} file(s) Berhasil mengemas {n} file + Packaged {n} file(s) in {folder} Berhasil mengemas {n} file di {folder} + Packaged {n} file(s) {note} Berhasil mengemas {n} file {note} + {count} file(s) in {folder}. Show the package folder? {count} file dalam {folder}. Tampilkan folder paket? diff --git a/crates/ui-egui/src/i18n/it.tsv b/crates/ui-egui/src/i18n/it.tsv index b51c0895a..fdb0f9e19 100644 --- a/crates/ui-egui/src/i18n/it.tsv +++ b/crates/ui-egui/src/i18n/it.tsv @@ -5017,3 +5017,10 @@ lighting Light Luce Fresco Affresco Effect Gallery… Galleria effetti… Effect Gallery Dialog Finestra di dialogo Galleria effetti +@msg Packaged {n} file(s) in {folder} Pacchetto creato con {n} file in {folder} +@msg Packaged {n} file(s) {note} Pacchetto creato con {n} file {note} +@msg Packaged {n} file(s) Pacchetto creato con {n} file + Packaged {n} file(s) Pacchetto creato con {n} file + Packaged {n} file(s) in {folder} Pacchetto creato con {n} file in {folder} + Packaged {n} file(s) {note} Pacchetto creato con {n} file {note} + {count} file(s) in {folder}. Show the package folder? {count} file in {folder}. Vuoi mostrare la cartella del pacchetto? diff --git a/crates/ui-egui/src/i18n/ja.tsv b/crates/ui-egui/src/i18n/ja.tsv index f397a9825..671a3f835 100644 --- a/crates/ui-egui/src/i18n/ja.tsv +++ b/crates/ui-egui/src/i18n/ja.tsv @@ -5079,3 +5079,10 @@ lighting Light ライト Simulate prints overprints as Overprint Preview shows them; separations always keep them. A preset flattens transparency before printing (PostScript files always flatten it). シミュレートでは、オーバープリントプレビューと同じ見え方でオーバープリントを印刷します。分版では常にオーバープリントが保持されます。プリセットを選ぶと、印刷前に透明が分割・統合されます (PostScript ファイルでは常に分割・統合されます)。 Effect Gallery… 効果ギャラリー… Effect Gallery Dialog 効果ギャラリーダイアログ +@msg Packaged {n} file(s) in {folder} {n} 個のファイルを {folder} にパッケージしました +@msg Packaged {n} file(s) {note} {n} 個のファイルをパッケージしました {note} +@msg Packaged {n} file(s) {n} 個のファイルをパッケージしました + Packaged {n} file(s) {n} 個のファイルをパッケージしました + Packaged {n} file(s) in {folder} {n} 個のファイルを {folder} にパッケージしました + Packaged {n} file(s) {note} {n} 個のファイルをパッケージしました {note} + {count} file(s) in {folder}. Show the package folder? {folder} に {count} 個のファイル。パッケージフォルダーを表示しますか? diff --git a/crates/ui-egui/src/i18n/ka.tsv b/crates/ui-egui/src/i18n/ka.tsv index 5ea99e684..e5bd4b2fc 100644 --- a/crates/ui-egui/src/i18n/ka.tsv +++ b/crates/ui-egui/src/i18n/ka.tsv @@ -5311,3 +5311,10 @@ imageTrace Outline კონტური Select artwork to apply effects აირჩიეთ ნამუშევარი ეფექტების გამოსაყენებლად Effect Gallery… ეფექტების გალერეა… Effect Gallery Dialog ეფექტების გალერეა დიალოგი +@msg Packaged {n} file(s) in {folder} შეფუთულია ფაილი ({n}) საქაღალდეში {folder} +@msg Packaged {n} file(s) {note} შეფუთულია ფაილი ({n}) {note} +@msg Packaged {n} file(s) შეფუთულია ფაილი ({n}) + Packaged {n} file(s) შეფუთულია ფაილი ({n}) + Packaged {n} file(s) in {folder} შეფუთულია ფაილი ({n}) საქაღალდეში {folder} + Packaged {n} file(s) {note} შეფუთულია ფაილი ({n}) {note} + {count} file(s) in {folder}. Show the package folder? ფაილები: {count}, ადგილი: {folder}. ვაჩვენოთ შეფუთვის საქაღალდე? diff --git a/crates/ui-egui/src/i18n/ko.tsv b/crates/ui-egui/src/i18n/ko.tsv index 1181b8eaf..bcb591a38 100644 --- a/crates/ui-egui/src/i18n/ko.tsv +++ b/crates/ui-egui/src/i18n/ko.tsv @@ -4980,3 +4980,10 @@ lighting Light 광원 Fresco 프레스코 Effect Gallery… 효과 갤러리… Effect Gallery Dialog 효과 갤러리 대화 상자 +@msg Packaged {n} file(s) in {folder} {folder}에 파일 {n}개를 패키지했습니다 +@msg Packaged {n} file(s) {note} 파일 {n}개를 패키지했습니다 {note} +@msg Packaged {n} file(s) 파일 {n}개를 패키지했습니다 + Packaged {n} file(s) 파일 {n}개를 패키지했습니다 + Packaged {n} file(s) in {folder} {folder}에 파일 {n}개를 패키지했습니다 + Packaged {n} file(s) {note} 파일 {n}개를 패키지했습니다 {note} + {count} file(s) in {folder}. Show the package folder? {folder}에 파일 {count}개. 패키지 폴더를 표시하시겠습니까? diff --git a/crates/ui-egui/src/i18n/nl.tsv b/crates/ui-egui/src/i18n/nl.tsv index 9a43532e7..6666f4515 100644 --- a/crates/ui-egui/src/i18n/nl.tsv +++ b/crates/ui-egui/src/i18n/nl.tsv @@ -5417,3 +5417,10 @@ swatch Bright Violet Felviolet Fresco Fresco Effect Gallery… Effectgalerij… Effect Gallery Dialog Dialoogvenster Effectgalerij +@msg Packaged {n} file(s) in {folder} {n} bestand(en) verpakt in {folder} +@msg Packaged {n} file(s) {note} {n} bestand(en) verpakt {note} +@msg Packaged {n} file(s) {n} bestand(en) verpakt + Packaged {n} file(s) {n} bestand(en) verpakt + Packaged {n} file(s) in {folder} {n} bestand(en) verpakt in {folder} + Packaged {n} file(s) {note} {n} bestand(en) verpakt {note} + {count} file(s) in {folder}. Show the package folder? {count} bestand(en) in {folder}. De pakketmap openen? diff --git a/crates/ui-egui/src/i18n/pl.tsv b/crates/ui-egui/src/i18n/pl.tsv index f537afcf3..6728f08a3 100644 --- a/crates/ui-egui/src/i18n/pl.tsv +++ b/crates/ui-egui/src/i18n/pl.tsv @@ -5254,3 +5254,10 @@ mark-style Japanese Japońskie Fresco Fresk Effect Gallery… Galeria efektów… Effect Gallery Dialog Okno dialogowe Galeria efektów +@msg Packaged {n} file(s) in {folder} Spakowane pliki: {n} w {folder} +@msg Packaged {n} file(s) {note} Spakowane pliki: {n} {note} +@msg Packaged {n} file(s) Spakowane pliki: {n} + Packaged {n} file(s) Spakowane pliki: {n} + Packaged {n} file(s) in {folder} Spakowane pliki: {n} w {folder} + Packaged {n} file(s) {note} Spakowane pliki: {n} {note} + {count} file(s) in {folder}. Show the package folder? Pliki: {count} w {folder}. Pokazać folder pakietu? diff --git a/crates/ui-egui/src/i18n/pt-br.tsv b/crates/ui-egui/src/i18n/pt-br.tsv index fac337a7b..2652b733e 100644 --- a/crates/ui-egui/src/i18n/pt-br.tsv +++ b/crates/ui-egui/src/i18n/pt-br.tsv @@ -5319,3 +5319,10 @@ mark-style Japanese Japonesas Fresco Afresco Effect Gallery… Galeria de Efeitos… Effect Gallery Dialog Caixa de diálogo Galeria de Efeitos +@msg Packaged {n} file(s) in {folder} {n} arquivo(s) empacotado(s) em {folder} +@msg Packaged {n} file(s) {note} {n} arquivo(s) empacotado(s) {note} +@msg Packaged {n} file(s) {n} arquivo(s) empacotado(s) + Packaged {n} file(s) {n} arquivo(s) empacotado(s) + Packaged {n} file(s) in {folder} {n} arquivo(s) empacotado(s) em {folder} + Packaged {n} file(s) {note} {n} arquivo(s) empacotado(s) {note} + {count} file(s) in {folder}. Show the package folder? {count} arquivo(s) em {folder}. Mostrar a pasta do pacote? diff --git a/crates/ui-egui/src/i18n/ru.tsv b/crates/ui-egui/src/i18n/ru.tsv index fc8645d15..121c69b02 100644 --- a/crates/ui-egui/src/i18n/ru.tsv +++ b/crates/ui-egui/src/i18n/ru.tsv @@ -5013,3 +5013,10 @@ lighting Light Свет Fresco Фреска Effect Gallery… Галерея эффектов… Effect Gallery Dialog Диалог «Галерея эффектов» +@msg Packaged {n} file(s) in {folder} Упаковано файлов: {n} в {folder} +@msg Packaged {n} file(s) {note} Упаковано файлов: {n} {note} +@msg Packaged {n} file(s) Упаковано файлов: {n} + Packaged {n} file(s) Упаковано файлов: {n} + Packaged {n} file(s) in {folder} Упаковано файлов: {n} в {folder} + Packaged {n} file(s) {note} Упаковано файлов: {n} {note} + {count} file(s) in {folder}. Show the package folder? Файлов: {count} в {folder}. Показать папку пакета? diff --git a/crates/ui-egui/src/i18n/sv.tsv b/crates/ui-egui/src/i18n/sv.tsv index 9cfe7e22e..e667d47fe 100644 --- a/crates/ui-egui/src/i18n/sv.tsv +++ b/crates/ui-egui/src/i18n/sv.tsv @@ -5358,3 +5358,10 @@ theme Appearance Utseende Fresco Fresk Effect Gallery… Effektgalleri… Effect Gallery Dialog Dialogrutan Effektgalleri +@msg Packaged {n} file(s) in {folder} Paketerade {n} fil(er) i {folder} +@msg Packaged {n} file(s) {note} Paketerade {n} fil(er) {note} +@msg Packaged {n} file(s) Paketerade {n} fil(er) + Packaged {n} file(s) Paketerade {n} fil(er) + Packaged {n} file(s) in {folder} Paketerade {n} fil(er) i {folder} + Packaged {n} file(s) {note} Paketerade {n} fil(er) {note} + {count} file(s) in {folder}. Show the package folder? {count} fil(er) i {folder}. Visa paketmappen? diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index 7725b96ba..e0ebdf7e3 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -1688,11 +1688,15 @@ fn messages_translate_by_template_and_their_parts() { #[test] fn package_status_message_templates_parse() { let c = Catalog::parse(concat!( - "@msg\tPackaged {n} file(s) in {folder} {note}\tpackaged\n", - "@msg\t{count} file(s) in {folder} {note}. Show the package folder?\tdetail\n", + "@msg\tPackaged {n} file(s) in {folder}\tpackaged plain\n", + "@msg\tPackaged {n} file(s) in {folder} {note}\tpackaged noted\n", + "@msg\t{count} file(s) in {folder}. Show the package folder?\tdetail plain\n", + "@msg\t{count} file(s) in {folder} {note}. Show the package folder?\tdetail noted\n", )); + assert!(c.message("Packaged 1 file(s) in /tmp/foo").is_some()); assert!(c.message("Packaged 1 file(s) in /tmp/foo (1 linked file(s) not found)").is_some()); assert!(c.message("2 file(s) in /tmp/foo. Show the package folder?").is_some()); + assert!(c.message("2 file(s) in /tmp/foo (1 linked file(s) not found). Show the package folder?").is_some()); assert!(Catalog::parse("@msg\tPackaged {n} file(s) in {folder}{note}\tbad\n").message("Packaged 1 file(s) in /a b").is_none()); } diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index 0d85400be..d2bd8ad07 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -5361,8 +5361,14 @@ theme Appearance Görünüm Fresco Fresk Effect Gallery… Efekt Galerisi… Effect Gallery Dialog Efekt Galerisi İletişim Kutusu - +@msg Packaged {n} file(s) in {folder} {folder} biçiminde paketlenmiş {n} dosyası/dosyaları +@msg Packaged {n} file(s) {note} Paketlenmiş {n} dosyası/dosyaları {note} +@msg Packaged {n} file(s) Paketlenmiş {n} dosyası/dosyaları # Artwork drag between document tabs. Drop Artwork Çizimi Bırak @msg {key} must be [x, y] with finite coordinates {key}, sonlu koordinatlı [x, y] olmalı @msg ids must contain 1–10000 object ids ids 1–10000 nesne kimliği içermeli + Packaged {n} file(s) Paketlenmiş {n} dosyası/dosyaları + Packaged {n} file(s) in {folder} {folder} biçiminde paketlenmiş {n} dosyası/dosyaları + Packaged {n} file(s) {note} Paketlenmiş {n} dosyası/dosyaları {note} + {count} file(s) in {folder}. Show the package folder? {folder} içindeki {count} dosyası/dosyaları. Paket klasörü gösterilsin mi? diff --git a/crates/ui-egui/src/i18n/uk.tsv b/crates/ui-egui/src/i18n/uk.tsv index 2a5327d3d..5aeb9b144 100644 --- a/crates/ui-egui/src/i18n/uk.tsv +++ b/crates/ui-egui/src/i18n/uk.tsv @@ -4997,3 +4997,10 @@ lighting Light Світло Fresco Фреска Effect Gallery… Галерея ефектів… Effect Gallery Dialog Діалог «Галерея ефектів» +@msg Packaged {n} file(s) in {folder} Упаковано файли: {n} {folder} +@msg Packaged {n} file(s) {note} Упаковано файли: {n} {note} +@msg Packaged {n} file(s) Упаковано файли: {n} + Packaged {n} file(s) Упаковано файли: {n} + Packaged {n} file(s) in {folder} Упаковано файли: {n} {folder} + Packaged {n} file(s) {note} Упаковано файли: {n} {note} + {count} file(s) in {folder}. Show the package folder? файлів: {count} {folder}. Показати папку пакета? diff --git a/crates/ui-egui/src/i18n/vi.tsv b/crates/ui-egui/src/i18n/vi.tsv index a66655964..00f5cf042 100644 --- a/crates/ui-egui/src/i18n/vi.tsv +++ b/crates/ui-egui/src/i18n/vi.tsv @@ -4997,3 +4997,10 @@ theme Appearance Giao diện Fresco Bích họa Effect Gallery… Thư viện hiệu ứng… Effect Gallery Dialog Hộp thoại Thư viện hiệu ứng +@msg Packaged {n} file(s) in {folder} Đã đóng gói {n} tệp trong {folder} +@msg Packaged {n} file(s) {note} Đã đóng gói {n} tệp {note} +@msg Packaged {n} file(s) Đã đóng gói {n} tệp + Packaged {n} file(s) Đã đóng gói {n} tệp + Packaged {n} file(s) in {folder} Đã đóng gói {n} tệp trong {folder} + Packaged {n} file(s) {note} Đã đóng gói {n} tệp {note} + {count} file(s) in {folder}. Show the package folder? {count} tệp trong {folder}. Hiện thư mục gói? diff --git a/crates/ui-egui/src/i18n/zh-hans.tsv b/crates/ui-egui/src/i18n/zh-hans.tsv index 62d6f357c..be7bdf10b 100644 --- a/crates/ui-egui/src/i18n/zh-hans.tsv +++ b/crates/ui-egui/src/i18n/zh-hans.tsv @@ -5241,3 +5241,10 @@ lighting Light 光源 Fresco 壁画 Effect Gallery… 效果库… Effect Gallery Dialog 效果库对话框 +@msg Packaged {n} file(s) in {folder} 已将 {n} 个文件打包到 {folder} +@msg Packaged {n} file(s) {note} 已打包 {n} 个文件 {note} +@msg Packaged {n} file(s) 已打包 {n} 个文件 + Packaged {n} file(s) 已打包 {n} 个文件 + Packaged {n} file(s) in {folder} 已将 {n} 个文件打包到 {folder} + Packaged {n} file(s) {note} 已打包 {n} 个文件 {note} + {count} file(s) in {folder}. Show the package folder? {folder} 中有 {count} 个文件。要显示打包文件夹吗? diff --git a/crates/ui-egui/src/i18n/zh-hant.tsv b/crates/ui-egui/src/i18n/zh-hant.tsv index 9f1ed0e7c..01e3a90b3 100644 --- a/crates/ui-egui/src/i18n/zh-hant.tsv +++ b/crates/ui-egui/src/i18n/zh-hant.tsv @@ -5036,3 +5036,10 @@ lighting Light 光源 Fresco 壁畫 Effect Gallery… 效果庫… Effect Gallery Dialog 效果庫對話框 +@msg Packaged {n} file(s) in {folder} 已將 {n} 個檔案封裝到 {folder} +@msg Packaged {n} file(s) {note} 已封裝 {n} 個檔案 {note} +@msg Packaged {n} file(s) 已封裝 {n} 個檔案 + Packaged {n} file(s) 已封裝 {n} 個檔案 + Packaged {n} file(s) in {folder} 已將 {n} 個檔案封裝到 {folder} + Packaged {n} file(s) {note} 已封裝 {n} 個檔案 {note} + {count} file(s) in {folder}. Show the package folder? {folder} 中有 {count} 個檔案。要顯示封裝資料夾嗎?