본문 바로가기

[Flutter] 다국어 지원

I'm 영서 2023. 7. 5.
반응형

어플리케이션 개발을 하면서 다국어 지원을 사용하게 될 일이 많다. 

플러터에서는 다국어 지원을 하기위해 Intl 이라는 이름으로 다국어및 지역화 기능지원하는 패키지를 사용한다. 

 

다국어 지원을 위해 진행해야 할 절차들에 대해서 설명.

1. yaml파일에 localization, intl 패키지 설치

 

 

pubspec.yaml 의 dependencies 안에 flutter_localizations와 intl_utils를 임포트.

 

2. yaml 파일내 generate 및 flutter_intl 설정 추가


flutter:
  generate: true
  uses-material-design: true
  assets:
    - assets/img/spec/
    - assets/img/wine/
    - assets/img/logo/
    - assets/img/grape/
    - assets/audio/

  fonts:
    - family: suite
      fonts:
      - asset: assets/fonts/SUITE-Variable.ttf


flutter_intl:
  enabled: true # Required. Must be set to true to activate the package. Default: false
  class_name: AppLocalizations  # Optional. Sets the name for the generated localization class. Default: S
  main_locale: ko # Optional. Sets the main locale used for generating localization files. Provided value should consist of language code and optional script and country codes separated with underscore (e.g. 'en', 'en_GB', 'zh_Hans', 'zh_Hans_CN'). Default: en
  arb_dir: lib/l10n # Optional. Sets the directory of your ARB resource files. Provided value should be a valid path on your system. Default: lib/l10n
  output_dir: lib/generated # Optional. Sets the directory of generated localization files. Provided value should be a valid path on your system. Default: lib/generated
 

 

3. .arb 파일 생성

 - 공식문서에서 lib/l10n/intl_<code> 로 만들라고 한다.

.arb 파일내 @@locale 설정

{
    "@@locale": "en",
    "languageCode":"en",
}

 

 

4. generate 수행

flutter pub run intl_utils:generate

결과확인

print(Intl.message(
"en" ,
name: "languageCode"),
);

 

반응형

댓글