[flutter/dart] [flutter] flutter_localizations 다국어 적용하는 방법

플러터 flutter_localizations 다국어 적용하는 방법

플러터에서 사용자의 언어 설정에 따른 다국어를 적용하는 방법에 대해 알아보겠습니다.

 

다국어 패키지 설치

우선 flutter_localizations 패키지를 설치하기 위해 아래 명령어를 실행합니다.

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

 

패키지 설치가 끝나고 pubspec.yaml 파일을 열어보면 아래와 같이 필요한 패키지가 설치된 것을 확인할 수 있습니다. 

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations: # 다국어 패키지
    sdk: flutter
  intl: any # 포맷 패키지

 

그러고 나서 pubspec.yaml 파일에 아래와 같이 generate: true 값을 추가합니다.

flutter:
  uses-material-design: true
  generate: true

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

l10n.yaml 파일 생성

이제 다국어 구성 파일인 l10n.yaml 파일을 프로젝트의 루트 경로에 생성하고 아래 코드를 추가합니다.

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

 

언어 파일 생성

마지막으로 지역별 언어를 정의하기 위해 lib/l10n/ 위치에 app_en.arb, app_ko.arb와 같이 앱에서 사용할 언어 파일을 만듭니다.

// lib/l10n/app_en.arb
{"hello": "Hello."}

// lib/l10n/app_ko.arb
{"hello": "안녕하세요."}

 

다국어 사용

다국어 적용을 위한 준비가 끝났습니다. 이제 앱 화면에 어떻게 적용하는지 알아보겠습니다.

import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; // Add this line
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; // Add this line
...

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Localization Tutorial',
      debugShowCheckedModeBanner: false,
      localizationsDelegates: const [
        AppLocalizations.delegate, // Add this line
        GlobalMaterialLocalizations.delegate, // Add this line
        GlobalWidgetsLocalizations.delegate, // Add this line
        GlobalCupertinoLocalizations.delegate, // Add this line
      ],
      supportedLocales: const [
        Locale('en'),
        Locale('ko'),
      ],
      theme: Themes.light,
      darkTheme: Themes.dark,
      home: const HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({super.key});
  
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Text(
        AppLocalizations.of(context)!.hello, // 다국어 사용
      ),
    );
  }
}[출처] https://dev-nam.tistory.com/51

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
24 [rust] Rust 언어 튜토리얼 졸리운_곰 2024.01.16 130
23 [rust] Learn X in Y minutes : Y분 안에 X를 배우세요 졸리운_곰 2023.11.27 175
22 [Kotlin]함수형 프로그래밍 초간단 이해하기 file 졸리운_곰 2023.09.04 119
21 [Kotlin] Eclipse를 이용한 Kotlin 작업환경 구성 file 졸리운_곰 2023.09.02 117
20 [kotlin] 이클립스에 코틀린 세팅하기 file 졸리운_곰 2023.09.02 136
19 [kotlin] [Kotlin] 기본 - Null 처리 '? / ?. / !! / ?: / lateinit / lazy' file 졸리운_곰 2023.09.02 117
» [flutter/dart] [flutter] flutter_localizations 다국어 적용하는 방법 졸리운_곰 2023.07.02 151
17 [flutter/dart] 플러터(Flutter) 다국어 대응하기 (Localization) file 졸리운_곰 2023.07.02 132
16 [flutter/dart] mac os x : fvm(Flutter Version Management) 설치 및 사용법 file 졸리운_곰 2023.07.01 162
15 [rust] Learn Rust in under 10 mins 졸리운_곰 2023.06.28 224
14 [flutter/dart] flutter - fvm 적용하기 (Futter Version Management) file 졸리운_곰 2023.06.24 186
13 [flutter/dart] Flutter fvm(Flutter Version Management) 사용하기 file 졸리운_곰 2023.06.23 275
12 [kotlin java] [코틀린/Kotlin] 기초 문법 정리 졸리운_곰 2023.06.08 126
11 [kotlin java] 이펙티브 코틀린 간단 정리 (Effective Kotlin) 졸리운_곰 2023.06.08 139
10 [kotlin java] 코틀린 기본 문법 요약 정리 강좌 - [kotlin/cheat sheet] file 졸리운_곰 2023.06.08 146
9 [rust] Rust 요약(메모리 관리) 졸리운_곰 2023.05.10 158
8 [rust] Rust 요약(기초) 졸리운_곰 2023.05.10 160
7 [rust programming] Rust 언어 튜토리얼 졸리운_곰 2023.05.04 181
6 [rust programming] Rust WebAssembly Front End Frameworks 프런트 엔드 프레임워크 졸리운_곰 2023.05.02 130
5 [go golang] Gin 소개 & 설치 (Introduction & Installation) file 졸리운_곰 2023.01.03 182
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED