[flutter] easy_localization으로 플러터 앱의 지역화 파일 관리하기

플러터(Flutter) 애플리케이션을 다국어 지원이 가능하도록 만들기 위해서는 각 언어별 문자열을 따로 관리해야 합니다. easy_localization 패키지를 이용하면 편리하게 이를 구현할 수 있습니다.

easy_localization이란?

easy_localization은 플러터(Flutter) 애플리케이션의 다국어 지원을 위한 패키지로, 문자열 및 지역화 파일을 손쉽게 관리할 수 있게 해줍니다.

사용 방법

  1. 의존성 추가

    pubspec.yaml 파일에 다음과 같이 easy_localization 의존성을 추가합니다.

    dependencies:
      flutter:
        sdk: flutter
      easy_localization: <latest_version>
    
  2. 파일 구조 설정

    언어별로 문자열을 관리할 디렉터리를 생성합니다. 예를 들어, assets/translations 디렉터리를 만들고, 그 안에 en.json, ko.json과 같은 형식으로 각 언어에 해당하는 JSON 파일을 추가합니다.

  3. 코드에서 사용

    main.dart 파일에 다음과 같이 EasyLocalization 위젯을 설정하고, 앱에서 문자열을 사용하는 방법은 아래와 같습니다.

    import 'package:easy_localization/easy_localization.dart';
       
    void main() {
      runApp(EasyLocalization(
        supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
        path: 'assets/translations', // 번역 파일의 경로
        fallbackLocale: Locale('en', 'US'),
        child: MyApp(),
      ));
    }
       
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          localizationsDelegates: context.localizationDelegates,
          supportedLocales: context.supportedLocales,
          locale: context.locale,
          // 나머지 앱 코드
        );
      }
    }
       
    // 사용 예
    Text('hello'.tr())
    

    여기서 hello는 각 언어별로 en.json, ko.json 파일에 정의된 문자열의 key입니다. tr() 함수를 사용하여 현재 설정된 언어에 맞는 문자열을 불러올 수 있습니다.

결론

easy_localization을 이용하면 플러터 애플리케이션에서 다국어 지원을 쉽게 관리할 수 있습니다. 이 패키지를 사용하면 번거로운 지역화 파일 관리를 극복하고, 사용자가 앱을 편리하게 이용할 수 있도록 지원할 수 있습니다.

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


본 블로그는 easy_localization 패키지의 사용 방법을 소개한 내용입니다.