文字列ファイルを適切な値のフォルダに保存して言語を変更することもできます。アンドロイドアプリケーション全体で言語を変更
どのように私は、Webサービスから取得していたデータを変換することができますか?これを実現するライブラリがありますか?
文字列ファイルを適切な値のフォルダに保存して言語を変更することもできます。アンドロイドアプリケーション全体で言語を変更
どのように私は、Webサービスから取得していたデータを変換することができますか?これを実現するライブラリがありますか?
あなたがアンドロイドを使用して、Webサービスによって返されたデータを変換することはできませんが、後述するように残りのためのアプリを言語を変更することができます。
するTry再作成活動changeLocale
メソッドを呼び出した後。 Configuration.locale =ロケールがAPI> = 21以下のコードを使用することができますで廃止されたよう
changeLocale("ar");
private void changeLocale(String lang) {
updateConfiguration(activity, lang); //lang = "en" OR "ar" etc
activity.recreate();
}
public static void updateConfiguration(Activity activity, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration configuration = new Configuration();
configuration.locale = locale;
Resources resources = activity.getBaseContext().getResources();
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
}
これはウェブサービスから受け取った言語を変更しません?私は正しい? –
Webサービスからのデータを意味しますか?オフコース、Webサービスから返されるデータはサーバーによって翻訳される必要があります。 – Pehlaj
これをどのようにしてアンドロイドエンドから達成できますか? –
ウェブサービス応答翻訳のためには、i18Next
I18Next i18next = I18Next.getInstance();
Loader loader = i18next.loader();
loader.load();
loader.lang(String lang);
を使用することができます。
public void setLocale(Context context,String lang){
Locale[] locales = Locale.getAvailableLocales();
// print locales
boolean is_supported=false;
//check if the intended locale is supported by device or not..
for (int i = 0; i < locales.length; i++) {
if(lang.equals(locales[i].toString()))
{
is_supported=true;
break;
}
Log.e("Languages",i+" :"+ locales[i]);
}
if(is_supported) {
Locale myLocale = new Locale(lang);
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
conf.setLocale(myLocale);
} else {
conf.locale = myLocale;
}
res.updateConfiguration(conf, dm);
}else{
//do something like set english as default
}
今呼び出すことによって、あなたのコード内でこの機能を使用します。
setLocale("hi");
あなたは()
再作成を呼び出すことによって、あなたのアクティビティ画面をリロードする必要があります。
あなたのアクティビティには、
Google translate apiを使用できますが、無料ではありません。 –
あなたのアプリからウェブサービスに何らかのフラグを渡して、あなたがあなたのアプリを使う言語を教えて、指定された言語のデータを返すようにしてください。 –