플러터:다중언어
보이기
- 플러터:개요
- 플러터:실행
- 플러터:개념 잡기
- 권한 사용
- 위젯
- 플러터:DB연결
- 플러터:HIVE
- 플러터:Firebase(미완)
- 플러터:MySQL(미완)
- 디자인
- 편의
- 플러터:배포
- 플러터:배포(안드로이드)(미완)
- 플러터:배포(iOS)(미완)
- 플러터:참고자료
- 플러터:위젯
- 플러터:구글 AdMob(미완)
- 플러터:라이브러리
개요
flutter_localizations + intl + ARB 파일 구조로 만드는 것이 공식.
사전 작
패키지 설치
다음과 같은 형태로.
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: ^0.19.0
flutter:
generate: true
폴더 및 언어 파일 생성
lib/l10n/app_en.arb
{
"hello": "Hello",
"@hello": { // 사용되지 않는, 문자 설명용. 어디서 쓰는지 등등
"description": "Hello text"
},
"login": "Login"
}
lib/l10n/app_ko.arb
{
"hello": "안녕하세요",
"login": "로그인"
}
마테리얼 앱 설정
import 'package:flutter_localizations/flutter_localizations.dart';
import 'l10n/app_localizations.dart';
MaterialApp(
localizationsDelegates: const [
AppLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: const [
Locale('en'),
Locale('ko'),
],
)