Line data Source code
1 : import 'package:flutter/material.dart'; 2 : 3 : // Flutter doesn't supported Luxembourgish, or Welsh, so we have to provide our 4 : // own delegate for built-in widget translations... 5 : class MaterialLocalizationDelegate extends LocalizationsDelegate<MaterialLocalizations> { 6 0 : @override 7 : bool isSupported(Locale locale) { 8 0 : return locale.languageCode == "lb" || locale.languageCode == "cy"; 9 : } 10 : 11 0 : @override 12 : Future<MaterialLocalizations> load(Locale locale) async { 13 0 : switch (locale.languageCode) { 14 0 : case "cy": 15 0 : return MaterialLocalizationCy(); 16 0 : case "lb": 17 0 : return MaterialLocalizationLu(); 18 : } 19 0 : throw UnimplementedError("unknown language"); 20 : } 21 : 22 0 : @override 23 : bool shouldReload(covariant LocalizationsDelegate<MaterialLocalizations> old) { 24 : return false; 25 : } 26 : } 27 : 28 : // Support Welsh, Default to English 29 : class MaterialLocalizationCy extends DefaultMaterialLocalizations {} 30 : 31 : // Support Luxembourgish, Default to German 32 : class MaterialLocalizationLu extends MaterialLocalizations { 33 0 : @override 34 : String get aboutListTileTitleRaw => r'Über $applicationName'; 35 : 36 0 : @override 37 : String get alertDialogLabel => 'Benachrichtigung'; 38 : 39 0 : @override 40 : String get anteMeridiemAbbreviation => 'AM'; 41 : 42 0 : @override 43 : String get backButtonTooltip => 'Zurück'; 44 : 45 0 : @override 46 : String get calendarModeButtonLabel => 'Zum Kalender wechseln'; 47 : 48 0 : @override 49 : String get cancelButtonLabel => 'ABBRECHEN'; 50 : 51 0 : @override 52 : String get closeButtonLabel => 'SCHLIEẞEN'; 53 : 54 0 : @override 55 : String get closeButtonTooltip => 'Schließen'; 56 : 57 0 : @override 58 : String get collapsedIconTapHint => 'Maximieren'; 59 : 60 0 : @override 61 : String get continueButtonLabel => 'WEITER'; 62 : 63 0 : @override 64 : String get copyButtonLabel => 'Kopieren'; 65 : 66 0 : @override 67 : String get cutButtonLabel => 'Ausschneiden'; 68 : 69 0 : @override 70 : String get dateHelpText => 'tt.mm.jjjj'; 71 : 72 0 : @override 73 : String get dateInputLabel => 'Datum eingeben'; 74 : 75 0 : @override 76 : String get dateOutOfRangeLabel => 'Außerhalb des Zeitraums.'; 77 : 78 0 : @override 79 : String get datePickerHelpText => 'DATUM AUSWÄHLEN'; 80 : 81 0 : @override 82 : String get dateRangeEndDateSemanticLabelRaw => r'Enddatum $fullDate'; 83 : 84 0 : @override 85 : String get dateRangeEndLabel => 'Enddatum'; 86 : 87 0 : @override 88 : String get dateRangePickerHelpText => 'ZEITRAUM AUSWÄHLEN'; 89 : 90 0 : @override 91 : String get dateRangeStartDateSemanticLabelRaw => r'Startdatum $fullDate'; 92 : 93 0 : @override 94 : String get dateRangeStartLabel => 'Startdatum'; 95 : 96 0 : @override 97 : String get dateSeparator => '.'; 98 : 99 0 : @override 100 : String get deleteButtonTooltip => 'Löschen'; 101 : 102 0 : @override 103 : String get dialModeButtonLabel => 'Zur Uhrzeitauswahl wechseln'; 104 : 105 0 : @override 106 : String get dialogLabel => 'Dialogfeld'; 107 : 108 0 : @override 109 : String get drawerLabel => 'Navigationsmenü'; 110 : 111 0 : @override 112 : String get expandedIconTapHint => 'Minimieren'; 113 : 114 0 : @override 115 : String get firstPageTooltip => 'Erste Seite'; 116 : 117 0 : @override 118 : String get hideAccountsLabel => 'Konten ausblenden'; 119 : 120 0 : @override 121 : String get inputDateModeButtonLabel => 'Zur Texteingabe wechseln'; 122 : 123 0 : @override 124 : String get inputTimeModeButtonLabel => 'Zum Texteingabemodus wechseln'; 125 : 126 0 : @override 127 : String get invalidDateFormatLabel => 'Ungültiges Format.'; 128 : 129 0 : @override 130 : String get invalidDateRangeLabel => 'Ungültiger Zeitraum.'; 131 : 132 0 : @override 133 : String get invalidTimeLabel => 'Geben Sie eine gültige Uhrzeit ein'; 134 : 135 0 : @override 136 : String get lastPageTooltip => 'Letzte Seite'; 137 : 138 0 : @override 139 : String? get licensesPackageDetailTextFew => null; 140 : 141 0 : @override 142 : String? get licensesPackageDetailTextMany => null; 143 : 144 0 : @override 145 : String? get licensesPackageDetailTextOne => '1 Lizenz'; 146 : 147 0 : @override 148 : String get licensesPackageDetailTextOther => r'$licenseCount Lizenzen'; 149 : 150 0 : @override 151 : String? get licensesPackageDetailTextTwo => null; 152 : 153 0 : @override 154 : String? get licensesPackageDetailTextZero => 'No licenses'; 155 : 156 0 : @override 157 : String get licensesPageTitle => 'Lizenzen'; 158 : 159 0 : @override 160 : String get modalBarrierDismissLabel => 'Schließen'; 161 : 162 0 : @override 163 : String get moreButtonTooltip => 'Mehr'; 164 : 165 0 : @override 166 : String get nextMonthTooltip => 'Nächster Monat'; 167 : 168 0 : @override 169 : String get nextPageTooltip => 'Nächste Seite'; 170 : 171 0 : @override 172 : String get okButtonLabel => 'OK'; 173 : 174 0 : @override 175 : String get openAppDrawerTooltip => 'Navigationsmenü öffnen'; 176 : 177 0 : @override 178 : String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow von $rowCount'; 179 : 180 0 : @override 181 : String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow von etwa $rowCount'; 182 : 183 0 : @override 184 : String get pasteButtonLabel => 'Einsetzen'; 185 : 186 0 : @override 187 : String get popupMenuLabel => 'Pop-up-Menü'; 188 : 189 0 : @override 190 : String get postMeridiemAbbreviation => 'PM'; 191 : 192 0 : @override 193 : String get previousMonthTooltip => 'Vorheriger Monat'; 194 : 195 0 : @override 196 : String get previousPageTooltip => 'Vorherige Seite'; 197 : 198 0 : @override 199 : String get refreshIndicatorSemanticLabel => 'Aktualisieren'; 200 : 201 0 : @override 202 : String? get remainingTextFieldCharacterCountFew => null; 203 : 204 0 : @override 205 : String? get remainingTextFieldCharacterCountMany => null; 206 : 207 0 : @override 208 : String? get remainingTextFieldCharacterCountOne => 'Noch 1 Zeichen'; 209 : 210 0 : @override 211 : String get remainingTextFieldCharacterCountOther => r'Noch $remainingCount Zeichen'; 212 : 213 0 : @override 214 : String? get remainingTextFieldCharacterCountTwo => null; 215 : 216 0 : @override 217 : String? get remainingTextFieldCharacterCountZero => 'TBD'; 218 : 219 0 : @override 220 : String get reorderItemDown => 'Nach unten verschieben'; 221 : 222 0 : @override 223 : String get reorderItemLeft => 'Nach links verschieben'; 224 : 225 0 : @override 226 : String get reorderItemRight => 'Nach rechts verschieben'; 227 : 228 0 : @override 229 : String get reorderItemToEnd => 'An das Ende verschieben'; 230 : 231 0 : @override 232 : String get reorderItemToStart => 'An den Anfang verschieben'; 233 : 234 0 : @override 235 : String get reorderItemUp => 'Nach oben verschieben'; 236 : 237 0 : @override 238 : String get rowsPerPageTitle => 'Zeilen pro Seite:'; 239 : 240 0 : @override 241 : String get saveButtonLabel => 'SPEICHERN'; 242 : 243 0 : @override 244 : ScriptCategory get scriptCategory => ScriptCategory.englishLike; 245 : 246 0 : @override 247 : String get searchFieldLabel => 'Suchen'; 248 : 249 0 : @override 250 : String get selectAllButtonLabel => 'Alle auswählen'; 251 : 252 0 : @override 253 : String get selectYearSemanticsLabel => 'Jahr auswählen'; 254 : 255 0 : @override 256 : String? get selectedRowCountTitleFew => null; 257 : 258 0 : @override 259 : String? get selectedRowCountTitleMany => null; 260 : 261 0 : @override 262 : String? get selectedRowCountTitleOne => '1 Element ausgewählt'; 263 : 264 0 : @override 265 : String get selectedRowCountTitleOther => r'$selectedRowCount Elemente ausgewählt'; 266 : 267 0 : @override 268 : String? get selectedRowCountTitleTwo => null; 269 : 270 0 : @override 271 : String? get selectedRowCountTitleZero => 'Keine Objekte ausgewählt'; 272 : 273 0 : @override 274 : String get showAccountsLabel => 'Konten anzeigen'; 275 : 276 0 : @override 277 : String get showMenuTooltip => 'Menü anzeigen'; 278 : 279 0 : @override 280 : String get signedInLabel => 'Angemeldet'; 281 : 282 0 : @override 283 : String get tabLabelRaw => r'Tab $tabIndex von $tabCount'; 284 : 285 0 : @override 286 : TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.HH_colon_mm; 287 : 288 0 : @override 289 : String get timePickerDialHelpText => 'UHRZEIT AUSWÄHLEN'; 290 : 291 0 : @override 292 : String get timePickerHourLabel => 'Stunde'; 293 : 294 0 : @override 295 : String get timePickerHourModeAnnouncement => 'Stunden auswählen'; 296 : 297 0 : @override 298 : String get timePickerInputHelpText => 'ZEIT EINGEBEN'; 299 : 300 0 : @override 301 : String get timePickerMinuteLabel => 'Minute'; 302 : 303 0 : @override 304 : String get timePickerMinuteModeAnnouncement => 'Minuten auswählen'; 305 : 306 0 : @override 307 : String get unspecifiedDate => 'Datum'; 308 : 309 0 : @override 310 : String get unspecifiedDateRange => 'Zeitraum'; 311 : 312 0 : @override 313 : String get viewLicensesButtonLabel => 'LIZENZEN ANZEIGEN'; 314 : 315 : // ***** NEW ***** 316 : 317 0 : @override 318 : String get keyboardKeyAlt => 'Alt'; 319 : 320 0 : @override 321 : String get keyboardKeyAltGraph => 'AltGr'; 322 : 323 0 : @override 324 : String get keyboardKeyBackspace => 'Backspace'; 325 : 326 0 : @override 327 : String get keyboardKeyCapsLock => 'Caps Lock'; 328 : 329 0 : @override 330 : String get keyboardKeyChannelDown => 'Kanal Erof'; 331 : 332 0 : @override 333 : String get keyboardKeyChannelUp => 'Kanal Up'; 334 : 335 0 : @override 336 : String get keyboardKeyControl => 'Ctrl'; 337 : 338 0 : @override 339 : String get keyboardKeyDelete => 'Del'; 340 : 341 0 : @override 342 : String get keyboardKeyEisu => 'Eisū'; 343 : 344 0 : @override 345 : String get keyboardKeyEject => 'Eject'; 346 : 347 0 : @override 348 : String get keyboardKeyEnd => 'End'; 349 : 350 0 : @override 351 : String get keyboardKeyEscape => 'Esc'; 352 : 353 0 : @override 354 : String get keyboardKeyFn => 'Fn'; 355 : 356 0 : @override 357 : String get keyboardKeyHangulMode => 'Hangul Mode'; 358 : 359 0 : @override 360 : String get keyboardKeyHanjaMode => 'Hanja Mode'; 361 : 362 0 : @override 363 : String get keyboardKeyHankaku => 'Hankaku'; 364 : 365 0 : @override 366 : String get keyboardKeyHiragana => 'Hiragana'; 367 : 368 0 : @override 369 : String get keyboardKeyHiraganaKatakana => 'Hiragana Katakana'; 370 : 371 0 : @override 372 : String get keyboardKeyHome => 'Home'; 373 : 374 0 : @override 375 : String get keyboardKeyInsert => 'Insert'; 376 : 377 0 : @override 378 : String get keyboardKeyKanaMode => 'Kana Mode'; 379 : 380 0 : @override 381 : String get keyboardKeyKanjiMode => 'Kanji Mode'; 382 : 383 0 : @override 384 : String get keyboardKeyKatakana => 'Katakana'; 385 : 386 0 : @override 387 : String get keyboardKeyMeta => 'Meta'; 388 : 389 0 : @override 390 : String get keyboardKeyMetaMacOs => 'Command'; 391 : 392 0 : @override 393 : String get keyboardKeyMetaWindows => 'Win'; 394 : 395 0 : @override 396 : String get keyboardKeyNumLock => 'Num Lock'; 397 : 398 0 : @override 399 : String get keyboardKeyNumpad0 => 'Num 0'; 400 : 401 0 : @override 402 : String get keyboardKeyNumpad1 => 'Num 1'; 403 : 404 0 : @override 405 : String get keyboardKeyNumpad2 => 'Num 2'; 406 : 407 0 : @override 408 : String get keyboardKeyNumpad3 => 'Num 3'; 409 : 410 0 : @override 411 : String get keyboardKeyNumpad4 => 'Num 4'; 412 : 413 0 : @override 414 : String get keyboardKeyNumpad5 => 'Num 5'; 415 : 416 0 : @override 417 : String get keyboardKeyNumpad6 => 'Num 6'; 418 : 419 0 : @override 420 : String get keyboardKeyNumpad7 => 'Num 7'; 421 : 422 0 : @override 423 : String get keyboardKeyNumpad8 => 'Num 8'; 424 : 425 0 : @override 426 : String get keyboardKeyNumpad9 => 'Num 9'; 427 : 428 0 : @override 429 : String get keyboardKeyNumpadAdd => 'Num +'; 430 : 431 0 : @override 432 : String get keyboardKeyNumpadComma => 'Num ,'; 433 : 434 0 : @override 435 : String get keyboardKeyNumpadDecimal => 'Num .'; 436 : 437 0 : @override 438 : String get keyboardKeyNumpadDivide => 'Num /'; 439 : 440 0 : @override 441 : String get keyboardKeyNumpadEnter => 'Num Enter'; 442 : 443 0 : @override 444 : String get keyboardKeyNumpadEqual => 'Num ='; 445 : 446 0 : @override 447 : String get keyboardKeyNumpadMultiply => 'Num *'; 448 : 449 0 : @override 450 : String get keyboardKeyNumpadParenLeft => 'Num ('; 451 : 452 0 : @override 453 : String get keyboardKeyNumpadParenRight => 'Num )'; 454 : 455 0 : @override 456 : String get keyboardKeyNumpadSubtract => 'Num -'; 457 : 458 0 : @override 459 : String get keyboardKeyPageDown => 'PgDown'; 460 : 461 0 : @override 462 : String get keyboardKeyPageUp => 'PgUp'; 463 : 464 0 : @override 465 : String get keyboardKeyPower => 'Power'; 466 : 467 0 : @override 468 : String get keyboardKeyPowerOff => 'Power Off'; 469 : 470 0 : @override 471 : String get keyboardKeyPrintScreen => 'Print Screen'; 472 : 473 0 : @override 474 : String get keyboardKeyRomaji => 'Romaji'; 475 : 476 0 : @override 477 : String get keyboardKeyScrollLock => 'Scroll Lock'; 478 : 479 0 : @override 480 : String get keyboardKeySelect => 'Select'; 481 : 482 0 : @override 483 : String get keyboardKeySpace => 'Spasie'; 484 : 485 0 : @override 486 : String get keyboardKeyZenkaku => 'Zenkaku'; 487 : 488 0 : @override 489 : String get keyboardKeyZenkakuHankaku => 'Zenkaku Hankaku'; 490 : 491 0 : @override 492 : String aboutListTileTitle(String applicationName) { 493 0 : return aboutListTileTitleRaw.replaceFirst("$applicationName", applicationName); 494 : } 495 : 496 0 : @override 497 : String dateRangeEndDateSemanticLabel(String formattedDate) { 498 : // TODO: implement dateRangeEndDateSemanticLabel 499 0 : throw UnimplementedError(); 500 : } 501 : 502 0 : @override 503 : String dateRangeStartDateSemanticLabel(String formattedDate) { 504 : // TODO: implement dateRangeStartDateSemanticLabel 505 0 : throw UnimplementedError(); 506 : } 507 : 508 0 : @override 509 : // TODO: implement firstDayOfWeekIndex 510 0 : int get firstDayOfWeekIndex => throw UnimplementedError(); 511 : 512 0 : @override 513 : String formatCompactDate(DateTime date) { 514 : // TODO: implement formatCompactDate 515 0 : throw UnimplementedError(); 516 : } 517 : 518 0 : @override 519 : String formatDecimal(int number) { 520 : // TODO: implement formatDecimal 521 0 : throw UnimplementedError(); 522 : } 523 : 524 0 : @override 525 : String formatFullDate(DateTime date) { 526 : // TODO: implement formatFullDate 527 0 : throw UnimplementedError(); 528 : } 529 : 530 0 : @override 531 : String formatHour(TimeOfDay timeOfDay, {bool alwaysUse24HourFormat = false}) { 532 : // TODO: implement formatHour 533 0 : throw UnimplementedError(); 534 : } 535 : 536 0 : @override 537 : String formatMediumDate(DateTime date) { 538 : // TODO: implement formatMediumDate 539 0 : throw UnimplementedError(); 540 : } 541 : 542 0 : @override 543 : String formatMinute(TimeOfDay timeOfDay) { 544 : // TODO: implement formatMinute 545 0 : throw UnimplementedError(); 546 : } 547 : 548 0 : @override 549 : String formatMonthYear(DateTime date) { 550 : // TODO: implement formatMonthYear 551 0 : throw UnimplementedError(); 552 : } 553 : 554 0 : @override 555 : String formatShortDate(DateTime date) { 556 : // TODO: implement formatShortDate 557 0 : throw UnimplementedError(); 558 : } 559 : 560 0 : @override 561 : String formatShortMonthDay(DateTime date) { 562 : // TODO: implement formatShortMonthDay 563 0 : throw UnimplementedError(); 564 : } 565 : 566 0 : @override 567 : String formatTimeOfDay(TimeOfDay timeOfDay, {bool alwaysUse24HourFormat = false}) { 568 : // TODO: implement formatTimeOfDay 569 0 : throw UnimplementedError(); 570 : } 571 : 572 0 : @override 573 : String formatYear(DateTime date) { 574 : // TODO: implement formatYear 575 0 : throw UnimplementedError(); 576 : } 577 : 578 0 : @override 579 : String licensesPackageDetailText(int licenseCount) { 580 : // TODO: implement licensesPackageDetailText 581 0 : throw UnimplementedError(); 582 : } 583 : 584 0 : @override 585 : // TODO: implement narrowWeekdays 586 0 : List<String> get narrowWeekdays => throw UnimplementedError(); 587 : 588 0 : @override 589 : String pageRowsInfoTitle(int firstRow, int lastRow, int rowCount, bool rowCountIsApproximate) { 590 : // TODO: implement pageRowsInfoTitle 591 0 : throw UnimplementedError(); 592 : } 593 : 594 0 : @override 595 : DateTime? parseCompactDate(String? inputString) { 596 : // TODO: implement parseCompactDate 597 0 : throw UnimplementedError(); 598 : } 599 : 600 0 : @override 601 : String remainingTextFieldCharacterCount(int remaining) { 602 0 : return remaining.toString(); 603 : } 604 : 605 0 : @override 606 : String selectedRowCountTitle(int selectedRowCount) { 607 0 : return selectedRowCount.toString(); 608 : } 609 : 610 0 : @override 611 : String tabLabel({required int tabIndex, required int tabCount}) { 612 : // TODO: implement tabLabel 613 0 : throw UnimplementedError(); 614 : } 615 : 616 0 : @override 617 : TimeOfDayFormat timeOfDayFormat({bool alwaysUse24HourFormat = false}) { 618 : // TODO: implement timeOfDayFormat 619 0 : throw UnimplementedError(); 620 : } 621 : 622 0 : @override 623 : // TODO: implement menuBarMenuLabel 624 0 : String get menuBarMenuLabel => throw UnimplementedError(); 625 : 626 0 : @override 627 : // TODO: implement bottomSheetLabel 628 0 : String get bottomSheetLabel => throw UnimplementedError(); 629 : 630 0 : @override 631 : // TODO: implement currentDateLabel 632 0 : String get currentDateLabel => throw UnimplementedError(); 633 : 634 0 : @override 635 : // TODO: implement keyboardKeyShift 636 0 : String get keyboardKeyShift => throw UnimplementedError(); 637 : 638 0 : @override 639 : // TODO: implement scrimLabel 640 0 : String get scrimLabel => throw UnimplementedError(); 641 : 642 0 : @override 643 : String scrimOnTapHint(String modalRouteContentName) { 644 : // TODO: implement scrimOnTapHint 645 0 : throw UnimplementedError(); 646 : } 647 : 648 0 : @override 649 : // TODO: implement scanTextButtonLabel 650 0 : String get scanTextButtonLabel => throw UnimplementedError(); 651 : 652 0 : @override 653 : // TODO: implement lookUpButtonLabel 654 0 : String get lookUpButtonLabel => throw UnimplementedError(); 655 : 656 0 : @override 657 : // TODO: implement menuDismissLabel 658 0 : String get menuDismissLabel => throw UnimplementedError(); 659 : 660 0 : @override 661 : // TODO: implement searchWebButtonLabel 662 0 : String get searchWebButtonLabel => throw UnimplementedError(); 663 : 664 0 : @override 665 : // TODO: implement shareButtonLabel 666 0 : String get shareButtonLabel => throw UnimplementedError(); 667 : }