[Framework] Add Share to selection controls (#132599)

In native iOS, users are able to select text and initiate a share menu, which provides several standard services, such as copy, sharing to social media, direct ability to send to various contacts through messaging apps, etc. 

https://github.com/flutter/engine/assets/36148254/d0af7034-31fd-412e-8636-a06bbff54765

This PR is the framework portion of the changes that will allow Share to be implemented.
The corresponding merged engine PR is [here](https://github.com/flutter/engine/pull/44554)
This PR addresses https://github.com/flutter/flutter/issues/107578
More details are available in this [design doc](https://github.com/flutter/engine/pull/flutter.dev/go/add-missing-features-to-selection-controls)
This commit is contained in:
LouiseHsu 2023-08-17 16:36:11 -07:00 committed by GitHub
parent ac66bdb7ec
commit 3f34b480c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
175 changed files with 1113 additions and 290 deletions

View file

@ -96,6 +96,7 @@ class CupertinoAdaptiveTextSelectionToolbar extends StatelessWidget {
required VoidCallback? onSelectAll,
required VoidCallback? onLookUp,
required VoidCallback? onSearchWeb,
required VoidCallback? onShare,
required VoidCallback? onLiveTextInput,
required this.anchors,
}) : children = null,
@ -107,6 +108,7 @@ class CupertinoAdaptiveTextSelectionToolbar extends StatelessWidget {
onSelectAll: onSelectAll,
onLookUp: onLookUp,
onSearchWeb: onSearchWeb,
onShare: onShare,
onLiveTextInput: onLiveTextInput
);

View file

@ -253,6 +253,10 @@ abstract class CupertinoLocalizations {
// The global version uses the translated string from the arb file.
String get searchWebButtonLabel;
/// The term used for launching a web search on a selection.
// The global version uses the translated string from the arb file.
String get shareButtonLabel;
/// The default placeholder used in [CupertinoSearchTextField].
// The global version uses the translated string from the arb file.
String get searchTextFieldPlaceholderLabel;
@ -469,6 +473,9 @@ class DefaultCupertinoLocalizations implements CupertinoLocalizations {
@override
String get searchWebButtonLabel => 'Search Web';
@override
String get shareButtonLabel => 'Share...';
@override
String get searchTextFieldPlaceholderLabel => 'Search';

View file

@ -109,6 +109,8 @@ class CupertinoTextSelectionToolbarButton extends StatefulWidget {
return localizations.lookUpButtonLabel;
case ContextMenuButtonType.searchWeb:
return localizations.searchWebButtonLabel;
case ContextMenuButtonType.share:
return localizations.shareButtonLabel;
case ContextMenuButtonType.liveTextInput:
case ContextMenuButtonType.delete:
case ContextMenuButtonType.custom:
@ -195,6 +197,7 @@ class _CupertinoTextSelectionToolbarButtonState extends State<CupertinoTextSelec
case ContextMenuButtonType.delete:
case ContextMenuButtonType.lookUp:
case ContextMenuButtonType.searchWeb:
case ContextMenuButtonType.share:
case ContextMenuButtonType.custom:
return textWidget;
case ContextMenuButtonType.liveTextInput:

View file

@ -105,6 +105,7 @@ class AdaptiveTextSelectionToolbar extends StatelessWidget {
required VoidCallback? onSelectAll,
required VoidCallback? onLookUp,
required VoidCallback? onSearchWeb,
required VoidCallback? onShare,
required VoidCallback? onLiveTextInput,
required this.anchors,
}) : children = null,
@ -116,6 +117,7 @@ class AdaptiveTextSelectionToolbar extends StatelessWidget {
onSelectAll: onSelectAll,
onLookUp: onLookUp,
onSearchWeb: onSearchWeb,
onShare: onShare,
onLiveTextInput: onLiveTextInput
);
@ -223,6 +225,8 @@ class AdaptiveTextSelectionToolbar extends StatelessWidget {
return localizations.lookUpButtonLabel;
case ContextMenuButtonType.searchWeb:
return localizations.searchWebButtonLabel;
case ContextMenuButtonType.share:
return localizations.searchWebButtonLabel;
case ContextMenuButtonType.liveTextInput:
return localizations.scanTextButtonLabel;
case ContextMenuButtonType.custom:

View file

@ -121,6 +121,9 @@ abstract class MaterialLocalizations {
/// Label for "search web" edit buttons and menu items.
String get searchWebButtonLabel;
/// Label for "share" edit buttons and menu items.
String get shareButtonLabel;
/// Label for the [AboutDialog] button that shows the [LicensePage].
String get viewLicensesButtonLabel;
@ -1190,6 +1193,9 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
@override
String get searchWebButtonLabel => 'Search Web';
@override
String get shareButtonLabel => 'Share...';
@override
String get viewLicensesButtonLabel => 'View licenses';

View file

@ -1038,24 +1038,27 @@ mixin TextSelectionDelegate {
/// input.
void bringIntoView(TextPosition position);
/// Whether cut is enabled, must not be null.
/// Whether cut is enabled.
bool get cutEnabled => true;
/// Whether copy is enabled, must not be null.
/// Whether copy is enabled.
bool get copyEnabled => true;
/// Whether paste is enabled, must not be null.
/// Whether paste is enabled.
bool get pasteEnabled => true;
/// Whether select all is enabled, must not be null.
/// Whether select all is enabled.
bool get selectAllEnabled => true;
/// Whether look up is enabled, must not be null.
/// Whether look up is enabled.
bool get lookUpEnabled => true;
/// Whether search web is enabled, must not be null.
/// Whether search web is enabled.
bool get searchWebEnabled => true;
/// Whether share is enabled.
bool get shareEnabled => true;
/// Whether Live Text input is enabled.
///
/// See also:

View file

@ -32,6 +32,9 @@ enum ContextMenuButtonType {
/// A button that launches a web search for the current text selection.
searchWeb,
/// A button that displays the share screen for the current text selection.
share,
/// A button for starting Live Text input.
///
/// See also:

View file

@ -1874,6 +1874,7 @@ class EditableText extends StatefulWidget {
required final VoidCallback? onSelectAll,
required final VoidCallback? onLookUp,
required final VoidCallback? onSearchWeb,
required final VoidCallback? onShare,
required final VoidCallback? onLiveTextInput,
}) {
final List<ContextMenuButtonItem> resultButtonItem = <ContextMenuButtonItem>[];
@ -1914,6 +1915,11 @@ class EditableText extends StatefulWidget {
onPressed: onSearchWeb,
type: ContextMenuButtonType.searchWeb,
),
if (onShare != null)
ContextMenuButtonItem(
onPressed: onShare,
type: ContextMenuButtonType.share,
),
]);
}
@ -2291,6 +2297,17 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
&& textEditingValue.selection.textInside(textEditingValue.text).trim() != '';
}
@override
bool get shareEnabled {
if (defaultTargetPlatform != TargetPlatform.iOS) {
return false;
}
return !widget.obscureText
&& !textEditingValue.selection.isCollapsed
&& textEditingValue.selection.textInside(textEditingValue.text).trim() != '';
}
@override
bool get liveTextInputEnabled {
return _liveTextInputStatus?.value == LiveTextInputStatus.enabled &&
@ -2456,8 +2473,11 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
}
}
/// Look up the current selection, as in the "Look Up" edit menu button on iOS.
/// Look up the current selection,
/// as in the "Look Up" edit menu button on iOS.
///
/// Currently this is only implemented for iOS.
///
/// Throws an error if the selection is empty or collapsed.
Future<void> lookUpSelection(SelectionChangedCause cause) async {
assert(!widget.obscureText);
@ -2473,9 +2493,10 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
}
/// Launch a web search on the current selection,
/// as in the "Search Web" edit menu button on iOS.
/// as in the "Search Web" edit menu button on iOS.
///
/// Currently this is only implemented for iOS.
///
/// When 'obscureText' is true or the selection is empty,
/// this function will not do anything
Future<void> searchWebForSelection(SelectionChangedCause cause) async {
@ -2493,6 +2514,28 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
}
}
/// Launch the share interface for the current selection,
/// as in the "Share" edit menu button on iOS.
///
/// Currently this is only implemented for iOS.
///
/// When 'obscureText' is true or the selection is empty,
/// this function will not do anything
Future<void> shareSelection(SelectionChangedCause cause) async {
assert(!widget.obscureText);
if (widget.obscureText) {
return;
}
final String text = textEditingValue.selection.textInside(textEditingValue.text);
if (text.isNotEmpty) {
await SystemChannels.platform.invokeMethod(
'Share.invoke',
text,
);
}
}
void _startLiveTextInput(SelectionChangedCause cause) {
if (!liveTextInputEnabled) {
return;
@ -2725,6 +2768,9 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
onSearchWeb: searchWebEnabled
? () => searchWebForSelection(SelectionChangedCause.toolbar)
: null,
onShare: shareEnabled
? () => shareSelection(SelectionChangedCause.toolbar)
: null,
onLiveTextInput: liveTextInputEnabled
? () => _startLiveTextInput(SelectionChangedCause.toolbar)
: null,

View file

@ -177,6 +177,7 @@ void main() {
onLiveTextInput: () {},
onLookUp: () {},
onSearchWeb: () {},
onShare: () {},
),
),
));
@ -202,7 +203,7 @@ void main() {
case TargetPlatform.macOS:
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsNWidgets(7));
expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsNWidgets(8));
}
},
skip: kIsWeb, // [intended] on web the browser handles the context menu.

