Seize the day

POST : Flutter study

Flutter 다국어 지원 (Android studio 플러그인 이용)

안드로이드에서 리소스 폴더에 언어를 추가하면 자동적으로 다국어 언어가 지원되듯이 플러터에서 비슷한 것을 찾았다. 이 플러그인은 언어 파일의 형식은 json이고 중요한 것은 자동적으로 언어 리소스 코드를 생성해주기 때문에 별다른 추가 작업이 없다.  

https://flutter.dev/docs/development/accessibility-and-localization/internationalization 기본적으로 이쪽 가이드를 따라서 설정을 완료하고,  https://plugins.jetbrains.com/plugin/10128-flutter-i18n 여기서 Android stuiod 플러그인을 설치한다.  언어 파일인 arb 파일을 수정후 저장하면 자동적으로 generated/i18n.dart 에 반영된다. 이 파일에 구현된 S 클래스를 이용해서 다국어를 로드한다. 그래서 generated/i18n.dart은 gitignore에 추가할 필요가 있다.

이 플러그인의 좋은 점은 문자열에 파라미터가 있는 경우 함수로 만들어 준다는 점이다. arb가 이렇다면  
{ "aboutListTileTitle": "About $applicationName"
사용할 때는 
S.of(context).aboutListTileTitle(yourAppTitle) 이렇게 함수로 사용한다.

추가적으로 테스트해 본 결과, 파라미터도 언어간에 다르면 에러를 내서 오류를 확인하기 쉽도록 되어있다. 

공부하면서 적용해본 코드는 https://github.com/dajkim76/flutter_base/commit/0abcbe5f4c97ac259967ef61d414a0451d28f47a 여기서 확인할 수 있다. 

top

posted at

2019. 8. 26. 23:12


CONTENTS

Seize the day
BLOG main image
김대정의 앱 개발 노트와 사는 이야기
RSS 2.0Tattertools
공지
아카이브
최근 글 최근 댓글
카테고리 태그 구름사이트 링크