[flutter] easy_localization을 활용한 앱 내 지역화된 사용자 설정 기능

앱을 다국어 지원하여 사용자가 언어를 선택할 수 있게끔 하는 것은 굉장히 중요합니다. Flutter에서 easy_localization 라이브러리를 사용하여 앱 내 지역화된 사용자 설정 기능을 구현하는 방법에 대해 알아보겠습니다. 이 기능을 통해 간단한 코드 작업으로 앱을 여러 언어로 지원할 수 있고, 사용자가 선호하는 언어로 앱을 보는 경험을 제공할 수 있습니다.

1. easy_localization 라이브러리 추가

우선, pubspec.yaml 파일에 easy_localization 라이브러리를 추가해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  easy_localization: ^3.0.0

이후 터미널에서 flutter pub get 명령을 실행하여 라이브러리를 다운로드 받습니다.

2. 언어 리소스 추가

/assets/lang 경로에 지원할 언어에 대한 리소스 파일을 추가합니다. 예를 들어, en.json, ko.json과 같은 파일 이름으로 각 언어의 문자열을 정의합니다.

// en.json
{
  "hello": "Hello",
  "welcome": "Welcome to our app"
}
// ko.json
{
  "hello": "안녕하세요",
  "welcome": "우리 앱에 오신 것을 환영합니다"
}

3. main.dart 파일에서 easy_localization 설정

다음으로, 앱의 진입점인 main.dart 파일에서 easy_localization을 설정합니다.

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/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. 문자열 사용

이제 앱 내에서 지역화된 문자열을 사용할 수 있습니다.

Text('hello'.tr())

결론

easy_localization 라이브러리를 사용하면 Flutter 앱에서 언어 선택 기능을 쉽게 구현할 수 있습니다. 사용자가 선호하는 언어로 전환할 수 있고, 지역에 따라 앱을 사용하는 사용자들에게 훌륭한 경험을 제공할 수 있습니다.

이 기능을 통해 앱의 다국어 지원을 간단하게 구현할 수 있으며, 새로운 언어를 추가하거나 변경하는 일이 발생해도 손쉽게 대응할 수 있게 됩니다.