[flutter] easy_localization을 사용한 앱의 지역화된 데이터 저장 및 불러오기

Flutter 앱을 다국어 지원이 가능한 앱으로 만들기 위해서는 각 언어에 해당하는 데이터를 저장하고 불러오는 기능이 필요합니다. 이번 포스트에서는 Flutter 앱에서 easy_localization 패키지를 사용하여 지역화된 데이터를 저장하고 불러오는 방법에 대해 다루겠습니다.

easy_localization 패키지란?

easy_localization은 Flutter 앱에서 쉽게 다국어 지원을 구현할 수 있도록 도와주는 패키지입니다. 이 패키지를 사용하면 지역화된 문자열, 날짜, 숫자 등을 저장하고 쉽게 불러올 수 있습니다.

지역화된 데이터 저장하기

먼저, easy_localization 패키지를 플러터 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  easy_localization: ^3.0.0

다음으로, 앱에서 사용할 각 언어에 해당하는 데이터를 JSON 파일로 작성합니다. 예를 들어, 한국어 및 영어 데이터를 지원하는 경우 assets/translations 폴더에 en.jsonko.json 파일을 생성합니다. 이러한 JSON 파일에는 각 언어에 해당하는 문자열 키-값 쌍을 정의합니다.

데이터 불러오기

이제, Flutter 앱에서 easy_localization 패키지를 사용하여 저장된 지역화된 데이터를 불러오는 방법을 살펴보겠습니다. 먼저, 앱의 main.dart 파일에서 다음과 같이 easy_localization 패키지를 초기화합니다.

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

void main() {
  runApp(
    EasyLocalization(
      child: MyApp(),
      supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
      path: 'assets/translations',
    ),
  );
}

이제, 저장된 지역화된 데이터를 사용하려는 화면에서는 다음과 같이 tr() 함수를 사용하여 해당 언어에 해당하는 문자열을 불러올 수 있습니다.

Text(
  tr('hello'),
),

위의 코드에서 tr('hello')는 현재 선택된 언어에 해당하는 ‘hello’ 키의 값을 가져옵니다.

easy_localization 패키지를 사용하여 Flutter 앱에서 다국어 지원을 구현하는 방법에 대해 알아보았습니다. 이를 통해 각 언어에 맞는 지역화된 데이터를 효과적으로 저장하고 불러올 수 있습니다.