[flutter] easy_localization을 사용하여 앱의 언어 변경하기

다국어 지원은 앱을 글로벌 시장에 출시하기 위해 매우 중요합니다. Flutter에서는 easy_localization 패키지를 사용하여 앱의 언어를 쉽게 변경할 수 있습니다. 이 패키지를 사용하면 앱의 텍스트, 날짜, 통화 등을 다양한 언어로 쉽게 로컬라이징할 수 있습니다.

1. easy_localization 패키지 설치 및 설정

우선 pubspec.yaml 파일에 easy_localization 패키지를 추가합니다.

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

터미널에서 다음 명령어를 실행하여 패키지를 설치합니다.

flutter pub get

2. 언어 리소스 추가

앱에서 사용할 각 언어의 리소스를 추가합니다. assets/lang 디렉토리를 만들고 그 안에 각 언어별 JSON 파일을 추가합니다. 예를 들면, en.jsonko.json과 같이 언어 별로 파일을 만듭니다.

// en.json
{
  "title": "Hello, World!",
  "description": "This is a multilingual app with easy_localization."
}

// ko.json
{
  "title": "안녕, 세계!",
  "description": "이것은 easy_localization으로 만든 다국어 앱입니다."
}

3. main.dart에서 easy_localization 설정

main.dart 파일에서 easy_localization을 설정합니다. 기본 언어 및 지원할 언어를 지정합니다.

import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() {
  runApp(
    EasyLocalization(
      supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
      path: 'assets/lang',
      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,
      // 나머지 앱 설정
      // ...
    );
  }
}

4. 다국어 지원 적용

이제 앱의 다국어 지원이 적용되었습니다. 앱 내에서 텍스트를 출력할 때 tr 메서드를 사용하여 해당 텍스트를 로컬라이즈합니다.

Text('title').tr(),
Text('description').tr(),

이렇게 하면 각 사용자의 설정에 따라 적절한 언어로 앱이 표시됩니다.

이와 같이 easy_localization 패키지를 사용하여 Flutter 앱의 다국어 지원을 쉽게 구현할 수 있습니다. 이를 통해 앱의 사용자들이 보다 편리하게 원하는 언어로 앱을 이용할 수 있게 됩니다.

더 자세한 내용은 easy_localization 패키지 문서를 참조해주시기 바랍니다.