[flutter] 플러터에서 훅(hook)을 활용하여 다국어 지원 기능 추가하기

앱을 만들 때 사용자들이 다양한 언어로 앱을 사용할 수 있도록 다국어 지원이 필요합니다. 플러터(Flutter)에서는 훅(hook)을 활용하여 간편하게 다국어 지원 기능을 추가할 수 있습니다.

1. 다국어 지원 패키지 추가하기

먼저, flutter_localizations 패키지를 pubspec.yaml 파일에 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  ...

그리고 MaterialApp 위젯에서 localizationsDelegatessupportedLocales를 설정합니다.

MaterialApp(
  localizationsDelegates: [
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
    ...
  ],
  supportedLocales: [
    const Locale('en', 'US'),
    const Locale('ko', 'KR'),
    ...
  ],
  ...
)

2. 훅을 사용하여 다국어 문자열 처리하기

useful 패키지를 이용하면 간편하게 현재 언어에 맞는 문자열을 가져올 수 있습니다.

import 'package:useful/useful.dart';

String title = useLocalized('home_title');
String description = useLocalized('home_description');

3. 리로드 없이 언어 변경 지원하기

flutter_localizations 패키지를 이용하여 앱 내에서 언어를 동적으로 변경할 수 있습니다. 해당 패키지를 이용하면 앱을 다시 로드하지 않고도 언어를 변경할 수 있습니다.

이제 플러터로 만든 앱에 간단히 훅을 활용하여 다국어 지원 기능을 추가할 수 있습니다. 이를 통해 사용자들은 자신이 선호하는 언어로 앱을 사용할 수 있어 더욱 편리하게 앱을 활용할 수 있습니다.

더 자세한 내용은 플러터 공식 문서를 참고할 수 있습니다.