https://pub.dev/packages/easy_localization
easy_localization | Flutter package
Easy and Fast internationalizing and localization your Flutter Apps, this package simplify the internationalizing process .
pub.dev
앱에서 다국어 지원하려 할 때 사용가능한 easy_localization 패키지입니다.
assets
└── translations
├── ko.json
└── en.json
에셋폴더에 json파일을 만들어 사용해요.
ko.json
"gender": {
"male": "남성",
"female": "여성"
}
en.json
"gender": {
"male": "Male",
"female": "Female"
}
이렇게 json을 만들고
Text(
'gender.male'.tr(),
),
사용할 때에는 이렇게 사용합니다.
언어설정은
context.setLocale(
const Locale('ko'),
);
코드를 이용하여 설정할 수 있어요.
여기서 가장 궁금했던건...
시스템 언어에 따라 변경 가능한가 였어요.
찾아보니 easy_localization 패키지가 알아서 시스템 언어를 파악해주더라고요.
runApp(
EasyLocalization(
supportedLocales: const [Locale('ko'), Locale('en')],
path: 'assets/translations',
fallbackLocale: const Locale('en'),
child: const ProviderScope(child: MyApp()),
),
);
이렇게 코드를 작성해 놓으면 기본 언어(fallbackLocale)는 영어, 시스템 언어가 한국어이면 한국어로 나옵니다.
저장해놓은 언어 json이 한국어와 영어이기 때문에 시스템 언어가 다른 언어일 경우 무조건 영어로 나오고요.
언어 변환하면서 코딩하기가 조금 헷갈리기도 하고 은근 신경쓰였어요.
저는 하던것처럼 텍스트를 하드코딩 하다가 마지막에 한꺼번에 언어 설정하는게 오히려 더 편했습니다.
생각했던 것보다 다국어 설정이 쉬워서 놀랐습니다.
'공부내용' 카테고리의 다른 글
yolotest img (0) | 2025.01.08 |
---|---|
img (0) | 2024.12.14 |
위젯 내의 조건문 (0) | 2024.12.10 |
Geolocator 사용시 위치 권한 설정 방법 (0) | 2024.12.06 |
flutter 페이지 뒤로 갈 때 새로고침 하는 방법 (0) | 2024.11.26 |
댓글