[flutter] easy_localization을 활용한 앱 내 지역화된 미술관/박물관 정보

본 포스트에서는 flutter 앱에서 easy_localization 패키지를 사용하여 앱을 다국어 지원하도록 설정하고, 미술관과 박물관 정보를 지역화하는 방법에 대해 알아보겠습니다.

TOC

easy_localization이란?

easy_localization은 Flutter 앱을 다국어 지원할 수 있게 해주는 패키지입니다. 이를 활용하면 앱의 문구나 메시지들을 효과적으로 지역화할 수 있습니다.

다국어 지원 설정

먼저, pubspec.yaml 파일에서 easy_localization 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  easy_localization: <latest_version>

다음으로, 앱의 진입점(main)에서 EasyLocalization 위젯을 초기화하고 언어 설정을 관리합니다.

void main() {
  runApp(
    EasyLocalization(
      supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
      path: 'assets/translations', // 번역 파일 경로
      fallbackLocale: Locale('en', 'US'), // 기본 언어
      child: MyApp(),
    ),
  );
}

위 설정의 경우 한국어와 영어를 지원하며, assets/translations 폴더에 번역 파일을 저장하는 것으로 가정합니다.

미술관/박물관 정보 지역화

미술관과 박물관 정보를 지역화하려면, 해당 정보를 json 파일에 각 언어별로 작성해야 합니다.

// en.json
{
  "museums": {
    "art_museum": "Art Museum",
    "history_museum": "History Museum"
  }
}

// ko.json
{
  "museums": {
    "art_museum": "미술관",
    "history_museum": "역사 박물관"
  }
}

이후, 화면에서 해당 정보를 표시할 때 easy_localization 패키지의 키-값 매핑을 이용하여 출력하면 됩니다.

Text("Museums: ${tr('museums.art_museum')}")

위의 코드는 현재 언어에 따라 Art Museum 또는 미술관 텍스트를 화면에 출력합니다.

이렇게, easy_localization 패키지를 사용하여 앱 내 지역화된 미술관/박물관 정보를 쉽게 관리할 수 있습니다.

더 많은 기능과 설정은 공식 문서를 참고해 주세요: easy_localization 공식 문서