Android에서 자동으로 처리합니다. 사용자가 응용 프로그램을 실행하면
는 :
안드로이드 시스템은 자원이 장치의 로케일을 기반으로로드 할 선택합니다.
예 :
응용 프로그램의 기본 언어가 영어라고 가정하자. 응용 프로그램의 모든 텍스트를 프랑스어로 지역화하려고한다고 가정합니다.
res/values/strings.xml
응용 프로그램이 사용하는 모든 문자열에 대한 영어 텍스트를 포함합니다 :이 경우, 두 개의 다른 strings.xml의 파일, 로케일 고유의 자원 디렉토리에 저장된 각을 만들 수 있습니다.
res/values-fr/strings.xml
모든 문자열에 대해 프랑스어 텍스트가 포함됩니다. 장치가 안드로이드에서 영어 제목를로드 프랑스어 이외의 언어로 설정되어있는 경우
: Java 코드가 에 R.string.title을 참조하는 경우
, 여기 런타임에 무슨 일이 일어날 지입니다 res/values / strings.xml 파일 장치가 프랑스어로 설정되어있는 경우
, 안드로이드는 고해상도/값-FR/strings.xml의 파일에서 프랑스어 제목로드됩니다.
라틴어로는 작동하지 않습니다. 대체 방법을 검색해야합니다. 자바 내 솔루션 :
public final class English {
String moon = "Moon";
String earth = "Earth";
String mars = "Mars";
}
public final class Latin {
String moon = "Luna";
String earth = "Terrae";
String mars = "Mars in Latin";
}
그런 다음 코드에서 당신이 그들을 aceess 수 있습니다 응답에 대한
TextView textView = (TextView) findViewById(R.id.my_text);
textView.setText(Latin.moon);
감사합니다! 내 라틴 문자열의 경우에는로드를 알 수 있습니다. 왜냐하면 가치가 - fr은 이미 안드로이드 프로그램에서 설정되었음을 알고 있기 때문에 – James
나는 내 대답을 편집했습니다. – vovahost