mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-11-01 09:57:46 +00:00
941 lines
22 KiB
Dart
941 lines
22 KiB
Dart
|
import 'dart:async';
|
|||
|
|
|||
|
import 'package:flutter/cupertino.dart';
|
|||
|
import 'package:flutter/foundation.dart';
|
|||
|
import 'package:flutter/material.dart';
|
|||
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|||
|
import 'package:intl/date_symbol_data_custom.dart' as date_symbol_data_custom;
|
|||
|
import 'package:intl/date_symbols.dart' as intl;
|
|||
|
import 'package:intl/intl.dart' as intl;
|
|||
|
|
|||
|
// #docregion Date
|
|||
|
const haLocaleDatePatterns = {
|
|||
|
'd': 'd.',
|
|||
|
'E': 'ccc',
|
|||
|
'EEEE': 'cccc',
|
|||
|
'LLL': 'LLL',
|
|||
|
// #enddocregion Date
|
|||
|
'LLLL': 'LLLL',
|
|||
|
'M': 'L.',
|
|||
|
'Md': 'd.M.',
|
|||
|
'MEd': 'EEE d.M.',
|
|||
|
'MMM': 'LLL',
|
|||
|
'MMMd': 'd. MMM',
|
|||
|
'MMMEd': 'EEE d. MMM',
|
|||
|
'MMMM': 'LLLL',
|
|||
|
'MMMMd': 'd. MMMM',
|
|||
|
'MMMMEEEEd': 'EEEE d. MMMM',
|
|||
|
'QQQ': 'QQQ',
|
|||
|
'QQQQ': 'QQQQ',
|
|||
|
'y': 'y',
|
|||
|
'yM': 'M.y',
|
|||
|
'yMd': 'd.M.y',
|
|||
|
'yMEd': 'EEE d.MM.y',
|
|||
|
'yMMM': 'MMM y',
|
|||
|
'yMMMd': 'd. MMM y',
|
|||
|
'yMMMEd': 'EEE d. MMM y',
|
|||
|
'yMMMM': 'MMMM y',
|
|||
|
'yMMMMd': 'd. MMMM y',
|
|||
|
'yMMMMEEEEd': 'EEEE d. MMMM y',
|
|||
|
'yQQQ': 'QQQ y',
|
|||
|
'yQQQQ': 'QQQQ y',
|
|||
|
'H': 'HH',
|
|||
|
'Hm': 'HH:mm',
|
|||
|
'Hms': 'HH:mm:ss',
|
|||
|
'j': 'HH',
|
|||
|
'jm': 'HH:mm',
|
|||
|
'jms': 'HH:mm:ss',
|
|||
|
'jmv': 'HH:mm v',
|
|||
|
'jmz': 'HH:mm z',
|
|||
|
'jz': 'HH z',
|
|||
|
'm': 'm',
|
|||
|
'ms': 'mm:ss',
|
|||
|
's': 's',
|
|||
|
'v': 'v',
|
|||
|
'z': 'z',
|
|||
|
'zzzz': 'zzzz',
|
|||
|
'ZZZZ': 'ZZZZ',
|
|||
|
};
|
|||
|
|
|||
|
// #docregion Date2
|
|||
|
const haDateSymbols = {
|
|||
|
'NAME': 'ha',
|
|||
|
'ERAS': <dynamic>[
|
|||
|
'f.Kr.',
|
|||
|
'e.Kr.',
|
|||
|
],
|
|||
|
// #enddocregion Date2
|
|||
|
'ERANAMES': <dynamic>[
|
|||
|
'kafin Kristi',
|
|||
|
'bayan Kristi',
|
|||
|
],
|
|||
|
'NARROWMONTHS': <dynamic>[
|
|||
|
'J',
|
|||
|
'F',
|
|||
|
'M',
|
|||
|
'A',
|
|||
|
'M',
|
|||
|
'J',
|
|||
|
'J',
|
|||
|
'A',
|
|||
|
'S',
|
|||
|
'O',
|
|||
|
'N',
|
|||
|
'D',
|
|||
|
],
|
|||
|
'STANDALONENARROWMONTHS': <dynamic>[
|
|||
|
'J',
|
|||
|
'F',
|
|||
|
'M',
|
|||
|
'A',
|
|||
|
'M',
|
|||
|
'J',
|
|||
|
'J',
|
|||
|
'A',
|
|||
|
'S',
|
|||
|
'O',
|
|||
|
'N',
|
|||
|
'D',
|
|||
|
],
|
|||
|
'MONTHS': <dynamic>[
|
|||
|
'janairu',
|
|||
|
'faburairu',
|
|||
|
'maris',
|
|||
|
'afrilu',
|
|||
|
'mayu',
|
|||
|
'yuni',
|
|||
|
'yuli',
|
|||
|
'agusta',
|
|||
|
'satumba',
|
|||
|
'oktoba',
|
|||
|
'nuwamba',
|
|||
|
'disamba',
|
|||
|
],
|
|||
|
'STANDALONEMONTHS': <dynamic>[
|
|||
|
'janairu',
|
|||
|
'faburairu',
|
|||
|
'maris',
|
|||
|
'afrilu',
|
|||
|
'mayu',
|
|||
|
'yuni',
|
|||
|
'yuli',
|
|||
|
'agusta',
|
|||
|
'satumba',
|
|||
|
'oktoba',
|
|||
|
'nuwamba',
|
|||
|
'disamba',
|
|||
|
],
|
|||
|
'SHORTMONTHS': <dynamic>[
|
|||
|
'jan.',
|
|||
|
'feb.',
|
|||
|
'mar.',
|
|||
|
'apr.',
|
|||
|
'mai',
|
|||
|
'jun.',
|
|||
|
'jul.',
|
|||
|
'aug.',
|
|||
|
'sep.',
|
|||
|
'okt.',
|
|||
|
'nov.',
|
|||
|
'des.',
|
|||
|
],
|
|||
|
'STANDALONESHORTMONTHS': <dynamic>[
|
|||
|
'jan',
|
|||
|
'feb',
|
|||
|
'mar',
|
|||
|
'apr',
|
|||
|
'mai',
|
|||
|
'jun',
|
|||
|
'jul',
|
|||
|
'aug',
|
|||
|
'sep',
|
|||
|
'okt',
|
|||
|
'nov',
|
|||
|
'des',
|
|||
|
],
|
|||
|
'WEEKDAYS': <dynamic>[
|
|||
|
'lahadi',
|
|||
|
'litinin',
|
|||
|
'talata',
|
|||
|
'laraba',
|
|||
|
'alhamis',
|
|||
|
'jummaʼa',
|
|||
|
'asabar',
|
|||
|
],
|
|||
|
'STANDALONEWEEKDAYS': <dynamic>[
|
|||
|
'lahadi',
|
|||
|
'litinin',
|
|||
|
'talata',
|
|||
|
'laraba',
|
|||
|
'alhamis',
|
|||
|
'jummaʼa',
|
|||
|
'asabar',
|
|||
|
],
|
|||
|
'SHORTWEEKDAYS': <dynamic>[
|
|||
|
'lah.',
|
|||
|
'lit.',
|
|||
|
'tal.',
|
|||
|
'lar.',
|
|||
|
'alh.',
|
|||
|
'jum.',
|
|||
|
'asa.',
|
|||
|
],
|
|||
|
'STANDALONESHORTWEEKDAYS': <dynamic>[
|
|||
|
'lah.',
|
|||
|
'lit.',
|
|||
|
'tal.',
|
|||
|
'lar.',
|
|||
|
'alh.',
|
|||
|
'jum.',
|
|||
|
'asa.',
|
|||
|
],
|
|||
|
'NARROWWEEKDAYS': <dynamic>[
|
|||
|
'L',
|
|||
|
'L',
|
|||
|
'T',
|
|||
|
'L',
|
|||
|
'A',
|
|||
|
'J',
|
|||
|
'A',
|
|||
|
],
|
|||
|
'STANDALONENARROWWEEKDAYS': <dynamic>[
|
|||
|
'L',
|
|||
|
'L',
|
|||
|
'T',
|
|||
|
'L',
|
|||
|
'A',
|
|||
|
'J',
|
|||
|
'A',
|
|||
|
],
|
|||
|
'SHORTQUARTERS': <dynamic>[
|
|||
|
'K1',
|
|||
|
'K2',
|
|||
|
'K3',
|
|||
|
'K4',
|
|||
|
],
|
|||
|
'QUARTERS': <dynamic>[
|
|||
|
'1. quarter',
|
|||
|
'2. quarter',
|
|||
|
'3. quarter',
|
|||
|
'4. quarter',
|
|||
|
],
|
|||
|
'AMPMS': <dynamic>[
|
|||
|
'a.m.',
|
|||
|
'p.m.',
|
|||
|
],
|
|||
|
'DATEFORMATS': <dynamic>[
|
|||
|
'EEEE d. MMMM y',
|
|||
|
'd. MMMM y',
|
|||
|
'd. MMM y',
|
|||
|
'dd.MM.y',
|
|||
|
],
|
|||
|
'TIMEFORMATS': <dynamic>[
|
|||
|
'HH:mm:ss zzzz',
|
|||
|
'HH:mm:ss z',
|
|||
|
'HH:mm:ss',
|
|||
|
'HH:mm',
|
|||
|
],
|
|||
|
'AVAILABLEFORMATS': null,
|
|||
|
'FIRSTDAYOFWEEK': 0,
|
|||
|
'WEEKENDRANGE': <dynamic>[
|
|||
|
5,
|
|||
|
6,
|
|||
|
],
|
|||
|
'FIRSTWEEKCUTOFFDAY': 3,
|
|||
|
'DATETIMEFORMATS': <dynamic>[
|
|||
|
'{1} {0}',
|
|||
|
'{1} \'kl\'. {0}',
|
|||
|
'{1}, {0}',
|
|||
|
'{1}, {0}',
|
|||
|
],
|
|||
|
};
|
|||
|
|
|||
|
// #docregion Delegate
|
|||
|
class _HaMaterialLocalizationsDelegate extends LocalizationsDelegate<MaterialLocalizations> {
|
|||
|
const _HaMaterialLocalizationsDelegate();
|
|||
|
|
|||
|
@override
|
|||
|
bool isSupported(Locale locale) => locale.languageCode == 'ha';
|
|||
|
|
|||
|
@override
|
|||
|
Future<MaterialLocalizations> load(Locale locale) async {
|
|||
|
final String localeName = intl.Intl.canonicalizedLocale(locale.toString());
|
|||
|
|
|||
|
// The locale (in this case `ha`) needs to be initialized into the custom
|
|||
|
// date symbols and patterns setup that Flutter uses.
|
|||
|
date_symbol_data_custom.initializeDateFormattingCustom(
|
|||
|
locale: localeName,
|
|||
|
patterns: haLocaleDatePatterns,
|
|||
|
symbols: intl.DateSymbols.deserializeFromMap(haDateSymbols),
|
|||
|
);
|
|||
|
|
|||
|
return SynchronousFuture<MaterialLocalizations>(
|
|||
|
HaMaterialLocalizations(
|
|||
|
localeName: localeName,
|
|||
|
// The `intl` library's NumberFormat class is generated from CLDR data
|
|||
|
// (see https://github.com/dart-lang/intl/blob/master/lib/number_symbols_data.dart).
|
|||
|
// Unfortunately, there is no way to use a locale that isn't defined in
|
|||
|
// this map and the only way to work around this is to use a listed
|
|||
|
// locale's NumberFormat symbols. So, here we use the number formats
|
|||
|
// for 'en_US' instead.
|
|||
|
decimalFormat: intl.NumberFormat('#,##0.###', 'en_US'),
|
|||
|
twoDigitZeroPaddedFormat: intl.NumberFormat('00', 'en_US'),
|
|||
|
// DateFormat here will use the symbols and patterns provided in the
|
|||
|
// `date_symbol_data_custom.initializeDateFormattingCustom` call above.
|
|||
|
// However, an alternative is to simply use a supported locale's
|
|||
|
// DateFormat symbols, similar to NumberFormat above.
|
|||
|
fullYearFormat: intl.DateFormat('y', localeName),
|
|||
|
compactDateFormat: intl.DateFormat('yMd', localeName),
|
|||
|
shortDateFormat: intl.DateFormat('yMMMd', localeName),
|
|||
|
mediumDateFormat: intl.DateFormat('EEE, MMM d', localeName),
|
|||
|
longDateFormat: intl.DateFormat('EEEE, MMMM d, y', localeName),
|
|||
|
yearMonthFormat: intl.DateFormat('MMMM y', localeName),
|
|||
|
shortMonthDayFormat: intl.DateFormat('MMM d', localeName),
|
|||
|
),
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
@override
|
|||
|
bool shouldReload(_HaMaterialLocalizationsDelegate old) => false;
|
|||
|
}
|
|||
|
|
|||
|
// #enddocregion Delegate
|
|||
|
class HaMaterialLocalizations extends GlobalMaterialLocalizations {
|
|||
|
const HaMaterialLocalizations({
|
|||
|
super.localeName = 'ha',
|
|||
|
required super.fullYearFormat,
|
|||
|
required super.compactDateFormat,
|
|||
|
required super.shortDateFormat,
|
|||
|
required super.mediumDateFormat,
|
|||
|
required super.longDateFormat,
|
|||
|
required super.yearMonthFormat,
|
|||
|
required super.shortMonthDayFormat,
|
|||
|
required super.decimalFormat,
|
|||
|
required super.twoDigitZeroPaddedFormat,
|
|||
|
});
|
|||
|
|
|||
|
// #docregion Getters
|
|||
|
@override
|
|||
|
String get moreButtonTooltip => r'Zaɓi';
|
|||
|
|
|||
|
@override
|
|||
|
String get aboutListTileTitleRaw => r'Dake ɓoye $applicationname';
|
|||
|
|
|||
|
@override
|
|||
|
String get alertDialogLabel => r'Alert';
|
|||
|
|
|||
|
// #enddocregion Getters
|
|||
|
|
|||
|
@override
|
|||
|
String get anteMeridiemAbbreviation => r'AM';
|
|||
|
|
|||
|
@override
|
|||
|
String get backButtonTooltip => r'Farawa';
|
|||
|
|
|||
|
@override
|
|||
|
String get cancelButtonLabel => r'KANƘO';
|
|||
|
|
|||
|
@override
|
|||
|
String get closeButtonLabel => r'SHIGA';
|
|||
|
|
|||
|
@override
|
|||
|
String get closeButtonTooltip => r'Shiga';
|
|||
|
|
|||
|
@override
|
|||
|
String get collapsedIconTapHint => r'Fara';
|
|||
|
|
|||
|
@override
|
|||
|
String get continueButtonLabel => r'CI GABA';
|
|||
|
|
|||
|
@override
|
|||
|
String get copyButtonLabel => r'KOPIYA';
|
|||
|
|
|||
|
@override
|
|||
|
String get cutButtonLabel => r'ƘIRƘIRI';
|
|||
|
|
|||
|
@override
|
|||
|
String get deleteButtonTooltip => r'Kashe';
|
|||
|
|
|||
|
@override
|
|||
|
String get dialogLabel => r'Dialog';
|
|||
|
|
|||
|
@override
|
|||
|
String get drawerLabel => r'Meniyar tebur';
|
|||
|
|
|||
|
@override
|
|||
|
String get expandedIconTapHint => r'Faɗa';
|
|||
|
|
|||
|
@override
|
|||
|
String get firstPageTooltip => r'Ta baya';
|
|||
|
|
|||
|
@override
|
|||
|
String get hideAccountsLabel => r'Soke akaunti';
|
|||
|
|
|||
|
@override
|
|||
|
String get lastPageTooltip => r'Ta gaba';
|
|||
|
|
|||
|
@override
|
|||
|
String get licensesPageTitle => r'Lisansu';
|
|||
|
|
|||
|
@override
|
|||
|
String get modalBarrierDismissLabel => r'So';
|
|||
|
|
|||
|
@override
|
|||
|
String get nextMonthTooltip => r'Watan gobe';
|
|||
|
|
|||
|
@override
|
|||
|
String get nextPageTooltip => r'Wani babban daidaita';
|
|||
|
|
|||
|
@override
|
|||
|
String get okButtonLabel => r'OK';
|
|||
|
|
|||
|
@override
|
|||
|
// A custom drawer tooltip message.
|
|||
|
String get openAppDrawerTooltip => r'Taƙaitacciyar Menu na Nauyi';
|
|||
|
|
|||
|
// #docregion Raw
|
|||
|
@override
|
|||
|
String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow daga $rowCount';
|
|||
|
|
|||
|
@override
|
|||
|
String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow daga takwas $rowCount';
|
|||
|
// #enddocregion Raw
|
|||
|
|
|||
|
@override
|
|||
|
String get pasteButtonLabel => r'BANDA';
|
|||
|
|
|||
|
@override
|
|||
|
String get popupMenuLabel => r'Meniyar Kasuwa';
|
|||
|
|
|||
|
@override
|
|||
|
String get menuBarMenuLabel => r'Gargajiya na menu';
|
|||
|
|
|||
|
@override
|
|||
|
String get postMeridiemAbbreviation => r'PM';
|
|||
|
|
|||
|
@override
|
|||
|
String get previousMonthTooltip => r'Watan gabas';
|
|||
|
|
|||
|
@override
|
|||
|
String get previousPageTooltip => r'Wani babban hanya';
|
|||
|
|
|||
|
@override
|
|||
|
String get refreshIndicatorSemanticLabel => r'Nada';
|
|||
|
|
|||
|
@override
|
|||
|
String? get remainingTextFieldCharacterCountFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get remainingTextFieldCharacterCountMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get remainingTextFieldCharacterCountOne => r'1 haruffa baki';
|
|||
|
|
|||
|
@override
|
|||
|
String get remainingTextFieldCharacterCountOther => r'$remainingCount haruffa baki';
|
|||
|
|
|||
|
@override
|
|||
|
String? get remainingTextFieldCharacterCountTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get remainingTextFieldCharacterCountZero => r'Ba a nan rubutu sosai';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemDown => r'A sake ƙasa';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemLeft => r'A sake hagu';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemRight => r'A sake dama';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemToEnd => r'A sake zuwa tamu';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemToStart => r'A sake zuwa farko';
|
|||
|
|
|||
|
@override
|
|||
|
String get reorderItemUp => r'A sake sama';
|
|||
|
|
|||
|
@override
|
|||
|
String get rowsPerPageTitle => r'Lambar Fasali:';
|
|||
|
|
|||
|
@override
|
|||
|
ScriptCategory get scriptCategory => ScriptCategory.englishLike;
|
|||
|
|
|||
|
@override
|
|||
|
String get searchFieldLabel => 'Binciken';
|
|||
|
|
|||
|
@override
|
|||
|
String get selectAllButtonLabel => 'DUBA DUK';
|
|||
|
|
|||
|
@override
|
|||
|
String? get selectedRowCountTitleFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get selectedRowCountTitleMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get selectedRowCountTitleOne => '1 kaya';
|
|||
|
|
|||
|
@override
|
|||
|
String get selectedRowCountTitleOther => r'$selectedRowCount kayayyaki';
|
|||
|
|
|||
|
@override
|
|||
|
String? get selectedRowCountTitleTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get selectedRowCountTitleZero => 'Babu kaya da aka zabi';
|
|||
|
|
|||
|
@override
|
|||
|
String get showAccountsLabel => 'Nuna Hisobin';
|
|||
|
|
|||
|
@override
|
|||
|
String get showMenuTooltip => 'Nuna Menu';
|
|||
|
|
|||
|
@override
|
|||
|
String get signedInLabel => 'Kasance';
|
|||
|
|
|||
|
@override
|
|||
|
String get tabLabelRaw => r'Tabin $tabIndex daga $tabCount';
|
|||
|
|
|||
|
@override
|
|||
|
TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerHourModeAnnouncement => 'Zaɓi saʼoɗin lokaci';
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerMinuteModeAnnouncement => 'Zaɓi minti';
|
|||
|
|
|||
|
@override
|
|||
|
String get viewLicensesButtonLabel => 'DUBA LAYINSU';
|
|||
|
|
|||
|
@override
|
|||
|
List<String> get narrowWeekdays => const <String>['L', 'L', 'M', 'K', 'J', 'A', 'A'];
|
|||
|
|
|||
|
@override
|
|||
|
int get firstDayOfWeekIndex => 0;
|
|||
|
|
|||
|
static const LocalizationsDelegate<MaterialLocalizations> delegate =
|
|||
|
_HaMaterialLocalizationsDelegate();
|
|||
|
|
|||
|
@override
|
|||
|
String get calendarModeButtonLabel => 'Canza zuwa kalendar';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateHelpText => 'mm/dd/yyyy';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateInputLabel => 'Shigar Daƙin';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateOutOfRangeLabel => 'A cikin jerin';
|
|||
|
|
|||
|
@override
|
|||
|
String get datePickerHelpText => 'ZAƘA TALATA';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateRangeEndDateSemanticLabelRaw => r'Aikin da ya ƙarshe $fullDate';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateRangeEndLabel => 'Aikin da ya ƙarshe';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateRangePickerHelpText => 'ZAƘA HALIN RANAR';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateRangeStartDateSemanticLabelRaw => 'Aikin da ya gabata \$fullDate';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateRangeStartLabel => 'Aikin da ya gabata';
|
|||
|
|
|||
|
@override
|
|||
|
String get dateSeparator => '/';
|
|||
|
|
|||
|
@override
|
|||
|
String get dialModeButtonLabel => 'Canza zuwa jerin';
|
|||
|
|
|||
|
@override
|
|||
|
String get inputDateModeButtonLabel => 'Canza zuwa shigar';
|
|||
|
|
|||
|
@override
|
|||
|
String get inputTimeModeButtonLabel => 'Canza zuwa jerin bayanin rubutu';
|
|||
|
|
|||
|
@override
|
|||
|
String get invalidDateFormatLabel => 'Tarihin ba daidai ba';
|
|||
|
|
|||
|
@override
|
|||
|
String get invalidDateRangeLabel => 'Siffar saƙo ba tare da hukunci ba';
|
|||
|
|
|||
|
@override
|
|||
|
String get invalidTimeLabel => 'Kasancewa aikin lokaci mai kyau';
|
|||
|
|
|||
|
@override
|
|||
|
String get licensesPackageDetailTextOther => r'$licenseCount layinsu';
|
|||
|
|
|||
|
@override
|
|||
|
String get saveButtonLabel => 'Aji';
|
|||
|
|
|||
|
@override
|
|||
|
String get selectYearSemanticsLabel => 'Zaɓi shekara';
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerDialHelpText => 'ZAƘA LOKACI';
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerHourLabel => 'Auren lokaci';
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerInputHelpText => 'Shigar lokaci';
|
|||
|
|
|||
|
@override
|
|||
|
String get timePickerMinuteLabel => 'Minti';
|
|||
|
|
|||
|
@override
|
|||
|
String get unspecifiedDate => 'Ranar';
|
|||
|
|
|||
|
@override
|
|||
|
String get unspecifiedDateRange => 'Ranar Ayyuka';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyAlt => 'Alt';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyAltGraph => 'AltGraph';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyBackspace => 'BayaRubuta';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyCapsLock => 'Caps Lock';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyChannelDown => 'BayaKammalaSake';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyChannelUp => 'YiKammalaSake';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyControl => 'Tsara';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyDelete => 'Share';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyEject => 'Eject';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyEnd => 'Tare';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyEscape => 'Goge';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyFn => 'Fn';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyHome => 'Home';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyInsert => 'Shirya';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyMeta => 'Meta';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyMetaMacOs => 'Amfani da Command';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyMetaWindows => 'Windows';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumLock => 'Num Lock';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad0 => 'Numpad 0';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad1 => 'Numpad 1';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad2 => 'Numpad 2';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad3 => 'Numpad 3';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad4 => 'Numpad 4';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad5 => 'Numpad 5';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad6 => 'Numpad 6';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad7 => 'Numpad 7';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad8 => 'Numpad 8';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpad9 => 'Numpad 9';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadAdd => 'Numpad +';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadComma => 'Numpad ,';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadDecimal => 'Numpad .';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadDivide => 'Numpad /';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadEnter => 'Numpad Enter';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadEqual => 'Numpad =';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadMultiply => 'Numpad *';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadParenLeft => 'Numpad (';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadParenRight => 'Numpad )';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyNumpadSubtract => 'Numpad -';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyPageDown => 'Page Down';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyPageUp => 'Page Up';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyPower => 'Power';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyPowerOff => 'Power Off';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyPrintScreen => 'Print Screen';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeyScrollLock => 'Scroll Lock';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeySelect => 'Zabi';
|
|||
|
|
|||
|
@override
|
|||
|
String get keyboardKeySpace => 'Space';
|
|||
|
}
|
|||
|
|
|||
|
/// Cupertino Support
|
|||
|
/// Strings Copied from "https://github.com/flutter/flutter/blob/master/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart"
|
|||
|
|
|||
|
class _HaCupertinoLocalizationsDelegate extends LocalizationsDelegate<CupertinoLocalizations> {
|
|||
|
const _HaCupertinoLocalizationsDelegate();
|
|||
|
|
|||
|
@override
|
|||
|
bool isSupported(Locale locale) => locale.languageCode == 'ha';
|
|||
|
|
|||
|
@override
|
|||
|
Future<CupertinoLocalizations> load(Locale locale) async {
|
|||
|
final String localeName = intl.Intl.canonicalizedLocale(locale.toString());
|
|||
|
|
|||
|
// The locale (in this case `ha`) needs to be initialized into the custom =>> `ha`
|
|||
|
// date symbols and patterns setup that Flutter uses.
|
|||
|
date_symbol_data_custom.initializeDateFormattingCustom(
|
|||
|
locale: localeName,
|
|||
|
patterns: haLocaleDatePatterns,
|
|||
|
symbols: intl.DateSymbols.deserializeFromMap(haDateSymbols),
|
|||
|
);
|
|||
|
|
|||
|
return SynchronousFuture<CupertinoLocalizations>(
|
|||
|
HaCupertinoLocalizations(
|
|||
|
localeName: localeName,
|
|||
|
// The `intl` library's NumberFormat class is generated from CLDR data
|
|||
|
// (see https://github.com/dart-lang/intl/blob/master/lib/number_symbols_data.dart).
|
|||
|
// Unfortunately, there is no way to use a locale that isn't defined in
|
|||
|
// this map and the only way to work around this is to use a listed
|
|||
|
// locale's NumberFormat symbols. So, here we use the number formats
|
|||
|
// for 'en_US' instead.
|
|||
|
decimalFormat: intl.NumberFormat('#,##0.###', 'en_US'),
|
|||
|
// DateFormat here will use the symbols and patterns provided in the
|
|||
|
// `date_symbol_data_custom.initializeDateFormattingCustom` call above.
|
|||
|
// However, an alternative is to simply use a supported locale's
|
|||
|
// DateFormat symbols, similar to NumberFormat above.
|
|||
|
fullYearFormat: intl.DateFormat('y', localeName),
|
|||
|
mediumDateFormat: intl.DateFormat('EEE, MMM d', localeName),
|
|||
|
dayFormat: intl.DateFormat('d', localeName),
|
|||
|
doubleDigitMinuteFormat: intl.DateFormat('mm', localeName),
|
|||
|
singleDigitHourFormat: intl.DateFormat('j', localeName),
|
|||
|
singleDigitMinuteFormat: intl.DateFormat.m(localeName),
|
|||
|
singleDigitSecondFormat: intl.DateFormat.s(localeName),
|
|||
|
),
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
@override
|
|||
|
bool shouldReload(_HaCupertinoLocalizationsDelegate old) => false;
|
|||
|
}
|
|||
|
// #enddocregion Delegate
|
|||
|
|
|||
|
/// A custom set of localizations for the 'nn' locale. In this example, only =>> `ha`
|
|||
|
/// the value for openAppDrawerTooltip was modified to use a custom message as
|
|||
|
/// an example. Everything else uses the American English (en_US) messages
|
|||
|
/// and formatting.
|
|||
|
class HaCupertinoLocalizations extends GlobalCupertinoLocalizations {
|
|||
|
const HaCupertinoLocalizations({
|
|||
|
super.localeName = 'ha',
|
|||
|
required super.fullYearFormat,
|
|||
|
required super.mediumDateFormat,
|
|||
|
required super.decimalFormat,
|
|||
|
required super.dayFormat,
|
|||
|
required super.singleDigitHourFormat,
|
|||
|
required super.singleDigitMinuteFormat,
|
|||
|
required super.doubleDigitMinuteFormat,
|
|||
|
required super.singleDigitSecondFormat,
|
|||
|
});
|
|||
|
|
|||
|
@override
|
|||
|
String get alertDialogLabel => 'Fadakarwa';
|
|||
|
|
|||
|
@override
|
|||
|
String get anteMeridiemAbbreviation => 'AM';
|
|||
|
|
|||
|
@override
|
|||
|
String get copyButtonLabel => 'Kwafa';
|
|||
|
|
|||
|
@override
|
|||
|
String get cutButtonLabel => 'yanke';
|
|||
|
|
|||
|
@override
|
|||
|
String get datePickerDateOrderString => 'mdy';
|
|||
|
|
|||
|
@override
|
|||
|
String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerHourSemanticsLabelFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerHourSemanticsLabelMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
|
|||
|
|
|||
|
@override
|
|||
|
String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerHourSemanticsLabelTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerHourSemanticsLabelZero => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerMinuteSemanticsLabelFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerMinuteSemanticsLabelMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerMinuteSemanticsLabelOne => '1 minti';
|
|||
|
|
|||
|
@override
|
|||
|
String get datePickerMinuteSemanticsLabelOther => r'$minute minti';
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerMinuteSemanticsLabelTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get datePickerMinuteSemanticsLabelZero => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get modalBarrierDismissLabel => 'Korar';
|
|||
|
|
|||
|
@override
|
|||
|
String get pasteButtonLabel => 'Liƙa';
|
|||
|
|
|||
|
@override
|
|||
|
String get postMeridiemAbbreviation => 'PM';
|
|||
|
|
|||
|
@override
|
|||
|
String get searchTextFieldPlaceholderLabel => 'Bincika';
|
|||
|
|
|||
|
@override
|
|||
|
String get selectAllButtonLabel => 'Zaɓi Duk';
|
|||
|
|
|||
|
@override
|
|||
|
String get tabSemanticsLabelRaw => r'Tab $tabIndex cikin $tabCount';
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerHourLabelFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerHourLabelMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerHourLabelOne => 'awa';
|
|||
|
|
|||
|
@override
|
|||
|
String get timerPickerHourLabelOther => 'awa';
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerHourLabelTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerHourLabelZero => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerMinuteLabelFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerMinuteLabelMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerMinuteLabelOne => 'minti.';
|
|||
|
|
|||
|
@override
|
|||
|
String get timerPickerMinuteLabelOther => 'minti.';
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerMinuteLabelTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerMinuteLabelZero => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerSecondLabelFew => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerSecondLabelMany => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerSecondLabelOne => 'dakika.';
|
|||
|
|
|||
|
@override
|
|||
|
String get timerPickerSecondLabelOther => 'dakika.';
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerSecondLabelTwo => null;
|
|||
|
|
|||
|
@override
|
|||
|
String? get timerPickerSecondLabelZero => null;
|
|||
|
|
|||
|
@override
|
|||
|
String get todayLabel => 'Yau';
|
|||
|
|
|||
|
static const LocalizationsDelegate<CupertinoLocalizations> delegate =
|
|||
|
_HaCupertinoLocalizationsDelegate();
|
|||
|
}
|