flutter-localizing-apps は何をしますか?
Flutterアプリが複数の言語や地域をサポートするように設定します。アプリを国際市場や多様なユーザーのロケールに対応させる際に使用します。
概要
このスキルはFlutterアプリに国際化(i18n)と地域化(l10n)のサポートを追加するのに役立ちます。flutter_localizationsパッケージとintlパッケージを使用し、自動的にpubspec.yamlの設定、MaterialAppの構成、翻訳ファイルの生成を行います。
使用方法
pubspec.yamlに依存関係を追加します:
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: any
MaterialAppにローカライゼーションデリゲートを設定します:
import 'package:flutter_localizations/flutter_localizations.dart';
MaterialApp(
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: [
const Locale('en'), // 英語
const Locale('ja'), // 日本語
],
)
- 翻訳ファイル(ARB形式)を作成し、自動生成コマンドを実行します:
flutter gen-l10n
- 生成された
AppLocalizationsクラスをアプリ内で使用します:
Text(AppLocalizations.of(context)!.helloWorld)
注意事項
- ARBファイルは
lib/l10n/ディレクトリに配置します。 - サポートする言語ごとに
app_{locale}.arbという名前のファイルを作成します(例:app_en.arb、app_ja.arb)。 flutter gen-l10nの実行結果はlib/l10n/gen_l10n/に出力されます。