본문 바로가기
모바일 공부/Flutter

intl ,

by chogigang 2024. 3. 23.

intl

메시지 번역, 복수형 및 성별, 날짜/숫자 형식 지정 및 구문 분석, 양방향 텍스트를 포함한 국제화 및 현지화 기능을 제공합니다.

 

 

이 라이브러리를 사용할려면 의존성을 추가해줘야 하며 터미널에서 진행 가능합니다

 

With Dart:

 $ dart pub add intl

With Flutter:

 $ flutter pub add intl

 

그러면 패키지의 pubspec.yaml에 다음과 같은 줄이 추가됩니다

 

사용할려면 import를 해줘야합니다 

 

import 'package:intl/intl.dart';

 

 

초기화 

모든 다양한 유형의 로케일 데이터에는 데이터를 사용할 수 있는지 확인하기 위한 비동기 초기화 단계가 필요합니다.

실제로 필요한 데이터만 로드하여 어플 크기가 줄어듭니다.

국제화의 각 영역(메시지, 날짜, 숫자)에는 별도의 초기화 프로세스가 필요합니다. 

애플리케이션이 날짜 형식만 지정하면 되는 경우 메시지, 숫자 또는 필요하지 않은 기타 항목을 로드하는 데

시간이나 공간이 필요하지 않습니다.

 

 

숫자 형식 지정 및 구문 분석 

숫자의 형식을 지정하려면 NumberFormat 인스턴스를 만듭니다.

var f = NumberFormat('###.0#', 'en_US');
print(f.format(12.345));
  ==> 12.35

날짜 형식화 및 구문 분석 

DateTime 형식을 지정하려면 DateFormat 인스턴스를 만듭니다 . 이는 ICU/CLDR에서 가져온 일반적으로 사용되는 뼈대 세트를 사용하거나 명시적인 패턴을 사용하여 생성될 수 있습니다. 지원되는 스켈레톤 및 패턴에 대한 자세한 내용은 DateFormat을 참조하세요 .

DateFormat.yMMMMEEEEd().format(aDateTime);
  ==> 'Wednesday, January 10, 2012'
DateFormat('EEEEE', 'en_US').format(aDateTime);
  ==> 'Wednesday'
DateFormat('EEEEE', 'ln').format(aDateTime);
  ==> 'mokɔlɔ mwa mísáto'

동일한 뼈대나 패턴을 사용하여 날짜를 구문 분석할 수도 있습니다.

DateFormat.yMd('en_US').parse('1/10/2012');
DateFormat('Hms', 'en_US').parse('14:23:01');

뼈대를 결합할 수 있으며, 주요 용도는 전체 날짜와 시간을 인쇄하는 것입니다. 예:

DateFormat.yMEd().add_jms().format(DateTime.now());
  ==> 'Thu, 5/23/2013 10:21:47 AM'

알려진 제한사항: 시간대는 아직 지원되지 않습니다. Dart DateTime 객체에는 시간대가 없으므로 현지 또는 UTC입니다. 기간 형식 지정 및 구문 분석은 아직 구현되지 않았습니다.

특정 로케일에 대해 DateTime 형식을 지정하기 전에 호출을 통해 적절한 데이터를 로드해야 합니다.

import 'package:intl/date_symbol_data_local.dart';
...
initializeDateFormatting('de_DE', null).then(formatDates);

초기화 호출에서 반환된 future가 반환되면 형식 지정 데이터를 사용할 수 있습니다.

날짜 형식 데이터를 로드하는 다른 메커니즘이 구현되어 있지만 위와 같이 데이터를 라이브러리에 저장하고 지연 로드를 사용하여 필요한 부분만 로드하는 방식을 선호하므로 이러한 메커니즘은 더 이상 사용되지 않을 것으로 예상됩니다. 당분간 여기에는 모든 데이터가 포함되므로 코드 크기가 늘어납니다.

 

이건 강좌 보던거 예제 인데 위 코드와 상관없지만 출력이 어떻게 되는지 보여주기 위해 올려둡니다.

 

 

 

 

intl 공식문서 

https://pub.dev/packages/intl

 

intl | Dart package

Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.

pub.dev

 

 

dart 시간 함수 사용 공식문서  

https://api.flutter.dev/flutter/intl/DateFormat-class.html

 

DateFormat class - intl library - Dart API

DateFormat class DateFormat is for formatting and parsing dates in a locale-sensitive manner. It allows the user to choose from a set of standard date time formats as well as specify a customized pattern under certain locales. Date elements that vary acros

api.flutter.dev

 

'모바일 공부 > Flutter' 카테고리의 다른 글

TextEditingController  (0) 2024.03.26
BottomSheet  (0) 2024.03.25
Spacer  (0) 2024.03.22
ListView  (0) 2024.03.19
UUID  (0) 2024.03.19