コンテンツへスキップ
Android i18n

Android ローカライゼーション:あらゆる言語でアプリをリリースする

Android は strings.xml ファイルとリソース修飾子を使った堅牢なリソースベースのローカライゼーションシステムを提供しています。各ロケールには独自の values ディレクトリがあり、システムはデバイスの言語に基づいて適切なリソースを自動的に選択します。Jetpack Compose と Android 13+ のアプリごとの言語設定により、多言語対応の Android アプリを構築することがこれまで以上に簡単になりました。

Android ローカライゼーション機能

型安全な R クラス参照を持つ strings.xml リソースファイル
数量文字列(zero、one、two、few、many、other)による組み込みの複数形ルール
stringResource() と pluralStringResource() を使った Jetpack Compose サポート
Android 13+ でアプリを再起動せずにアプリごとの言語設定を変更できます
ロケール、画面サイズ、レイアウト方向に対応したリソース修飾子
自動ビュー反転による右から左(RTL)レイアウトのミラーリング
ICU ライブラリによるロケール対応の日付・時刻・数値フォーマット
ローカライズされたリストコンテンツ用の文字列配列と型付き配列
ビジュアルな文字列管理のための Android Studio 翻訳エディター

実践的なAndroidのローカライズ

res/values/strings.xml で複数形に対応した翻訳可能な文字列を定義し、Kotlin と Jetpack Compose の API を使ってロケール対応コンテンツを UI にレンダリングします。

<!-- res/values/strings.xml -->
<resources>
    <string name="welcome">Welcome to %1$s</string>
    <plurals name="items">
        <item quantity="one">%d item</item>
        <item quantity="other">%d items</item>
    </plurals>
</resources>

<!-- res/values-fr/strings.xml -->
<resources>
    <string name="welcome">Bienvenue sur %1$s</string>
    <plurals name="items">
        <item quantity="one">%d article</item>
        <item quantity="other">%d articles</item>
    </plurals>
</resources>

// Kotlin - Jetpack Compose
@Composable
fun WelcomeScreen() {
    Text(text = stringResource(R.string.welcome, "My App"))
    Text(text = pluralStringResource(R.plurals.items, 5, 5))
}

今すぐ Android ローカライゼーションを始める

AI を活用したワークフロー、CLI 同期、50ms 未満の CDN デリバリーで Android の strings.xml 翻訳を管理します。