[flutter] easy_localization으로 플러터 앱의 지역화된 호텔/숙박 예약 기능

이번에는 easy_localization 패키지를 사용하여 플러터(Flutter) 앱에 지역화된 호텔/숙박 예약 기능을 구현하는 방법에 대해 알아보겠습니다.

1. easy_localization이란?

easy_localization은 Flutter 앱에서 다국어 및 지역화 기능을 구현하기 쉽게 도와주는 패키지입니다. 이 패키지를 사용하면 앱의 다국어 지원과 지역화된 문자열 및 리소스를 관리할 수 있습니다.

2. easy_localization 패키지 설치

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

dependencies:
  flutter:
    sdk: flutter
  easy_localization: ^3.0.0

변경 사항을 적용하기 위해 다음 명령을 실행합니다.

flutter pub get

3. 지역화된 문자열 및 리소스 추가

다국어 및 지역화 기능을 사용하기 위해, 앱에서 사용되는 문자열 및 리소스를 다국어 및 지역별로 관리합니다. 이를 위해 lib/assets/lang 디렉토리에 지역화된 문자열 및 리소스 파일을 추가합니다. 예를 들어, en.jsonko.json 파일에 각각 영어와 한국어로 된 문자열을 저장합니다.

// en.json
{
  "welcome": "Welcome to our hotel booking app",
  "book_now": "Book Now"
}
// ko.json
{
  "welcome": "당신의 호텔 예약 앱에 오신 것을 환영합니다",
  "book_now": "지금 예약하기"
}

4. easy_localization을 사용한 지역화 기능 구현

다국어 및 지역화된 문자열을 사용하려면, easy_localization 패키지를 초기화하고 해당 문자열을 불러와야 합니다. 먼저, main.dart 파일에서 easy_localization을 초기화합니다.

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(),
    ),
  );
}

이후, 앱의 어느 곳에서나 아래와 같이 tr 함수를 사용하여 지역화된 문자열을 불러올 수 있습니다.

Text(tr('welcome')),
FlatButton(
  onPressed: () {
    // 예약 기능 구현
  },
  child: Text(tr('book_now')),
)

이렇게 하면, 앱을 한국어로 설정한 경우 “당신의 호텔 예약 앱에 오신 것을 환영합니다”와 “지금 예약하기”라는 문자열을 표시하고, 영어로 설정한 경우에는 각각 “Welcome to our hotel booking app”와 “Book Now”라는 문자열을 표시할 수 있습니다.

이렇게 쉽게 easy_localization을 사용하여 플러터 앱의 지역화된 호텔/숙박 예약 기능을 구현할 수 있습니다. 해당 패키지의 문서를 참고하여 더 자세한 내용을 확인하시기 바랍니다.

참고 자료