Skip to content

並置翻譯的 SVG (文件系統)

用於文件系統網站,翻譯後的SVG插圖必須與翻譯後的文件一起出現在每個地區設定的內容目錄中 — 与 同位置的螢幕截圖 相同。Docusaurus 預設設定是主要範例。

設定

json
"features": {
  "translateSVG": true
},
"svg": {
  "sourcePath": [
    "documentation/static/assets/diagram.svg"
  ],
  "outputDir": "documentation/i18n",
  "style": "nested",
  "pathTemplate": "{outputDir}/{locale}/docusaurus-plugin-content-docs/current/assets/{basename}",
  "forceLowercase": true
}

translate-svg 將每個語言環境的一個 SVG 寫入與並置螢幕截圖用於 PNG 的相同 current/assets/ 目錄:

documentation/i18n/de/docusaurus-plugin-content-docs/current/assets/diagram.svg
documentation/i18n/fr/docusaurus-plugin-content-docs/current/assets/diagram.svg

原始 Markdown

所有語系中的文件皆使用相同的相對路徑:

markdown
![Diagram](../assets/diagram.svg)

對於英文語系,符號連結 docs/assets → ../static/assets 會解析至此。對於翻譯語系,則直接解析至 current/assets/

不需要 regexAdjustments 規則,因為英文原始文件與翻譯後輸出文件使用相同的路徑。

SVG 原始檔位置

建議:將原始 SVG 檔案儲存在 documentation/static/assets/,與 en-GB 的 PNG 檔案放在一起。這可將所有文件資源集中管理,且相同的 docs/assets 符號連結即可同時涵蓋兩者。svg.sourcePath 項目接著指向 documentation/static/assets/name.svg

pathTemplate 標記

標記
{outputDir}svg.outputDir 的絕對解析路徑
{locale}目標語系代碼
{LOCALE}大寫語系代碼
{relPath}sourcePath 根目錄到原始 SVG 的相對路徑
{stem}不含副檔名的檔案名稱
{basename}檔名(含副檔名)
{extension}副檔名(含點字)
{relativeToSourceRoot}相對於最近的 sourcePath 根目錄的相對路徑

SVG 配置表中查看完整參考。

實作範例

duplistatusai-i18n-tools.config.json 中的巢狀 svg 區塊包含 pathTemplate;來源 SVG 位於 documentation/static/assets/(例如 duplistatus_toolbar.svg);translate-svg 會將各語系檔案寫入 documentation/i18n/<locale>/…/current/assets/,與共置的 PNG 並列;文件透過 ../assets/ 路徑嵌入它們(例如 overview.md),無需 regexAdjustments 橋接。


以 MIT 授權發布。