[VPAT][A11y] Announce Autocomplete search results status (#173480)

Status announcements 'Search results found' and 'no results found' were
observed on a search view on the iOS sheets app.

Fixes [[VPAT][A11y] autocomplete must announce status when search result
is available](https://github.com/flutter/flutter/issues/173064)
Fixes b/429094918
This commit is contained in:
Victor Sanni 2025-08-14 11:06:57 -07:00 committed by GitHub
parent ee3551fbe4
commit e68da97bd5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
84 changed files with 818 additions and 78 deletions

View File

@ -19,6 +19,8 @@ import 'editable_text.dart';
import 'focus_manager.dart';
import 'framework.dart';
import 'inherited_notifier.dart';
import 'localizations.dart';
import 'media_query.dart';
import 'overlay.dart';
import 'shortcuts.dart';
import 'tap_region.dart';
@ -404,6 +406,17 @@ class _RawAutocompleteState<T extends Object> extends State<RawAutocomplete<T>>
}
}
void _announceSemantics(bool resultsAvailable) {
if (!MediaQuery.supportsAnnounceOf(context)) {
return;
}
final WidgetsLocalizations localizations = WidgetsLocalizations.of(context);
final String optionsHint = resultsAvailable
? localizations.searchResultsFound
: localizations.noResultsFound;
SemanticsService.announce(optionsHint, localizations.textDirection);
}
// Assigning an ID to every call of _onChangedField is necessary to avoid a
// situation where _options is updated by an older call when multiple
// _onChangedField calls are running simultaneously.
@ -426,6 +439,9 @@ class _RawAutocompleteState<T extends Object> extends State<RawAutocomplete<T>>
if (callId != _onChangedCallId || !shouldUpdateOptions) {
return;
}
if (_options.isEmpty != options.isEmpty) {
_announceSemantics(options.isNotEmpty);
}
_options = options;
_updateHighlight(_highlightedOptionIndex.value);
final T? selection = _selection;

View File

