メインコンテンツへスキップ

v3.1.0: Hugo Markdown コンテンツ翻訳

· 1分で読めます
Creator of i18n-rosetta

v3.1.0では、HugoのMarkdownコンテンツの完全な翻訳機能が追加されました。フロントマターのフィールドと本文の両方に対応し、コードブロック、ショートコード、補間変数を自動的に保護します。

コンテンツアウェア翻訳

Markdownを翻訳する際、生のファイルをそのままLLMに送信することはできません。コードブロックが翻訳されてしまったり、ショートコードが破損したり、Hugoのテンプレート変数が崩れたりします。

Rosetta v3.1.0は、Unicode sentinel shieldingによってこの問題を解決します。

  1. 翻訳前に、構造化されたブロック(コードフェンス、ショートコード、インラインコード、HTML)が一意のセンチネルトークンに置き換えられます。
  2. LLMは翻訳可能なテキストのみを受け取ります。
  3. 翻訳後、センチネルが元のコンテンツに復元されます。

LLMがコードブロックを見ることはありません。そのため、コードブロックを破損させることはありません。

フロントマターのサポート

YAML(---)およびTOML(+++)の両方のフロントマター区切り文字がサポートされています。デフォルトでは、titledescriptionsummarysubtitlecaption、および linkTitle が翻訳されます。その他のすべてのフィールド(date、draft、tags、weight)はそのまま保持されます。

セットアップ

i18n-rosetta.config.json
{
"contentDir": "./content"
}
npx i18n-rosetta sync # now translates content too

詳細はコンテンツ翻訳ガイドをご覧ください。