[flutter] flutter_localizations 패키지를 사용한 앱의 다국어 지원 운동 추적 방법
다국어 지원은 앱을 전 세계 사용자에게 확장하여 국제 시장에서 성공을 이루는데 중요한 요소입니다. Flutter로 개발된 앱에서는 flutter_localizations 패키지를 사용하여 간단하게 언어와 지역별 지원이 가능합니다. 이번에는 flutter_localizations 패키지를 이용하여 어떻게 다국어 지원을 적용할 수 있는지 알아보겠습니다.
flutter_localizations 패키지란?
flutter_localizations 패키지는 Flutter에서 지원하는 다국어 및 지역화를 제공하는 패키지로, 앱의 다국어 지원을 쉽게 구현할 수 있도록 도와줍니다. 이 패키지는 앱에서 지역화된 문자열, 숫자, 날짜 및 통화 형식을 표시하는 데 필요한 클래스 및 리소스를 제공합니다.
flutter_localizations 패키지 적용하기
-
먼저 pubspec.yaml 파일에
flutter_localizations
패키지를 추가합니다.dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter
-
이어서 main.dart 파일에서 언어 및 지역화를 설정합니다.
import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:my_app/l10n/localizations.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( localizationsDelegates: [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, MyLocalizationsDelegate(), ], supportedLocales: [ const Locale('en', ''), const Locale('ko', ''), ], title: 'My App', home: MyHomePage(), ); } }
-
다음으로 l10n/localizations.dart 파일을 생성하고 다국어 지원에 필요한 내용을 작성합니다.
import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; class MyLocalizationsDelegate extends LocalizationsDelegate<MyLocalizations> { const MyLocalizationsDelegate(); @override bool isSupported(Locale locale) { return ['en', 'ko'].contains(locale.languageCode); } @override Future<MyLocalizations> load(Locale locale) { return SynchronousFuture<MyLocalizations>( MyLocalizations(locale), ); } @override bool shouldReload(MyLocalizationsDelegate old) => false; } class MyLocalizations { MyLocalizations(this.locale); final Locale locale; static Map<String, Map<String, String>> _localizedValues = { 'en': { 'title': 'My App', 'welcome': 'Welcome', }, 'ko': { 'title': '내 앱', 'welcome': '환영합니다', }, }; String get title { return _localizedValues[locale.languageCode]['title']; } String get welcome { return _localizedValues[locale.languageCode]['welcome']; } }
결론
이와 같이 flutter_localizations 패키지를 사용하여 Flutter 앱에 다국어 지원을 추가할 수 있습니다. 이를 통해 국제 시장에서 좀 더 많은 사용자들에게 앱을 확장할 수 있으며, 사용자들이 자신의 언어와 지역에 맞게 앱을 사용할 때 더욱 편리하게 서비스를 이용할 수 있게 될 것입니다.