diff --git a/crates/ui-egui/src/i18n/bg.tsv b/crates/ui-egui/src/i18n/bg.tsv index 973bc63e3..8615552dc 100644 --- a/crates/ui-egui/src/i18n/bg.tsv +++ b/crates/ui-egui/src/i18n/bg.tsv @@ -2990,7 +2990,7 @@ font-technology Variable Променливи Sixth Space Шесто разстояние Size Размер Size Tile to Art Оразмеряване на плочката според обектите - Size/Leading Размер/Интервал + Size/Leading Размер/междуредие Size: Размер: Ridges per segment: Изпъкналости на сегмент: Size: {size} Tracking: {tracking} Размер: {size} Разредка: {tracking} @@ -3666,8 +3666,8 @@ imageTrace Outline Контур — {n} characters from another font — {n} знака от друг шрифт [Normal Character Style] [Нормален стил на знак] [Normal Paragraph Style] [Нормален стил на абзац] - Top-to-Top Leading Разстояние между редовете отгоре до горе - Bottom-to-Bottom Leading Разстояние между редовете отдолу до долу + Top-to-Top Leading Междуредие отгоре до горе + Bottom-to-Bottom Leading Междуредие отдолу до долу Burasagari Бурасагари Force Принудително About Относно @@ -5376,7 +5376,7 @@ theme Appearance Външен вид Word Spacing: Разстояние между думите: Letter Spacing: Разстояние между буквите: Glyph Scaling: Мащабиране на знаците: - Auto Leading: Автоматична междуредова разредка: + Auto Leading: Автоматично междуредие: Single Word Justification: Подравняване на единична дума: Full Justify Пълно двустранно Minimum must not exceed Desired, nor Desired Maximum. Минималната стойност не може да надвишава желаната, нито желаната – максималната. diff --git a/crates/ui-egui/src/i18n/id.tsv b/crates/ui-egui/src/i18n/id.tsv index 71d894fbe..b780f3289 100644 --- a/crates/ui-egui/src/i18n/id.tsv +++ b/crates/ui-egui/src/i18n/id.tsv @@ -5371,7 +5371,7 @@ swatch Bright Violet Violet cerah Word Spacing: Spasi Kata: Letter Spacing: Spasi Huruf: Glyph Scaling: Penskalaan Glif: - Auto Leading: Spasi Baris Otomatis: + Auto Leading: Leading otomatis: Single Word Justification: Perataan Kata Tunggal: Full Justify Rata Penuh Minimum must not exceed Desired, nor Desired Maximum. Minimum tidak boleh melebihi Diinginkan, dan Diinginkan tidak boleh melebihi Maksimum. diff --git a/crates/ui-egui/src/i18n/pt-br.tsv b/crates/ui-egui/src/i18n/pt-br.tsv index 45c606940..6f5fad182 100644 --- a/crates/ui-egui/src/i18n/pt-br.tsv +++ b/crates/ui-egui/src/i18n/pt-br.tsv @@ -3365,8 +3365,8 @@ font-technology Variable Variáveis New Name Novo nome no variable to rename nenhuma variável para renomear no data set to rename nenhum conjunto de dados para renomear - Top-to-Top Leading Entrelinha de topo a topo - Bottom-to-Bottom Leading Entrelinha de base a base + Top-to-Top Leading Entrelinhamento de topo a topo + Bottom-to-Bottom Leading Entrelinhamento de base a base Burasagari Burasagari Force Forçar Miter Ponta @@ -5355,7 +5355,7 @@ mark-style Japanese Japonesas Word Spacing: Espaçamento entre Palavras: Letter Spacing: Espaçamento entre Letras: Glyph Scaling: Dimensionamento de Glifos: - Auto Leading: Entrelinha Automática: + Auto Leading: Entrelinhamento Automático: Single Word Justification: Justificação de Palavra Única: Full Justify Justificação Completa Minimum must not exceed Desired, nor Desired Maximum. O mínimo não pode passar do desejado, nem o desejado do máximo. diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index ff72a27dc..a92562e7c 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -460,6 +460,31 @@ fn zh_hans_is_simplified_and_mainland() { assert!(bad.is_empty(), "in zh-hans.tsv:\n{}", bad.join("\n")); } +/// Each catalog names leading with one term: every word of the Character panel's Leading field +/// (the text before " (", ignoring case) appears in the Auto Leading, Size/Leading, Top-to-Top +/// Leading and Bottom-to-Bottom Leading rows outside their placeholders. +/// A catalog without the Leading row, or without one of the others, is skipped for that check. +#[test] +fn leading_term_agrees_within_each_catalog() { + let mut bad = Vec::new(); + for l in LANGUAGES.iter().filter(|l| !l.source.is_empty()) { + let (entries, _) = parse_entries(l.source); + let row = |src: &str| entries.iter().find(|(ctx, s, _)| ctx.is_empty() && s == src).map(|(_, _, tr)| tr.to_lowercase()); + let Some(leading) = row("Leading").map(|tr| tr.split(" (").next().unwrap_or_default().trim().to_string()) else { + continue; + }; + for src in ["Auto Leading:", "Size/Leading", "Top-to-Top Leading", "Bottom-to-Bottom Leading"] { + if let Some(text) = row(src) { + let bare = placeholders(&text).iter().fold(text.clone(), |t, p| t.replace(&format!("{{{p}}}"), " ")); + for word in leading.split_whitespace().filter(|w| !bare.contains(*w)) { + bad.push(format!("{}: {src:?} → {text:?} lacks {word:?} from the Leading field {leading:?}", l.code)); + } + } + } + } + assert!(bad.is_empty(), "rows that name leading differently from the Leading field:\n{}", bad.join("\n")); +} + /// No translated word mixes Latin, Cyrillic and Greek letters, such as a Latin "A" typed in place /// of a Cyrillic "А". A word written in one script, such as "PDF" or "X" in a Russian row, is /// allowed. diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index bf6958f3f..2c8b32c66 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -1524,7 +1524,7 @@ font-technology Variable Değişken Layers Panel Options Katmanlar Paneli Seçenekleri Layout: Düzen: Leader: Lider: - Leading Lider + Leading Satır Aralığı Left Sol Left Grid: Sol Izgara: Left in Front Sol Önde @@ -2897,7 +2897,7 @@ font-technology Variable Değişken Sixth Space Altıncı Uzay Size Boyut Size Tile to Art Sanata Boyut Döşeme - Size/Leading Boyut/Öncülük + Size/Leading Boyut/Satır Aralığı Size: Boyut: Ridges per segment: Segment başına sırtlar: Size: {size} Tracking: {tracking} Boyut: {size} Takip: {tracking} @@ -3557,8 +3557,8 @@ imageTrace Outline Kontur — {n} characters from another font — Başka bir yazı tipinden {n} karakterler [Normal Character Style] [Normal Karakter Stili] [Normal Paragraph Style] [Normal Paragraf Stili] - Top-to-Top Leading Tepeden Tepeye Liderlik - Bottom-to-Bottom Leading Aşağıdan Aşağıya Öncülük + Top-to-Top Leading Tepeden Tepeye Satır Aralığı + Bottom-to-Bottom Leading Aşağıdan Aşağıya Satır Aralığı Burasagari Burasagari Force kuvvet About Hakkında diff --git a/crates/ui-egui/src/i18n/vi.tsv b/crates/ui-egui/src/i18n/vi.tsv index cd22afbdf..92b3587e8 100644 --- a/crates/ui-egui/src/i18n/vi.tsv +++ b/crates/ui-egui/src/i18n/vi.tsv @@ -5033,7 +5033,7 @@ theme Appearance Giao diện Word Spacing: Khoảng cách từ: Letter Spacing: Khoảng cách chữ: Glyph Scaling: Tỷ lệ glyph: - Auto Leading: Khoảng cách dòng tự động: + Auto Leading: Giãn dòng tự động: Single Word Justification: Căn đều một từ: Full Justify Căn đều hoàn toàn Minimum must not exceed Desired, nor Desired Maximum. Giá trị tối thiểu không được vượt quá giá trị mong muốn, và giá trị mong muốn không được vượt quá tối đa.