「Androidアプリケーションにおける言語表示」に関する基本的な考え方

個人的な調査

カテゴリー: 多言語化  閲覧数:810 配信日:2013-12-22 10:42


2種類しかない


・A.日本語のみ対応
・B.多言語化対応


A.日本語のみ対応


▼/values/strings.xmlを直接書き換える方式

処理の流れ
1.▼main.xml
・main.xmlにはTextViewが1つ含まれ、表示する内容をandroid:text属性で指定。「@string/hello」
※これ自身が文字列ではなく、文字列リソースを参照すると言う意味

2.▼/values/strings.xml
・文字列リソース


B.多言語化対応


▼/values/strings.xmlを直接書き換えない方式(言語毎新たに「/values-★★/strings.xml」を作成していく)
・「Androidを搭載したスマートフォン(エミュレータ)やタブレット」における言語切り替えは、設定画面で指定した使用言語に基づき、自動選択される
・具体的には「/values-★★/strings.xml」があれば内容を反映。なければ「/values/strings.xml」内容を反映
※日本語の場合は「values-ja」と予め決まっている

処理の流れ
1.▼main.xml

2.▼/values-ja/strings.xml
・文字列リソース

3.▼/values/strings.xml
・上記で指定されていない場合は、文字列リソースをこのファイルより参照

・ちなみに、「アプリケーション/res/valuesフォルダー」へ配置する文字列リソースファイルの名前は何でも良い。※普通はstrings.xml

週間人気ページランキング / 6-16 → 6-22
順位 ページタイトル抜粋 アクセス数
1 Android FAQ 19
2 この行に複数マーカーがあります | エラー(エラー) 8
3 Error running MainActivity: Gradle project sync failed. Please fix your project and try again. | Gradle(環境構築) 4
4 「クラス名」変更 | クラス(環境構築) 3
5 public 型 ★★ はそれ独自のファイル内に定義されなければなりません | エラー 2
5 文字列リテラルがダブル・クォートによって正しく閉じられていません | エラー(エラー) 2
5 Unexpected namespace prefix "xmlns" found for tag LinearLayout | エラー(エラー) 2
5 Eclipseが起動しない … ユーザ操作は待機中です | Eclipse(IDE) 2
5 キーバインドの競合が発生しました。 通常のアクセラレーター操作を妨げる可能性があります。 | エラー(エラー) 2
6 いくつかのプロジェクトは、ワークスペース・ディレクトリーにすでに存在するため、インポートできません | エラー 1
6 メソッド onCreate(Bundle) は型 Object で未定義です | エラー 1
6 「Android Studio 3.0.1」で、デザインプレビュー画面が表示されない。「waiting build for finish」が終わらない | Android Studio(IDE) 1
6 Eclipse で「プロジェクト名」「パッケージ名」を変更する方法 | Eclipse(IDE) 1
6 エミュレータ中身を「ファイル・エクスプローラ」で確認したいのに、何も表示されない | Eclipse(IDE) 1
6 emulator: エラー: Unable to load VM from snapshot. The snapshot has been saved for a different hardware configuration. | エラー(エラー) 1
6 Android Studio 3.1.2 で、パレットの「Widgets」内にSpinnerが表示されないため、選択出来ない | Android Studio(IDE) 1
6 Android Studio の Designプレビュー で、ウィジェットをドラッグ配置できない | Android Studio(IDE) 1
6 インポートされた ★★ は見つかりません | エラー 1
6 Unbind failed: could not find connection for android.os.BinderProxy@★★ | エラー(エラー) 1
6 This text field does not specify an inputType or a hint | 警告(エラー) 1
2026/6/23 5:05 更新
指定期間人気ページランキング / 2020-5-27 → 2026-6-22
順位 ページタイトル抜粋 アクセス数
1 インポートされた ★★ は見つかりません | エラー 23667
2 public 型 ★★ はそれ独自のファイル内に定義されなければなりません | エラー 10453
3 ○○は解決できないか、フィールドではありません | エラー(エラー) 7377
4 この行に複数マーカーがあります | エラー(エラー) 7376
5 いくつかのプロジェクトは、ワークスペース・ディレクトリーにすでに存在するため、インポートできません | エラー 7233
6 ★★ を型に解決できません | エラー(エラー) 6397
7 プラグイン "org.eclipse.ui.workbench" からのコードの起動で問題が発生しました | エラー(エラー) 5354
8 「Android Studio 3.0.1」で、デザインプレビュー画面が表示されない。「waiting build for finish」が終わらない | Android Studio(IDE) 4471
9 Android FAQ 3464
10 Androidエミュレータで、PCキーボード入力を有効にしたい | エミュレータ(環境構築) 3259
11 Eclipse で「パッケージ名」変更 | Eclipse(IDE) 2774
12 キーバインドの競合が発生しました。 通常のアクセラレーター操作を妨げる可能性があります。 | エラー(エラー) 2451
13 Eclipseが起動しない … ユーザ操作は待機中です | Eclipse(IDE) 2365
14 Eclipse で「プロジェクト名」「パッケージ名」を変更する方法 | Eclipse(IDE) 2266
15 Android Studio で、ソースコードが改行できない | Android Studio(IDE) 2088
16 内部エラーの表示中に内部エラーが発生しました | エラー 1965
17 このメソッドは型 ○○ の結果を戻す必要があります | エラー(エラー) 1787
18 インポートされた java.io は見つかりません | エラー(エラー) 1641
19 エラーが発生しました。ログ・ファイル ★★.log.を参照してください | エラー(エラー) 1441
20 エディターを開くことができません: 予期しない例外が起こりました。 | エラー(エラー) 1155
2026/6/23 5:05 更新