반응형
1. 폴더 생성
프로젝트의 res폴더 안에 values라는 폴더가 있습니다.
그 폴더를 복사 붙여넣기 해서 폴더명을 수정해도 되고 res에서 폴더를 추가해도 됩니다.
values-ko (한국어)
values-en (영어)
values-es (스페인어)
values-ja (일본어)
values-zh (중국어)
이렇게 폴더명만 입력하면 원하는 국가의 strings.xml 파일이 생성됩니다.
모두 생성했으면 xml에 리소스를 넣으면 됩니다.
3개의 언어만 예를 들어서 사용해보겠습니다.
strings.xml (뒤에 괄호가 없는 파일이 기본값이 됩니다.)
<resources>
<string name="hello">안녕</string>
</resources>
strings.xml (en)
<resources>
<string name="hello">Hello</string>
</resources>
strings.xml (es)
<resources>
<string name="hello">Hola hola</string>
</resources>
2. 사용법
xml 파일 예시
android:text="@string/hello"
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:text="@string/hello"/>
</FrameLayout>
java 코드 예시
String hello = getString(R.string.hello);
이렇게하면 여러 국가의 언어를 하나의 변수로 통합하여 사용할 수 있습니다.
스마트폰의 언어를 해당 국가로 변경하고 어플을 실행해보면 결과를 확인 할 수 있습니다.
참고 사항으로 aab(Android App Bundle)로 빌드를 하게 될 경우 aab의 경우 용량을 최소화 시키기 위해 최소한의 필요한 리소스 파일만 가져갈 수 있도록 하기 때문에 사용자가 스마트폰의 언어를 변경해도 원하는 언어로 적용이 되지 않습니다. 만약 사용자가 여러개의 언어를 사용하게끔 해야하는 어플이라면 apk로 빌드하시는것을 추천드립니다.
반응형
'안드로이드 > 코드' 카테고리의 다른 글
[안드로이드] 깜빡이는 텍스트 애니메이션 만들기(AlphaAnimation) (0) | 2019.11.16 |
---|---|
[안드로이드] TextView, EditText 폰트 변경 하기(font-family, fontStyle) (0) | 2019.11.15 |
[안드로이드] 프래그먼트 액션바 메뉴 만들기 (Fragment ActionBar Menu) (0) | 2019.11.13 |
[안드로이드] 키보드 내리기, 올리기(InputMethodManager) (0) | 2019.11.12 |
[안드로이드] 다이얼로그 띄우기 - AlertDialog (0) | 2019.11.11 |