|
ドキュメント
デモを予約プラットフォーム
プラットフォームMCPCLI
APIワークフロー
ガイド変更履歴

概要

  • @lingo.dev/cli

はじめに

  • クイックスタート
  • 設定

リファレンス

  • lingo push
  • lingo pull
  • その他のコマンド
  • lingo purge

設定

  • キー制御
  • 対応フォーマット
  • ロケール

ガイド

  • ロケールを追加する
  • 既存の翻訳
  • 再翻訳
  • 翻訳メモ
  • 実行、状態、復旧
  • CI/CD
  • モノレポ
  • 大規模プロジェクト

旧CLI(v0)をお探しですか? 旧CLIのドキュメントを見る

対応フォーマット

CLI は 6 種類のファイル形式に対応しています。形式はファイル拡張子から自動判定されますが、files[] エントリで format を設定すれば上書きできます。

形式拡張子format の値補足
JSON.jsonjsonキー/値形式。key controls に対応しています。
JSONC.jsoncjsoncコメント付き JSON。コメントは保持され、translator notes としても使えます。
Markdown.mdmd本文は翻訳対象。frontmatter はオプトインです。
MDX.mdxmdxMarkdown + JSX。コンポーネント props はオプトインです。
Markdoc.mdocmarkdocMarkdown + タグ。frontmatter とタグ属性に対応しています。
OpenAPI YAML.yamlyaml-openapiOpenAPI 仕様。format は必ず明示的に設定してください。

一連の流れを見る

demo project には、各形式ごとに必要な設定をそのまま反映したファイルが 1 つずつ含まれています。npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo でクローンして、push を実行してください。

bash
npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo
cd my-lingo-demo

JSON と JSONC#

基本的なキー/値の翻訳です。key control で別途指定しない限り、すべての文字列値が翻訳されます。

json
{ "pattern": "content/en/app.json", "lockedKeys": ["meta.version"] }

JSONC ではコメントも保持され、エンジンはそれをコンテキストとして読み取ります。詳しくは translator notes をご覧ください。

json
{ "pattern": "content/en/settings.jsonc", "preservedKeys": ["featureFlags"] }

Markdown、MDX、Markdoc#

本文はデフォルトで翻訳されます。frontmatter と埋め込みコンポーネントは、オプトインしない限り 翻訳されません。

Frontmatter#

翻訳したい frontmatter フィールドを translateFrontmatterFields で指定します。

json
{
  "pattern": "content/en/guide.md",
  "translateFrontmatterFields": ["title", "description"]
}

MDX コンポーネント props#

MDX では、特定のコンポーネント上の特定の props を translateComponentProps で翻訳します。

json
{
  "pattern": "content/en/landing.mdx",
  "translateFrontmatterFields": ["title"],
  "translateComponentProps": [{ "component": ["Hero", "Callout"], "props": ["title", "body"] }]
}

これにより、<Hero> と <Callout> の title および body props が翻訳され、それ以外の props はそのまま保持されます。

Markdoc#

Markdoc は Markdown と同じように扱われ、frontmatter とタグ属性は保持されます。

json
{
  "pattern": "content/en/changelog.mdoc",
  "translateFrontmatterFields": ["title"]
}

OpenAPI YAML#

汎用 YAML は解釈の余地があるため、OpenAPI 仕様では format を明示的に指定する必要があります。

json
{ "pattern": "content/en/api.yaml", "format": "yaml-openapi" }

エンジンは、人が読むフィールド(summary や description など)を翻訳し、スキーマキー、パス、operation ID はそのまま保持します。

出力パス#

ターゲットは、ソースパターン内のロケールセグメントを置き換えて書き出されます(content/en/app.json → content/de/app.json)。CLI がターゲットの出力先を判断できるよう、パスにはソースロケールを含めてください。詳しくは Configuration を参照してください。

legacy CLI から移行する場合#

legacy CLI は約 25 種類の形式(CSV、PO、XLIFF、Android/Xcode strings、Flutter ARB、HTML など)に対応していました。これらの形式のサポートは、利用状況に応じて現在の CLI に順次追加されています。お使いの形式がまだ未対応の場合は、legacy CLI docs を参照してください。

このページは役に立ちましたか?

Max PrilutskiyMax Prilutskiy·更新済み 約8時間前·1分で読めます