[flutter] easy_localization을 사용하여 앱 내 문자열 리소스 외부화
앱을 다국어 지원하려면 문자열 리소스를 외부 파일로 관리하는 것이 좋습니다. easy_localization 패키지를 사용하면 이 작업을 쉽게 수행할 수 있습니다. 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
{
"title": "Hello World!",
"welcome": "Welcome to our app"
}
// ko.json
{
"title": "안녕하세요!",
"welcome": "우리 앱에 오신 것을 환영합니다"
}
3. 앱에서 easy_localization 사용
이제 앱 내부에서 easy_localization을 사용하여 문자열 리소스를 불러올 수 있습니다. 다음은 간단한 예시입니다.
import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart';
void main() {
runApp(
EasyLocalization(
supportedLocales: [Locale('en', 'US'), Locale('ko', 'KO')],
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,
home: Scaffold(
appBar: AppBar(
title: Text('title'.tr()), // Accessing localized string
),
body: Center(
child: Text('welcome'.tr()), // Accessing localized string
),
),
);
}
}
결론
위의 단계를 따라가면 flutter 앱에서 easy_localization을 사용하여 문자열 리소스를 외부 파일로 관리할 수 있습니다. 이를 통해 앱을 다국어 지원하고 사용자가 쉽게 다양한 언어로 앱을 이용하도록 할 수 있습니다.
참고: easy_localization 패키지 - easy_localization 패키지에 대한 자세한 정보와 문서입니다.