Android Support multiple languages and cultures

사용 버전: Android Studio 4.1
사용 언어: Kotlin 1.4.10

Support multiple languages and cultures를 해보겠습니다.


안드로이드 앱을 한글로 만들었습니다. 그러면 외국 사람들은 어떻게 사용할 수 있을까요?
안드로이드에서는 기본 시스템 언어에 따라 표현되는 언어를 변경됩니다.
그래서 코드에 텍스트를 직접 쓰는 것(Hardcoding)을 권장하지 않습니다.






위와 같은 앱이 있습니다.



영어로 표시되네요. 저는 한국 사용자인데 말이죠.

뭔가 사용하기 불편하다는 생각이 듭니다.




버튼이 있는 코드입니다.

text에 보면 형광펜을 칠한 것처럼 보입니다.





그 이유는 text가 hardcoding(직접 입력) 되었기 때문입니다.







자 이것을 유연하게 만들어봅시다.

텍스트에 마우스 커서를 위치시키고 Alt + Enter를 누릅니다.

Extract string resource를 누릅니다.







아래와 같은 창이 나옵니다.

OK를 누릅니다.






아래쪽도 똑같이 해주면, 다음과 같이 형광펜이 사라졌습니다.






철자 틀린 것도 알려주네요. Transition인데 trainsition으로 적었네요.





이제, 다시 실행해볼까요?







기대와 달리 똑같습니다.

그 이유는 한글을 추가하지 않았기 때문입니다.





res - values - strings.xml을 찾습니다.








아까 적었던 것이 보이는군요.







우측 상단에 보면, Open editor가 있습니다. 누릅니다.







이런 창이 나타납니다.







지구 더하기 아이콘을 누릅니다.







키보드를 입력하면 찾기 기능이 나옵니다.

한글이니까 korean을 찾습니다. 북한 용 한글이 있고, 대한민국 용 한글이 있네요. 그냥 상관없이 보여줄래 하면 첫 번째 Korean(ko)을 누르면 됩니다.








옆에 Korean(ko)가 추가되었습니다.

Default Value는 Korean(ko) 이외의 사용자에게 보이는 글자입니다.






번역이 필요 없는 것들은 체크박스를 체크해 주고, 번역이 필요한 것은 한글로 적어줍니다.








자! 이제 실행해봅시다.






짜자 잔!




휴대폰 기계의 언어를 변경해볼게요.









영어로 변경했습니다.





다시 켜볼까요?









영어로 나오는군요.




끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()