どうも、ちょげ(@chogetarou)です。
TableCalendarの言語を変えるには、どうしたらいいのでしょうか?
方法

準備
まず、「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に設定した言語以外を指定するとエラーになります。)
コメント