안드로이드 개발자의 창고
[51일차 Android] Localization(지역화) 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 Localization(지역화)
- 하나의 애플리케이션으로 다양한 언어 및 국가를 지원하기 위한 개념
- 안드로이드는 res 폴더에 있는 리소스 폴더에 국가 코드를 추가하여 지역화를 할 수 있다.
-
res 폴더 내의 폴더에 수식을 설정해주면 수식어와 일치하는 단말기에 대해 이미지, 문자열 등을 선택해서 사용할 수 있도록 제공할 수 있다.
예제 코드
Localization Flie
- 파일 생성 시 Locale을 추가하여 나라를 설정한다.
- Localization을 할 파일 이름을 동일하게 하는 것이 중요하다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str1"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/flag1" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/ic_launcher" />
</LinearLayout>
MainActivity.kt
class MainActivity : AppCompatActivity() {
lateinit var activityMainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(activityMainBinding.root)
activityMainBinding.run {
textView2.setText(R.string.str1)
imageView2.setImageResource(R.drawable.flag1)
}
}
}
결과
한국어로 언어 설정 시 | 영어로 언어 설정 시 |
![]() |
![]() |
'Computer > Android' 카테고리의 다른 글
[51일차 Android] Screen Rotation(화면 회전 대응) (0) | 2023.07.19 |
---|---|
[51일차 Android] Density(해상도 대응) (0) | 2023.07.19 |
[51일차 Android] 9Patch Image (0) | 2023.07.18 |
[50일차 Android] Image Resource / Image Animation (0) | 2023.07.18 |
[50일차 Android] Basic Resource (0) | 2023.07.17 |