View file

@ -250,7 +250,7 @@ void main() {
},
);
testWidgets('Look Up shows up on iOS only (CupertinoTextField)', (WidgetTester tester) async {
testWidgets('Look Up shows up on iOS only', (WidgetTester tester) async {
String? lastLookUp;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
@ -299,62 +299,13 @@ void main() {
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Look Up shows up on iOS only (TextField)', (WidgetTester tester) async {
String? lastLookUp;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'LookUp.invoke') {
expect(methodCall.arguments, isA<String>());
lastLookUp = methodCall.arguments as String;
}
return null;
});
final TextEditingController controller = TextEditingController(
text: 'Test ',
);
await tester.pumpWidget(
MaterialApp(
home: Material(
child: TextField(
controller: controller,
),
),
),
);
final bool isTargetPlatformiOS = defaultTargetPlatform == TargetPlatform.iOS;
// Long press to put the cursor after the "s".
const int index = 3;
await tester.longPressAt(textOffsetToPosition(tester, index));
await tester.pump();
// Double tap on the same location to select the word around the cursor.
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pump(const Duration(milliseconds: 50));
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pumpAndSettle();
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 4));
expect(find.text('Look Up'), isTargetPlatformiOS? findsOneWidget : findsNothing);
if (isTargetPlatformiOS) {
await tester.tap(find.text('Look Up'));
expect(lastLookUp, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Search Web shows up on iOS only (CupertinoTextField)', (WidgetTester tester) async {
String? lastLookUp;
testWidgets('Search Web shows up on iOS only', (WidgetTester tester) async {
String? lastSearch;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'SearchWeb.invoke') {
expect(methodCall.arguments, isA<String>());
lastLookUp = methodCall.arguments as String;
lastSearch = methodCall.arguments as String;
}
return null;
});
@ -390,31 +341,31 @@ void main() {
if (isTargetPlatformiOS) {
await tester.tap(find.text('Search Web'));
expect(lastLookUp, 'Test');
expect(lastSearch, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Search Web shows up on iOS only (TextField)', (WidgetTester tester) async {
String? lastLookUp;
testWidgets('Share shows up on iOS only', (WidgetTester tester) async {
String? lastShare;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'SearchWeb.invoke') {
if (methodCall.method == 'Share.invoke') {
expect(methodCall.arguments, isA<String>());
lastLookUp = methodCall.arguments as String;
lastShare = methodCall.arguments as String;
}
return null;
});
final TextEditingController controller = TextEditingController(
text: 'Test ',
text: 'Test',
);
await tester.pumpWidget(
MaterialApp(
home: Material(
child: TextField(
CupertinoApp(
home: Center(
child: CupertinoTextField(
controller: controller,
),
),
@ -435,11 +386,11 @@ void main() {
await tester.pumpAndSettle();
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 4));
expect(find.text('Search Web'), isTargetPlatformiOS? findsOneWidget : findsNothing);
expect(find.text('Share...'), isTargetPlatformiOS? findsOneWidget : findsNothing);
if (isTargetPlatformiOS) {
await tester.tap(find.text('Search Web'));
expect(lastLookUp, 'Test');
await tester.tap(find.text('Share...'));
expect(lastShare, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
@ -2210,7 +2161,7 @@ void main() {
);
// Selected text shows 5 toolbar buttons.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Tap the selected word to hide the toolbar and retain the selection.
await tester.tapAt(vPos);
@ -2228,7 +2179,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 24, extentOffset: 35),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Tap past the selected word to move the cursor and hide the toolbar.
await tester.tapAt(ePos);
@ -2347,7 +2298,7 @@ void main() {
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(find.byType(CupertinoButton), findsNWidgets(5));
expect(find.byType(CupertinoButton), findsNWidgets(6));
}
}
},
@ -2559,7 +2510,7 @@ void main() {
);
// Selected text shows 3 toolbar buttons.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }));
testWidgets(
@ -3604,7 +3555,7 @@ void main() {
const TextSelection(baseOffset: 8, extentOffset: 12),
);
// Shows toolbar.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }));
testWidgets(
@ -3638,7 +3589,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Double tap selecting the same word somewhere else is fine.
await tester.tapAt(textFieldStart + const Offset(100.0, 5.0));
@ -3658,7 +3609,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
await tester.tapAt(textFieldStart + const Offset(150.0, 5.0));
await tester.pump(const Duration(milliseconds: 50));
@ -3674,7 +3625,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 8, extentOffset: 12),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }));
group('Triple tap/click', () {
@ -4042,7 +3993,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
await tester.tapAt(textfieldStart + const Offset(50.0, 9.0));
await tester.pumpAndSettle(kDoubleTapTimeout);
@ -4068,7 +4019,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
// Third tap shows the toolbar and selects the paragraph.
await tester.tapAt(textfieldStart + const Offset(100.0, 9.0));
@ -4077,7 +4028,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 36),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
await tester.tapAt(textfieldStart + const Offset(150.0, 25.0));
await tester.pump(const Duration(milliseconds: 50));
@ -4095,7 +4046,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 44, extentOffset: 50),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
// Third tap selects the paragraph and shows the toolbar.
await tester.tapAt(textfieldStart + const Offset(150.0, 25.0));
@ -4104,7 +4055,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 36, extentOffset: 66),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : (isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);

View file

@ -336,7 +336,7 @@ void main() {
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsOneWidget);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsNothing);
expect(findOverflowNextButton(), findsOneWidget);
// Tapping the back button thrice shows the first page again with the next button.
await tapBackButton();
@ -394,6 +394,7 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsNothing);
expect(findOverflowNextButton(), findsNothing);
@ -412,6 +413,7 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsNothing);
expect(findOverflowNextButton(), findsOneWidget);
@ -424,6 +426,7 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsOneWidget);
@ -436,6 +439,7 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsOneWidget);
@ -447,10 +451,11 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsOneWidget);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsOneWidget);
// Tapping the next button again shows the last page.
// Tapping the next button again shows the Search Web Button.
await tapNextButton();
expect(find.text('Cut'), findsNothing);
expect(find.text('Copy'), findsNothing);
@ -458,23 +463,27 @@ void main() {
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsOneWidget);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsNothing);
// Tapping the back button thrice shows the second page again with the next button.
await tapBackButton();
await tapBackButton();
await tapBackButton();
expect(find.byType(CupertinoTextSelectionToolbarButton), findsNWidgets(3));
expect(find.text('Cut'), findsNothing);
expect(find.text('Copy'), findsOneWidget);
expect(find.text('Paste'), findsNothing);
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsOneWidget);
// Tapping the back button again shows the first page again.
// Tapping the next button again shows the last page and the Share button
await tapNextButton();
expect(find.text('Cut'), findsNothing);
expect(find.text('Copy'), findsNothing);
expect(find.text('Paste'), findsNothing);
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsOneWidget);
expect(findOverflowBackButton(), findsOneWidget);
expect(findOverflowNextButton(), findsNothing);
// Tapping the back button 5 times shows the first page again.
await tapBackButton();
await tapBackButton();
await tapBackButton();
await tapBackButton();
await tapBackButton();
expect(find.byType(CupertinoTextSelectionToolbarButton), findsNWidgets(2));
expect(find.text('Cut'), findsOneWidget);
@ -482,6 +491,8 @@ void main() {
expect(find.text('Paste'), findsNothing);
expect(find.text('Select All'), findsNothing);
expect(find.text('Look Up'), findsNothing);
expect(find.text('Search Web'), findsNothing);
expect(find.text('Share...'), findsNothing);
expect(findOverflowBackButton(), findsNothing);
expect(findOverflowNextButton(), findsOneWidget);
},

