記事の内容
この記事では、Flutterで多言語化対応する方法を紹介します。
pubspec.ymlの変更
追記場所はここです。
dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter
pubspec.ymlを変更した後は、main.dartに戻って、「Get Dependencies」をクリックします。
ソースコードの説明
このclassで既存のプログラムをWrapすることで、多言語化対応が可能になります。
ExchangeShop
アプリの言語設定を知りたい場合は、このように取得します。
Locale _locale = Localizations.localeOf(context);
ここで、自分が多言語化対応させたいキーワードを定義していきます。
例では、titleを多言語化対応させています。
static Map<String, Map<String, String>> _localizedValues = { 'en': { 'title': 'Exchange Shop in Cebu', }, 'ja': { 'title': 'セブの両替所', }, };
サポートしたい言語を設定しています。
bool isSupported(Locale locale) => ['en', 'ja'].contains(locale.languageCode);
iOSの設定
iOSの場合は、さらに設定ファイルをいじる必要があります。
ios/Runner/info.plistの中に、「Localizations」を追加して、自分が使いたい言語を追加します。
参考リンク
この記事では、多言語化対応する方法を紹介しました。
わかりずらい箇所があれば、詳細はこの記事を読んでみて下さい。