You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
app/lib/utils/CommonLocalizationsDelegate...

165 lines
3.7 KiB

import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
///语言(主要解决cupertino控件不能显示中文的问题)
class CommonLocalizationsDelegate
extends LocalizationsDelegate<CupertinoLocalizations> {
const CommonLocalizationsDelegate();
@override
bool isSupported(Locale locale) =>
<String>['zh', 'CN'].contains(locale.languageCode);
@override
SynchronousFuture<_DefaultCupertinoLocalizations> load(Locale locale) {
return SynchronousFuture<_DefaultCupertinoLocalizations>(
_DefaultCupertinoLocalizations(locale.languageCode));
}
@override
bool shouldReload(CommonLocalizationsDelegate old) => false;
}
class _DefaultCupertinoLocalizations extends CupertinoLocalizations {
_DefaultCupertinoLocalizations(this._languageCode)
: assert(_languageCode != null);
final String _languageCode;
static const List<String> _shortWeekdays = <String>[
'周一',
'周二',
'周三',
'周四',
'周五',
'周六',
'周日',
];
static const List<String> _shortMonths = <String>[
'一月',
'二月',
'三月',
'四月',
'五月',
'六月',
'七月',
'八月',
'九月',
'十月',
'十一月',
'十二月',
];
static const List<String> _months = <String>[
'一月',
'二月',
'三月',
'四月',
'五月',
'六月',
'七月',
'八月',
'九月',
'十月',
'十一月',
'十二月',
];
@override
String get alertDialogLabel => '提醒';
@override
String get anteMeridiemAbbreviation => "上午";
@override
String get postMeridiemAbbreviation => "下午";
@override
String get copyButtonLabel => "复制";
@override
String get cutButtonLabel => "剪切";
@override
String get pasteButtonLabel => "粘贴";
@override
String get selectAllButtonLabel => "全选";
@override
DatePickerDateOrder get datePickerDateOrder => DatePickerDateOrder.ymd;
@override
DatePickerDateTimeOrder get datePickerDateTimeOrder =>
DatePickerDateTimeOrder.date_time_dayPeriod;
@override
String datePickerDayOfMonth(int dayIndex) => dayIndex.toString();
@override
String datePickerHour(int hour) => hour.toString();
@override
String datePickerHourSemanticsLabel(int hour) => hour.toString();
@override
String datePickerMediumDate(DateTime date) {
return '${_shortWeekdays[date.weekday - DateTime.monday]} '
'${_shortMonths[date.month - DateTime.january]} '
'${date.day.toString().padRight(2)}';
}
@override
String datePickerMinute(int minute) => minute.toString().padLeft(2, '0');
@override
String datePickerMinuteSemanticsLabel(int minute) {
if (minute == 1) return '1 分钟';
return minute.toString() + ' 分钟';
}
@override
String datePickerMonth(int monthIndex) => _months[monthIndex - 1];
@override
String datePickerYear(int yearIndex) => yearIndex.toString();
@override
String timerPickerHour(int hour) => hour.toString();
@override
String timerPickerHourLabel(int hour) => '';
@override
String timerPickerMinute(int minute) => minute.toString();
@override
String timerPickerMinuteLabel(int minute) => '';
@override
String timerPickerSecond(int second) => second.toString();
@override
String timerPickerSecondLabel(int second) => '';
@override
String get todayLabel => "今天";
@override
String get modalBarrierDismissLabel => "";
@override
String tabSemanticsLabel({int tabIndex, int tabCount}) {
return "";
}
@override
List<String> get timerPickerHourLabels => [];
@override
List<String> get timerPickerMinuteLabels => [];
@override
List<String> get timerPickerSecondLabels => [];
}