[Flutter]カレンダーをローカライズするには?

Flutter

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

SfCalendarで表示するカレンダーをローカライズするには、どうしたらいいのでしょうか?

スポンサーリンク

方法

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

カレンダーをローカライズするには、「flutter_localize」ライブラリと「syncfusion_localizations」パッケージを使います。

パッケージとライブラリの導入

まず、必要なパッケージとライブラリを導入します。

「pubspec.yaml」に次のコードを追加し、「pub get」します

dependencies:
  flutter_localizations:
    sdk: flutter
  syncfusion_localizations: ^19.3.43

インポート

次に、必要なものをインポートします。

import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:syncfusion_localizations/syncfusion_localizations.dart';

ロケールの追加

そして、MaterialAppにロケールを追加します。

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        SfGlobalLocalizations.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(),
      ),
    );
  }

これで、SfCalendarで表示するカレンダー全てをローカライズすることが出来ます。

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
            child: SfCalendar(
      view: CalendarView.month,
    )));
  }
}

コメント

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