[flutter] 다국어 앱 개발을 위한 easy_localization의 활용 예시

이번 포스트에서는 Flutter 앱에서 easy_localization 라이브러리를 사용하여 다국어 지원을 구현하는 방법에 대해 알아보겠습니다. easy_localization은 Flutter 앱에서 다국어 지원 및 지역화를 쉽게 관리할 수 있도록 도와주는 편리한 라이브러리입니다.

easy_localization 라이브러리 설치

먼저, pubspec.yaml 파일에 easy_localization 라이브러리를 추가합니다.

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

그리고 터미널에서 아래 명령어를 실행하여 라이브러리를 설치합니다.

flutter pub get

다국어 지원 설정

우선, 앱에서 지원할 다국어 언어들을 설정해야 합니다. 이를 위해 앱의 main.dart 파일에서 EasyLocalization 위젯을 설정합니다.

void main() {
  runApp(
    EasyLocalization(
      supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
      path: 'assets/translations',
      startLocale: Locale('en', 'US'),
      fallbackLocale: Locale('en', 'US'),
      child: MyApp(),
    ),
  );
}

위 코드에서 supportedLocales에서 지원할 언어들을 설정하고, path에서 번역 파일이 위치하는 경로를 지정합니다.

번역 파일 작성

번역할 문자열들을 각 언어별로 파일에 작성해야 합니다. 예를 들어, assets/translations 경로에 en.jsonko.json 파일을 생성하여 아래와 같이 번역을 작성할 수 있습니다.

en.json:

{
  "title": "Hello",
  "description": "This is a simple localization example in Flutter"
}

ko.json:

{
  "title": "안녕하세요",
  "description": "Flutter에서 간단한 다국어 지원 예제입니다"
}

번역 사용

이제 번역된 문자열을 사용하는 방법을 살펴보겠습니다. Widget에서 문자열을 필요로하는 곳에서 tr 함수를 이용하여 다국어 문자열을 사용할 수 있습니다.

Text(tr('title'))
Text(tr('description'))

위와 같이 tr 함수를 사용하면 현재 설정된 언어에 따라 해당하는 번역 문자열이 자동으로 출력됩니다.

이렇게하면 쉽게 Flutter 앱에서 다국어 지원을 구현할 수 있습니다. easy_localization 라이브러리를 사용하면 번역 파일을 쉽게 관리하고 간편하게 다국어 앱을 개발할 수 있습니다.

더 자세한 정보는 easy_localization 공식 문서를 참고하세요.