diff --git a/crates/ui-egui/src/i18n/bg.tsv b/crates/ui-egui/src/i18n/bg.tsv index 0da4c8b03..fdfd7c713 100644 --- a/crates/ui-egui/src/i18n/bg.tsv +++ b/crates/ui-egui/src/i18n/bg.tsv @@ -4163,13 +4163,13 @@ axis Both И двете @msg no point {i} (the gradient has {_1}) няма точка {i} (градиентът има {_1}) @msg no preset editor няма редактор на предварителни настройки @msg no previous transform няма предишно трансформиране -@msg no print preset named `{base}` няма предварителна настройка за печат с име „{base}“ -@msg no print preset named `{name}` няма предварителна настройка за печат с име „{name}“ +@msg no print preset named `{base}` няма предварителна настройка за печат с име `{base}` +@msg no print preset named `{name}` няма предварителна настройка за печат с име `{name}` @msg no print service няма услуга за печат @msg no revert command няма команда за връщане -@msg no saved PDF preset named `{name}` (built-in presets are read-only: start a new one from them) няма запазен PDF просет с име „{name}“ (вградените настройки са само за четене: създайте нова от тях) +@msg no saved PDF preset named `{name}` (built-in presets are read-only: start a new one from them) няма запазен PDF просет с име `{name}` (вградените настройки са само за четене: създайте нова от тях) @msg no saved presets няма запазени предварителни настройки -@msg no saved print preset named `{name}` ({DEFAULT_PRESET} is protected: start a new one from it) няма запазена предварителна настройка за печат с име „{name}“ ({DEFAULT_PRESET} е защитена: създайте нова от нея) +@msg no saved print preset named `{name}` ({DEFAULT_PRESET} is protected: start a new one from it) няма запазена предварителна настройка за печат с име `{name}` ({DEFAULT_PRESET} е защитена: създайте нова от нея) @msg no saved profiles няма запазени профили @msg no saved selection recalled няма възстановена запазена селекция @msg no saved selections няма запазени селекции @@ -4207,13 +4207,13 @@ axis Both И двете @msg no such user library няма такава потребителска библиотека @msg no such view няма такъв изглед @msg no such width point няма такава точка за ширина -@msg no swatch `{name}` няма образец „{name}“ -@msg no swatch library `{l}` (see swatch.library.list) няма библиотека с образци „{l}“ (вижте swatch.library.list) +@msg no swatch `{name}` няма образец `{name}` +@msg no swatch library `{l}` (see swatch.library.list) няма библиотека с образци `{l}` (вижте swatch.library.list) @msg no symbol instances selected няма избрани екземпляри на символ @msg no target object has an opacity mask: select one or give `id` никой целеви обект няма маска за непрозрачност: изберете един или задайте `id` @msg no threaded text selected няма избран свързан текст @msg no user library folder here тук няма папка с потребителска библиотека -@msg no user workspace `{from}` няма потребителско работно пространство „{from}“ +@msg no user workspace `{from}` няма потребителско работно пространство `{from}` @msg node {_1} is not text възелът {_1} не е текст @msg not a DXF drawing не е DXF чертеж @msg not a VectorCraft file: {0} не е файл на VectorCraft: {0} diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index 0f960961e..933f5a329 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -2062,6 +2062,47 @@ fn shared_param_check_errors_show_their_values_as_given() { } } +/// The spans of `s` between pairs of backticks, such as a parameter key or a command id; none when +/// its backticks don't pair up. +fn backticked(s: &str) -> Vec<&str> { + let parts: Vec<&str> = s.split('`').collect(); + if parts.len().is_multiple_of(2) { + return Vec::new(); + } + parts.into_iter().skip(1).step_by(2).filter(|t| !t.is_empty()).collect() +} + +#[test] +fn backticked_finds_the_spans_between_paired_backticks() { + assert_eq!(backticked("`ids` must be an array, see `plugin.list`"), ["ids", "plugin.list"]); + assert_eq!(backticked("no backticks"), Vec::<&str>::new()); + assert_eq!(backticked("a lone ` backtick"), Vec::<&str>::new()); +} + +/// A translated row keeps each backticked span of its English text, in backticks and as the +/// English spells it: the span names a parameter key, a command id or a placeholder, which the +/// command reads as written. +#[test] +fn translations_keep_the_backticked_names_of_their_english() { + let mut missing = Vec::new(); + for l in &LANGUAGES { + let (entries, _) = parse_entries(l.source); + for (ctx, src, tr) in &entries { + let plural = ctx == "@plural" || ctx == "@msgplural"; + let english = if plural { src.rsplit('|').next().unwrap_or(src) } else { src.as_str() }; + let forms: Vec<&str> = if plural { tr.split('|').collect() } else { vec![tr.as_str()] }; + for form in forms { + for token in backticked(english) { + if !form.contains(&format!("`{token}`")) { + missing.push(format!("{}: `{token}` in {src:?} -> {form:?}", l.code)); + } + } + } + } + } + assert!(missing.is_empty(), "{} rows drop a backticked name:\n{}", missing.len(), missing.join("\n")); +} + /// Languages whose catalogs translate status and error messages; [`untranslated_report`] lists /// the messages each one lacks. const COMPLETE_MESSAGES: &[&str] = &[ diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index 7d6676c87..20cad5f53 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -2815,7 +2815,7 @@ digits Malayalam Malayalam Apply {name} “{name}” Stilini Uygula Redefine {name} “{name}” Stilini Yeniden Tanımla @msg `Custom` stands for changed settings: save the preset under another name `Custom` değiştirilmiş ayarları ifade eder: ön ayarı başka bir adla kaydedin -@msg `{key}` must be an array of these names: {_1} "{key}" şu adlardan oluşan bir dizi olmalıdır: {_1} +@msg `{key}` must be an array of these names: {_1} `{key}` şu adlardan oluşan bir dizi olmalıdır: {_1} Search commands and tools Komutları ve araçları arayın Search commands and tools… Komutları ve araçları arayın… Search Commands… Arama Komutları… @@ -3764,7 +3764,7 @@ axis Both Her İkisi @msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same üzerlerindeki görseller sayfanınkinden %{_1} oranında farklıdır: yine de düzenleme verilerinden gelirler @msg the file's layers weren't read ({_1}): it comes in as its page, in one layer dosyanın katmanları okunmadı ({_1}): tek katmanda kendi sayfası olarak geliyor @msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part dosyanın katmanları düzenleme verilerinden okunmadı ({_1}): PDF kısmından geliyorlar -@msg `to` must be "corner" or "smooth" "to" "köşe" veya "pürüzsüz" olmalıdır +@msg `to` must be "corner" or "smooth" `to` "corner" veya "smooth" olmalıdır @msg `fontHeightReference` must be "emBox", "capHeight", "xHeight" or "icfBox" `fontHeightReference` "emBox", "capHeight", "xHeight" veya "icfBox" olmalıdır @msg BMP files are RGB or grayscale: colorModel rgb or gray BMP dosyaları RGB veya gri tonlamalıdır: colorModel rgb veya gri @msg Blend colors: select at least three objects with filled colours Renkleri karıştır: dolgulu renklere sahip en az üç nesne seçin @@ -3836,35 +3836,35 @@ axis Both Her İkisi @msg Targa files are RGB: colorModel rgb Targa dosyaları RGB'dir: colorModel rgb @msg Text Wrap: select a wrap object Metin Sarma: bir sarma nesnesi seçin @msg This shortcut file is in a form VectorCraft can't read. Bu kısayol dosyası VectorCraft'ın okuyamayacağı bir biçimdedir. -@msg `aspect` must be a number (%) "boyut" bir sayı olmalıdır (%) +@msg `aspect` must be a number (%) `aspect` bir sayı olmalıdır (%) @msg `at` must be [x, y] `at` [x, y] olmalıdır -@msg `color` must be a colour "renk" bir renk olmalıdır -@msg `command` must be a command whose menu item opens a dialog (see ui.menuDialog) `komut`, menü öğesi bir iletişim kutusu açan bir komut olmalıdır (bkz. ui.menuDialog) -@msg `freeform.points` must be an array "freeform.points" bir dizi olmalıdır -@msg `freeform.lines` must be an array "freeform.lines" bir dizi olmalıdır -@msg `gradient` must be an object "gradyan" bir nesne olmalıdır +@msg `color` must be a colour `color` bir renk olmalıdır +@msg `command` must be a command whose menu item opens a dialog (see ui.menuDialog) `command`, menü öğesi bir iletişim kutusu açan bir komut olmalıdır (bkz. ui.menuDialog) +@msg `freeform.points` must be an array `freeform.points` bir dizi olmalıdır +@msg `freeform.lines` must be an array `freeform.lines` bir dizi olmalıdır +@msg `gradient` must be an object `gradient` bir nesne olmalıdır @msg `groupColors` must be an array `groupColors` bir dizi olmalıdır -@msg `library` is a library id or name (see {list}) 'kitaplık' bir kitaplık kimliği veya adıdır (bkz. {list}) -@msg `mode` applies to freeform gradients "mod" serbest biçimli degradeler için geçerlidir +@msg `library` is a library id or name (see {list}) `library` bir kitaplık kimliği veya adıdır (bkz. {list}) +@msg `mode` applies to freeform gradients `mode` serbest biçimli degradeler için geçerlidir @msg `preserve` must be an object `preserve` bir nesne olmalıdır @msg `globalAdjust` must be an object `globalAdjust` bir nesne olmalıdır -@msg `sampleSize` must be 1, 3 or 5 "sampleSize" 1, 3 veya 5 olmalıdır -@msg `stops` must be an array "duraklar" bir dizi olmalıdır +@msg `sampleSize` must be 1, 3 or 5 `sampleSize` 1, 3 veya 5 olmalıdır +@msg `stops` must be an array `stops` bir dizi olmalıdır @msg `svg` must be an object of SVG options (see document.formats) `svg`, SVG seçeneklerinin bir nesnesi olmalıdır (bkz. document.formats) @msg `{_1}` is no save command `{_1}` kaydetme komutu değil @msg `{area}` is no recovery area name `{area}`, kurtarma alanı adı değildir @msg `{color}` is not a colour (#rrggbb or a preset name) `{color}` bir renk değildir (#rrggbb veya önceden ayarlanmış bir ad) @msg `{id}` has no envelope dialog `{id}`de zarf iletişim kutusu yok @msg `{keep}` is not a side of this axis `{keep}` bu eksenin bir tarafı değil -@msg `{key}` must be `auto` or a language code such as `en` or `zh-hant` "{key}", "auto" veya "en" veya "zh-hant" gibi bir dil kodu olmalıdır -@msg `{key}` must be a #rrggbb colour "{key}" #rrggbb rengi olmalıdır -@msg `{key}` must be a number "{key}" bir sayı olmalıdır -@msg `{key}` must be a string "{key}" bir dize olmalıdır +@msg `{key}` must be `auto` or a language code such as `en` or `zh-hant` `{key}`, `auto` ya da `en` veya `zh-hant` gibi bir dil kodu olmalıdır +@msg `{key}` must be a #rrggbb colour `{key}` bir #rrggbb rengi olmalıdır +@msg `{key}` must be a number `{key}` bir sayı olmalıdır +@msg `{key}` must be a string `{key}` bir dize olmalıdır @msg `{key}` must be a whole number `{key}` bir tam sayı olmalıdır @msg `{key}` must be a whole number between {min} and {max} (got {x}) `{key}`, {min} ile {max} arasında bir tam sayı olmalıdır ({x}'yi aldı) @msg `{key}` must be between {min} and {max} (got {x}) `{key}`, {min} ile {max} arasında olmalıdır ({x}'yi aldı) @msg `{key}` must be one of {_1} `{key}`, {_1}'den biri olmalıdır -@msg `{key}` must be true or false "{key}" doğru veya yanlış olmalıdır +@msg `{key}` must be true or false `{key}` true veya false olmalıdır @msg `top` and `below` can't both be true `top` ve `below` aynı anda true olamaz @msg `select` must be true or false `select` true veya false olmalıdır @msg `minAnchors` and `maxAnchors` must be whole numbers `minAnchors` ve `maxAnchors` tam sayı olmalıdır @@ -3872,8 +3872,8 @@ axis Both Her İkisi @msg `{key}` must be [x, y, width, height]: four finite numbers, width and height not negative `{key}` [x, y, width, height] olmalıdır: dört sonlu sayı, genişlik ve yükseklik negatif olmamalı @msg `{min_key}` is greater than `{max_key}` `{min_key}`, `{max_key}` değerinden büyük @msg give at least one of `name`, `kind`, `text`, `within`, `intersects`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight`, `minThickness`, `maxThickness`, `minArea`, `maxArea`, `minAnchors`, `maxAnchors` şunlardan en az birini verin: `name`, `kind`, `text`, `within`, `intersects`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight`, `minThickness`, `maxThickness`, `minArea`, `maxArea`, `minAnchors`, `maxAnchors` -@msg `mode` must be grayscale, rgb, hsb, cmyk or websafe "mod" gri tonlamalı, rgb, hsb, cmyk veya web uyumlu olmalıdır -@msg `{k}` must be [x, y] "{k}" [x, y] olmalıdır +@msg `mode` must be grayscale, rgb, hsb, cmyk or websafe `mode` grayscale, rgb, hsb, cmyk veya websafe olmalıdır +@msg `{k}` must be [x, y] `{k}` [x, y] olmalıdır @msg `{name}` has no options `{name}`nin seçeneği yok @msg `{name}` is a built-in workspace; choose another name `{name}` yerleşik bir çalışma alanıdır; başka bir isim seç @msg `{name}` is a process colour: tints apply to global and spot colours `{name}` bir proses renktir: renk tonları global ve spot renklere uygulanır @@ -3920,7 +3920,7 @@ axis Both Her İkisi @msg antiAlias `{id}`: none, art or type antiAlias `{id}`: yok, resim veya tür @msg artboard {0} does not exist {0} çalışma yüzeyi mevcut değil @msg at this scale the drawing is {w} × {h} pt, more than the canvas holds: choose a smaller scale or fit it to the artboard bu ölçekte çizim {w} × {h} nk, kanvasın sığabileceğinden daha fazladır: daha küçük bir ölçek seçin veya çalışma yüzeyine sığdırın -@msg axis must be "vertical", "horizontal" or an angle in degrees, not `{v}` eksen "{v}" değil, "dikey", "yatay" veya derece cinsinden bir açı olmalıdır +@msg axis must be "vertical", "horizontal" or an angle in degrees, not `{v}` axis "vertical", "horizontal" veya derece cinsinden bir açı olmalıdır, `{v}` değil @msg background {other}: transparent, white, black or a colour such as "#ff8800" arka plan {other}: şeffaf, beyaz, siyah veya "#ff8800" gibi bir renk @msg bad color {v} kötü renk {v} @msg videoRulerPixelAspectRatio must be a number from 0.1 to 10 videoRulerPixelAspectRatio 0,1 ile 10 arasında bir sayı olmalıdır @@ -3950,7 +3950,7 @@ axis Both Her İkisi @msg check an artboard to export dışa aktarılacak bir çalışma yüzeyi işaretleyin @msg check a layer to export dışa aktarılacak katmanı kontrol edin @msg select the art to export first önce dışa aktarılacak resmi seçin -@msg choice must be "merge" or "add", not `{choice}` seçim "{choice}" değil "birleştir" veya "ekle" olmalıdır +@msg choice must be "merge" or "add", not `{choice}` choice "merge" veya "add" olmalıdır, `{choice}` değil @msg choose a direction to divide in bölmek için bir yön seçin @msg choose a folder to export to dışa aktarılacak bir klasör seçin @msg choose a location for the package paket için bir yer seçin @@ -3963,14 +3963,14 @@ axis Both Her İkisi @msg damaged hasarlı @msg decimals must be {_1}–{_2} (got {_3}) ondalık sayılar {_1}–{_2} olmalıdır ({_3}'yi aldı) @msg divide into 1 to {MAX_PIECES} slices 1 ila {MAX_PIECES} dilimlerine bölün -@msg effect {k} is `{_1}`, not `{id}` {k} efekti "{id}" değil "{_1}"dir +@msg effect {k} is `{_1}`, not `{id}` {k} efekti `{_1}`, `{id}` değil @msg empty brush stroke boş fırça darbesi @msg empty cutter boş kesici @msg empty path boş yol @msg file version {0} is newer than this VectorCraft supports ({VERSION}) dosya sürümü {0}, VectorCraft'ın desteklediğinden daha yenidir ({VERSION}) -@msg freeform point {i} needs `at` [x, y] and a valid `color` serbest biçimli nokta {i}'nin "[x, y]'de" ve geçerli bir "renk"te olması gerekir +@msg freeform point {i} needs `at` [x, y] and a valid `color` serbest biçimli nokta {i} için `at` [x, y] ve geçerli bir `color` gerekir @msg freeform line {i} must be an array of point indices Serbest biçimli çizgi {i}, bir nokta indeks dizisi olmalıdır -@msg give both `start` and `end` [x, y] (or neither) hem "başlangıç" hem de "son" [x, y] verin (ya da ikisini de) +@msg give both `start` and `end` [x, y] (or neither) hem `start` hem de `end` [x, y] verin (ya da hiçbirini) @msg give corners of the path: anchors where its sides meet at an angle yolun köşelerini verin: kenarlarının belli bir açıyla buluştuğu noktalara sabitleyin @msg give horizontal or vertical yatay veya dikey ver @msg give the path `id` and the width point `index` yol `id`sini ve genişlik noktası `index`i verin @@ -3978,8 +3978,8 @@ axis Both Her İkisi @msg image '{key}' has no pixels and was left out '{key}' resminde piksel yok ve dışarıda bırakıldı @msg image data `{_1}` is missing `{_1}` resim verisi eksik @msg image would be too large; lower the resolution resim çok büyük olur; çözünürlüğü düşür -@msg index must be a number or first, previous, next or last dizin bir sayı veya ilk, önceki, sonraki veya son olmalıdır -@msg index must be a number or first, previous, next or last, not `{other}` dizin bir sayı veya ilk, önceki, sonraki veya son olmalıdır, "{other}" değil +@msg index must be a number or first, previous, next or last index bir sayı ya da first, previous, next veya last olmalıdır +@msg index must be a number or first, previous, next or last, not `{other}` index bir sayı ya da first, previous, next veya last olmalıdır, `{other}` değil @msg installing from a path is not available on the web; pass the module as `dataBase64` bir yoldan kurulum web'de mümkün değildir; modülü `dataBase64` olarak iletin @msg internal error in `{cmd}`: {msg} (the document was left as it was before; please report this bug) `{cmd}`de dahili hata: {msg} (belge daha önce olduğu gibi bırakıldı; lütfen bu hatayı bildirin) @msg internal error: {msg} (please report this bug) dahili hata: {msg} (lütfen bu hatayı bildirin) @@ -3996,10 +3996,10 @@ axis Both Her İkisi @msg layers can't be wrap objects katmanlar sarma nesneleri olamaz @msg line {line}: value for `{var}` must be true or false satır {line}: `{var}` değeri true veya false olmalıdır @msg line {line}: value for `{var}` is longer than {MAX_GRAPH_CSV} bytes satır {line}: `{var}` değeri {MAX_GRAPH_CSV} bayttan uzun -@msg missing `folder` 'klasör' eksik -@msg missing `id` (see plugin.list) `kimlik` eksik (bkz. eklenti.liste) -@msg missing `name` "isim" eksik -@msg missing `tool` 'araç' eksik +@msg missing `folder` `folder` eksik +@msg missing `id` (see plugin.list) `id` eksik (bkz. plugin.list) +@msg missing `name` `name` eksik +@msg missing `tool` `tool` eksik @msg missing id id eksik @msg missing index eksik dizin @msg New Window isn't available yet: a document opens in one window Yeni Pencere henüz kullanılamıyor: bir belge tek pencerede açılır @@ -4052,7 +4052,7 @@ axis Both Her İkisi @msg no library `{key}` (see {list}) `{key}` kitaplığı yok (bkz. {list}) @msg no native format yerel format yok @msg no pages sayfa yok -@msg no pattern `{name}` "{name}" modeli yok +@msg no pattern `{name}` `{name}` deseni yok @msg no perspective grid preset named `{name}` `{name}` adında perspektif ızgarası ön ayarı yok @msg no plug-in {0} is installed {0} eklentisi kurulu değil @msg no plug-in {id} is installed {id} eklentisi kurulu değil @@ -4103,7 +4103,7 @@ axis Both Her İkisi @msg no swatch `{name}` renk örneği yok `{name}` @msg no swatch library `{l}` (see swatch.library.list) renk örneği kitaplığı yok `{l}` (bkz. swatch.library.list) @msg no symbol instances selected sembol örneği seçilmedi -@msg no target object has an opacity mask: select one or give `id` hiçbir hedef nesnenin opaklık maskesi yok: birini seçin veya "id" verin +@msg no target object has an opacity mask: select one or give `id` hiçbir hedef nesnenin opaklık maskesi yok: birini seçin veya `id` verin @msg no threaded text selected dizili metin seçilmedi @msg no user library folder here burada kullanıcı kitaplığı klasörü yok @msg no user workspace `{from}` kullanıcı çalışma alanı yok `{from}` @@ -4111,7 +4111,7 @@ axis Both Her İkisi @msg node {_1} is on a locked artboard {_1} düğümü kilitli bir çalışma yüzeyinde @msg not a DXF drawing DXF çizimi değil @msg not a VectorCraft file: {0} bir VectorCraft dosyası değil: {0} -@msg not a VectorCraft shortcut set (missing `overrides`) VectorCraft kısayol seti değil ("geçersiz kılmalar" eksik) +@msg not a VectorCraft shortcut set (missing `overrides`) VectorCraft kısayol seti değil (`overrides` eksik) @msg not a graphic style library (format `{_1}`) grafik stili kitaplığı değil (`{_1}` biçimi) @msg not a shortcut set: the text doesn't start with a slash name and an opening brace bir kısayol seti değil: metin eğik çizgi adı ve açılış paranteziyle başlamıyor @msg not a stored central record saklanan merkezi bir kayıt değil @@ -4193,7 +4193,7 @@ axis Both Her İkisi @msg select at least two objects en az iki nesne seç @msg exit isolation mode first önce izolasyon modundan çık @msg select objects, not layers katmanları değil nesneleri seçin -@msg select one path, or give its `id` bir yol seçin veya "kimliğini" verin +@msg select one path, or give its `id` bir yol seçin veya `id` değerini verin @msg select paths to join katılmak için yolları seçin @msg select the art to repeat tekrarlanacak resmi seçin @msg select the artwork to warp çarpıtılacak resmi seçin @@ -4204,10 +4204,10 @@ axis Both Her İkisi @msg shadings of an unknown type were left out bilinmeyen türdeki gölgeler dışarıda bırakıldı @msg shadings of more than 4096 patches or triangles were left out 4096'dan fazla yamanın veya üçgenin gölgeleri dışarıda bırakıldı @msg shadings whose functions are of an unknown type are filled with their middle colour İşlevi bilinmeyen tipteki gölgelikler orta renkle doldurulur -@msg shortcut for `{k}` must be a string "{k}" kısayolu bir dize olmalıdır -@msg stop {i} needs `offset` {i}'nin `ofset`e ihtiyacı var -@msg stop {i} needs a valid `color` stop {i}'nin geçerli bir "renk"e ihtiyacı var -@msg stop {i}: `{k}` must be a number {i}'yi durdur: `{k}` bir sayı olmalıdır +@msg shortcut for `{k}` must be a string `{k}` kısayolu bir dize olmalıdır +@msg stop {i} needs `offset` durak {i} için `offset` gerekir +@msg stop {i} needs a valid `color` durak {i} için geçerli bir `color` gerekir +@msg stop {i}: `{k}` must be a number durak {i}: `{k}` bir sayı olmalıdır @msg the EMF header is damaged EMF başlığı hasarlı @msg the PDF has no pages PDF'de sayfa yok @msg the PDF is no longer loaded PDF artık yüklenmiyor @@ -4286,7 +4286,7 @@ axis Both Her İkisi @msg unknown freeform mode `{m}` (points, lines) bilinmeyen serbest biçimli mod `{m}` (noktalar, çizgiler) @msg unknown gradient kind `{k}` (linear, radial, freeform) bilinmeyen gradyan türü `{k}` (doğrusal, radyal, serbest biçimli) @msg unknown highlight `{h}` bilinmeyen vurgu `{h}` -@msg unknown option `{path}.{k}` bilinmeyen seçenek '{path}.{k}' +@msg unknown option `{path}.{k}` bilinmeyen seçenek `{path}.{k}` @msg unknown overprints `{o}` (preserve, simulate or discard) bilinmeyen üst baskılar `{o}` (koru, benzet veya at) @msg unknown panel `{raw}` bilinmeyen panel `{raw}` @msg unknown preference `{key}` bilinmeyen tercih `{key}` @@ -4486,9 +4486,9 @@ axis Both Her İkisi Em Box Em Kutusu x-Height x-Yüksekliği ICF Box ICF Kutusu -@msg `id` is the step reference {r}, which only `run` and `command_batch` resolve "id", yalnızca "run" ve "command_batch" çözümleyen {r} adım referansıdır -@msg `ids` must be an array of object ids, not {v} "kimlikler" {v} değil, bir nesne kimlikleri dizisi olmalıdır -@msg `corners` must be an array of anchor indices, not {v} "köşeler" {v} değil, bir bağlantı indeksleri dizisi olmalıdır +@msg `id` is the step reference {r}, which only `run` and `command_batch` resolve `id`, yalnızca `run` ve `command_batch` komutlarının çözümlediği {r} adım referansıdır +@msg `ids` must be an array of object ids, not {v} `ids` bir nesne kimlikleri dizisi olmalıdır, {v} değil +@msg `corners` must be an array of anchor indices, not {v} `corners` bir bağlantı noktası indeksleri dizisi olmalıdır, {v} değil @msg `{text}`: step {i}'s result has no such value (write $$ for a literal $) `{text}`: {i} adımının sonucunun böyle bir değeri yok (değişmez $ için $$ yazın) @msg `{text}`: there is no step {i} before this one (steps count from 0; write $$ for a literal $) `{text}`: bundan önce {i} adımı yok (adımlar 0'dan itibaren sayılır; $$ yerine $ yazın) @msg object ids are non-negative integers, not {v} nesne kimlikleri {v} değil, negatif olmayan tam sayılardır @@ -5241,10 +5241,10 @@ theme Appearance Görünüm @msg Unknown unit Bilinmeyen birim Close the circular ends of open profiles. Partial sweeps keep their cut sides open. Açık profillerin dairesel uçlarını kapatın. Kısmi süpürmeler kesik taraflarını açık tutar. @msg span must be "object" or "selection", got {v} yayılma "nesne" veya "seçim" olmalıdır, {v} var -@msg span: "selection" places a `gradient`, not a swatch yayılma: "seçim" bir renk örneği değil, bir "degrade" yerleştirir -@msg span: "selection" places a gradient: give `gradient` span: "selection" bir degrade yerleştirir: "gradient" verir -@msg span: "selection" places a linear or radial gradient, not a freeform one yayılma: "seçim" serbest biçimli bir degrade değil, doğrusal veya radyal bir degrade yerleştirir -@msg span: "selection" places the gradient itself: leave out `start` and `end` (they already place it in document coordinates) span: "selection" degradeyi kendisi yerleştirir: "start" ve "end"i dışarıda bırakın (bunu zaten belge koordinatlarına yerleştirdiler) +@msg span: "selection" places a `gradient`, not a swatch span: "selection" bir renk örneği değil, bir `gradient` yerleştirir +@msg span: "selection" places a gradient: give `gradient` span: "selection" bir degrade yerleştirir: `gradient` verin +@msg span: "selection" places a linear or radial gradient, not a freeform one span: "selection" serbest biçimli bir degrade değil, doğrusal veya radyal bir degrade yerleştirir +@msg span: "selection" places the gradient itself: leave out `start` and `end` (they already place it in document coordinates) span: "selection" degradenin kendisini yerleştirir: `start` ve `end` değerlerini vermeyin (bunlar degradeyi zaten belge koordinatlarına yerleştirir) Make Image Dynamic Görüntüyü Dinamik Hale Getirin Import Data Sets… Veri Kümelerini İçe Aktar… Export Data Sets… Veri Kümelerini Dışa Aktarma… @@ -5726,7 +5726,7 @@ axis Y Axis Y ekseni Fine noise hides banding in the gradient fill İnce gürültü, degrade dolgudaki bantları gizler @msg `dither` applies to gradient fills (stroke: false) `dither` degrade dolgulara uygulanır (stroke: false) @msg `dither` applies to gradient fills (paint.setFill) `dither` degrade dolgulara uygulanır (paint.setFill) -@msg `dither` must be true or false "dither" doğru veya yanlış olmalıdır +@msg `dither` must be true or false `dither` true veya false olmalıdır Snapping Yaslama Snap to Tangent Teğete Yasla Snap to Perpendicular Dikeye Yasla