Android端末の繁体中国語と簡体中国語をセグメントで分ける方法
言語コードは、Locale#getLanguageメソッドを用いて生成しています。
Locale.getDefault().getLanguage()
Android端末の言語設定に、中国語は繁体と簡体の2種類あります。Locale#getLocaleメソッドは、これらを区別せずzhという文字列を返しますので、繁体と簡体の区別をすることができません。
繁体と簡体を分ける方法は2種類あります。
- iOSに合わせて、繁体をzh-Hant、簡体をzh-Hansとしてタグ付けする方法
- Languageタグに追加でCountryタグを作成し、TWを繁体、CNを簡体とする方法
Androidで繁体と簡体の識別は、Locale#getCountryによっておこなうことができます。地域が中国の場合は簡体 zh-Hans とし、台湾の場合は繁体 zh-Hant とすることで言語を分けることができます。
String language = Locale.getDefault().getLanguage(); if (language.equals(“zh”)) { String country = Locale.getDefault().getCountry(); if (country.equals(“CN”)) { language += “-Hans”; } else if (country.equals(“TW”)) { language += “-Hant”; } } GrowthPush.getInstance().setTag(“Language”, language);
繁体と簡体を区別するもうひとつの方法は、地域コードを別に送信することです。地域コードは、Locale#getCountyメソッドによって取得できます。
GrowthPush.getInstance().setTag(“Country”, Locale.getDefault().getCountry());
ここで送信したCountryタグと、Languageタグを組み合わせてセグメントを作成することで、言語を振り分けてプッシュ通知を送信することができます。
- 繁体: 「Languageタグがzh」かつ「CountryタグがTW」
- 簡体: 「Languageタグがzh」かつ「CountryタグがCN」