안드로이드 다국어 지원 방법

안드로이드 다국어 지원 대표이미지
안드로이드 다국어 지원 대표이미지

 

안드로이드 어플을 사용하다 보면 설정에서 언어를 변경하였을 때 어플의 언어 또한 내가 변경한 언어로 알아서 바뀌는 것을 볼 수 있습니다. 이번 포스팅에서는 애플리케이션에서 다양한 언어를 지원할 수 있도록 하는 방법을 알아보겠습니다.

 

 

 

| 레이아웃 구성

단순히 다국어가 지원이 되는지 확인해보기 위한 것이므로 별다른 기능이 필요하지 않습니다. 아래의 코드와 같이 RelativeLayout에 TextView하나를 넣도록 하겠습니다. 여기서 Layout이나 View와 같은 것들은 추후에 하는 포스팅에서 설명할 예정입니다. 일단은 아래와 같이 코드를 입력하고 넘어가겠습니다.

 

[그림 1] 안드로이드 레이아웃 구성

 

 

왼쪽의 네모 상자에서 res -> layout -> acitivty_main.xml 순으로 이동하여 activity_main.xml에 입력해주도록 하겠습니다. 

 

현재 AndroidManifest.xml 파일에 앱을 실행하자마자 뜨는 화면이 activity_main.xml로 지정되어 있기 때문에 앱 실행 시 activity_main.xml 파일의 화면이 배치됩니다.

 

위와 같이 코드를 입력했을 때 text 부분에 빨간색으로 오류가 뜨는 것을 확인할 수 있습니다. 간단하게 text 속성은 TextView에 띄워줄 글자를 의미합니다. 그리고 그 속성의 값으로 @string/hello_world라고 넣어주었습니다. text라는 속성은 단순히 띄워줄 글자를 의미한다고 했는데 오류가 뜨는 것이 의아할 수 있습니다.

 

여기서 @의 의미를 알아야 합니다. @가 들어가 있는 것을 레퍼런스라고 합니다. 즉 다른 리소스를 참조한다는 것입니다. 위 코드에서는 @string/hello_world라고 되어있는데 이것은 string 리소스를 참조한다는 것입니다. 아래 사진을 보겠습니다.

 

 

 

[그림 2] strings.xml 구성

 

 

res -> values -> strings.xml에 보면 기존에 name이 app_name인 리소스만 있을 것입니다. 그 아래에 추가적으로 name이 hello_world인 리소스도 추가해주도록 하겠습니다. 그리고 다시 activity_main.xml로 돌아가 보면 오류가 사라졌을 것입니다. 즉 @string/hello_world의 의미는 string 리소스의 name이 hello_world인 것을 의미합니다. 따라서 text 속성에 들어가는 문장은 HELLO WORLD가 됩니다.

 

 

 

| 버튼 설명

실행하기에 앞서 간단하게 몇 가지 버튼을 설명하겠습니다. 설명이 필요 없다 하는 분들은 넘어가셔도 괜찮습니다.

 

[그림 3] 버튼 설명

 

 

위의 빨간색 동그라미에 쓰인 숫자 순서대로 설명하겠습니다.

 

1. 애뮬레이터를 사용할 때 어떤 스마트 폰 기종으로 앱을 실행시킬지 선택할 수 있습니다. 실제 스마트 폰을 연결하면 이 부분에 뜹니다.

2. 구성한 코드를 실행시키는 버튼입니다.

3. 장치를 추가, 수정, 삭제할 수 있는 버튼입니다. 이 버튼 클릭 시 위의 Your Virtual Devices라는 창이 뜹니다.

4. 에뮬레이터에서 사용할 장치를 추가하는 버튼입니다. 

 

기존에 Device란에 Nexus 5X 장치가 있어서 따로 추가하지 않고, 그것을 사용했습니다. 

 

 

 

| 코드 실행 결과

위에서 구성한 코드를 실행한 결과입니다.

 

 

