Skip to content

SVG traduzido e colocalizado (sistema de documentação)

Use para sites de sistema de documentação onde ilustrações SVG traduzidas devem aparecer junto com documentos traduzidos no diretório de conteúdo de cada localidade — o mesmo local das capturas de tela colocalizadas. O preset Docusaurus é o principal exemplo.

Configuração

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 grava um SVG por localidade no mesmo diretório current/assets/ que as capturas de tela colocalizadas usam para PNGs:

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

Markdown de origem

Todos os documentos em todas as localidades usam o mesmo caminho relativo:

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

Para a localidade em inglês, o link simbólico docs/assets → ../static/assets resolve isso. Para localidades traduzidas, ele resolve diretamente para current/assets/.

Nenhuma regra regexAdjustments é necessária porque os documentos de origem em inglês e os documentos de saída traduzidos usam caminhos idênticos.

Localização do código-fonte SVG

Recomendado: armazenar os SVGs de origem em documentation/static/assets/ ao lado dos PNGs em en-GB. Isso mantém todos os ativos da documentação em um único local, e o mesmo link simbólico docs/assets cobre ambos. As entradas svg.sourcePath apontam então para documentation/static/assets/name.svg.

Espaços reservados pathTemplate

SubstitutoValor
{outputDir}Caminho absoluto resolvido de svg.outputDir
{locale}Código da localidade de destino
{LOCALE}Código da localidade em maiúsculas
{relPath}Caminho relativo da raiz sourcePath até o SVG de origem
{stem}Nome do arquivo sem extensão
{basename}Nome do arquivo com extensão
{extension}Extensão incluindo o ponto
{relativeToSourceRoot}Caminho relativo da raiz sourcePath mais próxima

Referência completa na tabela de configuração svg.

Exemplo de implementação

duplistatus — bloco svg aninhado com pathTemplate em ai-i18n-tools.config.json; SVGs de origem em documentation/static/assets/ (por exemplo, duplistatus_toolbar.svg); translate-svg grava arquivos por localidade em documentation/i18n/<locale>/…/current/assets/ ao lado de PNGs colocalizados; a documentação os incorpora via caminhos ../assets/ (por exemplo, overview.md) sem a necessidade de ponte regexAdjustments.


Lançado sob a licença MIT.