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());







댓글

이 블로그의 인기 게시물

파이썬 vscode에서 자동 코드 정렬. Formatter.

Unity3D git 저장소에 올릴때 필요없는 파일 제외하기. gitignore

플러터(flutter) 개발 참고 사이트들.