flutter- 다국어 지원. easy_localization
* 라이브러리 사이트.
https://pub.dev/packages/easy_localization
* 라이브러리 설치.
flutter pub add easy_localization
* 설정.
- 폴더 생성 - assets/translations/
- 폴더에 다국어 파일 생성.
+ 예) en-US.json, ko-KR.json
{
"hello": "hello",
}
- main.dart 예시.
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:easy_localization/easy_localization.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
runApp(
EasyLocalization(
supportedLocales: [Locale('en', 'US'), Locale('ko', 'KR')],
path: 'assets/translations',
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: MyHomePage()
);
}
}
- IOS는 ios/Runner/Info.plist에 추가 설정이 필요 합니다. 라이브러리 사이트 참조.
* 사용 방법.
Text('hello').tr()
print('hello'.tr())
var title = tr('hello')
* 로케일 설정과 읽어오기.
context.setLocale(Locale('en', 'US'));
print(context.locale.toString());
댓글
댓글 쓰기