[flutter] easy_localization을 사용한 앱의 다국어 주문/배달 기능 구현

앱을 다국어로 지원하는 것은 사용자들의 편의성을 높이고 그들의 관심을 끄는 방법 중 하나입니다. Flutter의 easy_localization 패키지를 사용하면 앱의 다국어 지원을 쉽게 구현할 수 있습니다. 이를 통해 사용자는 자신의 언어로 앱을 이용하고 주문 및 배송과 같은 기능을 더욱 편리하게 사용할 수 있습니다.

easy_localization 패키지 설치

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

dependencies:
  easy_localization: <latest_version>

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

flutter pub get

지원할 언어 추가

easy_localization은 지원할 언어를 손쉽게 추가할 수 있도록 해줍니다. assets 폴더에 지원할 언어별로 JSON 파일을 추가하고 해당 언어의 키-값 쌍으로 번역된 문구를 넣습니다. 예를 들어, en.json 파일에는 영어로 된 문구를, ko.json 파일에는 한국어로 된 문구를 넣습니다.

// en.json
{
  "app_title": "My App",
  "order_button": "Order",
  "delivery_status": "Delivery Status"
}
// ko.json
{
  "app_title": "내 앱",
  "order_button": "주문",
  "delivery_status": "배송 상태"
}

다국어 지원 적용

다국어로 지원할 문자열이 있는 곳에서 easy_localization 패키지를 이용하여 해당 문자열을 로드합니다.

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

class OrderPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('app_title'.tr()), // 다국어 지원 문자열 로드
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () => _placeOrder(context),
          child: Text('order_button'.tr()), // 다국어 지원 문자열 로드
        ),
      ),
    );
  }

  void _placeOrder(BuildContext context) {
    // 주문 로직 구현
    // ...
    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(
        content: Text('delivery_status'.tr()), // 다국어 지원 문자열 로드
      ),
    );
  }
}

결론

easy_localization 패키지를 사용하여 Flutter 앱에서 다국어 지원을 간편하게 구현할 수 있습니다. 번역된 문자열을 로드하는데 필요한 모든 작업은 패키지가 지원해주기 때문에, 앱의 다국어 지원 구현이 더욱 쉬워집니다. 이를 통해 사용자는 자신의 언어로 앱을 이용할 수 있으며, 주문 및 배송과 같은 기능을 보다 편리하게 사용할 수 있게 됩니다.


참고: