i18n: Traditional Chinese translates status-bar and error messages

Squashed from #2784 (its merge of main dropped).
This commit is contained in:
dotCooCoo
2026-10-18 23:50:58 +07:00
committed by bflatastic
parent d7e7066251
commit 841fc0cd51
6 changed files with 749 additions and 6 deletions
+2 -2
View File
@@ -219,8 +219,8 @@ pub static LANGUAGES: [LangInfo; 24] = [
complete_menus: true,
catalog: OnceLock::new(),
},
// Traditional Chinese in the vocabulary used in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*`
// locales all resolve here (see `candidates`).
// Traditional Chinese in the vocabulary used in Taiwan: the whole interface and the status and
// error messages; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` locales all resolve here (see `candidates`).
LangInfo {
code: "zh-hant",
name: "繁體中文",
+1 -1
View File
@@ -1825,7 +1825,7 @@ fn select_key_param_error_is_translated() {
/// Languages whose catalogs cover every status and error message.
const COMPLETE_MESSAGES: &[&str] =
&["cs", "de", "el", "es", "fr", "hu", "it", "ja", "ka", "ko", "pl", "pt-br", "ru", "sv", "uk", "vi", "zh-hans", "fi"];
&["cs", "de", "el", "es", "fr", "hu", "it", "ja", "ka", "ko", "pl", "pt-br", "ru", "sv", "uk", "vi", "zh-hans", "zh-hant", "fi"];
/// Crates whose error and status messages reach the status bar.
const MESSAGE_CRATES: &[&str] = &["ui-egui", "engine", "doc", "format", "svg", "pdf", "eps", "text", "plugins", "metafile", "cad", "trace"];
+743
View File
@@ -1548,6 +1548,735 @@ file-filter Templates 範本
Keyboard Shortcut Conflicts 鍵盤快速鍵衝突
Keyboard Shortcut Set 鍵盤快速鍵組
Keyboard Shortcuts… 鍵盤快速鍵…
# Status and error messages (`@msg`), translated where the status bar shows them; the message itself
# stays English for agents and tests. `{_1}`, `{_2}` … stand for the `{}` of the format string, in order
# (`complete_languages_translate_every_message` lists any that are missing). Command ids, parameter
# names and values in backticks or code (`colorModel rgb`, `document.export`) stay as they are.
# Traditional Chinese: no final 。 unless the English ends with a period; a space between Chinese text and
# an adjacent Latin word, number or {placeholder}; 、 between the items of a list; 「」 around the name of
# a panel, menu item or setting.
@msg `{key}` must be an array of these names: {_1} `{key}` 必須是由下列名稱組成的陣列:{_1}
@msg Reset {_1} 重設 {_1}
@msg Saving 正在儲存
@msg Saving {_1} 正在儲存 {_1}
@msg Sent to {_1} 已傳送至 {_1}
@msg `to` must be "corner" or "smooth" `to` 必須是 "corner" 或 "smooth"
@msg a layer couldn't be read 有一個圖層無法讀取
@msg it has more than one artboard 它有多個工作區域
@msg its editing data has no layers 其編輯資料中沒有圖層
@msg its editing data is damaged 其編輯資料已損毀
@msg its zlib compression is damaged 其 zlib 壓縮已損毀
@msg its Zstandard compression is damaged 其 Zstandard 壓縮已損毀
@msg it decompresses to more than {_1} MB 解壓縮後超過 {_1} MB
@msg its type is to come in as outlines, which only its page has 其文字需以外框匯入,而只有其頁面含有外框
@msg {_1} files {_1} 檔案
@msg A browser with WebGPU or WebGL2 is required. 需要支援 WebGPU 或 WebGL2 的瀏覽器。
@msg Loading VectorCraft… 正在載入 VectorCraft…
@msg Reload the page to go on (changes not saved yet may be lost). 請重新載入頁面以繼續 (尚未儲存的變更可能會遺失)。
@msg The graphics were lost and couldn't be restarted. 圖形已遺失,且無法重新啟動。
@msg The graphics were lost and have been restarted 圖形已遺失,現已重新啟動
@msg VectorCraft failed to start: {e} VectorCraft 無法啟動:{e}
@msg Your unsaved changes are kept in this browser: reload the page to get them back. 您未儲存的變更保留在此瀏覽器中:重新載入頁面即可取回。
@msg The graphics processor tried first couldn't show the window, so VectorCraft started again on {summary} 最先嘗試的圖形處理器無法顯示視窗,因此 VectorCraft 已改在 {summary} 上重新啟動
@msg The last start of VectorCraft ended on {name} before its window appeared, so it started on {summary}. To try that graphics processor again, change Preferences › Performance › Graphics Processor or start with WGPU_BACKEND set VectorCraft 上次啟動時在 {name} 上於視窗出現前結束,因此這次在 {summary} 上啟動。若要再次嘗試該圖形處理器,請變更「偏好設定 › 效能 › 圖形處理器」,或設定 WGPU_BACKEND 後再啟動
@msg The last start of VectorCraft ended while it listed the graphics processors, so it started on {summary} with OpenGL alone. To try the other graphics backends again, change Preferences › Performance › Graphics Processor or start with WGPU_BACKEND set VectorCraft 上次啟動時在列出圖形處理器期間結束,因此這次只以 OpenGL 在 {summary} 上啟動。若要再次嘗試其他圖形後端,請變更「偏好設定 › 效能 › 圖形處理器」,或設定 WGPU_BACKEND 後再啟動
@msg not a DXF drawing 不是 DXF 圖面
@msg scale must be a number from {_1} to {_2}, not {s} 比例必須是 {_1} 到 {_2} 之間的數字,而非 {s}
@msg the artboard to fit must be a positive size up to {_1} pt 要符合的工作區域尺寸必須為正數,且不超過 {_1} pt
@msg the drawing has no layout `{_1}` (it has {_2}) 圖面中沒有配置 `{_1}` (它有 {_2})
@msg this is a DWG drawing, which can't be read: save it from the CAD app as an ASCII DXF and open that 這是 DWG 圖面,無法讀取:請在 CAD 應用程式中將其儲存為 ASCII DXF,再開啟該檔案
@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 以此比例,圖面為 {w} × {h} pt,超過畫布所能容納:請選擇較小的比例,或使其符合工作區域
@msg the scale is not a usable number 比例不是可用的數字
@msg the drawing is too large to open 圖面過大,無法開啟
@msg scale must be a number from {_1} to {_2}, not {_3} 比例必須是 {_1} 到 {_2} 之間的數字,而非 {_3}
@msg image '{key}' has no pixels and was left out 影像 '{key}' 沒有像素,已略過
@msg Embedded {n} image(s) 已內嵌 {n} 個影像
@msg object {0} cannot have children 物件 {0} 不能有子物件
@msg range `{s}` is empty 範圍 `{s}` 是空的
@msg range `{s}`: `{part}` names no number 範圍 `{s}`:`{part}` 沒有指定數字
@msg range `{s}`: `{part}` runs backwards 範圍 `{s}`:`{part}` 的順序顛倒
@msg range `{s}`: `{t}` is not a number from 1 to {count} 範圍 `{s}`:`{t}` 不是 1 到 {count} 之間的數字
@msg not a graphic style library (format `{_1}`) 不是繪圖樣式資料庫 (格式為 `{_1}`)
@msg Show All Hidden Attributes: nothing is hidden 顯示所有隱藏屬性:沒有隱藏的項目
@msg Expand: no brush strokes selected 展開:未選取筆刷筆畫
@msg no brush named `{name}` 沒有名為 `{name}` 的筆刷
@msg no brush selected 未選取筆刷
@msg no symbol instances selected 未選取符號實體
@msg select a symbol instance 請選取符號實體
@msg the art has no bounds 圖稿沒有邊界
@msg Image Trace: the traced image is missing 影像描圖:找不到描圖的影像
@msg Live Paint Merge: select a Live Paint group and the paths to add 即時上色合併:請選取即時上色群組和要加入的路徑
@msg Live Paint: select paths or compound paths 即時上色:請選取路徑或複合路徑
@msg Live Paint: these paths are too degenerate to paint 即時上色:這些路徑過度退化,無法上色
@msg Shape Builder: no region under the pointer 形狀建立:指標下方沒有區域
@msg Shape Builder: select paths or compound paths 形狀建立:請選取路徑或複合路徑
@msg image data `{_1}` is missing 找不到影像資料 `{_1}`
@msg no Live Paint edge near that point 該點附近沒有即時上色邊緣
@msg no Live Paint face at that point 該點上沒有即時上色表面
@msg select a Live Paint group 請選取即時上色群組
@msg select an Image Trace object 請選取影像描圖物件
@msg select objects, not layers 請選取物件,而非圖層
@msg Blend colors: select at least three objects with filled colours 漸變顏色:請選取至少三個有填色的物件
@msg no saved themes 沒有已儲存的主題
@msg `{keep}` is not a side of this axis `{keep}` 不是此軸的一側
@msg unknown side `{other}` (left|right|top|bottom) 未知的邊 `{other}` (left|right|top|bottom)
@msg an object in perspective would leave the edited grid 透視中的物件會離開所編輯的格點
@msg nothing to warp 沒有可彎曲的內容
@msg select an object in perspective 請選取透視中的物件
@msg select the artwork to warp 請選取要彎曲的圖稿
@msg select the objects to transform in perspective 請選取要在透視中變形的物件
@msg select type in perspective 請選取透視中的文字
@msg the object has no geometry 物件沒有幾何形狀
@msg the object has no stroke 物件沒有筆畫
@msg the object is beyond the plane's horizon 物件位於平面的地平線之外
@msg the object isn't in perspective 物件不在透視中
@msg the object isn't on a perspective plane 物件不在透視平面上
@msg the object would cross the horizon of the perspective plane 物件會越過透視平面的地平線
@msg the objects would leave the grid 物件會離開格點
@msg the pointer is beyond the plane's horizon 指標位於平面的地平線之外
@msg the selection isn't in perspective 選取範圍不在透視中
@msg the stroke has no weight 筆畫沒有寬度
@msg {command} didn't create an object {command} 未建立物件
@msg Make Guides: select paths 製作參考線:請選取路徑
@msg Release Guides: no guides 釋放參考線:沒有參考線
@msg guides are locked 參考線已鎖定
@msg no saved selection recalled 未叫出任何已儲存的選取範圍
@msg no saved selections 沒有已儲存的選取範圍
@msg no such artboard 沒有這個工作區域
@msg cannot split an open path at its end point 無法在開放路徑的端點處分割路徑
@msg closing needs three anchors 封閉需要三個錨點
@msg empty brush stroke 筆刷筆畫是空的
@msg no such anchor 沒有這個錨點
@msg no such segment 沒有這個線段
@msg no such subpath 沒有這個子路徑
@msg object {id} is not a path 物件 {id} 不是路徑
@msg object {id} is not a selected top-level object 物件 {id} 不是已選取的最上層物件
@msg nothing to redo 沒有可重做的動作
@msg nothing to undo 沒有可復原的動作
@msg no history to clear 沒有可清除的步驟記錄
@msg Expand Appearance: the selection has a basic appearance 展開外觀:選取範圍只有基本外觀
@msg select (or target) objects whose appearance isn't basic 請選取 (或指定目標) 外觀不是基本外觀的物件
@msg {C}: no effect at index {from} {C}:索引 {from} 處沒有效果
@msg Expand: no gradient fills 展開:沒有漸層填色
@msg Expand: nothing to expand 展開:沒有可展開的內容
@msg batch step {_1} (`{id}`) failed: {e} 批次步驟 {_1} (`{id}`) 失敗:{e}
@msg BMP files are RGB or grayscale: colorModel rgb or gray BMP 檔案為 RGB 或灰階:colorModel rgb 或 gray
@msg Targa files are RGB: colorModel rgb Targa 檔案為 RGB:colorModel rgb
@msg antiAlias `{id}`: none, art or type antiAlias `{id}`:none、art 或 type
@msg background {other}: transparent, white, black or a colour such as "#ff8800" background {other}:transparent、white、black 或顏色,例如 "#ff8800"
@msg no artboard {i} (0-based; the document has {count}) 沒有工作區域 {i} (從 0 起算;文件有 {count} 個)
@msg no artboards named 未指定工作區域
@msg the document has no artboard 文件沒有工作區域
@msg this format holds one artboard: export several as PDF or with document.exportForScreens 此格式只能容納一個工作區域:若要匯出多個,請匯出為 PDF 或使用 document.exportForScreens
@msg this file was saved without PDF compatibility, and its editing data can't be read ({why}) 此檔案儲存時未啟用 PDF 相容性,且無法讀取其編輯資料 ({why})
@msg the export wrote no file 匯出未寫入任何檔案
@msg {_1} files can be opened but not written (see document.formats) {_1} 檔案可以開啟,但無法寫入 (請參閱 document.formats)
@msg {_1} files are written by file.saveAsTemplate {_1} 檔案由 file.saveAsTemplate 寫入
@msg {path}: no file system here (pass dataBase64 to open; omit the path to get dataBase64) {path}:此處沒有檔案系統 (若要開啟,請傳入 dataBase64;不提供路徑即可取得 dataBase64)
@msg Save writes {_1}, not {_2}: use document.export for other formats 「儲存」會寫入 {_1},而非 {_2}:其他格式請使用 document.export
@msg no changes since the last save 自上次儲存後沒有變更
@msg unknown format `{f}` (Save writes {_1}) 未知的格式 `{f}` (「儲存」會寫入 {_1})
@msg `svg` must be an object of SVG options (see document.formats) `svg` 必須是由 SVG 選項組成的物件 (請參閱 document.formats)
@msg no end record 沒有結束記錄
@msg not a stored central record 不是未壓縮 (stored) 的中央目錄記錄
@msg truncated 已截斷
@msg {name}: CRC mismatch {name}:CRC 不符
@msg {name}: no local header {name}:沒有區域檔頭
@msg Flatten Transparency: select objects to flatten 透明度平面化:請選取要平面化的物件
@msg Flatten Transparency: {e} 透明度平面化:{e}
@msg balance must be between 0 and 100 平衡必須介於 0 到 100 之間
@msg resolutions must be between 1 and 2400 ppi 解析度必須介於 1 到 2400 ppi 之間
@msg unknown preset `{name}` (high, medium, low or a saved one: see flattener.presets.list) 未知的預設集 `{name}` (high、medium、low 或已儲存的預設集:請參閱 flattener.presets.list)
@msg `at` must be [x, y] `at` 必須是 [x, y]
@msg `color` must be a colour `color` 必須是顏色
@msg `freeform.points` must be an array `freeform.points` 必須是陣列
@msg `freeform.lines` must be an array `freeform.lines` 必須是陣列
@msg `{key}` must be a number `{key}` 必須是數字
@msg a freeform gradient keeps at least one point 任意形狀漸層至少要保留一個點
@msg freeform point {i} needs `at` [x, y] and a valid `color` 任意形狀點 {i} 需要 `at` [x, y] 和有效的 `color`
@msg freeform line {i} must be an array of point indices 任意形狀線條 {i} 必須是由點索引組成的陣列
@msg no point {i} (the gradient has {_1}) 沒有點 {i} (此漸層有 {_1} 個)
@msg no segment {segment} on line {line} 線條 {line} 上沒有線段 {segment}
@msg unknown freeform mode `{m}` (points, lines) 未知的任意形狀模式 `{m}` (points、lines)
@msg `aspect` must be a number (%) `aspect` 必須是數字 (%)
@msg `gradient` must be an object `gradient` 必須是物件
@msg `mode` applies to freeform gradients `mode` 只適用於任意形狀漸層
@msg `stops` must be an array `stops` 必須是陣列
@msg `{k}` must be [x, y] `{k}` 必須是 [x, y]
@msg a gradient needs at least two stops 漸層至少需要兩個色標
@msg give both `start` and `end` [x, y] (or neither) 請同時提供 `start` 和 `end` [x, y] (或兩者都不提供)
@msg stop {i} needs `offset` 色標 {i} 需要 `offset`
@msg stop {i} needs a valid `color` 色標 {i} 需要有效的 `color`
@msg stop {i}: `{k}` must be a number 色標 {i}:`{k}` 必須是數字
@msg unknown gradient kind `{k}` (linear, radial, freeform) 未知的漸層類型 `{k}` (linear、radial、freeform)
@msg the art could not be sampled 無法對圖稿取樣
@msg the art is too light for any dots 圖稿太淡,無法產生任何網點
@msg the document has no symbols 文件中沒有符號
@msg `{s}` is not a colour (#rrggbb or a preset name) `{s}` 不是顏色 (#rrggbb 或預設集名稱)
@msg a colour index is 0 to {_1}, not {n} 顏色索引應為 0 到 {_1},而非 {n}
@msg a colour is an index, #rrggbb or a preset name, not {v} 顏色應為索引、#rrggbb 或預設集名稱,而非 {v}
@msg a document needs at least one layer 文件至少需要一個圖層
@msg no artwork 沒有圖稿
@msg no selection bounds 選取範圍沒有邊界
@msg the layer has no objects to clip by 圖層中沒有可用來剪裁的物件
@msg the layer or group is locked 圖層或群組已鎖定
@msg the guide is on a hidden or locked layer 參考線位於隱藏或鎖定的圖層上
@msg the target layer is locked or hidden 目標圖層已鎖定或隱藏
@msg the layer to flatten into is hidden 要平面化到的圖層已隱藏
@msg there are no objects to release 沒有可釋放的物件
@msg no library `{id}` 沒有資料庫 `{id}`
@msg {path}: not a file {path}:不是檔案
@msg {path}: {e} {path}:{e}
@msg can't write .{ext} images 無法寫入 .{ext} 影像
@msg Replace Spine: select a blend and a path 取代脊線:請選取漸變物件和路徑
@msg nothing to wrap 沒有可繞圖的內容
@msg select a blend 請選取漸變物件
@msg select a gradient mesh 請選取漸層網格
@msg the object has no opacity mask 物件沒有不透明度遮色片
@msg Convert to Artboards: selection has no area 轉換為工作區域:選取範圍沒有面積
@msg Convert to Shape: no rectangles or ellipses selected 轉換為形狀:未選取矩形或橢圓形
@msg image would be too large; lower the resolution 影像會過大;請降低解析度
@msg clipboard is empty 剪貼簿是空的
@msg no anchor points selected 未選取錨點
@msg select at least two objects 請選取至少兩個物件
@msg no saved presets 沒有已儲存的預設集
@msg compound paths can only contain paths 複合路徑只能包含路徑
@msg no bounds 沒有邊界
@msg no current layer 沒有目前圖層
@msg no key object 沒有關鍵物件
@msg no previous transform 沒有上一次的變形
@msg nothing to align 沒有可對齊的內容
@msg select a clip group 請選取剪裁群組
@msg select two or more objects to distribute 請選取兩個以上要均分的物件
@msg axis must be "vertical", "horizontal" or an angle in degrees, not `{v}` axis 必須是 "vertical"、"horizontal" 或以度為單位的角度,而非 `{v}`
@msg give horizontal or vertical 請提供 horizontal 或 vertical
@msg selection has no bounds 選取範圍沒有邊界
@msg the top object must be a path, compound path or text object to use as a clipping mask 最上層物件必須是路徑、複合路徑或文字物件,才能用作剪裁遮色片
@msg no target object has an opacity mask: select one or give `id` 沒有任何目標物件有不透明度遮色片:請選取一個,或提供 `id`
@msg the object already has an opacity mask 物件已有不透明度遮色片
@msg `{name}` is a process colour: tints apply to global and spot colours `{name}` 是印刷色:色調只適用於全域色和特別色
@msg `{name}` isn't a colour swatch `{name}` 不是顏色色票
@msg a document needs at least one artboard 文件至少需要一個工作區域
@msg empty path 路徑是空的
@msg join needs open paths 連接需要開放路徑
@msg path is already closed 路徑已封閉
@msg select paths to join 請選取要連接的路徑
@msg direct-select anchor points to cut at (not the end points of open paths) 請直接選取要剪開的錨點 (不能是開放路徑的端點)
@msg select paths or anchor points 請選取路徑或錨點
@msg Divide Objects Below: select a path 分割下方物件:請選取路徑
@msg Divide Objects Below: select exactly one path 分割下方物件:請只選取一條路徑
@msg Offset Path: select paths 位移複製:請選取路徑
@msg Offset Path: the offset leaves nothing of the selected paths (an inset larger than the shapes) 位移複製:位移後所選路徑不留任何部分 (內縮量大於形狀)
@msg Outline Stroke: no stroked paths selected 外框筆畫:未選取有筆畫的路徑
@msg Split Into Grid: select paths large enough for the grid 分割為格線:請選取大到足以容納格線的路徑
@msg empty cutter 切割物件是空的
@msg paths contain invalid coordinates 路徑包含無效的座標
@msg {label} produced an empty result {label} 產生了空的結果
@msg {label}: lost track of a shape's style {label}:遺失了某個形狀的樣式
@msg {label}: select paths {label}:請選取路徑
@msg {label}: select paths, compound paths, groups or text {label}:請選取路徑、複合路徑、群組或文字
@msg already editing a pattern 已在編輯圖樣
@msg no pattern `{name}` 沒有圖樣 `{name}`
@msg not in pattern editing mode 不在圖樣編輯模式中
@msg pattern missing 找不到圖樣
@msg select a repeat 請選取重複物件
@msg select an Intertwine group 請選取交織群組
@msg select the art to repeat 請選取要重複的圖稿
@msg the document has no patterns 文件中沒有圖樣
@msg no artboard 沒有工作區域
@msg installing from a path is not available on the web; pass the module as `dataBase64` 網頁版無法從路徑安裝;請以 `dataBase64` 傳入模組
@msg `{key}` must be `auto` or a language code such as `en` or `zh-hant` `{key}` 必須是 `auto` 或語言代碼,例如 `en` 或 `zh-hant`
@msg `{key}` must be a #rrggbb colour `{key}` 必須是 #rrggbb 顏色
@msg `{key}` must be a string `{key}` 必須是字串
@msg `{key}` must be a whole number `{key}` 必須是整數
@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 unknown preference `{key}` 未知的偏好設定 `{key}`
@msg Data Recovery has nowhere to keep copies: set Preferences → File Handling → Data Recovery → Folder (recoveryFolder) 「資料復原」沒有可存放拷貝的位置:請設定「偏好設定 → 檔案處理 → 資料復原 → 資料夾」 (recoveryFolder)
@msg `{area}` is no recovery area name `{area}` 不是復原區域名稱
@msg `{name}` is no recovery entry name `{name}` 不是復原項目名稱
@msg no clock to keep a heartbeat by 沒有可用來維持心跳的時鐘
@msg no free recovery area 沒有可用的復原區域
@msg no native format 沒有原生格式
@msg nothing encoded 沒有編碼任何內容
@msg recovery copy `{file}`: {e} 復原拷貝 `{file}`:{e}
@msg {name}: no such recovery entry {name}:沒有這個復原項目
@msg Combine Slices: the slices have no bounds 合併切片:切片沒有邊界
@msg Create from Guides: the document has no artboard 從參考線建立:文件沒有工作區域
@msg Create from Guides: the guides make more than {MAX_PIECES} slices 從參考線建立:參考線會產生超過 {MAX_PIECES} 個切片
@msg Create from Selection: the selection has no area 從選取範圍建立:選取範圍沒有面積
@msg Release: no layer to put the rectangle in 釋放:沒有可放置矩形的圖層
@msg a slice size must be a positive number of points 切片尺寸必須是正數 (以點為單位)
@msg divide into 1 to {MAX_PIECES} slices 請分割為 1 到 {MAX_PIECES} 個切片
@msg no slice selected 未選取切片
@msg the document has no slices 文件中沒有切片
@msg no saved profiles 沒有已儲存的描述檔
@msg select a stroke with a variable width 請選取寬度可變的筆畫
@msg the selected stroke's profile is already listed as {_1} 所選筆畫的描述檔已列為 {_1}
@msg a graphic style named `{to}` already exists 名為 `{to}` 的繪圖樣式已存在
@msg no graphic style `{name}` 沒有繪圖樣式 `{name}`
@msg node {_1} is not text 節點 {_1} 不是文字
@msg Text Wrap: select a wrap object 文字繞圖:請選取繞圖物件
@msg layers can't be wrap objects 圖層不能作為繞圖物件
@msg no threaded text selected 未選取串連文字
@msg Create Outlines: select text objects 建立外框:請選取文字物件
@msg paste unavailable 無法貼上
@msg Save for Web: the image is empty 儲存為網頁用:影像是空的
@msg colorTable.{what}: `{h}` is not a colour such as "#ff8800" colorTable.{what}:`{h}` 不是像 "#ff8800" 這樣的顏色
@msg colorTable.{what}: at most {MAX_TABLE} colours colorTable.{what}:最多 {MAX_TABLE} 種顏色
@msg no artboard {i} (0-based; the document has {_1}) 沒有工作區域 {i} (從 0 起算;文件有 {_1} 個)
@msg no selected slice in the image: select slices, or save all of them 影像中沒有已選取的切片:請選取切片,或全部儲存
@msg nothing to save: the document has no visible art 沒有可儲存的內容:文件中沒有可見的圖稿
@msg percent must be above 0 and at most 6400, not {p} 百分比必須大於 0 且不超過 6400,而非 {p}
@msg unknown preset `{name}` (see webExport.presets.list) 未知的預設集 `{name}` (請參閱 webExport.presets.list)
@msg width and height are at least 1 pixel 寬度和高度至少為 1 像素
@msg `sampleSize` must be 1, 3 or 5 `sampleSize` 必須是 1、3 或 5
@msg `{path}` must be a bool or an object of bools `{path}` 必須是布林值或由布林值組成的物件
@msg cannot distort a zero-size bounding box 無法扭曲尺寸為零的邊框
@msg nothing to distort 沒有可扭曲的內容
@msg unknown option `{path}.{k}` 未知的選項 `{path}.{k}`
@msg command `{0}` is not available right now: {1} 指令 `{0}` 目前無法使用:{1}
@msg internal error in `{cmd}`: {msg} (the document was left as it was before; please report this bug) `{cmd}` 發生內部錯誤:{msg} (文件維持原狀;請回報此錯誤)
@msg invalid parameters for `{cmd}`: {msg} `{cmd}` 的參數無效:{msg}
@msg no active document 沒有作用中的文件
@msg no interaction in progress 沒有進行中的互動
@msg no such object {0} 沒有物件 {0}
@msg result would exceed the canvas (coordinates out of range) 結果會超出畫布 (座標超出範圍)
@msg objects can't be nested more than 32 deep 物件的巢狀層級不能超過 32 層
@msg the SVG's elements are nested more than {0} deep SVG 的元素巢狀超過 {0} 層
@msg unknown command `{0}` 未知的指令 `{0}`
@msg `{what}` closes nothing `{what}` 沒有可結束的內容
@msg `{what}` closes something it didn't open `{what}` 結束了並非由它開始的內容
@msg a path has too many points 有一條路徑的點過多
@msg it ends inside a layer 它在圖層內部結束
@msg it has art outside its layers 它有位於圖層之外的圖稿
@msg it has more than {MAX_NODES} objects 它有超過 {MAX_NODES} 個物件
@msg it has no layers 它沒有圖層
@msg it has too many values in a row 它連續的值過多
@msg it has {_1}, which VectorCraft doesn't read from it yet 它含有 {_1},VectorCraft 目前尚無法從中讀取
@msg its objects are nested too deeply 其物件巢狀層級過深
@msg its section ending with `%{end}` doesn't end 其以 `%{end}` 結尾的區段沒有結束
@msg an image VectorCraft can't read was left out 已略過 VectorCraft 無法讀取的影像
@msg an image whose data is cut short was left out 已略過資料不完整的影像
@msg gradient “{name}” isn't defined in the file: a plain colour stands in for it 檔案中未定義漸層「{name}」:已改用單色替代
@msg objects with several fills or strokes, effects or brushes came in as their drawn look ({_1}): their appearance isn't editable yet 具有多個填色或筆畫、效果或筆刷的物件已依其繪製外觀匯入 ({_1}):其外觀目前尚無法編輯
@msg patterns nested too deeply are filled with mid-grey 巢狀層級過深的圖樣以中灰色填滿
@msg shadings of an unknown type were left out 已略過類型未知的著色
@msg shadings whose functions are of an unknown type are filled with their middle colour 函數類型未知的著色以其中間顏色填滿
@msg the file's preview header points outside the file 檔案的預覽檔頭指向檔案之外
@msg this PostScript file can't be read ({why}): save it as PDF or SVG in the app that made it 無法讀取此 PostScript 檔案 ({why}):請在建立它的應用程式中將其儲存為 PDF 或 SVG
@msg this is not a PostScript file 這不是 PostScript 檔案
@msg a PostScript error ({name} in `{op}`) PostScript 錯誤 ({name},位於 `{op}`)
@msg a PostScript error ({name} in `{op}`), in {procs} PostScript 錯誤 ({name},位於 `{op}`),在 {procs} 中
@msg a PostScript error ({name} in `{op}`: {at}) PostScript 錯誤 ({name},位於 `{op}`:{at})
@msg a PostScript error ({name} in `{op}`: {at}), in {procs} PostScript 錯誤 ({name},位於 `{op}`:{at}),在 {procs} 中
@msg a PostScript error ({name}) PostScript 錯誤 ({name})
@msg it uses `{at}`, which VectorCraft's PostScript reader doesn't know 它使用了 `{at}`,VectorCraft 的 PostScript 讀取器無法辨識
@msg the file was read up to an error ({why}): what follows it was left out 檔案已讀取到發生錯誤處 ({why}):之後的內容已略過
@msg this file's PostScript couldn't be read ({why}): {what} 無法讀取此檔案的 PostScript ({why}):{what}
@msg it has no page 它沒有頁面
@msg it has too many text objects 它的文字物件過多
@msg it has too much text 它的文字過多
@msg its editing data doesn't say where its art is 其編輯資料未指出其圖稿的位置
@msg its editing data doesn't say where its artboard is 其編輯資料未指出其工作區域的位置
@msg its editing data is for a {w} × {h} pt page, not the file's {pw} × {ph} pt page 其編輯資料屬於 {w} × {h} pt 的頁面,而不是檔案本身 {pw} × {ph} pt 的頁面
@msg its editing data is for a {w} × {h} pt page, the file's {pw} × {ph} pt page at {scale} 其編輯資料屬於 {w} × {h} pt 的頁面,即比例為 {scale} 的檔案 {pw} × {ph} pt 頁面
@msg its page has text, and its layers have no text objects to put it in 其頁面中有文字,但其圖層中沒有可放置這些文字的文字物件
@msg the art on them differs from the page's in {_1}% of it 其上的圖稿與頁面的圖稿有 {_1}% 不同
@msg the art on them differs from the page's in {_1}% of it: they come from its editing data all the same 其上的圖稿與頁面的圖稿有 {_1}% 不同:仍從其編輯資料匯入
@msg the file's layers weren't read ({_1}): it comes in as its page, in one layer 未讀取檔案的圖層 ({_1}):檔案以其頁面匯入,位於單一圖層中
@msg the file's layers weren't read from its editing data ({_1}): they come from its PDF part 未從檔案的編輯資料讀取圖層 ({_1}):圖層來自其 PDF 部分
@msg the file's variables and data sets weren't read (variables: {variables}, data sets: {data_sets}): the Variables panel doesn't list them 未讀取檔案的變數與資料集 (變數:{variables},資料集:{data_sets}):「變數」面板不會列出它們
@msg its Windows metafile preview was opened instead, which may simplify the art 已改為開啟其 Windows 中繼檔預覽,圖稿可能因此簡化
@msg its preview was placed instead, at screen resolution 已改為以螢幕解析度置入其預覽
@msg shadings of more than 4096 patches or triangles were left out 已略過超過 4096 個面片或三角形的著色
@msg it uses `{at}`, which VectorCraft's PostScript reader doesn't know, in {procs} 它在 {procs} 中使用了 `{at}`,VectorCraft 的 PostScript 讀取器無法辨識
@msg the export region is not finite 匯出區域不是有限值
@msg a page out of range 頁面超出範圍
@msg a page's placement is not finite 頁面的位置不是有限值
@msg nothing to print 沒有可列印的內容
@msg page size {w} × {h} 頁面尺寸 {w} × {h}
@msg the preview image is empty 預覽影像是空的
@msg the thumbnail image is malformed 縮圖影像格式錯誤
@msg can't encode the document: {0} 無法編碼文件:{0}
@msg can't save version {0}: VectorCraft writes versions {MIN_VERSION} to {VERSION} 無法儲存版本 {0}:VectorCraft 寫入的版本為 {MIN_VERSION} 到 {VERSION}
@msg file version {0} is newer than this VectorCraft supports ({VERSION}) 檔案版本 {0} 比此 VectorCraft 支援的版本 ({VERSION}) 更新
@msg invalid image data for `{0}` `{0}` 的影像資料無效
@msg not a VectorCraft file: {0} 不是 VectorCraft 檔案:{0}
@msg the compressed file unpacks to more than {_1} MB 壓縮檔解壓縮後超過 {_1} MB
@msg version {0} files can't be compressed: only version {COMPRESSED_SINCE} and later open compressed files 版本 {0} 的檔案無法壓縮:只有版本 {COMPRESSED_SINCE} 及更新版本才能開啟壓縮檔
@msg a bitmap is empty 有一個點陣圖是空的
@msg a bitmap is too large to read 有一個點陣圖過大,無法讀取
@msg compressed (RLE) bitmaps can't be read yet 目前尚無法讀取壓縮 (RLE) 點陣圖
@msg the image's pixels don't match its size 影像的像素與其尺寸不符
@msg {bpp}-bit bitmaps can't be read 無法讀取 {bpp} 位元點陣圖
@msg not an EMF or WMF file 不是 EMF 或 WMF 檔案
@msg its layers use {_1}, which aren't read yet 其圖層使用了 {_1},目前尚無法讀取
@msg the EMF header is damaged EMF 檔頭已損毀
@msg damaged 已損毀
@msg the WMF header is damaged WMF 檔頭已損毀
@msg the export region is empty 匯出區域是空的
@msg a stream runs past the end 有一個資料流超出結尾
@msg a stream's length is wrong 有一個資料流的長度錯誤
@msg a stream's length isn't a number 有一個資料流的長度不是數字
@msg bad stream length 資料流長度錯誤
@msg PDF writer error: {0} PDF 寫入器錯誤:{0}
@msg artboard {0} does not exist 工作區域 {0} 不存在
@msg cannot read PDF: {0} 無法讀取 PDF:{0}
@msg invalid PDF setting: {0} PDF 設定無效:{0}
@msg page {0} does not exist (the PDF has {1}) 頁面 {0} 不存在 (此 PDF 有 {1} 頁)
@msg the PDF has no pages 此 PDF 沒有頁面
@msg the PDF is password-protected: give its password 此 PDF 受密碼保護:請提供其密碼
@msg the PDF password is wrong PDF 密碼錯誤
@msg the file holds only a placeholder page, not its art (it was saved without PDF compatibility): save it again with PDF compatibility on, or as PDF or SVG 此檔案只含有預留位置頁面,而沒有其圖稿 (儲存時未啟用 PDF 相容性):請啟用 PDF 相容性後重新儲存,或儲存為 PDF 或 SVG
@msg this is a PostScript file (an .ai saved in an older format or without PDF compatibility, or an EPS file), not a PDF: File › Open and File › Place read it as EPS 這是 PostScript 檔案 (以舊格式或未啟用 PDF 相容性儲存的 .ai,或 EPS 檔案),而非 PDF:「檔案 › 開啟」和「檔案 › 置入」會將其當作 EPS 讀取
@msg unsupported: {0} 不支援:{0}
@msg a page is missing 找不到某個頁面
@msg a page tree kid isn't a reference 有一個頁面樹子節點不是參照
@msg a page tree node has no kids 有一個頁面樹節點沒有子節點
@msg an object can't be read 無法讀取某個物件
@msg bad page tree 頁面樹錯誤
@msg bad trailer 檔尾錯誤
@msg no catalog 沒有目錄
@msg no cross-reference table 沒有交互參照表
@msg no pages 沒有頁面
@msg no plug-in {0} is installed 未安裝增效模組 {0}
@msg not a valid plug-in module: {0} 不是有效的增效模組:{0}
@msg plug-in ABI: {0} 增效模組 ABI:{0}
@msg plug-in exceeded its {0} 增效模組超出其 {0}
@msg plug-in failed: {0} 增效模組失敗:{0}
@msg plug-in manifest: {0} 增效模組資訊清單:{0}
@msg plug-in output: {0} 增效模組輸出:{0}
@msg plug-in parameters: {0} 增效模組參數:{0}
@msg plug-in trapped: {0} 增效模組執行時發生錯誤 (trap):{0}
@msg is not an image VectorCraft reads 不是 VectorCraft 可讀取的影像
@msg not found 找不到
@msg SVG parse error: {0} SVG 剖析錯誤:{0}
@msg decimals must be {_1}–{_2} (got {_3}) 小數位數必須為 {_1}–{_2} (收到 {_3})
@msg Exporting {_1} 正在匯出 {_1}
@msg Exported {what} 已匯出 {what}
@msg "{0}" is not a colour: write it as #rrggbb "{0}" 不是顏色:請寫成 #rrggbb
@msg could not decode image: {0} 無法解碼影像:{0}
@msg image is empty 影像是空的
@msg the image is {width} × {height} pixels, more than Image Trace takes ({max} megapixels) 影像為 {width} × {height} 像素,超過「影像描圖」可接受的上限 ({max} 百萬像素)
@msg this isn't a flat-colour logo ({_1}% of its solid areas match a few flat colours), so Flat Logo mode would turn its gradients into patches: use Color mode instead 這不是單色標誌 (其實色區域只有 {_1}% 符合少數幾種單色),因此「扁平標誌」模式會把其中的漸層變成色塊:請改用「顏色」模式
@msg this trace would make more than {max} anchor points, more than the document can show smoothly: raise Noise, lower Paths or Colors, or pick a lower-fidelity preset 此描圖會產生超過 {max} 個錨點,超過文件可流暢顯示的數量:請提高「雜訊」、降低「路徑」或「顏色」,或選擇精確度較低的預設集
@msg internal error: {msg} (please report this bug) 內部錯誤:{msg} (請回報此錯誤)
@msg the background worker stopped 背景處理程序已停止
@msg {_1} failed: {e} {_1} 失敗:{e}
@msg {label}… {label}…
@msg no blend options 沒有漸變選項
@msg bad color {v} 顏色 {v} 無效
@msg the Color Picker is not open 「顏色選擇器」未開啟
@msg the screen color sampler is already open 螢幕取色器已開啟
@msg this system has no screen color sampler 此系統沒有螢幕取色器
@msg Corners edits the corners of a path 「轉角」用於編輯路徑的轉角
@msg give corners of the path: anchors where its sides meet at an angle 請提供路徑的轉角:其各邊以角度相交處的錨點
@msg select one path, or give its `id` 請選取一條路徑,或提供其 `id`
@msg the drawing is no longer loaded 圖面已不再載入
@msg No saved selections (Select → Save Selection…) 沒有已儲存的選取範圍 (選取 → 儲存選取範圍…)
@msg effect {k} is `{_1}`, not `{id}` 效果 {k} 是 `{_1}`,而非 `{id}`
@msg no effect at index {k} 索引 {k} 處沒有效果
@msg unknown effect `{id}` 未知的效果 `{id}`
@msg `{id}` has no envelope dialog `{id}` 沒有封套對話框
@msg select an envelope 請選取封套
@msg no format to export to 沒有可匯出的格式
@msg nothing to export: the document has no visible art (or turn on Use Artboards) 沒有可匯出的內容:文件中沒有可見的圖稿 (或請開啟「使用工作區域」)
@msg add a format to export 請新增要匯出的格式
@msg check an asset to export 請勾選要匯出的資產
@msg `{tool}` isn't a freehand tool `{tool}` 不是手繪工具
@msg bad colour `{hex}` (#rrggbb) 顏色 `{hex}` 無效 (#rrggbb)
@msg no gradient stop or freeform point is selected 未選取漸層色標或任意形狀點
@msg no graphic style `{n}` 沒有繪圖樣式 `{n}`
@msg select two or more graphic styles to merge 請選取兩個以上要合併的繪圖樣式
@msg the PDF is no longer loaded 此 PDF 已不再載入
@msg no such layer or object 沒有這個圖層或物件
@msg `{tool}` isn't a Liquify tool `{tool}` 不是液化工具
@msg {_1} linked file(s) can't be read here: their previews show 此處無法讀取 {_1} 個連結檔案:顯示的是其預覽
@msg {_1} linked image(s) changed on disk: Update Links shows the new versions 有 {_1} 個連結影像已在磁碟上變更:「更新連結」可顯示新版本
@msg pick a colour, gradient or pattern to save as a swatch 請挑選要儲存為色票的顏色、漸層或圖樣
@msg Packaged {n} file(s) in {folder}{note} 已將 {n} 個檔案封裝到 {folder}{note}
@msg Packaged {n} file(s){note} 已封裝 {n} 個檔案{note}
@msg choose a location for the package 請選擇封裝的位置
@msg missing `folder` 未提供 `folder`
@msg the package came back damaged 傳回的封裝檔案已損毀
@msg no preset editor 沒有預設集編輯器
@msg no perspective grid preset named `{name}` 沒有名為 `{name}` 的透視格點預設集
@msg no active perspective plane 沒有作用中的透視平面
@msg plane must be left, right or ground plane 必須是 left、right 或 ground
@msg missing `id` (see plugin.list) 未提供 `id` (請參閱 plugin.list)
@msg no plug-in {id} is installed 未安裝增效模組 {id}
@msg {_1} is a live effect (Effect › Plug-ins) {_1} 是即時效果 (效果 › 增效模組)
@msg a preset named `{_1}` exists 名為 `{_1}` 的預設集已存在
@msg a swatch or color group named `{n}` exists 名為 `{n}` 的色票或顏色群組已存在
@msg no print preset named `{base}` 沒有名為 `{base}` 的列印預設集
@msg no print preset named `{name}` 沒有名為 `{name}` 的列印預設集
@msg no saved print preset named `{name}` ({DEFAULT_PRESET} is protected: start a new one from it) 沒有名為 `{name}` 的已儲存列印預設集 ({DEFAULT_PRESET} 受保護:請以它為基礎新增一個)
@msg print settings are not an object 列印設定不是物件
@msg no colour group `{g}` 沒有顏色群組 `{g}`
@msg select artwork (or a colour group) to recolor 請選取要重新上色的圖稿 (或顏色群組)
@msg Downloaded {_1} file(s) 已下載 {_1} 個檔案
@msg Preview in Browser needs the desktop app (the web downloads files instead) 「在瀏覽器中預覽」需要桌面應用程式 (網頁版會改為下載檔案)
@msg no file system here 此處沒有檔案系統
@msg nothing to preview 沒有可預覽的內容
@msg Saved {n} files beside {path} 已在 {path} 旁儲存 {n} 個檔案
@msg `{_1}` is no save command `{_1}` 不是儲存指令
@msg name the file 請為檔案命名
@msg unknown format 未知的格式
@msg PDF settings are not an object PDF 設定不是物件
@msg no saved PDF preset named `{name}` (built-in presets are read-only: start a new one from them) 沒有名為 `{name}` 的已儲存 PDF 預設集 (內建預設集為唯讀:請以它們為基礎新增一個)
@msg Saved to User Defined: {_1} 已儲存至「使用者定義」:{_1}
@msg choose a direction to divide in 請選擇分割方向
@msg choice must be "merge" or "add", not `{choice}` choice 必須是 "merge" 或 "add",而非 `{choice}`
@msg `{name}` has no options `{name}` 沒有選項
@msg no swatch `{name}` 沒有色票 `{name}`
@msg `{color}` is not a colour (#rrggbb or a preset name) `{color}` 不是顏色 (#rrggbb 或預設集名稱)
@msg give the path `id` and the width point `index` 請提供路徑的 `id` 和寬度點的 `index`
@msg no such width point 沒有這個寬度點
@msg onto must name a panel floating in another group onto 必須指定浮動在另一個群組中的面板
@msg below and above must name a panel floating in another group below 和 above 必須指定浮動在另一個群組中的面板
@msg give only one of onto, below and above onto、below 和 above 只能提供其中一個
@msg column must be true or a number from 1 column 必須是 true 或從 1 起算的數字
@msg unknown panel `{raw}` 未知的面板 `{raw}`
@msg x and y must both be numbers x 和 y 都必須是數字
@msg Downloaded {what} 已下載 {what}
@msg Exported {count} file(s) to {folder} 已將 {count} 個檔案匯出至 {folder}
@msg Imported {what}: {_1} 已匯入 {what}:{_1}
@msg Installed plug-in {_1} 已安裝增效模組 {_1}
@msg Opened with {_1} note(s): {_2} 已開啟,附有 {_1} 則註解:{_2}
@msg Saved {path} 已儲存 {path}
@msg no app to open files here 此處沒有可開啟檔案的應用程式
@msg no data 沒有資料
@msg no document 沒有文件
@msg no file manager here 此處沒有檔案管理員
@msg no revert command 沒有回復指令
@msg the Save PDF dialog didn't open 「儲存 PDF」對話框未開啟
@msg the document has never been saved 文件從未儲存過
@msg the export returned unreadable data 匯出傳回了無法讀取的資料
@msg {status} ({e}) {status} ({e})
@msg Exported {what} with {_1} note(s): {first} 已匯出 {what},附有 {_1} 則註解:{first}
@msg Saved {path} with {_1} note(s): {first} 已儲存 {path},附有 {_1} 則註解:{first}
@msg Couldn't open {name}: {e} 無法開啟 {name}:{e}
@msg Couldn't read {name}: {e} 無法讀取 {name}:{e}
@msg Internal error: {msg} (please report this bug) 內部錯誤:{msg} (請回報此錯誤)
@msg Opened {url} 已開啟 {url}
@msg No saved views (View → New View…) 沒有已儲存的檢視 (檢視 → 新增檢視…)
@msg `command` must be a command whose menu item opens a dialog (see ui.menuDialog) `command` 必須是選單項目會開啟對話框的指令 (請參閱 ui.menuDialog)
@msg `mode` must be grayscale, rgb, hsb, cmyk or websafe `mode` 必須是 grayscale、rgb、hsb、cmyk 或 websafe
@msg `{key}` must be true or false `{key}` 必須是 true 或 false
@msg brightness must be dark|mediumDark|mediumLight|light brightness 必須是 dark|mediumDark|mediumLight|light
@msg index must be a number or first, previous, next or last index 必須是數字,或 first、previous、next 或 last
@msg index must be a number or first, previous, next or last, not `{other}` index 必須是數字,或 first、previous、next 或 last,而非 `{other}`
@msg lang must be one of {_1} lang 必須是 {_1} 其中之一
@msg missing `name` 未提供 `name`
@msg missing `tool` 未提供 `tool`
@msg missing index 未提供 index
@msg multiple windows land with M11.5 多個視窗將於 M11.5 推出
@msg no PNG encoder 沒有 PNG 編碼器
@msg no document open 沒有開啟的文件
@msg no effect applied yet 尚未套用任何效果
@msg no such perspective grid preset 沒有這個透視格點預設集
@msg no such recent file 沒有這個最近使用的檔案
@msg no such recent font 沒有這個最近使用的字體
@msg no such saved selection 沒有這個已儲存的選取範圍
@msg no such user library 沒有這個使用者資料庫
@msg no such view 沒有這個檢視
@msg printing isn't available here 此處無法列印
@msg select an image 請選取影像
@msg the document has no artboards 文件沒有工作區域
@msg tool (a tool id) is required 需要 tool (工具 id)
@msg unknown tool `{t}` 未知的工具 `{t}`
@msg no such action 沒有這個動作
@msg choose a folder to export to 請選擇要匯出至的資料夾
@msg the selection has no URL (or they differ) 選取範圍沒有 URL (或其 URL 各不相同)
@msg select some type first 請先選取一些文字
@msg {_1} font families available 有 {_1} 個可用的字體家族
@msg {_1} has no {_2} style {_1} 沒有 {_2} 樣式
@msg Copied the CSS of {rules} object(s) 已複製 {rules} 個物件的 CSS
@msg Copied the script report 已複製指令碼報告
@msg Exported {path} 已匯出 {path}
@msg no CSS to copy: select objects with CSS of their own 沒有可複製的 CSS:請選取有自己 CSS 的物件
@msg unknown highlight `{h}` 未知的反白顯示 `{h}`
@msg unknown overprints `{o}` (preserve, simulate or discard) 未知的疊印方式 `{o}` (preserve、simulate 或 discard)
@msg unknown preset `{name}` (see flattener.presets.list) 未知的預設集 `{name}` (請參閱 flattener.presets.list)
@msg Select text or click into text with the Type tool to insert glyphs 請選取文字,或使用文字工具在文字中按一下,以插入字符
@msg `library` is a library id or name (see {list}) `library` 是資料庫 id 或名稱 (請參閱 {list})
@msg no library `{key}` (see {list}) 沒有資料庫 `{key}` (請參閱 {list})
@msg select a linked image: an embedded one has no file 請選取連結的影像:內嵌的影像沒有檔案
@msg {path} can't be found: relink it first 找不到 {path}:請先重新連結
@msg Embedded {n} image(s); {missing} missing: relink them first 已內嵌 {n} 個影像;遺失 {missing} 個:請先重新連結
@msg Relinked {_1} image(s) 已重新連結 {_1} 個影像
@msg Relinked {n} image(s) 已重新連結 {n} 個影像
@msg Relinked {n} image(s); not in that folder: {_1} 已重新連結 {n} 個影像;不在該資料夾中:{_1}
@msg Unembedded to {_1} 已取消內嵌至 {_1}
@msg Updated {_1} image(s) 已更新 {_1} 個影像
@msg no swatch library `{l}` (see swatch.library.list) 沒有色票資料庫 `{l}` (請參閱 swatch.library.list)
@msg no user library folder here 此處沒有使用者資料庫資料夾
@msg Couldn't place {name}: the document it was dropped on was closed 無法置入 {name}:放置它的文件已關閉
@msg no files to place 沒有要置入的檔案
@msg paths: give at least one file paths:請提供至少一個檔案
@msg Couldn't place {name}: {e} 無法置入 {name}:{e}
@msg no print service 沒有列印服務
@msg the print job has no data 列印工作沒有資料
@msg there are no printer settings to open here 此處沒有可開啟的印表機設定
@msg Couldn't save recovery data: {e} 無法儲存復原資料:{e}
@msg Saved recovery data for {title} 已儲存 {title} 的復原資料
@msg Discarded {_1} recovered document(s) 已捨棄 {_1} 份復原的文件
@msg Restored {_1} recovered document(s): save them to keep them 已還原 {_1} 份復原的文件:請儲存以保留
@msg Saving recovery data for {_1} 正在儲存 {_1} 的復原資料
@msg This shortcut file is in a form VectorCraft can't read. VectorCraft 無法讀取此快速鍵檔案的格式。
@msg bad shortcut 快速鍵無效
@msg can't parse shortcut `{c}` 無法剖析快速鍵 `{c}`
@msg can't parse shortcut `{s}` for `{k}` 無法剖析 `{k}` 的快速鍵 `{s}`
@msg no dialog open 沒有開啟的對話框
@msg no file reader 沒有檔案讀取器
@msg no file writer 沒有檔案寫入器
@msg not a VectorCraft shortcut set (missing `overrides`) 不是 VectorCraft 快速鍵組 (沒有 `overrides`)
@msg not a shortcut set: the text doesn't start with a slash name and an opening brace 不是快速鍵組:文字開頭不是斜線名稱和左大括號
@msg shortcut for `{k}` must be a string `{k}` 的快速鍵必須是字串
@msg tool shortcuts must be a single key (optionally with Shift) 工具快速鍵必須是單一按鍵 (可搭配 Shift)
@msg unknown preset (one of {_1}) 未知的預設集 (應為 {_1} 其中之一)
@msg unknown tool or command `{key}` 未知的工具或指令 `{key}`
@msg {_1} is already used by {_2} {_1} 已由 {_2} 使用
@msg Couldn't copy to the system clipboard: {e} 無法複製到系統剪貼簿:{e}
@msg Couldn't paste from the clipboard: {e} 無法從剪貼簿貼上:{e}
@msg nothing selected 未選取任何物件
@msg the {tool} tool has no options {tool} 工具沒有選項
@msg unknown tool `{tool}` 未知的工具 `{tool}`
@msg {tool} isn't in a toolbar group of several tools {tool} 不在包含多個工具的工具列群組中
@msg no such document 沒有這個文件
@msg {_1}: not saved, so not closed {_1}:未儲存,因此未關閉
@msg `{name}` is a built-in workspace; choose another name `{name}` 是內建工作區;請選擇其他名稱
@msg `{to}` is not an available name `{to}` 不是可用的名稱
@msg no user workspace `{from}` 沒有使用者工作區 `{from}`
@msg unknown workspace (one of {_1}) 未知的工作區 (應為 {_1} 其中之一)
@msg workspace name can't be empty 工作區名稱不能是空的
@msg No fonts are missing in this document 此文件中沒有遺失的字體
@msg VectorCraft doesn't search other apps' or the system's folders: {path} VectorCraft 不會搜尋其他應用程式或系統的資料夾:{path}
@msg VectorCraft doesn't search the Shared or Public folder in Users: {path} VectorCraft 不會搜尋「使用者」中的 Shared 或 Public 資料夾:{path}
@msg {path} is not a folder {path} 不是資料夾
@msg the search couldn't start: try again in a moment 無法開始搜尋:請稍後再試
@msg searching a folder isn't available on the web 網頁版無法搜尋資料夾
@msg every search thread stopped on an internal error (please report this bug) 所有搜尋執行緒都因內部錯誤而停止 (請回報此錯誤)
@msg VectorCraft's Fonts folder isn't set here: the desktop app and vectorcraft-cli set it 此處未設定 VectorCraft 的字體資料夾:桌面應用程式和 vectorcraft-cli 會設定它
@msg choose the font files to add 請選擇要加入的字體檔案
@msg {n} font file(s) are now in {folder} {n} 個字體檔案現已位於 {folder}
@msg {n} font file(s) are now in {folder}; {failed} couldn't be added: {reason} {n} 個字體檔案現已位於 {folder};有 {failed} 個無法加入:{reason}
@msg {n} font(s) aren't available here: their text shows in another font 此處沒有 {n} 種字體:使用這些字體的文字會以其他字體顯示
@msg not a file 不是檔案
@msg not a font file 不是字體檔案
@msg that document is no longer open 該文件已不再開啟
@msg larger than 256 MB 大於 256 MB
@msg the files come to more than 1 GB: add fewer at a time 檔案總計超過 1 GB:請每次少加入一些
@msg every numbered name for it is taken in the Fonts folder 字體資料夾中所有編號名稱都已被使用
@msg every numbered name for {name} is taken in the document's folder 文件所在資料夾中 {name} 的所有編號名稱都已被使用
@msg No linked files to look for 沒有要尋找的連結檔案
@msg Relinked {n} image(s); {name} couldn't be relinked: {reason} 已重新連結 {n} 個影像;無法重新連結 {name}:{reason}
@msg `id` is the step reference {r}, which only `run` and `command_batch` resolve `id` 是步驟參照 {r},只有 `run` 和 `command_batch` 能解析它
@msg `ids` must be an array of object ids, not {v} `ids` 必須是由物件 id 組成的陣列,而非 {v}
@msg `corners` must be an array of anchor indices, not {v} `corners` 必須是由錨點索引組成的陣列,而非 {v}
@msg `{text}`: step {i}'s result has no such value (write $$ for a literal $) `{text}`:步驟 {i} 的結果中沒有此值 (若要表示 $ 本身,請寫 $$)
@msg `{text}`: there is no step {i} before this one (steps count from 0; write $$ for a literal $) `{text}`:此步驟之前沒有步驟 {i} (步驟從 0 起算;若要表示 $ 本身,請寫 $$)
@msg object ids are non-negative integers, not {v} 物件 id 是非負整數,而非 {v}
@msg automation filesystem access is not granted: read authority is absent: {path} 未授予自動化檔案系統存取權:沒有讀取權限:{path}
@msg automation filesystem access is not granted: write authority is absent: {path} 未授予自動化檔案系統存取權:沒有寫入權限:{path}
@msg automation path rejected: outside the read root {root}: {path} 已拒絕自動化路徑:位於讀取根目錄 {root} 之外:{path}
@msg automation path rejected: outside the write root {root}: {path} 已拒絕自動化路徑:位於寫入根目錄 {root} 之外:{path}
@msg automation path rejected: path is empty 已拒絕自動化路徑:路徑是空的
@msg automation path rejected: a link that leads nowhere: {path} 已拒絕自動化路徑:連結指向不存在的位置:{path}
@msg automation path rejected: cannot resolve {path}: {e} 已拒絕自動化路徑:無法解析 {path}:{e}
@msg automation path rejected: parent traversal below a folder that doesn't exist: {path} 已拒絕自動化路徑:在不存在的資料夾下往上層周遊:{path}
@msg automation path rejected: reserved device names are not allowed: {path} 已拒絕自動化路徑:不允許使用保留的裝置名稱:{path}
@msg Multichannel PSD files can't be read: save it in RGB, CMYK or Grayscale mode 無法讀取多重色版 PSD 檔案:請以 RGB、CMYK 或灰階模式儲存
@msg not a PSD file 不是 PSD 檔案
@msg the PSD file has an unknown colour mode ({m}) PSD 檔案的色彩模式不明 ({m})
@msg the PSD file's image data uses an unknown compression ({m}) PSD 檔案的影像資料使用了不明的壓縮方式 ({m})
@msg the PSD image is too large to read ({_1} × {_2} pixels) PSD 影像過大,無法讀取 ({_1} × {_2} 像素)
@msg zipped 32-bit PSD image data with prediction can't be read 無法讀取使用預測的 ZIP 壓縮 32 位元 PSD 影像資料
@msg {depth}-bit PSD files in this colour mode can't be read 無法讀取此色彩模式的 {depth} 位元 PSD 檔案
@msg the PSD file is cut short PSD 檔案不完整
@msg the PSD file's header is damaged PSD 檔頭已損毀
@msg the PSD file's image data can't be read: {e} 無法讀取 PSD 檔案的影像資料:{e}
@msg Imported library {name} 已匯入資料庫 {name}
@msg invalid restored panel group 還原的面板群組無效
@msg Invalid panel layout; restored the default dock 面板配置無效;已還原預設停駐區
@msg action is required 需要 action
@msg anchor must name a registered panel anchor 必須指定已註冊的面板
@msg before must name a panel before 必須指定面板
@msg docking action contains an unknown panel or an excessive split path 停駐動作包含未知的面板或過長的分割路徑
@msg group must be true or false group 必須是 true 或 false
@msg move requires a destination panel 移動需要目的地面板
@msg move requires an existing destination panel 移動需要現有的目的地面板
@msg onto must name a floating panel onto 必須指定浮動面板
@msg panel group is empty 面板群組是空的
@msg panel must name a registered panel panel 必須指定已註冊的面板
@msg saved panel layout is invalid; reset the workspace first 已儲存的面板配置無效;請先重設工作區
@msg x and y must be provided together x 和 y 必須同時提供
@msg zone must be a string zone 必須是字串
@msg zone must be tab, center, left, right, top or bottom zone 必須是 tab、center、left、right、top 或 bottom
@msg {key} must be a finite coordinate {key} 必須是有限的座標
@msg invalid native panel set 原生面板組無效
@msg missing panel layout 沒有面板配置
@msg unsupported native docking operation 不支援的原生停駐操作
@msg the compressed file unpacks to more than VectorCraft reads ({_1} MB of document, {_2} MB per image) 壓縮檔解壓縮後超過 VectorCraft 的讀取上限 (文件 {_1} MB,每個影像 {_2} MB)
@msg the document is too large to save compressed ({0}): save it with Use Compression off 文件過大,無法壓縮儲存 ({0}):請關閉「使用壓縮」後儲存
@msg the file stopped being read (please report this bug) 檔案讀取已中斷 (請回報此錯誤)
@msg the image can't be read as a texture 無法將影像當作紋理讀取
@msg give a fraction `t` from 0 to 1 請提供 0 到 1 之間的比例 `t`
@msg give the path `id` 請提供路徑的 `id`
@msg invalid stroke widths 筆畫寬度無效
@msg object has no weighted stroke 物件沒有具寬度的筆畫
@msg Angles require two straight segments 角度需要兩條直線段
@msg Choose two different points 請選擇兩個不同的點
@msg Choose two non-parallel straight segments 請選擇兩條不平行的直線段
@msg Choose two nonzero angle arms 請選擇兩條長度不為零的角邊
@msg Dimension point is outside the canvas 尺寸標註點位於畫布之外
@msg Dimension size is outside its supported range 尺寸標註大小超出支援的範圍
@msg First measured segment no longer exists 第一條測量線段已不存在
@msg Invalid dimension distance 尺寸標註距離無效
@msg Invalid dimension font name 尺寸標註字體名稱無效
@msg Invalid drawing scale 圖紙比例無效
@msg Invalid real scale 實際比例無效
@msg Measured anchor no longer exists 測量的錨點已不存在
@msg Measured segment no longer exists 測量的線段已不存在
@msg Non-finite dimension 尺寸標註不是有限值
@msg Scale must be drawing:real, for example 1:10 比例必須為 圖紙:實際,例如 1:10
@msg Scale ratio must be between 1:1000000 and 1000000:1 比例必須介於 1:1000000 和 1000000:1 之間
@msg Second measured segment no longer exists 第二條測量線段已不存在
@msg Unknown dimension mode 未知的尺寸標註模式
@msg Unknown dimension option {k} 未知的尺寸標註選項 {k}
@msg span must be "object" or "selection", got {v} span 必須是 "object" 或 "selection",收到 {v}
@msg span: "selection" places a `gradient`, not a swatch span: "selection" 放置的是 `gradient`,而非色票
@msg span: "selection" places a gradient: give `gradient` span: "selection" 會放置漸層:請提供 `gradient`
@msg span: "selection" places a linear or radial gradient, not a freeform one span: "selection" 放置線性或放射狀漸層,而非任意形狀漸層
@msg span: "selection" places the gradient itself: leave out `start` and `end` (they already place it in document coordinates) span: "selection" 會自行放置漸層:請不要提供 `start` 和 `end` (它們已依文件座標放置漸層)
@msg Batch: {count} processed 批次:已處理 {count} 個
@msg Batch: {count} processed, {failed} failed 批次:已處理 {count} 個,失敗 {failed} 個
@msg choose a destination folder 請選擇目的地資料夾
@msg choose a source folder 請選擇來源資料夾
@msg open a document with data sets 請開啟含有資料集的文件
@msg the action has no steps 動作沒有步驟
@msg cancelled; nothing was changed 已取消;未做任何變更
@msg Save writes {_1}, not {_2}: use file.saveAsTemplate to write it 「儲存」會寫入 {_1},而非 {_2}:若要寫入該格式,請使用 file.saveAsTemplate
@msg aiVersion 7 writes legacy .ai files; a .ait template is always PDF-compatible aiVersion 7 會寫入舊版 .ai 檔案;.ait 範本一律與 PDF 相容
@msg a mask has more than one art block 遮色片含有多個圖稿區塊
@msg mask art ends outside a mask dictionary 遮色片圖稿在遮色片字典之外結束
@msg `{key}` must be a #rrggbb color `{key}` 必須是 #rrggbb 格式的顏色
@msg a linked image can't become a gradient mesh: embed it first 連結的影像無法轉換為漸層網格:請先內嵌
@msg the image has no usable size or position 影像沒有可用的尺寸或位置
@msg the image's pixels can't be read 無法讀取影像的像素
@msg Persistent libraries not found: {files} 找不到持久資料庫:{files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` 不是資料庫面板 (請參閱 window.swatchLibrary)
@msg library panel `{given}` isn't open 資料庫面板 `{given}` 未開啟
@msg too many library panels were opened in this session 本次工作階段開啟的資料庫面板過多
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. 影像為 {_1} × {_2} 像素,有一邊超過 {LARGE_TRACE_SIDE}:仍會描圖,但速度較慢。使用精確度較低的預設集或較小的影像拷貝,描圖會較快。
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). 影像已以 {_1} × {_2} 像素描圖,由 {_3} × {_4} 縮小而來 (最多 {_5} 百萬像素)。
# Links and Attributes: files and URLs handed to other apps.
@msg Edit Original opens image and document files only; “{name}” is not one 「編輯原稿」只能開啟影像與文件檔案;「{name}」不屬於這兩類
@msg only http, https and mailto URLs open in the browser, not “{url}” 只有 http、https 和 mailto URL 會在瀏覽器中開啟,「{url}」不會
@msg {id} opens another app: only the person at the keyboard can run it {id} 會開啟另一個應用程式:只有在鍵盤前操作的人才能執行
@msg “{name}” is not a file 「{name}」不是檔案
# Import Shortcut Set (Keyboard Shortcuts › Import…, File › Open of a .kys file) and its commands.
Import Shortcut Set 匯入快速鍵組
Import Shortcut Set… 匯入快速鍵組…
@@ -1847,6 +2576,19 @@ file-filter Templates 範本
Move Slices 移動切片
Move Spine Point 移動脊線點
Reshape Spine Segment 改變脊線線段外框
@msg select a blend or give `id` 請選取漸變物件,或提供 `id`
@msg not a blend 不是漸變物件
@msg the blend has no spine 漸變物件沒有脊線
@msg the spine has no segments 脊線沒有線段
@msg no such spine point 沒有這個脊線點
@msg no such spine segment 沒有這個脊線線段
@msg a key object sits on that point 該點上有關鍵物件
@msg a spine keeps at least two points 脊線至少要保留兩個點
@msg missing number `{key}` 未提供數字 `{key}`
@msg index must be ≥ 0 index 必須 ≥ 0
@msg x and y must be finite x 和 y 必須是有限值
@msg t, dx and dy must be finite t、dx 和 dy 必須是有限值
@msg handle must be in or out handle 必須是 in 或 out
Move Swatch 移動色票
Move Up 上移
Move… 移動…
@@ -3421,6 +4163,7 @@ mark-style Japanese 日式
Delete Variable 刪除變數
Lock Variables 鎖定變數
Unlock Variables 解除鎖定變數
@msg variables are locked 變數已鎖定
List Variables 列出變數
Bind Variable 綁定變數
Unbind Variable 解除變數綁定
Can't render this file because it contains an unexpected character in line 6 and column 47.
+1 -1
View File
@@ -236,7 +236,7 @@ other `sv-*` locale resolve to it), Georgian (`ka`, complete; `ka-GE` and `ka_GE
control channel, MCP and tests read them) and are translated only where the status bar draws them
(`i18n::msg`). `@msg` catalog rows hold a whole message or a template such as
`Couldn't open {name}: {e}`; `{_1}`, `{_2}` … stand for the format string's `{}`, and the values in the
placeholders are translated in turn (the reason after `: {e}` is often a message too). Czech, German, Greek, Spanish, French, Georgian, Hungarian, Italian, Japanese, Korean, Polish, Brazilian Portuguese, Russian, Simplified Chinese, Swedish, Ukrainian, Vietnamese and Finnish cover every
placeholders are translated in turn (the reason after `: {e}` is often a message too). Czech, German, Greek, Spanish, French, Georgian, Hungarian, Italian, Japanese, Korean, Polish, Brazilian Portuguese, Russian, Simplified Chinese, Traditional Chinese, Swedish, Ukrainian, Vietnamese and Finnish cover every
message literal the test scan finds (`complete_languages_translate_every_message`, languages listed in
`COMPLETE_MESSAGES`): a new `Err("…")`, `Other(…)`, `#[error(…)]` or `status(…)` message needs a row in each of those catalogs (`VECTORCRAFT_I18N_DUMP_MESSAGES=messages.txt cargo test -p vectorcraft-ui-egui
complete_languages_translate_every_message` lists them all). Other languages show messages in English
+1 -1
View File
@@ -45,7 +45,7 @@ plus review. Native-speaker review is human work and isn't in the hours.
| Language | Code | Translated | Status |
|---|---|---|---|
| Traditional Chinese (Taiwan) | `zh-hant` | 3,425 rows, menus and literals complete; messages in English (80% overall) | partial |
| Traditional Chinese (Taiwan) | `zh-hant` | 4,741 rows, 742 of them `@msg` (counted 2026-10-17): menus, `tl!` literals and messages complete under the tests (80% overall) | partial |
| Italian | `it` | 4,011 / 4,020 | full |
| Russian | `ru` | 4,009 / 4,020 | full |
| Ukrainian | `uk` | 4,009 / 4,020 (one/few/many plurals) | full |
+1 -1
View File
@@ -628,7 +628,7 @@ Moved from the ROADMAP's "Shipped so far" on 2026-10-10. Update it when a featur
Type › Optical Margin Alignment (`type.opticalMarginAlignment`) hangs the punctuation and letter edges at the ends of a type object's lines outside its margins: at the left of left-aligned lines, at the right of right-aligned lines, and at both ends of centered and justified lines, in point and area type of left-to-right paragraphs. Quotation marks, hyphens, full stops and commas hang wholly; asterisks, tildes, ellipses, en and em dashes, colons and semicolons hang by half; and A, V, W, Y, v, w and y hang by a tenth of their width. It is off by default and saved with the type object.
The Paragraph panel menu's Hyphenation… (`ui.hyphenation`, `text.setFormat {wordsLongerThan, afterFirst, beforeLast, hyphenLimit, hyphenationZone, hyphenateCapitalized}`) sets each paragraph's hyphenation limits: the shortest word that breaks, the fewest letters on each side of the hyphen, the most hyphenated lines in a row, a zone at the right edge where the Single-line Composer breaks before a word instead of hyphenating it, and whether capitalized words break. The defaults are words longer than 5 letters, 3 letters on each side, no limit or zone, and capitalized words hyphenated; paragraph styles and the native file keep the options.
The Tabs panel menu's Clear All Tabs (`text.tabs.clear`), Delete Tab and Repeat Tab (`text.tabs.set`) can be chosen while the panel's ruler shows tab stops. Delete Tab removes the stop selected on the ruler. Repeat Tab replaces the stops after the selected stop with up to 20 copies of it. The copies are spaced by the selected stop's distance from the stop before it, or from the paragraph's left indent when it is the first stop, and no copy is placed at 2,000 pt or beyond. Clear All Tabs removes every stop, so the default stops every ½ inch apply again.
- **Interface languages, vertical type:** Preferences ▸ User Interface (or VectorCraft ▸ Language on macOS) picks Automatic (the system locale) or a registered language, persisted as `interfaceLanguage`. Translations come from per-language catalogs (`i18n/*.tsv`): Traditional and Simplified Chinese, Japanese, German (every `de-*` locale), Spanish (neutral international Spanish, for every `es-*` locale), French (every `fr-*` locale), Italian (every `it-*` locale) Russian (every `ru-*` locale) and Ukrainian (every `uk-*` locale) cover the whole interface, Czech every menu label; Czech, German, Greek, Spanish, French, Hungarian, Italian, Japanese, Korean, Vietnamese, Polish, Brazilian Portuguese, Russian, Simplified Chinese, Swedish, Ukrainian and Finnish also translate status-bar and error messages as they are shown (`@msg` templates, every message literal tested; the messages themselves stay English for agents); untranslated text stays English. Japanese and Chinese glyphs come from the craft-fonts build input (release builds) or the installed fonts, Czech, German, Spanish, French, Italian, Russian and Ukrainian ones from the bundled UI fonts. The web app follows the browser's languages (or `?lang=`). The Basic toolbar's Type button holds Vertical Type in its flyout. Vertical Type, Vertical Area Type and Vertical Type on a Path create vertical text (columns right to left, upright CJK glyphs and marks with `vert` alternates, Latin and longer numbers on their side, two- and three-digit numbers set as tate-chu-yoko in one em of the column (kept whole when justified), upright glyphs centred on the column (tracked or justified too), point type's anchor on the first column's centre line); kinsoku applies to horizontal and vertical Japanese (Paragraph panel › Kinsoku Set, `text.setFormat {kinsoku}`: Hard, the default, keeps closing marks, iteration marks, the prolonged sound mark and small kana off the line start and opening brackets off its end; Soft lets 々, ー and small kana start a line as JLREQ's level 3 rules do; None turns it off), and justified Japanese lines spread their room between characters (not inside Latin words); Paragraph panel › Mojikumi Set (shown with Preferences › Type › Show East Asian Options, `text.setFormat {mojikumi}`): None or Line-end Punctuation Half Width (new type's default, as in Illustrator; older documents and imported text keep None) shares one half-em space between consecutive punctuation, sets a closing mark ending a line half width and an opening bracket starting a line flush with its start (a paragraph's first line at its first-line indent, JIS X 4051's principle in JLREQ 3.1.5), and puts a quarter em between Japanese and Latin letters or digits; Paragraph panel menu › Top-to-Top / Bottom-to-Bottom Leading measures leading from em box top to top (area type's first line touches the frame) or from baseline to baseline (new type in a Japanese interface starts top to top, with em box centre character alignment, #432); Paragraph panel menu › Burasagari None / Regular / Force (`text.setFormat {burasagari: "none"|"standard"|"forced"}`) hangs an East Asian comma or full stop (、。,.、。) ending an area type line outside it, Regular (new type's default) when it doesn't fit and Force always (the rest of the line then fills the measure; closing brackets and Latin punctuation don't hang); Character panel menu › Character Alignment (with the East Asian options; `text.setFormat` or `text.setRangeStyle {charAlign}`) lines characters smaller than the largest on their line up on the Roman baseline, the em box top/right, centre or bottom/left, or the ICF (ideographic character face) top/right or bottom/left, from the font's BASE table or, without one, the average ink box of some ideographs and kana; Proportional Metrics (the same menu; `{proportionalMetrics}`) sets full-width glyphs on the font's proportional widths (OpenType `palt`) in horizontal type and upright glyphs on its proportional heights (`vpal`, shaped top to bottom; fonts without vertical metrics keep their cells) in vertical type, and Line-end Punctuation Half Width takes nothing more off the punctuation they re-spaced; Type ▸ Type Orientation switches existing text; caret, selection, hit testing and arrow keys follow the writing direction. Vertical text exports to PDF as real text and to SVG as outlines. The interface is available in Polish (`pl`): menus, panels, dialogs and messages, with one/few/many plurals; AI-drafted, native review pending (#1498).
- **Interface languages, vertical type:** Preferences ▸ User Interface (or VectorCraft ▸ Language on macOS) picks Automatic (the system locale) or a registered language, persisted as `interfaceLanguage`. Translations come from per-language catalogs (`i18n/*.tsv`): Traditional and Simplified Chinese, Japanese, German (every `de-*` locale), Spanish (neutral international Spanish, for every `es-*` locale), French (every `fr-*` locale), Italian (every `it-*` locale) Russian (every `ru-*` locale) and Ukrainian (every `uk-*` locale) cover the whole interface, Czech every menu label; Czech, German, Greek, Spanish, French, Hungarian, Italian, Japanese, Korean, Vietnamese, Polish, Brazilian Portuguese, Russian, Simplified Chinese, Traditional Chinese, Swedish, Ukrainian and Finnish also translate status-bar and error messages as they are shown (`@msg` templates, every message literal tested; the messages themselves stay English for agents); untranslated text stays English. Japanese and Chinese glyphs come from the craft-fonts build input (release builds) or the installed fonts, Czech, German, Spanish, French, Italian, Russian and Ukrainian ones from the bundled UI fonts. The web app follows the browser's languages (or `?lang=`). The Basic toolbar's Type button holds Vertical Type in its flyout. Vertical Type, Vertical Area Type and Vertical Type on a Path create vertical text (columns right to left, upright CJK glyphs and marks with `vert` alternates, Latin and longer numbers on their side, two- and three-digit numbers set as tate-chu-yoko in one em of the column (kept whole when justified), upright glyphs centred on the column (tracked or justified too), point type's anchor on the first column's centre line); kinsoku applies to horizontal and vertical Japanese (Paragraph panel › Kinsoku Set, `text.setFormat {kinsoku}`: Hard, the default, keeps closing marks, iteration marks, the prolonged sound mark and small kana off the line start and opening brackets off its end; Soft lets 々, ー and small kana start a line as JLREQ's level 3 rules do; None turns it off), and justified Japanese lines spread their room between characters (not inside Latin words); Paragraph panel › Mojikumi Set (shown with Preferences › Type › Show East Asian Options, `text.setFormat {mojikumi}`): None or Line-end Punctuation Half Width (new type's default, as in Illustrator; older documents and imported text keep None) shares one half-em space between consecutive punctuation, sets a closing mark ending a line half width and an opening bracket starting a line flush with its start (a paragraph's first line at its first-line indent, JIS X 4051's principle in JLREQ 3.1.5), and puts a quarter em between Japanese and Latin letters or digits; Paragraph panel menu › Top-to-Top / Bottom-to-Bottom Leading measures leading from em box top to top (area type's first line touches the frame) or from baseline to baseline (new type in a Japanese interface starts top to top, with em box centre character alignment, #432); Paragraph panel menu › Burasagari None / Regular / Force (`text.setFormat {burasagari: "none"|"standard"|"forced"}`) hangs an East Asian comma or full stop (、。,.、。) ending an area type line outside it, Regular (new type's default) when it doesn't fit and Force always (the rest of the line then fills the measure; closing brackets and Latin punctuation don't hang); Character panel menu › Character Alignment (with the East Asian options; `text.setFormat` or `text.setRangeStyle {charAlign}`) lines characters smaller than the largest on their line up on the Roman baseline, the em box top/right, centre or bottom/left, or the ICF (ideographic character face) top/right or bottom/left, from the font's BASE table or, without one, the average ink box of some ideographs and kana; Proportional Metrics (the same menu; `{proportionalMetrics}`) sets full-width glyphs on the font's proportional widths (OpenType `palt`) in horizontal type and upright glyphs on its proportional heights (`vpal`, shaped top to bottom; fonts without vertical metrics keep their cells) in vertical type, and Line-end Punctuation Half Width takes nothing more off the punctuation they re-spaced; Type ▸ Type Orientation switches existing text; caret, selection, hit testing and arrow keys follow the writing direction. Vertical text exports to PDF as real text and to SVG as outlines. The interface is available in Polish (`pl`): menus, panels, dialogs and messages, with one/few/many plurals; AI-drafted, native review pending (#1498).
- **Transparency:** opacity masks (clip/invert/disable/link), exported as SVG `<mask>` and PDF soft masks. The constant alpha soft mask that PDF and `.ai` export draw a CMYK page with transparency through is white, so applications that read every soft mask by its luminosity show the page too (#1359, part of #1286).
Disable, Enable, Unlink and Link Opacity Mask and Opacity Mask Options (`transparency.setOpacityMask`) record no undo step when every mask they act on already has the flags they set.
- **Image Trace, thin closed outlines:** generated `fit::snap_area_tests` verify nonzero interiors after straightening, opposite closed-boundary winding and Noise controls; see [quality notes](image-trace-quality.md#thin-closed-outlines-with-snap-curves-to-lines). Scores and hours unchanged; open-piece fitting is unchanged.