mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 13:36:53 +00:00
Merge pull request #7038 from dotCooCoo/fix/schema-expected-phrases
i18n: parameter schema errors translate what the value must be
This commit is contained in:
Generated
+1
@@ -6855,6 +6855,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"toml",
|
||||
"vectorcraft-apischema",
|
||||
"vectorcraft-brush",
|
||||
"vectorcraft-cad",
|
||||
"vectorcraft-color",
|
||||
|
||||
@@ -68,6 +68,7 @@ rustix = { workspace = true, features = ["std", "process"] }
|
||||
|
||||
[dev-dependencies]
|
||||
egui_kittest = { workspace = true, features = ["wgpu", "snapshot"] }
|
||||
vectorcraft-apischema = { workspace = true }
|
||||
vectorcraft-testkit = { workspace = true }
|
||||
# A variable font built in code (no font file is committed).
|
||||
vectorcraft-text = { workspace = true, features = ["test-fonts"] }
|
||||
|
||||
@@ -660,7 +660,8 @@ const MESSAGE_DEPTH: usize = 5;
|
||||
/// Translate a status or error message for display (see the module docs). Unknown messages, and
|
||||
/// parts of them (file names, numbers, a reason with no entry, a JSON object or array such as
|
||||
/// `{"objects": [...]}`, a value the message quotes in `"…"`, `“…”` or backticks, such as a
|
||||
/// symbol's name), stay as they are.
|
||||
/// symbol's name), stay as they are. A part that starts with `{` or `[` is translated only
|
||||
/// when it is a whole message with an exact entry, such as `[x, y] (two numbers)`.
|
||||
pub fn message(lang: Lang, s: &str) -> String {
|
||||
message_at(lang, s, MESSAGE_DEPTH)
|
||||
}
|
||||
@@ -671,9 +672,16 @@ fn message_at(lang: Lang, s: &str, depth: usize) -> String {
|
||||
let form = count.map_or(forms.len().saturating_sub(1), |n| (lang.0.plural)(n).min(forms.len().saturating_sub(1)));
|
||||
let Some(template) = forms.get(form) else { return s.to_string() };
|
||||
let quoted = |v: &str| [('"', '"'), ('“', '”'), ('`', '`')].iter().any(|(a, b)| s.contains(&format!("{a}{v}{b}")));
|
||||
let nested = |v: &str| depth > 1 && !v.starts_with(['{', '[']) && !quoted(v);
|
||||
let values: Vec<(&str, String)> =
|
||||
caps.into_iter().map(|(k, v)| (k, if nested(v) { message_at(lang, v, depth - 1) } else { v.to_string() })).collect();
|
||||
let nested = |v: &str| {
|
||||
if depth <= 1 || quoted(v) {
|
||||
v.to_string()
|
||||
} else if v.starts_with(['{', '[']) {
|
||||
lang.catalog().exact_message(v).unwrap_or(v).to_string()
|
||||
} else {
|
||||
message_at(lang, v, depth - 1)
|
||||
}
|
||||
};
|
||||
let values: Vec<(&str, String)> = caps.into_iter().map(|(k, v)| (k, nested(v))).collect();
|
||||
let args: Vec<(&str, &str)> = values.iter().map(|(k, v)| (*k, v.as_str())).collect();
|
||||
fill_once(template, &args)
|
||||
}
|
||||
|
||||
@@ -4192,6 +4192,7 @@ axis Both И двете
|
||||
@msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}` трябва да бъде цяло число между {min} и {max} (получено е {x})
|
||||
@msg `{key}` must be between {min} and {max} (got {x}) `{key}` трябва да бъде между {min} и {max} (получено е {x})
|
||||
@msg `{key}` must be one of {_1} `{key}` трябва да бъде едно от {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` трябва да бъде едно от {_1}, а не {got}
|
||||
@msg `{key}` must be true or false `{key}` трябва да бъде true или false
|
||||
@msg `{k}` must be [x, y] `{k}` трябва да бъде [x, y]
|
||||
@msg `{name}` has no options `{name}` няма опции
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -4562,6 +4562,7 @@ imageTrace Outline Obris
|
||||
@msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}` mora biti cijeli broj između {min} i {max} (dobiveno {x})
|
||||
@msg `{key}` must be between {min} and {max} (got {x}) `{key}` mora biti između {min} i {max} (dobiveno {x})
|
||||
@msg `{key}` must be one of {_1} `{key}` mora biti jedno od {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` mora biti jedno od {_1}, a ne {got}
|
||||
@msg `{key}` must be true or false `{key}` mora biti true ili false
|
||||
@msg `top` and `below` can't both be true `top` i `below` ne mogu oba biti true
|
||||
@msg `select` must be true or false `select` mora biti true ili false
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6478,6 +6478,35 @@ digits Malayalam Malaiàlam
|
||||
@msg the path has no anchor points el traçat no té punts d’ancoratge
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) massa punts d’ancoratge (límit {MAX_ANCHORS})
|
||||
@msg true or false true o false
|
||||
@msg a number >= {_1} un nombre >= {_1}
|
||||
@msg a number > {_1} un nombre > {_1}
|
||||
@msg a number <= {_1} un nombre <= {_1}
|
||||
@msg a number < {_1} un nombre < {_1}
|
||||
@msg a number {_1} to {_2} un nombre de {_1} a {_2}
|
||||
@msg a number >= {_1} and < {_2} un nombre >= {_1} i < {_2}
|
||||
@msg a number > {_1} and <= {_2} un nombre > {_1} i <= {_2}
|
||||
@msg a number > {_1} and < {_2} un nombre > {_1} i < {_2}
|
||||
@msg a number ({_1}) un nombre ({_1})
|
||||
@msg a number >= {_1} ({_2}) un nombre >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) un nombre > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) un nombre <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) un nombre < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) un nombre de {_1} a {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) un nombre >= {_1} i < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) un nombre > {_1} i <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) un nombre > {_1} i < {_2} ({_3})
|
||||
@msg an integer un enter
|
||||
@msg an integer >= {_1} un enter >= {_1}
|
||||
@msg an integer <= {_1} un enter <= {_1}
|
||||
@msg an integer {_1} to {_2} un enter de {_1} a {_2}
|
||||
@msg one of {_1} un de {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` ha de ser un de {_1}, no {got}
|
||||
@msg an object id (a non-negative integer) un identificador d’objecte (un enter no negatiu)
|
||||
@msg a list of object ids una llista d’identificadors d’objecte
|
||||
@msg a color (a string, [r, g, b] or an object) un color (una cadena, [r, g, b] o un objecte)
|
||||
@msg [x, y] (two numbers) [x, y] (dos nombres)
|
||||
@msg an object un objecte
|
||||
@msg a list una llista
|
||||
@msg unknown key `{k}`; the keys here are {_1} clau desconeguda `{k}`; les claus aquí són {_1}
|
||||
@msg {_1} is listed twice {_1} apareix dues vegades
|
||||
@msg {_1} is not the id of an input object {_1} no és l’id d’un objecte d’entrada
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -249,6 +249,12 @@ impl Catalog {
|
||||
self.templates.iter().find_map(|t| t.captures(s).map(|caps| (t.forms.as_slice(), caps)))
|
||||
}
|
||||
|
||||
/// The translation of a status or error message that has an exact `@msg` entry; templates are
|
||||
/// not tried.
|
||||
pub fn exact_message(&self, s: &str) -> Option<&str> {
|
||||
self.messages.get(s).map(String::as_str)
|
||||
}
|
||||
|
||||
/// The plural form `index` of the message whose English forms are `one|other`.
|
||||
pub fn plural(&self, one: &str, other: &str, index: usize) -> Option<&str> {
|
||||
let forms = self.plurals.get(&format!("{one}|{other}"))?;
|
||||
|
||||
@@ -6393,6 +6393,35 @@ axis Y Axis osa Y
|
||||
@msg the path has no anchor points cesta nemá žádné kotevní body
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) příliš mnoho kotevních bodů (limit {MAX_ANCHORS})
|
||||
@msg true or false true nebo false
|
||||
@msg a number >= {_1} číslo >= {_1}
|
||||
@msg a number > {_1} číslo > {_1}
|
||||
@msg a number <= {_1} číslo <= {_1}
|
||||
@msg a number < {_1} číslo < {_1}
|
||||
@msg a number {_1} to {_2} číslo od {_1} do {_2}
|
||||
@msg a number >= {_1} and < {_2} číslo >= {_1} a < {_2}
|
||||
@msg a number > {_1} and <= {_2} číslo > {_1} a <= {_2}
|
||||
@msg a number > {_1} and < {_2} číslo > {_1} a < {_2}
|
||||
@msg a number ({_1}) číslo ({_1})
|
||||
@msg a number >= {_1} ({_2}) číslo >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) číslo > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) číslo <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) číslo < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) číslo od {_1} do {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) číslo >= {_1} a < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) číslo > {_1} a <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) číslo > {_1} a < {_2} ({_3})
|
||||
@msg an integer celé číslo
|
||||
@msg an integer >= {_1} celé číslo >= {_1}
|
||||
@msg an integer <= {_1} celé číslo <= {_1}
|
||||
@msg an integer {_1} to {_2} celé číslo od {_1} do {_2}
|
||||
@msg one of {_1} jedna z hodnot {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` musí být jedna z hodnot {_1}, nikoli {got}
|
||||
@msg an object id (a non-negative integer) ID objektu (nezáporné celé číslo)
|
||||
@msg a list of object ids seznam ID objektů
|
||||
@msg a color (a string, [r, g, b] or an object) barva (řetězec, [r, g, b] nebo objekt)
|
||||
@msg [x, y] (two numbers) [x, y] (dvě čísla)
|
||||
@msg an object objekt
|
||||
@msg a list seznam
|
||||
@msg unknown key `{k}`; the keys here are {_1} neznámý klíč `{k}`; zde platné klíče jsou {_1}
|
||||
@msg {_1} is listed twice {_1} je uveden dvakrát
|
||||
@msg {_1} is not the id of an input object {_1} není ID vstupního objektu
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -4308,6 +4308,7 @@ imageTrace Outline Kontur
|
||||
@msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}` skal være et heltal mellem {min} og {max} (fik {x})
|
||||
@msg `{key}` must be between {min} and {max} (got {x}) `{key}` skal være mellem {min} og {max} (fik {x})
|
||||
@msg `{key}` must be one of {_1} `{key}` skal være en af {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` skal være en af {_1}, ikke {got}
|
||||
@msg `{key}` must be true or false `{key}` skal være true eller false
|
||||
@msg `{k}` must be [x, y] `{k}` skal være [x, y]
|
||||
@msg `{name}` has no options `{name}` har ingen indstillinger
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5984,6 +5984,35 @@ axis Y Axis Y-Achse
|
||||
@msg the path has no anchor points der Pfad hat keine Ankerpunkte
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) zu viele Ankerpunkte (Grenze {MAX_ANCHORS})
|
||||
@msg true or false true oder false
|
||||
@msg a number >= {_1} eine Zahl >= {_1}
|
||||
@msg a number > {_1} eine Zahl > {_1}
|
||||
@msg a number <= {_1} eine Zahl <= {_1}
|
||||
@msg a number < {_1} eine Zahl < {_1}
|
||||
@msg a number {_1} to {_2} eine Zahl von {_1} bis {_2}
|
||||
@msg a number >= {_1} and < {_2} eine Zahl >= {_1} und < {_2}
|
||||
@msg a number > {_1} and <= {_2} eine Zahl > {_1} und <= {_2}
|
||||
@msg a number > {_1} and < {_2} eine Zahl > {_1} und < {_2}
|
||||
@msg a number ({_1}) eine Zahl ({_1})
|
||||
@msg a number >= {_1} ({_2}) eine Zahl >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) eine Zahl > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) eine Zahl <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) eine Zahl < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) eine Zahl von {_1} bis {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) eine Zahl >= {_1} und < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) eine Zahl > {_1} und <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) eine Zahl > {_1} und < {_2} ({_3})
|
||||
@msg an integer eine ganze Zahl
|
||||
@msg an integer >= {_1} eine ganze Zahl >= {_1}
|
||||
@msg an integer <= {_1} eine ganze Zahl <= {_1}
|
||||
@msg an integer {_1} to {_2} eine ganze Zahl von {_1} bis {_2}
|
||||
@msg one of {_1} einer der Werte {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` muss einer der Werte {_1} sein, nicht {got}
|
||||
@msg an object id (a non-negative integer) eine Objekt-ID (eine nicht negative ganze Zahl)
|
||||
@msg a list of object ids eine Liste von Objekt-IDs
|
||||
@msg a color (a string, [r, g, b] or an object) eine Farbe (eine Zeichenkette, [r, g, b] oder ein Objekt)
|
||||
@msg [x, y] (two numbers) [x, y] (zwei Zahlen)
|
||||
@msg an object ein Objekt
|
||||
@msg a list eine Liste
|
||||
@msg unknown key `{k}`; the keys here are {_1} unbekannter Schlüssel `{k}`; die Schlüssel hier sind {_1}
|
||||
@msg {_1} is listed twice {_1} ist doppelt aufgeführt
|
||||
@msg {_1} is not the id of an input object {_1} ist nicht die ID eines Eingabeobjekts
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6344,6 +6344,35 @@ axis Y Axis Άξονας Y
|
||||
@msg the path has no anchor points η διαδρομή δεν έχει σημεία αγκύρωσης
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) πάρα πολλά σημεία αγκύρωσης (όριο {MAX_ANCHORS})
|
||||
@msg true or false true ή false
|
||||
@msg a number >= {_1} αριθμός >= {_1}
|
||||
@msg a number > {_1} αριθμός > {_1}
|
||||
@msg a number <= {_1} αριθμός <= {_1}
|
||||
@msg a number < {_1} αριθμός < {_1}
|
||||
@msg a number {_1} to {_2} αριθμός από {_1} έως {_2}
|
||||
@msg a number >= {_1} and < {_2} αριθμός >= {_1} και < {_2}
|
||||
@msg a number > {_1} and <= {_2} αριθμός > {_1} και <= {_2}
|
||||
@msg a number > {_1} and < {_2} αριθμός > {_1} και < {_2}
|
||||
@msg a number ({_1}) αριθμός ({_1})
|
||||
@msg a number >= {_1} ({_2}) αριθμός >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) αριθμός > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) αριθμός <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) αριθμός < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) αριθμός από {_1} έως {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) αριθμός >= {_1} και < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) αριθμός > {_1} και <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) αριθμός > {_1} και < {_2} ({_3})
|
||||
@msg an integer ακέραιος
|
||||
@msg an integer >= {_1} ακέραιος >= {_1}
|
||||
@msg an integer <= {_1} ακέραιος <= {_1}
|
||||
@msg an integer {_1} to {_2} ακέραιος από {_1} έως {_2}
|
||||
@msg one of {_1} μία από τις τιμές {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} Το `{path}` πρέπει να είναι μία από τις τιμές {_1}, όχι {got}
|
||||
@msg an object id (a non-negative integer) αναγνωριστικό αντικειμένου (μη αρνητικός ακέραιος)
|
||||
@msg a list of object ids λίστα αναγνωριστικών αντικειμένων
|
||||
@msg a color (a string, [r, g, b] or an object) χρώμα (συμβολοσειρά, [r, g, b] ή αντικείμενο)
|
||||
@msg [x, y] (two numbers) [x, y] (δύο αριθμοί)
|
||||
@msg an object αντικείμενο
|
||||
@msg a list λίστα
|
||||
@msg unknown key `{k}`; the keys here are {_1} άγνωστο κλειδί `{k}`· τα κλειδιά εδώ είναι {_1}
|
||||
@msg {_1} is listed twice το {_1} αναφέρεται δύο φορές
|
||||
@msg {_1} is not the id of an input object το {_1} δεν είναι αναγνωριστικό αντικειμένου εισόδου
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -6335,6 +6335,35 @@ axis Y Axis Eje Y
|
||||
@msg the path has no anchor points el trazado no tiene puntos de ancla
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) demasiados puntos de ancla (límite {MAX_ANCHORS})
|
||||
@msg true or false true o false
|
||||
@msg a number >= {_1} un número >= {_1}
|
||||
@msg a number > {_1} un número > {_1}
|
||||
@msg a number <= {_1} un número <= {_1}
|
||||
@msg a number < {_1} un número < {_1}
|
||||
@msg a number {_1} to {_2} un número de {_1} a {_2}
|
||||
@msg a number >= {_1} and < {_2} un número >= {_1} y < {_2}
|
||||
@msg a number > {_1} and <= {_2} un número > {_1} y <= {_2}
|
||||
@msg a number > {_1} and < {_2} un número > {_1} y < {_2}
|
||||
@msg a number ({_1}) un número ({_1})
|
||||
@msg a number >= {_1} ({_2}) un número >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) un número > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) un número <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) un número < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) un número de {_1} a {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) un número >= {_1} y < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) un número > {_1} y <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) un número > {_1} y < {_2} ({_3})
|
||||
@msg an integer un entero
|
||||
@msg an integer >= {_1} un entero >= {_1}
|
||||
@msg an integer <= {_1} un entero <= {_1}
|
||||
@msg an integer {_1} to {_2} un entero de {_1} a {_2}
|
||||
@msg one of {_1} uno de {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` debe ser uno de {_1}, no {got}
|
||||
@msg an object id (a non-negative integer) un id. de objeto (un entero no negativo)
|
||||
@msg a list of object ids una lista de id. de objeto
|
||||
@msg a color (a string, [r, g, b] or an object) un color (una cadena, [r, g, b] o un objeto)
|
||||
@msg [x, y] (two numbers) [x, y] (dos números)
|
||||
@msg an object un objeto
|
||||
@msg a list una lista
|
||||
@msg unknown key `{k}`; the keys here are {_1} clave desconocida `{k}`; las claves aquí son {_1}
|
||||
@msg {_1} is listed twice {_1} aparece dos veces
|
||||
@msg {_1} is not the id of an input object {_1} no es el id de un objeto de entrada
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6423,6 +6423,35 @@ axis Y Axis Y-akseli
|
||||
@msg the path has no anchor points polulla ei ole ankkuripisteitä
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) liian monta ankkuripistettä (raja {MAX_ANCHORS})
|
||||
@msg true or false true tai false
|
||||
@msg a number >= {_1} luku >= {_1}
|
||||
@msg a number > {_1} luku > {_1}
|
||||
@msg a number <= {_1} luku <= {_1}
|
||||
@msg a number < {_1} luku < {_1}
|
||||
@msg a number {_1} to {_2} luku, joka on vähintään {_1} ja enintään {_2}
|
||||
@msg a number >= {_1} and < {_2} luku >= {_1} ja < {_2}
|
||||
@msg a number > {_1} and <= {_2} luku > {_1} ja <= {_2}
|
||||
@msg a number > {_1} and < {_2} luku > {_1} ja < {_2}
|
||||
@msg a number ({_1}) luku ({_1})
|
||||
@msg a number >= {_1} ({_2}) luku >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) luku > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) luku <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) luku < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) luku, joka on vähintään {_1} ja enintään {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) luku >= {_1} ja < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) luku > {_1} ja <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) luku > {_1} ja < {_2} ({_3})
|
||||
@msg an integer kokonaisluku
|
||||
@msg an integer >= {_1} kokonaisluku >= {_1}
|
||||
@msg an integer <= {_1} kokonaisluku <= {_1}
|
||||
@msg an integer {_1} to {_2} kokonaisluku, joka on vähintään {_1} ja enintään {_2}
|
||||
@msg one of {_1} jokin arvoista {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` on oltava jokin arvoista {_1}, ei {got}
|
||||
@msg an object id (a non-negative integer) objektitunnus (ei-negatiivinen kokonaisluku)
|
||||
@msg a list of object ids objektitunnusten luettelo
|
||||
@msg a color (a string, [r, g, b] or an object) väri (merkkijono, [r, g, b] tai objekti)
|
||||
@msg [x, y] (two numbers) [x, y] (kaksi lukua)
|
||||
@msg an object objekti
|
||||
@msg a list luettelo
|
||||
@msg unknown key `{k}`; the keys here are {_1} tuntematon avain `{k}`; tässä käytettävät avaimet ovat {_1}
|
||||
@msg {_1} is listed twice {_1} on luettelossa kahdesti
|
||||
@msg {_1} is not the id of an input object {_1} ei ole syöteobjektin tunnus
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6388,6 +6388,35 @@ axis Y Axis Axe Y
|
||||
@msg the path has no anchor points le tracé n’a aucun point d’ancrage
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) trop de points d’ancrage (limite {MAX_ANCHORS})
|
||||
@msg true or false true ou false
|
||||
@msg a number >= {_1} un nombre >= {_1}
|
||||
@msg a number > {_1} un nombre > {_1}
|
||||
@msg a number <= {_1} un nombre <= {_1}
|
||||
@msg a number < {_1} un nombre < {_1}
|
||||
@msg a number {_1} to {_2} un nombre de {_1} à {_2}
|
||||
@msg a number >= {_1} and < {_2} un nombre >= {_1} et < {_2}
|
||||
@msg a number > {_1} and <= {_2} un nombre > {_1} et <= {_2}
|
||||
@msg a number > {_1} and < {_2} un nombre > {_1} et < {_2}
|
||||
@msg a number ({_1}) un nombre ({_1})
|
||||
@msg a number >= {_1} ({_2}) un nombre >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) un nombre > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) un nombre <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) un nombre < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) un nombre de {_1} à {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) un nombre >= {_1} et < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) un nombre > {_1} et <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) un nombre > {_1} et < {_2} ({_3})
|
||||
@msg an integer un entier
|
||||
@msg an integer >= {_1} un entier >= {_1}
|
||||
@msg an integer <= {_1} un entier <= {_1}
|
||||
@msg an integer {_1} to {_2} un entier de {_1} à {_2}
|
||||
@msg one of {_1} l’une des valeurs {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` doit être l’une des valeurs {_1}, pas {got}
|
||||
@msg an object id (a non-negative integer) un identifiant d’objet (un entier positif ou nul)
|
||||
@msg a list of object ids une liste d’identifiants d’objet
|
||||
@msg a color (a string, [r, g, b] or an object) une couleur (une chaîne, [r, g, b] ou un objet)
|
||||
@msg [x, y] (two numbers) [x, y] (deux nombres)
|
||||
@msg an object un objet
|
||||
@msg a list une liste
|
||||
@msg unknown key `{k}`; the keys here are {_1} clé inconnue `{k}` ; les clés ici sont {_1}
|
||||
@msg {_1} is listed twice {_1} figure deux fois
|
||||
@msg {_1} is not the id of an input object {_1} n’est pas l’identifiant d’un objet d’entrée
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5546,6 +5546,35 @@ antiAlias Sharp शार्प
|
||||
@msg the path has no anchor points पाथ में कोई एंकर पॉइंट नहीं है
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) बहुत अधिक एंकर पॉइंट (सीमा {MAX_ANCHORS})
|
||||
@msg true or false true या false
|
||||
@msg a number >= {_1} एक संख्या >= {_1}
|
||||
@msg a number > {_1} एक संख्या > {_1}
|
||||
@msg a number <= {_1} एक संख्या <= {_1}
|
||||
@msg a number < {_1} एक संख्या < {_1}
|
||||
@msg a number {_1} to {_2} {_1} से {_2} तक की एक संख्या
|
||||
@msg a number >= {_1} and < {_2} एक संख्या >= {_1} और < {_2}
|
||||
@msg a number > {_1} and <= {_2} एक संख्या > {_1} और <= {_2}
|
||||
@msg a number > {_1} and < {_2} एक संख्या > {_1} और < {_2}
|
||||
@msg a number ({_1}) एक संख्या ({_1})
|
||||
@msg a number >= {_1} ({_2}) एक संख्या >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) एक संख्या > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) एक संख्या <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) एक संख्या < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} से {_2} तक की एक संख्या ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) एक संख्या >= {_1} और < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) एक संख्या > {_1} और <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) एक संख्या > {_1} और < {_2} ({_3})
|
||||
@msg an integer एक पूर्णांक
|
||||
@msg an integer >= {_1} एक पूर्णांक >= {_1}
|
||||
@msg an integer <= {_1} एक पूर्णांक <= {_1}
|
||||
@msg an integer {_1} to {_2} {_1} से {_2} तक का एक पूर्णांक
|
||||
@msg one of {_1} {_1} में से एक
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` {_1} में से एक होना चाहिए, {got} नहीं
|
||||
@msg an object id (a non-negative integer) एक ऑब्जेक्ट id (एक गैर-नकारात्मक पूर्णांक)
|
||||
@msg a list of object ids ऑब्जेक्ट ids की एक सूची
|
||||
@msg a color (a string, [r, g, b] or an object) एक रंग (एक स्ट्रिंग, [r, g, b] या एक ऑब्जेक्ट)
|
||||
@msg [x, y] (two numbers) [x, y] (दो संख्याएँ)
|
||||
@msg an object एक ऑब्जेक्ट
|
||||
@msg a list एक सूची
|
||||
@msg unknown key `{k}`; the keys here are {_1} अज्ञात कुंजी `{k}`; यहाँ की कुंजियाँ {_1} हैं
|
||||
@msg {_1} is listed twice {_1} दो बार सूचीबद्ध है
|
||||
@msg {_1} is not the id of an input object {_1} किसी इनपुट ऑब्जेक्ट का id नहीं है
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -6376,6 +6376,35 @@ axis Y Axis Y tengely
|
||||
@msg the path has no anchor points az útvonalnak nincsenek horgonypontjai
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) túl sok horgonypont (korlát: {MAX_ANCHORS})
|
||||
@msg true or false true vagy false
|
||||
@msg a number >= {_1} szám >= {_1}
|
||||
@msg a number > {_1} szám > {_1}
|
||||
@msg a number <= {_1} szám <= {_1}
|
||||
@msg a number < {_1} szám < {_1}
|
||||
@msg a number {_1} to {_2} {_1} és {_2} közötti szám
|
||||
@msg a number >= {_1} and < {_2} szám >= {_1} és < {_2}
|
||||
@msg a number > {_1} and <= {_2} szám > {_1} és <= {_2}
|
||||
@msg a number > {_1} and < {_2} szám > {_1} és < {_2}
|
||||
@msg a number ({_1}) szám ({_1})
|
||||
@msg a number >= {_1} ({_2}) szám >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) szám > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) szám <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) szám < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} és {_2} közötti szám ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) szám >= {_1} és < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) szám > {_1} és <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) szám > {_1} és < {_2} ({_3})
|
||||
@msg an integer egész szám
|
||||
@msg an integer >= {_1} egész szám >= {_1}
|
||||
@msg an integer <= {_1} egész szám <= {_1}
|
||||
@msg an integer {_1} to {_2} {_1} és {_2} közötti egész szám
|
||||
@msg one of {_1} {_1} közül az egyik
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}`: {_1} közül az egyik kell, nem ez: {got}
|
||||
@msg an object id (a non-negative integer) objektumazonosító (nemnegatív egész szám)
|
||||
@msg a list of object ids objektumazonosítók listája
|
||||
@msg a color (a string, [r, g, b] or an object) szín (karakterlánc, [r, g, b] vagy objektum)
|
||||
@msg [x, y] (two numbers) [x, y] (két szám)
|
||||
@msg an object objektum
|
||||
@msg a list lista
|
||||
@msg unknown key `{k}`; the keys here are {_1} ismeretlen kulcs: `{k}`; az itt használható kulcsok: {_1}
|
||||
@msg {_1} is listed twice {_1} kétszer szerepel
|
||||
@msg {_1} is not the id of an input object {_1} nem egy bemeneti objektum azonosítója
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -4308,6 +4308,7 @@ imageTrace Outline Kontur
|
||||
@msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}` harus berupa bilangan bulat antara {min} dan {max} (diperoleh {x})
|
||||
@msg `{key}` must be between {min} and {max} (got {x}) `{key}` harus di antara {min} dan {max} (diperoleh {x})
|
||||
@msg `{key}` must be one of {_1} `{key}` harus salah satu dari {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` harus salah satu dari {_1}, bukan {got}
|
||||
@msg `{key}` must be true or false `{key}` harus true atau false
|
||||
@msg `{k}` must be [x, y] `{k}` harus [x, y]
|
||||
@msg `{name}` has no options `{name}` tidak memiliki opsi
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2418 and column 5.
|
@@ -6018,6 +6018,35 @@ axis Y Axis Asse Y
|
||||
@msg the path has no anchor points il tracciato non ha punti di ancoraggio
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) troppi punti di ancoraggio (limite {MAX_ANCHORS})
|
||||
@msg true or false true o false
|
||||
@msg a number >= {_1} un numero >= {_1}
|
||||
@msg a number > {_1} un numero > {_1}
|
||||
@msg a number <= {_1} un numero <= {_1}
|
||||
@msg a number < {_1} un numero < {_1}
|
||||
@msg a number {_1} to {_2} un numero da {_1} a {_2}
|
||||
@msg a number >= {_1} and < {_2} un numero >= {_1} e < {_2}
|
||||
@msg a number > {_1} and <= {_2} un numero > {_1} e <= {_2}
|
||||
@msg a number > {_1} and < {_2} un numero > {_1} e < {_2}
|
||||
@msg a number ({_1}) un numero ({_1})
|
||||
@msg a number >= {_1} ({_2}) un numero >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) un numero > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) un numero <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) un numero < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) un numero da {_1} a {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) un numero >= {_1} e < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) un numero > {_1} e <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) un numero > {_1} e < {_2} ({_3})
|
||||
@msg an integer un intero
|
||||
@msg an integer >= {_1} un intero >= {_1}
|
||||
@msg an integer <= {_1} un intero <= {_1}
|
||||
@msg an integer {_1} to {_2} un intero da {_1} a {_2}
|
||||
@msg one of {_1} uno tra {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` deve essere uno tra {_1}, non {got}
|
||||
@msg an object id (a non-negative integer) un ID di oggetto (un intero non negativo)
|
||||
@msg a list of object ids un elenco di ID di oggetti
|
||||
@msg a color (a string, [r, g, b] or an object) un colore (una stringa, [r, g, b] o un oggetto)
|
||||
@msg [x, y] (two numbers) [x, y] (due numeri)
|
||||
@msg an object un oggetto
|
||||
@msg a list un elenco
|
||||
@msg unknown key `{k}`; the keys here are {_1} chiave sconosciuta `{k}`; le chiavi qui sono {_1}
|
||||
@msg {_1} is listed twice {_1} è elencato due volte
|
||||
@msg {_1} is not the id of an input object {_1} non è l’id di un oggetto di input
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6083,6 +6083,35 @@ axis Y Axis Y 軸
|
||||
@msg the path has no anchor points パスにアンカーポイントがありません
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) アンカーポイントが多すぎます (上限 {MAX_ANCHORS})
|
||||
@msg true or false true または false
|
||||
@msg a number >= {_1} {_1} 以上の数値
|
||||
@msg a number > {_1} {_1} より大きい数値
|
||||
@msg a number <= {_1} {_1} 以下の数値
|
||||
@msg a number < {_1} {_1} 未満の数値
|
||||
@msg a number {_1} to {_2} {_1} から {_2} までの数値
|
||||
@msg a number >= {_1} and < {_2} {_1} 以上 {_2} 未満の数値
|
||||
@msg a number > {_1} and <= {_2} {_1} より大きく {_2} 以下の数値
|
||||
@msg a number > {_1} and < {_2} {_1} より大きく {_2} 未満の数値
|
||||
@msg a number ({_1}) 数値 ({_1})
|
||||
@msg a number >= {_1} ({_2}) {_1} 以上の数値 ({_2})
|
||||
@msg a number > {_1} ({_2}) {_1} より大きい数値 ({_2})
|
||||
@msg a number <= {_1} ({_2}) {_1} 以下の数値 ({_2})
|
||||
@msg a number < {_1} ({_2}) {_1} 未満の数値 ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} から {_2} までの数値 ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) {_1} 以上 {_2} 未満の数値 ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) {_1} より大きく {_2} 以下の数値 ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) {_1} より大きく {_2} 未満の数値 ({_3})
|
||||
@msg an integer 整数
|
||||
@msg an integer >= {_1} {_1} 以上の整数
|
||||
@msg an integer <= {_1} {_1} 以下の整数
|
||||
@msg an integer {_1} to {_2} {_1} から {_2} までの整数
|
||||
@msg one of {_1} {_1} のいずれか
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` は {_1} のいずれかにしてください ({got} は使えません)
|
||||
@msg an object id (a non-negative integer) オブジェクト ID (0 以上の整数)
|
||||
@msg a list of object ids オブジェクト ID のリスト
|
||||
@msg a color (a string, [r, g, b] or an object) カラー (文字列、[r, g, b] またはオブジェクト)
|
||||
@msg [x, y] (two numbers) [x, y] (2 つの数値)
|
||||
@msg an object オブジェクト
|
||||
@msg a list リスト
|
||||
@msg unknown key `{k}`; the keys here are {_1} `{k}` は不明なキーです。ここで使えるキー: {_1}
|
||||
@msg {_1} is listed twice {_1} が 2 回指定されています
|
||||
@msg {_1} is not the id of an input object {_1} は入力オブジェクトの ID ではありません
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6344,6 +6344,35 @@ axis Y Axis Y ღერძი
|
||||
@msg the path has no anchor points ტრაექტორიას საყრდენი წერტილები არ აქვს
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) ძალიან ბევრი საყრდენი წერტილი (ლიმიტი {MAX_ANCHORS})
|
||||
@msg true or false true ან false
|
||||
@msg a number >= {_1} რიცხვი >= {_1}
|
||||
@msg a number > {_1} რიცხვი > {_1}
|
||||
@msg a number <= {_1} რიცხვი <= {_1}
|
||||
@msg a number < {_1} რიცხვი < {_1}
|
||||
@msg a number {_1} to {_2} რიცხვი {_1}-დან {_2}-მდე
|
||||
@msg a number >= {_1} and < {_2} რიცხვი >= {_1} და < {_2}
|
||||
@msg a number > {_1} and <= {_2} რიცხვი > {_1} და <= {_2}
|
||||
@msg a number > {_1} and < {_2} რიცხვი > {_1} და < {_2}
|
||||
@msg a number ({_1}) რიცხვი ({_1})
|
||||
@msg a number >= {_1} ({_2}) რიცხვი >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) რიცხვი > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) რიცხვი <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) რიცხვი < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) რიცხვი {_1}-დან {_2}-მდე ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) რიცხვი >= {_1} და < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) რიცხვი > {_1} და <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) რიცხვი > {_1} და < {_2} ({_3})
|
||||
@msg an integer მთელი რიცხვი
|
||||
@msg an integer >= {_1} მთელი რიცხვი >= {_1}
|
||||
@msg an integer <= {_1} მთელი რიცხვი <= {_1}
|
||||
@msg an integer {_1} to {_2} მთელი რიცხვი {_1}-დან {_2}-მდე
|
||||
@msg one of {_1} ერთ-ერთი მნიშვნელობა {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` უნდა იყოს ერთ-ერთი მნიშვნელობა {_1} და არა {got}
|
||||
@msg an object id (a non-negative integer) ობიექტის იდენტიფიკატორი (არაუარყოფითი მთელი რიცხვი)
|
||||
@msg a list of object ids ობიექტების იდენტიფიკატორების სია
|
||||
@msg a color (a string, [r, g, b] or an object) ფერი (სტრიქონი, [r, g, b] ან ობიექტი)
|
||||
@msg [x, y] (two numbers) [x, y] (ორი რიცხვი)
|
||||
@msg an object ობიექტი
|
||||
@msg a list სია
|
||||
@msg unknown key `{k}`; the keys here are {_1} უცნობი გასაღები `{k}`; აქ გასაღებებია: {_1}
|
||||
@msg {_1} is listed twice {_1} ორჯერაა მითითებული
|
||||
@msg {_1} is not the id of an input object {_1} შემავალი ობიექტის ID არ არის
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -5979,6 +5979,35 @@ axis Y Axis Y축
|
||||
@msg the path has no anchor points 패스에 앵커 포인트가 없습니다
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) 앵커 포인트가 너무 많습니다(한도 {MAX_ANCHORS})
|
||||
@msg true or false true 또는 false
|
||||
@msg a number >= {_1} {_1} 이상인 숫자
|
||||
@msg a number > {_1} {_1} 초과인 숫자
|
||||
@msg a number <= {_1} {_1} 이하인 숫자
|
||||
@msg a number < {_1} {_1} 미만인 숫자
|
||||
@msg a number {_1} to {_2} {_1} 이상 {_2} 이하인 숫자
|
||||
@msg a number >= {_1} and < {_2} {_1} 이상 {_2} 미만인 숫자
|
||||
@msg a number > {_1} and <= {_2} {_1} 초과 {_2} 이하인 숫자
|
||||
@msg a number > {_1} and < {_2} {_1} 초과 {_2} 미만인 숫자
|
||||
@msg a number ({_1}) 숫자({_1})
|
||||
@msg a number >= {_1} ({_2}) {_1} 이상인 숫자({_2})
|
||||
@msg a number > {_1} ({_2}) {_1} 초과인 숫자({_2})
|
||||
@msg a number <= {_1} ({_2}) {_1} 이하인 숫자({_2})
|
||||
@msg a number < {_1} ({_2}) {_1} 미만인 숫자({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} 이상 {_2} 이하인 숫자({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) {_1} 이상 {_2} 미만인 숫자({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) {_1} 초과 {_2} 이하인 숫자({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) {_1} 초과 {_2} 미만인 숫자({_3})
|
||||
@msg an integer 정수
|
||||
@msg an integer >= {_1} {_1} 이상인 정수
|
||||
@msg an integer <= {_1} {_1} 이하인 정수
|
||||
@msg an integer {_1} to {_2} {_1} 이상 {_2} 이하인 정수
|
||||
@msg one of {_1} {_1} 중 하나
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}`은(는) {_1} 중 하나여야 합니다({got} 사용 불가)
|
||||
@msg an object id (a non-negative integer) 개체 ID(음수가 아닌 정수)
|
||||
@msg a list of object ids 개체 ID 목록
|
||||
@msg a color (a string, [r, g, b] or an object) 색상(문자열, [r, g, b] 또는 개체)
|
||||
@msg [x, y] (two numbers) [x, y](숫자 두 개)
|
||||
@msg an object 개체
|
||||
@msg a list 목록
|
||||
@msg unknown key `{k}`; the keys here are {_1} 알 수 없는 키 `{k}`: 여기서 사용할 수 있는 키: {_1}
|
||||
@msg {_1} is listed twice {_1}이(가) 두 번 나열되었습니다
|
||||
@msg {_1} is not the id of an input object {_1}은(는) 입력 개체의 ID가 아닙니다
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -4322,6 +4322,7 @@ imageTrace Outline Contour
|
||||
@msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}` moet een geheel getal tussen {min} en {max} zijn (kreeg {x})
|
||||
@msg `{key}` must be between {min} and {max} (got {x}) `{key}` moet tussen {min} en {max} liggen (kreeg {x})
|
||||
@msg `{key}` must be one of {_1} `{key}` moet een van {_1} zijn
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` moet een van {_1} zijn, niet {got}
|
||||
@msg `{key}` must be true or false `{key}` moet true of false zijn
|
||||
@msg `{k}` must be [x, y] `{k}` moet [x, y] zijn
|
||||
@msg `{name}` has no options `{name}` heeft geen opties
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6247,6 +6247,35 @@ axis Y Axis Oś Y
|
||||
@msg the path has no anchor points ścieżka nie ma punktów kontrolnych
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) za dużo punktów kontrolnych (limit {MAX_ANCHORS})
|
||||
@msg true or false true lub false
|
||||
@msg a number >= {_1} liczbą >= {_1}
|
||||
@msg a number > {_1} liczbą > {_1}
|
||||
@msg a number <= {_1} liczbą <= {_1}
|
||||
@msg a number < {_1} liczbą < {_1}
|
||||
@msg a number {_1} to {_2} liczbą od {_1} do {_2}
|
||||
@msg a number >= {_1} and < {_2} liczbą >= {_1} i < {_2}
|
||||
@msg a number > {_1} and <= {_2} liczbą > {_1} i <= {_2}
|
||||
@msg a number > {_1} and < {_2} liczbą > {_1} i < {_2}
|
||||
@msg a number ({_1}) liczbą ({_1})
|
||||
@msg a number >= {_1} ({_2}) liczbą >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) liczbą > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) liczbą <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) liczbą < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) liczbą od {_1} do {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) liczbą >= {_1} i < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) liczbą > {_1} i <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) liczbą > {_1} i < {_2} ({_3})
|
||||
@msg an integer liczbą całkowitą
|
||||
@msg an integer >= {_1} liczbą całkowitą >= {_1}
|
||||
@msg an integer <= {_1} liczbą całkowitą <= {_1}
|
||||
@msg an integer {_1} to {_2} liczbą całkowitą od {_1} do {_2}
|
||||
@msg one of {_1} jedną z wartości {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` musi być jedną z wartości {_1}, a nie {got}
|
||||
@msg an object id (a non-negative integer) identyfikatorem obiektu (nieujemną liczbą całkowitą)
|
||||
@msg a list of object ids listą identyfikatorów obiektów
|
||||
@msg a color (a string, [r, g, b] or an object) kolorem (ciągiem znaków, [r, g, b] lub obiektem)
|
||||
@msg [x, y] (two numbers) [x, y] (dwiema liczbami)
|
||||
@msg an object obiektem
|
||||
@msg a list listą
|
||||
@msg unknown key `{k}`; the keys here are {_1} nieznany klucz `{k}`; klucze w tym miejscu to {_1}
|
||||
@msg {_1} is listed twice {_1} występuje dwa razy
|
||||
@msg {_1} is not the id of an input object {_1} nie jest identyfikatorem obiektu wejściowego
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6308,6 +6308,35 @@ axis Y Axis Eixo Y
|
||||
@msg the path has no anchor points o caminho não tem pontos de ancoragem
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) pontos de ancoragem demais (limite {MAX_ANCHORS})
|
||||
@msg true or false true ou false
|
||||
@msg a number >= {_1} um número >= {_1}
|
||||
@msg a number > {_1} um número > {_1}
|
||||
@msg a number <= {_1} um número <= {_1}
|
||||
@msg a number < {_1} um número < {_1}
|
||||
@msg a number {_1} to {_2} um número de {_1} a {_2}
|
||||
@msg a number >= {_1} and < {_2} um número >= {_1} e < {_2}
|
||||
@msg a number > {_1} and <= {_2} um número > {_1} e <= {_2}
|
||||
@msg a number > {_1} and < {_2} um número > {_1} e < {_2}
|
||||
@msg a number ({_1}) um número ({_1})
|
||||
@msg a number >= {_1} ({_2}) um número >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) um número > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) um número <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) um número < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) um número de {_1} a {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) um número >= {_1} e < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) um número > {_1} e <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) um número > {_1} e < {_2} ({_3})
|
||||
@msg an integer um inteiro
|
||||
@msg an integer >= {_1} um inteiro >= {_1}
|
||||
@msg an integer <= {_1} um inteiro <= {_1}
|
||||
@msg an integer {_1} to {_2} um inteiro de {_1} a {_2}
|
||||
@msg one of {_1} um de {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` deve ser um de {_1}, não {got}
|
||||
@msg an object id (a non-negative integer) um ID de objeto (um inteiro não negativo)
|
||||
@msg a list of object ids uma lista de IDs de objeto
|
||||
@msg a color (a string, [r, g, b] or an object) uma cor (uma string, [r, g, b] ou um objeto)
|
||||
@msg [x, y] (two numbers) [x, y] (dois números)
|
||||
@msg an object um objeto
|
||||
@msg a list uma lista
|
||||
@msg unknown key `{k}`; the keys here are {_1} chave desconhecida `{k}`; as chaves aqui são {_1}
|
||||
@msg {_1} is listed twice {_1} aparece duas vezes
|
||||
@msg {_1} is not the id of an input object {_1} não é o id de um objeto de entrada
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -6004,6 +6004,35 @@ axis Y Axis Ось Y
|
||||
@msg the path has no anchor points у контура нет опорных точек
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) слишком много опорных точек (предел {MAX_ANCHORS})
|
||||
@msg true or false true или false
|
||||
@msg a number >= {_1} число >= {_1}
|
||||
@msg a number > {_1} число > {_1}
|
||||
@msg a number <= {_1} число <= {_1}
|
||||
@msg a number < {_1} число < {_1}
|
||||
@msg a number {_1} to {_2} число от {_1} до {_2}
|
||||
@msg a number >= {_1} and < {_2} число >= {_1} и < {_2}
|
||||
@msg a number > {_1} and <= {_2} число > {_1} и <= {_2}
|
||||
@msg a number > {_1} and < {_2} число > {_1} и < {_2}
|
||||
@msg a number ({_1}) число ({_1})
|
||||
@msg a number >= {_1} ({_2}) число >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) число > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) число <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) число < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) число от {_1} до {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) число >= {_1} и < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) число > {_1} и <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) число > {_1} и < {_2} ({_3})
|
||||
@msg an integer целое число
|
||||
@msg an integer >= {_1} целое число >= {_1}
|
||||
@msg an integer <= {_1} целое число <= {_1}
|
||||
@msg an integer {_1} to {_2} целое число от {_1} до {_2}
|
||||
@msg one of {_1} одно из значений {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` должно быть одним из значений {_1}, а не {got}
|
||||
@msg an object id (a non-negative integer) идентификатор объекта (неотрицательное целое число)
|
||||
@msg a list of object ids список идентификаторов объектов
|
||||
@msg a color (a string, [r, g, b] or an object) цвет (строка, [r, g, b] или объект)
|
||||
@msg [x, y] (two numbers) [x, y] (два числа)
|
||||
@msg an object объект
|
||||
@msg a list список
|
||||
@msg unknown key `{k}`; the keys here are {_1} неизвестный ключ `{k}`; здесь допустимы ключи {_1}
|
||||
@msg {_1} is listed twice {_1} указан дважды
|
||||
@msg {_1} is not the id of an input object {_1} не является идентификатором входного объекта
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -6379,6 +6379,35 @@ axis Y Axis Y-axel
|
||||
@msg the path has no anchor points banan har inga ankarpunkter
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) för många ankarpunkter (gräns {MAX_ANCHORS})
|
||||
@msg true or false true eller false
|
||||
@msg a number >= {_1} ett tal >= {_1}
|
||||
@msg a number > {_1} ett tal > {_1}
|
||||
@msg a number <= {_1} ett tal <= {_1}
|
||||
@msg a number < {_1} ett tal < {_1}
|
||||
@msg a number {_1} to {_2} ett tal från {_1} till {_2}
|
||||
@msg a number >= {_1} and < {_2} ett tal >= {_1} och < {_2}
|
||||
@msg a number > {_1} and <= {_2} ett tal > {_1} och <= {_2}
|
||||
@msg a number > {_1} and < {_2} ett tal > {_1} och < {_2}
|
||||
@msg a number ({_1}) ett tal ({_1})
|
||||
@msg a number >= {_1} ({_2}) ett tal >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) ett tal > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) ett tal <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) ett tal < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) ett tal från {_1} till {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) ett tal >= {_1} och < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) ett tal > {_1} och <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) ett tal > {_1} och < {_2} ({_3})
|
||||
@msg an integer ett heltal
|
||||
@msg an integer >= {_1} ett heltal >= {_1}
|
||||
@msg an integer <= {_1} ett heltal <= {_1}
|
||||
@msg an integer {_1} to {_2} ett heltal från {_1} till {_2}
|
||||
@msg one of {_1} ett av {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` måste vara ett av {_1}, inte {got}
|
||||
@msg an object id (a non-negative integer) ett objekt-id (ett icke-negativt heltal)
|
||||
@msg a list of object ids en lista med objekt-id:n
|
||||
@msg a color (a string, [r, g, b] or an object) en färg (en sträng, [r, g, b] eller ett objekt)
|
||||
@msg [x, y] (two numbers) [x, y] (två tal)
|
||||
@msg an object ett objekt
|
||||
@msg a list en lista
|
||||
@msg unknown key `{k}`; the keys here are {_1} okänd nyckel `{k}`; nycklarna här är {_1}
|
||||
@msg {_1} is listed twice {_1} finns två gånger
|
||||
@msg {_1} is not the id of an input object {_1} är inte id:t för ett indataobjekt
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -2915,6 +2915,14 @@ fn parameter_schema_errors_are_translated() {
|
||||
s.execute("file.new", &json!({})).unwrap();
|
||||
let errors = [
|
||||
(s.execute("view.saved.new", &json!({"center": [0, 0], "zoom": -1})).unwrap_err().to_string(), "`zoom`", "must be", "-1"),
|
||||
(s.execute("view.saved.new", &json!({"center": [0, 0], "zoom": -1})).unwrap_err().to_string(), "`zoom`", "a number > 0", "-1"),
|
||||
(s.execute("view.saved.new", &json!({"center": 5, "zoom": 1})).unwrap_err().to_string(), "`center`", "two numbers", "5"),
|
||||
(
|
||||
s.execute("view.saved.new", &json!({"center": [0, 0], "zoom": 1, "rotation": "x"})).unwrap_err().to_string(),
|
||||
"`rotation`",
|
||||
"a number (deg)",
|
||||
"\"x\"",
|
||||
),
|
||||
(s.execute("view.saved.new", &json!({"center": [0, 0]})).unwrap_err().to_string(), "`zoom`", "missing", ""),
|
||||
(s.execute("view.saved.list", &json!(5)).unwrap_err().to_string(), "5", "must be", ""),
|
||||
];
|
||||
@@ -2936,6 +2944,152 @@ fn parameter_schema_errors_are_translated() {
|
||||
}
|
||||
}
|
||||
|
||||
/// The phrases a parameter schema's error uses for what a value must be, as `@msg` sources: one
|
||||
/// for each type, and for a number each range and unit form.
|
||||
const SCHEMA_PHRASES: &[&str] = &[
|
||||
"a number",
|
||||
"a number >= {_1}",
|
||||
"a number > {_1}",
|
||||
"a number <= {_1}",
|
||||
"a number < {_1}",
|
||||
"a number {_1} to {_2}",
|
||||
"a number >= {_1} and < {_2}",
|
||||
"a number > {_1} and <= {_2}",
|
||||
"a number > {_1} and < {_2}",
|
||||
"a number ({_1})",
|
||||
"a number >= {_1} ({_2})",
|
||||
"a number > {_1} ({_2})",
|
||||
"a number <= {_1} ({_2})",
|
||||
"a number < {_1} ({_2})",
|
||||
"a number {_1} to {_2} ({_3})",
|
||||
"a number >= {_1} and < {_2} ({_3})",
|
||||
"a number > {_1} and <= {_2} ({_3})",
|
||||
"a number > {_1} and < {_2} ({_3})",
|
||||
"an integer",
|
||||
"an integer >= {_1}",
|
||||
"an integer <= {_1}",
|
||||
"an integer {_1} to {_2}",
|
||||
"true or false",
|
||||
"a string",
|
||||
"one of {_1}",
|
||||
"an object id (a non-negative integer)",
|
||||
"a list of object ids",
|
||||
"a color (a string, [r, g, b] or an object)",
|
||||
"[x, y] (two numbers)",
|
||||
"an object",
|
||||
"a list",
|
||||
];
|
||||
|
||||
/// What a value of each parameter type must be is translated in every language that translates
|
||||
/// every message, for every range and unit of a number: the matched row's placeholders take the
|
||||
/// bounds, the unit and the names exactly as the English gives them, and the whole error keeps
|
||||
/// the parameter's path and the refused value.
|
||||
#[test]
|
||||
fn parameter_schema_expected_phrases_are_translated() {
|
||||
use serde_json::{Value, json};
|
||||
use vectorcraft_apischema::{Bound, Param, ParamSchema, Problem, Type};
|
||||
let number = |min, max, unit| Type::Number { min, max, unit };
|
||||
let (incl, excl) = (|x| Some(Bound::Inclusive(x)), |x| Some(Bound::Exclusive(x)));
|
||||
// (type, a value it refuses, the placeholder values of the phrase's row)
|
||||
let cases: Vec<(Type, Value, Vec<&str>)> = vec![
|
||||
(Type::NUMBER, json!("x"), vec![]),
|
||||
(number(incl(-2.5), None, None), json!(-3), vec!["-2.5"]),
|
||||
(number(excl(0.0), None, None), json!(0), vec!["0"]),
|
||||
(number(None, incl(1.5), None), json!(2), vec!["1.5"]),
|
||||
(number(None, excl(100.0), None), json!(100), vec!["100"]),
|
||||
(number(incl(-1.0), incl(1.0), None), json!(2), vec!["-1", "1"]),
|
||||
(number(incl(0.0), excl(360.0), None), json!(360), vec!["0", "360"]),
|
||||
(number(excl(0.0), incl(1.0), None), json!(0), vec!["0", "1"]),
|
||||
(number(excl(-0.5), excl(0.5), None), json!(1), vec!["-0.5", "0.5"]),
|
||||
(number(None, None, Some("deg")), json!("x"), vec!["deg"]),
|
||||
(number(incl(0.25), None, Some("pt")), json!(0), vec!["0.25", "pt"]),
|
||||
(number(excl(0.0), None, Some("pt")), json!(0), vec!["0", "pt"]),
|
||||
(number(None, incl(-1.0), Some("mm")), json!(0), vec!["-1", "mm"]),
|
||||
(number(None, excl(10.0), Some("px")), json!(10), vec!["10", "px"]),
|
||||
(number(incl(0.0), incl(100.0), Some("%")), json!(101), vec!["0", "100", "%"]),
|
||||
(number(incl(-180.0), excl(180.0), Some("deg")), json!(180), vec!["-180", "180", "deg"]),
|
||||
(number(excl(0.0), incl(1000.0), Some("pt")), json!(0), vec!["0", "1000", "pt"]),
|
||||
(number(excl(-1.0), excl(1.0), Some("in")), json!(1), vec!["-1", "1", "in"]),
|
||||
(Type::Integer { min: None, max: None }, json!(1.5), vec![]),
|
||||
(Type::Integer { min: Some(1), max: None }, json!(0), vec!["1"]),
|
||||
(Type::Integer { min: None, max: Some(-1) }, json!(0), vec!["-1"]),
|
||||
(Type::Integer { min: Some(1), max: Some(25) }, json!(26), vec!["1", "25"]),
|
||||
(Type::Boolean, json!(1), vec![]),
|
||||
(Type::String, json!(1), vec![]),
|
||||
(Type::Enum(&["left", "center", "right"]), json!("top"), vec![r#""left", "center", "right""#]),
|
||||
(Type::Enum(&["only"]), json!("other"), vec![r#""only""#]),
|
||||
(Type::Id, json!(-1), vec![]),
|
||||
(Type::Ids, json!(5), vec![]),
|
||||
(Type::Color, json!(5), vec![]),
|
||||
(Type::Point, json!(5), vec![]),
|
||||
(Type::Object(&[]), json!(5), vec![]),
|
||||
(Type::Array(&Type::NUMBER), json!(5), vec![]),
|
||||
];
|
||||
let one = |name: &'static str, ty: Type| ParamSchema::new(Box::leak(Box::new([Param::new(name, ty)])), "");
|
||||
let inner: &'static [Param] = Box::leak(Box::new([Param::new("zoom", number(excl(0.0), None, None))]));
|
||||
let nested = one("edits", Type::Array(Box::leak(Box::new(Type::Object(inner)))));
|
||||
let mut errors: Vec<_> = cases.iter().map(|(ty, bad, caps)| (one("x", *ty).validate(&json!({ "x": bad })), caps.clone())).collect();
|
||||
errors.push((nested.validate(&json!({"edits": [{"zoom": 1}, {"zoom": -1}]})), vec!["0"]));
|
||||
let mut seen = std::collections::BTreeSet::new();
|
||||
for code in COMPLETE_MESSAGES {
|
||||
let lang = Lang::from_code(code).expect("registered");
|
||||
let (entries, _) = parse_entries(lang.0.source);
|
||||
for phrase in SCHEMA_PHRASES {
|
||||
assert!(entries.iter().any(|(ctx, src, _)| ctx == "@msg" && src == phrase), "{code}: no row for {phrase:?}");
|
||||
}
|
||||
for (result, caps) in &errors {
|
||||
let Err(e) = result else { panic!("accepted: {result:?}") };
|
||||
let Problem::WrongType { expected, got } = &e.problem else { panic!("{e}") };
|
||||
seen.insert(expected.clone());
|
||||
let (_, matched) = lang.catalog().message(expected).unwrap_or_else(|| panic!("{code}: no row matches {expected:?}"));
|
||||
let values: Vec<&str> = matched.iter().map(|(_, v)| *v).collect();
|
||||
assert_eq!(&values, caps, "{code}: {expected:?}");
|
||||
let phrase = message(lang, expected);
|
||||
assert_ne!(&phrase, expected, "{code}");
|
||||
let mut from = 0;
|
||||
for value in caps {
|
||||
let at = phrase[from..].find(value).unwrap_or_else(|| panic!("{code}: {value:?} in {expected:?} -> {phrase:?}"));
|
||||
from += at + value.len();
|
||||
}
|
||||
let shown = message(lang, &e.to_string());
|
||||
let path = format!("`{}`", e.path);
|
||||
let kept = caps.iter().all(|value| shown.contains(value));
|
||||
assert!(kept && shown.contains(&path) && shown.contains(got.as_str()), "{code}: {shown}");
|
||||
assert!(!holds_word(&shown, expected) && !shown.contains("must be") && !shown.contains(", not "), "{code}: {shown}");
|
||||
}
|
||||
}
|
||||
// A catalog's `{key}` must be one of {_1}` row would take `"a", "b", not "c"` as its list.
|
||||
let enum_error = one("x", Type::Enum(&["a", "b"])).validate(&json!({"x": "c"})).map_or_else(|e| e.to_string(), |_| String::new());
|
||||
assert_eq!(enum_error, r#"`x` must be one of "a", "b", not "c""#);
|
||||
for lang in Lang::all().filter(|l| l.code() != Lang::EN.code() && !l.0.source.is_empty()) {
|
||||
let shown = message(lang, &enum_error);
|
||||
assert!(!shown.contains(", not ") && shown.contains(r#""a", "b""#) && shown.contains(r#""c""#), "{}: {shown}", lang.code());
|
||||
}
|
||||
for phrase in
|
||||
["a number > -0.5 and < 0.5", "a number 0 to 100 (%)", "an integer 1 to 25", r#"one of "left", "center", "right""#, "[x, y] (two numbers)"]
|
||||
{
|
||||
assert!(seen.contains(phrase), "{phrase:?} not in {seen:?}");
|
||||
}
|
||||
}
|
||||
|
||||
/// A JSON object or array inside a translated message stays as it is, and an exact message that
|
||||
/// starts with a bracket is still translated.
|
||||
#[test]
|
||||
fn bracketed_message_parts_translate_only_as_exact_messages() {
|
||||
for code in COMPLETE_MESSAGES {
|
||||
let lang = Lang::from_code(code).expect("registered");
|
||||
let point = message(lang, "[x, y] (two numbers)");
|
||||
assert_ne!(point, "[x, y] (two numbers)", "{code}");
|
||||
assert!(point.contains("[x, y]"), "{code}: {point}");
|
||||
for got in ["[1]", "[1, 2, 3]", r#"{"objects": [1]}"#, r#"[{"a": 1}, "b: c", …"#] {
|
||||
let shown = message(lang, &format!("`center` must be [x, y] (two numbers), not {got}"));
|
||||
assert!(shown.contains(&point) && shown.contains(got), "{code}: {shown}");
|
||||
let shown = message(lang, &format!("`p` must be an object, not {got}"));
|
||||
assert!(shown.contains(got) && !shown.contains("an object"), "{code}: {shown}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The warning for a PDF/X file that leaves out the document's bleed is translated in every catalog,
|
||||
/// alone and in the status bar's note.
|
||||
#[test]
|
||||
|
||||
@@ -6349,6 +6349,35 @@ axis Y Axis Y ekseni
|
||||
@msg the path has no anchor points yolun bağlantı noktası yok
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) çok fazla bağlantı noktası (sınır {MAX_ANCHORS})
|
||||
@msg true or false true veya false
|
||||
@msg a number >= {_1} bir sayı >= {_1}
|
||||
@msg a number > {_1} bir sayı > {_1}
|
||||
@msg a number <= {_1} bir sayı <= {_1}
|
||||
@msg a number < {_1} bir sayı < {_1}
|
||||
@msg a number {_1} to {_2} {_1} ile {_2} arasında bir sayı
|
||||
@msg a number >= {_1} and < {_2} bir sayı >= {_1} ve < {_2}
|
||||
@msg a number > {_1} and <= {_2} bir sayı > {_1} ve <= {_2}
|
||||
@msg a number > {_1} and < {_2} bir sayı > {_1} ve < {_2}
|
||||
@msg a number ({_1}) bir sayı ({_1})
|
||||
@msg a number >= {_1} ({_2}) bir sayı >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) bir sayı > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) bir sayı <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) bir sayı < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} ile {_2} arasında bir sayı ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) bir sayı >= {_1} ve < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) bir sayı > {_1} ve <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) bir sayı > {_1} ve < {_2} ({_3})
|
||||
@msg an integer bir tam sayı
|
||||
@msg an integer >= {_1} bir tam sayı >= {_1}
|
||||
@msg an integer <= {_1} bir tam sayı <= {_1}
|
||||
@msg an integer {_1} to {_2} {_1} ile {_2} arasında bir tam sayı
|
||||
@msg one of {_1} {_1} değerlerinden biri
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` {_1} değerlerinden biri olmalıdır, {got} değil
|
||||
@msg an object id (a non-negative integer) bir nesne kimliği (negatif olmayan bir tam sayı)
|
||||
@msg a list of object ids bir nesne kimlikleri listesi
|
||||
@msg a color (a string, [r, g, b] or an object) bir renk (bir dize, [r, g, b] veya bir nesne)
|
||||
@msg [x, y] (two numbers) [x, y] (iki sayı)
|
||||
@msg an object bir nesne
|
||||
@msg a list bir liste
|
||||
@msg unknown key `{k}`; the keys here are {_1} bilinmeyen anahtar `{k}`; buradaki anahtarlar: {_1}
|
||||
@msg {_1} is listed twice {_1} iki kez listelenmiş
|
||||
@msg {_1} is not the id of an input object {_1} bir girdi nesnesinin kimliği değil
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 5 and column 25.
|
@@ -5998,6 +5998,35 @@ axis Y Axis Вісь Y
|
||||
@msg the path has no anchor points контур не має опорних точок
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) забагато опорних точок (межа {MAX_ANCHORS})
|
||||
@msg true or false true або false
|
||||
@msg a number >= {_1} число >= {_1}
|
||||
@msg a number > {_1} число > {_1}
|
||||
@msg a number <= {_1} число <= {_1}
|
||||
@msg a number < {_1} число < {_1}
|
||||
@msg a number {_1} to {_2} число від {_1} до {_2}
|
||||
@msg a number >= {_1} and < {_2} число >= {_1} і < {_2}
|
||||
@msg a number > {_1} and <= {_2} число > {_1} і <= {_2}
|
||||
@msg a number > {_1} and < {_2} число > {_1} і < {_2}
|
||||
@msg a number ({_1}) число ({_1})
|
||||
@msg a number >= {_1} ({_2}) число >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) число > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) число <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) число < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) число від {_1} до {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) число >= {_1} і < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) число > {_1} і <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) число > {_1} і < {_2} ({_3})
|
||||
@msg an integer ціле число
|
||||
@msg an integer >= {_1} ціле число >= {_1}
|
||||
@msg an integer <= {_1} ціле число <= {_1}
|
||||
@msg an integer {_1} to {_2} ціле число від {_1} до {_2}
|
||||
@msg one of {_1} одне зі значень {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` має бути одним зі значень {_1}, а не {got}
|
||||
@msg an object id (a non-negative integer) ідентифікатор об’єкта (невід’ємне ціле число)
|
||||
@msg a list of object ids список ідентифікаторів об’єктів
|
||||
@msg a color (a string, [r, g, b] or an object) колір (рядок, [r, g, b] або об’єкт)
|
||||
@msg [x, y] (two numbers) [x, y] (два числа)
|
||||
@msg an object об’єкт
|
||||
@msg a list список
|
||||
@msg unknown key `{k}`; the keys here are {_1} невідомий ключ `{k}`; тут допустимі ключі {_1}
|
||||
@msg {_1} is listed twice {_1} вказано двічі
|
||||
@msg {_1} is not the id of an input object {_1} не є ідентифікатором вхідного об’єкта
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -5999,6 +5999,35 @@ axis Y Axis Trục Y
|
||||
@msg the path has no anchor points đường dẫn không có điểm neo
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) quá nhiều điểm neo (giới hạn {MAX_ANCHORS})
|
||||
@msg true or false true hoặc false
|
||||
@msg a number >= {_1} một số >= {_1}
|
||||
@msg a number > {_1} một số > {_1}
|
||||
@msg a number <= {_1} một số <= {_1}
|
||||
@msg a number < {_1} một số < {_1}
|
||||
@msg a number {_1} to {_2} một số từ {_1} đến {_2}
|
||||
@msg a number >= {_1} and < {_2} một số >= {_1} và < {_2}
|
||||
@msg a number > {_1} and <= {_2} một số > {_1} và <= {_2}
|
||||
@msg a number > {_1} and < {_2} một số > {_1} và < {_2}
|
||||
@msg a number ({_1}) một số ({_1})
|
||||
@msg a number >= {_1} ({_2}) một số >= {_1} ({_2})
|
||||
@msg a number > {_1} ({_2}) một số > {_1} ({_2})
|
||||
@msg a number <= {_1} ({_2}) một số <= {_1} ({_2})
|
||||
@msg a number < {_1} ({_2}) một số < {_1} ({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) một số từ {_1} đến {_2} ({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) một số >= {_1} và < {_2} ({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) một số > {_1} và <= {_2} ({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) một số > {_1} và < {_2} ({_3})
|
||||
@msg an integer một số nguyên
|
||||
@msg an integer >= {_1} một số nguyên >= {_1}
|
||||
@msg an integer <= {_1} một số nguyên <= {_1}
|
||||
@msg an integer {_1} to {_2} một số nguyên từ {_1} đến {_2}
|
||||
@msg one of {_1} một trong các giá trị {_1}
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` phải là một trong các giá trị {_1}, không phải {got}
|
||||
@msg an object id (a non-negative integer) một ID đối tượng (một số nguyên không âm)
|
||||
@msg a list of object ids một danh sách ID đối tượng
|
||||
@msg a color (a string, [r, g, b] or an object) một màu (một chuỗi, [r, g, b] hoặc một đối tượng)
|
||||
@msg [x, y] (two numbers) [x, y] (hai số)
|
||||
@msg an object một đối tượng
|
||||
@msg a list một danh sách
|
||||
@msg unknown key `{k}`; the keys here are {_1} khóa không xác định `{k}`; các khóa ở đây là {_1}
|
||||
@msg {_1} is listed twice {_1} được liệt kê hai lần
|
||||
@msg {_1} is not the id of an input object {_1} không phải là id của một đối tượng đầu vào
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 204 and column 5.
|
@@ -6231,6 +6231,35 @@ axis Y Axis Y 轴
|
||||
@msg the path has no anchor points 路径没有锚点
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) 锚点过多(上限 {MAX_ANCHORS})
|
||||
@msg true or false true 或 false
|
||||
@msg a number >= {_1} 大于或等于 {_1} 的数字
|
||||
@msg a number > {_1} 大于 {_1} 的数字
|
||||
@msg a number <= {_1} 小于或等于 {_1} 的数字
|
||||
@msg a number < {_1} 小于 {_1} 的数字
|
||||
@msg a number {_1} to {_2} {_1} 到 {_2} 之间的数字
|
||||
@msg a number >= {_1} and < {_2} 大于或等于 {_1} 且小于 {_2} 的数字
|
||||
@msg a number > {_1} and <= {_2} 大于 {_1} 且小于或等于 {_2} 的数字
|
||||
@msg a number > {_1} and < {_2} 大于 {_1} 且小于 {_2} 的数字
|
||||
@msg a number ({_1}) 数字({_1})
|
||||
@msg a number >= {_1} ({_2}) 大于或等于 {_1} 的数字({_2})
|
||||
@msg a number > {_1} ({_2}) 大于 {_1} 的数字({_2})
|
||||
@msg a number <= {_1} ({_2}) 小于或等于 {_1} 的数字({_2})
|
||||
@msg a number < {_1} ({_2}) 小于 {_1} 的数字({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) {_1} 到 {_2} 之间的数字({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) 大于或等于 {_1} 且小于 {_2} 的数字({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) 大于 {_1} 且小于或等于 {_2} 的数字({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) 大于 {_1} 且小于 {_2} 的数字({_3})
|
||||
@msg an integer 整数
|
||||
@msg an integer >= {_1} 大于或等于 {_1} 的整数
|
||||
@msg an integer <= {_1} 小于或等于 {_1} 的整数
|
||||
@msg an integer {_1} to {_2} {_1} 到 {_2} 之间的整数
|
||||
@msg one of {_1} {_1} 之一
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` 必须是 {_1} 之一,而不是 {got}
|
||||
@msg an object id (a non-negative integer) 对象 ID(非负整数)
|
||||
@msg a list of object ids 对象 ID 列表
|
||||
@msg a color (a string, [r, g, b] or an object) 颜色(字符串、[r, g, b] 或对象)
|
||||
@msg [x, y] (two numbers) [x, y](两个数字)
|
||||
@msg an object 对象
|
||||
@msg a list 列表
|
||||
@msg unknown key `{k}`; the keys here are {_1} 未知键 `{k}`;此处可用的键:{_1}
|
||||
@msg {_1} is listed twice {_1} 列出了两次
|
||||
@msg {_1} is not the id of an input object {_1} 不是输入对象的 ID
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6036,6 +6036,35 @@ axis Y Axis Y 軸
|
||||
@msg the path has no anchor points 路徑沒有錨點
|
||||
@msg too many anchor points (limit {MAX_ANCHORS}) 錨點過多(上限 {MAX_ANCHORS})
|
||||
@msg true or false true 或 false
|
||||
@msg a number >= {_1} 大於或等於 {_1} 的數字
|
||||
@msg a number > {_1} 大於 {_1} 的數字
|
||||
@msg a number <= {_1} 小於或等於 {_1} 的數字
|
||||
@msg a number < {_1} 小於 {_1} 的數字
|
||||
@msg a number {_1} to {_2} 介於 {_1} 到 {_2} 之間的數字
|
||||
@msg a number >= {_1} and < {_2} 大於或等於 {_1} 且小於 {_2} 的數字
|
||||
@msg a number > {_1} and <= {_2} 大於 {_1} 且小於或等於 {_2} 的數字
|
||||
@msg a number > {_1} and < {_2} 大於 {_1} 且小於 {_2} 的數字
|
||||
@msg a number ({_1}) 數字({_1})
|
||||
@msg a number >= {_1} ({_2}) 大於或等於 {_1} 的數字({_2})
|
||||
@msg a number > {_1} ({_2}) 大於 {_1} 的數字({_2})
|
||||
@msg a number <= {_1} ({_2}) 小於或等於 {_1} 的數字({_2})
|
||||
@msg a number < {_1} ({_2}) 小於 {_1} 的數字({_2})
|
||||
@msg a number {_1} to {_2} ({_3}) 介於 {_1} 到 {_2} 之間的數字({_3})
|
||||
@msg a number >= {_1} and < {_2} ({_3}) 大於或等於 {_1} 且小於 {_2} 的數字({_3})
|
||||
@msg a number > {_1} and <= {_2} ({_3}) 大於 {_1} 且小於或等於 {_2} 的數字({_3})
|
||||
@msg a number > {_1} and < {_2} ({_3}) 大於 {_1} 且小於 {_2} 的數字({_3})
|
||||
@msg an integer 整數
|
||||
@msg an integer >= {_1} 大於或等於 {_1} 的整數
|
||||
@msg an integer <= {_1} 小於或等於 {_1} 的整數
|
||||
@msg an integer {_1} to {_2} 介於 {_1} 到 {_2} 之間的整數
|
||||
@msg one of {_1} {_1} 其中之一
|
||||
@msg `{path}` must be one of {_1}, not {got} `{path}` 必須是 {_1} 其中之一,而不是 {got}
|
||||
@msg an object id (a non-negative integer) 物件 ID(非負整數)
|
||||
@msg a list of object ids 物件 ID 清單
|
||||
@msg a color (a string, [r, g, b] or an object) 顏色(字串、[r, g, b] 或物件)
|
||||
@msg [x, y] (two numbers) [x, y](兩個數字)
|
||||
@msg an object 物件
|
||||
@msg a list 清單
|
||||
@msg unknown key `{k}`; the keys here are {_1} 未知的鍵 `{k}`;此處可用的鍵:{_1}
|
||||
@msg {_1} is listed twice {_1} 列出了兩次
|
||||
@msg {_1} is not the id of an input object {_1} 不是輸入物件的 ID
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -1823,6 +1823,11 @@ parameter error, ``invalid parameters for `<id>`: `<path>` is nested too deeply`
|
||||
value. A schema that is wrong in itself, such as one that nests past 16 levels or puts a list of ids or a point
|
||||
inside 16 lists, is an internal error in the command, and the command does not run.
|
||||
|
||||
The command API returns these errors in English. The desktop app's status bar shows them in the interface language,
|
||||
the requirement after "must be" included (a number and its range and unit, an integer, a list of names, an object id,
|
||||
a color, a point, an object or a list); the parameter's path, the refused value, the bounds, the unit and the names stay
|
||||
as the English gives them.
|
||||
|
||||
An omitted value with a `default` takes it (`rotation` 0 in `view.saved.new`); the journal keeps the params as they
|
||||
were given. Saved steps played from a journal or an action keep a key the schema does not name, unless its value nests
|
||||
more than 16 levels deep, and the values of the parameters it names are checked as in a new call. The schemas of built-in commands belong to API level 3
|
||||
|
||||
@@ -867,6 +867,7 @@ Moved from the ROADMAP's "Shipped so far" on 2026-10-10. Update it when a featur
|
||||
- The errors of the blend spine commands (Move Spine Point, Reshape Spine Segment, Add Spine Point and Delete Spine Point) show in the status bar in the interface language: each has a row in every catalog that translates all status and error messages and in Bulgarian (`blend_spine_param_errors_are_translated`).
|
||||
- The errors of the 3D effects (Extrude & Bevel, Revolve, Inflate, Rotate and their Classic forms) show in the status bar in the interface language: the art a 3D effect cannot build a solid from, invalid light, graphics and surface settings, and the notes for an object that draws no 3D faces or more wireframe edges than the limit. Each has a row in every catalog that translates all status and error messages, and the effect's name and the values in the message are translated or kept as written (`three_d_refusals_are_translated_in_every_complete_catalog`, `three_d_refusals_translate_with_their_values`).
|
||||
- The errors of the parameter checks that many commands share show in the status bar in the interface language: a value that is not a number where a number goes (`object.move` with `"dx": "60 mm"`, and `object.rotate`, `object.setBounds` and the other commands that call `check_numbers`), a missing number or index, `ids` that are not a list of object ids, an object id that is not a non-negative integer or names no object, and a date that is not Unix seconds. Each has a row in every catalog that translates all status and error messages, and in Bulgarian, Danish, Indonesian and Dutch (`shared_param_check_errors_are_translated`).
|
||||
- A parameter schema's errors show in the status bar with what the value must be in the interface language, for every type a schema has (a number with each kind of range and with a unit, an integer and its range, true or false, a string, a list of names, an object id, a list of object ids, a color, a point, an object and a list), in every catalog that translates all status and error messages; the path, the refused value, the bounds, the unit and the names stay as the English gives them. The error for a value that is not one of its names is also translated in Bulgarian, Bosnian, Danish, Indonesian and Dutch (`parameter_schema_expected_phrases_are_translated`, `bracketed_message_parts_translate_only_as_exact_messages`).
|
||||
- Export commands run through MCP, the control channel or the CLI refuse a key that no format takes, and a command that writes one format (`document.exportPdf`, `document.exportEps`, `document.exportDxf`) or takes one format's options (`document.pdfSettings`, `pdf.preset.save`) refuses a key that format doesn't take. An unknown key inside `marks`, `bleed`, `compression`, `output`, `advanced`, `security` or `flattener` is refused by its path.
|
||||
- Save commands run through MCP, the control channel or the CLI (`document.save`, `file.saveAs`, `file.saveCopy`, `file.saveAsTemplate`, `app.save`) refuse a key that no save format takes, beside the path or in `options`. Export for Screens refuses a key it doesn't take, and a key that no format takes in a format row or in a format's settings, by its path (`formats[1].marks.useDocumentBleed`); Export Assets (`assets.export`, `assets.settings.set`) checks the rows and settings it is given the same way.
|
||||
- Commands that read their `ids` (or `slices`) list themselves refuse a list with an entry that is not a non-negative integer, and a value that is not a list, and change nothing; they no longer drop the entry and act on the rest (Copy Appearance From, the Edit Colors commands and Overprint Black, Find and Replace, `layer.highlight`, `layer.move`, `library.add`, the Links panel commands, `object.transform`, Make Pattern, the Repeat commands, the slice commands, Join, Average and Join, `plugin.run`, `symbol.edit`, Make Opacity Mask; `tests::ids_without_selection::an_ids_entry_that_is_not_an_id_is_refused_and_changes_nothing`). The error for an entry of an object id list names the key, the entry and its value ("`ids` entry 1 is true, not a non-negative integer object id"), with a row in every catalog that has the other object id errors.
|
||||
|
||||
Reference in New Issue
Block a user