Flutter Intl 다국어화 패키지 캘린더 언어 설정

    반응형

    * 다음 포스팅은 intl 패키지를 이용해 table_calendar 패키지의 언어를 한국어로 설정하는 방법에 대해서 다룹니다. 

    table_calendar 패키지의 사용방법에 대한 내용은 포함하고 있지 않으니 다음 포스팅을 참고해 주세요. 

    related : Table_Calendar 패키지 사용법 정리

    Intl Package

    쉽게 다른 패키지의 언어를 다른 언어로 업데이트 하도록 해주는 편리한 패키지이다. 

    앞서 정리한 table_calendar 패키지는 기본적으로 언어가 영어로 설정되어 있기에 (달/월/날짜 정보 등..) 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

     

     

    - pubspec.yaml 의존성 추가

    dependencies:
      flutter:
        sdk: flutter
      # The following adds the Cupertino Icons font to your application.
      # Use with the CupertinoIcons class for iOS style icons.
      cupertino_icons: ^1.0.2
      # calendar [달력] 패키지
      table_calendar: ^3.0.9
      # intl [다국어화] 패키지
      intl: ^0.18.1

     

    - main 함수에 라이브러리 import

    import 'package:flutter/material.dart';
    import 'package:intl/date_symbol_data_local.dart';
    
    void main() async{
      runApp(
        MaterialApp(
          home: Calendar(),
        ),
      );
    }

     

    - main 함수를 async로 변경한 뒤 관련 함수 실행

    WidgetsFlutterBinding.ensureInitialized()

    Flutter FrameWork가 실행되기 전에 필요한 패키지가 모두 준비 되었는 지 확인해 주는 메서드 이다.

    보통은 runApp method가 실행되면 자동으로 실행되는 메서드 이지만, runApp을 실행하기 전에 실행 해야 하는 코드가 따로 있다면, 메서드를 실행하기 이전에 외부에서 따로 명시해 주어야 한다. 

     

    initializeDateFormatting()

    intl 패키지와 함께 사용되는 메서드로, 각 지역의 언어 로케일에 맞게 설정해 주는 메서드이다. (예를 들어 미국의 경우 month/day/year 순으로 날짜를 표기하지만, 프랑스의 경우 day/month/year 순으로 날짜를 표기함.)

    void main() async{
      // Flutter FrameWork가 실행되기 전에 필요한 패키지가 모두 준비 되었는지 확인해 주는 메서드.
      // runApp method가 실행되면 자동으로 실행 되는 메서드 이지만, runApp을 실행하기 전에 실행 할 코드가 따로 있다면,
      // runApp 실행 부분 이전에 따로 코드로 명시해 주어야 한다.
      WidgetsFlutterBinding.ensureInitialized();
      await initializeDateFormatting();
      runApp(
        MaterialApp(
          home: HomeScreen(),
        ),
      );
    }

     

    - Calendar locale 파라미터 정보를 한국어로 설정

    locale : 캘린더 언어 정보를 설정해 주는 파라미터이다. 

    (intl 패키지 없이 그냥 등록 하면 에러가 발생함.)

    TableCalendar(
          locale: 'ko_KR',
          ...
    );

    반응형

    'AppDevelop > FlutterPackage' 카테고리의 다른 글

    Flutter Table_Calendar Package 사용법 정리  (0) 2023.09.03

    댓글

    Designed by JB FACTORY