[flutter] 플러터 앱에서 다국어 지원은 어떻게 할 수 있나요?
다국어 지원을 위한 플러터 앱 설정
-
프로젝트에 다국어 지원 추가
pubspec.yaml
파일에flutter_localizations
라이브러리를 추가합니다.dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter
-
지역 및 언어 설정
앱에 지원할 각 언어에 대한 지역 및 언어 설정을MaterialApp
의localizationsDelegates
와supportedLocales
에 추가합니다.import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( localizationsDelegates: [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: [ Locale('en', 'US'), // 영어 (미국) Locale('ko', 'KR'), // 한국어 (한국) ], // 나머지 앱 설정... ); } }
-
언어 문자열 추가
앱에 사용될 모든 문자열을 JSON 형식의 파일에 각 언어별로 추가합니다./lib /l10n app_en.json app_ko.json
app_en.json (영어)
{ "title": "Hello, World!", "description": "This is an example of multilingual support in Flutter." }
app_ko.json (한국어)
{ "title": "안녕, 세상아!", "description": "플러터에서의 다국어 지원 예제입니다." }
-
문자열 사용
Localizations.of(context).
및MyAppLocalizations.of(context).
을 사용하여 다국어 문자열을 사용합니다.class MyHomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(MyAppLocalizations.of(context).title), ), body: Center( child: Text(MyAppLocalizations.of(context).description), ), ); } }
이제 앱을 빌드하고 실행하면 지역 설정에 따라 영어 또는 한국어 문자열이 표시됩니다. 위의 단계를 따라하면 플러터 앱에서 다국어를 지원할 수 있습니다.