Lingo.dev + .xml (Android)

Lingo.dev CLIはAndroid XMLリソースファイルをネイティブ構造、属性、およびAndroid固有の規則を保持しながら翻訳します。CLIは既存のAndroidビルドプロセスとシームレスに統合し、リソースリンクシステムを維持し、GradleやAndroid Studioと連携し、フォーマット変換を必要とせずにプラットフォームのローカリゼーション標準に従います。

クイックセットアップ

ロケールベースのフォルダパターンを使用してAndroidリソースファイルを指定します:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "android": {
      "include": ["res/values-[locale]/strings.xml"]
    }
  }
}

注意[locale]は設定内で文字通りのプレースホルダーとして残しておく必要があります。CLI実行中に実際のロケールに置き換えられます。

デフォルトリソースの処理

Androidではデフォルトのvalues/フォルダが必要です。互換性のためにシンボリックリンクを作成してください:

cd res
ln -s values-en values

これによりAndroidの要件を満たしながら、適切なロケール処理が可能になります。

リソースの翻訳

npx lingo.dev@latest i18n

XMLフォーマット、属性、および特殊なAndroid構文を保持しながら、すべてのAndroidリソースタイプを処理します。

完全なAndroidリソースサポート

文字列配列

<string-array name="planets">
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
</string-array>

数量を持つ複数形

<plurals name="songs_found">
    <item quantity="one">%d song found</item>
    <item quantity="other">%d songs found</item>
</plurals>

フォーマット保持

  • HTMLマークアップ<b><i><u>タグを維持
  • フォーマット指定子%1$s%2$dプレースホルダーを保持
  • CDATAセクション<![CDATA[]]>コンテンツを正しく処理
  • 文字列参照@string/app_nameリンクを維持
  • 特殊文字\@\?\#エスケープを保持

高度な設定

複数のリソースファイル

"android": {
  "include": [
    "res/values-[locale]/strings.xml",
    "res/values-[locale]/plurals.xml"
  ]
}

翻訳不要な文字列のスキップ

自動的に translatable="false" 属性を尊重します。