플러터에서 다국어 처리를 위해 intl 패키지를 사용할 수 있습니다. intl 패키지를 사용하면 간편하게 앱에서 사용되는 모든 메시지를 다국어로 처리할 수 있습니다. 아래는 intl 패키지를 사용하여 플러터 앱에서 다국어 처리를 구현하는 방법입니다.
-
intl 패키지 추가하기 플러터 프로젝트의
pubspec.yaml
파일에 intl 패키지를 추가해야 합니다. 아래와 같이 dependencies에 intl 패키지를 추가합니다.dependencies: flutter: sdk: flutter ... intl: ^0.17.0
패키지를 추가한 후,
pub get
명령어를 실행하여 패키지를 다운로드해주세요. -
다국어 메시지 정의하기 intl 패키지를 사용하여 다국어 처리를 하려면 다국어 메시지를 정의해야 합니다. 예를 들어, 한국어와 영어를 지원하는 경우에는
l10n/messages_ko.arb
와l10n/messages_en.arb
파일을 생성합니다.l10n/messages_ko.arb
파일 예시:{ "greeting": "안녕하세요!", "title": "플러터 다국어 처리 예제" }
l10n/messages_en.arb
파일 예시:{ "greeting": "Hello!", "title": "Flutter Internationalization Example" }
-
intl 메시지 호출하기 intl 패키지에서 제공하는
Intl.message
함수를 사용하여 다국어 메시지를 호출할 수 있습니다. 예를 들어, 다국어로 처리된 제목을 표시하려면 다음과 같이 코드를 작성합니다.import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: AppLocalizations.of(context).title, home: Scaffold( appBar: AppBar( title: Text(AppLocalizations.of(context).greeting), ), body: Center( child: Text( AppLocalizations.of(context).greeting, style: TextStyle(fontSize: 20), ), ), ), localizationsDelegates: [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [ const Locale('en', ''), const Locale('ko', ''), ], ... ); } }
위 코드에서
AppLocalizations.of(context).greeting
은 현재 설정된 언어에 맞는 다국어 메시지를 가져옵니다. -
지원하는 언어 설정하기
supportedLocales
속성에 앱에서 지원하는 언어를 설정해야 합니다. 예를 들어, 한국어와 영어를 지원하려면 다음과 같이 설정합니다.supportedLocales: [ const Locale('en', ''), const Locale('ko', ''), ],
앱의 언어 설정은 플랫폼 설정에 따라 자동으로 변경됩니다.
위와 같은 방법으로 intl 패키지를 사용하여 플러터 앱에서 다국어 처리를 구현할 수 있습니다. intl 패키지는 편리한 함수와 도구를 제공하여 다국어 처리를 쉽게 할 수 있도록 도와줍니다. 자세한 내용은 intl 패키지의 문서를 참고하시기 바랍니다.
참고 문서: