mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 12:17:14 -06:00
Merge pull request #4403 from dotCooCoo/fix/kerning-tracking-catalog-terms
i18n: Character panel Kerning and Tracking terms agree in each catalog
This commit is contained in:
@@ -2993,7 +2993,7 @@ font-technology Variable Променливи
|
||||
Size/Leading Размер/Интервал
|
||||
Size: Размер:
|
||||
Ridges per segment: Изпъкналости на сегмент:
|
||||
Size: {size} Tracking: {tracking} Размер: {size} Интервал: {tracking}
|
||||
Size: {size} Tracking: {tracking} Размер: {size} Разредка: {tracking}
|
||||
Skew Искавяване
|
||||
Skin Tone Ramps Градиенти за цвят на кожата
|
||||
Skip Blank Artboards Пропускане на празни работни области
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5033,7 +5033,7 @@ mark-style Japanese Japansk
|
||||
This system has no screen color sampler Dette system har ingen skærmfarvesampler
|
||||
Color blindness – Tritanopia-type Farveblindhed – tritanopitype
|
||||
Panels Except Tools and Control Paneler undtagen værktøjer og kontrol
|
||||
Reset Tracking and Kerning Nulstil spærring og kerning
|
||||
Reset Tracking and Kerning Nulstil sporing og kerning
|
||||
Reset Horizontal Scale Nulstil vandret skalering
|
||||
@msg span must be "object" or "selection", got {v} span skal være "object" eller "selection", fik {v}
|
||||
@msg span: "selection" places a `gradient`, not a swatch span: "selection" placerer en `gradient`, ikke en farveprøve
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -3458,7 +3458,7 @@ theme Appearance Εμφάνιση
|
||||
Size Tile to Art Προσαρμογή μεγέθους πλακιδίου στο σχέδιο
|
||||
Size/Leading Μέγεθος/διάστιχο
|
||||
Ridges per segment: Ράχες ανά τμήμα:
|
||||
Size: {size} Tracking: {tracking} Μέγεθος: {size} Αραίωση: {tracking}
|
||||
Size: {size} Tracking: {tracking} Μέγεθος: {size} Απόσταση χαρακτήρων: {tracking}
|
||||
Skin Tone Ramps Χρωματικές κλίμακες τόνων δέρματος
|
||||
Skip Blank Artboards Παράλειψη κενών πινάκων σχεδίασης
|
||||
Sky Gradients Ντεγκραντέ ουρανού
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2070 and column 19.
|
@@ -5033,7 +5033,7 @@ mark-style Japanese Jepang
|
||||
This system has no screen color sampler Sistem ini tidak memiliki pengambil warna layar
|
||||
Color blindness – Tritanopia-type Buta warna – tipe Tritanopia
|
||||
Panels Except Tools and Control Semua panel kecuali Alat dan Kontrol
|
||||
Reset Tracking and Kerning Atur ulang pelacakan dan kerning
|
||||
Reset Tracking and Kerning Atur ulang tracking dan kerning
|
||||
Reset Horizontal Scale Atur ulang skala horizontal
|
||||
@msg span must be "object" or "selection", got {v} span harus "object" atau "selection", diterima {v}
|
||||
@msg span: "selection" places a `gradient`, not a swatch span: "selection" menempatkan `gradient`, bukan swatch
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 3857 and column 19.
|
@@ -1524,7 +1524,7 @@ lighting Light Licht
|
||||
Threshold Drempel
|
||||
Trace Traceren
|
||||
Trace the image with the Default preset De afbeelding traceren met de standaardvoorinstelling
|
||||
Size: {size} Tracking: {tracking} Grootte: {size} Spatiëring: {tracking}
|
||||
Size: {size} Tracking: {tracking} Grootte: {size} Tracking: {tracking}
|
||||
<Opacity Mask> <Dekkingsmasker>
|
||||
Create New Layer Nieuwe laag maken
|
||||
Create New Sublayer Nieuwe sublaag maken
|
||||
@@ -5045,7 +5045,7 @@ mark-style Japanese Japans
|
||||
This system has no screen color sampler Dit systeem heeft geen schermkleurkiezer
|
||||
Color blindness – Tritanopia-type Kleurenblindheid – type tritanopie
|
||||
Panels Except Tools and Control Alle panelen behalve Gereedschap en Bediening
|
||||
Reset Tracking and Kerning Spatiëring en kerning herstellen
|
||||
Reset Tracking and Kerning Tracking en kerning herstellen
|
||||
Reset Horizontal Scale Horizontale schaal herstellen
|
||||
@msg span must be "object" or "selection", got {v} span moet "object" of "selection" zijn, maar is {v}
|
||||
@msg span: "selection" places a `gradient`, not a swatch span: "selection" plaatst een `gradient`, geen staal
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -1382,7 +1382,7 @@
|
||||
Keep Plain Text Manter Texto Simples
|
||||
Keep both sides the same width Manter os dois lados com a mesma largura
|
||||
Keep this row's colors (exclude) Manter as cores desta linha (excluir)
|
||||
Kerning (0 = Auto) Entrelinhamento (0 = Automático)
|
||||
Kerning (0 = Auto) Kerning (0 = Automático)
|
||||
Keyboard Increment Incremento do Teclado
|
||||
Keyboard Shortcut Conflicts Conflitos de Atalhos de Teclado
|
||||
Keyboard Shortcut Set Conjunto de Atalhos de Teclado
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -486,6 +486,49 @@ fn no_translated_word_mixes_latin_cyrillic_and_greek_letters() {
|
||||
assert!(bad.is_empty(), "words that mix scripts:\n{}", bad.join("\n"));
|
||||
}
|
||||
|
||||
/// Each catalog gives the Character panel's Kerning, Leading and Tracking fields three different
|
||||
/// names, every word of the Tracking and Kerning names appears in the Reset Tracking and Kerning
|
||||
/// row, and every word of the Tracking name appears in the Info panel's type line outside its
|
||||
/// placeholders (ignoring case). Each word is matched once, the longer name first, so a name
|
||||
/// that contains the other name does not count for both.
|
||||
/// A catalog without one of these rows is skipped for the checks that need it.
|
||||
#[test]
|
||||
fn character_panel_terms_agree_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 kerning = row("Kerning (0 = Auto)").map(|tr| tr.split(" (").next().unwrap_or_default().trim().to_string());
|
||||
let leading = row("Leading");
|
||||
let tracking = row("Tracking");
|
||||
for (a, b) in [(&kerning, &leading), (&kerning, &tracking), (&leading, &tracking)] {
|
||||
if let (Some(a), Some(b)) = (a, b)
|
||||
&& a == b
|
||||
{
|
||||
bad.push(format!("{}: two Character panel fields are both {a:?}", l.code));
|
||||
}
|
||||
}
|
||||
let mut uses = |row_src: &str, terms: &[&Option<String>]| {
|
||||
let Some(text) = row(row_src) else { return };
|
||||
let mut bare = placeholders(&text).iter().fold(text.clone(), |t, p| t.replace(&format!("{{{p}}}"), " "));
|
||||
let mut terms: Vec<&String> = terms.iter().filter_map(|t| t.as_ref()).collect();
|
||||
terms.sort_by_key(|t| std::cmp::Reverse(t.chars().count()));
|
||||
for term in terms {
|
||||
for word in term.split_whitespace() {
|
||||
if bare.contains(word) {
|
||||
bare = bare.replacen(word, " ", 1);
|
||||
} else {
|
||||
bad.push(format!("{}: {row_src:?} → {text:?} lacks {word:?} from the field {term:?}", l.code));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
uses("Reset Tracking and Kerning", &[&tracking, &kerning]);
|
||||
uses("Size: {size} Tracking: {tracking}", &[&tracking]);
|
||||
}
|
||||
assert!(bad.is_empty(), "Character panel terms that disagree:\n{}", bad.join("\n"));
|
||||
}
|
||||
|
||||
/// Every `tl!("…")` literal in this crate's sources (test modules aside).
|
||||
pub fn tl_literals() -> std::collections::BTreeSet<String> {
|
||||
let dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src");
|
||||
|
||||
@@ -1106,7 +1106,7 @@ font-technology Variable Değişken
|
||||
Decrease Font Size by Five Steps Yazı Tipi Boyutunu Beş Adım Azaltın
|
||||
Increase Font Size Yazı Tipi Boyutunu Artır
|
||||
Increase Font Size by Five Steps Yazı Tipi Boyutunu Beş Adım Artırın
|
||||
Reset Tracking and Kerning İzlemeyi ve Karakter Aralığını Sıfırla
|
||||
Reset Tracking and Kerning Takip ve Karakter Aralığını Sıfırla
|
||||
Reset Horizontal Scale Yatay Ölçeği Sıfırla
|
||||
Spacing Aralık
|
||||
Step Type Adım Türü
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 5 and column 25.
|
Reference in New Issue
Block a user