[flutter] easy_localization의 동적 언어 변경 기능

Easy Localization은 Flutter 앱에서 다국어 지원을 쉽게 구현할 수 있도록 도와주는 패키지입니다. 이 패키지를 사용하면 앱에 다국어를 간편하게 추가하고, 사용자가 언어를 동적으로 변경하는 기능을 구현할 수 있습니다. 이번에는 Easy Localization을 사용하여 Flutter 앱에서 동적으로 언어를 변경하는 방법에 대해 알아보겠습니다.

1. Easy Localization 패키지 추가

먼저 pubspec.yaml 파일에 Easy Localization 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  easy_localization: ^3.0.0 # 최신 버전을 입력합니다.
  # 다른 의존성들...

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

flutter pub get

2. 지원할 언어 설정

Easy Localization을 사용하여 지원할 언어를 설정합니다. 이를 위해 main.dart 파일에서 EasyLocalization 위젯을 초기화하고, 지원할 언어를 정의합니다.

import 'package:flutter/material.dart';
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 {
  // 앱의 루트 위젯 구성
  // ...
}

위 예제에서는 ‘en_US’ 및 ‘ko_KR’의 두 가지 언어를 지원하고 있습니다.

3. 동적 언어 변경

이제 Easy Localization을 사용하여 사용자가 동적으로 언어를 변경할 수 있도록 처리해야 합니다. 이를 위해 다음과 같이 코드를 작성할 수 있습니다.

FlatButton(
  onPressed: () {
    context.locale = Locale('ko', 'KR'); // 한국어로 변경
  },
  child: Text('한국어'),
),
FlatButton(
  onPressed: () {
    context.locale = Locale('en', 'US'); // 영어로 변경
  },
  child: Text('English'),
),

위 예제에서는 각각의 버튼을 누를 때마다 해당 언어로 변경되도록 설정하였습니다.

이렇게 하면 Easy Localization을 사용하여 Flutter 앱에서 동적으로 언어를 변경하는 기능을 구현할 수 있습니다. 사용자가 언어를 변경할 때마다 해당 언어로 번역된 텍스트가 즉시 적용됩니다.

더 자세한 내용은 Easy Localization 패키지의 문서를 참고하시기 바랍니다.

Easy Localization 패키지 문서

이상으로 Easy Localization의 동적 언어 변경 기능에 대해 알아보았습니다.

감사합니다.