【Flutter】table_calendarを日本語で表示する
はじめに
Flutterのパッケージでtable_calendarというものを最近使ってアプリ開発をしているのですが、見た目のカスタマイズが複雑でやりにくい上に日本語の記事が少ないようなので、自分が実装するついでにやり方をまとめてみます。
実装前の画面と実装後の画面
実装前の画面です。
月と曜日の表示が英語になっているので、今回はそれを日本語で表示したいと思います。
実装後です。
月のところの表記と、曜日のところの表記が日本語になっていることがわかると思います。
それではやっていきましょう!!
ステップ1
まずはTableCalendar()
の中でlocale
というものを指定してあげましょう。
TableCalendar(
shouldFillViewport: true, //カレンダーの大きさを変えれるようにする奴、今回は気にしない
locale: 'ja_JP' // 👈こちらの行を追加
),
これを指定してあげることで、ローカル、つまりどの言語を使用するか指定することができます。
しかし、Flutterが標準で用意してある、TableCalendar()
には日本語対応されてないようなので、それを解決するために次のステップにいきましょう。
ステップ2
まずはpubspec.yaml
ファイルにintl
というものを追加します。
これは、
メッセージの翻訳、複数形と性別、日付/番号のフォーマットと解析、双方向テキストなど、国際化とローカリゼーションの機能を提供します。 dart packages より引用。
要はここでは言語対応させるために必要なパッケージです。
dependencies:
flutter:
sdk: flutter
table_calendar: ^3.0.4
intl: ^0.17.0 //この行を追加。インデントに注意してください。
intl
のバージョンについてはこちらを確認して最新のものをお使いください。
そして追加したら、pubspec.yaml
ファイルの上にあるPub get
ボタンを押して読み込んであげてください。
ステップ3
main.dart
ファイルに記述を追加していきましょう。
import 'package:intl/date_symbol_data_local.dart'; //intlインポートする
void main() {
//runApp(const MyApp());
initializeDateFormatting('ja').then((_) => runApp(MyApp())); //上の記述をこちらに変更します
}
自分はinitializeDateFormatting('ja')
じゃなくて、initializeDateFormatting()
という記述でも実装することができました。
正確には書いた方が良さそうなので書いときましょう。
これで完了です!!
最後に
intl
パッケージを使うことで簡単にtable_calendar
の表示を日本語に対応させることができました。
Author And Source
この問題について(【Flutter】table_calendarを日本語で表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/mqkotoo/items/4e5324c8f13beb8e264c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .