mcpField
L
localization-l10n

localization-l10n

github.com/mindrally開発287695 回インストール3 週間前に更新
リポジトリ

localization-l10n について

Web・モバイルアプリ開発向けのローカライズスキルです。ロケールに応じたコンテンツ、書式、レイアウト、地域適応、テストを支援します。

主な機能

  1. 01Web・モバイル向けローカライズライブラリ
  2. 02地域別バリエーションとフォールバックチェーン
  3. 03ロケールに応じた日付・数値・通貨の書式
  4. 04RTL レイアウトとテキスト拡張
  5. 05地域別の住所・単位・暦
  6. 06ローカライズテストと自動チェック

活用シーン

  1. 01地域に合わせたアプリコンテンツの調整
  2. 02ロケール別の日付・数値・通貨の書式設定
  3. 03RTL 言語とテキスト拡張への対応
  4. 04翻訳とローカライズ済みレイアウトの確認

インストール

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

$npx skills add https://github.com/mindrally/skills --skill localization-l10n

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

詳細

ローカライズ(l10n)

Web アプリケーションやモバイルアプリケーションのローカライズを専門としています。次のガイドラインに従って、国際化されたアプリケーションを特定の地域、言語、文化に合わせて調整してください。

基本原則

  • ローカライズ(l10n)は国際化(i18n)を基盤とします
  • ユーザーに表示されるすべてのテキストがローカライズに対応するようにします
  • コンテンツを文化的に適切なものに調整します
  • 日付、数値、通貨に関する地域の慣習を尊重します
  • ロケールによって大きく異なるコンテンツを想定した設計にします

ローカライズライブラリ

Web アプリケーション
  • Web アプリケーションには i18next と react-i18next を使用します
  • 名前空間ベースで翻訳を整理します
  • Next.js アプリケーションには react-intl や next-i18next などのライブラリを使用します
  • ICU メッセージ形式のサポートには formatjs を活用します
モバイルアプリケーション
  • React Native アプリには expo-localization を使用します
  • 国際化とローカライズには react-native-i18n または expo-localization を使用します
  • フォールバック機能を備え、複数の言語をサポートします
  • デバイスのロケールを自動検出します

翻訳管理

ファイルの整理
locales/
  en-US/
    common.json
    legal.json
    marketing.json
  en-GB/
    common.json
    legal.json
    marketing.json
  es-ES/
    common.json
    legal.json
    marketing.json
  es-MX/
    common.json
    legal.json
    marketing.json
地域ごとのバリエーション
  • 地域ごとの言語バリエーション(en-US と en-GB、es-ES と es-MX など)をサポートします
  • フォールバックチェーン(es-MX -> es -> en)を実装します
  • 綴りの違い(color と colour など)に対応します
  • 地域ごとの用語の好みに合わせて用語を調整します

ロケール固有の書式設定

日付と時刻の書式設定
// Format dates according to locale
const formatDate = (date: Date, locale: string) => {
  return new Intl.DateTimeFormat(locale, {
    year: 'numeric',
    month: 'long',
    day: 'numeric'
  }).format(date);
};

// US: January 23, 2026
// UK: 23 January 2026
// Germany: 23. Januar 2026
数値の書式設定
// Format numbers according to locale
const formatNumber = (num: number, locale: string) => {
  return new Intl.NumberFormat(locale).format(num);
};

// US: 1,234,567.89
// Germany: 1.234.567,89
// France: 1 234 567,89
通貨の書式設定
// Format currency according to locale
const formatCurrency = (amount: number, locale: string, currency: string) => {
  return new Intl.NumberFormat(locale, {
    style: 'currency',
    currency: currency
  }).format(amount);
};

// US/USD: $1,234.56
// Germany/EUR: 1.234,56 EUR
// Japan/JPY: JPY 1,235

文化的な適応

コンテンツのローカライズ
  • 画像を文化的に適切なものに調整します
  • マーケティングコンテンツは翻訳するだけでなく、ローカライズします
  • 色の選択における文化的な配慮を検討します
  • 例や参照を地域に即したものに調整します
