Slackコミュニティに
無料で参加する
Flutterラボの
プレミアム会員になる
【Flutter】 コピペで簡単にアプリを多言語化する 〜②フロントで導入する〜
2020.12.01
はじめに
こちらの記事は『【Flutter】アプリを多言語化する ①〜パッケージの準備〜』の続きとなっております。まだご覧になっていない方はそちらからお願いいたします。
完成イメージ
フォルダの作成
libディレクトリにl10nフォルダを作成してください
Strings.dartを作成、編集する
import 'dart:async';
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'messages_all.dart';
class Strings {
static Future<Strings> load(Locale locale) {
final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();
final String localeName = Intl.canonicalizedLocale(name);
// ignore: strong_mode_uses_dynamic_as_bottom
return initializeMessages(localeName).then((_) {
Intl.defaultLocale = localeName;
return new Strings();
});
}
static Strings of(BuildContext context) {
return Localizations.of<Strings>(context, Strings);
}
static final Strings instance = new Strings();
String get title => Intl.message('Hatchout School', name: "title");
}
initializeMessagesにエラーが出ていると思いますが後に生成するmessages_all.dartによりエラーがなくなります。
Strings.dartを元にintl_messagesファイルを生成する
Flutterラボ
hatchoutschool
Flutter 有料記事
(12本)
![【Dart】Stringからint, double, DateTimeに変換する](https://assets.st-note.com/production/uploads/images/34579094/rectangle_large_type_2_57f8b9d22b8edd5dd7bcca6d883ef3fb.jpeg)
【Dart】Stringからint, double, DateTimeに変換する
2020.09.14
![【Dart】【Flutter】List型(リスト)の使い方とよく使うメソッドまとめ](https://assets.st-note.com/production/uploads/images/34640890/rectangle_large_type_2_9cd3518ec86a8d45eb0db093426082d1.jpeg)
【Dart】【Flutter】List型(リスト)の使い方とよく使うメソッドまとめ
2020.09.18
![【Dart】【Flutter】DateTime型についてのまとめ](https://assets.st-note.com/production/uploads/images/35816882/rectangle_large_type_2_5d153bec6a1387e9a7cd068fa193bae4.jpeg)
【Dart】【Flutter】DateTime型についてのまとめ
2020.10.01
![【Dart】Map型の使い方とよく使うメソッドまとめ](https://assets.st-note.com/production/uploads/images/34593663/rectangle_large_type_2_444b0971465392f471f0be9b1ce9b91b.jpeg)
【Dart】Map型の使い方とよく使うメソッドまとめ
2020.09.13