mcpField
L
localization

localization

github.com/johnrogers開発233155 回インストール42 週間前に更新
リポジトリ

localization について

Xcode の String Catalog を使った iOS アプリのローカライズを支援するスキルです。翻訳、複数形、ロケール対応の書式設定、確認手順を扱います。

主な機能

  1. 01Xcode String Catalog の手順
  2. 02SwiftUI の文字列抽出
  3. 03複数形のガイダンス
  4. 04ロケール対応の書式設定
  5. 05疑似ローカライズと RTL のテスト

活用シーン

  1. 01iOS アプリへの翻訳追加
  2. 02翻訳文字列への文脈の追加
  3. 03テキスト拡張と RTL レイアウトのテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/johnrogers/claude-swift-engineering --skill localization

インストール後、Claude Code で/localizationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
formatting.md
pluralization.md
rtl-support.md
string-catalogs.md

詳細

ローカライズ

翻訳、複数形、ロケールに応じたコンテンツを管理するための、String Catalog(.xcstrings)を使用した最新の iOS ローカライズです。SwiftUI の LocalizedStringKey と String(localized:) API をサポートしています。

リファレンスの読み込みガイド

内容が必要になる可能性が少しでもある場合は、必ずリファレンスファイルを読み込んでください。 パターンを見落としたり、間違えたりするより、事前に文脈を把握しておくほうが確実です。

リファレンス読み込むタイミング
String CatalogsXcode 15 以降の String Catalog を設定または使用するとき
Pluralization複数形の処理、stringsdict からの移行を行うとき
Formatting日付、数値、通貨をロケールに応じてフォーマットするとき
RTL Support右から左へ記述するレイアウト、意味上の方向を扱うとき

基本的なワークフロー

  1. Xcode で String Catalog を作成します(File > New > String Catalog)。
  2. String(localized:comment:) で文字列を指定するか、SwiftUI の自動抽出を使用します。
  3. 必要に応じて、String Catalog エディタで複数形のバリエーションを追加します。
  4. 疑似ローカライズでテストします(Scheme > Run > Options > App Language)。
  5. 翻訳用にエクスポートします(File > Export Localizations)。

主なパターン

// SwiftUI - automatic localization
Text("Welcome")
Button("Continue") { }

// Explicit localization with context
let title = String(localized: "Settings", comment: "Navigation title")

// Deferred localization for custom views
struct CardView: View {
    let title: LocalizedStringResource
    var body: some View { Text(title) }
}

ビルド設定

  • Use Compiler to Extract Swift Strings:はい
  • Localization Prefers String Catalogs:はい

よくある間違い

  1. ビルドフェーズに String Catalog を追加し忘れる — String Catalog を追加しても、File Inspector で「Localize」にチェックを入れ忘れると、アプリに組み込まれません。必ず Build Phases > Copy Bundle Resources を確認してください。

  2. 疑似ローカライズでテストしていない — 疑似ローカライズ(ドイツ語/中国語の疑似ロケール)でアプリを実行しないと、テキストのはみ出しや RTL の問題を見落とします。翻訳前に必ず疑似ローカライズでテストしてください。

  3. どこかにハードコードされた文字列がある — String Catalog の外にハードコードされた文字列が一つでもあると、抽出と自動化が正しく機能しません。あらゆる場所で String(localized:) を使用するか、遅延ローカライズには LocalizedStringResource を使用してください。

  4. 翻訳時に文脈が失われる — 翻訳者向けのコメントがないと、翻訳者は文脈を推測することになり、誤訳につながります。文字列の表示箇所と意味を説明するコメントを追加してください。

  5. RTL レイアウトをテストしていない — LTR レイアウトが RTL 言語(アラビア語、ヘブライ語)でも機能すると想定すると、深刻な問題が発生します。システム言語をアラビア語に設定してテストし、意味上の方向が使用されていることを確認してください。

コメント