Android Study

안드로이드 string.xml 기본 사용법 및 다국어 적용방법

85chong 2019. 4. 25. 15:26
728x90
반응형
SMALL

안드로이드의 문구 작업 등을 할때(다국어 작업시 사용함)  string.xml 을 이용하여 해당의 키값을 Java 단에서 지정하면 해당 키값에 문구를 가져와서 보여주는 방식이다. 실 사용은 아래와 같이 한다.

 

Ex) tv_a 라는 viewId 에 "Give me the Money" 를 넣고 싶다. 라고 가정할때

 

1. 먼저 프로젝트 안에  src > main > res > values > strings.xml 파일안에  키값을 설정해준다.(없으면 똑같은 폴더명과 파일명으로 생성해준다)

<string name="str_key_a">"Give me the Money"</string>

위와같이 키값을 하나 만들어준다.

 

2. 작업할 클래스에 기본 세팅을 해준다.

TextView tv_a = (TextView)findViewById(R.id.tv_a);

 

3. 위에서 만든 키값을 적용시킨다.

tv_a.setText(getResources().getString(R.string.str_key_a));

 

그럼 tv_a 지정했던 TextView 에 "Give me the Money" 가 보여지게 된다.

 

위의 작업을 다국어에 적용 시켜서 한다고 하면, 위의 키값 적용을 그대로 사용한다.

tv_a.setText(getResources().getString(R.string.str_key_a)); 이렇게 적용시켜놓고,

다국어 파일만 만들면 적용된 국가에 맞게 반자동적으로 적용이 되게 된다.

 

* 앱의 다국어 적용은, 앱 안에 언어 설정하는 함수를 이용해서 언어를 설정 해 준다.

 

Ex) 위의 언어는 영어로 되어있는데, 위와 같은 문구를 한국어로 번역되서 보여주게 하고싶다 라고 가정 할 때

 

1. 먼저 src > main > res > values-ko 안에 위와 똑같은 키값으로 한국어 폴더를 생성해준다.(폴더옆에 해당국가와 맞는 코드가 있다. 보통 구글링으로 찾는다)그리고 파일을 생성해준다.

<string name="str_key_a">"돈 내놔"</string>

그리고 나머지는 위의 작업내용 그대로 냅두면된다.

이렇게하면 준비는 끝. 이제 사용할 방법을 적겠다. 

 

한국어로 보여주고 영어로 보여주게 하기 위해서는 앱 안의 언어설정을 변경해주는 함수를 넣어야 한다.

 

String language_code = "ko";//한국어로 보여주게하기

String language_code = "en";//영어로 보여주게 하기

 

Locale mLocale = new Locale(language_code);

Configuration config = new Configuration();
config.locale = mLocale;
mContext.getResources().updateConfiguration(config, null);

 

위의 코드를 넣으면 해당 코드에 맞게 언어가 변화되어 보여지게 된다. 이게 다국어 기본 원리이다.

 

string.xml 과 유동적인 값을 적용시키는 방법은 다른페이지에 정리하겠음

 

-끝-