回答編集履歴
1
もう一つのやり方を追記。
test
CHANGED
@@ -1,6 +1,22 @@
|
|
1
|
+
- 案1
|
1
|
-
mainのrunAppの前に```Intl.defaultLocale = Platform.localeName;```を入れたらどうでしょうか。
|
2
|
+
mainのrunAppの前に```Intl.defaultLocale = Platform.localeName;```を入れたらどうでしょうか。
|
2
|
-
Intlのフォーマットのための言語情報を```Intl.defaultLocale```から取得しているようなので。
|
3
|
+
Intlのフォーマットのための言語情報を```Intl.defaultLocale```から取得しているようなので。
|
3
4
|
|
4
|
-
OSの言語切り替え時の追従は、LocalizationsDelegateの派生を作り、その中でdefaultLocaleを変更するようにし、それをlocalizationsDelegatesに設定すればいいのだと思います。delegateを登録した場合はmainでの```Intl.defaultLocale = Platform.localeName;```は必要ないです。
|
5
|
+
OSの言語切り替え時の追従は、LocalizationsDelegateの派生を作り、その中でdefaultLocaleを変更するようにし、それをlocalizationsDelegatesに設定すればいいのだと思います。delegateを登録した場合はmainでの```Intl.defaultLocale = Platform.localeName;```は必要ないです。
|
5
6
|
|
6
|
-
Intl用のデフォルトのdelegateがあってもよさそうな感じがするのですが、それはなさそうです。
|
7
|
+
Intl用のデフォルトのdelegateがあってもよさそうな感じがするのですが、それはなさそうです。
|
8
|
+
|
9
|
+
- 案2
|
10
|
+
GlobalMaterialLocalizations.delegateをdelegateに使用しているようなので、以下の様にMaterialLocalizationsのformatShortDateを使用する。
|
11
|
+
formatShortDateはyMMMdの形式で出力するようなので。
|
12
|
+
```dart
|
13
|
+
@override
|
14
|
+
Widget build(BuildContext context) {
|
15
|
+
final d = MaterialLocalizations.of(context);
|
16
|
+
return Scaffold(
|
17
|
+
appBar: AppBar(
|
18
|
+
title: const Text("Text"),
|
19
|
+
),
|
20
|
+
body: Column(children: [
|
21
|
+
Text(d.formatShortDate(DateTime.now())),
|
22
|
+
```
|