>

내 앱은6 개 언어를 지원합니다. 아래 기능을 사용하여 그들 사이를 전환합니다. 그들을 만들기 위해 안드로이드 번역기를 사용했습니다. 여러 장치에서 내 앱을 테스트하면 잘 작동하지만 play store 에 배포 할 때  (번들) 2 개만 작동(영어 및 그리스어)다른 언어 (러시아어, 이탈리아어, 프랑스, ​​독일어)는 작동하지 않습니다. 기기 언어를 특정 언어로 변경하더라도변경되지 않습니다. 어떤 아이디어?

--- 편집 ---

앱을 설치할 때 모든 문자열 파일이 포함되어 있지 않다는 것을 알았습니다. 언어를 지정하면 언어가 다운로드되어 표시됩니다. 앱이 앱 스토어에서 설치되어 모든 string.xml 를 가질 때 특정 문자열을 다운로드하거나 더 나은 방법으로 강제하는 방법  파일?

// My locales
tempLangLocale = new String[]{"default", "eng", "el","it","fr","de","ru"};
// Language Change functions
public void changelang(String lang) {
    myLocale = new Locale(lang);
    SharedPreferences prefs = getSharedPreferences("CommonPrefs", Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString("Language", lang);
    editor.commit();
    Locale.setDefault(myLocale);
    android.content.res.Configuration config = new android.content.res.Configuration();
    config.locale = myLocale;
    getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (myLocale != null) {
        newConfig.locale = myLocale;
        Locale.setDefault(myLocale);
        getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
    }
}


  • 답변 # 1

    그래서 나는 해결책을 찾았다. apk 대신 번들 앱을 만드는 경우. 분명히 번들 앱에는 모든 언어 파일이 포함되어 있지 않으며 장치 로캘에 따라 다운로드됩니다.

관련 자료

  • 이전 javascript - 반복되는 If 문을 개선하려면 어떻게해야합니까?
  • 다음 javascript - 각도를 사용하여 로그인 페이지에서 머리글과 바닥 글을 숨길 수 없음