Lingo.dev + .xcstrings (Xcode)
Lingo.dev CLIはXcodeの.xcstringsファイルを複数形ルール、デバイスバリエーション、およびiOS固有のメタデータを保持しながら翻訳します。CLIはXcodeのローカリゼーションワークフローと直接連携し、コードからアクセス可能な文字列定数を生成し、複雑なiOSの複数形ルールを自動的に処理し、プラットフォーム固有の文字列バリエーションをサポートし、Xcodeビルドプロセスとシームレスに統合します。
クイックセットアップ
Xcodeのモダンな文字列カタログ形式用に設定します:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xcode-xcstrings": {
"include": ["Resources/Localizable.xcstrings"]
}
}
}
文字列カタログの翻訳
npx lingo.dev@latest i18n
複数形、デバイスバリエーション、およびXcode固有のメタデータをiOSの規則を保持しながら自動的に処理します。
文字列カタログの機能
基本的なローカリゼーション
{
"sourceLanguage": "en",
"strings": {
"welcome_message": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Welcome to our app!"
}
}
}
}
}
}
複数形バリエーション
{
"item_count": {
"localizations": {
"en": {
"variations": {
"plural": {
"zero": {
"stringUnit": {
"state": "translated",
"value": "No items"
}
},
"one": {
"stringUnit": {
"state": "translated",
"value": "%d item"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "%d items"
}
}
}
}
}
}
}
}
デバイスバリエーション
iPhone、iPad、Apple Watch、その他のAppleプラットフォーム向けのデバイス固有の文字列をサポートします。
フォーマットの保持
- メタデータの保持: 状態、コメント、抽出状態が保持されます
- バリエーションの安全性: すべての複数形とデバイスバリエーションが維持されます
- 構造の保持: JSON階層とXcode固有のキーが変更されません
- プレースホルダーの安全性:
%@
、%d
などのiOSフォーマット指定子が維持されます
高度な設定
複数のカタログ
"xcode-xcstrings": {
"include": [
"Resources/Localizable.xcstrings",
"Resources/InfoPlist.xcstrings"
]
}
システムキーのロック
"xcode-xcstrings": {
"include": ["Resources/Localizable.xcstrings"],
"lockedKeys": ["CFBundleName", "NSHumanReadableCopyright"]
}