法律とコンプライアンス
  • プライバシーポリシーと利用規約をローカライズします
  • 地域の法的要件(GDPR、CCPA など)に適合させます
  • 適切な規制情報を表示します
  • 地域固有の免責事項に対応します

レイアウトとタイポグラフィ

テキストの拡張
  • 英語からテキストが 30~50%拡張することを想定して設計します
  • 長いテキストにも対応できる柔軟なレイアウトを使用します
  • ドイツ語(最も長くなることが多い)と中国語(最も短くなることが多い)でテストします
  • テキストに固定幅のコンテナーを使用しないようにします
RTL サポート
  • アラビア語やヘブライ語などに対する完全な RTL(右から左)サポートを実装します
  • 方向に応じたレイアウトには CSS 論理プロパティを使用します
  • UI 要素を適切に反転します
  • 双方向テキスト(LTR と RTL の混在)に対応します
/* Use logical properties for RTL support */
.card {
  margin-inline-start: 1rem;
  padding-inline-end: 0.5rem;
  text-align: start;
}
タイポグラフィに関する考慮事項
  • 必要な文字セットに対応するフォントを使用します
  • CJK(中国語、日本語、韓国語)のタイポグラフィ要件を考慮します
  • アラビア語やその他の文字体系固有の要件をサポートします
  • 各言語に適した改行処理を実装します

地域ごとの機能

住所形式
  • 地域ごとの形式に合わせて住所フォームを調整します
  • 国際電話番号の形式をサポートします
  • 国ごとの郵便番号/ZIP コードの検証に対応します
  • 国固有のフォーム検証を実装します
計量単位
  • メートル法とヤード・ポンド法をサポートします
  • ロケールに適した単位を表示します
  • ユーザーによる設定の上書きを可能にします
  • 値を正確に換算します
暦と時刻
  • 異なる暦体系(グレゴリオ暦、ヒジュラ暦など)をサポートします
  • タイムゾーンの表示設定に対応します
  • 週の開始曜日(曜日を日曜または月曜にする設定など)をサポートします
  • 適切な日付形式を表示します

テストと品質保証

ローカライズテスト
  • 各ロケールのネイティブスピーカーでテストします
  • 実際に翻訳されたコンテンツを使ってレイアウトを検証します
  • すべての日付、数値、通貨の形式をテストします
  • RTL レイアウトが正しく機能することを確認します
自動チェック
  • 翻訳の欠落を検出する仕組みを実装します
  • コード内のハードコードされた文字列をチェックします
  • 翻訳ファイルの形式と完全性を検証します
  • 翻訳品質の問題を監視します
疑似ローカライズ
  • 開発中に疑似ローカライズを使用します
  • ハードコードされた文字列を早期に検出します
  • UI がテキストの拡張に対応できることを確認します
  • 文字エンコーディングのサポートをテストします

コンテンツ配信

言語検出
  • ブラウザー/デバイスの設定からユーザーの言語を検出します
  • URL によるロケール切り替え(/en/、/es/、/fr/)をサポートします
  • ユーザーの言語設定を保持します
  • 適切なフォールバックの仕組みを実装します
パフォーマンスの最適化
  • 名前空間ごとに翻訳ファイルを遅延読み込みします
  • 翻訳を適切にキャッシュします
  • 静的な翻訳ファイルに CDN を使用します
  • 初期翻訳バンドルのサイズを最小限に抑えます

統合のベストプラクティス

状態管理
  • ロケール設定をユーザー設定に保存します
  • ログイン時にデバイス間で設定を同期します
  • ページ全体を再読み込みせずにロケールを変更できるようにします
  • ロケールの切り替え時にすべてのコンポーネントを更新します
API 統合
  • API リクエストにロケールを渡します
  • 適切な場合はバックエンドからローカライズされたコンテンツを返します
  • サーバー側のロケールネゴシエーションに対応します
  • コンテンツネゴシエーションヘッダーをサポートします

コメント