다국어 지원은 모바일 앱을 국제 시장으로 확장하는 데 중요한 요소입니다. Flutter에서 flutter_localizations
패키지를 사용하여 앱에 다국어 지원을 추가하는 방법을 알아보겠습니다. 이 글에서는 flutter_localizations 패키지를 사용하여 게시판 앱의 다국어 지원을 구현하는 방법에 대해 자세히 살펴보겠습니다.
1. flutter_localizations 패키지 추가
먼저, pubspec.yaml 파일에 flutter_localizations 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 flutter_localizations를 추가합니다.
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
그리고 패키지를 설치하기 위해 터미널에서 flutter pub get
명령을 실행합니다.
2. 지원할 언어 추가
MaterialApp
위젯의 localizationsDelegates
와 supportedLocales
속성을 사용하여 지원할 언어를 추가합니다. 아래의 코드는 영어(en)와 한국어(ko)를 지원하는 예제입니다.
MaterialApp(
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
const Locale('en'),
const Locale('ko'),
],
// ...
)
3. 다국어 문자열 추가
다국어 지원을 위해 문자열을 번역해야 합니다. 이를 위해 intl
패키지를 사용할 수 있습니다. 다국어 문자열을 추가하려면 arb
파일을 생성하여 각 언어에 해당하는 번역을 추가해야 합니다.
예를 들어, app_localizations_en.arb
와 app_localizations_ko.arb
파일을 생성하고 각각의 파일에 영어와 한국어에 대한 번역을 추가합니다.
{
"title": "Welcome to the board",
"subtitle": "Share and discuss with others"
}
4. 게시판 UI에 다국어 문자열 적용
이제 게시판 UI에서 AppLocalizations
를 사용하여 다국어 문자열을 적용할 수 있습니다.
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class MyBoardScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(AppLocalizations.of(context).title),
),
body: Center(
child: Text(AppLocalizations.of(context).subtitle),
),
);
}
}
결론
이제 flutter_localizations
패키지를 사용하여 다국어 지원을 통해 게시판 앱을 만들었습니다. 이를 통해 사용자들은 앱을 자신의 언어로 사용할 수 있으며, 국제 시장으로 쉽게 확장할 수 있게 되었습니다.