@ -194,6 +194,14 @@ abstract class WidgetsLocalizations {
/// list one space right in the list.
String get reorderItemRight;
/// The semantics label used for [RawAutocomplete] when the options list goes
/// from empty to non-empty.
String get searchResultsFound => 'Search results found';
/// The semantics label used for [RawAutocomplete] when the options list goes
/// from non-empty to empty.
String get noResultsFound => 'No results found';
/// Label for "copy" edit buttons and menu items.
String get copyButtonLabel;
@ -284,6 +292,12 @@ class DefaultWidgetsLocalizations implements WidgetsLocalizations {
@override
String get reorderItemToStart => 'Move to the start';
@override
String get searchResultsFound => 'Search results found';
@override
String get noResultsFound => 'No results found';
@override
String get copyButtonLabel => 'Copy';

View File

@ -3271,6 +3271,78 @@ void main() {
expect(find.byKey(optionsKey), findsOneWidget);
});
testWidgets('Autocomplete Semantics announcement', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
final GlobalKey fieldKey = GlobalKey();
final GlobalKey optionsKey = GlobalKey();
late Iterable<String> lastOptions;
late FocusNode focusNode;
late TextEditingController textEditingController;
const DefaultWidgetsLocalizations localizations = DefaultWidgetsLocalizations();
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: RawAutocomplete<String>(
optionsBuilder: (TextEditingValue textEditingValue) {
return kOptions.where((String option) {
return option.contains(textEditingValue.text.toLowerCase());
});
},
fieldViewBuilder:
(
BuildContext context,
TextEditingController fieldTextEditingController,
FocusNode fieldFocusNode,
VoidCallback onFieldSubmitted,
) {
focusNode = fieldFocusNode;
textEditingController = fieldTextEditingController;
return TextField(
key: fieldKey,
focusNode: focusNode,
controller: textEditingController,
);
},
optionsViewBuilder:
(
BuildContext context,
AutocompleteOnSelected<String> onSelected,
Iterable<String> options,
) {
lastOptions = options;
return Container(key: optionsKey);
},
),
),
),
);
expect(find.byKey(fieldKey), findsOneWidget);
expect(find.byKey(optionsKey), findsNothing);
expect(tester.takeAnnouncements(), isEmpty);
focusNode.requestFocus();
await tester.pump();
expect(find.byKey(optionsKey), findsOneWidget);
expect(lastOptions.length, kOptions.length);
expect(tester.takeAnnouncements().first.message, localizations.searchResultsFound);
await tester.enterText(find.byKey(fieldKey), 'a');
await tester.pump();
expect(find.byKey(optionsKey), findsOneWidget);
expect(lastOptions.length, greaterThan(0));
expect(tester.takeAnnouncements(), isEmpty);
await tester.enterText(find.byKey(fieldKey), 'zzzz');
await tester.pump();
expect(find.byKey(optionsKey), findsNothing);
expect(tester.takeAnnouncements().first.message, localizations.noResultsFound);
handle.dispose();
});
testWidgets('RawAutocomplete renders at zero area', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(

View File

@ -22,6 +22,8 @@ void main() {
expect(localizations.reorderItemRight, isNotNull);
expect(localizations.reorderItemToEnd, isNotNull);
expect(localizations.reorderItemToStart, isNotNull);
expect(localizations.searchResultsFound, isNotNull);
expect(localizations.noResultsFound, isNotNull);
expect(localizations.copyButtonLabel, isNotNull);
expect(localizations.cutButtonLabel, isNotNull);
expect(localizations.pasteButtonLabel, isNotNull);

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Deursoek web",
"shareButtonLabel": "Deel",
"pasteButtonLabel": "Plak",
"selectAllButtonLabel": "Kies alles"
"selectAllButtonLabel": "Kies alles",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ድርን ፈልግ",
"shareButtonLabel": "አጋራ",
"pasteButtonLabel": "ለጥፍ",
"selectAllButtonLabel": "ሁሉንም ምረጥ"
"selectAllButtonLabel": "ሁሉንም ምረጥ",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "البحث على الويب",
"shareButtonLabel": "مشاركة",
"pasteButtonLabel": "لصق",
"selectAllButtonLabel": "اختيار الكل"
"selectAllButtonLabel": "اختيار الكل",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ৱেবত সন্ধান কৰক",
"shareButtonLabel": "শ্বেয়াৰ কৰক",
"pasteButtonLabel": "পে'ষ্ট কৰক",
"selectAllButtonLabel": "সকলো বাছনি কৰক"
"selectAllButtonLabel": "সকলো বাছনি কৰক",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Vebdə axtarın",
"shareButtonLabel": "Paylaşın",
"pasteButtonLabel": "Yerləşdirin",
"selectAllButtonLabel": "Hamısını seçin"
"selectAllButtonLabel": "Hamısını seçin",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Пошук у сетцы",
"shareButtonLabel": "Абагуліць",
"pasteButtonLabel": "Уставіць",
"selectAllButtonLabel": "Выбраць усе"
"selectAllButtonLabel": "Выбраць усе",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Търсене в мрежата",
"shareButtonLabel": "Споделяне",
"pasteButtonLabel": "Поставяне",
"selectAllButtonLabel": "Избиране на всички"
"selectAllButtonLabel": "Избиране на всички",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ওয়েবে সার্চ করুন",
"shareButtonLabel": "শেয়ার করুন",
"pasteButtonLabel": "পেস্ট করুন",
"selectAllButtonLabel": "সব বেছে নিন"
"selectAllButtonLabel": "সব বেছে নিন",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Pretraži Web",
"shareButtonLabel": "Dijeli",
"pasteButtonLabel": "Zalijepi",
"selectAllButtonLabel": "Odaberi sve"
"selectAllButtonLabel": "Odaberi sve",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Cerca al web",
"shareButtonLabel": "Comparteix",
"pasteButtonLabel": "Enganxa",
"selectAllButtonLabel": "Selecciona-ho tot"
"selectAllButtonLabel": "Selecciona-ho tot",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Vyhledávat na webu",
"shareButtonLabel": "Sdílet",
"pasteButtonLabel": "Vložit",
"selectAllButtonLabel": "Vybrat vše"
"selectAllButtonLabel": "Vybrat vše",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Chwilio'r We",
"shareButtonLabel": "Rhannu",
"pasteButtonLabel": "Gludo",
"selectAllButtonLabel": "Dewis y Cyfan"
"selectAllButtonLabel": "Dewis y Cyfan",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Søg på nettet",
"shareButtonLabel": "Del",
"pasteButtonLabel": "Indsæt",
"selectAllButtonLabel": "Markér alt"
"selectAllButtonLabel": "Markér alt",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Im Web suchen",
"shareButtonLabel": "Teilen",
"pasteButtonLabel": "Einsetzen",
"selectAllButtonLabel": "Alle auswählen"
"selectAllButtonLabel": "Alle auswählen",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Αναζήτηση στον ιστό",
"shareButtonLabel": "Κοινή χρήση",
"pasteButtonLabel": "Επικόλληση",
"selectAllButtonLabel": "Επιλογή όλων"
"selectAllButtonLabel": "Επιλογή όλων",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,6 +11,10 @@
"@reorderItemLeft": {"description":"The audio announcement to move an item in a Reorderable List left in the list when it is oriented horizontally."},
"reorderItemRight": "Move right",
"@reorderItemRight": {"description":"The audio announcement to move an item in a Reorderable List right in the list when it is oriented horizontally."},
"searchResultsFound": "Search results found",
"@searchResultsFound": {"description":"The audio announcement when Autocomplete search results become available."},
"noResultsFound": "No results found",
"@noResultsFound": {"description":"The audio announcement when Autocomplete search results become unavailable."},
"copyButtonLabel": "Copy",
"@copyButtonLabel": {"description":"The label for copy buttons and menu items."},
"cutButtonLabel": "Cut",

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Buscar en la Web",
"shareButtonLabel": "Compartir",
"pasteButtonLabel": "Pegar",
"selectAllButtonLabel": "Seleccionar todo"
"selectAllButtonLabel": "Seleccionar todo",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Otsi veebist",
"shareButtonLabel": "Jagamine",
"pasteButtonLabel": "Kleebi",
"selectAllButtonLabel": "Vali kõik"
"selectAllButtonLabel": "Vali kõik",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Bilatu sarean",
"shareButtonLabel": "Partekatu",
"pasteButtonLabel": "Itsatsi",
"selectAllButtonLabel": "Hautatu guztiak"
"selectAllButtonLabel": "Hautatu guztiak",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "جستجو در وب",
"shareButtonLabel": "هم‌رسانی کردن",
"pasteButtonLabel": "جای‌گذاری",
"selectAllButtonLabel": "انتخاب همه"
"selectAllButtonLabel": "انتخاب همه",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Hae verkosta",
"shareButtonLabel": "Jaa",
"pasteButtonLabel": "Liitä",
"selectAllButtonLabel": "Valitse kaikki"
"selectAllButtonLabel": "Valitse kaikki",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Maghanap sa Web",
"shareButtonLabel": "I-share",
"pasteButtonLabel": "I-paste",
"selectAllButtonLabel": "Piliin lahat"
"selectAllButtonLabel": "Piliin lahat",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Rechercher sur le Web",
"shareButtonLabel": "Partager",
"pasteButtonLabel": "Coller",
"selectAllButtonLabel": "Tout sélectionner"
"selectAllButtonLabel": "Tout sélectionner",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Buscar na Web",
"shareButtonLabel": "Compartir",
"pasteButtonLabel": "Pegar",
"selectAllButtonLabel": "Seleccionar todo"
"selectAllButtonLabel": "Seleccionar todo",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Im Web suchen",
"shareButtonLabel": "Teilen",
"pasteButtonLabel": "Einsetzen",
"selectAllButtonLabel": "Alle auswählen"
"selectAllButtonLabel": "Alle auswählen",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "વેબ પર શોધો",
"shareButtonLabel": "શેર કરો",
"pasteButtonLabel": "પેસ્ટ કરો",
"selectAllButtonLabel": "બધા પસંદ કરો"
"selectAllButtonLabel": "બધા પસંદ કરો",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "חיפוש באינטרנט",
"shareButtonLabel": "שיתוף",
"pasteButtonLabel": "הדבקה",
"selectAllButtonLabel": "בחירת הכול"
"selectAllButtonLabel": "בחירת הכול",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "वेब पर खोजें",
"shareButtonLabel": "शेयर करें",
"pasteButtonLabel": "चिपकाएं",
"selectAllButtonLabel": "सभी को चुनें"
"selectAllButtonLabel": "सभी को चुनें",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Pretraži web",
"shareButtonLabel": "Dijeli",
"pasteButtonLabel": "Zalijepi",
"selectAllButtonLabel": "Odaberi sve"
"selectAllButtonLabel": "Odaberi sve",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Keresés az interneten",
"shareButtonLabel": "Megosztás",
"pasteButtonLabel": "Beillesztés",
"selectAllButtonLabel": "Összes kijelölése"
"selectAllButtonLabel": "Összes kijelölése",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Որոնել համացանցում",
"shareButtonLabel": "Կիսվել",
"pasteButtonLabel": "Տեղադրել",
"selectAllButtonLabel": "Նշել բոլորը"
"selectAllButtonLabel": "Նշել բոլորը",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Telusuri di Web",
"shareButtonLabel": "Bagikan",
"pasteButtonLabel": "Tempel",
"selectAllButtonLabel": "Pilih semua"
"selectAllButtonLabel": "Pilih semua",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Leita á vefnum",
"shareButtonLabel": "Deila",
"pasteButtonLabel": "Líma",
"selectAllButtonLabel": "Velja allt"
"selectAllButtonLabel": "Velja allt",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Cerca sul web",
"shareButtonLabel": "Condividi",
"pasteButtonLabel": "Incolla",
"selectAllButtonLabel": "Seleziona tutto"
"selectAllButtonLabel": "Seleziona tutto",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ウェブを検索",
"shareButtonLabel": "共有",
"pasteButtonLabel": "貼り付け",
"selectAllButtonLabel": "すべてを選択"
"selectAllButtonLabel": "すべてを選択",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ვებში ძიება",
"shareButtonLabel": "გაზიარება",
"pasteButtonLabel": "ჩასმა",
"selectAllButtonLabel": "ყველას არჩევა"
"selectAllButtonLabel": "ყველას არჩევა",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Интернеттен іздеу",
"shareButtonLabel": "Бөлісу",
"pasteButtonLabel": "Қою",
"selectAllButtonLabel": "Барлығын таңдау"
"selectAllButtonLabel": "Барлығын таңдау",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ស្វែងរក​លើបណ្ដាញ",
"shareButtonLabel": "ចែករំលែក",
"pasteButtonLabel": "ដាក់​ចូល",
"selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់"
"selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,9 @@
"searchWebButtonLabel": "\u0cb5\u0cc6\u0cac\u0ccd\u200c\u0ca8\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf",
"shareButtonLabel": "\u0cb9\u0c82\u0c9a\u0cbf\u0c95\u0cca\u0cb3\u0ccd\u0cb3\u0cbf",
"pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf",
"selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cbf"
"selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cbf",
"searchResultsAvailable": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u0061\u0076\u0061\u0069\u006c\u0061\u0062\u006c\u0065",
"searchResultsUnavailable": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0076\u0061\u0069\u006c\u0061\u0062\u006c\u0065",
"searchResultsFound": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u0066\u006f\u0075\u006e\u0064",
"noResultsFound": "\u004e\u006f\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u0066\u006f\u0075\u006e\u0064"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "웹 검색",
"shareButtonLabel": "공유",
"pasteButtonLabel": "붙여넣기",
"selectAllButtonLabel": "전체 선택"
"selectAllButtonLabel": "전체 선택",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Интернеттен издөө",
"shareButtonLabel": "Бөлүшүү",
"pasteButtonLabel": "Чаптоо",
"selectAllButtonLabel": "Баарын тандоо"
"selectAllButtonLabel": "Баарын тандоо",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ຊອກຫາຢູ່ອິນເຕີເນັດ",
"shareButtonLabel": "ແບ່ງປັນ",
"pasteButtonLabel": "ວາງ",
"selectAllButtonLabel": "ເລືອກທັງໝົດ"
"selectAllButtonLabel": "ເລືອກທັງໝົດ",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Ieškoti žiniatinklyje",
"shareButtonLabel": "Bendrinti",
"pasteButtonLabel": "Įklijuoti",
"selectAllButtonLabel": "Pasirinkti viską"
"selectAllButtonLabel": "Pasirinkti viską",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Meklēt tīmeklī",
"shareButtonLabel": "Kopīgot",
"pasteButtonLabel": "Ielīmēt",
"selectAllButtonLabel": "Atlasīt visu"
"selectAllButtonLabel": "Atlasīt visu",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Пребарајте на интернет",
"shareButtonLabel": "Сподели",
"pasteButtonLabel": "Залепи",
"selectAllButtonLabel": "Избери ги сите"
"selectAllButtonLabel": "Избери ги сите",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "വെബിൽ തിരയുക",
"shareButtonLabel": "പങ്കിടുക",
"pasteButtonLabel": "ഒട്ടിക്കുക",
"selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക"
"selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Вебээс хайх",
"shareButtonLabel": "Хуваалцах",
"pasteButtonLabel": "Буулгах",
"selectAllButtonLabel": "Бүгдийг сонгох"
"selectAllButtonLabel": "Бүгдийг сонгох",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "वेबवर शोधा",
"shareButtonLabel": "शेअर करा",
"pasteButtonLabel": "पेस्ट करा",
"selectAllButtonLabel": "सर्व निवडा"
"selectAllButtonLabel": "सर्व निवडा",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Buat carian pada Web",
"shareButtonLabel": "Kongsi",
"pasteButtonLabel": "Tampal",
"selectAllButtonLabel": "Pilih semua"
"selectAllButtonLabel": "Pilih semua",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ဝဘ်တွင်ရှာရန်",
"shareButtonLabel": "မျှဝေရန်",
"pasteButtonLabel": "ကူးထည့်ရန်",
"selectAllButtonLabel": "အားလုံး ရွေးရန်"
"selectAllButtonLabel": "အားလုံး ရွေးရန်",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Søk på nettet",
"shareButtonLabel": "Del",
"pasteButtonLabel": "Lim inn",
"selectAllButtonLabel": "Velg alle"
"selectAllButtonLabel": "Velg alle",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "वेबमा खोज्नुहोस्",
"shareButtonLabel": "सेयर गर्नुहोस्",
"pasteButtonLabel": "टाँस्नुहोस्",
"selectAllButtonLabel": "सबै बटनहरू चयन गर्नुहोस्"
"selectAllButtonLabel": "सबै बटनहरू चयन गर्नुहोस्",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Op internet zoeken",
"shareButtonLabel": "Delen",
"pasteButtonLabel": "Plakken",
"selectAllButtonLabel": "Alles selecteren"
"selectAllButtonLabel": "Alles selecteren",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Søk på nettet",
"shareButtonLabel": "Del",
"pasteButtonLabel": "Lim inn",
"selectAllButtonLabel": "Velg alle"
"selectAllButtonLabel": "Velg alle",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ୱେବ ସର୍ଚ୍ଚ କରନ୍ତୁ",
"shareButtonLabel": "ସେୟାର କରନ୍ତୁ",
"pasteButtonLabel": "ପେଷ୍ଟ କରନ୍ତୁ",
"selectAllButtonLabel": "ସବୁ ଚୟନ କରନ୍ତୁ"
"selectAllButtonLabel": "ସବୁ ଚୟନ କରନ୍ତୁ",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ਵੈੱਬ 'ਤੇ ਖੋਜੋ",
"shareButtonLabel": "ਸਾਂਝਾ ਕਰੋ",
"pasteButtonLabel": "ਪੇਸਟ ਕਰੋ",
"selectAllButtonLabel": "ਸਭ ਚੁਣੋ"
"selectAllButtonLabel": "ਸਭ ਚੁਣੋ",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Szukaj w internecie",
"shareButtonLabel": "Udostępnij",
"pasteButtonLabel": "Wklej",
"selectAllButtonLabel": "Zaznacz wszystko"
"selectAllButtonLabel": "Zaznacz wszystko",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share...",
"pasteButtonLabel": "پیټ کړئ",
"selectAllButtonLabel": "غوره کړئ"
"selectAllButtonLabel": "غوره کړئ",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Pesquisar na Web",
"shareButtonLabel": "Compartilhar",
"pasteButtonLabel": "Colar",
"selectAllButtonLabel": "Selecionar tudo"
"selectAllButtonLabel": "Selecionar tudo",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Căutați pe web",
"shareButtonLabel": "Trimiteți",
"pasteButtonLabel": "Inserați",
"selectAllButtonLabel": "Selectați tot"
"selectAllButtonLabel": "Selectați tot",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Искать в интернете",
"shareButtonLabel": "Поделиться",
"pasteButtonLabel": "Вставить",
"selectAllButtonLabel": "Выбрать все"
"selectAllButtonLabel": "Выбрать все",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "වෙබය සොයන්න",
"shareButtonLabel": "බෙදා ගන්න",
"pasteButtonLabel": "අලවන්න",
"selectAllButtonLabel": "සියල්ල තෝරන්න"
"selectAllButtonLabel": "සියල්ල තෝරන්න",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Hľadať na webe",
"shareButtonLabel": "Zdieľať",
"pasteButtonLabel": "Prilepiť",
"selectAllButtonLabel": "Vybrať všetko"
"selectAllButtonLabel": "Vybrať všetko",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Iskanje v spletu",
"shareButtonLabel": "Deli",
"pasteButtonLabel": "Prilepi",
"selectAllButtonLabel": "Izberi vse"
"selectAllButtonLabel": "Izberi vse",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Kërko në ueb",
"shareButtonLabel": "Ndaj",
"pasteButtonLabel": "Ngjit",
"selectAllButtonLabel": "Zgjidh të gjitha"
"selectAllButtonLabel": "Zgjidh të gjitha",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Претражи веб",
"shareButtonLabel": "Дели",
"pasteButtonLabel": "Налепи",
"selectAllButtonLabel": "Изабери све"
"selectAllButtonLabel": "Изабери све",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Sök på webben",
"shareButtonLabel": "Dela",
"pasteButtonLabel": "Klistra in",
"selectAllButtonLabel": "Markera allt"
"selectAllButtonLabel": "Markera allt",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Tafuta kwenye Wavuti",
"shareButtonLabel": "Tuma",
"pasteButtonLabel": "Bandika",
"selectAllButtonLabel": "Chagua vyote"
"selectAllButtonLabel": "Chagua vyote",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "இணையத்தில் தேடு",
"shareButtonLabel": "பகிர்",
"pasteButtonLabel": "ஒட்டு",
"selectAllButtonLabel": "அனைத்தையும் தேர்ந்தெடு"
"selectAllButtonLabel": "அனைத்தையும் தேர்ந்தெடு",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "వెబ్‌లో సెర్చ్ చేయండి",
"shareButtonLabel": "షేర్ చేయండి",
"pasteButtonLabel": "పేస్ట్ చేయండి",
"selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి"
"selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ค้นหาบนอินเทอร์เน็ต",
"shareButtonLabel": "แชร์",
"pasteButtonLabel": "วาง",
"selectAllButtonLabel": "เลือกทั้งหมด"
"selectAllButtonLabel": "เลือกทั้งหมด",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Maghanap sa Web",
"shareButtonLabel": "I-share",
"pasteButtonLabel": "I-paste",
"selectAllButtonLabel": "Piliin lahat"
"selectAllButtonLabel": "Piliin lahat",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Web'de Ara",
"shareButtonLabel": "Paylaş",
"pasteButtonLabel": "Yapıştır",
"selectAllButtonLabel": "Tümünü seç"
"selectAllButtonLabel": "Tümünü seç",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Пошук в Інтернеті",
"shareButtonLabel": "Поділитися",
"pasteButtonLabel": "Вставити",
"selectAllButtonLabel": "Вибрати всі"
"selectAllButtonLabel": "Вибрати всі",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "ویب تلاش کریں",
"shareButtonLabel": "اشتراک کریں",
"pasteButtonLabel": "پیسٹ کریں",
"selectAllButtonLabel": "سبھی کو منتخب کریں"
"selectAllButtonLabel": "سبھی کو منتخب کریں",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Internetdan qidirish",
"shareButtonLabel": "Ulashish",
"pasteButtonLabel": "Joylash",
"selectAllButtonLabel": "Hammasi"
"selectAllButtonLabel": "Hammasi",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Tìm kiếm trên web",
"shareButtonLabel": "Chia sẻ",
"pasteButtonLabel": "Dán",
"selectAllButtonLabel": "Chọn tất cả"
"selectAllButtonLabel": "Chọn tất cả",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "搜索",
"shareButtonLabel": "分享",
"pasteButtonLabel": "粘贴",
"selectAllButtonLabel": "全选"
"selectAllButtonLabel": "全选",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}

View File

@ -11,5 +11,7 @@
"searchWebButtonLabel": "Sesha Iwebhu",
"shareButtonLabel": "Yabelana",
"pasteButtonLabel": "Namathisela",
"selectAllButtonLabel": "Khetha konke"
"selectAllButtonLabel": "Khetha konke",
"searchResultsFound": "Search results found",
"noResultsFound": "No results found"
}