min_chan님의 블로그

[pub.dev] - intl 본문

pub.dev

[pub.dev] - intl

min_chan 2025. 3. 17. 15:21


intl이란?

 

intlFlutter에서 다국어 지원과 날짜/숫자 포맷팅을 쉽게 할 수 있도록 도와주는 패키지다.

해당 패키지는 앱을 국제화 및 현지화, 날짜와 숫자를 다양한 로케일 형식으로 변환할 수 있는 기능을 제공한다.

  • 메시지 번역 (문자열 다국어 지원)
  • 복수형 및 성별 구분 번역 (Plurals, Genders)
  • 날짜 및 숫자 형식 변환 (Formatting)
  • 양방향 텍스트 처리 (Bidirectional Text)

intl사용법

1. 패키지 설치

  • 터미널에서 pub add 명령어를 실행해 해당 패키지를 설치한다.

 

2. 로케일(Locale) 설정 및 사용

  • 2.1 기본 로케일 설정 (앱 전체에서 사용할 로케일 설정)
import 'package:intl/intl.dart';

void main() {
  Intl.defaultLocale = 'ko_KR'; // 한국어 기본 로케일 설정
}

 

 

  • 2.2 특정 작업에서 로케일 변경
Intl.withLocale('fr_FR', () {
  print(DateFormat.yMMMMd().format(DateTime.now())); // 프랑스어 날짜 형식 적용
});

 

3. 날짜 포맷팅

  • 국가별 날짜 형식에 맞춰 포맷팅
import 'package:intl/intl.dart';

void main() {
  DateTime now = DateTime.now();
  String formattedDate = DateFormat.yMMMMd('en_US').format(now);
  print(formattedDate); // 예: January 15, 2025
}

 

4. 숫자 포맷팅

  • 숫자를 국가별 형식에 맞춰 포맷팅
var numberFormat = NumberFormat('#,##0.00', 'en_US');
print(numberFormat.format(1234567.89)); // 1,234,567.89

 

  • 통화(currency) 형식으로 변환하여 포맷팅
var currencyFormat = NumberFormat.currency(locale: 'ko_KR', symbol: '₩');
print(currencyFormat.format(1234567.89)); // ₩1,234,567.89

 

5. 다국어 지원 (번역 처리)

  • Intl.message를 사용하여 번역 가능한 메시지를 정의할 수 있다.
import 'package:intl/intl.dart';

String greetingMessage(String name) => Intl.message(
  'Hello $name!',
  name: 'greetingMessage',
  args: [name],
  desc: '사용자가 앱을 처음 실행할 때 인사말 메시지'
);

void main() {
  print(greetingMessage('John')); // Hello John!
}

 

'pub.dev' 카테고리의 다른 글

[pub.dev] - dio  (0) 2025.03.14
[pub.dev] - http  (0) 2025.03.13
[pub.dev] - flutter_secure_storage  (0) 2025.03.05
[pub.dev] - flutter_dotenv  (0) 2025.02.27
[pub.dev] - provider  (0) 2025.02.24