티스토리 뷰

공부

flutter phrase 적용하기

cho22 2023. 11. 8. 22:34
반응형

flutter 프로젝트에 다국어 처리로 phrase를 적용하기로 함. 


pub.dev phrase: https://pub.dev/packages/phrase

 

 

phrase | Flutter Package

Phrase Strings over-the-air translations library for Flutter

pub.dev


pub.dev에서 phrase가이드를 보니

phrase를 사용하기위해 우선 flutter 기본 문서의 다국어 처리를 하고, 그후에 phrase를 적용해야한다.

https://docs.flutter.dev/ui/accessibility-and-internationalization/internationalization

 

Internationalizing Flutter apps

How to internationalize your Flutter app.

docs.flutter.dev

 


플러터 프로젝트의 터미널에서 아래의 명령어를 입력하여 라이브러리를 추가해준다 

 flutter pub add flutter_localizations --sdk=flutter
 flutter pub add intl:any

phrase도 추가해준다

flutter pub add phrase

pubspec.yaml파일에 추가된것 확인

아래로 내려서 아래 내용 추가 

generate : true


프로젝트의 root directory에 새파일 생성 > l10n.yaml 생성한다 

arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

lib폴더 아래에 l10n폴더생성 한다, 

그 안에 새파일 > app_en.arb파일을 추가해준다. << phrase에서 추출해서 추가해줘야함

 

https://cho22.tistory.com/99 << 여기에 샘플 파일 있음

 

flutter phrase적용 - phrase 추출하기

https://us.phrase.com/idm-ui/dashboard https://us.phrase.com/idm-ui/logout us.phrase.com 언어추가 > en, ko추가해줌 (이 이름대로 파일명이 추출되니 app_en, app_ko로 하는게 좋은것같음, l10n.yaml 파일에서 설정한 이름이 a

cho22.tistory.com

 


아래의 명령어 실행하여 코드 제너레이트

flutter pub run phrase
flutter pub get

.dart_tool 아래에 생성된것 확인


코드에서 사용

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_gen/gen_l10n/phrase_localizations.dart';
import 'package:phrase/phrase.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      //..
      localizationsDelegates: PhraseLocalizations.localizationsDelegates,
      supportedLocales: PhraseLocalizations.supportedLocales,
    );
  }
}

위젯에서 사용 (helloWorld는 키값)

Text(AppLocalizations.of(context)!.helloWorld);

 

반응형

'공부' 카테고리의 다른 글

spring spring-boot-gradle-plugin 오류  (0) 2024.02.02
flutter phrase적용 - phrase 추출하기  (0) 2023.11.08
C언어 도서 대출 프로그램  (1) 2020.12.11
[C#] 값형식과 참조형식  (2) 2020.11.27
댓글