플러터는 멀티플랫폼 앱 개발 프레임워크로, 다국어 지원은 앱의 사용자들에게 더 좋은 경험을 제공하는 중요한 기능입니다. 이번 글에서는 플러터에서 앱 다국어 처리를 위한 방법을 살펴보겠습니다.
1. 다국어 지원을 위한 패키지 설치
우선, 다국어 처리를 위해 플러터에서 제공하는 flutter_localizations
패키지를 설치해야 합니다. pubspec.yaml
파일에 다음과 같이 패키지를 추가해주세요:
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
설정이 완료되면 pubspec.yaml
파일이 있는 디렉토리에서 다음 명령어를 실행하여 패키지를 가져옵니다:
flutter pub get
2. 지원할 언어 추가하기
앱에서 지원할 언어를 정의해야 합니다. 이를 위해 MaterialApp
위젯의 supportedLocales
속성에 다음과 같이 사용할 언어를 목록으로 추가해주세요:
MaterialApp(
supportedLocales: [
Locale('en', 'US'), // 영어
Locale('ko', 'KR'), // 한국어
Locale('ja', 'JP'), // 일본어
// 추가 언어
],
// ...
)
new Locale() 생성자의 첫 번째 매개변수는 ISO 639-1 코드로 언어를, 두 번째 매개변수는 ISO 3166-1-alpha-2 코드로 국가를 나타냅니다.
3. 다국어 문자열 파일 작성
각 언어에 대한 다국어 문자열을 작성해야 합니다. 프로젝트의 lib
디렉토리에 l10n
디렉토리를 생성하고, 그 안에 intl_message.arb
파일을 생성하세요. 이 파일에 필요한 다국어 문자열을 작성합니다. 예를 들어:
{
"@@locale": "ar",
"hello": "مرحبًا",
"welcome": "أهلاً وسهلاً"
}
위와 같이 작성된 파일을 사용하여 다음과 같이 모든 지원하는 언어의 다국어 문자열을 작성합니다.
4. 앱에서 다국어 문자열 사용하기
이제 앱에서 다국어 문자열을 사용할 수 있습니다. intl_message.arb
파일을 기반으로 AppLocalizations
클래스를 생성합니다. 이 클래스는 앱에서 사용할 수 있는 다국어 문자열을 제공하는 역할을 합니다. AppLocalizations
클래스의 인스턴스를 생성하기 위해 Localizations
위젯과 Delegate
를 사용합니다. 예를 들어:
MaterialApp(
// ...
localizationsDelegates: [
AppLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
// ...
)
앱에서 다국어 문자열을 사용하기 위해서는 AppLocalizations.of(context)
를 호출하여 AppLocalizations
클래스의 인스턴스를 얻어와야 합니다. 예를 들어:
Text(
AppLocalizations.of(context).hello,
)
5. 다국어 변경 처리
마지막으로, 사용자가 언어를 변경할 때 앱이 해당 언어로 업데이트되도록 다국어 변경 처리를 해야 합니다. 예를 들어, 사용자가 언어 선택을 위한 드롭다운 메뉴가 있는 설정 화면을 추가할 수 있습니다. 사용자가 언어를 선택하면 앱이 해당 언어로 설정을 업데이트하도록 로직을 추가해주세요. 이후 앱이 다시 빌드되거나 화면이 다시 로드될 때 앱이 선택한 언어로 업데이트되게 됩니다.
플러터에서 앱 다국어 처리를 위해 위와 같은 단계를 따르면 쉽게 다국어 지원 앱을 개발할 수 있습니다. 앱의 사용자들에게 더 좋은 경험을 제공하기 위해 플러터의 다국어 처리 기능을 적극적으로 활용하세요.