123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- import 'package:flutter/foundation.dart' show SynchronousFuture;
- import 'package:flutter/cupertino.dart';
- class CupertinoLocalizationsDelegate
- extends LocalizationsDelegate<CupertinoLocalizations> {
- const CupertinoLocalizationsDelegate();
- @override
- bool isSupported(Locale locale) =>
- <String>['en', 'zh'].contains(locale.languageCode);
- @override
- SynchronousFuture<_DefaultCupertinoLocalizations> load(Locale locale) {
- return SynchronousFuture<_DefaultCupertinoLocalizations>(
- _DefaultCupertinoLocalizations(locale.languageCode));
- }
- @override
- bool shouldReload(CupertinoLocalizationsDelegate old) => false;
- }
- class _DefaultCupertinoLocalizations extends CupertinoLocalizations {
- _DefaultCupertinoLocalizations(this._languageCode)
- : assert(_languageCode != null);
- final DefaultCupertinoLocalizations _en =
- const DefaultCupertinoLocalizations();
- final String _languageCode;
- final Map<String, Map<String, String>> _dict = <String, Map<String, String>>{
- 'en': <String, String>{
- 'alert': 'Alert',
- 'copy': 'Copy',
- 'paste': 'Paste',
- 'cut': 'Cut',
- 'selectAll': 'Select all',
- 'today': 'today'
- },
- 'zh': <String, String>{
- 'alert': '警告',
- 'copy': '复制',
- 'paste': '粘贴',
- 'cut': '剪切',
- 'selectAll': '选择全部',
- 'today': '今天'
- }
- };
- @override
- String get alertDialogLabel => _get('alert');
- @override
- String get anteMeridiemAbbreviation => _en.anteMeridiemAbbreviation;
- @override
- String get postMeridiemAbbreviation => _en.postMeridiemAbbreviation;
- @override
- String get copyButtonLabel => _get('copy');
- @override
- String get cutButtonLabel => _get('cut');
- @override
- String get pasteButtonLabel => _get('paste');
- @override
- String get selectAllButtonLabel => _get('selectAll');
- @override
- DatePickerDateOrder get datePickerDateOrder => _en.datePickerDateOrder;
- @override
- DatePickerDateTimeOrder get datePickerDateTimeOrder =>
- _en.datePickerDateTimeOrder;
- @override
- String datePickerDayOfMonth(int dayIndex) =>
- _en.datePickerDayOfMonth(dayIndex);
- @override
- String datePickerHour(int hour) => _en.datePickerHour(hour);
- @override
- String datePickerHourSemanticsLabel(int hour) =>
- _en.datePickerHourSemanticsLabel(hour);
- @override
- String datePickerMediumDate(DateTime date) => _en.datePickerMediumDate(date);
- @override
- String datePickerMinute(int minute) => _en.datePickerMinute(minute);
- @override
- String datePickerMinuteSemanticsLabel(int minute) =>
- _en.datePickerMinuteSemanticsLabel(minute);
- @override
- String datePickerMonth(int monthIndex) => _en.datePickerMonth(monthIndex);
- @override
- String datePickerYear(int yearIndex) => _en.datePickerYear(yearIndex);
- @override
- String timerPickerHour(int hour) => _en.timerPickerHour(hour);
- @override
- String timerPickerHourLabel(int hour) => _en.timerPickerHourLabel(hour);
- @override
- String timerPickerMinute(int minute) => _en.timerPickerMinute(minute);
- @override
- String timerPickerMinuteLabel(int minute) =>
- _en.timerPickerMinuteLabel(minute);
- @override
- String timerPickerSecond(int second) => _en.timerPickerSecond(second);
- @override
- String timerPickerSecondLabel(int second) =>
- _en.timerPickerSecondLabel(second);
- String _get(String key) {
- return _dict[_languageCode]?[key]?? "";
- }
- @override
- String get todayLabel => _get("today");
- @override
- String get modalBarrierDismissLabel => _en.modalBarrierDismissLabel;
- @override
- String get searchTextFieldPlaceholderLabel => _en.searchTextFieldPlaceholderLabel;
- @override
- String tabSemanticsLabel({required int tabIndex, required int tabCount}) => _en.tabSemanticsLabel(tabIndex: tabIndex, tabCount: tabCount);
- @override
- List<String> get timerPickerHourLabels => _en.timerPickerHourLabels;
- @override
- List<String> get timerPickerMinuteLabels => _en.timerPickerMinuteLabels;
- @override
- List<String> get timerPickerSecondLabels => _en.timerPickerSecondLabels;
- }
|