개발을 하다 보면, Android, ios 상관없이 다국어화를 해야 하는 경우가 발생하곤 합니다.
한국에서 중국어나 일본어로 된 앱을 잘 사용하지 않듯이, 본인의 모국어에 맞추어 화면에 텍스트를 보여줄 필요가 있습니다.
이번 시간에는 다양한 국가에서 앱을 사용하기 편하도록 설정하는 다국어 설정을 해보겠습니다.

우선 위 사진을 살펴보면, values와 values-ko 두 가지가 있습니다.
values의 경우 우리가 처음 안드로이드 프로젝트를 실행하면 자동으로 생성되는 폴더로, 어떠한 나라에서든지 Default로 사용되는 폴더입니다.
그 아래를 보면 values-ko라는 폴더가 보이는데, 이는 한국어로 설정한 기기에서 앱을 실행했을 때 사용될 폴더입니다.
이처럼 특정 국가의 언어를 지정하고 싶으면, 국가 코드를 사용하여 'values-xx'와 같이 폴더를 생성하면 됩니다.
그리고 새롭게 생성한 values-xx 폴더에 strings.xml을 생성하고 언어에 맞추어 번역을 진행해주기만 하면 끝입니다!
아래에는 국가별 코드를 정리해놓은 테이블입니다.
| Sorted by Language |
Sorted by Language Code | |||
| Abkhazian | AB | AA | Afar | |
| Afar | AA | AB | Abkhazian | |
| Afrikaans | AF | AF | Afrikaans | |
| Albanian | SQ | AM | Amharic | |
| Amharic | AM | AR | Arabic | |
| Arabic | AR | AS | Assamese | |
| Armenian | HY | AY | Aymara | |
| Assamese | AS | AZ | Azerbaijani | |
| Aymara | AY | BA | Bashkir | |
| Azerbaijani | AZ | BE | Byelorussian | |
| Bashkir | BA | BG | Bulgarian | |
| Basque | EU | BH | Bihari | |
| Bengali, Bangla | BN | BI | Bislama | |
| Bhutani | DZ | BN | Bengali, Bangla | |
| Bihari | BH | BO | Tibetan | |
| Bislama | BI | BR | Breton | |
| Breton | BR | CA | Catalan | |
| Bulgarian | BG | CO | Corsican | |
| Burmese | MY | CS | Czech | |
| Byelorussian | BE | CY | Welsh | |
| Cambodian | KM | DA | Danish | |
| Catalan | CA | DE | German | |
| Chinese | ZH | DZ | Bhutani | |
| Corsican | CO | EL | Greek | |
| Croatian | HR | EN | English, American | |
| Czech | CS | EO | Esperanto | |
| Danish | DA | ES | Spanish | |
| Dutch | NL | ET | Estonian | |
| English, American | EN | EU | Basque | |
| Esperanto | EO | FA | Persian | |
| Estonian | ET | FI | Finnish | |
| Faeroese | FO | FJ | Fiji | |
| Fiji | FJ | FO | Faeroese | |
| Finnish | FI | FR | French | |
| French | FR | FY | Frisian | |
| Frisian | FY | GA | Irish | |
| Gaelic (Scots Gaelic) | GD | GD | Gaelic ("Scots Gaelic") | |
| Galician | GL | GL | Galician | |
| Georgian | KA | GN | Guarani | |
| German | DE | GU | Gujarati | |
| Greek | EL | HA | Hausa | |
| Greenlandic | KL | HI | Hindi | |
| Guarani | GN | HR | Croatian | |
| Gujarati | GU | HU | Hungarian | |
| Hausa | HA | HY | Armenian | |
| Hebrew | IW | IA | Interlingua | |
| Hindi | HI | IE | Interlingue | |
| Hungarian | HU | IK | Inupiak | |
| Icelandic | IS | IN | Indonesian | |
| Indonesian | IN | IS | Icelandic | |
| Interlingua | IA | IT | Italian | |
| Interlingue | IE | IW | Hebrew | |
| Inupiak | IK | JA | Japanese | |
| Irish | GA | JI | Yiddish | |
| Italian | IT | JW | Javanese | |
| Japanese | JA | KA | Georgian | |
| Javanese | JW | KK | Kazakh | |
| Kannada | KN | KL | Greenlandic | |
| Kashmiri | KS | KM | Cambodian | |
| Kazakh | KK | KN | Kannada | |
| Kinyarwanda | RW | KO | Korean | |
| Kirghiz | KY | KS | Kashmiri | |
| Kirundi | RN | KU | Kurdish | |
| Korean | KO | KY | Kirghiz | |
| Kurdish | KU | LA | Latin | |
| Laothian | LO | LN | Lingala | |
| Latin | LA | LO | Laothian | |
| Latvian, Lettish | LV | LT | Lithuanian | |
| Lingala | LN | LV | Latvian, Lettish | |
| Lithuanian | LT | MG | Malagasy | |
| Macedonian | MK | MI | Maori | |
| Malagasy | MG | MK | Macedonian | |
| Malay | MS | ML | Malayalam | |
| Malayalam | ML | MN | Mongolian | |
| Maltese | MT | MO | Moldavian | |
| Maori | MI | MR | Marathi | |
| Marathi | MR | MS | Malay | |
| Moldavian | MO | MT | Maltese | |
| Mongolian | MN | MY | Burmese | |
| Nauru | NA | NA | Nauru | |
| Nepali | NE | NE | Nepali | |
| Norwegian | NO | NL | Dutch | |
| Occitan | OC | NO | Norwegian | |
| Oriya | OR | OC | Occitan | |
| Oromo, Afan | OM | OM | Oromo, Afan | |
| Pashto, Pushto | PS | OR | Oriya | |
| Persian | FA | PA | Punjabi | |
| Polish | PL | PL | Polish | |
| Portuguese | PT | PS | Pashto, Pushto | |
| Punjabi | PA | PT | Portuguese | |
| Quechua | QU | QU | Quechua | |
| Rhaeto-Romance | RM | RM | Rhaeto-Romance | |
| Romanian | RO | RN | Kirundi | |
| Russian | RU | RO | Romanian | |
| Samoan | SM | RU | Russian | |
| Sangro | SG | RW | Kinyarwanda | |
| Sanskrit | SA | SA | Sanskrit | |
| Serbian | SR | SD | Sindhi | |
| Serbo-Croatian | SH | SG | Sangro | |
| Sesotho | ST | SH | Serbo-Croatian | |
| Setswana | TN | SI | Singhalese | |
| Shona | SN | SK | Slovak | |
| Sindhi | SD | SL | Slovenian | |
| Singhalese | SI | SM | Samoan | |
| Siswati | SS | SN | Shona | |
| Slovak | SK | SO | Somali | |
| Slovenian | SL | SQ | Albanian | |
| Somali | SO | SR | Serbian | |
| Spanish | ES | SS | Siswati | |
| Sudanese | SU | ST | Sesotho | |
| Swahili | SW | SU | Sudanese | |
| Swedish | SV | SV | Swedish | |
| Tagalog | TL | SW | Swahili | |
| Tajik | TG | TA | Tamil | |
| Tamil | TA | TE | Tegulu | |
| Tatar | TT | TG | Tajik | |
| Tegulu | TE | TH | Thai | |
| Thai | TH | TI | Tigrinya | |
| Tibetan | BO | TK | Turkmen | |
| Tigrinya | TI | TL | Tagalog | |
| Tonga | TO | TN | Setswana | |
| Tsonga | TS | TO | Tonga | |
| Turkish | TR | TR | Turkish | |
| Turkmen | TK | TS | Tsonga | |
| Twi | TW | TT | Tatar | |
| Ukrainian | UK | TW | Twi | |
| Urdu | UR | UK | Ukrainian | |
| Uzbek | UZ | UR | Urdu | |
| Vietnamese | VI | UZ | Uzbek | |
| Volapuk | VO | VI | Vietnamese | |
| Welsh | CY | VO | Volapuk | |
| Wolof | WO | WO | Wolof | |
| Xhosa | XH | XH | Xhosa | |
| Yiddish | JI | YO | Yoruba | |
| Yoruba | YO | ZH | Chinese | |
| Zulu | ZU | ZU | Zulu |
일반적으로 많이들 default로 사용되는 values에는 세계 공통어인 영어를 사용하고, 국가별 폴더에는 각 나라의 언어로 번역하여 사용하는 듯합니다.


위 스크린샷은 영어와 한국어로 나누어 번역했을 때 보이는 화면입니다.
큰 어려움없이 누구나 따라 하실 수 있습니다!
🎄 즐거운 연말 되시기 바랍니다! 🎄
내용에 오류가 있거나, 질문이 있으신 분들은 댓글을 남겨주시면 감사하겠습니다! 😊