5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Flutter】table_calendarを日本語で表示する

Last updated at Posted at 2022-03-23

はじめに

Flutterのパッケージでtable_calendarというものを最近使ってアプリ開発をしているのですが、見た目のカスタマイズが複雑でやりにくい上に日本語の記事が少ないようなので、自分が実装するついでにやり方をまとめてみます。

告知

この記事に書いてあるtable_calendarを使用している、
タスクカレンダーというアプリをリリースしました!
(まだ改善の余地がたくさんありますが、、)

コンセプトは、めちゃめちゃ手軽なカレンダー兼タスク管理アプリです。
普段は、めんどくさくてカレンダーアプリを使わないが、たまにある美容室の予定は忘れられない時など、ちょっとしたことを最低限の機能でストレスなく行えます。

table_calendarを使ってこんなアプリができるんだという参考にもなれば幸いです。

ぜひ一度、アプリを手に取ってみてください!!!

ダウンロードは下から可能です。

Google Play で手に入れよう    Download on the App Store

実装前の画面と実装後の画面

after.png
実装前の画面です。
月と曜日の表示が英語になっているので、今回はそれを日本語で表示したいと思います。

実装後です。
月のところの表記と、曜日のところの表記が日本語になっていることがわかると思います。
それではやっていきましょう!!

ステップ1

まずはTableCalendar()の中でlocaleというものを指定してあげましょう。

calendar.dart
TableCalendar(
    shouldFillViewport: true, //カレンダーの大きさを変えれるようにする奴、今回は気にしない
    locale: 'ja_JP' // 👈こちらの行を追加
),

これを指定してあげることで、ローカル、つまりどの言語を使用するか指定することができます。
しかし、Flutterが標準で用意してある、TableCalendar()には日本語対応されてないようなので、それを解決するために次のステップにいきましょう。

ステップ2

まずはpubspec.yamlファイルにintlというものを追加します。
これは、
メッセージの翻訳、複数形と性別、日付/番号のフォーマットと解析、双方向テキストなど、国際化とローカリゼーションの機能を提供します。 dart packages より引用。
要はここでは言語対応させるために必要なパッケージです。

pubspec.yaml
dependencies:
  flutter:
    sdk: flutter

  table_calendar: ^3.0.4
  intl: ^0.17.0 //この行を追加。インデントに注意してください。

intlのバージョンについてはこちらを確認して最新のものをお使いください。
そして追加したら、pubspec.yamlファイルの上にあるPub getボタンを押して読み込んであげてください。

ステップ3

main.dartファイルに記述を追加していきましょう。

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の表示を日本語に対応させることができました。
もし役にたったら、いいねしてくれたら嬉しいです!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?