View file

@ -194,6 +194,7 @@ void main() {
onLiveTextInput: () {},
onLookUp: () {},
onSearchWeb: () {},
onShare: () {},
),
),
),
@ -211,7 +212,7 @@ void main() {
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(6));
case TargetPlatform.fuchsia:
expect(find.text('Select all'), findsOneWidget);
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(7));
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(8));
case TargetPlatform.iOS:
expect(find.text('Select All'), findsOneWidget);
expect(find.byType(CupertinoTextSelectionToolbarButton), findsNWidgets(6));
@ -221,10 +222,10 @@ void main() {
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(find.text('Select all'), findsOneWidget);
expect(find.byType(DesktopTextSelectionToolbarButton), findsNWidgets(7));
expect(find.byType(DesktopTextSelectionToolbarButton), findsNWidgets(8));
case TargetPlatform.macOS:
expect(find.text('Select All'), findsOneWidget);
expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsNWidgets(7));
expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsNWidgets(8));
}
},
skip: kIsWeb, // [intended] on web the browser handles the context menu.

View file

@ -32,6 +32,7 @@ void main() {
expect(localizations.scanTextButtonLabel, isNotNull);
expect(localizations.lookUpButtonLabel, isNotNull);
expect(localizations.searchWebButtonLabel, isNotNull);
expect(localizations.shareButtonLabel, isNotNull);
expect(localizations.okButtonLabel, isNotNull);
expect(localizations.pasteButtonLabel, isNotNull);
expect(localizations.selectAllButtonLabel, isNotNull);

View file

@ -605,6 +605,153 @@ void main() {
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Look Up shows up on iOS only', (WidgetTester tester) async {
String? lastLookUp;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'LookUp.invoke') {
expect(methodCall.arguments, isA<String>());
lastLookUp = methodCall.arguments as String;
}
return null;
});
final TextEditingController controller = TextEditingController(
text: 'Test ',
);
await tester.pumpWidget(
MaterialApp(
home: Material(
child: TextField(
controller: controller,
),
),
),
);
final bool isTargetPlatformiOS = defaultTargetPlatform == TargetPlatform.iOS;
// Long press to put the cursor after the "s".
const int index = 3;
await tester.longPressAt(textOffsetToPosition(tester, index));
await tester.pump();
// Double tap on the same location to select the word around the cursor.
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pump(const Duration(milliseconds: 50));
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pumpAndSettle();
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 4));
expect(find.text('Look Up'), isTargetPlatformiOS? findsOneWidget : findsNothing);
if (isTargetPlatformiOS) {
await tester.tap(find.text('Look Up'));
expect(lastLookUp, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Search Web shows up on iOS only', (WidgetTester tester) async {
String? lastSearch;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'SearchWeb.invoke') {
expect(methodCall.arguments, isA<String>());
lastSearch = methodCall.arguments as String;
}
return null;
});
final TextEditingController controller = TextEditingController(
text: 'Test ',
);
await tester.pumpWidget(
MaterialApp(
home: Material(
child: TextField(
controller: controller,
),
),
),
);
final bool isTargetPlatformiOS = defaultTargetPlatform == TargetPlatform.iOS;
// Long press to put the cursor after the "s".
const int index = 3;
await tester.longPressAt(textOffsetToPosition(tester, index));
await tester.pump();
// Double tap on the same location to select the word around the cursor.
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pump(const Duration(milliseconds: 50));
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pumpAndSettle();
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 4));
expect(find.text('Search Web'), isTargetPlatformiOS? findsOneWidget : findsNothing);
if (isTargetPlatformiOS) {
await tester.tap(find.text('Search Web'));
expect(lastSearch, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('Share shows up on iOS only', (WidgetTester tester) async {
String? lastShare;
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async {
if (methodCall.method == 'Share.invoke') {
expect(methodCall.arguments, isA<String>());
lastShare = methodCall.arguments as String;
}
return null;
});
final TextEditingController controller = TextEditingController(
text: 'Test ',
);
await tester.pumpWidget(
MaterialApp(
home: Material(
child: TextField(
controller: controller,
),
),
),
);
final bool isTargetPlatformiOS = defaultTargetPlatform == TargetPlatform.iOS;
// Long press to put the cursor after the "s".
const int index = 3;
await tester.longPressAt(textOffsetToPosition(tester, index));
await tester.pump();
// Double tap on the same location to select the word around the cursor.
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pump(const Duration(milliseconds: 50));
await tester.tapAt(textOffsetToPosition(tester, index));
await tester.pumpAndSettle();
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 4));
expect(find.text('Share...'), isTargetPlatformiOS? findsOneWidget : findsNothing);
if (isTargetPlatformiOS) {
await tester.tap(find.text('Share...'));
expect(lastShare, 'Test');
}
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.android }),
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
);
testWidgets('uses DefaultSelectionStyle for selection and cursor colors if provided', (WidgetTester tester) async {
const Color selectionColor = Colors.orange;
const Color cursorColor = Colors.red;
@ -9252,7 +9399,7 @@ void main() {
);
// Selected text shows 4 toolbar buttons.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Tap the selected word to hide the toolbar and retain the selection.
await tester.tapAt(vPos);
@ -9270,7 +9417,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 24, extentOffset: 35),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Tap past the selected word to move the cursor and hide the toolbar.
await tester.tapAt(ePos);
@ -9325,7 +9472,7 @@ void main() {
);
// Selected text shows 5 toolbar buttons.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);
@ -10005,7 +10152,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
await tester.tapAt(textfieldStart + const Offset(50.0, 9.0));
await tester.pumpAndSettle(kDoubleTapTimeout);
@ -10029,7 +10176,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Third tap shows the toolbar and selects the paragraph.
await tester.tapAt(textfieldStart + const Offset(100.0, 9.0));
@ -10038,7 +10185,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 36),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
await tester.tapAt(textfieldStart + const Offset(150.0, 50.0));
await tester.pump(const Duration(milliseconds: 50));
@ -10055,7 +10202,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 44, extentOffset: 50),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Third tap selects the paragraph and shows the toolbar.
await tester.tapAt(textfieldStart + const Offset(150.0, 50.0));
@ -10064,7 +10211,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 36, extentOffset: 66),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);
@ -11271,7 +11418,7 @@ void main() {
);
// Selected text shows 4 toolbar buttons on iOS, and 3 on macOS.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
await gesture.up();
await tester.pump();
@ -11283,7 +11430,7 @@ void main() {
);
// The toolbar is still showing.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -11415,7 +11562,7 @@ void main() {
// Collapsed toolbar shows 3 buttons.
expect(
find.byType(CupertinoButton),
isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3)
isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3)
);
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
@ -11719,7 +11866,7 @@ void main() {
const TextSelection(baseOffset: 0, extentOffset: 23),
);
// The toolbar now shows up.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -11885,7 +12032,7 @@ void main() {
const TextSelection(baseOffset: 0, extentOffset: 66, affinity: TextAffinity.upstream),
);
// The toolbar now shows up.
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
lastCharEndpoint = renderEditable.getEndpointsForSelection(
const TextSelection.collapsed(offset: 66), // Last character's position.
@ -12478,7 +12625,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 8, extentOffset: 12),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformMobile ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformMobile ? findsNWidgets(6) : findsNWidgets(3));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -12576,7 +12723,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
// Double tap selecting the same word somewhere else is fine.
await tester.tapAt(textfieldStart + const Offset(100.0, 9.0));
@ -12596,7 +12743,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
await tester.tapAt(textfieldStart + const Offset(150.0, 9.0));
await tester.pump(const Duration(milliseconds: 50));
@ -12612,7 +12759,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 8, extentOffset: 12),
);
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(5) : findsNWidgets(3));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);
@ -13039,7 +13186,7 @@ void main() {
await gesture.up();
await tester.pumpAndSettle();
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(5));
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(6));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }));
testWidgets('tap on non-force-press-supported devices work', (WidgetTester tester) async {

View file

@ -156,6 +156,7 @@ void main() {
onSelectAll: null,
onLookUp: null,
onSearchWeb: null,
onShare: null,
onLiveTextInput: () {
invokedLiveTextInputSuccessfully = true;
},

View file

@ -2959,7 +2959,7 @@ void main() {
);
// Selected text shows 1 toolbar buttons on MacOS, 2 on iOS.
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -3090,7 +3090,7 @@ void main() {
);
// Selected text shows 2 toolbar buttons for iOS, 1 for macOS.
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
await gesture.up();
await tester.pump();
@ -3101,7 +3101,7 @@ void main() {
const TextSelection(baseOffset: 8, extentOffset: 12),
);
// The toolbar is still showing.
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -3218,7 +3218,7 @@ void main() {
);
// Toolbar shows one button.
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -3554,7 +3554,7 @@ void main() {
),
);
// The toolbar now shows up.
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);
@ -3782,7 +3782,7 @@ void main() {
);
// Long press toolbar.
expect(find.byType(CupertinoButton), findsNWidgets(3));
expect(find.byType(CupertinoButton), findsNWidgets(4));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }),
);
@ -3876,7 +3876,7 @@ void main() {
const TextSelection(baseOffset: 8, extentOffset: 12),
);
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -3911,7 +3911,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
// Double tap selecting the same word somewhere else is fine.
await tester.pumpAndSettle(kDoubleTapTimeout);
@ -3928,7 +3928,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 0, extentOffset: 7),
);
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
// Hide the toolbar so it doesn't interfere with taps on the text.
final EditableTextState editableTextState =
@ -3950,7 +3950,7 @@ void main() {
controller.selection,
const TextSelection(baseOffset: 8, extentOffset: 12),
);
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(3) : findsNWidgets(1));
expect(find.byType(CupertinoButton), isTargetPlatformIOS ? findsNWidgets(4) : findsNWidgets(1));
},
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }),
);
@ -4029,7 +4029,7 @@ void main() {
await gesture.up();
await tester.pump();
expect(find.byType(CupertinoButton), findsNWidgets(3));
expect(find.byType(CupertinoButton), findsNWidgets(4));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS }));
testWidgets('tap on non-force-press-supported devices work', (WidgetTester tester) async {

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Geen plaasvervangers gevind nie",
"menuDismissLabel": "Maak kieslys toe",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ምንም ተተኪዎች አልተገኙም",
"menuDismissLabel": "ምናሌን አሰናብት",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -45,5 +45,6 @@
"noSpellCheckReplacementsLabel": "لم يتم العثور على بدائل",
"menuDismissLabel": "إغلاق القائمة",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "এইটোৰ সলনি ব্যৱহাৰ কৰিব পৰা শব্দ পোৱা নগ’ল",
"menuDismissLabel": "অগ্ৰাহ্য কৰাৰ মেনু",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Əvəzləmə Tapılmadı",
"menuDismissLabel": "Menyunu qapadın",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Замен не знойдзена",
"menuDismissLabel": "Закрыць меню",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Не бяха намерени замествания",
"menuDismissLabel": "Отхвърляне на менюто",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "কোনও বিকল্প বানান দেখানো হয়নি",
"menuDismissLabel": "বাতিল করার মেনু",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -30,5 +30,6 @@
"noSpellCheckReplacementsLabel": "Nije pronađena nijedna zamjena",
"menuDismissLabel": "Odbacivanje menija",
"lookUpButtonLabel": "Pogled prema gore",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "No s'ha trobat cap substitució",
"menuDismissLabel": "Ignora el menú",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Žádná nahrazení nenalezena",
"menuDismissLabel": "Zavřít nabídku",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -45,5 +45,6 @@
"noSpellCheckReplacementsLabel": "Dim Ailosodiadau wedi'u Canfod",
"menuDismissLabel": "Diystyru'r ddewislen",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Der blev ikke fundet nogen erstatninger",
"menuDismissLabel": "Luk menu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Keine Ersetzungen gefunden",
"menuDismissLabel": "Menü schließen",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Δεν βρέθηκαν αντικαταστάσεις",
"menuDismissLabel": "Παράβλεψη μενού",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -175,6 +175,11 @@
"description": "The label for the Search Web button and menu items on iOS."
},
"shareButtonLabel": "Share...",
"@shareButtonLabel": {
"description": "The label for the Share button and menu items on iOS."
},
"noSpellCheckReplacementsLabel": "No Replacements Found",
"@noSpellCheckReplacementsLabel": {
"description": "The label shown in the text selection context menu on iOS when a misspelled word is tapped but the spell checker found no reasonable fixes for it."

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "No se ha encontrado ninguna sustitución",
"menuDismissLabel": "Cerrar menú",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Asendusi ei leitud",
"menuDismissLabel": "Sulge menüü",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Ez da aurkitu ordezteko hitzik",
"menuDismissLabel": "Baztertu menua",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "جایگزینی پیدا نشد",
"menuDismissLabel": "بستن منو",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Korvaavia sanoja ei löydy",
"menuDismissLabel": "Hylkää valikko",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Walang Nahanap na Kapalit",
"menuDismissLabel": "I-dismiss ang menu",
"lookUpButtonLabel": "Tumingin sa Itaas",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Aucun remplacement trouvé",
"menuDismissLabel": "Fermer le menu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Non se encontrou ningunha substitución",
"menuDismissLabel": "Pechar menú",
"lookUpButtonLabel": "Mirar cara arriba",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Keine Ersetzungen gefunden",
"menuDismissLabel": "Menü schließen",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "બદલવા માટે કોઈ શબ્દ મળ્યો નથી",
"menuDismissLabel": "મેનૂ છોડી દો",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "לא נמצאו חלופות",
"menuDismissLabel": "סגירת התפריט",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "सही वर्तनी वाला कोई शब्द नहीं मिला",
"menuDismissLabel": "मेन्यू खारिज करें",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -30,5 +30,6 @@
"noSpellCheckReplacementsLabel": "Nema pronađenih zamjena",
"menuDismissLabel": "Odbacivanje izbornika",
"lookUpButtonLabel": "Pogled prema gore",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Nem található javítás",
"menuDismissLabel": "Menü bezárása",
"lookUpButtonLabel": "Felfelé nézés",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Փոխարինումներ չեն գտնվել",
"menuDismissLabel": "Փակել ընտրացանկը",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Penggantian Tidak Ditemukan",
"menuDismissLabel": "Tutup menu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Engir staðgenglar fundust",
"menuDismissLabel": "Loka valmynd",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Nessuna sostituzione trovata",
"menuDismissLabel": "Ignora menu",
"lookUpButtonLabel": "Cerca",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "置き換えるものがありません",
"menuDismissLabel": "メニューを閉じる",
"lookUpButtonLabel": "調べる",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ჩანაცვლება არ მოიძებნა",
"menuDismissLabel": "მენიუს უარყოფა",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Ауыстыратын ешнәрсе табылмады.",
"menuDismissLabel": "Мәзірді жабу",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "រកមិនឃើញ​ការជំនួសទេ",
"menuDismissLabel": "ច្រានចោល​ម៉ឺនុយ",
"lookUpButtonLabel": "រកមើល",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "\u0caf\u0cbe\u0cb5\u0cc1\u0ca6\u0cc7\u0020\u0cac\u0ca6\u0cb2\u0cbe\u0cb5\u0ca3\u0cc6\u0c97\u0cb3\u0cc1\u0020\u0c95\u0c82\u0ca1\u0cc1\u0cac\u0c82\u0ca6\u0cbf\u0cb2\u0ccd\u0cb2",
"menuDismissLabel": "\u0cae\u0cc6\u0ca8\u0cc1\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0cb5\u0c9c\u0cbe\u0c97\u0cc6\u0cc2\u0cb3\u0cbf\u0cb8\u0cbf",
"lookUpButtonLabel": "\u004c\u006f\u006f\u006b\u0020\u0055\u0070",
"searchWebButtonLabel": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0057\u0065\u0062"
"searchWebButtonLabel": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0057\u0065\u0062",
"shareButtonLabel": "\u0053\u0068\u0061\u0072\u0065\u002e\u002e\u002e"
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "수정사항 없음",
"menuDismissLabel": "메뉴 닫기",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Алмаштыруу үчүн сөз табылган жок",
"menuDismissLabel": "Менюну жабуу",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ບໍ່ພົບການແທນທີ່",
"menuDismissLabel": "ປິດເມນູ",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Nerasta jokių pakeitimų",
"menuDismissLabel": "Atsisakyti meniu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -30,5 +30,6 @@
"noSpellCheckReplacementsLabel": "Netika atrasts neviens vārds aizstāšanai",
"menuDismissLabel": "Nerādīt izvēlni",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Не се најдени заменски зборови",
"menuDismissLabel": "Отфрлете го менито",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "റീപ്ലേസ്‌മെന്റുകളൊന്നും കണ്ടെത്തിയില്ല",
"menuDismissLabel": "മെനു ഡിസ്മിസ് ചെയ്യുക",
"lookUpButtonLabel": "മുകളിലേക്ക് നോക്കുക",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Ямар ч орлуулалт олдсонгүй",
"menuDismissLabel": "Цэсийг хаах",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "कोणतेही बदल आढळले नाहीत",
"menuDismissLabel": "मेनू डिसमिस करा",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Tiada Penggantian Ditemukan",
"menuDismissLabel": "Ketepikan menu",
"lookUpButtonLabel": "Lihat ke Atas",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "အစားထိုးမှုများ မတွေ့ပါ",
"menuDismissLabel": "မီနူးကိုပယ်ပါ",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Fant ingen erstatninger",
"menuDismissLabel": "Lukk menyen",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "बदल्नु पर्ने कुनै पनि कुरा भेटिएन",
"menuDismissLabel": "मेनु खारेज गर्नुहोस्",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Geen vervangingen gevonden",
"menuDismissLabel": "Menu sluiten",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Fant ingen erstatninger",
"menuDismissLabel": "Lukk menyen",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "କୌଣସି ରିପ୍ଲେସମେଣ୍ଟ ମିଳିଲା ନାହିଁ",
"menuDismissLabel": "ମେନୁ ଖାରଜ କରନ୍ତୁ",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ਕੋਈ ਸੁਝਾਅ ਨਹੀਂ ਮਿਲਿਆ",
"menuDismissLabel": "ਮੀਨੂ ਖਾਰਜ ਕਰੋ",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Brak wyników zamieniania",
"menuDismissLabel": "Zamknij menu",
"lookUpButtonLabel": "Sprawdź",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Nenhuma alternativa encontrada",
"menuDismissLabel": "Dispensar menu",
"lookUpButtonLabel": "Pesquisar",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -30,5 +30,6 @@
"noSpellCheckReplacementsLabel": "Nu s-au găsit înlocuiri",
"menuDismissLabel": "Respingeți meniul",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Варианты замены не найдены",
"menuDismissLabel": "Закрыть меню",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ප්‍රතිස්ථාපන හමු නොවිණි",
"menuDismissLabel": "මෙනුව අස් කරන්න",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Nenašli sa žiadne náhrady",
"menuDismissLabel": "Zavrieť ponuku",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Ni zamenjav",
"menuDismissLabel": "Opusti meni",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Nuk u gjetën zëvendësime",
"menuDismissLabel": "Hiqe menynë",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -30,5 +30,6 @@
"noSpellCheckReplacementsLabel": "Нису пронађене замене",
"menuDismissLabel": "Одбаците мени",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Inga ersättningar hittades",
"menuDismissLabel": "Stäng menyn",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Hakuna Neno Mbadala Lilopatikana",
"menuDismissLabel": "Ondoa menyu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "மாற்று வார்த்தைகள் கிடைக்கவில்லை",
"menuDismissLabel": "மெனுவை மூடும்",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "రీప్లేస్‌మెంట్‌లు ఏవీ కనుగొనబడలేదు",
"menuDismissLabel": "మెనూను తీసివేయండి",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "ไม่พบรายการแทนที่",
"menuDismissLabel": "ปิดเมนู",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Walang Nahanap na Kapalit",
"menuDismissLabel": "I-dismiss ang menu",
"lookUpButtonLabel": "Tumingin sa Itaas",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Yerine Kelime Bulunamadı",
"menuDismissLabel": "Menüyü kapat",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -35,5 +35,6 @@
"noSpellCheckReplacementsLabel": "Замін не знайдено",
"menuDismissLabel": "Закрити меню",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "کوئی تبدیلیاں نہیں ملیں",
"menuDismissLabel": "مینو برخاست کریں",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Almashtirish uchun soʻz topilmadi",
"menuDismissLabel": "Menyuni yopish",
"lookUpButtonLabel": "Tepaga qarang",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Không tìm thấy phương án thay thế",
"menuDismissLabel": "Đóng trình đơn",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "找不到替换文字",
"menuDismissLabel": "关闭菜单",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -25,5 +25,6 @@
"noSpellCheckReplacementsLabel": "Akukho Okuzofakwa Esikhundleni Okutholakele",
"menuDismissLabel": "Chitha imenyu",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -118,6 +118,9 @@ class CupertinoLocalizationAf extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Kies alles';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Oortjie $tabIndex van $tabCount';
@ -277,6 +280,9 @@ class CupertinoLocalizationAm extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ሁሉንም ምረጥ';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'ትር $tabIndex ከ$tabCount';
@ -436,6 +442,9 @@ class CupertinoLocalizationAr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'اختيار الكل';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'علامة التبويب $tabIndex من $tabCount';
@ -595,6 +604,9 @@ class CupertinoLocalizationAs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'সকলো বাছনি কৰক';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount টা টেবৰ $tabIndex নম্বৰটো';
@ -754,6 +766,9 @@ class CupertinoLocalizationAz extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Hamısını seçin';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex/$tabCount';
@ -913,6 +928,9 @@ class CupertinoLocalizationBe extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Выбраць усе';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Укладка $tabIndex з $tabCount';
@ -1072,6 +1090,9 @@ class CupertinoLocalizationBg extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Избиране на всички';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Раздел $tabIndex от $tabCount';
@ -1231,6 +1252,9 @@ class CupertinoLocalizationBn extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'সব বেছে নিন';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount-এর মধ্যে $tabIndex নম্বর ট্যাব';
@ -1390,6 +1414,9 @@ class CupertinoLocalizationBs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Odaberi sve';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Kartica $tabIndex od $tabCount';
@ -1549,6 +1576,9 @@ class CupertinoLocalizationCa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Selecciona-ho tot';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Pestanya $tabIndex de $tabCount';
@ -1708,6 +1738,9 @@ class CupertinoLocalizationCs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Vybrat vše';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Karta $tabIndex z $tabCount';
@ -1867,6 +1900,9 @@ class CupertinoLocalizationCy extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Dewis y Cyfan';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex o $tabCount';
@ -2026,6 +2062,9 @@ class CupertinoLocalizationDa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Vælg alle';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Fane $tabIndex af $tabCount';
@ -2185,6 +2224,9 @@ class CupertinoLocalizationDe extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Alles auswählen';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex von $tabCount';
@ -2365,6 +2407,9 @@ class CupertinoLocalizationEl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Επιλογή όλων';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Καρτέλα $tabIndex από $tabCount';
@ -2524,6 +2569,9 @@ class CupertinoLocalizationEn extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Select All';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex of $tabCount';
@ -2917,6 +2965,9 @@ class CupertinoLocalizationEs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Seleccionar todo';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Pestaña $tabIndex de $tabCount';
@ -3976,6 +4027,9 @@ class CupertinoLocalizationEt extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Vali kõik';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabIndex. vaheleht $tabCount-st';
@ -4135,6 +4189,9 @@ class CupertinoLocalizationEu extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Hautatu dena';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabIndex/$tabCount fitxa';
@ -4294,6 +4351,9 @@ class CupertinoLocalizationFa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'انتخاب همه';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'برگه $tabIndex از $tabCount';
@ -4453,6 +4513,9 @@ class CupertinoLocalizationFi extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Valitse kaikki';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Välilehti $tabIndex kautta $tabCount';
@ -4612,6 +4675,9 @@ class CupertinoLocalizationFil extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Piliin Lahat';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex ng $tabCount';
@ -4771,6 +4837,9 @@ class CupertinoLocalizationFr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Tout sélect.';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Onglet $tabIndex sur $tabCount';
@ -4975,6 +5044,9 @@ class CupertinoLocalizationGl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Seleccionar todo';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Pestana $tabIndex de $tabCount';
@ -5134,6 +5206,9 @@ class CupertinoLocalizationGsw extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Alles auswählen';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex von $tabCount';
@ -5293,6 +5368,9 @@ class CupertinoLocalizationGu extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'બધા પસંદ કરો';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCountમાંથી $tabIndex ટૅબ';
@ -5452,6 +5530,9 @@ class CupertinoLocalizationHe extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'בחירת הכול';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'כרטיסייה $tabIndex מתוך $tabCount';
@ -5611,6 +5692,9 @@ class CupertinoLocalizationHi extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'सभी चुनें';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount का टैब $tabIndex';
@ -5770,6 +5854,9 @@ class CupertinoLocalizationHr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Odaberi sve';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Kartica $tabIndex od $tabCount';
@ -5929,6 +6016,9 @@ class CupertinoLocalizationHu extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Összes kijelölése';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount/$tabIndex. lap';
@ -6088,6 +6178,9 @@ class CupertinoLocalizationHy extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Նշել բոլորը';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Ներդիր $tabIndex՝ $tabCount-ից';
@ -6247,6 +6340,9 @@ class CupertinoLocalizationId extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Pilih Semua';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex dari $tabCount';
@ -6406,6 +6502,9 @@ class CupertinoLocalizationIs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Velja allt';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Flipi $tabIndex af $tabCount';
@ -6565,6 +6664,9 @@ class CupertinoLocalizationIt extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Seleziona tutto';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Scheda $tabIndex di $tabCount';
@ -6724,6 +6826,9 @@ class CupertinoLocalizationJa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'すべて選択';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'タブ: $tabIndex/$tabCount';
@ -6883,6 +6988,9 @@ class CupertinoLocalizationKa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ყველას არჩევა';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'ჩანართი $tabIndex / $tabCount-დან';
@ -7042,6 +7150,9 @@ class CupertinoLocalizationKk extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Барлығын таңдау';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Қойынды: $tabIndex/$tabCount';
@ -7201,6 +7312,9 @@ class CupertinoLocalizationKm extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ជ្រើសរើស​ទាំងអស់';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'ផ្ទាំងទី $tabIndex នៃ $tabCount';
@ -7360,6 +7474,9 @@ class CupertinoLocalizationKn extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => '\u{c8e}\u{cb2}\u{ccd}\u{cb2}\u{cb5}\u{ca8}\u{ccd}\u{ca8}\u{cc2}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => '\u{24}\u{74}\u{61}\u{62}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{cb0}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{ca8}\u{20}\u{24}\u{74}\u{61}\u{62}\u{49}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{c9f}\u{ccd}\u{caf}\u{cbe}\u{cac}\u{ccd}';
@ -7519,6 +7636,9 @@ class CupertinoLocalizationKo extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => '전체 선택';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'탭 $tabCount개 중 $tabIndex번째';
@ -7678,6 +7798,9 @@ class CupertinoLocalizationKy extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Баарын тандоо';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount ичинен $tabIndex-өтмөк';
@ -7837,6 +7960,9 @@ class CupertinoLocalizationLo extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ເລືອກທັງໝົດ';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'ແຖບທີ $tabIndex ຈາກທັງໝົດ $tabCount';
@ -7996,6 +8122,9 @@ class CupertinoLocalizationLt extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Pasirinkti viską';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabIndex skirtukas iš $tabCount';
@ -8155,6 +8284,9 @@ class CupertinoLocalizationLv extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Atlasīt visu';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabIndex. cilne no $tabCount';
@ -8314,6 +8446,9 @@ class CupertinoLocalizationMk extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Избери ги сите';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Картичка $tabIndex од $tabCount';
@ -8473,6 +8608,9 @@ class CupertinoLocalizationMl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'എല്ലാം തിരഞ്ഞെടുക്കുക';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount ടാബിൽ $tabIndex-ാമത്തേത്';
@ -8632,6 +8770,9 @@ class CupertinoLocalizationMn extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Бүгдийг сонгох';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount-н $tabIndex-р таб';
@ -8791,6 +8932,9 @@ class CupertinoLocalizationMr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'सर्व निवडा';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount पैकी $tabIndex टॅब';
@ -8950,6 +9094,9 @@ class CupertinoLocalizationMs extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Pilih Semua';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex daripada $tabCount';
@ -9109,6 +9256,9 @@ class CupertinoLocalizationMy extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'အားလုံး ရွေးရန်';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'တဘ် $tabCount ခုအနက် $tabIndex ခု';
@ -9268,6 +9418,9 @@ class CupertinoLocalizationNb extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Velg alle';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Fane $tabIndex av $tabCount';
@ -9427,6 +9580,9 @@ class CupertinoLocalizationNe extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'सबै चयन गर्नुहोस्';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount मध्ये $tabIndex ट्याब';
@ -9586,6 +9742,9 @@ class CupertinoLocalizationNl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Alles selecteren';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tabblad $tabIndex van $tabCount';
@ -9745,6 +9904,9 @@ class CupertinoLocalizationNo extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Velg alle';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Fane $tabIndex av $tabCount';
@ -9904,6 +10066,9 @@ class CupertinoLocalizationOr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ସମସ୍ତ ଚୟନ କରନ୍ତୁ';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCountର $tabIndex ଟାବ୍';
@ -10063,6 +10228,9 @@ class CupertinoLocalizationPa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'ਸਭ ਚੁਣੋ';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount ਵਿੱਚੋਂ $tabIndex ਟੈਬ';
@ -10222,6 +10390,9 @@ class CupertinoLocalizationPl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Wybierz wszystkie';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Karta $tabIndex z $tabCount';
@ -10381,6 +10552,9 @@ class CupertinoLocalizationPt extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Selecionar Tudo';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Guia $tabIndex de $tabCount';
@ -10588,6 +10762,9 @@ class CupertinoLocalizationRo extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Selectați-le pe toate';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Fila $tabIndex din $tabCount';
@ -10747,6 +10924,9 @@ class CupertinoLocalizationRu extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Выбрать все';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Вкладка $tabIndex из $tabCount';
@ -10906,6 +11086,9 @@ class CupertinoLocalizationSi extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'සියල්ල තෝරන්න';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'ටැබ $tabCount න් $tabIndex';
@ -11065,6 +11248,9 @@ class CupertinoLocalizationSk extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Vybrať všetko';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Karta $tabIndex z $tabCount';
@ -11224,6 +11410,9 @@ class CupertinoLocalizationSl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Izberi vse';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Zavihek $tabIndex od $tabCount';
@ -11383,6 +11572,9 @@ class CupertinoLocalizationSq extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Zgjidhi të gjitha';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Skeda $tabIndex nga $tabCount';
@ -11542,6 +11734,9 @@ class CupertinoLocalizationSr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Изабери све';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabIndex. картица од $tabCount';
@ -11821,6 +12016,9 @@ class CupertinoLocalizationSv extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Markera alla';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Flik $tabIndex av $tabCount';
@ -11980,6 +12178,9 @@ class CupertinoLocalizationSw extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Teua Zote';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Kichupo cha $tabIndex kati ya $tabCount';
@ -12139,6 +12340,9 @@ class CupertinoLocalizationTa extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'எல்லாம் தேர்ந்தெடு';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'தாவல் $tabIndex / $tabCount';
@ -12298,6 +12502,9 @@ class CupertinoLocalizationTe extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'అన్నింటినీ ఎంచుకోండి';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCountలో $tabIndexవ ట్యాబ్';
@ -12457,6 +12664,9 @@ class CupertinoLocalizationTh extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'เลือกทั้งหมด';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'แท็บที่ $tabIndex จาก $tabCount';
@ -12616,6 +12826,9 @@ class CupertinoLocalizationTl extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Piliin Lahat';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex ng $tabCount';
@ -12775,6 +12988,9 @@ class CupertinoLocalizationTr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Tümünü Seç';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Sekme $tabIndex/$tabCount';
@ -12934,6 +13150,9 @@ class CupertinoLocalizationUk extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Вибрати все';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Вкладка $tabIndex з $tabCount';
@ -13093,6 +13312,9 @@ class CupertinoLocalizationUr extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'سبھی منتخب کریں';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount میں سے $tabIndex ٹیب';
@ -13252,6 +13474,9 @@ class CupertinoLocalizationUz extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Barchasini tanlash';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'$tabCount varaqdan $tabIndex';
@ -13411,6 +13636,9 @@ class CupertinoLocalizationVi extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Chọn tất cả';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Thẻ $tabIndex/$tabCount';
@ -13570,6 +13798,9 @@ class CupertinoLocalizationZh extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => '全选';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'第 $tabIndex 个标签,共 $tabCount 个';
@ -13891,6 +14122,9 @@ class CupertinoLocalizationZu extends GlobalCupertinoLocalizations {
@override
String get selectAllButtonLabel => 'Khetha konke';
@override
String get shareButtonLabel => 'Share...';
@override
String get tabSemanticsLabelRaw => r'Ithebhu $tabIndex kwangu-$tabCount';

View file

@ -464,6 +464,9 @@ class MaterialLocalizationAf extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Wys rekeninge';
@ -951,6 +954,9 @@ class MaterialLocalizationAm extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'መለያዎችን አሳይ';
@ -1438,6 +1444,9 @@ class MaterialLocalizationAr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'لم يتم اختيار أي عنصر';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'إظهار الحسابات';
@ -1925,6 +1934,9 @@ class MaterialLocalizationAs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'একাউণ্টসমূহ দেখুৱাওক';
@ -2412,6 +2424,9 @@ class MaterialLocalizationAz extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Hesabları göstərin';
@ -2899,6 +2914,9 @@ class MaterialLocalizationBe extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Паказаць уліковыя запісы';
@ -3386,6 +3404,9 @@ class MaterialLocalizationBg extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Показване на профилите';
@ -3873,6 +3894,9 @@ class MaterialLocalizationBn extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'অ্যাকাউন্টগুলি দেখান';
@ -4360,6 +4384,9 @@ class MaterialLocalizationBs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Prikaži račune';
@ -4847,6 +4874,9 @@ class MaterialLocalizationCa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Mostra els comptes';
@ -5334,6 +5364,9 @@ class MaterialLocalizationCs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Zobrazit účty';
@ -5821,6 +5854,9 @@ class MaterialLocalizationCy extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => "Nid oes unrhyw eitemau wedi'u dewis";
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Dangos cyfrifon';
@ -6308,6 +6344,9 @@ class MaterialLocalizationDa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Vis konti';
@ -6795,6 +6834,9 @@ class MaterialLocalizationDe extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Keine Objekte ausgewählt';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Konten anzeigen';
@ -7346,6 +7388,9 @@ class MaterialLocalizationEl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Εμφάνιση λογαριασμών';
@ -7833,6 +7878,9 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'No items selected';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Show accounts';
@ -9117,6 +9165,9 @@ class MaterialLocalizationEs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'No se han seleccionado elementos';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Mostrar cuentas';
@ -13407,6 +13458,9 @@ class MaterialLocalizationEt extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Kuva kontod';
@ -13894,6 +13948,9 @@ class MaterialLocalizationEu extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Erakutsi kontuak';
@ -14381,6 +14438,9 @@ class MaterialLocalizationFa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'نشان دادن حساب‌ها';
@ -14868,6 +14928,9 @@ class MaterialLocalizationFi extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Näytä tilit';
@ -15355,6 +15418,9 @@ class MaterialLocalizationFil extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Ipakita ang mga account';
@ -15842,6 +15908,9 @@ class MaterialLocalizationFr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Aucun élément sélectionné';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Afficher les comptes';
@ -16486,6 +16555,9 @@ class MaterialLocalizationGl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Non se seleccionaron elementos';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Mostrar contas';
@ -16973,6 +17045,9 @@ class MaterialLocalizationGsw extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Konten anzeigen';
@ -17460,6 +17535,9 @@ class MaterialLocalizationGu extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'એકાઉન્ટ બતાવો';
@ -17947,6 +18025,9 @@ class MaterialLocalizationHe extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'הצגת החשבונות';
@ -18434,6 +18515,9 @@ class MaterialLocalizationHi extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'खाते दिखाएं';
@ -18921,6 +19005,9 @@ class MaterialLocalizationHr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Prikažite račune';
@ -19408,6 +19495,9 @@ class MaterialLocalizationHu extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Fiókok megjelenítése';
@ -19895,6 +19985,9 @@ class MaterialLocalizationHy extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Տողերը ընտրված չեն';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Ցույց տալ հաշիվները';
@ -20382,6 +20475,9 @@ class MaterialLocalizationId extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Tampilkan akun';
@ -20869,6 +20965,9 @@ class MaterialLocalizationIs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Sýna reikninga';
@ -21356,6 +21455,9 @@ class MaterialLocalizationIt extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Mostra account';
@ -21843,6 +21945,9 @@ class MaterialLocalizationJa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'アカウントを表示';
@ -22330,6 +22435,9 @@ class MaterialLocalizationKa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ანგარიშების ჩვენება';
@ -22817,6 +22925,9 @@ class MaterialLocalizationKk extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Тармақ таңдалмаған';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Аккаунттарды көрсету';
@ -23304,6 +23415,9 @@ class MaterialLocalizationKm extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'បង្ហាញគណនី';
@ -23791,6 +23905,9 @@ class MaterialLocalizationKn extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => '\u{c96}\u{cbe}\u{ca4}\u{cc6}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{ccb}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
@ -24278,6 +24395,9 @@ class MaterialLocalizationKo extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => '계정 표시';
@ -24765,6 +24885,9 @@ class MaterialLocalizationKy extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Аккаунттарды көрсөтүү';
@ -25252,6 +25375,9 @@ class MaterialLocalizationLo extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ສະແດງບັນຊີ';
@ -25739,6 +25865,9 @@ class MaterialLocalizationLt extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Rodyti paskyras';
@ -26226,6 +26355,9 @@ class MaterialLocalizationLv extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Nav atlasītu vienumu';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Rādīt kontus';
@ -26713,6 +26845,9 @@ class MaterialLocalizationMk extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Прикажи сметки';
@ -27200,6 +27335,9 @@ class MaterialLocalizationMl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'അക്കൗണ്ടുകൾ കാണിക്കുക';
@ -27687,6 +27825,9 @@ class MaterialLocalizationMn extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Бичлэг сонгоогүй байна';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Бүртгэлүүдийг харуулах';
@ -28174,6 +28315,9 @@ class MaterialLocalizationMr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'कोणतेही आयटम निवडलेले नाहीत';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'खाती दर्शवा';
@ -28661,6 +28805,9 @@ class MaterialLocalizationMs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Tiada item dipilih';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Tunjukkan akaun';
@ -29148,6 +29295,9 @@ class MaterialLocalizationMy extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'အကောင့်များကို ပြရန်';
@ -29635,6 +29785,9 @@ class MaterialLocalizationNb extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Vis kontoer';
@ -30122,6 +30275,9 @@ class MaterialLocalizationNe extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'खाताहरू देखाउनुहोस्';
@ -30609,6 +30765,9 @@ class MaterialLocalizationNl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Accounts tonen';
@ -31096,6 +31255,9 @@ class MaterialLocalizationNo extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Vis kontoer';
@ -31583,6 +31745,9 @@ class MaterialLocalizationOr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ଆକାଉଣ୍ଟ ଦେଖାନ୍ତୁ';
@ -32070,6 +32235,9 @@ class MaterialLocalizationPa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ਖਾਤੇ ਦਿਖਾਓ';
@ -32557,6 +32725,9 @@ class MaterialLocalizationPl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Pokaż konta';
@ -33044,6 +33215,9 @@ class MaterialLocalizationPs extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'حسابونه ښکاره کړئ';
@ -33531,6 +33705,9 @@ class MaterialLocalizationPt extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Mostrar contas';
@ -34193,6 +34370,9 @@ class MaterialLocalizationRo extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Nu există elemente selectate';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Afișați conturile';
@ -34680,6 +34860,9 @@ class MaterialLocalizationRu extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Строки не выбраны';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Показать аккаунты';
@ -35167,6 +35350,9 @@ class MaterialLocalizationSi extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ගිණුම් පෙන්වන්න';
@ -35654,6 +35840,9 @@ class MaterialLocalizationSk extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Zobraziť účty';
@ -36141,6 +36330,9 @@ class MaterialLocalizationSl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Prikaz računov';
@ -36628,6 +36820,9 @@ class MaterialLocalizationSq extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Shfaq llogaritë';
@ -37115,6 +37310,9 @@ class MaterialLocalizationSr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Прикажи налоге';
@ -37940,6 +38138,9 @@ class MaterialLocalizationSv extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Visa konton';
@ -38427,6 +38628,9 @@ class MaterialLocalizationSw extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'Hamna kilicho chaguliwa';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Onyesha akaunti';
@ -38914,6 +39118,9 @@ class MaterialLocalizationTa extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => 'எந்த வரிசையும் தேர்ந்தெடுக்கவில்லை';
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'கணக்குகளைக் காட்டும்';
@ -39401,6 +39608,9 @@ class MaterialLocalizationTe extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'ఖాతాలను చూపు';
@ -39888,6 +40098,9 @@ class MaterialLocalizationTh extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'แสดงบัญชี';
@ -40375,6 +40588,9 @@ class MaterialLocalizationTl extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Ipakita ang mga account';
@ -40862,6 +41078,9 @@ class MaterialLocalizationTr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Hesapları göster';
@ -41349,6 +41568,9 @@ class MaterialLocalizationUk extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Показати облікові записи';
@ -41836,6 +42058,9 @@ class MaterialLocalizationUr extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'اکاؤنٹس دکھائیں';
@ -42323,6 +42548,9 @@ class MaterialLocalizationUz extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Hisoblarni koʻrsatish';
@ -42810,6 +43038,9 @@ class MaterialLocalizationVi extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Hiển thị tài khoản';
@ -43297,6 +43528,9 @@ class MaterialLocalizationZh extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => '显示帐号';
@ -44319,6 +44553,9 @@ class MaterialLocalizationZu extends GlobalMaterialLocalizations {
@override
String? get selectedRowCountTitleZero => null;
@override
String get shareButtonLabel => 'Share...';
@override
String get showAccountsLabel => 'Bonisa ama-akhawunti';

View file

@ -143,5 +143,6 @@
"collapsedHint": "Uitgevou",
"menuDismissLabel": "Maak kieslys toe",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -143,5 +143,6 @@
"collapsedHint": "ተዘርግቷል",
"menuDismissLabel": "ምናሌን አሰናብት",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -154,5 +154,6 @@
"collapsedHint": "موسَّع",
"menuDismissLabel": "إغلاق القائمة",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

View file

@ -143,5 +143,6 @@
"collapsedHint": "বিস্তাৰ কৰা আছে",
"menuDismissLabel": "অগ্ৰাহ্য কৰাৰ মেনু",
"lookUpButtonLabel": "Look Up",
"searchWebButtonLabel": "Search Web"
"searchWebButtonLabel": "Search Web",
"shareButtonLabel": "Share..."
}

Some files were not shown because too many files have changed in this diff Show more