[그림 4] 코드 결과

 

 

프로젝트 이름인 FirstApplication이 툴바에 뜨고, 앞에서 TextView의 text 속성을 사용해서 넣은 문장인 HELLO WORLD가 뜨는 것을 볼 수 있습니다. 그럼 이제 위에서 영어로 뜨는 부분을 한글로 변경해보도록 하겠습니다.

 

 

 

| 다국어 지원 방법

안드로이드에서는 다양한 언어들을 지원해줍니다. 그중 대표적으로 위에서 만든 애플리케이션이 한국어를 추가적으로 지원하도록 해보겠습니다. 

 

[그림 5] resource file 추가

 

 

언어를 추가하기 위해서 resource file을 생성하겠습니다. values에 마우스를 가져다 놓고 우클릭 -> new -> Values resource file을 선택하겠습니다.

 

 

 

[그림 6] 한국어 추가

 

 

1. 추가할 resource 파일의 이름을 기존의 strings와 같게 하겠습니다. 위의 파일이 추가되면 strings 폴더 안에 strings.xml 파일 두 개가 들어가게 됩니다.

2. Locale이라는 것은 언어를 의미합니다. 

3. 화살표를 눌러 다음 단계로 넘어가겠습니다.

4. Language는 Korean으로 선택하겠습니다.

5. 지금 만드는 리소스 파일은 언어를 한국어 중 대한민국으로 선택했을 때 사용할 파일이기 때문에 South Korea로 하겠습니다.

6. OK를 눌러서 완료하겠습니다.

 

 

 

[그림 7] 리소스 추가

 

 

언어를 추가하면 1번 빨간색 네모 상자처럼 strings 폴더 밑에 strings.xml 파일 두 개를 확인할 수 있습니다. 그리고 그중 하나는 글자 왼쪽에 태극기 이미지가 들어가 있습니다.

 

기존의 strings.xml 파일에서 resources 부분을 복사해 새로 만든 strings.xml파일에 추가하겠습니다. 그리고 리소스의 이름은 같게 한 뒤 안의 내용만 영어 대신 한국어로 바꿔주도록 하겠습니다. 

 

여기서 간단하게 작동 방식을 설명하자면 @는 참조를 하는 것이라고 앞에서 설명했습니다. 따라서 사용하는 언어에 따라 다른 리소스를 참조하는 것입니다.

 

 

 

| 실행 및 언어 변경

이제 실행 후 언어를 한국어로 변경하여 제대로 작동하는지 확인해보겠습니다.

 

[그림 8] 언어 변경1

 

 

기본 값으로 설정된 언어가 영어이기 때문에 한국어를 추가해주어야 합니다. Settings -> System -> Languages & input을 차례로 클릭하겠습니다. System은 스크롤을 제일 아래로 내리면 있습니다.

 

 

 

[그림 9] 언어 변경2

 

 

Languages -> Add a language -> 한국어 순서대로 클릭하겠습니다. 한국어는 스크롤을 가장 아래로 내리면 있습니다.

 

 

 

[그림 10] 언어 변경3

 

 

한국어 중에서 대한민국을 클릭하면 영어 밑에 한국어가 추가된 것을 확인할 수 있을 것입니다. 두 개의 순서를 바꿔주도록 하겠습니다. 그 후 기존에 만들어두었던 FirstApplication을 실행하면 app_name이었던 FirstApplication이 첫 번째 애플리케이션으로 HELLO WORLD가 헬로 월드로 바뀌어 있는 것을 볼 수 있습니다.

 

 

여기까지 안드로이드에서 다국어 지원하는 방법에 대해 알아보았습니다.

 


* SK 플래닛의 안드로이드 강의를 참고해서 작성하는 포스팅입니다. 공부를 하면서 기록하는 내용이다 보니 틀린 내용이 있을 수도 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사드리겠습니다. *


 

이 글을 공유하기

댓글

Designed by JB FACTORY