[flutter] 플러터 intl을 사용하기 위해서는 어떻게 해야 하나요?

플러터에서 intl을 사용하려면 다음 단계를 따라야 합니다.

  1. pubspec.yaml 파일을 열고, dependencies에 flutter_localizations 패키지를 추가합니다. 아래와 같이 작성합니다:

    dependencies:
      flutter:
        sdk: flutter
      flutter_localizations:
        sdk: flutter
    
  2. main.dart 파일을 열고, import 'package:flutter_localizations/flutter_localizations.dart'; 문을 추가합니다.

  3. MaterialApp 위젯의 localizationsDelegates 속성에 GlobalMaterialLocalizations.delegateGlobalWidgetsLocalizations.delegate를 추가합니다. 예시는 다음과 같습니다:

    MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('en', 'US'), // 영어
        const Locale('ko', 'KR'), // 한국어
        // ...여러 언어를 추가할 수 있습니다.
      ],
      // 위에서 추가한 언어들 중 기본 언어를 설정합니다.
      // 앱이 해당 언어를 지원하지 않을 때 기본 언어로 사용됩니다.
      localeResolutionCallback: (locale, supportedLocales) {
        for (var supportedLocale in supportedLocales) {
          if (supportedLocale.languageCode == locale.languageCode &&
              supportedLocale.countryCode == locale.countryCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      },
      // 다국어 설정을 위한 별도의 파일을 생성하고 빌드할 수도 있습니다.
      // 이 방법에 대한 자세한 내용은 플러터 공식 문서를 참조해주세요.
      // (https://flutter.dev/docs/development/accessibility-and-localization/internationalization)
      ...
    )
    
  4. 앱의 레이아웃에서 다국어 지원이 필요한 문자열들을 가져옵니다. 이때 MaterialLocalizations.of(context).xxxx를 사용하면 됩니다. 예시로 title 문자열을 가져오는 방법은 다음과 같습니다:

    String title = MaterialLocalizations.of(context).title;
    

플러터 intl을 사용하면 앱을 다양한 언어로 지원할 수 있게 됩니다. 자세한 내용은 공식 플러터 문서를 참조하세요.