Android Studio  英語・日本語構成のアプリ メモ
coskx 20180421

androoid studio で,1つのプロジェクトから日本語英語が切り替わるアプリを作成する。
アプリは1つであるが,AndroidOSの設定→言語設定でデフォルトの言語が切り替わると自動的に切り替わる。
デフォルトは英語アプリとしておいて言語設定で日本語が選ばれると日本語アプリになるようにする。


作業の目的
androoid studio で,1つのプロジェクトから言語が自動的に切り替わるアプリ(英語版,日本語)を作成するプロジェクトを定義する。2つのアプリの共通部分は同じソース を用い,2つのアプリで異な るstringリソースだけをそれぞれ作成し,フォルダを差し替えたりせずに作成する。
概要
アプリに使われている文字列が言語による異なるので,文字列は必ずリソースのStringファイルを使ってリソースIDで参照してお く。

同じリソースIDの文字列が日本語のものと英語のものを用意する。

作業の詳細
Stringファイルの2重化

1 2重化する前のプロジェクトMyproject

ワークスペース(例えばAndroidStudioProjects)中に2重化されていないプロジェクトMyproject があるとすると,

Myproject¥app\src

の中は

├─androidTest
│  略

├─main
│  ├─java
│  │  └─com
│  │      └─example
│  │          └─username
│  │              └─myproject
│  │                      mainActivity.java など
│  │                      MyClass.java
│  ─res
│  │ 
│  │  └─values
│  │        │
│  │        └─ strings.xml
│  │
│  └─AndroidManifest.xml
├─test
│  略

のようになっている。

2 以下のものを2重化することとする

 strings.xml

そうすると,次のような構成にする。

├─androidTest
│  略

├─main
│  ├─java
│  │  └─com
│  │      └─example
│  │          └─username
│  │              └─myproject
│  │                      mainActivity.java など
│  │                      MyClass.java
│  ─res
│  │ 
│  │  ─values
│  │
     │
│  │     └─ strings.xml
│  │  │
│  │  ├─values-ja
│  │  │   │
│  │  │   └─ strings.xml
│  │
│  └─AndroidManifest.xml
├─test
│  略