동도리 개발 로그
플러터(Flutter) - 다국어 처리 본문
반응형
앱에서 다국어 처리를 위해 Flutter 에서 제공하는 라이브러리를 사용해도되지만
나는 Getx를 사용하기 때문에 해당 라이브러리에서 제공하는 방식을 사용한다.
https://github.com/jonataslaw/getx/blob/master/README.ko-kr.md#%EA%B5%AD%EC%A0%9C%ED%99%94
이부분을 보면 포스팅 할 것도 없지만 잊어먹지 않기 위해서 하는 작업이니..
아래와 같이 messages.dart 파일을 생성한다. 위치는 아무곳이나
import 'package:get/get.dart';
import 'locale/en/en.dart';
import 'locale/ko/ko.dart';
class Messages extends Translations {
@override
Map<String, Map<String, String>> get keys =>{
'ko_KR': koKR,
'en_US': enUS
};
}
en.dart 과 ko.dart 파일을 각각 생성
//en.dart
const Map<String, String> enUS = {
'test' : 'TEST',
}
//ko.dart
const Map<String, String> koKR = {
'test' : '테스트',
}
경로만 잘 지정하고
main.dart 에서 GetMaterialApp에 추가해준다.
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetMaterialApp(
...
translations: Messages(),
local: Get.deviceLocale,
fallbackLocale: Locale('en', 'US'),
...
)
}
}
사용 방법은 .tr을 붙이면 번역본을 리턴해 줄 것이다.
Text('test'.tr);
반응형
'개발 > Flutter' 카테고리의 다른 글
Flutter(플러터) - Drift(Moor)클라이언트 DB를 ORM으로 사용하기 (sqlite) (0) | 2022.02.17 |
---|---|
Flutter(플러터) - UI를 마우스로 구축하는 곳이 있다? (0) | 2022.02.07 |
플러터(Flutter) - 지문인식 테스트 (0) | 2022.01.14 |
플러터(Flutter) 상태관리 GetX (0) | 2022.01.10 |
플러터(Flutter) 시작하기 - MacOS(Intel) (0) | 2022.01.07 |