[Flutter]TableCalendarの言語を変えるには?

Flutter

どうも、ちょげ(@chogetarou)です。

TableCalendarの言語を変えるには、どうしたらいいのでしょうか?

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

準備

まず、「pubspec.yaml」ファイルに、以下のコードを追加し、「pub get」します。

dependencies:
  flutter_localizations:
    sdk: flutter

そして、インポートします。

import 'package:flutter_localizations/flutter_localizations.dart';

次に、MaterialAppに以下のコードを追加します。

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
       //使用できる言語
      supportedLocales: [
        const Locale('zh'),
        const Locale('ar'),
        const Locale('ja'),
      ],
      locale: const Locale('ja'),
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Test'),
        ),
        body: Test(),
      ),
    );
  }

ここまでで言語を変えるための準備が出来ました。

言語を変える

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
            child: TableCalendar(
      firstDay: DateTime(DateTime.now().year - 3),
      lastDay: DateTime(DateTime.now().year + 3),
      focusedDay: DateTime.now(),
      locale: 'ja',
    )));
  }

言語を変えるには、TableCalendarの引数「locale」を使います。

「locale」に指定した文字列によって、言語が切り替わります。(MaterialAppのsupportedLocalesに設定した言語以外を指定するとエラーになります。)

コメント

タイトルとURLをコピーしました