728x90
반응형
질문 : Android에서 프로그래밍 방식으로 앱 언어 변경
Android 리소스를 계속 사용하면서 프로그래밍 방식으로 앱의 언어를 변경할 수 있나요?
그렇지 않은 경우 특정 언어로 리소스를 요청할 수 있습니까?
사용자가 앱에서 앱의 언어를 변경할 수 있도록하고 싶습니다.
답변
있을 수있다. 로케일을 설정할 수 있습니다. 그러나 나는 그것을 권장하지 않습니다. 우리는 초기 단계에서 시도했습니다. 기본적으로 시스템과 싸우고 있습니다.
언어 변경에 대한 요구 사항은 동일하지만 UI가 전화 UI와 동일해야한다는 사실을 결정했습니다. 로케일 설정을 통해 작동했지만 너무 버그가 많았습니다. 그리고 내 경험에서 활동 (각 활동)에 들어갈 때마다 설정해야합니다. 이것이 여전히 필요한 경우 여기에 코드가 있습니다 (다시 말하지만 권장하지 않습니다)
Resources res = context.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.setLocale(new Locale(language_code.toLowerCase())); // API 17+ only.
// Use conf.locale = new Locale(...) if targeting lower versions
res.updateConfiguration(conf, dm);
언어 별 콘텐츠가있는 경우 설정에 따라 해당 기반을 변경할 수 있습니다.
2020 년 3 월 26 일 업데이트
public static void setLocale(Activity activity, String languageCode) {
Locale locale = new Locale(languageCode);
Locale.setDefault(locale);
Resources resources = activity.getResources();
Configuration config = resources.getConfiguration();
config.setLocale(locale);
resources.updateConfiguration(config, resources.getDisplayMetrics());
}
출처 : https://stackoverflow.com/questions/2900023/change-app-language-programmatically-in-android
728x90
반응형
'프로그래밍 언어 > Android' 카테고리의 다른 글
여러 장치가 연결된 경우 ADB Shell을 사용하는 방법 "error: more than one device and emulator" (0) | 2021.09.07 |
---|---|
Android Studio 업그레이드시 "Default Activity Not Found" 오류 (0) | 2021.09.07 |
[오류] React Native android build failed. SDK location not found (0) | 2021.09.03 |
Android 기본 : UI 스레드에서 코드 실행 (0) | 2021.09.03 |
Android Emulator에서 GPS 위치를 에뮬레이션하는 방법 (0) | 2021.09.03 |