Unverified Commit 487954a8 authored by Kate Lovett's avatar Kate Lovett Committed by GitHub

Adding tabSemanticsLabel to CupertinoLocalizations (#55336)

parent a065c2cd
......@@ -7,6 +7,7 @@ import 'dart:ui' show ImageFilter;
import 'package:flutter/widgets.dart';
import 'colors.dart';
import 'localizations.dart';
import 'theme.dart';
// Standard iOS 10 tab bar height.
......@@ -178,6 +179,8 @@ class CupertinoTabBar extends StatelessWidget implements PreferredSizeWidget {
style: CupertinoTheme.of(context).textTheme.tabLabelTextStyle.copyWith(color: inactive),
child: Padding(
padding: EdgeInsets.only(bottom: bottomPadding),
child: Semantics(
explicitChildNodes: true,
child: Row(
// Align bottom since we want the labels to be aligned.
crossAxisAlignment: CrossAxisAlignment.end,
......@@ -187,6 +190,7 @@ class CupertinoTabBar extends StatelessWidget implements PreferredSizeWidget {
),
),
),
),
);
if (!opaque(context)) {
......@@ -204,6 +208,14 @@ class CupertinoTabBar extends StatelessWidget implements PreferredSizeWidget {
List<Widget> _buildTabItems(BuildContext context) {
final List<Widget> result = <Widget>[];
final CupertinoLocalizations localizations = CupertinoLocalizations.of(context);
assert(
localizations != null,
'CupertinoTabBar requires a Localizations parent in order to provide an '
'appropriate Semantics hint for tab indexing. A CupertinoApp will '
'provide the DefaultCupertinoLocalizations, or you can instantiate your '
'own Localizations.'
);
for (int index = 0; index < items.length; index += 1) {
final bool active = index == currentIndex;
......@@ -213,8 +225,10 @@ class CupertinoTabBar extends StatelessWidget implements PreferredSizeWidget {
Expanded(
child: Semantics(
selected: active,
// TODO(xster): This needs localization support. https://github.com/flutter/flutter/issues/13452
hint: 'tab, ${index + 1} of ${items.length}',
hint: localizations.tabSemanticsLabel(
tabIndex: index + 1,
tabCount: items.length,
),
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: onTap == null ? null : () { onTap(index); },
......
......@@ -150,6 +150,14 @@ abstract class CupertinoLocalizations {
// The global version uses the translated string from the arb file.
String get alertDialogLabel;
/// The accessibility label used on a tab in a [CupertinoTabBar].
///
/// This message describes the index of the selected tab and how many tabs
/// there are, e.g. 'tab, 1 of 2' in United States English.
///
/// `tabIndex` and `tabCount` must be greater than or equal to one.
String tabSemanticsLabel({int tabIndex, int tabCount});
/// Hour that is shown in [CupertinoTimerPicker] corresponding to
/// the given hour value.
///
......@@ -355,6 +363,13 @@ class DefaultCupertinoLocalizations implements CupertinoLocalizations {
@override
String get alertDialogLabel => 'Alert';
@override
String tabSemanticsLabel({int tabIndex, int tabCount}) {
assert(tabIndex >= 1);
assert(tabCount >= 1);
return 'tab, $tabIndex of $tabCount';
}
@override
String timerPickerHour(int hour) => hour.toString();
......
......@@ -11,10 +11,17 @@ import '../widgets/semantics_tester.dart';
Future<void> pumpWidgetWithBoilerplate(WidgetTester tester, Widget widget) async {
await tester.pumpWidget(
Directionality(
Localizations(
locale: const Locale('en', 'US'),
delegates: <LocalizationsDelegate<dynamic>>[
DefaultWidgetsLocalizations.delegate,
DefaultCupertinoLocalizations.delegate,
],
child: Directionality(
textDirection: TextDirection.ltr,
child: widget,
),
),
);
}
......
......@@ -435,7 +435,13 @@ void main() {
});
testWidgets('Tab contents bottom padding are not consumed by viewInsets when resizeToAvoidBottomInset overriden', (WidgetTester tester) async {
final Widget child = Directionality(
final Widget child = Localizations(
locale: const Locale('en', 'US'),
delegates: <LocalizationsDelegate<dynamic>>[
DefaultWidgetsLocalizations.delegate,
DefaultCupertinoLocalizations.delegate,
],
child: Directionality(
textDirection: TextDirection.ltr,
child: CupertinoTabScaffold(
resizeToAvoidBottomInset: false,
......@@ -444,6 +450,7 @@ void main() {
return const Placeholder();
},
),
),
);
await tester.pumpWidget(
......
......@@ -251,6 +251,21 @@ abstract class GlobalCupertinoLocalizations implements CupertinoLocalizations {
}
}
/// The raw version of [tabSemanticsLabel], with `$tabIndex` and `$tabCount` verbatim
/// in the string.
@protected
String get tabSemanticsLabelRaw;
@override
String tabSemanticsLabel({ int tabIndex, int tabCount }) {
assert(tabIndex >= 1);
assert(tabCount >= 1);
final String template = tabSemanticsLabelRaw;
return template
.replaceFirst(r'$tabIndex', _decimalFormat.format(tabIndex))
.replaceFirst(r'$tabCount', _decimalFormat.format(tabCount));
}
@override
String timerPickerHour(int hour) {
return _singleDigitHourFormat.format(DateTime.utc(0, 0, 0, hour));
......
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopieer",
"pasteButtonLabel": "Plak",
"selectAllButtonLabel": "Kies alles",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Maak toe"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "ቅዳ",
"pasteButtonLabel": "ለጥፍ",
"selectAllButtonLabel": "ሁሉንም ምረጥ",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "አሰናብት"
}
......@@ -39,5 +39,6 @@
"copyButtonLabel": "نسخ",
"pasteButtonLabel": "لصق",
"selectAllButtonLabel": "اختيار الكل",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "رفض"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "প্ৰতিলিপি কৰক",
"pasteButtonLabel": "পে'ষ্ট কৰক",
"selectAllButtonLabel": "সকলো বাছনি কৰক",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "অগ্ৰাহ্য কৰক"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopyalayın",
"pasteButtonLabel": "Yerləşdirin",
"selectAllButtonLabel": "Hamısını seçin",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "İmtina edin"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Капіраваць",
"pasteButtonLabel": "Уставіць",
"selectAllButtonLabel": "Выбраць усе",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Адхіліць"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Копиране",
"pasteButtonLabel": "Поставяне",
"selectAllButtonLabel": "Избиране на всички",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Отхвърляне"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "কপি করুন",
"pasteButtonLabel": "পেস্ট করুন",
"selectAllButtonLabel": "সব বেছে নিন",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "খারিজ করুন"
}
......@@ -24,5 +24,6 @@
"copyButtonLabel": "Kopiraj",
"pasteButtonLabel": "Zalijepi",
"selectAllButtonLabel": "Odaberi sve",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Odbaci"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copia",
"pasteButtonLabel": "Enganxa",
"selectAllButtonLabel": "Selecciona-ho tot",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ignora"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Kopírovat",
"pasteButtonLabel": "Vložit",
"selectAllButtonLabel": "Vybrat vše",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Zavřít"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopiér",
"pasteButtonLabel": "Sæt ind",
"selectAllButtonLabel": "Vælg alle",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Afvis"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopieren",
"pasteButtonLabel": "Einsetzen",
"selectAllButtonLabel": "Alles auswählen",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Schließen"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Αντιγραφή",
"pasteButtonLabel": "Επικόλληση",
"selectAllButtonLabel": "Επιλογή όλων",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Παράβλεψη"
}
......@@ -43,6 +43,12 @@
"description": "The accessibility audio announcement made when an iOS style alert dialog is opened."
},
"tabSemanticsLabel": "tab, $tabIndex of $tabCount",
"@tabSemanticsLabel": {
"description": "The accessibility label used on a tab. This message describes the index of the selected tab and how many tabs there are, e.g. 'tab, 1 of 2'. All values are greater than or equal to one.",
"parameters": "tabIndex, tabCount"
},
"timerPickerHourLabelOne": "hour",
"timerPickerHourLabelOther": "hours",
"@timerPickerHourLabel": {
......
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copiar",
"pasteButtonLabel": "Pegar",
"selectAllButtonLabel": "Seleccionar todos",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Cerrar"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopeeri",
"pasteButtonLabel": "Kleebi",
"selectAllButtonLabel": "Vali kõik",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Loobu"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopiatu",
"pasteButtonLabel": "Itsatsi",
"selectAllButtonLabel": "Hautatu guztiak",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Baztertu"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "کپی",
"pasteButtonLabel": "جای‌گذاری",
"selectAllButtonLabel": "انتخاب همه",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "نپذیرفتن"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopioi",
"pasteButtonLabel": "Liitä",
"selectAllButtonLabel": "Valitse kaikki",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ohita"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopyahin",
"pasteButtonLabel": "I-paste",
"selectAllButtonLabel": "Piliin Lahat",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "I-dismiss"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copier",
"pasteButtonLabel": "Coller",
"selectAllButtonLabel": "Tout sélect.",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ignorer"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copiar",
"pasteButtonLabel": "Pegar",
"selectAllButtonLabel": "Seleccionar todo",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ignorar"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopieren",
"pasteButtonLabel": "Einsetzen",
"selectAllButtonLabel": "Alles auswählen",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Schließen"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "કૉપિ કરો",
"pasteButtonLabel": "પેસ્ટ કરો",
"selectAllButtonLabel": "બધા પસંદ કરો",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "છોડી દો"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "העתקה",
"pasteButtonLabel": "הדבקה",
"selectAllButtonLabel": "בחירת הכול",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "סגירה"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "कॉपी करें",
"pasteButtonLabel": "चिपकाएं",
"selectAllButtonLabel": "सभी चुनें",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "खारिज करें"
}
......@@ -24,5 +24,6 @@
"copyButtonLabel": "Kopiraj",
"pasteButtonLabel": "Zalijepi",
"selectAllButtonLabel": "Odaberi sve",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Odbaci"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Másolás",
"pasteButtonLabel": "Beillesztés",
"selectAllButtonLabel": "Összes kijelölése",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Elvetés"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Պատճենել",
"pasteButtonLabel": "Տեղադրել",
"selectAllButtonLabel": "Նշել բոլորը",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Փակել"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Salin",
"pasteButtonLabel": "Tempel",
"selectAllButtonLabel": "Pilih Semua",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Tutup"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Afrita",
"pasteButtonLabel": "Líma",
"selectAllButtonLabel": "Velja allt",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Hunsa"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copia",
"pasteButtonLabel": "Incolla",
"selectAllButtonLabel": "Seleziona tutto",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ignora"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "コピー",
"pasteButtonLabel": "貼り付け",
"selectAllButtonLabel": "すべて選択",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "閉じる"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "კოპირება",
"pasteButtonLabel": "ჩასმა",
"selectAllButtonLabel": "ყველას არჩევა",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "დახურვა"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Көшіру",
"pasteButtonLabel": "Қою",
"selectAllButtonLabel": "Барлығын таңдау",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Жабу"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "ចម្លង",
"pasteButtonLabel": "ដាក់​ចូល",
"selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ច្រាន​ចោល"
}
{
"datePickerHourSemanticsLabelOne": "$hour ಗಂಟೆ",
"datePickerHourSemanticsLabelOther": "$hour ಗಂಟೆ",
"datePickerMinuteSemanticsLabelOne": "1 ನಿಮಿಷ",
"datePickerMinuteSemanticsLabelOther": "$minute ನಿಮಿಷಗಳು",
"datePickerDateOrder": "dmy",
"datePickerDateTimeOrder": "date_time_dayPeriod",
"anteMeridiemAbbreviation": "ಬೆಳಿಗ್ಗೆ",
"postMeridiemAbbreviation": "ಸಂಜೆ",
"todayLabel": "ಇಂದು",
"alertDialogLabel": "ಎಚ್ಚರಿಕೆ",
"timerPickerHourLabelOne": "ಗಂಟೆ",
"timerPickerHourLabelOther": "ಗಂಟೆಗಳು",
"timerPickerMinuteLabelOne": "ನಿಮಿ.",
"timerPickerMinuteLabelOther": "ನಿಮಿ.",
"timerPickerSecondLabelOne": "ಸೆ.",
"timerPickerSecondLabelOther": "ಸೆ.",
"cutButtonLabel": "ಕತ್ತರಿಸಿ",
"copyButtonLabel": "ನಕಲಿಸಿ",
"pasteButtonLabel": "ಅಂಟಿಸಿ",
"selectAllButtonLabel": "ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆಮಾಡಿ",
"modalBarrierDismissLabel": "ವಜಾಗೊಳಿಸಿ"
"datePickerHourSemanticsLabelOne": "\u0024\u0068\u006f\u0075\u0072\u0020\u0c97\u0c82\u0c9f\u0cc6",
"datePickerHourSemanticsLabelOther": "\u0024\u0068\u006f\u0075\u0072\u0020\u0c97\u0c82\u0c9f\u0cc6",
"datePickerMinuteSemanticsLabelOne": "\u0031\u0020\u0ca8\u0cbf\u0cae\u0cbf\u0cb7",
"datePickerMinuteSemanticsLabelOther": "\u0024\u006d\u0069\u006e\u0075\u0074\u0065\u0020\u0ca8\u0cbf\u0cae\u0cbf\u0cb7\u0c97\u0cb3\u0cc1",
"datePickerDateOrder": "\u0064\u006d\u0079",
"datePickerDateTimeOrder": "\u0064\u0061\u0074\u0065\u005f\u0074\u0069\u006d\u0065\u005f\u0064\u0061\u0079\u0050\u0065\u0072\u0069\u006f\u0064",
"anteMeridiemAbbreviation": "\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6",
"postMeridiemAbbreviation": "\u0cb8\u0c82\u0c9c\u0cc6",
"todayLabel": "\u0c87\u0c82\u0ca6\u0cc1",
"alertDialogLabel": "\u0c8e\u0c9a\u0ccd\u0c9a\u0cb0\u0cbf\u0c95\u0cc6",
"timerPickerHourLabelOne": "\u0c97\u0c82\u0c9f\u0cc6",
"timerPickerHourLabelOther": "\u0c97\u0c82\u0c9f\u0cc6\u0c97\u0cb3\u0cc1",
"timerPickerMinuteLabelOne": "\u0ca8\u0cbf\u0cae\u0cbf\u002e",
"timerPickerMinuteLabelOther": "\u0ca8\u0cbf\u0cae\u0cbf\u002e",
"timerPickerSecondLabelOne": "\u0cb8\u0cc6\u002e",
"timerPickerSecondLabelOther": "\u0cb8\u0cc6\u002e",
"cutButtonLabel": "\u0c95\u0ca4\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
"copyButtonLabel": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf",
"pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf",
"selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
"modalBarrierDismissLabel": "\u0cb5\u0c9c\u0cbe\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cbf",
"tabSemanticsLabel": "\u0054\u0042\u0044"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "복사",
"pasteButtonLabel": "붙여넣기",
"selectAllButtonLabel": "전체 선택",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "닫기"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Көчүрүү",
"pasteButtonLabel": "Чаптоо",
"selectAllButtonLabel": "Баарын тандоо",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Жабуу"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "ສຳເນົາ",
"pasteButtonLabel": "ວາງ",
"selectAllButtonLabel": "ເລືອກທັງໝົດ",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ປິດໄວ້"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Kopijuoti",
"pasteButtonLabel": "Įklijuoti",
"selectAllButtonLabel": "Pasirinkti viską",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Atsisakyti"
}
......@@ -24,5 +24,6 @@
"copyButtonLabel": "Kopēt",
"pasteButtonLabel": "Ielīmēt",
"selectAllButtonLabel": "Atlasīt visu",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Nerādīt"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Копирај",
"pasteButtonLabel": "Залепи",
"selectAllButtonLabel": "Избери ги сите",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Отфрли"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "പകർത്തുക",
"pasteButtonLabel": "ഒട്ടിക്കുക",
"selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "നിരസിക്കുക"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Хуулах",
"pasteButtonLabel": "Буулгах",
"selectAllButtonLabel": "Бүгдийг сонгох",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Үл хэрэгсэх"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "कॉपी करा",
"pasteButtonLabel": "पेस्ट करा",
"selectAllButtonLabel": "सर्व निवडा",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "डिसमिस करा"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Salin",
"pasteButtonLabel": "Tampal",
"selectAllButtonLabel": "Pilih Semua",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Tolak"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "မိတ္တူကူးရန်",
"pasteButtonLabel": "ကူးထည့်ရန်",
"selectAllButtonLabel": "အားလုံး ရွေးရန်",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ပယ်ရန်"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "प्रतिलिपि गर्नुहोस्",
"pasteButtonLabel": "टाँस्नुहोस्",
"selectAllButtonLabel": "सबै चयन गर्नुहोस्",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "खारेज गर्नुहोस्"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopiëren",
"pasteButtonLabel": "Plakken",
"selectAllButtonLabel": "Alles selecteren",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Sluiten"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopiér",
"pasteButtonLabel": "Lim inn",
"selectAllButtonLabel": "Velg alle",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Avvis"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "କପି କରନ୍ତୁ",
"pasteButtonLabel": "ପେଷ୍ଟ କରନ୍ତୁ",
"selectAllButtonLabel": "ସମସ୍ତ ଚୟନ କରନ୍ତୁ",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ଖାରଜ କରନ୍ତୁ"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "ਕਾਪੀ ਕਰੋ",
"pasteButtonLabel": "ਪੇਸਟ ਕਰੋ",
"selectAllButtonLabel": "ਸਭ ਚੁਣੋ",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ਖਾਰਜ ਕਰੋ"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Kopiuj",
"pasteButtonLabel": "Wklej",
"selectAllButtonLabel": "Wybierz wszystkie",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Zamknij"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Copiar",
"pasteButtonLabel": "Colar",
"selectAllButtonLabel": "Selecionar Tudo",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Dispensar"
}
......@@ -24,5 +24,6 @@
"copyButtonLabel": "Copiați",
"pasteButtonLabel": "Inserați",
"selectAllButtonLabel": "Selectați-le pe toate",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Închideți"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Копировать",
"pasteButtonLabel": "Вставить",
"selectAllButtonLabel": "Выбрать все",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Закрыть"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "පිටපත් කරන්න",
"pasteButtonLabel": "අලවන්න",
"selectAllButtonLabel": "සියල්ල තෝරන්න",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ඉවත ලන්න"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Kopírovať",
"pasteButtonLabel": "Prilepiť",
"selectAllButtonLabel": "Vybrať všetko",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Odmietnuť"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Kopiraj",
"pasteButtonLabel": "Prilepi",
"selectAllButtonLabel": "Izberi vse",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Opusti"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopjo",
"pasteButtonLabel": "Ngjit",
"selectAllButtonLabel": "Zgjidhi të gjitha",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Hiq"
}
......@@ -24,5 +24,6 @@
"copyButtonLabel": "Копирај",
"pasteButtonLabel": "Налепи",
"selectAllButtonLabel": "Изабери све",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Одбаци"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopiera",
"pasteButtonLabel": "Klistra in",
"selectAllButtonLabel": "Markera alla",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Stäng"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Nakili",
"pasteButtonLabel": "Bandika",
"selectAllButtonLabel": "Teua Zote",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Ondoa"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "நகலெடு",
"pasteButtonLabel": "ஒட்டு",
"selectAllButtonLabel": "எல்லாம் தேர்ந்தெடு",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "நிராகரிக்கும்"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "కాపీ చేయి",
"pasteButtonLabel": "అతికించు",
"selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "విస్మరించు"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "คัดลอก",
"pasteButtonLabel": "วาง",
"selectAllButtonLabel": "เลือกทั้งหมด",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "ปิด"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopyahin",
"pasteButtonLabel": "I-paste",
"selectAllButtonLabel": "Piliin Lahat",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "I-dismiss"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopyala",
"pasteButtonLabel": "Yapıştır",
"selectAllButtonLabel": "Tümünü Seç",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Kapat"
}
......@@ -29,5 +29,6 @@
"copyButtonLabel": "Копіювати",
"pasteButtonLabel": "Вставити",
"selectAllButtonLabel": "Вибрати все",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Закрити"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "کاپی کریں",
"pasteButtonLabel": "پیسٹ کریں",
"selectAllButtonLabel": "سبھی منتخب کریں",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "برخاست کریں"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Nusxa olish",
"pasteButtonLabel": "Joylash",
"selectAllButtonLabel": "Barchasini tanlash",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Yopish"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Sao chép",
"pasteButtonLabel": "Dán",
"selectAllButtonLabel": "Chọn tất cả",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Bỏ qua"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "复制",
"pasteButtonLabel": "粘贴",
"selectAllButtonLabel": "全选",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "关闭"
}
......@@ -19,5 +19,6 @@
"copyButtonLabel": "Kopisha",
"pasteButtonLabel": "Namathisela",
"selectAllButtonLabel": "Khetha konke",
"tabSemanticsLabel": "TBD",
"modalBarrierDismissLabel": "Cashisa"
}
......@@ -88,6 +88,12 @@ void main() {
expect(localizations.copyButtonLabel, isNotNull);
expect(localizations.pasteButtonLabel, isNotNull);
expect(localizations.selectAllButtonLabel, isNotNull);
expect(localizations.tabSemanticsLabel(tabIndex: 2, tabCount: 5), isNotNull);
expect(localizations.tabSemanticsLabel(tabIndex: 2, tabCount: 5), isNot(contains(r'$tabIndex')));
expect(localizations.tabSemanticsLabel(tabIndex: 2, tabCount: 5), isNot(contains(r'$tabCount')));
expect(() => localizations.tabSemanticsLabel(tabIndex: 0, tabCount: 5), throwsAssertionError);
expect(() => localizations.tabSemanticsLabel(tabIndex: 2, tabCount: 0), throwsAssertionError);
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment