Android 터미널의 각 언어 설정에서 읽은 언어 파일을 변경하는 방법
어플리케이션을 만들 때 기본적으로 다들 일본에 살고 있어서 일본어로만 만들었어요.
하지만 글로벌화가 확대되는 현대, 해외에서도 쉽게 앱을 설치할 수 있는 오늘날
응용 프로그램이 여러 언어에 대응하고 싶은 사람도 있을 것 같습니다.
실제로 해외에 진출한 일본의 스마트폰 게임은 최근 늘었다는 인상을 준다
유료로 유명한 Fate/Grand Order도 중국과 유럽과 미국 각국에 메시지를 보내고 있다.
이번에는 안드로이드에서 현지화를 처리하는 방법을 설명해 드리겠습니다.
환경
이번에는 환경에 특별한 문제가 없어 샘플을 제작했다.
・AndroidStudio3.0
・Kotlin
단계
AndroidStudio에서 만든 새 프로젝트를 샘플로 사용합니다.
MainActivity.ktpackage test.test.globallanguage
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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"
tools:context="test.test.globallanguage.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
시작 후 TextView에서 설정한 "Hello World!"대화상자, 사용자 정의 형식을 정의할 수 있습니다.
이거 "Hello World!"현지화 부분을 시도해 보세요.
1단계
우선 TextView에 직접 쓰여진'Hello World!'strings.xml에서 정의하고 호출할 수 있도록 변경합니다.
app/src/main/res/values/strings.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Hello World!</string>
</resources>
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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"
tools:context="test.test.globallanguage.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
이렇게, Strings.xml에 정의된 "hello_world"가 표시됩니다.
「Hello World!」섹션을 다시 작성하여 표시되는 내용을 변경할 수 있습니다.
2단계
이렇게 되면 app/src/main/res/values/strings.xml
에 정의된 것만
여기서부터 여러 언어에 대응한다.
기본값은 영어입니다. 이외에 일본어, 중국어, 프랑스어를 사용해 보세요.
마땅히 해야 할 일은 두 가지다.
1 언어별 폴더 준비
app/src/main/res
의 차원 구조에서 "values-0◯"라는 폴더를 만듭니다.
◯◯의 일부분은 각 지역에서 결정한 ISO639-1 코드를 넣어야 한다.
ISO639-1 코드는 여기 에 기재되어 있습니다.
이번에는 일본어, 중국어, 프랑스어에 대응하고 싶어서 아래와 같습니다.
2 언어별 폴더를 넣은 String.xml 준비
위의 저장소 대상 폴더를 만들었기 때문에 String.xml을 저장합니다.
여기에는 특별한 약속이 없고 단순히 같은 이름의 파일을 설정할 뿐이다.
구성 후 AndroidStudio 측면에서 위의 파일을 보면
아래와 같이 각 국기의 표지이기 때문에 시각적으로 이해하기 쉽다.
반대로 국기를 표시하는 아이콘이 없으면 폴더 이름과 파일 이름이 잘못됩니다.
3 각 String.xml의 Hello World!언어로 바꾸기
마지막으로 각 폴더에 String이 저장됩니다.xml 단어를 각자의 언어로 바꿉니다.
이번에 구글 번역 선생님한테 "Hello World!"에서 설명한 대로 해당 매개변수의 값을 수정합니다.
app/src/main/res/values-ja/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">こんにちは世界!</string>
</resources>
app/src/main/res/values-zh/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">你好,世界!</string>
</resources>
app/src/main/res/values-fr/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Bonjour le monde!</string>
</resources>
이게 완성이야.
터미널의 언어 설정에 따라 읽힌 언어 파일이 전환되었습니다.
아래와 같이 일본어, 중국어, 프랑스어의 언어는 그 외에 영어로 표시됩니다.
마지막
어때요?
이렇게 간단하게 전환할 수 있기 때문에 앞으로 안드로이드에서 앱을 만들 때
꼭 현지화에 도전하세요!!
번역은 비록 매우 힘들지만, 나는 그 가치가 있다고 생각한다.
Reference
이 문제에 관하여(Android 터미널의 각 언어 설정에서 읽은 언어 파일을 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/teco_sano/items/d18d7bf58907dac40dae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AndroidStudio에서 만든 새 프로젝트를 샘플로 사용합니다.
MainActivity.kt
package test.test.globallanguage
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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"
tools:context="test.test.globallanguage.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
시작 후 TextView에서 설정한 "Hello World!"대화상자, 사용자 정의 형식을 정의할 수 있습니다.이거 "Hello World!"현지화 부분을 시도해 보세요.
1단계
우선 TextView에 직접 쓰여진'Hello World!'strings.xml에서 정의하고 호출할 수 있도록 변경합니다.
app/src/main/res/values/strings.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Hello World!</string>
</resources>
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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"
tools:context="test.test.globallanguage.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
이렇게, Strings.xml에 정의된 "hello_world"가 표시됩니다.
「Hello World!」섹션을 다시 작성하여 표시되는 내용을 변경할 수 있습니다.
2단계
이렇게 되면 app/src/main/res/values/strings.xml
에 정의된 것만
여기서부터 여러 언어에 대응한다.
기본값은 영어입니다. 이외에 일본어, 중국어, 프랑스어를 사용해 보세요.
마땅히 해야 할 일은 두 가지다.
1 언어별 폴더 준비
app/src/main/res
의 차원 구조에서 "values-0◯"라는 폴더를 만듭니다.
◯◯의 일부분은 각 지역에서 결정한 ISO639-1 코드를 넣어야 한다.
ISO639-1 코드는 여기 에 기재되어 있습니다.
이번에는 일본어, 중국어, 프랑스어에 대응하고 싶어서 아래와 같습니다.
2 언어별 폴더를 넣은 String.xml 준비
위의 저장소 대상 폴더를 만들었기 때문에 String.xml을 저장합니다.
여기에는 특별한 약속이 없고 단순히 같은 이름의 파일을 설정할 뿐이다.
구성 후 AndroidStudio 측면에서 위의 파일을 보면
아래와 같이 각 국기의 표지이기 때문에 시각적으로 이해하기 쉽다.
반대로 국기를 표시하는 아이콘이 없으면 폴더 이름과 파일 이름이 잘못됩니다.
3 각 String.xml의 Hello World!언어로 바꾸기
마지막으로 각 폴더에 String이 저장됩니다.xml 단어를 각자의 언어로 바꿉니다.
이번에 구글 번역 선생님한테 "Hello World!"에서 설명한 대로 해당 매개변수의 값을 수정합니다.
app/src/main/res/values-ja/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">こんにちは世界!</string>
</resources>
app/src/main/res/values-zh/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">你好,世界!</string>
</resources>
app/src/main/res/values-fr/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Bonjour le monde!</string>
</resources>
이게 완성이야.
터미널의 언어 설정에 따라 읽힌 언어 파일이 전환되었습니다.
아래와 같이 일본어, 중국어, 프랑스어의 언어는 그 외에 영어로 표시됩니다.
마지막
어때요?
이렇게 간단하게 전환할 수 있기 때문에 앞으로 안드로이드에서 앱을 만들 때
꼭 현지화에 도전하세요!!
번역은 비록 매우 힘들지만, 나는 그 가치가 있다고 생각한다.
Reference
이 문제에 관하여(Android 터미널의 각 언어 설정에서 읽은 언어 파일을 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/teco_sano/items/d18d7bf58907dac40dae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Hello World!</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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"
tools:context="test.test.globallanguage.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
이렇게 되면
app/src/main/res/values/strings.xml
에 정의된 것만여기서부터 여러 언어에 대응한다.
기본값은 영어입니다. 이외에 일본어, 중국어, 프랑스어를 사용해 보세요.
마땅히 해야 할 일은 두 가지다.
1 언어별 폴더 준비
app/src/main/res
의 차원 구조에서 "values-0◯"라는 폴더를 만듭니다.◯◯의 일부분은 각 지역에서 결정한 ISO639-1 코드를 넣어야 한다.
ISO639-1 코드는 여기 에 기재되어 있습니다.
이번에는 일본어, 중국어, 프랑스어에 대응하고 싶어서 아래와 같습니다.
2 언어별 폴더를 넣은 String.xml 준비
위의 저장소 대상 폴더를 만들었기 때문에 String.xml을 저장합니다.
여기에는 특별한 약속이 없고 단순히 같은 이름의 파일을 설정할 뿐이다.
구성 후 AndroidStudio 측면에서 위의 파일을 보면
아래와 같이 각 국기의 표지이기 때문에 시각적으로 이해하기 쉽다.
반대로 국기를 표시하는 아이콘이 없으면 폴더 이름과 파일 이름이 잘못됩니다.
3 각 String.xml의 Hello World!언어로 바꾸기
마지막으로 각 폴더에 String이 저장됩니다.xml 단어를 각자의 언어로 바꿉니다.
이번에 구글 번역 선생님한테 "Hello World!"에서 설명한 대로 해당 매개변수의 값을 수정합니다.
app/src/main/res/values-ja/string.xml
<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">こんにちは世界!</string>
</resources>
app/src/main/res/values-zh/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">你好,世界!</string>
</resources>
app/src/main/res/values-fr/string.xml<resources>
<string name="app_name">GlobalLanguage</string>
<string name="hello_world">Bonjour le monde!</string>
</resources>
이게 완성이야.터미널의 언어 설정에 따라 읽힌 언어 파일이 전환되었습니다.
아래와 같이 일본어, 중국어, 프랑스어의 언어는 그 외에 영어로 표시됩니다.
마지막
어때요?
이렇게 간단하게 전환할 수 있기 때문에 앞으로 안드로이드에서 앱을 만들 때
꼭 현지화에 도전하세요!!
번역은 비록 매우 힘들지만, 나는 그 가치가 있다고 생각한다.
Reference
이 문제에 관하여(Android 터미널의 각 언어 설정에서 읽은 언어 파일을 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/teco_sano/items/d18d7bf58907dac40dae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Android 터미널의 각 언어 설정에서 읽은 언어 파일을 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/teco_sano/items/d18d7bf58907dac40dae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)