values-ja/strings.xmlに記載した内容が反映されない

環境構築多言語化

問題発生

 状態:解決済  閲覧数:4,962  投稿日:2013-12-22  更新日:2013-12-22
▼/values-ja/strings.xmlに記載した内容が反映されない


原因


・エミュレータのロケールが日本語指定されていない


解決方法


・エミュレータのロケールを日本語指定すれば良い

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

 閲覧数:616 投稿日:2013-12-22 更新日:2013-12-22

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

勘違いしたこと。疑問に思ったこと

 閲覧数:554 投稿日:2013-12-22 更新日:2013-12-22

ロケール指定


・エミュレータでロケール指定してるはず。絶対日本語指定したはず
→今現在動作させているエミュレータではなかった。必ずしも、Eclipseみたいに一つのソフトウエアを使い続けるわけではないので、多言語化確認する場合は、エミュレータ毎にロケール指定は必要


ソースコード変更の必要性は?


・新しく「/values-★★/strings.xml」作成する以外、ソースコード変更する必要性ある?
→ない
→言語毎のロケールリソースファイルを用意したら、後はAndroid側が設定に基づき自動切換えする


多言語化? 国際化?


・名称が分からないので調査
・「多言語化」「国際化」「国際対応」…
・サイト毎に記述はバラバラ
・特に決まっていないみたい




週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 インポートされた ★★ は見つかりません | エラー 57
2 ○○は解決できないか、フィールドではありません | エラー(エラー) 26
3 いくつかのプロジェクトは、ワークスペース・ディレクトリーにすでに存在するため、インポートできません | エラー 22
3 Androidエミュレータで、PCキーボード入力を有効にしたい | エミュレータ(環境構築) 22
4 public 型 ★★ はそれ独自のファイル内に定義されなければなりません | エラー 21
5 この行に複数マーカーがあります | エラー(エラー) 20
6 「Android Studio 3.0.1」で、デザインプレビュー画面が表示されない。「waiting build for finish」が終わらない | Android Studio(IDE) 13
7 プラグイン "org.eclipse.ui.workbench" からのコードの起動で問題が発生しました | エラー(エラー) 9
8 Eclipse で「プロジェクト名」「パッケージ名」を変更する方法 | Eclipse(IDE) 7
8 Android Studio で、ソースコードが改行できない | Android Studio(IDE) 7
9 Eclipseが起動しない … ユーザ操作は待機中です | Eclipse(IDE) 6
9 内部エラーの表示中に内部エラーが発生しました | エラー 6
10 既存プロジェクトがインポート出来ない | プロジェクト(環境構築) 5
10 インポートされた java.io は見つかりません | エラー(エラー) 5
11 Android FAQ 4
11 ファイルのパスをコピーする方法と結果は、右クリックする場所で異なる | Android Studio(IDE) 4
11 ★★ を型に解決できません | エラー(エラー) 4
11 java.lang.NullPointerException | エラー(エラー) 4
11 キーバインドの競合が発生しました。 通常のアクセラレーター操作を妨げる可能性があります。 | エラー(エラー) 4
12 エラーが発生しました。ログ・ファイル ★★.log.を参照してください | エラー(エラー) 3
2024/9/21 1:01 更新