From 6d898558fd18ee11b40818b619aabfba5271b3d1 Mon Sep 17 00:00:00 2001 From: "Ayberk A." <105879357+AyberkA0@users.noreply.github.com> Date: Thu, 15 Oct 2026 02:32:35 +0300 Subject: [PATCH] i18n: the notes for an EPS or .ai whose layers weren't read are translated (#2035) The importer wraps its reason in "the file's layers weren't read ({why}): it comes in as its page, in one layer" (and, for an .ai, "... from its editing data ({why}): they come from its PDF part"). The reasons had @msg rows, the wrappers none, so after "Opened with 1 note(s):" the whole note stayed English. The two templates are now in every language that translates messages (and pt-br, which has the reasons), and the reason inside is translated through them. These notes are pushed as warnings, so the message scan doesn't see them: a test checks them in each language. "" already has a French entry on main; layer names such as "Layer 1" are stored names and stay as they are. --- crates/ui-egui/src/i18n/cs.tsv | 2 ++ crates/ui-egui/src/i18n/de.tsv | 2 ++ crates/ui-egui/src/i18n/es.tsv | 2 ++ crates/ui-egui/src/i18n/fr.tsv | 2 ++ crates/ui-egui/src/i18n/hu.tsv | 2 ++ crates/ui-egui/src/i18n/it.tsv | 2 ++ crates/ui-egui/src/i18n/ja.tsv | 2 ++ crates/ui-egui/src/i18n/ko.tsv | 2 ++ crates/ui-egui/src/i18n/pl.tsv | 2 ++ crates/ui-egui/src/i18n/pt-br.tsv | 2 ++ crates/ui-egui/src/i18n/ru.tsv | 2 ++ crates/ui-egui/src/i18n/tests.rs | 17 +++++++++++++++++ crates/ui-egui/src/i18n/uk.tsv | 2 ++ crates/ui-egui/src/i18n/vi.tsv | 2 ++ 14 files changed, 43 insertions(+) diff --git a/crates/ui-egui/src/i18n/cs.tsv b/crates/ui-egui/src/i18n/cs.tsv index a63587637..c3a2ed98c 100644 --- a/crates/ui-egui/src/i18n/cs.tsv +++ b/crates/ui-egui/src/i18n/cs.tsv @@ -3809,6 +3809,8 @@ imageTrace Outline Obrys @msg its type is to come in as outlines, which only its page has jeho text se má načíst jako křivky, které má jen jeho stránka @msg the art on them differs from the page's in {_1}% of it kresba na nich se od stránky liší v {_1} % plochy @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same kresba na nich se od stránky liší v {_1} % plochy: přesto pocházejí z jeho dat pro úpravy +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer vrstvy souboru nebyly načteny ({_1}): soubor se otevře jako jeho stránka v jedné vrstvě +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part vrstvy souboru nebyly načteny z jeho dat pro úpravy ({_1}): pocházejí z jeho části PDF @msg `to` must be "corner" or "smooth" `to` musí být "corner" nebo "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray soubory BMP jsou RGB nebo ve stupních šedi: colorModel rgb nebo gray @msg Blend colors: select at least three objects with filled colours Prolnout barvy: vyberte alespoň tři objekty s barevnou výplní diff --git a/crates/ui-egui/src/i18n/de.tsv b/crates/ui-egui/src/i18n/de.tsv index 7ab3d7a8d..1c55ba854 100644 --- a/crates/ui-egui/src/i18n/de.tsv +++ b/crates/ui-egui/src/i18n/de.tsv @@ -3414,6 +3414,8 @@ theme Appearance Erscheinungsbild @msg its type is to come in as outlines, which only its page has sein Text soll als Pfade übernommen werden, die nur seine Seite enthält @msg the art on them differs from the page's in {_1}% of it die Grafik darauf weicht in {_1} % von der der Seite ab @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same die Grafik darauf weicht in {_1} % von der der Seite ab: sie stammen trotzdem aus seinen Bearbeitungsdaten +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer die Ebenen der Datei wurden nicht gelesen ({_1}): sie wird als ihre Seite in einer Ebene geöffnet +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part die Ebenen der Datei wurden nicht aus ihren Bearbeitungsdaten gelesen ({_1}): sie stammen aus ihrem PDF-Teil @msg `to` must be "corner" or "smooth" `to` muss "corner" oder "smooth" sein @msg BMP files are RGB or grayscale: colorModel rgb or gray BMP-Dateien sind RGB oder Graustufen: colorModel rgb oder gray @msg Blend colors: select at least three objects with filled colours Farben angleichen: Wählen Sie mindestens drei Objekte mit Flächenfarbe aus diff --git a/crates/ui-egui/src/i18n/es.tsv b/crates/ui-egui/src/i18n/es.tsv index 776354315..d17bea834 100644 --- a/crates/ui-egui/src/i18n/es.tsv +++ b/crates/ui-egui/src/i18n/es.tsv @@ -3512,6 +3512,8 @@ axis Both Ambos @msg its type is to come in as outlines, which only its page has su texto debe llegar como contornos, y solo su página los tiene @msg the art on them differs from the page's in {_1}% of it el arte de las capas difiere del de la página en el {_1} % de su superficie @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same el arte de las capas difiere del de la página en el {_1} % de su superficie: aun así proceden de sus datos de edición +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer no se leyeron las capas del archivo ({_1}): se abre como su página, en una sola capa +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part no se leyeron las capas del archivo desde sus datos de edición ({_1}): proceden de su parte PDF @msg `to` must be "corner" or "smooth" `to` debe ser "corner" o "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray los archivos BMP son RGB o en escala de grises: colorModel rgb o gray @msg Blend colors: select at least three objects with filled colours Fusionar colores: selecciona al menos tres objetos con relleno de color diff --git a/crates/ui-egui/src/i18n/fr.tsv b/crates/ui-egui/src/i18n/fr.tsv index bce18a3ce..599b7a06b 100644 --- a/crates/ui-egui/src/i18n/fr.tsv +++ b/crates/ui-egui/src/i18n/fr.tsv @@ -3509,6 +3509,8 @@ axis Both Les deux @msg its type is to come in as outlines, which only its page has son texte doit être importé sous forme de contours vectorisés, que seule sa page contient @msg the art on them differs from the page's in {_1}% of it le dessin des calques diffère de celui de la page sur {_1} % de sa surface @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same le dessin des calques diffère de celui de la page sur {_1} % de sa surface : ils proviennent malgré tout de ses données de modification +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer les calques du fichier n’ont pas été lus ({_1}) : il est ouvert tel que sa page, sur un seul calque +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part les calques du fichier n’ont pas été lus depuis ses données de modification ({_1}) : ils proviennent de sa partie PDF @msg `to` must be "corner" or "smooth" `to` doit être "corner" ou "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray Les fichiers BMP sont en RVB ou en niveaux de gris : colorModel rgb ou gray @msg Blend colors: select at least three objects with filled colours Fusion des couleurs : sélectionnez au moins trois objets dotés d’un fond de couleur diff --git a/crates/ui-egui/src/i18n/hu.tsv b/crates/ui-egui/src/i18n/hu.tsv index 1cbbba9d1..2332da341 100644 --- a/crates/ui-egui/src/i18n/hu.tsv +++ b/crates/ui-egui/src/i18n/hu.tsv @@ -4569,6 +4569,8 @@ imageTrace Outline Körvonal @msg the art is too light for any dots a grafika túl világos, egyetlen raszterpont sem keletkezik @msg the art on them differs from the page's in {_1}% of it a rajtuk lévő grafika az oldalétól ennyiben tér el: {_1}% @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same a rajtuk lévő grafika az oldalétól ennyiben tér el: {_1}%; ennek ellenére a szerkesztési adataiból származnak +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer a fájl rétegei nem olvashatók ({_1}): az oldalaként, egyetlen rétegben nyílik meg +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part a fájl rétegei nem olvashatók a szerkesztési adataiból ({_1}): a PDF-részéből származnak @msg the artboard to fit must be a positive size up to {_1} pt az illesztendő rajztábla mérete pozitív, legfeljebb {_1} pt lehet @msg the background worker stopped a háttérfolyamat leállt @msg the compressed file unpacks to more than {_1} MB a tömörített fájl kicsomagolva nagyobb lenne, mint {_1} MB diff --git a/crates/ui-egui/src/i18n/it.tsv b/crates/ui-egui/src/i18n/it.tsv index 8fb97fef6..a8f21c205 100644 --- a/crates/ui-egui/src/i18n/it.tsv +++ b/crates/ui-egui/src/i18n/it.tsv @@ -3514,6 +3514,8 @@ axis Both Entrambi @msg its type is to come in as outlines, which only its page has il suo testo deve arrivare come contorni, che ha solo la sua pagina @msg the art on them differs from the page's in {_1}% of it l'illustrazione dei livelli differisce da quella della pagina per il {_1}% della sua superficie @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same l'illustrazione dei livelli differisce da quella della pagina per il {_1}% della sua superficie: provengono comunque dai suoi dati di modifica +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer i livelli del file non sono stati letti ({_1}): si apre come la sua pagina, in un solo livello +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part i livelli del file non sono stati letti dai suoi dati di modifica ({_1}): provengono dalla sua parte PDF @msg `to` must be "corner" or "smooth" `to` deve essere "corner" o "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray I file BMP sono RGB o in scala di grigi: colorModel rgb o gray @msg Blend colors: select at least three objects with filled colours Fondi colori: seleziona almeno tre oggetti con riempimento colore diff --git a/crates/ui-egui/src/i18n/ja.tsv b/crates/ui-egui/src/i18n/ja.tsv index ac3721588..176fa87d3 100644 --- a/crates/ui-egui/src/i18n/ja.tsv +++ b/crates/ui-egui/src/i18n/ja.tsv @@ -3833,6 +3833,8 @@ theme Appearance 外観 @msg its page has text, and its layers have no text objects to put it in ページにテキストがありますが、レイヤーにはそれを入れるテキストオブジェクトがありません @msg the art on them differs from the page's in {_1}% of it レイヤー上のアートの {_1}% がページのアートと異なります @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same レイヤー上のアートの {_1}% がページのアートと異なりますが、レイヤーは編集データから読み込まれました +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer ファイルのレイヤーを読み込めませんでした ({_1})。ページとして 1 つのレイヤーに読み込みます +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part 編集データからファイルのレイヤーを読み込めませんでした ({_1})。PDF 部分から読み込みます @msg its Windows metafile preview was opened instead, which may simplify the art 代わりに Windows メタファイルのプレビューを開いたため、アートが簡略化されている場合があります @msg its preview was placed instead, at screen resolution 代わりにプレビューを画面解像度で配置しました @msg shadings of more than 4096 patches or triangles were left out パッチまたは三角形が 4096 個を超えるシェーディングは除外されました diff --git a/crates/ui-egui/src/i18n/ko.tsv b/crates/ui-egui/src/i18n/ko.tsv index 03b81bc48..de1951730 100644 --- a/crates/ui-egui/src/i18n/ko.tsv +++ b/crates/ui-egui/src/i18n/ko.tsv @@ -3811,6 +3811,8 @@ theme Appearance 외관 @msg its page has text, and its layers have no text objects to put it in 페이지에 텍스트가 있지만 레이어에는 이를 넣을 텍스트 개체가 없습니다 @msg the art on them differs from the page's in {_1}% of it 이들의 아트웍이 페이지와 {_1}% 다릅니다 @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same 이들의 아트웍이 페이지와 {_1}% 다릅니다. 그래도 편집 데이터에서 가져왔습니다 +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer 파일의 레이어를 읽지 못했습니다({_1}). 페이지로 하나의 레이어에 가져옵니다 +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part 편집 데이터에서 파일의 레이어를 읽지 못했습니다({_1}). PDF 부분에서 가져옵니다 @msg its Windows metafile preview was opened instead, which may simplify the art 대신 Windows 메타파일 미리 보기를 열었으며, 아트웍이 단순화될 수 있습니다 @msg its preview was placed instead, at screen resolution 대신 미리 보기를 화면 해상도로 가져왔습니다 @msg shadings of more than 4096 patches or triangles were left out 패치나 삼각형이 4096개를 넘는 셰이딩은 제외했습니다 diff --git a/crates/ui-egui/src/i18n/pl.tsv b/crates/ui-egui/src/i18n/pl.tsv index 32e727e30..72cde3853 100644 --- a/crates/ui-egui/src/i18n/pl.tsv +++ b/crates/ui-egui/src/i18n/pl.tsv @@ -3623,6 +3623,8 @@ imageTrace Outline Kontur @msg its type is to come in as outlines, which only its page has jego tekst ma zostać wczytany jako kontury, które ma tylko jego strona @msg the art on them differs from the page's in {_1}% of it kompozycja na nich różni się od strony w {_1}% @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same kompozycja na nich różni się od strony w {_1}%: mimo to są wczytywane z danych edycyjnych +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer nie odczytano warstw pliku ({_1}): plik jest wczytywany jako jego strona, na jednej warstwie +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part nie odczytano warstw pliku z jego danych edycyjnych ({_1}): pochodzą z jego części PDF @msg `to` must be "corner" or "smooth" `to` musi mieć wartość "corner" lub "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray Pliki BMP są w RGB lub skali szarości: colorModel rgb lub gray @msg Blend colors: select at least three objects with filled colours Przejście kolorów: zaznacz co najmniej trzy obiekty z wypełnieniem kolorem diff --git a/crates/ui-egui/src/i18n/pt-br.tsv b/crates/ui-egui/src/i18n/pt-br.tsv index 8870ae0df..5c7e5ca75 100644 --- a/crates/ui-egui/src/i18n/pt-br.tsv +++ b/crates/ui-egui/src/i18n/pt-br.tsv @@ -3121,6 +3121,8 @@ axis Both Ambos @msg its type is to come in as outlines, which only its page has seu texto deve entrar como contornos, que somente sua página possui @msg the art on them differs from the page's in {_1}% of it a arte nelas difere da página em {_1}% do conteúdo @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same a arte nelas difere da página em {_1}% do conteúdo: mesmo assim elas vêm dos seus dados de edição +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer as camadas do arquivo não foram lidas ({_1}): ele entra como sua página, em uma só camada +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part as camadas do arquivo não foram lidas dos seus dados de edição ({_1}): elas vêm da sua parte PDF @msg `to` must be "corner" or "smooth" `to` deve ser "corner" ou "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray arquivos BMP são RGB ou em tons de cinza: colorModel rgb ou gray @msg Blend colors: select at least three objects with filled colours Mesclar cores: selecione pelo menos três objetos com preenchimento de cor diff --git a/crates/ui-egui/src/i18n/ru.tsv b/crates/ui-egui/src/i18n/ru.tsv index b1eba501c..3618173c2 100644 --- a/crates/ui-egui/src/i18n/ru.tsv +++ b/crates/ui-egui/src/i18n/ru.tsv @@ -3510,6 +3510,8 @@ axis Both Оба @msg its type is to come in as outlines, which only its page has его текст должен прийти в виде контуров, а они есть только на его странице @msg the art on them differs from the page's in {_1}% of it изображение на слоях отличается от изображения на странице на {_1} % площади @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same изображение на слоях отличается от изображения на странице на {_1} % площади: тем не менее слои взяты из его данных для редактирования +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer слои файла не прочитаны ({_1}): он открывается как его страница, на одном слое +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part слои файла не прочитаны из его данных для редактирования ({_1}): они взяты из его PDF-части @msg `to` must be "corner" or "smooth" `to` должно быть "corner" или "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray файлы BMP бывают RGB или в оттенках серого: colorModel rgb или gray @msg Blend colors: select at least three objects with filled colours Смешивание цветов: выберите не менее трёх объектов с цветными заливками diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index 7a1b9d197..985215189 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -1167,6 +1167,23 @@ fn unknown_parameter_errors_are_translated() { } } +/// The notes of an EPS or `.ai` whose layers weren't read, which the importer pushes as warnings +/// (the scan above doesn't read them), are translated whole, reason included, as the status bar +/// shows them after opening (#2035). +#[test] +fn unread_layers_notes_are_translated() { + for note in [ + "the file's layers weren't read (its editing data is for a different page): it comes in as its page, in one layer", + "the file's layers weren't read from its editing data (its editing data is damaged): they come from its PDF part", + ] { + let status = format!("Opened with 1 note(s): {note}"); + for code in COMPLETE_MESSAGES.iter().chain(&["pt-br"]) { + let shown = message(Lang::from_code(code).unwrap(), &status); + assert!(!shown.contains("weren't read") && !shown.contains("its editing data") && !shown.contains("Opened with"), "{code}: {shown}"); + } + } +} + /// The parameter error of `select.key` for an id that isn't a selected top-level object, whose /// text [`message_literals`] doesn't read, is translated whole in each language of /// [`COMPLETE_MESSAGES`]. diff --git a/crates/ui-egui/src/i18n/uk.tsv b/crates/ui-egui/src/i18n/uk.tsv index 46c57061e..ccb4662c6 100644 --- a/crates/ui-egui/src/i18n/uk.tsv +++ b/crates/ui-egui/src/i18n/uk.tsv @@ -3498,6 +3498,8 @@ axis Both Обидві @msg its type is to come in as outlines, which only its page has його текст має прийти у вигляді контурів, а вони є лише на його сторінці @msg the art on them differs from the page's in {_1}% of it зображення на шарах відрізняється від зображення на сторінці на {_1} % площі @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same зображення на шарах відрізняється від зображення на сторінці на {_1} % площі: проте шари взято з його даних для редагування +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer шари файлу не прочитано ({_1}): він відкривається як його сторінка, на одному шарі +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part шари файлу не прочитано з його даних для редагування ({_1}): їх взято з його PDF-частини @msg `to` must be "corner" or "smooth" `to` має бути "corner" або "smooth" @msg BMP files are RGB or grayscale: colorModel rgb or gray Файли BMP бувають RGB або у відтінках сірого: colorModel rgb або gray @msg Blend colors: select at least three objects with filled colours Змішування кольорів: виберіть не менше трьох об’єктів із кольоровими заливками diff --git a/crates/ui-egui/src/i18n/vi.tsv b/crates/ui-egui/src/i18n/vi.tsv index f72de0f8c..c8b7f261e 100644 --- a/crates/ui-egui/src/i18n/vi.tsv +++ b/crates/ui-egui/src/i18n/vi.tsv @@ -4202,6 +4202,8 @@ theme Appearance Giao diện @msg the art is too light for any dots tác phẩm quá sáng để có bất kỳ chấm nào @msg the art on them differs from the page's in {_1}% of it tác phẩm trên chúng khác với trang {_1}% @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same tác phẩm trên chúng khác với tác phẩm của trang ở {_1}% diện tích: dù vậy chúng vẫn được lấy từ dữ liệu chỉnh sửa +@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer không đọc được các lớp của tệp ({_1}): tệp được mở dưới dạng trang của nó, trong một lớp +@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part không đọc được các lớp của tệp từ dữ liệu chỉnh sửa ({_1}): chúng được lấy từ phần PDF @msg the artboard to fit must be a positive size up to {_1} pt bảng vẽ cần khớp phải có kích thước dương tối đa {_1} pt @msg the background worker stopped tiến trình nền đã dừng @msg the compressed file unpacks to more than VectorCraft reads ({_1} MB of document, {_2} MB per image) tệp nén giải nén ra nhiều hơn VectorCraft đọc ({_1} MB tài liệu, {_2} MB mỗi ảnh)