안드로이드는 AndroidMenifest.xml
에서 수정해야한다.
이때, 국제화를 위해 android:label
에 하드코딩이 아닌 값을 넣어보자.
먼저 아까 AnroidMenifest.xml 파일과 같은 레벨에 있는 res(리소스) 폴더에 values 폴더에 strings.xml
파일을 생성한다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test App</string>
</resources>
그럼 상단에 Open editor
버튼이 보이는데 이를 클릭하면
다음과 같이 뜨는데 여기서 왼쪽 상단에 Add Locale
버튼을 누르고 ko
를 입력하여 한국을 등록해준다.
그럼과 다음과 같이 values-ko
폴더가 생기는 것을 알 수 있다.
이렇게 하면 AndroidManifest 에서는 해당 string 파일을 key 값으로 참조한다.
iOS 에서는 xCode 에서 workspace 를 통하여 해당 프로젝트에 들어오고 여기서 PROJECT/Runner
에서 Localizations
를 보면,
아래와 같이 +
버튼을 눌러서 앱 이름 국제화를 진행할 수 있다.
추가했다면 왼쪽에 Group 을 생성후 string 파일을 생성해주면 되는데
2가지 확장자가 존재한다. 차이점은 다음과 같다. 우리는 호환성을 위해 기존의 Strings File 을 추가해주자. 이때, 이름은 InfoPlist
로 생성한다.
그리고 왼쪽에 English, Korean 둘다 체크를 하면 왼쪽에 InfoPlist.strings 파일이 생성되는데 여기에 각각 해당 언어에 대해 앱 이름을 넣어주면 된다.
"CFBundleDisplayName" = "테수투 앱";
자, 그럼 이제 flutter 에서 기본적으로 생성한 bundle display name 이 존재하는데 이를 삭제해주면 이제 flutter 가 아닌 native 에서 앱 이름을 국제화로 관리할 수 있게 된다.