[flutter] easy_localization을 사용한 앱의 다국어 통화 변환 기능

다국어 지원이 필요한 앱을 만들 때는 사용자가 이해할 수 있는 언어로 통화 금액을 변환해주는 기능이 중요합니다. easy_localization 패키지를 사용하여 앱에 다국어 지원과 통화 변환 기능을 추가하는 방법을 알아보겠습니다.

1. easy_localization 패키지 추가

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

dependencies:
  flutter:
    sdk: flutter
  easy_localization: ^3.0.0

그리고 패키지를 설치합니다.

flutter pub get

2. 지원할 언어 및 통화 형식 지정

main.dart 파일에서 easy_localization을 초기화하고 지원할 언어 및 통화 형식을 설정합니다.

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        EasyLocalization.of(context).delegate,
      ],
      supportedLocales: EasyLocalization.of(context).supportedLocales,
      locale: EasyLocalization.of(context).locale,
      title: 'Currency Converter App',
      home: MyHomePage(),
    );
  }
}

3. 통화 변환 기능 구현

다음으로 통화 변환 기능을 구현합니다. 사용자가 통화를 변환하려면 언어 설정에 따라 해당 언어로 정확한 통화 형식으로 표시되어야 합니다.

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Currency Converter').tr(),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Enter amount').tr(),
            TextField(
              keyboardType: TextInputType.number,
              onChanged: (value) {
                // 변환된 금액 표시
              },
            ),
          ],
        ),
      ),
    );
  }
}

위의 예제에서 tr() 메서드는 현재 선택된 언어에 따라 해당 텍스트를 반환합니다.

마치며

이제 easy_localization 패키지를 사용하여 앱에 다국어 지원과 통화 변환 기능을 추가하는 방법을 살펴보았습니다. 위 예제를 참고하여 다국어 지원과 통화 변환 기능을 가진 앱을 만들어 보세요.

참고 자료