안녕하세요. 이번 게시글에서는 앱 이름의 다국어 처리를 진행해볼 예정입니다.
우리가 앱을 사용할 때, 한국인이어도 스마트폰의 언어를 영어로 사용할 수도 있고, 스페인어로 사용할 수도 있습니다.
그런데도 앱 이름이 한국어로 통일된다면 이질감이 있겠죠?
이를 개선하기 위해 이번 게시글에서는 플러터 앱 이름을 다국어 처리하는 방법에 대해 알아보겠습니다.
1. Android
1-1. EN
android/app/src/main/res의 values/ 디렉토리에 strings.xml을 생성하고, 아래와 같이 선언합니다.
2-2. KO
android/app/src/main/res 디렉토리에 values-ko/ 디렉토리를 생성하고, 그 디렉토리에 strings.xml을 생성합니다.
2-3. 앱 이름 선언하기
android/app/src/main/AndroidManifest.xml의 application/android:label 에 @string/app_name을 작성합니다.
* 우리는 stirng 값의 name값을 app_name으로 적었기 때문에 app_name을 선언한 것입니다.
다른 값으로 변경해도 무방합니다.
2. iOS
2-1. Localizations 설정하기
플러터 프로젝트의 루트 디렉토리에서 open ios/Runner.xcodeproj 명령어를 입력하여 XCode를 엽니다.
Runner > Info > Localizations에서 사용할 언어를 추가합니다.
이후 추가할 리소스를 선택하는 화면에서는 어차피 플러터를 통해 개발하기 때문에 사용하지 않지만 Finish를 눌러줍니다.
2-2. InfoPlist.strings 파일 추가하기
1. [File] > [New] > [File...] 를 클릭해줍니다.
2. Strings File을 선택하여 InfoPlist.strings 이름으로 파일을 생성합니다.
2-3. Localization 추가하기
XCode 화면의 우측 Localization의 Localize 버튼을 클릭하여 다국어 처리할 랭귀지를 모두 선택해줍니다.
그러면 아래 2번째 사진과 같이 InfoPlist Korean / English 등의 파일이 생기는 것을 볼 수 있습니다.
2-4. 다국어 property 추가하기
iOS 앱의 이름을 처리하는 info.plist의 키값은 CFBundleDisplayName입니다.
2-5. info.plist 수정하기
다국어 처리된 InfoPlist.strings의 key값이 들어가는 property는 비워둡니다.
3. 빌드하기
빌드하면 정상적으로 다국어 처리가 된 값으로 앱 이름이 표시되는 것을 볼 수 있습니다.
3-1. 겪은 오류 내역
1. 빌드해도 정상적으로 다국어처리가 되지 않았을 때는 flutter clean 후 재빌드했습니다.
2. 아래와 같은 에러가 표시될 때엔 InfoPlist.strings의 프로퍼티 선언 후 세미콜론(;)이 누락되었는지 확인합시다.
validation failed: Couldn't parse property list because the input data was in an invalid format
'개발 > Flutter' 카테고리의 다른 글
플러터에서 CocoaPods 라이브러리 최신화하기 (0) | 2023.12.13 |
---|---|
Flutter에서 Google Spreadsheet에 데이터를 추가해보자. (0) | 2023.10.19 |
Flutter Transition에 대해 한눈에 알아보자. (0) | 2023.08.30 |
Flutter 앱 아이콘을 내 이미지로 변경해보자. (0) | 2023.08.12 |
플러터로 개발한 앱을 apk로 추출해보자 (0) | 2023.06.20 |
댓글