From df65e46f9464e343f0d96e9817f12d15320e9978 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Fri, 21 Feb 2025 12:48:25 -0800 Subject: [PATCH] Secure paste milestone 2 (#159013) Implements the framework side of secure paste milestone 2, where the iOS system context menu items can be customized. Depends on PR https://github.com/flutter/flutter/pull/161103. Currently I've merged that PR into this one for testing, but I think that PR should merge separately first. ### Widget API (most users) ```dart TextField( contextMenuBuilder: (BuildContext context, EditableTextState editableTextState) { return SystemContextMenu.editableText( editableTextState: editableTextState, // items is optional items: [ const IOSSystemContextMenuItemCut(), constIOS SystemContextMenuItemCopy(), const IOSSystemContextMenuItemPaste(), const IOSSystemContextMenuItemSelectAll(), const IOSSystemContextMenuItemSearchWeb( title: 'Search!', // title is optional for this button, defaults to localized string ), // Milestone 3: IOSSystemContextMenuItemCustom( // title and onPressed are required title: 'custom button', onPressed: () { print('pressed the custom button.'); } ), ], ); }, ), ``` ### Raw Controller API ```dart _systemContextMenuController.show( widget.anchor, [ // Notice these are different classes than those used for the widget. That's // mainly because I can't provide localized defaults here, so the titles are // required in the classes that have titles. const IOSSystemContextMenuItemDataCut(), const IOSSystemContextMenuItemDataCopy(), const IOSSystemContextMenuItemDataPaste(), const IOSSystemContextMenuItemDataSelectAll(), const IOSSystemContextMenuItemDataSearchWeb( title: 'Search!', // title is required. ), // Milestone 3: IOSSystemContextMenuItemDataCustom( // title and onPressed are required as before. title: 'custom button', onPressed: () { print('pressed the custom button.'); } ), ], ); ```
Json format ```dart return _channel.invokeMethod>( 'ContextMenu.showSystemContextMenu', { 'targetRect': { 'x': targetRect.left, 'y': targetRect.top, 'width': targetRect.width, 'height': targetRect.height, }, 'items': [ { 'type': 'default', 'action': 'paste', }, { 'type': 'default', 'action': 'copy', }, { 'type': 'default', 'title': 'Crazy Title', 'action': 'share', }, ], }, ); ```
### Localization changes This change requires the SystemContextMenu widget in the widgets library to be able to look up the default localized label for several context menu buttons like "Copy", etc. Those strings previously resided in MaterialLocalizations and CupertinoLocalizations, but not in WidgetsLocalizations, so I have copied the necessary strings into WidgetsLocalizations. --------- Co-authored-by: Huan Lin --- .../flutter/lib/src/services/binding.dart | 30 +- .../flutter/lib/src/services/text_input.dart | 344 +++- .../src/widgets/context_menu_button_item.dart | 2 + .../lib/src/widgets/editable_text.dart | 2 + .../lib/src/widgets/localizations.dart | 42 + .../lib/src/widgets/system_context_menu.dart | 318 ++- .../system_context_menu_controller_test.dart | 285 ++- .../test/system_context_menu_utils.dart | 23 + .../test/widgets/localizations_test.dart | 20 + .../widgets/system_context_menu_test.dart | 444 ++-- .../l10n/generated_widgets_localizations.dart | 1791 +++++++++++++++++ .../lib/src/l10n/widgets_af.arb | 9 +- .../lib/src/l10n/widgets_am.arb | 9 +- .../lib/src/l10n/widgets_ar.arb | 9 +- .../lib/src/l10n/widgets_as.arb | 9 +- .../lib/src/l10n/widgets_az.arb | 9 +- .../lib/src/l10n/widgets_be.arb | 9 +- .../lib/src/l10n/widgets_bg.arb | 9 +- .../lib/src/l10n/widgets_bn.arb | 9 +- .../lib/src/l10n/widgets_bs.arb | 9 +- .../lib/src/l10n/widgets_ca.arb | 9 +- .../lib/src/l10n/widgets_cs.arb | 9 +- .../lib/src/l10n/widgets_cy.arb | 9 +- .../lib/src/l10n/widgets_da.arb | 9 +- .../lib/src/l10n/widgets_de.arb | 9 +- .../lib/src/l10n/widgets_de_CH.arb | 6 +- .../lib/src/l10n/widgets_el.arb | 9 +- .../lib/src/l10n/widgets_en.arb | 43 +- .../lib/src/l10n/widgets_en_AU.arb | 9 +- .../lib/src/l10n/widgets_en_CA.arb | 9 +- .../lib/src/l10n/widgets_en_GB.arb | 9 +- .../lib/src/l10n/widgets_en_IE.arb | 9 +- .../lib/src/l10n/widgets_en_IN.arb | 9 +- .../lib/src/l10n/widgets_en_NZ.arb | 9 +- .../lib/src/l10n/widgets_en_SG.arb | 9 +- .../lib/src/l10n/widgets_en_ZA.arb | 9 +- .../lib/src/l10n/widgets_es.arb | 9 +- .../lib/src/l10n/widgets_es_419.arb | 9 +- .../lib/src/l10n/widgets_es_AR.arb | 9 +- .../lib/src/l10n/widgets_es_BO.arb | 9 +- .../lib/src/l10n/widgets_es_CL.arb | 9 +- .../lib/src/l10n/widgets_es_CO.arb | 9 +- .../lib/src/l10n/widgets_es_CR.arb | 9 +- .../lib/src/l10n/widgets_es_DO.arb | 9 +- .../lib/src/l10n/widgets_es_EC.arb | 9 +- .../lib/src/l10n/widgets_es_GT.arb | 9 +- .../lib/src/l10n/widgets_es_HN.arb | 9 +- .../lib/src/l10n/widgets_es_MX.arb | 9 +- .../lib/src/l10n/widgets_es_NI.arb | 9 +- .../lib/src/l10n/widgets_es_PA.arb | 9 +- .../lib/src/l10n/widgets_es_PE.arb | 9 +- .../lib/src/l10n/widgets_es_PR.arb | 9 +- .../lib/src/l10n/widgets_es_PY.arb | 9 +- .../lib/src/l10n/widgets_es_SV.arb | 9 +- .../lib/src/l10n/widgets_es_US.arb | 9 +- .../lib/src/l10n/widgets_es_UY.arb | 9 +- .../lib/src/l10n/widgets_es_VE.arb | 9 +- .../lib/src/l10n/widgets_et.arb | 9 +- .../lib/src/l10n/widgets_eu.arb | 9 +- .../lib/src/l10n/widgets_fa.arb | 9 +- .../lib/src/l10n/widgets_fi.arb | 9 +- .../lib/src/l10n/widgets_fil.arb | 9 +- .../lib/src/l10n/widgets_fr.arb | 9 +- .../lib/src/l10n/widgets_fr_CA.arb | 9 +- .../lib/src/l10n/widgets_gl.arb | 9 +- .../lib/src/l10n/widgets_gsw.arb | 9 +- .../lib/src/l10n/widgets_gu.arb | 9 +- .../lib/src/l10n/widgets_he.arb | 9 +- .../lib/src/l10n/widgets_hi.arb | 9 +- .../lib/src/l10n/widgets_hr.arb | 9 +- .../lib/src/l10n/widgets_hu.arb | 9 +- .../lib/src/l10n/widgets_hy.arb | 9 +- .../lib/src/l10n/widgets_id.arb | 9 +- .../lib/src/l10n/widgets_is.arb | 9 +- .../lib/src/l10n/widgets_it.arb | 9 +- .../lib/src/l10n/widgets_ja.arb | 9 +- .../lib/src/l10n/widgets_ka.arb | 9 +- .../lib/src/l10n/widgets_kk.arb | 9 +- .../lib/src/l10n/widgets_km.arb | 9 +- .../lib/src/l10n/widgets_kn.arb | 9 +- .../lib/src/l10n/widgets_ko.arb | 9 +- .../lib/src/l10n/widgets_ky.arb | 9 +- .../lib/src/l10n/widgets_lo.arb | 9 +- .../lib/src/l10n/widgets_lt.arb | 9 +- .../lib/src/l10n/widgets_lv.arb | 9 +- .../lib/src/l10n/widgets_mk.arb | 9 +- .../lib/src/l10n/widgets_ml.arb | 9 +- .../lib/src/l10n/widgets_mn.arb | 9 +- .../lib/src/l10n/widgets_mr.arb | 9 +- .../lib/src/l10n/widgets_ms.arb | 9 +- .../lib/src/l10n/widgets_my.arb | 9 +- .../lib/src/l10n/widgets_nb.arb | 9 +- .../lib/src/l10n/widgets_ne.arb | 9 +- .../lib/src/l10n/widgets_nl.arb | 9 +- .../lib/src/l10n/widgets_no.arb | 9 +- .../lib/src/l10n/widgets_or.arb | 9 +- .../lib/src/l10n/widgets_pa.arb | 9 +- .../lib/src/l10n/widgets_pl.arb | 9 +- .../lib/src/l10n/widgets_ps.arb | 9 +- .../lib/src/l10n/widgets_pt.arb | 9 +- .../lib/src/l10n/widgets_pt_PT.arb | 9 +- .../lib/src/l10n/widgets_ro.arb | 9 +- .../lib/src/l10n/widgets_ru.arb | 9 +- .../lib/src/l10n/widgets_si.arb | 9 +- .../lib/src/l10n/widgets_sk.arb | 9 +- .../lib/src/l10n/widgets_sl.arb | 9 +- .../lib/src/l10n/widgets_sq.arb | 9 +- .../lib/src/l10n/widgets_sr.arb | 9 +- .../lib/src/l10n/widgets_sr_Latn.arb | 9 +- .../lib/src/l10n/widgets_sv.arb | 9 +- .../lib/src/l10n/widgets_sw.arb | 9 +- .../lib/src/l10n/widgets_ta.arb | 9 +- .../lib/src/l10n/widgets_te.arb | 9 +- .../lib/src/l10n/widgets_th.arb | 9 +- .../lib/src/l10n/widgets_tl.arb | 9 +- .../lib/src/l10n/widgets_tr.arb | 9 +- .../lib/src/l10n/widgets_uk.arb | 9 +- .../lib/src/l10n/widgets_ur.arb | 9 +- .../lib/src/l10n/widgets_uz.arb | 9 +- .../lib/src/l10n/widgets_vi.arb | 9 +- .../lib/src/l10n/widgets_zh.arb | 9 +- .../lib/src/l10n/widgets_zh_HK.arb | 9 +- .../lib/src/l10n/widgets_zh_TW.arb | 9 +- .../lib/src/l10n/widgets_zu.arb | 9 +- 124 files changed, 4037 insertions(+), 312 deletions(-) create mode 100644 packages/flutter/test/system_context_menu_utils.dart diff --git a/packages/flutter/lib/src/services/binding.dart b/packages/flutter/lib/src/services/binding.dart index 9b4c45e699..db4780b3b3 100644 --- a/packages/flutter/lib/src/services/binding.dart +++ b/packages/flutter/lib/src/services/binding.dart @@ -413,9 +413,15 @@ mixin ServicesBinding on BindingBase, SchedulerBinding { // the user taps outside the menu. Not called when Flutter shows a new // system context menu while an old one is still visible. case 'ContextMenu.onDismissSystemContextMenu': - for (final SystemContextMenuClient client in _systemContextMenuClients) { - client.handleSystemHide(); + if (_systemContextMenuClient == null) { + assert( + false, + 'Platform sent onDismissSystemContextMenu when no SystemContextMenuClient was registered.', + ); + return; } + _systemContextMenuClient!.handleSystemHide(); + _systemContextMenuClient = null; case 'SystemChrome.systemUIChange': final List args = methodCall.arguments as List; if (_systemUiChangeCallback != null) { @@ -571,17 +577,14 @@ mixin ServicesBinding on BindingBase, SchedulerBinding { await SystemChannels.platform.invokeMethod('System.initializationComplete'); } - final Set _systemContextMenuClients = {}; + SystemContextMenuClient? _systemContextMenuClient; /// Registers a [SystemContextMenuClient] that will receive system context /// menu calls from the engine. - static void registerSystemContextMenuClient(SystemContextMenuClient client) { - instance._systemContextMenuClients.add(client); - } - - /// Unregisters a [SystemContextMenuClient] so that it is no longer called. - static void unregisterSystemContextMenuClient(SystemContextMenuClient client) { - instance._systemContextMenuClients.remove(client); + /// + /// To unregister, set to null. + static set systemContextMenuClient(SystemContextMenuClient? client) { + instance._systemContextMenuClient = client; } } @@ -673,6 +676,9 @@ class _DefaultBinaryMessenger extends BinaryMessenger { /// See also: /// * [SystemContextMenuController], which uses this to provide a fully /// featured way to control the system context menu. +/// * [ServicesBinding.systemContextMenuClient], which can be set to a +/// [SystemContextMenuClient] to register it to receive events, or null to +/// unregister. /// * [MediaQuery.maybeSupportsShowingSystemContextMenu], which indicates /// whether the system context menu is supported. /// * [SystemContextMenu], which provides a widget interface for displaying the @@ -680,7 +686,7 @@ class _DefaultBinaryMessenger extends BinaryMessenger { mixin SystemContextMenuClient { /// Handles the system hiding a context menu. /// - /// This is called for all instances of [SystemContextMenuController], so it's - /// not guaranteed that this instance was the one that was hidden. + /// Called only on the single active instance registered with + /// [ServicesBinding.systemContextMenuClient]. void handleSystemHide(); } diff --git a/packages/flutter/lib/src/services/text_input.dart b/packages/flutter/lib/src/services/text_input.dart index 6d3702cab4..81215662c8 100644 --- a/packages/flutter/lib/src/services/text_input.dart +++ b/packages/flutter/lib/src/services/text_input.dart @@ -2587,7 +2587,7 @@ class SystemContextMenuController with SystemContextMenuClient { /// /// Not shown until [show] is called. SystemContextMenuController({this.onSystemHide}) { - ServicesBinding.registerSystemContextMenuClient(this); + ServicesBinding.systemContextMenuClient = this; } /// Called when the system has hidden the context menu. @@ -2609,11 +2609,19 @@ class SystemContextMenuController with SystemContextMenuClient { /// Null if [show] has not been called. Rect? _lastTargetRect; + /// The [IOSSystemContextMenuItem]s that were last given to [show]. + /// + /// Null if [show] has not been called. + List? _lastItems; + /// True when the instance most recently [show]n has been hidden by the /// system. bool _hiddenBySystem = false; - bool get _isVisible => this == _lastShown && !_hiddenBySystem; + /// Indicates whether the system context menu managed by this controller is + /// currently being displayed to the user. + @visibleForTesting + bool get isVisible => this == _lastShown && !_hiddenBySystem; /// After calling [dispose], this instance can no longer be used. bool _isDisposed = false; @@ -2623,9 +2631,8 @@ class SystemContextMenuController with SystemContextMenuClient { @override void handleSystemHide() { assert(!_isDisposed); - // If this instance wasn't being shown, then it wasn't the instance that was - // hidden. - if (!_isVisible) { + assert(isVisible); + if (_isDisposed || !isVisible) { return; } if (_lastShown == this) { @@ -2639,25 +2646,28 @@ class SystemContextMenuController with SystemContextMenuClient { /// Shows the system context menu anchored on the given [Rect]. /// + /// Currently only supported on iOS 16.0 and later. Check + /// [MediaQuery.maybeSupportsShowingSystemContextMenu] before calling this. + /// /// The [Rect] represents what the context menu is pointing to. For example, /// for some text selection, this would be the selection [Rect]. /// + /// Currently this system context menu is bound to text input. Using this + /// without an active [TextInputConnection] will be a noop. + /// /// There can only be one system context menu visible at a time. Calling this /// while another system context menu is already visible will remove the old /// menu before showing the new menu. /// - /// Currently this system context menu is bound to text input. The buttons - /// that are shown and the actions they perform are dependent on the - /// currently active [TextInputConnection]. Using this without an active - /// [TextInputConnection] will be a noop. - /// - /// This is only supported on iOS 16.0 and later. - /// /// See also: /// /// * [hide], which hides the menu shown by this method. /// * [MediaQuery.supportsShowingSystemContextMenu], which indicates whether /// this method is supported on the current platform. + @Deprecated( + 'Use showWithItems instead. ' + 'This feature was deprecated after v3.29.0-0.3.pre.', + ) Future show(Rect targetRect) { assert(!_isDisposed); assert( @@ -2666,29 +2676,95 @@ class SystemContextMenuController with SystemContextMenuClient { ); // Don't show the same thing that's already being shown. - if (_lastShown != null && _lastShown!._isVisible && _lastShown!._lastTargetRect == targetRect) { + if (_lastShown != null && _lastShown!.isVisible && _lastShown!._lastTargetRect == targetRect) { return Future.value(); } assert( - _lastShown == null || _lastShown == this || !_lastShown!._isVisible, + _lastShown == null || _lastShown == this || !_lastShown!.isVisible, 'Attempted to show while another instance was still visible.', ); + ServicesBinding.systemContextMenuClient = this; + _lastTargetRect = targetRect; _lastShown = this; _hiddenBySystem = false; - return _channel.invokeMethod>( - 'ContextMenu.showSystemContextMenu', - { - 'targetRect': { - 'x': targetRect.left, - 'y': targetRect.top, - 'width': targetRect.width, - 'height': targetRect.height, - }, + return _channel.invokeMethod('ContextMenu.showSystemContextMenu', { + 'targetRect': { + 'x': targetRect.left, + 'y': targetRect.top, + 'width': targetRect.width, + 'height': targetRect.height, }, + }); + } + + /// Shows the system context menu anchored on the given [Rect] with the given + /// buttons. + /// + /// Currently only supported on iOS 16.0 and later. Check + /// [MediaQuery.maybeSupportsShowingSystemContextMenu] before calling this. + /// + /// The [Rect] represents what the context menu is pointing to. For example, + /// for some text selection, this would be the selection [Rect]. + /// + /// `items` specifies the buttons that appear in the menu. The buttons that + /// appear in the menu will be exactly as given and will not automatically + /// udpate based on the state of the input field. See + /// [SystemContextMenu.getDefaultItems] for the default items for a given + /// [EditableTextState]. + /// + /// Currently this system context menu is bound to text input. Using this + /// without an active [TextInputConnection] will be a noop. + /// + /// There can only be one system context menu visible at a time. Calling this + /// while another system context menu is already visible will remove the old + /// menu before showing the new menu. + /// + /// See also: + /// + /// * [hide], which hides the menu shown by this method. + /// * [MediaQuery.supportsShowingSystemContextMenu], which indicates whether + /// this method is supported on the current platform. + Future showWithItems(Rect targetRect, List items) { + assert(!_isDisposed); + assert(items.isNotEmpty); + assert( + TextInput._instance._currentConnection != null, + 'Currently, the system context menu can only be shown for an active text input connection', ); + + // Don't show the same thing that's already being shown. + if (_lastShown != null && + _lastShown!.isVisible && + _lastShown!._lastTargetRect == targetRect && + listEquals(_lastShown!._lastItems, items)) { + return Future.value(); + } + + assert( + _lastShown == null || _lastShown == this || !_lastShown!.isVisible, + 'Attempted to show while another instance was still visible.', + ); + + ServicesBinding.systemContextMenuClient = this; + + final List> itemsJson = + items.map>((IOSSystemContextMenuItemData item) => item._json).toList(); + _lastTargetRect = targetRect; + _lastItems = items; + _lastShown = this; + _hiddenBySystem = false; + return _channel.invokeMethod('ContextMenu.showSystemContextMenu', { + 'targetRect': { + 'x': targetRect.left, + 'y': targetRect.top, + 'width': targetRect.width, + 'height': targetRect.height, + }, + 'items': itemsJson, + }); } /// Hides this system context menu. @@ -2705,12 +2781,13 @@ class SystemContextMenuController with SystemContextMenuClient { /// the system context menu is supported on the current platform. Future hide() async { assert(!_isDisposed); - // This check prevents a given instance from accidentally hiding some other + // This check prevents the instance from accidentally hiding some other // instance, since only one can be visible at a time. if (this != _lastShown) { return; } _lastShown = null; + ServicesBinding.systemContextMenuClient = null; // This may be called unnecessarily in the case where the user has already // hidden the menu (for example by tapping the screen). return _channel.invokeMethod('ContextMenu.hideSystemContextMenu'); @@ -2718,14 +2795,229 @@ class SystemContextMenuController with SystemContextMenuClient { @override String toString() { - return 'SystemContextMenuController(onSystemHide=$onSystemHide, _hiddenBySystem=$_hiddenBySystem, _isVisible=$_isVisible, _isDisposed=$_isDisposed)'; + return 'SystemContextMenuController(onSystemHide=$onSystemHide, _hiddenBySystem=$_hiddenBySystem, _isVisible=$isVisible, _isDisposed=$_isDisposed)'; } /// Used to release resources when this instance will never be used again. void dispose() { assert(!_isDisposed); hide(); - ServicesBinding.unregisterSystemContextMenuClient(this); _isDisposed = true; } } + +/// Describes a context menu button that will be rendered in the system context +/// menu. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItem], which performs a similar role but at the widget +/// level, where the titles can be replaced with default localized values. +/// * [ContextMenuButtonItem], which performs a similar role for Flutter-drawn +/// context menus. +@immutable +sealed class IOSSystemContextMenuItemData { + const IOSSystemContextMenuItemData(); + + /// The text to display to the user. + /// + /// Not exposed for some built-in menu items whose title is always set by the + /// platform. + String? get title => null; + + /// The type string used when serialized to json, recognized by the engine. + String get _jsonType; + + /// Returns json for use in method channel calls, specifically + /// `ContextMenu.showSystemContextMenu`. + Map get _json { + return { + 'callbackId': hashCode, + if (title != null) 'title': title, + 'type': _jsonType, + }; + } + + @override + int get hashCode => title.hashCode; + + @override + bool operator ==(Object other) { + if (identical(this, other)) { + return true; + } + if (other.runtimeType != runtimeType) { + return false; + } + return other is IOSSystemContextMenuItemData && other.title == title; + } +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in copy button. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemCopy], which performs a similar role but at the +/// widget level. +final class IOSSystemContextMenuItemDataCopy extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataCopy]. + const IOSSystemContextMenuItemDataCopy(); + + @override + String get _jsonType => 'copy'; +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in cut button. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemCut], which performs a similar role but at the +/// widget level. +final class IOSSystemContextMenuItemDataCut extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataCut]. + const IOSSystemContextMenuItemDataCut(); + + @override + String get _jsonType => 'cut'; +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in paste button. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemPaste], which performs a similar role but at the +/// widget level. +final class IOSSystemContextMenuItemDataPaste extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataPaste]. + const IOSSystemContextMenuItemDataPaste(); + + @override + String get _jsonType => 'paste'; +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in select all +/// button. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemSelectAll], which performs a similar role but at +/// the widget level. +final class IOSSystemContextMenuItemDataSelectAll extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataSelectAll]. + const IOSSystemContextMenuItemDataSelectAll(); + + @override + String get _jsonType => 'selectAll'; +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in look up +/// button. +/// +/// Must specify a [title], typically [WidgetsLocalizations.lookUpButtonLabel]. +/// +/// The action is handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemLookUp], which performs a similar role but at the +/// widget level, where the title can be replaced with a default localized +/// value. +final class IOSSystemContextMenuItemDataLookUp extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataLookUp]. + const IOSSystemContextMenuItemDataLookUp({required this.title}); + + @override + final String title; + + @override + String get _jsonType => 'lookUp'; + + @override + String toString() { + return 'IOSSystemContextMenuItemDataLookUp(title: $title)'; + } +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in search web +/// button. +/// +/// Must specify a [title], typically +/// [WidgetsLocalizations.searchWebButtonLabel]. +/// +/// The action is handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemSearchWeb], which performs a similar role but at +/// the widget level, where the title can be replaced with a default localized +/// value. +final class IOSSystemContextMenuItemDataSearchWeb extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataSearchWeb]. + const IOSSystemContextMenuItemDataSearchWeb({required this.title}); + + @override + final String title; + + @override + String get _jsonType => 'searchWeb'; + + @override + String toString() { + return 'IOSSystemContextMenuItemDataSearchWeb(title: $title)'; + } +} + +/// A [IOSSystemContextMenuItemData] for the system's built-in share button. +/// +/// Must specify a [title], typically +/// [WidgetsLocalizations.shareButtonLabel]. +/// +/// The action is handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemShare], which performs a similar role but at +/// the widget level, where the title can be replaced with a default +/// localized value. +final class IOSSystemContextMenuItemDataShare extends IOSSystemContextMenuItemData { + /// Creates an instance of [IOSSystemContextMenuItemDataShare]. + const IOSSystemContextMenuItemDataShare({required this.title}); + + @override + final String title; + + @override + String get _jsonType => 'share'; + + @override + String toString() { + return 'IOSSystemContextMenuItemDataShare(title: $title)'; + } +} + +// TODO(justinmc): Support the "custom" type. +// https://github.com/flutter/flutter/issues/103163 diff --git a/packages/flutter/lib/src/widgets/context_menu_button_item.dart b/packages/flutter/lib/src/widgets/context_menu_button_item.dart index 595b86576d..49ddbe4874 100644 --- a/packages/flutter/lib/src/widgets/context_menu_button_item.dart +++ b/packages/flutter/lib/src/widgets/context_menu_button_item.dart @@ -59,6 +59,8 @@ enum ContextMenuButtonType { /// * [AdaptiveTextSelectionToolbar], which can take a list of /// ContextMenuButtonItems and create a platform-specific context menu with /// the indicated buttons. +/// * [IOSSystemContextMenuItem], which serves a similar role but for +/// system-drawn context menu items on iOS. @immutable class ContextMenuButtonItem { /// Creates a const instance of [ContextMenuButtonItem]. diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart index 56df83a96c..762abea969 100644 --- a/packages/flutter/lib/src/widgets/editable_text.dart +++ b/packages/flutter/lib/src/widgets/editable_text.dart @@ -3025,6 +3025,8 @@ class EditableTextState extends State /// /// * [EditableText.getEditableButtonItems], which performs a similar role, /// but for any editable field, not just specifically EditableText. + /// * [SystemContextMenu.getDefaultItems], which performs a similar role, but + /// for the system-rendered context menu. /// * [SelectableRegionState.contextMenuButtonItems], which performs a similar /// role but for content that is selectable but not editable. /// * [contextMenuAnchors], which provides the anchor points for the default diff --git a/packages/flutter/lib/src/widgets/localizations.dart b/packages/flutter/lib/src/widgets/localizations.dart index a0e927a66c..4da5eb01eb 100644 --- a/packages/flutter/lib/src/widgets/localizations.dart +++ b/packages/flutter/lib/src/widgets/localizations.dart @@ -192,6 +192,27 @@ abstract class WidgetsLocalizations { /// list one space right in the list. String get reorderItemRight; + /// Label for "copy" edit buttons and menu items. + String get copyButtonLabel; + + /// Label for "cut" edit buttons and menu items. + String get cutButtonLabel; + + /// Label for "paste" edit buttons and menu items. + String get pasteButtonLabel; + + /// Label for "select all" edit buttons and menu items. + String get selectAllButtonLabel; + + /// Label for "look up" edit buttons and menu items. + String get lookUpButtonLabel; + + /// Label for "search web" edit buttons and menu items. + String get searchWebButtonLabel; + + /// Label for "share" edit buttons and menu items. + String get shareButtonLabel; + /// The `WidgetsLocalizations` from the closest [Localizations] instance /// that encloses the given context. /// @@ -261,6 +282,27 @@ class DefaultWidgetsLocalizations implements WidgetsLocalizations { @override String get reorderItemToStart => 'Move to the start'; + @override + String get copyButtonLabel => 'Copy'; + + @override + String get cutButtonLabel => 'Cut'; + + @override + String get pasteButtonLabel => 'Paste'; + + @override + String get selectAllButtonLabel => 'Select all'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get searchWebButtonLabel => 'Search Web'; + + @override + String get shareButtonLabel => 'Share'; + @override TextDirection get textDirection => TextDirection.ltr; diff --git a/packages/flutter/lib/src/widgets/system_context_menu.dart b/packages/flutter/lib/src/widgets/system_context_menu.dart index db4344215d..9f14b48c91 100644 --- a/packages/flutter/lib/src/widgets/system_context_menu.dart +++ b/packages/flutter/lib/src/widgets/system_context_menu.dart @@ -11,6 +11,7 @@ import 'package:flutter/services.dart'; import 'basic.dart'; import 'editable_text.dart'; import 'framework.dart'; +import 'localizations.dart'; import 'media_query.dart'; import 'text_selection_toolbar_anchors.dart'; @@ -28,6 +29,14 @@ import 'text_selection_toolbar_anchors.dart'; /// and display this one. A system context menu that is hidden is informed via /// [onSystemHide]. /// +/// Pass [items] to specify the buttons that will appear in the menu. Any items +/// without a title will be given a default title from [WidgetsLocalizations]. +/// +/// By default, [items] will be set to the result of [getDefaultItems]. This +/// method considers the state of the [EditableTextState] so that, for example, +/// it will only include [IOSSystemContextMenuItemCopy] if there is currently a +/// selection to copy. +/// /// To check if the current device supports showing the system context menu, /// call [isSupported]. /// @@ -46,13 +55,23 @@ import 'text_selection_toolbar_anchors.dart'; class SystemContextMenu extends StatefulWidget { /// Creates an instance of [SystemContextMenu] that points to the given /// [anchor]. - const SystemContextMenu._({super.key, required this.anchor, this.onSystemHide}); + const SystemContextMenu._({ + super.key, + required this.anchor, + required this.items, + this.onSystemHide, + }); /// Creates an instance of [SystemContextMenu] for the field indicated by the /// given [EditableTextState]. - factory SystemContextMenu.editableText({Key? key, required EditableTextState editableTextState}) { + factory SystemContextMenu.editableText({ + Key? key, + required EditableTextState editableTextState, + List? items, + }) { final (startGlyphHeight: double startGlyphHeight, endGlyphHeight: double endGlyphHeight) = editableTextState.getGlyphHeights(); + return SystemContextMenu._( key: key, anchor: TextSelectionToolbarAnchors.getSelectionRect( @@ -63,15 +82,25 @@ class SystemContextMenu extends StatefulWidget { editableTextState.textEditingValue.selection, ), ), - onSystemHide: () { - editableTextState.hideToolbar(); - }, + items: items ?? getDefaultItems(editableTextState), + onSystemHide: editableTextState.hideToolbar, ); } /// The [Rect] that the context menu should point to. final Rect anchor; + /// A list of the items to be displayed in the system context menu. + /// + /// When passed, items will be shown regardless of the state of text input. + /// For example, [IOSSystemContextMenuItemCopy] will produce a copy button + /// even when there is no selection to copy. Use [EditableTextState] and/or + /// the result of [getDefaultItems] to add and remove items based on the state + /// of the input. + /// + /// Defaults to the result of [getDefaultItems]. + final List items; + /// Called when the system hides this context menu. /// /// For example, tapping outside of the context menu typically causes the @@ -88,6 +117,26 @@ class SystemContextMenu extends StatefulWidget { return MediaQuery.maybeSupportsShowingSystemContextMenu(context) ?? false; } + /// The default [items] for the given [EditableTextState]. + /// + /// For example, [IOSSystemContextMenuItemCopy] will only be included when the + /// field represented by the [EditableTextState] has a selection. + /// + /// See also: + /// + /// * [EditableTextState.contextMenuButtonItems], which provides the default + /// [ContextMenuButtonItem]s for the Flutter-rendered context menu. + static List getDefaultItems(EditableTextState editableTextState) { + return [ + if (editableTextState.copyEnabled) const IOSSystemContextMenuItemCopy(), + if (editableTextState.cutEnabled) const IOSSystemContextMenuItemCut(), + if (editableTextState.pasteEnabled) const IOSSystemContextMenuItemPaste(), + if (editableTextState.selectAllEnabled) const IOSSystemContextMenuItemSelectAll(), + if (editableTextState.lookUpEnabled) const IOSSystemContextMenuItemLookUp(), + if (editableTextState.searchWebEnabled) const IOSSystemContextMenuItemSearchWeb(), + ]; + } + @override State createState() => _SystemContextMenuState(); } @@ -99,15 +148,6 @@ class _SystemContextMenuState extends State { void initState() { super.initState(); _systemContextMenuController = SystemContextMenuController(onSystemHide: widget.onSystemHide); - _systemContextMenuController.show(widget.anchor); - } - - @override - void didUpdateWidget(SystemContextMenu oldWidget) { - super.didUpdateWidget(oldWidget); - if (widget.anchor != oldWidget.anchor) { - _systemContextMenuController.show(widget.anchor); - } } @override @@ -119,6 +159,256 @@ class _SystemContextMenuState extends State { @override Widget build(BuildContext context) { assert(SystemContextMenu.isSupported(context)); + + if (widget.items.isNotEmpty) { + final WidgetsLocalizations localizations = WidgetsLocalizations.of(context); + final List itemDatas = + widget.items.map((IOSSystemContextMenuItem item) => item.getData(localizations)).toList(); + _systemContextMenuController.showWithItems(widget.anchor, itemDatas); + } + return const SizedBox.shrink(); } } + +/// Describes a context menu button that will be rendered in the iOS system +/// context menu and not by Flutter itself. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemData], which performs a similar role but at the +/// method channel level and mirrors the requirements of the method channel +/// API. +/// * [ContextMenuButtonItem], which performs a similar role for Flutter-drawn +/// context menus. +@immutable +sealed class IOSSystemContextMenuItem { + const IOSSystemContextMenuItem(); + + /// The text to display to the user. + /// + /// Not exposed for some built-in menu items whose title is always set by the + /// platform. + String? get title => null; + + /// Returns the representation of this class used by method channels. + IOSSystemContextMenuItemData getData(WidgetsLocalizations localizations); + + @override + int get hashCode => title.hashCode; + + @override + bool operator ==(Object other) { + if (identical(this, other)) { + return true; + } + if (other.runtimeType != runtimeType) { + return false; + } + return other is IOSSystemContextMenuItem && other.title == title; + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the system's built-in +/// copy button. +/// +/// Should only appear when there is a selection that can be copied. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataCopy], which specifies the data to be sent to +/// the platform for this same button. +final class IOSSystemContextMenuItemCopy extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemCopy]. + const IOSSystemContextMenuItemCopy(); + + @override + IOSSystemContextMenuItemDataCopy getData(WidgetsLocalizations localizations) { + return const IOSSystemContextMenuItemDataCopy(); + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the system's built-in +/// cut button. +/// +/// Should only appear when there is a selection that can be cut. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataCut], which specifies the data to be sent to +/// the platform for this same button. +final class IOSSystemContextMenuItemCut extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemCut]. + const IOSSystemContextMenuItemCut(); + + @override + IOSSystemContextMenuItemDataCut getData(WidgetsLocalizations localizations) { + return const IOSSystemContextMenuItemDataCut(); + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the system's built-in +/// paste button. +/// +/// Should only appear when the field can receive pasted content. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataPaste], which specifies the data to be sent +/// to the platform for this same button. +final class IOSSystemContextMenuItemPaste extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemPaste]. + const IOSSystemContextMenuItemPaste(); + + @override + IOSSystemContextMenuItemDataPaste getData(WidgetsLocalizations localizations) { + return const IOSSystemContextMenuItemDataPaste(); + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the system's built-in +/// select all button. +/// +/// Should only appear when the field can have its selection changed. +/// +/// The title and action are both handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataSelectAll], which specifies the data to be +/// sent to the platform for this same button. +final class IOSSystemContextMenuItemSelectAll extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemSelectAll]. + const IOSSystemContextMenuItemSelectAll(); + + @override + IOSSystemContextMenuItemDataSelectAll getData(WidgetsLocalizations localizations) { + return const IOSSystemContextMenuItemDataSelectAll(); + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the +/// system's built-in look up button. +/// +/// Should only appear when content is selected. +/// +/// The [title] is optional, but it must be specified before being sent to the +/// platform. Typically it should be set to +/// [WidgetsLocalizations.lookUpButtonLabel]. +/// +/// The action is handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataLookUp], which specifies the data to be sent +/// to the platform for this same button. +final class IOSSystemContextMenuItemLookUp extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemLookUp]. + const IOSSystemContextMenuItemLookUp({this.title}); + + @override + final String? title; + + @override + IOSSystemContextMenuItemDataLookUp getData(WidgetsLocalizations localizations) { + return IOSSystemContextMenuItemDataLookUp(title: title ?? localizations.lookUpButtonLabel); + } + + @override + String toString() { + return 'IOSSystemContextMenuItemLookUp(title: $title)'; + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the +/// system's built-in search web button. +/// +/// Should only appear when content is selected. +/// +/// The [title] is optional, but it must be specified before being sent to the +/// platform. Typically it should be set to +/// [WidgetsLocalizations.searchWebButtonLabel]. +/// +/// The action is handled by the platform. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataSearchWeb], which specifies the data to be +/// sent to the platform for this same button. +final class IOSSystemContextMenuItemSearchWeb extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemSearchWeb]. + const IOSSystemContextMenuItemSearchWeb({this.title}); + + @override + final String? title; + + @override + IOSSystemContextMenuItemDataSearchWeb getData(WidgetsLocalizations localizations) { + return IOSSystemContextMenuItemDataSearchWeb( + title: title ?? localizations.searchWebButtonLabel, + ); + } + + @override + String toString() { + return 'IOSSystemContextMenuItemSearchWeb(title: $title)'; + } +} + +/// Creates an instance of [IOSSystemContextMenuItem] for the +/// system's built-in share button. +/// +/// Opens the system share dialog. +/// +/// Should only appear when shareable content is selected. +/// +/// The [title] is optional, but it must be specified before being sent to the +/// platform. Typically it should be set to +/// [WidgetsLocalizations.shareButtonLabel]. +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataShare], which specifies the data to be sent +/// to the platform for this same button. +final class IOSSystemContextMenuItemShare extends IOSSystemContextMenuItem { + /// Creates an instance of [IOSSystemContextMenuItemShare]. + const IOSSystemContextMenuItemShare({this.title}); + + @override + final String? title; + + @override + IOSSystemContextMenuItemDataShare getData(WidgetsLocalizations localizations) { + return IOSSystemContextMenuItemDataShare(title: title ?? localizations.shareButtonLabel); + } + + @override + String toString() { + return 'IOSSystemContextMenuItemShare(title: $title)'; + } +} + +// TODO(justinmc): Support the "custom" type. +// https://github.com/flutter/flutter/issues/103163 diff --git a/packages/flutter/test/services/system_context_menu_controller_test.dart b/packages/flutter/test/services/system_context_menu_controller_test.dart index dce5b82731..9a5db1781e 100644 --- a/packages/flutter/test/services/system_context_menu_controller_test.dart +++ b/packages/flutter/test/services/system_context_menu_controller_test.dart @@ -2,14 +2,35 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import './text_input_utils.dart'; +import '../system_context_menu_utils.dart'; +import '../widgets/clipboard_utils.dart'; +import 'text_input_utils.dart'; void main() { final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized(); + setUp(() async { + final MockClipboard mockClipboard = MockClipboard(); + TestWidgetsFlutterBinding.ensureInitialized().defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + mockClipboard.handleMethodCall, + ); + // Fill the clipboard so that the Paste option is available in the text + // selection menu. + await Clipboard.setData(const ClipboardData(text: 'Clipboard data')); + }); + + tearDown(() { + TestWidgetsFlutterBinding.ensureInitialized().defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + test('showing and hiding one controller', () { // Create an active connection, which is required to show the system menu. final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test1')); @@ -55,10 +76,14 @@ void main() { expect(targetRects, isEmpty); expect(hideCount, 0); + expect(controller.isVisible, isFalse); // Showing calls the platform. const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); - controller.show(rect1); + final List items = [ + const IOSSystemContextMenuItemDataCopy(), + ]; + controller.showWithItems(rect1, items); expect(targetRects, hasLength(1)); expect(targetRects.last['x'], rect1.left); expect(targetRects.last['y'], rect1.top); @@ -66,12 +91,13 @@ void main() { expect(targetRects.last['height'], rect1.height); // Showing the same thing again does nothing. - controller.show(rect1); + controller.showWithItems(rect1, items); + expect(controller.isVisible, isTrue); expect(targetRects, hasLength(1)); // Showing a new rect calls the platform. const Rect rect2 = Rect.fromLTWH(1.0, 1.0, 200.0, 200.0); - controller.show(rect2); + controller.showWithItems(rect2, items); expect(targetRects, hasLength(2)); expect(targetRects.last['x'], rect2.left); expect(targetRects.last['y'], rect2.top); @@ -80,14 +106,17 @@ void main() { // Hiding calls the platform. controller.hide(); + expect(controller.isVisible, isFalse); expect(hideCount, 1); // Hiding again does nothing. controller.hide(); + expect(controller.isVisible, isFalse); expect(hideCount, 1); // Showing the last shown rect calls the platform. - controller.show(rect2); + controller.showWithItems(rect2, items); + expect(controller.isVisible, isTrue); expect(targetRects, hasLength(3)); expect(targetRects.last['x'], rect2.left); expect(targetRects.last['y'], rect2.top); @@ -95,6 +124,7 @@ void main() { expect(targetRects.last['height'], rect2.height); controller.hide(); + expect(controller.isVisible, isFalse); expect(hideCount, 2); }); @@ -146,13 +176,18 @@ void main() { controller.dispose(); }); + expect(controller.isVisible, isFalse); expect(targetRects, isEmpty); expect(hideCount, 0); expect(systemHideCount, 0); // Showing calls the platform. const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); - controller.show(rect1); + final List items = [ + const IOSSystemContextMenuItemDataCopy(), + ]; + controller.showWithItems(rect1, items); + expect(controller.isVisible, isTrue); expect(targetRects, hasLength(1)); expect(targetRects.last['x'], rect1.left); expect(targetRects.last['y'], rect1.top); @@ -168,11 +203,13 @@ void main() { messageBytes, (ByteData? data) {}, ); + expect(controller.isVisible, isFalse); expect(hideCount, 0); expect(systemHideCount, 1); // Hiding does not call the platform, since the menu was already hidden. controller.hide(); + expect(controller.isVisible, isFalse); expect(hideCount, 0); }); @@ -188,21 +225,32 @@ void main() { addTearDown(() { controller1.dispose(); }); + expect(controller1.isVisible, isFalse); const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + final List items = [ + const IOSSystemContextMenuItemDataCopy(), + ]; expect(() { - controller1.show(rect1); + controller1.showWithItems(rect1, items); }, isNot(throwsAssertionError)); + expect(controller1.isVisible, isTrue); final SystemContextMenuController controller2 = SystemContextMenuController(); addTearDown(() { controller2.dispose(); }); + expect(controller1.isVisible, isTrue); + expect(controller2.isVisible, isFalse); const Rect rect2 = Rect.fromLTWH(1.0, 1.0, 200.0, 200.0); expect(() { - controller2.show(rect2); + controller2.showWithItems(rect2, items); }, throwsAssertionError); + expect(controller1.isVisible, isTrue); + expect(controller2.isVisible, isFalse); controller1.hide(); + expect(controller1.isVisible, isFalse); + expect(controller2.isVisible, isFalse); }); test('showing and hiding two controllers', () { @@ -248,17 +296,23 @@ void main() { controller1.dispose(); }); + expect(controller1.isVisible, isFalse); expect(targetRects, isEmpty); expect(hideCount, 0); // Showing calls the platform. const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); - controller1.show(rect1); + final List items = [ + const IOSSystemContextMenuItemDataCopy(), + ]; + controller1.showWithItems(rect1, items); + expect(controller1.isVisible, isTrue); expect(targetRects, hasLength(1)); expect(targetRects.last['x'], rect1.left); // Hiding calls the platform. controller1.hide(); + expect(controller1.isVisible, isFalse); expect(hideCount, 1); // Showing a new controller calls the platform. @@ -266,8 +320,11 @@ void main() { addTearDown(() { controller2.dispose(); }); + expect(controller2.isVisible, isFalse); const Rect rect2 = Rect.fromLTWH(1.0, 1.0, 200.0, 200.0); - controller2.show(rect2); + controller2.showWithItems(rect2, items); + expect(controller1.isVisible, isFalse); + expect(controller2.isVisible, isTrue); expect(targetRects, hasLength(2)); expect(targetRects.last['x'], rect2.left); expect(targetRects.last['y'], rect2.top); @@ -276,10 +333,218 @@ void main() { // Hiding the old controller does nothing. controller1.hide(); + expect(controller1.isVisible, isFalse); + expect(controller2.isVisible, isTrue); expect(hideCount, 1); // Hiding the new controller calls the platform. controller2.hide(); + expect(controller1.isVisible, isFalse); + expect(controller2.isVisible, isFalse); expect(hideCount, 2); }); + + test('showing a controller with custom items', () { + // Create an active connection, which is required to show the system menu. + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test1')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + final List> itemsReceived = + >[]; + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = + untypedItems.map((dynamic value) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + expect(controller.isVisible, isFalse); + + // Showing calls the platform. + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + final List items1 = [ + const IOSSystemContextMenuItemDataCut(), + const IOSSystemContextMenuItemDataCopy(), + const IOSSystemContextMenuItemDataPaste(), + const IOSSystemContextMenuItemDataSelectAll(), + const IOSSystemContextMenuItemDataSearchWeb(title: 'Special Search'), + // TODO(justinmc): Support the "custom" item type. + // https://github.com/flutter/flutter/issues/103163 + ]; + + controller.showWithItems(rect, items1); + expect(controller.isVisible, isTrue); + expect(itemsReceived, hasLength(1)); + expect(itemsReceived.last, hasLength(items1.length)); + expect(itemsReceived.last, equals(items1)); + + // Showing the same thing again does nothing. + controller.showWithItems(rect, items1); + expect(controller.isVisible, isTrue); + expect(itemsReceived, hasLength(1)); + + // Showing new items calls the platform. + final List items2 = [ + const IOSSystemContextMenuItemDataCut(), + ]; + controller.showWithItems(rect, items2); + expect(controller.isVisible, isTrue); + expect(itemsReceived, hasLength(2)); + expect(itemsReceived.last, hasLength(items2.length)); + expect(itemsReceived.last, equals(items2)); + + controller.hide(); + expect(controller.isVisible, isFalse); + }); + + test('showing a controller with empty items', () { + // Create an active connection, which is required to show the system menu. + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test1')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + final List> itemsReceived = + >[]; + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = + untypedItems.map((dynamic value) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + expect(controller.isVisible, isFalse); + + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + final List items = []; + + expect(() { + controller.showWithItems(rect, items); + }, throwsAssertionError); + expect(controller.isVisible, isFalse); + expect(itemsReceived, hasLength(0)); + }); + + testWidgets('showing a controller for an EditableText', (WidgetTester tester) async { + final TextEditingController textEditingController = TextEditingController(text: 'test'); + final FocusNode focusNode = FocusNode(); + final GlobalKey key = GlobalKey(); + late final WidgetsLocalizations localizations; + addTearDown(() { + textEditingController.dispose(); + focusNode.dispose(); + }); + + await tester.pumpWidget( + MaterialApp( + home: Align( + alignment: Alignment.topLeft, + child: SizedBox( + width: 400, + child: Builder( + builder: (BuildContext context) { + localizations = WidgetsLocalizations.of(context); + return EditableText( + key: key, + maxLines: 10, + controller: textEditingController, + showSelectionHandles: true, + autofocus: true, + focusNode: focusNode, + style: Typography.material2018().black.titleMedium!, + cursorColor: Colors.blue, + backgroundCursorColor: Colors.grey, + keyboardType: TextInputType.text, + textAlign: TextAlign.right, + selectionControls: materialTextSelectionHandleControls, + ); + }, + ), + ), + ), + ), + ); + + final EditableTextState editableTextState = tester.state( + find.byType(EditableText), + ); + final List defaultItems = SystemContextMenu.getDefaultItems( + editableTextState, + ); + expect(defaultItems, hasLength(2)); + expect(defaultItems[1], const IOSSystemContextMenuItemSelectAll()); + expect(defaultItems.first, const IOSSystemContextMenuItemPaste()); + + final (startGlyphHeight: double startGlyphHeight, endGlyphHeight: double endGlyphHeight) = + editableTextState.getGlyphHeights(); + final Rect anchor = TextSelectionToolbarAnchors.getSelectionRect( + editableTextState.renderEditable, + startGlyphHeight, + endGlyphHeight, + editableTextState.renderEditable.getEndpointsForSelection( + editableTextState.textEditingValue.selection, + ), + ); + final List defaultItemDatas = + defaultItems.map((IOSSystemContextMenuItem item) => item.getData(localizations)).toList(); + + expect(defaultItemDatas, isNotEmpty); + + final SystemContextMenuController systemContextMenuController = SystemContextMenuController(); + addTearDown(() { + systemContextMenuController.dispose(); + }); + + expect(systemContextMenuController.isVisible, isFalse); + systemContextMenuController.showWithItems(anchor, defaultItemDatas); + expect(systemContextMenuController.isVisible, isTrue); + }); } diff --git a/packages/flutter/test/system_context_menu_utils.dart b/packages/flutter/test/system_context_menu_utils.dart new file mode 100644 index 0000000000..fefcc70daf --- /dev/null +++ b/packages/flutter/test/system_context_menu_utils.dart @@ -0,0 +1,23 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart' show FlutterError; + +/// Returns a [IOSSystemContextMenuItem] of the correct subclass given its +/// json data. +IOSSystemContextMenuItemData systemContextMenuItemDataFromJson(Map json) { + final String? type = json['type'] as String?; + final String? title = json['title'] as String?; + return switch (type) { + 'copy' => const IOSSystemContextMenuItemDataCopy(), + 'cut' => const IOSSystemContextMenuItemDataCut(), + 'paste' => const IOSSystemContextMenuItemDataPaste(), + 'selectAll' => const IOSSystemContextMenuItemDataSelectAll(), + 'searchWeb' => IOSSystemContextMenuItemDataSearchWeb(title: title!), + 'share' => IOSSystemContextMenuItemDataShare(title: title!), + 'lookUp' => IOSSystemContextMenuItemDataLookUp(title: title!), + _ => throw FlutterError('Invalid json for IOSSystemContextMenuItem.type $type.'), + }; +} diff --git a/packages/flutter/test/widgets/localizations_test.dart b/packages/flutter/test/widgets/localizations_test.dart index 8824b93b8c..1f1d859293 100644 --- a/packages/flutter/test/widgets/localizations_test.dart +++ b/packages/flutter/test/widgets/localizations_test.dart @@ -10,6 +10,26 @@ import 'package:flutter_test/flutter_test.dart'; void main() { final TestAutomatedTestWidgetsFlutterBinding binding = TestAutomatedTestWidgetsFlutterBinding(); + testWidgets('English translations exist for all WidgetsLocalizations properties', ( + WidgetTester tester, + ) async { + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + + expect(localizations.reorderItemUp, isNotNull); + expect(localizations.reorderItemDown, isNotNull); + expect(localizations.reorderItemLeft, isNotNull); + expect(localizations.reorderItemRight, isNotNull); + expect(localizations.reorderItemToEnd, isNotNull); + expect(localizations.reorderItemToStart, isNotNull); + expect(localizations.copyButtonLabel, isNotNull); + expect(localizations.cutButtonLabel, isNotNull); + expect(localizations.pasteButtonLabel, isNotNull); + expect(localizations.selectAllButtonLabel, isNotNull); + expect(localizations.lookUpButtonLabel, isNotNull); + expect(localizations.searchWebButtonLabel, isNotNull); + expect(localizations.shareButtonLabel, isNotNull); + }); + testWidgets('Locale is available when Localizations widget stops deferring frames', ( WidgetTester tester, ) async { diff --git a/packages/flutter/test/widgets/system_context_menu_test.dart b/packages/flutter/test/widgets/system_context_menu_test.dart index c5315c9cee..9cd53a9f4e 100644 --- a/packages/flutter/test/widgets/system_context_menu_test.dart +++ b/packages/flutter/test/widgets/system_context_menu_test.dart @@ -6,7 +6,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; + +import '../system_context_menu_utils.dart'; void main() { final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized(); @@ -140,6 +141,267 @@ void main() { variant: TargetPlatformVariant.only(TargetPlatform.iOS), ); + testWidgets( + 'can customize the menu items', + (WidgetTester tester) async { + final List> itemsReceived = + >[]; + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = + untypedItems.map((dynamic value) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + const List items1 = [ + IOSSystemContextMenuItemCopy(), + IOSSystemContextMenuItemShare(title: 'My Share Title'), + ]; + final TextEditingController controller = TextEditingController(text: 'one two three'); + addTearDown(controller.dispose); + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: ( + BuildContext context, + EditableTextState editableTextState, + ) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: items1, + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + expect(find.byType(SystemContextMenu), findsNothing); + expect(itemsReceived, hasLength(0)); + + await tester.tap(find.byType(TextField)); + final EditableTextState state = tester.state(find.byType(EditableText)); + expect(state.showToolbar(), true); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsOneWidget); + + expect(itemsReceived, hasLength(1)); + expect(itemsReceived.last, hasLength(items1.length)); + expect(itemsReceived.last[0], equals(const IOSSystemContextMenuItemDataCopy())); + expect( + itemsReceived.last[1], + equals(const IOSSystemContextMenuItemDataShare(title: 'My Share Title')), + ); + + state.hideToolbar(); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + + testWidgets( + "passing empty items builds the widget but doesn't show the system context menu", + (WidgetTester tester) async { + final List> itemsReceived = + >[]; + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = + untypedItems.map((dynamic value) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + const List items1 = []; + final TextEditingController controller = TextEditingController(text: 'one two three'); + addTearDown(controller.dispose); + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: ( + BuildContext context, + EditableTextState editableTextState, + ) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: items1, + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + expect(tester.takeException(), isNull); + + expect(find.byType(SystemContextMenu), findsNothing); + expect(itemsReceived, hasLength(0)); + + await tester.tap(find.byType(TextField)); + final EditableTextState state = tester.state(find.byType(EditableText)); + expect(state.showToolbar(), true); + expect(tester.takeException(), isNull); + + await tester.pump(); + expect(tester.takeException(), isNull); + expect(find.byType(SystemContextMenu), findsOneWidget); + expect(itemsReceived, hasLength(0)); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + + testWidgets( + 'items receive a default title', + (WidgetTester tester) async { + final List> itemsReceived = + >[]; + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = + untypedItems.map((dynamic value) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + const List items1 = [ + // Copy gets no title, it's set by the platform. + IOSSystemContextMenuItemCopy(), + // Share could take a title, but if not, it gets a localized default. + IOSSystemContextMenuItemShare(), + ]; + final TextEditingController controller = TextEditingController(text: 'one two three'); + addTearDown(controller.dispose); + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: ( + BuildContext context, + EditableTextState editableTextState, + ) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: items1, + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + expect(find.byType(SystemContextMenu), findsNothing); + expect(itemsReceived, hasLength(0)); + + await tester.tap(find.byType(TextField)); + final EditableTextState state = tester.state(find.byType(EditableText)); + expect(state.showToolbar(), true); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsOneWidget); + + expect(itemsReceived, hasLength(1)); + expect(itemsReceived.last, hasLength(items1.length)); + expect(itemsReceived.last[0], equals(const IOSSystemContextMenuItemDataCopy())); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect( + itemsReceived.last[1], + equals(IOSSystemContextMenuItemDataShare(title: localizations.shareButtonLabel)), + ); + + state.hideToolbar(); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + testWidgets( 'can be updated.', (WidgetTester tester) async { @@ -365,123 +627,75 @@ void main() { variant: TargetPlatformVariant.only(TargetPlatform.iOS), ); - testWidgets( - 'asserts when built with no text input connection', - experimentalLeakTesting: - LeakTesting.settings.withIgnoredAll(), // leaking by design because of exception - (WidgetTester tester) async { - SystemContextMenu? systemContextMenu; - late StateSetter setState; - await tester.pumpWidget( - Builder( - builder: (BuildContext context) { - final MediaQueryData mediaQueryData = MediaQuery.of(context); - return MediaQuery( - data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), - child: MaterialApp( - home: Scaffold( - body: StatefulBuilder( - builder: (BuildContext context, StateSetter localSetState) { - setState = localSetState; - return Column( - children: [ - const TextField(), - if (systemContextMenu != null) systemContextMenu!, - ], - ); - }, - ), - ), - ), - ); - }, - ), - ); - - // No SystemContextMenu yet, so no assertion error. - expect(tester.takeException(), isNull); - - // Add the SystemContextMenu and receive an assertion since there is no - // active text input connection. - setState(() { - final EditableTextState state = tester.state(find.byType(EditableText)); - systemContextMenu = SystemContextMenu.editableText(editableTextState: state); - }); - - final FlutterExceptionHandler? oldHandler = FlutterError.onError; - dynamic exception; - FlutterError.onError = (FlutterErrorDetails details) { - exception ??= details.exception; - }; - addTearDown(() { - FlutterError.onError = oldHandler; - }); - - await tester.pump(); - expect(exception, isAssertionError); - expect(exception.toString(), contains('only be shown for an active text input connection')); + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemCopy', + () { + const IOSSystemContextMenuItemCopy item = IOSSystemContextMenuItemCopy(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect(item.getData(localizations), const IOSSystemContextMenuItemDataCopy()); }, - skip: kIsWeb, // [intended] - variant: TargetPlatformVariant.only(TargetPlatform.iOS), ); - testWidgets( - 'does not assert when built with an active text input connection', - (WidgetTester tester) async { - SystemContextMenu? systemContextMenu; - late StateSetter setState; - await tester.pumpWidget( - Builder( - builder: (BuildContext context) { - final MediaQueryData mediaQueryData = MediaQuery.of(context); - return MediaQuery( - data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), - child: MaterialApp( - home: Scaffold( - body: StatefulBuilder( - builder: (BuildContext context, StateSetter localSetState) { - setState = localSetState; - return Column( - children: [ - const TextField(), - if (systemContextMenu != null) systemContextMenu!, - ], - ); - }, - ), - ), - ), - ); - }, - ), - ); - - // No SystemContextMenu yet, so no assertion error. - expect(tester.takeException(), isNull); - - // Tap the field to open a text input connection. - await tester.tap(find.byType(TextField)); - await tester.pump(); - - // Add the SystemContextMenu and expect no error. - setState(() { - final EditableTextState state = tester.state(find.byType(EditableText)); - systemContextMenu = SystemContextMenu.editableText(editableTextState: state); - }); - - final FlutterExceptionHandler? oldHandler = FlutterError.onError; - dynamic exception; - FlutterError.onError = (FlutterErrorDetails details) { - exception ??= details.exception; - }; - addTearDown(() { - FlutterError.onError = oldHandler; - }); - - await tester.pump(); - expect(exception, isNull); + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemCut', + () { + const IOSSystemContextMenuItemCut item = IOSSystemContextMenuItemCut(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect(item.getData(localizations), const IOSSystemContextMenuItemDataCut()); + }, + ); + + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemPaste', + () { + const IOSSystemContextMenuItemPaste item = IOSSystemContextMenuItemPaste(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect(item.getData(localizations), const IOSSystemContextMenuItemDataPaste()); + }, + ); + + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemSelectAll', + () { + const IOSSystemContextMenuItemSelectAll item = IOSSystemContextMenuItemSelectAll(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect(item.getData(localizations), const IOSSystemContextMenuItemDataSelectAll()); + }, + ); + + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemLookUp', + () { + const IOSSystemContextMenuItemLookUp item = IOSSystemContextMenuItemLookUp(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect( + item.getData(localizations), + IOSSystemContextMenuItemDataLookUp(title: localizations.lookUpButtonLabel), + ); + }, + ); + + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemSearchWeb', + () { + const IOSSystemContextMenuItemSearchWeb item = IOSSystemContextMenuItemSearchWeb(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect( + item.getData(localizations), + IOSSystemContextMenuItemDataSearchWeb(title: localizations.searchWebButtonLabel), + ); + }, + ); + + test( + 'can get the IOSSystemContextMenuItemData representation of an IOSSystemContextMenuItemShare', + () { + const IOSSystemContextMenuItemShare item = IOSSystemContextMenuItemShare(); + const WidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + expect( + item.getData(localizations), + IOSSystemContextMenuItemDataShare(title: localizations.shareButtonLabel), + ); }, - skip: kIsWeb, // [intended] - variant: TargetPlatformVariant.only(TargetPlatform.iOS), ); } diff --git a/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart b/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart index 9b053ffd4b..8a6ac52ba3 100644 --- a/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart +++ b/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart @@ -28,6 +28,18 @@ class WidgetsLocalizationAf extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationAf() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopieer'; + + @override + String get cutButtonLabel => 'Knip'; + + @override + String get lookUpButtonLabel => 'Kyk op'; + + @override + String get pasteButtonLabel => 'Plak'; + @override String get reorderItemDown => 'Skuif af'; @@ -45,6 +57,15 @@ class WidgetsLocalizationAf extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Skuif op'; + + @override + String get searchWebButtonLabel => 'Deursoek web'; + + @override + String get selectAllButtonLabel => 'Kies alles'; + + @override + String get shareButtonLabel => 'Deel'; } /// The translations for Amharic (`am`). @@ -54,6 +75,18 @@ class WidgetsLocalizationAm extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationAm() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'ቅዳ'; + + @override + String get cutButtonLabel => 'ቁረጥ'; + + @override + String get lookUpButtonLabel => 'ይመልከቱ'; + + @override + String get pasteButtonLabel => 'ለጥፍ'; + @override String get reorderItemDown => 'ወደ ታች ውሰድ'; @@ -71,6 +104,15 @@ class WidgetsLocalizationAm extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ወደ ላይ ውሰድ'; + + @override + String get searchWebButtonLabel => 'ድርን ፈልግ'; + + @override + String get selectAllButtonLabel => 'ሁሉንም ምረጥ'; + + @override + String get shareButtonLabel => 'አጋራ'; } /// The translations for Arabic (`ar`). @@ -80,6 +122,18 @@ class WidgetsLocalizationAr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationAr() : super(TextDirection.rtl); + @override + String get copyButtonLabel => 'نسخ'; + + @override + String get cutButtonLabel => 'قص'; + + @override + String get lookUpButtonLabel => 'بحث عام'; + + @override + String get pasteButtonLabel => 'لصق'; + @override String get reorderItemDown => 'نقل لأسفل'; @@ -97,6 +151,15 @@ class WidgetsLocalizationAr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'نقل لأعلى'; + + @override + String get searchWebButtonLabel => 'البحث على الويب'; + + @override + String get selectAllButtonLabel => 'اختيار الكل'; + + @override + String get shareButtonLabel => 'مشاركة'; } /// The translations for Assamese (`as`). @@ -106,6 +169,18 @@ class WidgetsLocalizationAs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationAs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'প্ৰতিলিপি কৰক'; + + @override + String get cutButtonLabel => 'কাট কৰক'; + + @override + String get lookUpButtonLabel => 'ওপৰলৈ চাওক'; + + @override + String get pasteButtonLabel => "পে'ষ্ট কৰক"; + @override String get reorderItemDown => 'তললৈ স্থানান্তৰ কৰক'; @@ -123,6 +198,15 @@ class WidgetsLocalizationAs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ওপৰলৈ নিয়ক'; + + @override + String get searchWebButtonLabel => 'ৱেবত সন্ধান কৰক'; + + @override + String get selectAllButtonLabel => 'সকলো বাছনি কৰক'; + + @override + String get shareButtonLabel => 'শ্বেয়াৰ কৰক'; } /// The translations for Azerbaijani (`az`). @@ -132,6 +216,18 @@ class WidgetsLocalizationAz extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationAz() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopyalayın'; + + @override + String get cutButtonLabel => 'Kəsin'; + + @override + String get lookUpButtonLabel => 'Axtarın'; + + @override + String get pasteButtonLabel => 'Yerləşdirin'; + @override String get reorderItemDown => 'Aşağı köçürün'; @@ -149,6 +245,15 @@ class WidgetsLocalizationAz extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Yuxarı köçürün'; + + @override + String get searchWebButtonLabel => 'Vebdə axtarın'; + + @override + String get selectAllButtonLabel => 'Hamısını seçin'; + + @override + String get shareButtonLabel => 'Paylaşın'; } /// The translations for Belarusian (`be`). @@ -158,6 +263,18 @@ class WidgetsLocalizationBe extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationBe() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Капіраваць'; + + @override + String get cutButtonLabel => 'Выразаць'; + + @override + String get lookUpButtonLabel => 'Знайсці'; + + @override + String get pasteButtonLabel => 'Уставіць'; + @override String get reorderItemDown => 'Перамясціць уніз'; @@ -175,6 +292,15 @@ class WidgetsLocalizationBe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Перамясціць уверх'; + + @override + String get searchWebButtonLabel => 'Пошук у сетцы'; + + @override + String get selectAllButtonLabel => 'Выбраць усе'; + + @override + String get shareButtonLabel => 'Абагуліць'; } /// The translations for Bulgarian (`bg`). @@ -184,6 +310,18 @@ class WidgetsLocalizationBg extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationBg() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Копиране'; + + @override + String get cutButtonLabel => 'Изрязване'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'Поставяне'; + @override String get reorderItemDown => 'Преместване надолу'; @@ -201,6 +339,15 @@ class WidgetsLocalizationBg extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Преместване нагоре'; + + @override + String get searchWebButtonLabel => 'Търсене в мрежата'; + + @override + String get selectAllButtonLabel => 'Избиране на всички'; + + @override + String get shareButtonLabel => 'Споделяне'; } /// The translations for Bengali Bangla (`bn`). @@ -210,6 +357,18 @@ class WidgetsLocalizationBn extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationBn() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'কপি করুন'; + + @override + String get cutButtonLabel => 'কাট করুন'; + + @override + String get lookUpButtonLabel => 'লুক-আপ'; + + @override + String get pasteButtonLabel => 'পেস্ট করুন'; + @override String get reorderItemDown => 'নিচের দিকে সরান'; @@ -227,6 +386,15 @@ class WidgetsLocalizationBn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'উপরের দিকে সরান'; + + @override + String get searchWebButtonLabel => 'ওয়েবে সার্চ করুন'; + + @override + String get selectAllButtonLabel => 'সব বেছে নিন'; + + @override + String get shareButtonLabel => 'শেয়ার করুন'; } /// The translations for Bosnian (`bs`). @@ -236,6 +404,18 @@ class WidgetsLocalizationBs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationBs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiraj'; + + @override + String get cutButtonLabel => 'Izreži'; + + @override + String get lookUpButtonLabel => 'Pogled nagore'; + + @override + String get pasteButtonLabel => 'Zalijepi'; + @override String get reorderItemDown => 'Pomjeri nadolje'; @@ -253,6 +433,15 @@ class WidgetsLocalizationBs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pomjeri nagore'; + + @override + String get searchWebButtonLabel => 'Pretraži Web'; + + @override + String get selectAllButtonLabel => 'Odaberi sve'; + + @override + String get shareButtonLabel => 'Dijeli'; } /// The translations for Catalan Valencian (`ca`). @@ -262,6 +451,18 @@ class WidgetsLocalizationCa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationCa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copia'; + + @override + String get cutButtonLabel => 'Retalla'; + + @override + String get lookUpButtonLabel => 'Mira amunt'; + + @override + String get pasteButtonLabel => 'Enganxa'; + @override String get reorderItemDown => 'Mou avall'; @@ -279,6 +480,15 @@ class WidgetsLocalizationCa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mou amunt'; + + @override + String get searchWebButtonLabel => 'Cerca al web'; + + @override + String get selectAllButtonLabel => 'Selecciona-ho tot'; + + @override + String get shareButtonLabel => 'Comparteix'; } /// The translations for Czech (`cs`). @@ -288,6 +498,18 @@ class WidgetsLocalizationCs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationCs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopírovat'; + + @override + String get cutButtonLabel => 'Vyjmout'; + + @override + String get lookUpButtonLabel => 'Vyhledat'; + + @override + String get pasteButtonLabel => 'Vložit'; + @override String get reorderItemDown => 'Přesunout dolů'; @@ -305,6 +527,15 @@ class WidgetsLocalizationCs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Přesunout nahoru'; + + @override + String get searchWebButtonLabel => 'Vyhledávat na webu'; + + @override + String get selectAllButtonLabel => 'Vybrat vše'; + + @override + String get shareButtonLabel => 'Sdílet'; } /// The translations for Welsh (`cy`). @@ -314,6 +545,18 @@ class WidgetsLocalizationCy extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationCy() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copïo'; + + @override + String get cutButtonLabel => 'Torri'; + + @override + String get lookUpButtonLabel => 'Chwilio'; + + @override + String get pasteButtonLabel => 'Gludo'; + @override String get reorderItemDown => 'Symud i lawr'; @@ -331,6 +574,15 @@ class WidgetsLocalizationCy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Symud i fyny'; + + @override + String get searchWebButtonLabel => "Chwilio'r We"; + + @override + String get selectAllButtonLabel => 'Dewis y Cyfan'; + + @override + String get shareButtonLabel => 'Rhannu'; } /// The translations for Danish (`da`). @@ -340,6 +592,18 @@ class WidgetsLocalizationDa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationDa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiér'; + + @override + String get cutButtonLabel => 'Klip'; + + @override + String get lookUpButtonLabel => 'Slå op'; + + @override + String get pasteButtonLabel => 'Indsæt'; + @override String get reorderItemDown => 'Flyt ned'; @@ -357,6 +621,15 @@ class WidgetsLocalizationDa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flyt op'; + + @override + String get searchWebButtonLabel => 'Søg på nettet'; + + @override + String get selectAllButtonLabel => 'Markér alt'; + + @override + String get shareButtonLabel => 'Del'; } /// The translations for German (`de`). @@ -366,6 +639,18 @@ class WidgetsLocalizationDe extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationDe() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopieren'; + + @override + String get cutButtonLabel => 'Ausschneiden'; + + @override + String get lookUpButtonLabel => 'Nachschlagen'; + + @override + String get pasteButtonLabel => 'Einsetzen'; + @override String get reorderItemDown => 'Nach unten verschieben'; @@ -383,6 +668,15 @@ class WidgetsLocalizationDe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Nach oben verschieben'; + + @override + String get searchWebButtonLabel => 'Im Web suchen'; + + @override + String get selectAllButtonLabel => 'Alle auswählen'; + + @override + String get shareButtonLabel => 'Teilen'; } /// The translations for German, as used in Switzerland (`de_CH`). @@ -400,6 +694,18 @@ class WidgetsLocalizationEl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationEl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Αντιγραφή'; + + @override + String get cutButtonLabel => 'Αποκοπή'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'Επικόλληση'; + @override String get reorderItemDown => 'Μετακίνηση προς τα κάτω'; @@ -417,6 +723,15 @@ class WidgetsLocalizationEl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Μετακίνηση προς τα πάνω'; + + @override + String get searchWebButtonLabel => 'Αναζήτηση στον ιστό'; + + @override + String get selectAllButtonLabel => 'Επιλογή όλων'; + + @override + String get shareButtonLabel => 'Κοινή χρήση'; } /// The translations for English (`en`). @@ -426,6 +741,18 @@ class WidgetsLocalizationEn extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationEn() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copy'; + + @override + String get cutButtonLabel => 'Cut'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'Paste'; + @override String get reorderItemDown => 'Move down'; @@ -443,6 +770,15 @@ class WidgetsLocalizationEn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Move up'; + + @override + String get searchWebButtonLabel => 'Search Web'; + + @override + String get selectAllButtonLabel => 'Select all'; + + @override + String get shareButtonLabel => 'Share'; } /// The translations for English, as used in Australia (`en_AU`). @@ -457,6 +793,9 @@ class WidgetsLocalizationEnAu extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in Canada (`en_CA`). @@ -485,6 +824,9 @@ class WidgetsLocalizationEnGb extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in Ireland (`en_IE`). @@ -499,6 +841,9 @@ class WidgetsLocalizationEnIe extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in India (`en_IN`). @@ -513,6 +858,9 @@ class WidgetsLocalizationEnIn extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in New Zealand (`en_NZ`). @@ -527,6 +875,9 @@ class WidgetsLocalizationEnNz extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in Singapore (`en_SG`). @@ -541,6 +892,9 @@ class WidgetsLocalizationEnSg extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for English, as used in South Africa (`en_ZA`). @@ -555,6 +909,9 @@ class WidgetsLocalizationEnZa extends WidgetsLocalizationEn { @override String get reorderItemRight => 'Move to the right'; + + @override + String get lookUpButtonLabel => 'Look up'; } /// The translations for Spanish Castilian (`es`). @@ -564,6 +921,18 @@ class WidgetsLocalizationEs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationEs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copiar'; + + @override + String get cutButtonLabel => 'Cortar'; + + @override + String get lookUpButtonLabel => 'Buscador visual'; + + @override + String get pasteButtonLabel => 'Pegar'; + @override String get reorderItemDown => 'Mover hacia abajo'; @@ -581,6 +950,15 @@ class WidgetsLocalizationEs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover hacia arriba'; + + @override + String get searchWebButtonLabel => 'Buscar en la Web'; + + @override + String get selectAllButtonLabel => 'Seleccionar todo'; + + @override + String get shareButtonLabel => 'Compartir'; } /// The translations for Spanish Castilian, as used in Latin America and the Caribbean (`es_419`). @@ -592,6 +970,9 @@ class WidgetsLocalizationEs419 extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Argentina (`es_AR`). @@ -603,6 +984,9 @@ class WidgetsLocalizationEsAr extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Bolivia (`es_BO`). @@ -614,6 +998,9 @@ class WidgetsLocalizationEsBo extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Chile (`es_CL`). @@ -625,6 +1012,9 @@ class WidgetsLocalizationEsCl extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Colombia (`es_CO`). @@ -636,6 +1026,9 @@ class WidgetsLocalizationEsCo extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Costa Rica (`es_CR`). @@ -647,6 +1040,9 @@ class WidgetsLocalizationEsCr extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in the Dominican Republic (`es_DO`). @@ -658,6 +1054,9 @@ class WidgetsLocalizationEsDo extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Ecuador (`es_EC`). @@ -669,6 +1068,9 @@ class WidgetsLocalizationEsEc extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Guatemala (`es_GT`). @@ -680,6 +1082,9 @@ class WidgetsLocalizationEsGt extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Honduras (`es_HN`). @@ -691,6 +1096,9 @@ class WidgetsLocalizationEsHn extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Mexico (`es_MX`). @@ -702,6 +1110,9 @@ class WidgetsLocalizationEsMx extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Nicaragua (`es_NI`). @@ -713,6 +1124,9 @@ class WidgetsLocalizationEsNi extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Panama (`es_PA`). @@ -724,6 +1138,9 @@ class WidgetsLocalizationEsPa extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Peru (`es_PE`). @@ -735,6 +1152,9 @@ class WidgetsLocalizationEsPe extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Puerto Rico (`es_PR`). @@ -746,6 +1166,9 @@ class WidgetsLocalizationEsPr extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Paraguay (`es_PY`). @@ -757,6 +1180,9 @@ class WidgetsLocalizationEsPy extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in El Salvador (`es_SV`). @@ -768,6 +1194,9 @@ class WidgetsLocalizationEsSv extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in the United States (`es_US`). @@ -779,6 +1208,9 @@ class WidgetsLocalizationEsUs extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Uruguay (`es_UY`). @@ -790,6 +1222,9 @@ class WidgetsLocalizationEsUy extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Spanish Castilian, as used in Venezuela (`es_VE`). @@ -801,6 +1236,9 @@ class WidgetsLocalizationEsVe extends WidgetsLocalizationEs { @override String get reorderItemToStart => 'Mover al inicio'; + + @override + String get lookUpButtonLabel => 'Mirar hacia arriba'; } /// The translations for Estonian (`et`). @@ -810,6 +1248,18 @@ class WidgetsLocalizationEt extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationEt() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopeeri'; + + @override + String get cutButtonLabel => 'Lõika'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'Kleebi'; + @override String get reorderItemDown => 'Teisalda alla'; @@ -827,6 +1277,15 @@ class WidgetsLocalizationEt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Teisalda üles'; + + @override + String get searchWebButtonLabel => 'Otsi veebist'; + + @override + String get selectAllButtonLabel => 'Vali kõik'; + + @override + String get shareButtonLabel => 'Jagamine'; } /// The translations for Basque (`eu`). @@ -836,6 +1295,18 @@ class WidgetsLocalizationEu extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationEu() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiatu'; + + @override + String get cutButtonLabel => 'Ebaki'; + + @override + String get lookUpButtonLabel => 'Bilatu'; + + @override + String get pasteButtonLabel => 'Itsatsi'; + @override String get reorderItemDown => 'Eraman behera'; @@ -853,6 +1324,15 @@ class WidgetsLocalizationEu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Eraman gora'; + + @override + String get searchWebButtonLabel => 'Bilatu sarean'; + + @override + String get selectAllButtonLabel => 'Hautatu guztiak'; + + @override + String get shareButtonLabel => 'Partekatu'; } /// The translations for Persian (`fa`). @@ -862,6 +1342,18 @@ class WidgetsLocalizationFa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationFa() : super(TextDirection.rtl); + @override + String get copyButtonLabel => 'کپی'; + + @override + String get cutButtonLabel => 'برش'; + + @override + String get lookUpButtonLabel => 'جستجو'; + + @override + String get pasteButtonLabel => 'جای‌گذاری'; + @override String get reorderItemDown => 'انتقال به پایین'; @@ -879,6 +1371,15 @@ class WidgetsLocalizationFa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'انتقال به بالا'; + + @override + String get searchWebButtonLabel => 'جستجو در وب'; + + @override + String get selectAllButtonLabel => 'انتخاب همه'; + + @override + String get shareButtonLabel => 'هم‌رسانی کردن'; } /// The translations for Finnish (`fi`). @@ -888,6 +1389,18 @@ class WidgetsLocalizationFi extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationFi() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopioi'; + + @override + String get cutButtonLabel => 'Leikkaa'; + + @override + String get lookUpButtonLabel => 'Hae'; + + @override + String get pasteButtonLabel => 'Liitä'; + @override String get reorderItemDown => 'Siirrä alas'; @@ -905,6 +1418,15 @@ class WidgetsLocalizationFi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Siirrä ylös'; + + @override + String get searchWebButtonLabel => 'Hae verkosta'; + + @override + String get selectAllButtonLabel => 'Valitse kaikki'; + + @override + String get shareButtonLabel => 'Jaa'; } /// The translations for Filipino Pilipino (`fil`). @@ -914,6 +1436,18 @@ class WidgetsLocalizationFil extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationFil() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopyahin'; + + @override + String get cutButtonLabel => 'I-cut'; + + @override + String get lookUpButtonLabel => 'Tumingin sa Itaas'; + + @override + String get pasteButtonLabel => 'I-paste'; + @override String get reorderItemDown => 'Ilipat pababa'; @@ -931,6 +1465,15 @@ class WidgetsLocalizationFil extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Ilipat pataas'; + + @override + String get searchWebButtonLabel => 'Maghanap sa Web'; + + @override + String get selectAllButtonLabel => 'Piliin lahat'; + + @override + String get shareButtonLabel => 'I-share'; } /// The translations for French (`fr`). @@ -940,6 +1483,18 @@ class WidgetsLocalizationFr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationFr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copier'; + + @override + String get cutButtonLabel => 'Couper'; + + @override + String get lookUpButtonLabel => 'Recherche visuelle'; + + @override + String get pasteButtonLabel => 'Coller'; + @override String get reorderItemDown => 'Déplacer vers le bas'; @@ -957,6 +1512,15 @@ class WidgetsLocalizationFr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Déplacer vers le haut'; + + @override + String get searchWebButtonLabel => 'Rechercher sur le Web'; + + @override + String get selectAllButtonLabel => 'Tout sélectionner'; + + @override + String get shareButtonLabel => 'Partager'; } /// The translations for French, as used in Canada (`fr_CA`). @@ -971,6 +1535,9 @@ class WidgetsLocalizationFrCa extends WidgetsLocalizationFr { @override String get reorderItemToEnd => 'Déplacer à la fin'; + + @override + String get lookUpButtonLabel => 'Regarder en haut'; } /// The translations for Galician (`gl`). @@ -980,6 +1547,18 @@ class WidgetsLocalizationGl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationGl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copiar'; + + @override + String get cutButtonLabel => 'Cortar'; + + @override + String get lookUpButtonLabel => 'Mirar cara arriba'; + + @override + String get pasteButtonLabel => 'Pegar'; + @override String get reorderItemDown => 'Mover cara abaixo'; @@ -997,6 +1576,15 @@ class WidgetsLocalizationGl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover cara arriba'; + + @override + String get searchWebButtonLabel => 'Buscar na Web'; + + @override + String get selectAllButtonLabel => 'Seleccionar todo'; + + @override + String get shareButtonLabel => 'Compartir'; } /// The translations for Swiss German Alemannic Alsatian (`gsw`). @@ -1006,6 +1594,18 @@ class WidgetsLocalizationGsw extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationGsw() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopieren'; + + @override + String get cutButtonLabel => 'Ausschneiden'; + + @override + String get lookUpButtonLabel => 'Nachschlagen'; + + @override + String get pasteButtonLabel => 'Einsetzen'; + @override String get reorderItemDown => 'Nach unten verschieben'; @@ -1023,6 +1623,15 @@ class WidgetsLocalizationGsw extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Nach oben verschieben'; + + @override + String get searchWebButtonLabel => 'Im Web suchen'; + + @override + String get selectAllButtonLabel => 'Alle auswählen'; + + @override + String get shareButtonLabel => 'Teilen'; } /// The translations for Gujarati (`gu`). @@ -1032,6 +1641,18 @@ class WidgetsLocalizationGu extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationGu() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'કૉપિ કરો'; + + @override + String get cutButtonLabel => 'કાપો'; + + @override + String get lookUpButtonLabel => 'શોધો'; + + @override + String get pasteButtonLabel => 'પેસ્ટ કરો'; + @override String get reorderItemDown => 'નીચે ખસેડો'; @@ -1049,6 +1670,15 @@ class WidgetsLocalizationGu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ઉપર ખસેડો'; + + @override + String get searchWebButtonLabel => 'વેબ પર શોધો'; + + @override + String get selectAllButtonLabel => 'બધા પસંદ કરો'; + + @override + String get shareButtonLabel => 'શેર કરો'; } /// The translations for Hebrew (`he`). @@ -1058,6 +1688,18 @@ class WidgetsLocalizationHe extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationHe() : super(TextDirection.rtl); + @override + String get copyButtonLabel => 'העתקה'; + + @override + String get cutButtonLabel => 'גזירה'; + + @override + String get lookUpButtonLabel => 'חיפוש'; + + @override + String get pasteButtonLabel => 'הדבקה'; + @override String get reorderItemDown => 'העברה למטה'; @@ -1075,6 +1717,15 @@ class WidgetsLocalizationHe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'העברה למעלה'; + + @override + String get searchWebButtonLabel => 'חיפוש באינטרנט'; + + @override + String get selectAllButtonLabel => 'בחירת הכול'; + + @override + String get shareButtonLabel => 'שיתוף'; } /// The translations for Hindi (`hi`). @@ -1084,6 +1735,18 @@ class WidgetsLocalizationHi extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationHi() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'कॉपी करें'; + + @override + String get cutButtonLabel => 'काटें'; + + @override + String get lookUpButtonLabel => 'लुक अप बटन'; + + @override + String get pasteButtonLabel => 'चिपकाएं'; + @override String get reorderItemDown => 'नीचे ले जाएं'; @@ -1101,6 +1764,15 @@ class WidgetsLocalizationHi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ऊपर ले जाएं'; + + @override + String get searchWebButtonLabel => 'वेब पर खोजें'; + + @override + String get selectAllButtonLabel => 'सभी को चुनें'; + + @override + String get shareButtonLabel => 'शेयर करें'; } /// The translations for Croatian (`hr`). @@ -1110,6 +1782,18 @@ class WidgetsLocalizationHr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationHr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiraj'; + + @override + String get cutButtonLabel => 'Izreži'; + + @override + String get lookUpButtonLabel => 'Pogled prema gore'; + + @override + String get pasteButtonLabel => 'Zalijepi'; + @override String get reorderItemDown => 'Pomakni prema dolje'; @@ -1127,6 +1811,15 @@ class WidgetsLocalizationHr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pomakni prema gore'; + + @override + String get searchWebButtonLabel => 'Pretraži web'; + + @override + String get selectAllButtonLabel => 'Odaberi sve'; + + @override + String get shareButtonLabel => 'Dijeli'; } /// The translations for Hungarian (`hu`). @@ -1136,6 +1829,18 @@ class WidgetsLocalizationHu extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationHu() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Másolás'; + + @override + String get cutButtonLabel => 'Kivágás'; + + @override + String get lookUpButtonLabel => 'Felfelé nézés'; + + @override + String get pasteButtonLabel => 'Beillesztés'; + @override String get reorderItemDown => 'Áthelyezés lefelé'; @@ -1153,6 +1858,15 @@ class WidgetsLocalizationHu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Áthelyezés felfelé'; + + @override + String get searchWebButtonLabel => 'Keresés az interneten'; + + @override + String get selectAllButtonLabel => 'Összes kijelölése'; + + @override + String get shareButtonLabel => 'Megosztás'; } /// The translations for Armenian (`hy`). @@ -1162,6 +1876,18 @@ class WidgetsLocalizationHy extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationHy() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Պատճենել'; + + @override + String get cutButtonLabel => 'Կտրել'; + + @override + String get lookUpButtonLabel => 'Փնտրել'; + + @override + String get pasteButtonLabel => 'Տեղադրել'; + @override String get reorderItemDown => 'Տեղափոխել ներքև'; @@ -1179,6 +1905,15 @@ class WidgetsLocalizationHy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Տեղափոխել վերև'; + + @override + String get searchWebButtonLabel => 'Որոնել համացանցում'; + + @override + String get selectAllButtonLabel => 'Նշել բոլորը'; + + @override + String get shareButtonLabel => 'Կիսվել'; } /// The translations for Indonesian (`id`). @@ -1188,6 +1923,18 @@ class WidgetsLocalizationId extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationId() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Salin'; + + @override + String get cutButtonLabel => 'Potong'; + + @override + String get lookUpButtonLabel => 'Cari'; + + @override + String get pasteButtonLabel => 'Tempel'; + @override String get reorderItemDown => 'Turunkan'; @@ -1205,6 +1952,15 @@ class WidgetsLocalizationId extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Naikkan'; + + @override + String get searchWebButtonLabel => 'Telusuri di Web'; + + @override + String get selectAllButtonLabel => 'Pilih semua'; + + @override + String get shareButtonLabel => 'Bagikan'; } /// The translations for Icelandic (`is`). @@ -1214,6 +1970,18 @@ class WidgetsLocalizationIs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationIs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Afrita'; + + @override + String get cutButtonLabel => 'Klippa'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'Líma'; + @override String get reorderItemDown => 'Færa niður'; @@ -1231,6 +1999,15 @@ class WidgetsLocalizationIs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Færa upp'; + + @override + String get searchWebButtonLabel => 'Leita á vefnum'; + + @override + String get selectAllButtonLabel => 'Velja allt'; + + @override + String get shareButtonLabel => 'Deila'; } /// The translations for Italian (`it`). @@ -1240,6 +2017,18 @@ class WidgetsLocalizationIt extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationIt() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copia'; + + @override + String get cutButtonLabel => 'Taglia'; + + @override + String get lookUpButtonLabel => 'Cerca'; + + @override + String get pasteButtonLabel => 'Incolla'; + @override String get reorderItemDown => 'Sposta giù'; @@ -1257,6 +2046,15 @@ class WidgetsLocalizationIt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Sposta su'; + + @override + String get searchWebButtonLabel => 'Cerca sul web'; + + @override + String get selectAllButtonLabel => 'Seleziona tutto'; + + @override + String get shareButtonLabel => 'Condividi'; } /// The translations for Japanese (`ja`). @@ -1266,6 +2064,18 @@ class WidgetsLocalizationJa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationJa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'コピー'; + + @override + String get cutButtonLabel => '切り取り'; + + @override + String get lookUpButtonLabel => '調べる'; + + @override + String get pasteButtonLabel => '貼り付け'; + @override String get reorderItemDown => '下に移動'; @@ -1283,6 +2093,15 @@ class WidgetsLocalizationJa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '上に移動'; + + @override + String get searchWebButtonLabel => 'ウェブを検索'; + + @override + String get selectAllButtonLabel => 'すべてを選択'; + + @override + String get shareButtonLabel => '共有'; } /// The translations for Georgian (`ka`). @@ -1292,6 +2111,18 @@ class WidgetsLocalizationKa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'კოპირება'; + + @override + String get cutButtonLabel => 'ამოჭრა'; + + @override + String get lookUpButtonLabel => 'აიხედეთ ზემოთ'; + + @override + String get pasteButtonLabel => 'ჩასმა'; + @override String get reorderItemDown => 'ქვემოთ გადატანა'; @@ -1309,6 +2140,15 @@ class WidgetsLocalizationKa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ზემოთ გადატანა'; + + @override + String get searchWebButtonLabel => 'ვებში ძიება'; + + @override + String get selectAllButtonLabel => 'ყველას არჩევა'; + + @override + String get shareButtonLabel => 'გაზიარება'; } /// The translations for Kazakh (`kk`). @@ -1318,6 +2158,18 @@ class WidgetsLocalizationKk extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKk() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Көшіру'; + + @override + String get cutButtonLabel => 'Қию'; + + @override + String get lookUpButtonLabel => 'Іздеу'; + + @override + String get pasteButtonLabel => 'Қою'; + @override String get reorderItemDown => 'Төменге жылжыту'; @@ -1335,6 +2187,15 @@ class WidgetsLocalizationKk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Жоғарыға жылжыту'; + + @override + String get searchWebButtonLabel => 'Интернеттен іздеу'; + + @override + String get selectAllButtonLabel => 'Барлығын таңдау'; + + @override + String get shareButtonLabel => 'Бөлісу'; } /// The translations for Khmer Central Khmer (`km`). @@ -1344,6 +2205,18 @@ class WidgetsLocalizationKm extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKm() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'ចម្លង'; + + @override + String get cutButtonLabel => 'កាត់'; + + @override + String get lookUpButtonLabel => 'រកមើល'; + + @override + String get pasteButtonLabel => 'ដាក់​ចូល'; + @override String get reorderItemDown => 'ផ្លាស់ទី​ចុះ​ក្រោម'; @@ -1361,6 +2234,15 @@ class WidgetsLocalizationKm extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ផ្លាស់ទី​ឡើង​លើ'; + + @override + String get searchWebButtonLabel => 'ស្វែងរក​លើបណ្ដាញ'; + + @override + String get selectAllButtonLabel => 'ជ្រើសរើស​ទាំងអស់'; + + @override + String get shareButtonLabel => 'ចែករំលែក'; } /// The translations for Kannada (`kn`). @@ -1370,6 +2252,18 @@ class WidgetsLocalizationKn extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKn() : super(TextDirection.ltr); + @override + String get copyButtonLabel => '\u{ca8}\u{c95}\u{cb2}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get cutButtonLabel => '\u{c95}\u{ca4}\u{ccd}\u{ca4}\u{cb0}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get lookUpButtonLabel => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{ca8}\u{ccb}\u{ca1}\u{cbf}'; + + @override + String get pasteButtonLabel => '\u{c85}\u{c82}\u{c9f}\u{cbf}\u{cb8}\u{cbf}'; + @override String get reorderItemDown => '\u{c95}\u{cc6}\u{cb3}\u{c97}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}'; @@ -1387,6 +2281,15 @@ class WidgetsLocalizationKn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get searchWebButtonLabel => '\u{cb5}\u{cc6}\u{cac}\u{ccd}\u{200c}\u{ca8}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{20}\u{cb9}\u{cc1}\u{ca1}\u{cc1}\u{c95}\u{cbf}'; + + @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{20}\u{cae}\u{cbe}\u{ca1}\u{cbf}'; + + @override + String get shareButtonLabel => '\u{cb9}\u{c82}\u{c9a}\u{cbf}\u{c95}\u{cca}\u{cb3}\u{ccd}\u{cb3}\u{cbf}'; } /// The translations for Korean (`ko`). @@ -1396,6 +2299,18 @@ class WidgetsLocalizationKo extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKo() : super(TextDirection.ltr); + @override + String get copyButtonLabel => '복사'; + + @override + String get cutButtonLabel => '잘라내기'; + + @override + String get lookUpButtonLabel => '찾기'; + + @override + String get pasteButtonLabel => '붙여넣기'; + @override String get reorderItemDown => '아래로 이동'; @@ -1413,6 +2328,15 @@ class WidgetsLocalizationKo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '위로 이동'; + + @override + String get searchWebButtonLabel => '웹 검색'; + + @override + String get selectAllButtonLabel => '전체 선택'; + + @override + String get shareButtonLabel => '공유'; } /// The translations for Kirghiz Kyrgyz (`ky`). @@ -1422,6 +2346,18 @@ class WidgetsLocalizationKy extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationKy() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Көчүрүү'; + + @override + String get cutButtonLabel => 'Кесүү'; + + @override + String get lookUpButtonLabel => 'Издөө'; + + @override + String get pasteButtonLabel => 'Чаптоо'; + @override String get reorderItemDown => 'Төмөн жылдыруу'; @@ -1439,6 +2375,15 @@ class WidgetsLocalizationKy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Жогору жылдыруу'; + + @override + String get searchWebButtonLabel => 'Интернеттен издөө'; + + @override + String get selectAllButtonLabel => 'Баарын тандоо'; + + @override + String get shareButtonLabel => 'Бөлүшүү'; } /// The translations for Lao (`lo`). @@ -1448,6 +2393,18 @@ class WidgetsLocalizationLo extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationLo() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'ສຳເນົາ'; + + @override + String get cutButtonLabel => 'ຕັດ'; + + @override + String get lookUpButtonLabel => 'ຊອກຫາຂໍ້ມູນ'; + + @override + String get pasteButtonLabel => 'ວາງ'; + @override String get reorderItemDown => 'ຍ້າຍລົງ'; @@ -1465,6 +2422,15 @@ class WidgetsLocalizationLo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ຍ້າຍຂຶ້ນ'; + + @override + String get searchWebButtonLabel => 'ຊອກຫາຢູ່ອິນເຕີເນັດ'; + + @override + String get selectAllButtonLabel => 'ເລືອກທັງໝົດ'; + + @override + String get shareButtonLabel => 'ແບ່ງປັນ'; } /// The translations for Lithuanian (`lt`). @@ -1474,6 +2440,18 @@ class WidgetsLocalizationLt extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationLt() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopijuoti'; + + @override + String get cutButtonLabel => 'Iškirpti'; + + @override + String get lookUpButtonLabel => 'Ieškoti'; + + @override + String get pasteButtonLabel => 'Įklijuoti'; + @override String get reorderItemDown => 'Perkelti žemyn'; @@ -1491,6 +2469,15 @@ class WidgetsLocalizationLt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Perkelti aukštyn'; + + @override + String get searchWebButtonLabel => 'Ieškoti žiniatinklyje'; + + @override + String get selectAllButtonLabel => 'Pasirinkti viską'; + + @override + String get shareButtonLabel => 'Bendrinti'; } /// The translations for Latvian (`lv`). @@ -1500,6 +2487,18 @@ class WidgetsLocalizationLv extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationLv() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopēt'; + + @override + String get cutButtonLabel => 'Izgriezt'; + + @override + String get lookUpButtonLabel => 'Meklēt'; + + @override + String get pasteButtonLabel => 'Ielīmēt'; + @override String get reorderItemDown => 'Pārvietot uz leju'; @@ -1517,6 +2516,15 @@ class WidgetsLocalizationLv extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pārvietot uz augšu'; + + @override + String get searchWebButtonLabel => 'Meklēt tīmeklī'; + + @override + String get selectAllButtonLabel => 'Atlasīt visu'; + + @override + String get shareButtonLabel => 'Kopīgot'; } /// The translations for Macedonian (`mk`). @@ -1526,6 +2534,18 @@ class WidgetsLocalizationMk extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMk() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Копирај'; + + @override + String get cutButtonLabel => 'Исечи'; + + @override + String get lookUpButtonLabel => 'Погледнете нагоре'; + + @override + String get pasteButtonLabel => 'Залепи'; + @override String get reorderItemDown => 'Преместете надолу'; @@ -1543,6 +2563,15 @@ class WidgetsLocalizationMk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Преместете нагоре'; + + @override + String get searchWebButtonLabel => 'Пребарајте на интернет'; + + @override + String get selectAllButtonLabel => 'Избери ги сите'; + + @override + String get shareButtonLabel => 'Сподели'; } /// The translations for Malayalam (`ml`). @@ -1552,6 +2581,18 @@ class WidgetsLocalizationMl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'പകർത്തുക'; + + @override + String get cutButtonLabel => 'മുറിക്കുക'; + + @override + String get lookUpButtonLabel => 'മുകളിലേക്ക് നോക്കുക'; + + @override + String get pasteButtonLabel => 'ഒട്ടിക്കുക'; + @override String get reorderItemDown => 'താഴോട്ട് നീക്കുക'; @@ -1569,6 +2610,15 @@ class WidgetsLocalizationMl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'മുകളിലോട്ട് നീക്കുക'; + + @override + String get searchWebButtonLabel => 'വെബിൽ തിരയുക'; + + @override + String get selectAllButtonLabel => 'എല്ലാം തിരഞ്ഞെടുക്കുക'; + + @override + String get shareButtonLabel => 'പങ്കിടുക'; } /// The translations for Mongolian (`mn`). @@ -1578,6 +2628,18 @@ class WidgetsLocalizationMn extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMn() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Хуулах'; + + @override + String get cutButtonLabel => 'Таслах'; + + @override + String get lookUpButtonLabel => 'Дээшээ харах'; + + @override + String get pasteButtonLabel => 'Буулгах'; + @override String get reorderItemDown => 'Доош зөөх'; @@ -1595,6 +2657,15 @@ class WidgetsLocalizationMn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Дээш зөөх'; + + @override + String get searchWebButtonLabel => 'Вебээс хайх'; + + @override + String get selectAllButtonLabel => 'Бүгдийг сонгох'; + + @override + String get shareButtonLabel => 'Хуваалцах'; } /// The translations for Marathi (`mr`). @@ -1604,6 +2675,18 @@ class WidgetsLocalizationMr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'कॉपी करा'; + + @override + String get cutButtonLabel => 'कट करा'; + + @override + String get lookUpButtonLabel => 'शोध घ्या'; + + @override + String get pasteButtonLabel => 'पेस्ट करा'; + @override String get reorderItemDown => 'खाली हलवा'; @@ -1621,6 +2704,15 @@ class WidgetsLocalizationMr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'वर हलवा'; + + @override + String get searchWebButtonLabel => 'वेबवर शोधा'; + + @override + String get selectAllButtonLabel => 'सर्व निवडा'; + + @override + String get shareButtonLabel => 'शेअर करा'; } /// The translations for Malay (`ms`). @@ -1630,6 +2722,18 @@ class WidgetsLocalizationMs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMs() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Salin'; + + @override + String get cutButtonLabel => 'Potong'; + + @override + String get lookUpButtonLabel => 'Lihat ke Atas'; + + @override + String get pasteButtonLabel => 'Tampal'; + @override String get reorderItemDown => 'Alih ke bawah'; @@ -1647,6 +2751,15 @@ class WidgetsLocalizationMs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Alih ke atas'; + + @override + String get searchWebButtonLabel => 'Buat carian pada Web'; + + @override + String get selectAllButtonLabel => 'Pilih semua'; + + @override + String get shareButtonLabel => 'Kongsi'; } /// The translations for Burmese (`my`). @@ -1656,6 +2769,18 @@ class WidgetsLocalizationMy extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationMy() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'မိတ္တူကူးရန်'; + + @override + String get cutButtonLabel => 'ဖြတ်ယူရန်'; + + @override + String get lookUpButtonLabel => 'အပေါ်ကြည့်ရန်'; + + @override + String get pasteButtonLabel => 'ကူးထည့်ရန်'; + @override String get reorderItemDown => 'အောက်သို့ရွှေ့ရန်'; @@ -1673,6 +2798,15 @@ class WidgetsLocalizationMy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'အပေါ်သို့ ရွှေ့ရန်'; + + @override + String get searchWebButtonLabel => 'ဝဘ်တွင်ရှာရန်'; + + @override + String get selectAllButtonLabel => 'အားလုံး ရွေးရန်'; + + @override + String get shareButtonLabel => 'မျှဝေရန်'; } /// The translations for Norwegian Bokmål (`nb`). @@ -1682,6 +2816,18 @@ class WidgetsLocalizationNb extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationNb() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiér'; + + @override + String get cutButtonLabel => 'Klipp ut'; + + @override + String get lookUpButtonLabel => 'Slå opp'; + + @override + String get pasteButtonLabel => 'Lim inn'; + @override String get reorderItemDown => 'Flytt ned'; @@ -1699,6 +2845,15 @@ class WidgetsLocalizationNb extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytt opp'; + + @override + String get searchWebButtonLabel => 'Søk på nettet'; + + @override + String get selectAllButtonLabel => 'Velg alle'; + + @override + String get shareButtonLabel => 'Del'; } /// The translations for Nepali (`ne`). @@ -1708,6 +2863,18 @@ class WidgetsLocalizationNe extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationNe() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'कपी गर्नुहोस्'; + + @override + String get cutButtonLabel => 'काट्नुहोस्'; + + @override + String get lookUpButtonLabel => 'माथितिर हेर्नुहोस्'; + + @override + String get pasteButtonLabel => 'टाँस्नुहोस्'; + @override String get reorderItemDown => 'तल सार्नुहोस्'; @@ -1725,6 +2892,15 @@ class WidgetsLocalizationNe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'माथि सार्नुहोस्'; + + @override + String get searchWebButtonLabel => 'वेबमा खोज्नुहोस्'; + + @override + String get selectAllButtonLabel => 'सबै बटनहरू चयन गर्नुहोस्'; + + @override + String get shareButtonLabel => 'सेयर गर्नुहोस्'; } /// The translations for Dutch Flemish (`nl`). @@ -1734,6 +2910,18 @@ class WidgetsLocalizationNl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationNl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiëren'; + + @override + String get cutButtonLabel => 'Knippen'; + + @override + String get lookUpButtonLabel => 'Opzoeken'; + + @override + String get pasteButtonLabel => 'Plakken'; + @override String get reorderItemDown => 'Omlaag verplaatsen'; @@ -1751,6 +2939,15 @@ class WidgetsLocalizationNl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Omhoog verplaatsen'; + + @override + String get searchWebButtonLabel => 'Op internet zoeken'; + + @override + String get selectAllButtonLabel => 'Alles selecteren'; + + @override + String get shareButtonLabel => 'Delen'; } /// The translations for Norwegian (`no`). @@ -1760,6 +2957,18 @@ class WidgetsLocalizationNo extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationNo() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiér'; + + @override + String get cutButtonLabel => 'Klipp ut'; + + @override + String get lookUpButtonLabel => 'Slå opp'; + + @override + String get pasteButtonLabel => 'Lim inn'; + @override String get reorderItemDown => 'Flytt ned'; @@ -1777,6 +2986,15 @@ class WidgetsLocalizationNo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytt opp'; + + @override + String get searchWebButtonLabel => 'Søk på nettet'; + + @override + String get selectAllButtonLabel => 'Velg alle'; + + @override + String get shareButtonLabel => 'Del'; } /// The translations for Oriya (`or`). @@ -1786,6 +3004,18 @@ class WidgetsLocalizationOr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationOr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'କପି କରନ୍ତୁ'; + + @override + String get cutButtonLabel => 'କଟ୍ କରନ୍ତୁ'; + + @override + String get lookUpButtonLabel => 'ଉପରକୁ ଦେଖନ୍ତୁ'; + + @override + String get pasteButtonLabel => 'ପେଷ୍ଟ କରନ୍ତୁ'; + @override String get reorderItemDown => 'ତଳକୁ ଯାଆନ୍ତୁ'; @@ -1803,6 +3033,15 @@ class WidgetsLocalizationOr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ଉପରକୁ ନିଅନ୍ତୁ'; + + @override + String get searchWebButtonLabel => 'ୱେବ ସର୍ଚ୍ଚ କରନ୍ତୁ'; + + @override + String get selectAllButtonLabel => 'ସବୁ ଚୟନ କରନ୍ତୁ'; + + @override + String get shareButtonLabel => 'ସେୟାର କରନ୍ତୁ'; } /// The translations for Panjabi Punjabi (`pa`). @@ -1812,6 +3051,18 @@ class WidgetsLocalizationPa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationPa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'ਕਾਪੀ ਕਰੋ'; + + @override + String get cutButtonLabel => 'ਕੱਟ ਕਰੋ'; + + @override + String get lookUpButtonLabel => 'ਖੋਜੋ'; + + @override + String get pasteButtonLabel => 'ਪੇਸਟ ਕਰੋ'; + @override String get reorderItemDown => 'ਹੇਠਾਂ ਲਿਜਾਓ'; @@ -1829,6 +3080,15 @@ class WidgetsLocalizationPa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ਉੱਪਰ ਲਿਜਾਓ'; + + @override + String get searchWebButtonLabel => "ਵੈੱਬ 'ਤੇ ਖੋਜੋ"; + + @override + String get selectAllButtonLabel => 'ਸਭ ਚੁਣੋ'; + + @override + String get shareButtonLabel => 'ਸਾਂਝਾ ਕਰੋ'; } /// The translations for Polish (`pl`). @@ -1838,6 +3098,18 @@ class WidgetsLocalizationPl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationPl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiuj'; + + @override + String get cutButtonLabel => 'Wytnij'; + + @override + String get lookUpButtonLabel => 'Sprawdź'; + + @override + String get pasteButtonLabel => 'Wklej'; + @override String get reorderItemDown => 'Przenieś w dół'; @@ -1855,6 +3127,15 @@ class WidgetsLocalizationPl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Przenieś w górę'; + + @override + String get searchWebButtonLabel => 'Szukaj w internecie'; + + @override + String get selectAllButtonLabel => 'Zaznacz wszystko'; + + @override + String get shareButtonLabel => 'Udostępnij'; } /// The translations for Pushto Pashto (`ps`). @@ -1864,6 +3145,18 @@ class WidgetsLocalizationPs extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationPs() : super(TextDirection.rtl); + @override + String get copyButtonLabel => 'کاپی'; + + @override + String get cutButtonLabel => 'کم کړئ'; + + @override + String get lookUpButtonLabel => 'Look Up'; + + @override + String get pasteButtonLabel => 'پیټ کړئ'; + @override String get reorderItemDown => 'Move down'; @@ -1881,6 +3174,15 @@ class WidgetsLocalizationPs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Move up'; + + @override + String get searchWebButtonLabel => 'Search Web'; + + @override + String get selectAllButtonLabel => 'غوره کړئ'; + + @override + String get shareButtonLabel => 'Share...'; } /// The translations for Portuguese (`pt`). @@ -1890,6 +3192,18 @@ class WidgetsLocalizationPt extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationPt() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copiar'; + + @override + String get cutButtonLabel => 'Cortar'; + + @override + String get lookUpButtonLabel => 'Pesquisar'; + + @override + String get pasteButtonLabel => 'Colar'; + @override String get reorderItemDown => 'Mover para baixo'; @@ -1907,6 +3221,15 @@ class WidgetsLocalizationPt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover para cima'; + + @override + String get searchWebButtonLabel => 'Pesquisar na Web'; + + @override + String get selectAllButtonLabel => 'Selecionar tudo'; + + @override + String get shareButtonLabel => 'Compartilhar'; } /// The translations for Portuguese, as used in Portugal (`pt_PT`). @@ -1918,6 +3241,12 @@ class WidgetsLocalizationPtPt extends WidgetsLocalizationPt { @override String get reorderItemToEnd => 'Mover para o fim'; + + @override + String get lookUpButtonLabel => 'Procurar'; + + @override + String get shareButtonLabel => 'Partilhar'; } /// The translations for Romanian Moldavian Moldovan (`ro`). @@ -1927,6 +3256,18 @@ class WidgetsLocalizationRo extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationRo() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Copiați'; + + @override + String get cutButtonLabel => 'Decupați'; + + @override + String get lookUpButtonLabel => 'Privire în sus'; + + @override + String get pasteButtonLabel => 'Inserați'; + @override String get reorderItemDown => 'Mutați în jos'; @@ -1944,6 +3285,15 @@ class WidgetsLocalizationRo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mutați în sus'; + + @override + String get searchWebButtonLabel => 'Căutați pe web'; + + @override + String get selectAllButtonLabel => 'Selectați tot'; + + @override + String get shareButtonLabel => 'Trimiteți'; } /// The translations for Russian (`ru`). @@ -1953,6 +3303,18 @@ class WidgetsLocalizationRu extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationRu() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Копировать'; + + @override + String get cutButtonLabel => 'Вырезать'; + + @override + String get lookUpButtonLabel => 'Найти'; + + @override + String get pasteButtonLabel => 'Вставить'; + @override String get reorderItemDown => 'Переместить вниз'; @@ -1970,6 +3332,15 @@ class WidgetsLocalizationRu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Переместить вверх'; + + @override + String get searchWebButtonLabel => 'Искать в интернете'; + + @override + String get selectAllButtonLabel => 'Выбрать все'; + + @override + String get shareButtonLabel => 'Поделиться'; } /// The translations for Sinhala Sinhalese (`si`). @@ -1979,6 +3350,18 @@ class WidgetsLocalizationSi extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSi() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'පිටපත් කරන්න'; + + @override + String get cutButtonLabel => 'කපන්න'; + + @override + String get lookUpButtonLabel => 'උඩ බලන්න'; + + @override + String get pasteButtonLabel => 'අලවන්න'; + @override String get reorderItemDown => 'පහළට ගෙන යන්න'; @@ -1996,6 +3379,15 @@ class WidgetsLocalizationSi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ඉහළට ගෙන යන්න'; + + @override + String get searchWebButtonLabel => 'වෙබය සොයන්න'; + + @override + String get selectAllButtonLabel => 'සියල්ල තෝරන්න'; + + @override + String get shareButtonLabel => 'බෙදා ගන්න'; } /// The translations for Slovak (`sk`). @@ -2005,6 +3397,18 @@ class WidgetsLocalizationSk extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSk() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopírovať'; + + @override + String get cutButtonLabel => 'Vystrihnúť'; + + @override + String get lookUpButtonLabel => 'Pohľad nahor'; + + @override + String get pasteButtonLabel => 'Prilepiť'; + @override String get reorderItemDown => 'Presunúť nadol'; @@ -2022,6 +3426,15 @@ class WidgetsLocalizationSk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Presunúť nahor'; + + @override + String get searchWebButtonLabel => 'Hľadať na webe'; + + @override + String get selectAllButtonLabel => 'Vybrať všetko'; + + @override + String get shareButtonLabel => 'Zdieľať'; } /// The translations for Slovenian (`sl`). @@ -2031,6 +3444,18 @@ class WidgetsLocalizationSl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiraj'; + + @override + String get cutButtonLabel => 'Izreži'; + + @override + String get lookUpButtonLabel => 'Pogled gor'; + + @override + String get pasteButtonLabel => 'Prilepi'; + @override String get reorderItemDown => 'Premakni navzdol'; @@ -2048,6 +3473,15 @@ class WidgetsLocalizationSl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Premakni navzgor'; + + @override + String get searchWebButtonLabel => 'Iskanje v spletu'; + + @override + String get selectAllButtonLabel => 'Izberi vse'; + + @override + String get shareButtonLabel => 'Deli'; } /// The translations for Albanian (`sq`). @@ -2057,6 +3491,18 @@ class WidgetsLocalizationSq extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSq() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopjo'; + + @override + String get cutButtonLabel => 'Prit'; + + @override + String get lookUpButtonLabel => 'Kërko'; + + @override + String get pasteButtonLabel => 'Ngjit'; + @override String get reorderItemDown => 'Lëvize poshtë'; @@ -2074,6 +3520,15 @@ class WidgetsLocalizationSq extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Lëvize lart'; + + @override + String get searchWebButtonLabel => 'Kërko në ueb'; + + @override + String get selectAllButtonLabel => 'Zgjidh të gjitha'; + + @override + String get shareButtonLabel => 'Ndaj'; } /// The translations for Serbian (`sr`). @@ -2083,6 +3538,18 @@ class WidgetsLocalizationSr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Копирај'; + + @override + String get cutButtonLabel => 'Исеци'; + + @override + String get lookUpButtonLabel => 'Поглед нагоре'; + + @override + String get pasteButtonLabel => 'Налепи'; + @override String get reorderItemDown => 'Померите надоле'; @@ -2100,6 +3567,15 @@ class WidgetsLocalizationSr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Померите нагоре'; + + @override + String get searchWebButtonLabel => 'Претражи веб'; + + @override + String get selectAllButtonLabel => 'Изабери све'; + + @override + String get shareButtonLabel => 'Дели'; } /// The translations for Serbian, using the Cyrillic script (`sr_Cyrl`). @@ -2117,6 +3593,18 @@ class WidgetsLocalizationSrLatn extends WidgetsLocalizationSr { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSrLatn(); + @override + String get copyButtonLabel => 'Kopiraj'; + + @override + String get cutButtonLabel => 'Iseci'; + + @override + String get lookUpButtonLabel => 'Pogled nagore'; + + @override + String get pasteButtonLabel => 'Nalepi'; + @override String get reorderItemDown => 'Pomerite nadole'; @@ -2134,6 +3622,15 @@ class WidgetsLocalizationSrLatn extends WidgetsLocalizationSr { @override String get reorderItemUp => 'Pomerite nagore'; + + @override + String get searchWebButtonLabel => 'Pretraži veb'; + + @override + String get selectAllButtonLabel => 'Izaberi sve'; + + @override + String get shareButtonLabel => 'Deli'; } /// The translations for Swedish (`sv`). @@ -2143,6 +3640,18 @@ class WidgetsLocalizationSv extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSv() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopiera'; + + @override + String get cutButtonLabel => 'Klipp ut'; + + @override + String get lookUpButtonLabel => 'Titta upp'; + + @override + String get pasteButtonLabel => 'Klistra in'; + @override String get reorderItemDown => 'Flytta nedåt'; @@ -2160,6 +3669,15 @@ class WidgetsLocalizationSv extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytta uppåt'; + + @override + String get searchWebButtonLabel => 'Sök på webben'; + + @override + String get selectAllButtonLabel => 'Markera allt'; + + @override + String get shareButtonLabel => 'Dela'; } /// The translations for Swahili (`sw`). @@ -2169,6 +3687,18 @@ class WidgetsLocalizationSw extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationSw() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Nakili'; + + @override + String get cutButtonLabel => 'Kata'; + + @override + String get lookUpButtonLabel => 'Tafuta'; + + @override + String get pasteButtonLabel => 'Bandika'; + @override String get reorderItemDown => 'Sogeza chini'; @@ -2186,6 +3716,15 @@ class WidgetsLocalizationSw extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Sogeza juu'; + + @override + String get searchWebButtonLabel => 'Tafuta kwenye Wavuti'; + + @override + String get selectAllButtonLabel => 'Chagua vyote'; + + @override + String get shareButtonLabel => 'Tuma'; } /// The translations for Tamil (`ta`). @@ -2195,6 +3734,18 @@ class WidgetsLocalizationTa extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationTa() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'நகலெடு'; + + @override + String get cutButtonLabel => 'வெட்டு'; + + @override + String get lookUpButtonLabel => 'தேடு'; + + @override + String get pasteButtonLabel => 'ஒட்டு'; + @override String get reorderItemDown => 'கீழே நகர்த்தவும்'; @@ -2212,6 +3763,15 @@ class WidgetsLocalizationTa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'மேலே நகர்த்தவும்'; + + @override + String get searchWebButtonLabel => 'இணையத்தில் தேடு'; + + @override + String get selectAllButtonLabel => 'அனைத்தையும் தேர்ந்தெடு'; + + @override + String get shareButtonLabel => 'பகிர்'; } /// The translations for Telugu (`te`). @@ -2221,6 +3781,18 @@ class WidgetsLocalizationTe extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationTe() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'కాపీ చేయి'; + + @override + String get cutButtonLabel => 'కత్తిరించండి'; + + @override + String get lookUpButtonLabel => 'వెతకండి'; + + @override + String get pasteButtonLabel => 'పేస్ట్ చేయండి'; + @override String get reorderItemDown => 'కిందికు జరుపు'; @@ -2238,6 +3810,15 @@ class WidgetsLocalizationTe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'పైకి జరపండి'; + + @override + String get searchWebButtonLabel => 'వెబ్‌లో సెర్చ్ చేయండి'; + + @override + String get selectAllButtonLabel => 'అన్నింటినీ ఎంచుకోండి'; + + @override + String get shareButtonLabel => 'షేర్ చేయండి'; } /// The translations for Thai (`th`). @@ -2247,6 +3828,18 @@ class WidgetsLocalizationTh extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationTh() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'คัดลอก'; + + @override + String get cutButtonLabel => 'ตัด'; + + @override + String get lookUpButtonLabel => 'ค้นหา'; + + @override + String get pasteButtonLabel => 'วาง'; + @override String get reorderItemDown => 'ย้ายลง'; @@ -2264,6 +3857,15 @@ class WidgetsLocalizationTh extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ย้ายขึ้น'; + + @override + String get searchWebButtonLabel => 'ค้นหาบนอินเทอร์เน็ต'; + + @override + String get selectAllButtonLabel => 'เลือกทั้งหมด'; + + @override + String get shareButtonLabel => 'แชร์'; } /// The translations for Tagalog (`tl`). @@ -2273,6 +3875,18 @@ class WidgetsLocalizationTl extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationTl() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopyahin'; + + @override + String get cutButtonLabel => 'I-cut'; + + @override + String get lookUpButtonLabel => 'Tumingin sa Itaas'; + + @override + String get pasteButtonLabel => 'I-paste'; + @override String get reorderItemDown => 'Ilipat pababa'; @@ -2290,6 +3904,15 @@ class WidgetsLocalizationTl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Ilipat pataas'; + + @override + String get searchWebButtonLabel => 'Maghanap sa Web'; + + @override + String get selectAllButtonLabel => 'Piliin lahat'; + + @override + String get shareButtonLabel => 'I-share'; } /// The translations for Turkish (`tr`). @@ -2299,6 +3922,18 @@ class WidgetsLocalizationTr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationTr() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopyala'; + + @override + String get cutButtonLabel => 'Kes'; + + @override + String get lookUpButtonLabel => 'Ara'; + + @override + String get pasteButtonLabel => 'Yapıştır'; + @override String get reorderItemDown => 'Aşağı taşı'; @@ -2316,6 +3951,15 @@ class WidgetsLocalizationTr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Yukarı taşı'; + + @override + String get searchWebButtonLabel => "Web'de Ara"; + + @override + String get selectAllButtonLabel => 'Tümünü seç'; + + @override + String get shareButtonLabel => 'Paylaş'; } /// The translations for Ukrainian (`uk`). @@ -2325,6 +3969,18 @@ class WidgetsLocalizationUk extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationUk() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Копіювати'; + + @override + String get cutButtonLabel => 'Вирізати'; + + @override + String get lookUpButtonLabel => 'Шукати'; + + @override + String get pasteButtonLabel => 'Вставити'; + @override String get reorderItemDown => 'Перемістити вниз'; @@ -2342,6 +3998,15 @@ class WidgetsLocalizationUk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Перемістити вгору'; + + @override + String get searchWebButtonLabel => 'Пошук в Інтернеті'; + + @override + String get selectAllButtonLabel => 'Вибрати всі'; + + @override + String get shareButtonLabel => 'Поділитися'; } /// The translations for Urdu (`ur`). @@ -2351,6 +4016,18 @@ class WidgetsLocalizationUr extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationUr() : super(TextDirection.rtl); + @override + String get copyButtonLabel => 'کاپی کریں'; + + @override + String get cutButtonLabel => 'کٹ کریں'; + + @override + String get lookUpButtonLabel => 'تفصیل دیکھیں'; + + @override + String get pasteButtonLabel => 'پیسٹ کریں'; + @override String get reorderItemDown => 'نیچے منتقل کریں'; @@ -2368,6 +4045,15 @@ class WidgetsLocalizationUr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'اوپر منتقل کریں'; + + @override + String get searchWebButtonLabel => 'ویب تلاش کریں'; + + @override + String get selectAllButtonLabel => 'سبھی کو منتخب کریں'; + + @override + String get shareButtonLabel => 'اشتراک کریں'; } /// The translations for Uzbek (`uz`). @@ -2377,6 +4063,18 @@ class WidgetsLocalizationUz extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationUz() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Nusxa olish'; + + @override + String get cutButtonLabel => 'Kesib olish'; + + @override + String get lookUpButtonLabel => 'Tepaga qarang'; + + @override + String get pasteButtonLabel => 'Joylash'; + @override String get reorderItemDown => 'Pastga siljitish'; @@ -2394,6 +4092,15 @@ class WidgetsLocalizationUz extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Tepaga siljitish'; + + @override + String get searchWebButtonLabel => 'Internetdan qidirish'; + + @override + String get selectAllButtonLabel => 'Hammasi'; + + @override + String get shareButtonLabel => 'Ulashish'; } /// The translations for Vietnamese (`vi`). @@ -2403,6 +4110,18 @@ class WidgetsLocalizationVi extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationVi() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Sao chép'; + + @override + String get cutButtonLabel => 'Cắt'; + + @override + String get lookUpButtonLabel => 'Tra cứu'; + + @override + String get pasteButtonLabel => 'Dán'; + @override String get reorderItemDown => 'Di chuyển xuống'; @@ -2420,6 +4139,15 @@ class WidgetsLocalizationVi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Di chuyển lên'; + + @override + String get searchWebButtonLabel => 'Tìm kiếm trên web'; + + @override + String get selectAllButtonLabel => 'Chọn tất cả'; + + @override + String get shareButtonLabel => 'Chia sẻ'; } /// The translations for Chinese (`zh`). @@ -2429,6 +4157,18 @@ class WidgetsLocalizationZh extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationZh() : super(TextDirection.ltr); + @override + String get copyButtonLabel => '复制'; + + @override + String get cutButtonLabel => '剪切'; + + @override + String get lookUpButtonLabel => '查询'; + + @override + String get pasteButtonLabel => '粘贴'; + @override String get reorderItemDown => '下移'; @@ -2446,6 +4186,15 @@ class WidgetsLocalizationZh extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '上移'; + + @override + String get searchWebButtonLabel => '搜索'; + + @override + String get selectAllButtonLabel => '全选'; + + @override + String get shareButtonLabel => '分享'; } /// The translations for Chinese, using the Han script (`zh_Hans`). @@ -2463,6 +4212,18 @@ class WidgetsLocalizationZhHant extends WidgetsLocalizationZh { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationZhHant(); + @override + String get copyButtonLabel => '複製'; + + @override + String get cutButtonLabel => '剪下'; + + @override + String get lookUpButtonLabel => '查詢'; + + @override + String get pasteButtonLabel => '貼上'; + @override String get reorderItemDown => '向下移'; @@ -2480,6 +4241,12 @@ class WidgetsLocalizationZhHant extends WidgetsLocalizationZh { @override String get reorderItemUp => '向上移'; + + @override + String get searchWebButtonLabel => '搜尋'; + + @override + String get selectAllButtonLabel => '全部選取'; } /// The translations for Chinese, as used in Hong Kong, using the Han script (`zh_Hant_HK`). @@ -2502,6 +4269,9 @@ class WidgetsLocalizationZhHantTw extends WidgetsLocalizationZhHant { @override String get reorderItemToEnd => '移至結尾'; + + @override + String get selectAllButtonLabel => '全選'; } /// The translations for Zulu (`zu`). @@ -2511,6 +4281,18 @@ class WidgetsLocalizationZu extends GlobalWidgetsLocalizations { /// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations]. const WidgetsLocalizationZu() : super(TextDirection.ltr); + @override + String get copyButtonLabel => 'Kopisha'; + + @override + String get cutButtonLabel => 'Sika'; + + @override + String get lookUpButtonLabel => 'Bheka Phezulu'; + + @override + String get pasteButtonLabel => 'Namathisela'; + @override String get reorderItemDown => 'Iya phansi'; @@ -2528,6 +4310,15 @@ class WidgetsLocalizationZu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Iya phezulu'; + + @override + String get searchWebButtonLabel => 'Sesha Iwebhu'; + + @override + String get selectAllButtonLabel => 'Khetha konke'; + + @override + String get shareButtonLabel => 'Yabelana'; } /// The set of supported languages, as language code strings. diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_af.arb b/packages/flutter_localizations/lib/src/l10n/widgets_af.arb index 6cffc77e55..84d974930c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_af.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_af.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Skuif op", "reorderItemDown": "Skuif af", "reorderItemLeft": "Skuif na links", - "reorderItemRight": "Skuif na regs" + "reorderItemRight": "Skuif na regs", + "copyButtonLabel": "Kopieer", + "cutButtonLabel": "Knip", + "lookUpButtonLabel": "Kyk op", + "searchWebButtonLabel": "Deursoek web", + "shareButtonLabel": "Deel", + "pasteButtonLabel": "Plak", + "selectAllButtonLabel": "Kies alles" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_am.arb b/packages/flutter_localizations/lib/src/l10n/widgets_am.arb index 5e192f5183..713426c2c0 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_am.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_am.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ወደ ላይ ውሰድ", "reorderItemDown": "ወደ ታች ውሰድ", "reorderItemLeft": "ወደ ግራ ውሰድ", - "reorderItemRight": "ወደ ቀኝ ውሰድ" + "reorderItemRight": "ወደ ቀኝ ውሰድ", + "copyButtonLabel": "ቅዳ", + "cutButtonLabel": "ቁረጥ", + "lookUpButtonLabel": "ይመልከቱ", + "searchWebButtonLabel": "ድርን ፈልግ", + "shareButtonLabel": "አጋራ", + "pasteButtonLabel": "ለጥፍ", + "selectAllButtonLabel": "ሁሉንም ምረጥ" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb index d1e072ae49..26dd4388cf 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb @@ -4,5 +4,12 @@ "reorderItemUp": "نقل لأعلى", "reorderItemDown": "نقل لأسفل", "reorderItemLeft": "نقل لليمين", - "reorderItemRight": "نقل لليسار" + "reorderItemRight": "نقل لليسار", + "copyButtonLabel": "نسخ", + "cutButtonLabel": "قص", + "lookUpButtonLabel": "بحث عام", + "searchWebButtonLabel": "البحث على الويب", + "shareButtonLabel": "مشاركة", + "pasteButtonLabel": "لصق", + "selectAllButtonLabel": "اختيار الكل" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_as.arb b/packages/flutter_localizations/lib/src/l10n/widgets_as.arb index ecf5ad2bcb..020cdb10d8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_as.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_as.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ওপৰলৈ নিয়ক", "reorderItemDown": "তললৈ স্থানান্তৰ কৰক", "reorderItemLeft": "বাওঁফাললৈ স্থানান্তৰ কৰক", - "reorderItemRight": "সোঁফাললৈ স্থানান্তৰ কৰক" + "reorderItemRight": "সোঁফাললৈ স্থানান্তৰ কৰক", + "copyButtonLabel": "প্ৰতিলিপি কৰক", + "cutButtonLabel": "কাট কৰক", + "lookUpButtonLabel": "ওপৰলৈ চাওক", + "searchWebButtonLabel": "ৱেবত সন্ধান কৰক", + "shareButtonLabel": "শ্বেয়াৰ কৰক", + "pasteButtonLabel": "পে'ষ্ট কৰক", + "selectAllButtonLabel": "সকলো বাছনি কৰক" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_az.arb b/packages/flutter_localizations/lib/src/l10n/widgets_az.arb index 2b0277dad0..152c332e29 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_az.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_az.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Yuxarı köçürün", "reorderItemDown": "Aşağı köçürün", "reorderItemLeft": "Sola köçürün", - "reorderItemRight": "Sağa köçürün" + "reorderItemRight": "Sağa köçürün", + "copyButtonLabel": "Kopyalayın", + "cutButtonLabel": "Kəsin", + "lookUpButtonLabel": "Axtarın", + "searchWebButtonLabel": "Vebdə axtarın", + "shareButtonLabel": "Paylaşın", + "pasteButtonLabel": "Yerləşdirin", + "selectAllButtonLabel": "Hamısını seçin" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_be.arb b/packages/flutter_localizations/lib/src/l10n/widgets_be.arb index fdc872e1df..025af98c12 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_be.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_be.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Перамясціць уверх", "reorderItemDown": "Перамясціць уніз", "reorderItemLeft": "Перамясціць улева", - "reorderItemRight": "Перамясціць управа" + "reorderItemRight": "Перамясціць управа", + "copyButtonLabel": "Капіраваць", + "cutButtonLabel": "Выразаць", + "lookUpButtonLabel": "Знайсці", + "searchWebButtonLabel": "Пошук у сетцы", + "shareButtonLabel": "Абагуліць", + "pasteButtonLabel": "Уставіць", + "selectAllButtonLabel": "Выбраць усе" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb index 144f58a0b8..aa318a0a60 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Преместване нагоре", "reorderItemDown": "Преместване надолу", "reorderItemLeft": "Преместване наляво", - "reorderItemRight": "Преместване надясно" + "reorderItemRight": "Преместване надясно", + "copyButtonLabel": "Копиране", + "cutButtonLabel": "Изрязване", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Търсене в мрежата", + "shareButtonLabel": "Споделяне", + "pasteButtonLabel": "Поставяне", + "selectAllButtonLabel": "Избиране на всички" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb index 0c629ee8d7..e75401fda3 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb @@ -4,5 +4,12 @@ "reorderItemUp": "উপরের দিকে সরান", "reorderItemDown": "নিচের দিকে সরান", "reorderItemLeft": "বাঁদিকে সরান", - "reorderItemRight": "ডানদিকে সরান" + "reorderItemRight": "ডানদিকে সরান", + "copyButtonLabel": "কপি করুন", + "cutButtonLabel": "কাট করুন", + "lookUpButtonLabel": "লুক-আপ", + "searchWebButtonLabel": "ওয়েবে সার্চ করুন", + "shareButtonLabel": "শেয়ার করুন", + "pasteButtonLabel": "পেস্ট করুন", + "selectAllButtonLabel": "সব বেছে নিন" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb index cb2fa85ea6..0a16f92b45 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Pomjeri nagore", "reorderItemDown": "Pomjeri nadolje", "reorderItemLeft": "Pomjeri lijevo", - "reorderItemRight": "Pomjeri desno" + "reorderItemRight": "Pomjeri desno", + "copyButtonLabel": "Kopiraj", + "cutButtonLabel": "Izreži", + "lookUpButtonLabel": "Pogled nagore", + "searchWebButtonLabel": "Pretraži Web", + "shareButtonLabel": "Dijeli", + "pasteButtonLabel": "Zalijepi", + "selectAllButtonLabel": "Odaberi sve" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb index 7a252d0c43..c35d4b0bcd 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mou amunt", "reorderItemDown": "Mou avall", "reorderItemLeft": "Mou cap a l'esquerra", - "reorderItemRight": "Mou cap a la dreta" + "reorderItemRight": "Mou cap a la dreta", + "copyButtonLabel": "Copia", + "cutButtonLabel": "Retalla", + "lookUpButtonLabel": "Mira amunt", + "searchWebButtonLabel": "Cerca al web", + "shareButtonLabel": "Comparteix", + "pasteButtonLabel": "Enganxa", + "selectAllButtonLabel": "Selecciona-ho tot" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb b/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb index c557e357a1..762fd3e767 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Přesunout nahoru", "reorderItemDown": "Přesunout dolů", "reorderItemLeft": "Přesunout doleva", - "reorderItemRight": "Přesunout doprava" + "reorderItemRight": "Přesunout doprava", + "copyButtonLabel": "Kopírovat", + "cutButtonLabel": "Vyjmout", + "lookUpButtonLabel": "Vyhledat", + "searchWebButtonLabel": "Vyhledávat na webu", + "shareButtonLabel": "Sdílet", + "pasteButtonLabel": "Vložit", + "selectAllButtonLabel": "Vybrat vše" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb b/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb index 83e8e92c24..a827c0cf89 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Symud i fyny", "reorderItemDown": "Symud i lawr", "reorderItemLeft": "Symud i'r chwith", - "reorderItemRight": "Symud i'r dde" + "reorderItemRight": "Symud i'r dde", + "copyButtonLabel": "Copïo", + "cutButtonLabel": "Torri", + "lookUpButtonLabel": "Chwilio", + "searchWebButtonLabel": "Chwilio'r We", + "shareButtonLabel": "Rhannu", + "pasteButtonLabel": "Gludo", + "selectAllButtonLabel": "Dewis y Cyfan" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_da.arb b/packages/flutter_localizations/lib/src/l10n/widgets_da.arb index 0a937abd0a..3af378ea29 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_da.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_da.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Flyt op", "reorderItemDown": "Flyt ned", "reorderItemLeft": "Flyt til venstre", - "reorderItemRight": "Flyt til højre" + "reorderItemRight": "Flyt til højre", + "copyButtonLabel": "Kopiér", + "cutButtonLabel": "Klip", + "lookUpButtonLabel": "Slå op", + "searchWebButtonLabel": "Søg på nettet", + "shareButtonLabel": "Del", + "pasteButtonLabel": "Indsæt", + "selectAllButtonLabel": "Markér alt" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_de.arb b/packages/flutter_localizations/lib/src/l10n/widgets_de.arb index 38bef02097..add0d1b7e7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_de.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_de.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Nach oben verschieben", "reorderItemDown": "Nach unten verschieben", "reorderItemLeft": "Nach links verschieben", - "reorderItemRight": "Nach rechts verschieben" + "reorderItemRight": "Nach rechts verschieben", + "copyButtonLabel": "Kopieren", + "cutButtonLabel": "Ausschneiden", + "lookUpButtonLabel": "Nachschlagen", + "searchWebButtonLabel": "Im Web suchen", + "shareButtonLabel": "Teilen", + "pasteButtonLabel": "Einsetzen", + "selectAllButtonLabel": "Alle auswählen" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_de_CH.arb b/packages/flutter_localizations/lib/src/l10n/widgets_de_CH.arb index 38bef02097..f29909a50c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_de_CH.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_de_CH.arb @@ -4,5 +4,9 @@ "reorderItemUp": "Nach oben verschieben", "reorderItemDown": "Nach unten verschieben", "reorderItemLeft": "Nach links verschieben", - "reorderItemRight": "Nach rechts verschieben" + "reorderItemRight": "Nach rechts verschieben", + "copyButtonLabel": "Kopieren", + "cutButtonLabel": "Ausschneiden", + "pasteButtonLabel": "Einsetzen", + "selectAllButtonLabel": "Alle auswählen" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_el.arb b/packages/flutter_localizations/lib/src/l10n/widgets_el.arb index 4524d9f98f..11d077ad30 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_el.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_el.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Μετακίνηση προς τα πάνω", "reorderItemDown": "Μετακίνηση προς τα κάτω", "reorderItemLeft": "Μετακίνηση αριστερά", - "reorderItemRight": "Μετακίνηση δεξιά" + "reorderItemRight": "Μετακίνηση δεξιά", + "copyButtonLabel": "Αντιγραφή", + "cutButtonLabel": "Αποκοπή", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Αναζήτηση στον ιστό", + "shareButtonLabel": "Κοινή χρήση", + "pasteButtonLabel": "Επικόλληση", + "selectAllButtonLabel": "Επιλογή όλων" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en.arb index dd2ffb0330..f23acd3830 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en.arb @@ -1,31 +1,28 @@ { "reorderItemToStart": "Move to the start", - "@reorderItemToStart": { - "description": "The audio announcement to move an item in a Reorderable List to the start of the list." - }, - + "@reorderItemToStart": {"description":"The audio announcement to move an item in a Reorderable List to the start of the list."}, "reorderItemToEnd": "Move to the end", - "@reorderItemToEnd": { - "description": "The audio announcement to move an item in a Reorderable List to the end of the list." - }, - + "@reorderItemToEnd": {"description":"The audio announcement to move an item in a Reorderable List to the end of the list."}, "reorderItemUp": "Move up", - "@reorderItemUp": { - "description": "The audio announcement to move an item in a Reorderable List up in the list when it is oriented vertically." - }, - + "@reorderItemUp": {"description":"The audio announcement to move an item in a Reorderable List up in the list when it is oriented vertically."}, "reorderItemDown": "Move down", - "@reorderItemDown": { - "description": "The audio announcement to move an item in a Reorderable List down in the list when it is oriented vertically." - }, - + "@reorderItemDown": {"description":"The audio announcement to move an item in a Reorderable List down in the list when it is oriented vertically."}, "reorderItemLeft": "Move left", - "@reorderItemLeft": { - "description": "The audio announcement to move an item in a Reorderable List left in the list when it is oriented horizontally." - }, - + "@reorderItemLeft": {"description":"The audio announcement to move an item in a Reorderable List left in the list when it is oriented horizontally."}, "reorderItemRight": "Move right", - "@reorderItemRight": { - "description": "The audio announcement to move an item in a Reorderable List right in the list when it is oriented horizontally." - } + "@reorderItemRight": {"description":"The audio announcement to move an item in a Reorderable List right in the list when it is oriented horizontally."}, + "copyButtonLabel": "Copy", + "@copyButtonLabel": {"description":"The label for copy buttons and menu items."}, + "cutButtonLabel": "Cut", + "@cutButtonLabel": {"description":"The label for cut buttons and menu items."}, + "lookUpButtonLabel": "Look Up", + "@lookUpButtonLabel": {"description":"The label for the Look Up button and menu items."}, + "searchWebButtonLabel": "Search Web", + "@searchWebButtonLabel": {"description":"The label for the Search Web button and menu items."}, + "shareButtonLabel": "Share", + "@shareButtonLabel": {"description":"The label for the Share button and menu items."}, + "pasteButtonLabel": "Paste", + "@pasteButtonLabel": {"description":"The label for paste buttons and menu items."}, + "selectAllButtonLabel": "Select all", + "@selectAllButtonLabel": {"description":"The label for select-all buttons and menu items."} } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_AU.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_AU.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_AU.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_AU.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_CA.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_CA.arb index 4037aff71a..3e8ec66f41 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_CA.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_CA.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_GB.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_GB.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_GB.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_GB.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_IE.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_IE.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_IE.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_IE.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_IN.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_IN.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_IN.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_IN.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_NZ.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_NZ.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_NZ.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_NZ.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_SG.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_SG.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_SG.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_SG.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en_ZA.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en_ZA.arb index 4037aff71a..081fb500a1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en_ZA.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en_ZA.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move to the left", - "reorderItemRight": "Move to the right" + "reorderItemRight": "Move to the right", + "copyButtonLabel": "Copy", + "cutButtonLabel": "Cut", + "lookUpButtonLabel": "Look up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share", + "pasteButtonLabel": "Paste", + "selectAllButtonLabel": "Select all" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es.arb index 1b46336e9d..63a2b15006 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover hacia arriba", "reorderItemDown": "Mover hacia abajo", "reorderItemLeft": "Mover hacia la izquierda", - "reorderItemRight": "Mover hacia la derecha" + "reorderItemRight": "Mover hacia la derecha", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Buscador visual", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_419.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_419.arb index 114501b99a..6bc8125245 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_419.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_419.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover hacia arriba", "reorderItemDown": "Mover hacia abajo", "reorderItemLeft": "Mover hacia la izquierda", - "reorderItemRight": "Mover hacia la derecha" + "reorderItemRight": "Mover hacia la derecha", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_AR.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_AR.arb index 114501b99a..6bc8125245 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_AR.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_AR.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover hacia arriba", "reorderItemDown": "Mover hacia abajo", "reorderItemLeft": "Mover hacia la izquierda", - "reorderItemRight": "Mover hacia la derecha" + "reorderItemRight": "Mover hacia la derecha", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_BO.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_BO.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_BO.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_BO.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_CL.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_CL.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_CL.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_CL.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_CO.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_CO.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_CO.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_CO.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_CR.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_CR.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_CR.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_CR.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_DO.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_DO.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_DO.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_DO.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_EC.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_EC.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_EC.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_EC.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_GT.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_GT.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_GT.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_GT.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_HN.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_HN.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_HN.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_HN.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_MX.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_MX.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_MX.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_MX.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_NI.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_NI.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_NI.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_NI.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_PA.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_PA.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_PA.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_PA.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_PE.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_PE.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_PE.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_PE.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_PR.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_PR.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_PR.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_PR.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_PY.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_PY.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_PY.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_PY.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_SV.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_SV.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_SV.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_SV.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_US.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_US.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_US.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_US.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_UY.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_UY.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_UY.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_UY.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es_VE.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es_VE.arb index dbd2ef15a7..20a63bdd91 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es_VE.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es_VE.arb @@ -4,5 +4,12 @@ "reorderItemToEnd": "Mover al final", "reorderItemRight": "Mover hacia la derecha", "reorderItemUp": "Mover hacia arriba", - "reorderItemToStart": "Mover al inicio" + "reorderItemToStart": "Mover al inicio", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar hacia arriba", + "searchWebButtonLabel": "Buscar en la Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_et.arb b/packages/flutter_localizations/lib/src/l10n/widgets_et.arb index 0bd4f69f3e..6ddd8a681d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_et.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_et.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Teisalda üles", "reorderItemDown": "Teisalda alla", "reorderItemLeft": "Teisalda vasakule", - "reorderItemRight": "Teisalda paremale" + "reorderItemRight": "Teisalda paremale", + "copyButtonLabel": "Kopeeri", + "cutButtonLabel": "Lõika", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Otsi veebist", + "shareButtonLabel": "Jagamine", + "pasteButtonLabel": "Kleebi", + "selectAllButtonLabel": "Vali kõik" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb index 046d85f1b7..a6f2bf5c53 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Eraman gora", "reorderItemDown": "Eraman behera", "reorderItemLeft": "Eraman ezkerrera", - "reorderItemRight": "Eraman eskuinera" + "reorderItemRight": "Eraman eskuinera", + "copyButtonLabel": "Kopiatu", + "cutButtonLabel": "Ebaki", + "lookUpButtonLabel": "Bilatu", + "searchWebButtonLabel": "Bilatu sarean", + "shareButtonLabel": "Partekatu", + "pasteButtonLabel": "Itsatsi", + "selectAllButtonLabel": "Hautatu guztiak" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb index fe52249e61..f73d1f66fd 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb @@ -4,5 +4,12 @@ "reorderItemUp": "انتقال به بالا", "reorderItemDown": "انتقال به پایین", "reorderItemLeft": "انتقال به راست", - "reorderItemRight": "انتقال به چپ" + "reorderItemRight": "انتقال به چپ", + "copyButtonLabel": "کپی", + "cutButtonLabel": "برش", + "lookUpButtonLabel": "جستجو", + "searchWebButtonLabel": "جستجو در وب", + "shareButtonLabel": "هم‌رسانی کردن", + "pasteButtonLabel": "جای‌گذاری", + "selectAllButtonLabel": "انتخاب همه" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb index 5d4c6c34a6..ea8f1b50de 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Siirrä ylös", "reorderItemDown": "Siirrä alas", "reorderItemLeft": "Siirrä vasemmalle", - "reorderItemRight": "Siirrä oikealle" + "reorderItemRight": "Siirrä oikealle", + "copyButtonLabel": "Kopioi", + "cutButtonLabel": "Leikkaa", + "lookUpButtonLabel": "Hae", + "searchWebButtonLabel": "Hae verkosta", + "shareButtonLabel": "Jaa", + "pasteButtonLabel": "Liitä", + "selectAllButtonLabel": "Valitse kaikki" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb index 608483ef2f..b566bb5e3b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Ilipat pataas", "reorderItemDown": "Ilipat pababa", "reorderItemLeft": "Ilipat pakaliwa", - "reorderItemRight": "Ilipat pakanan" + "reorderItemRight": "Ilipat pakanan", + "copyButtonLabel": "Kopyahin", + "cutButtonLabel": "I-cut", + "lookUpButtonLabel": "Tumingin sa Itaas", + "searchWebButtonLabel": "Maghanap sa Web", + "shareButtonLabel": "I-share", + "pasteButtonLabel": "I-paste", + "selectAllButtonLabel": "Piliin lahat" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb index 6b87c99d51..8c656b3579 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Déplacer vers le haut", "reorderItemDown": "Déplacer vers le bas", "reorderItemLeft": "Déplacer vers la gauche", - "reorderItemRight": "Déplacer vers la droite" + "reorderItemRight": "Déplacer vers la droite", + "copyButtonLabel": "Copier", + "cutButtonLabel": "Couper", + "lookUpButtonLabel": "Recherche visuelle", + "searchWebButtonLabel": "Rechercher sur le Web", + "shareButtonLabel": "Partager", + "pasteButtonLabel": "Coller", + "selectAllButtonLabel": "Tout sélectionner" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fr_CA.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fr_CA.arb index d9d27d99cf..a4ba5f9360 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fr_CA.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fr_CA.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Déplacer vers le haut", "reorderItemDown": "Déplacer vers le bas", "reorderItemLeft": "Déplacer vers la gauche", - "reorderItemRight": "Déplacer vers la droite" + "reorderItemRight": "Déplacer vers la droite", + "copyButtonLabel": "Copier", + "cutButtonLabel": "Couper", + "lookUpButtonLabel": "Regarder en haut", + "searchWebButtonLabel": "Rechercher sur le Web", + "shareButtonLabel": "Partager", + "pasteButtonLabel": "Coller", + "selectAllButtonLabel": "Tout sélectionner" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb index 741027ae6e..286051df4e 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover cara arriba", "reorderItemDown": "Mover cara abaixo", "reorderItemLeft": "Mover cara á esquerda", - "reorderItemRight": "Mover cara á dereita" + "reorderItemRight": "Mover cara á dereita", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Mirar cara arriba", + "searchWebButtonLabel": "Buscar na Web", + "shareButtonLabel": "Compartir", + "pasteButtonLabel": "Pegar", + "selectAllButtonLabel": "Seleccionar todo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb index 38bef02097..add0d1b7e7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Nach oben verschieben", "reorderItemDown": "Nach unten verschieben", "reorderItemLeft": "Nach links verschieben", - "reorderItemRight": "Nach rechts verschieben" + "reorderItemRight": "Nach rechts verschieben", + "copyButtonLabel": "Kopieren", + "cutButtonLabel": "Ausschneiden", + "lookUpButtonLabel": "Nachschlagen", + "searchWebButtonLabel": "Im Web suchen", + "shareButtonLabel": "Teilen", + "pasteButtonLabel": "Einsetzen", + "selectAllButtonLabel": "Alle auswählen" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb index 9d609c69bf..a6adb2d5b8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ઉપર ખસેડો", "reorderItemDown": "નીચે ખસેડો", "reorderItemLeft": "ડાબે ખસેડો", - "reorderItemRight": "જમણે ખસેડો" + "reorderItemRight": "જમણે ખસેડો", + "copyButtonLabel": "કૉપિ કરો", + "cutButtonLabel": "કાપો", + "lookUpButtonLabel": "શોધો", + "searchWebButtonLabel": "વેબ પર શોધો", + "shareButtonLabel": "શેર કરો", + "pasteButtonLabel": "પેસ્ટ કરો", + "selectAllButtonLabel": "બધા પસંદ કરો" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_he.arb b/packages/flutter_localizations/lib/src/l10n/widgets_he.arb index f98c2839cc..c3dcd5becc 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_he.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_he.arb @@ -4,5 +4,12 @@ "reorderItemUp": "העברה למעלה", "reorderItemDown": "העברה למטה", "reorderItemLeft": "העברה שמאלה", - "reorderItemRight": "העברה ימינה" + "reorderItemRight": "העברה ימינה", + "copyButtonLabel": "העתקה", + "cutButtonLabel": "גזירה", + "lookUpButtonLabel": "חיפוש", + "searchWebButtonLabel": "חיפוש באינטרנט", + "shareButtonLabel": "שיתוף", + "pasteButtonLabel": "הדבקה", + "selectAllButtonLabel": "בחירת הכול" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb index a8c126b8c7..756909a1cd 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ऊपर ले जाएं", "reorderItemDown": "नीचे ले जाएं", "reorderItemLeft": "बाएं ले जाएं", - "reorderItemRight": "दाएं ले जाएं" + "reorderItemRight": "दाएं ले जाएं", + "copyButtonLabel": "कॉपी करें", + "cutButtonLabel": "काटें", + "lookUpButtonLabel": "लुक अप बटन", + "searchWebButtonLabel": "वेब पर खोजें", + "shareButtonLabel": "शेयर करें", + "pasteButtonLabel": "चिपकाएं", + "selectAllButtonLabel": "सभी को चुनें" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb index 8595b32b96..a8a229fa5b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Pomakni prema gore", "reorderItemDown": "Pomakni prema dolje", "reorderItemLeft": "Pomakni ulijevo", - "reorderItemRight": "Pomakni udesno" + "reorderItemRight": "Pomakni udesno", + "copyButtonLabel": "Kopiraj", + "cutButtonLabel": "Izreži", + "lookUpButtonLabel": "Pogled prema gore", + "searchWebButtonLabel": "Pretraži web", + "shareButtonLabel": "Dijeli", + "pasteButtonLabel": "Zalijepi", + "selectAllButtonLabel": "Odaberi sve" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb index 2ad1b0d3d6..3509d742f5 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Áthelyezés felfelé", "reorderItemDown": "Áthelyezés lefelé", "reorderItemLeft": "Áthelyezés balra", - "reorderItemRight": "Áthelyezés jobbra" + "reorderItemRight": "Áthelyezés jobbra", + "copyButtonLabel": "Másolás", + "cutButtonLabel": "Kivágás", + "lookUpButtonLabel": "Felfelé nézés", + "searchWebButtonLabel": "Keresés az interneten", + "shareButtonLabel": "Megosztás", + "pasteButtonLabel": "Beillesztés", + "selectAllButtonLabel": "Összes kijelölése" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb index d2b44d4224..0128ee1149 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Տեղափոխել վերև", "reorderItemDown": "Տեղափոխել ներքև", "reorderItemLeft": "Տեղափոխել ձախ", - "reorderItemRight": "Տեղափոխել աջ" + "reorderItemRight": "Տեղափոխել աջ", + "copyButtonLabel": "Պատճենել", + "cutButtonLabel": "Կտրել", + "lookUpButtonLabel": "Փնտրել", + "searchWebButtonLabel": "Որոնել համացանցում", + "shareButtonLabel": "Կիսվել", + "pasteButtonLabel": "Տեղադրել", + "selectAllButtonLabel": "Նշել բոլորը" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_id.arb b/packages/flutter_localizations/lib/src/l10n/widgets_id.arb index 60c7cc229e..a43523bb22 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_id.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_id.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Naikkan", "reorderItemDown": "Turunkan", "reorderItemLeft": "Pindahkan ke kiri", - "reorderItemRight": "Pindahkan ke kanan" + "reorderItemRight": "Pindahkan ke kanan", + "copyButtonLabel": "Salin", + "cutButtonLabel": "Potong", + "lookUpButtonLabel": "Cari", + "searchWebButtonLabel": "Telusuri di Web", + "shareButtonLabel": "Bagikan", + "pasteButtonLabel": "Tempel", + "selectAllButtonLabel": "Pilih semua" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_is.arb b/packages/flutter_localizations/lib/src/l10n/widgets_is.arb index 04a0cf30cd..a85afe02a7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_is.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_is.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Færa upp", "reorderItemDown": "Færa niður", "reorderItemLeft": "Færa til vinstri", - "reorderItemRight": "Færa til hægri" + "reorderItemRight": "Færa til hægri", + "copyButtonLabel": "Afrita", + "cutButtonLabel": "Klippa", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Leita á vefnum", + "shareButtonLabel": "Deila", + "pasteButtonLabel": "Líma", + "selectAllButtonLabel": "Velja allt" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_it.arb b/packages/flutter_localizations/lib/src/l10n/widgets_it.arb index a7fc24a12f..5e6235218e 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_it.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_it.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Sposta su", "reorderItemDown": "Sposta giù", "reorderItemLeft": "Sposta a sinistra", - "reorderItemRight": "Sposta a destra" + "reorderItemRight": "Sposta a destra", + "copyButtonLabel": "Copia", + "cutButtonLabel": "Taglia", + "lookUpButtonLabel": "Cerca", + "searchWebButtonLabel": "Cerca sul web", + "shareButtonLabel": "Condividi", + "pasteButtonLabel": "Incolla", + "selectAllButtonLabel": "Seleziona tutto" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb index 0a933c7ad0..640ce147e7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb @@ -4,5 +4,12 @@ "reorderItemUp": "上に移動", "reorderItemDown": "下に移動", "reorderItemLeft": "左に移動", - "reorderItemRight": "右に移動" + "reorderItemRight": "右に移動", + "copyButtonLabel": "コピー", + "cutButtonLabel": "切り取り", + "lookUpButtonLabel": "調べる", + "searchWebButtonLabel": "ウェブを検索", + "shareButtonLabel": "共有", + "pasteButtonLabel": "貼り付け", + "selectAllButtonLabel": "すべてを選択" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb index 7c65a388fa..e48f53fdf5 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ზემოთ გადატანა", "reorderItemDown": "ქვემოთ გადატანა", "reorderItemLeft": "მარცხნივ გადატანა", - "reorderItemRight": "მარჯვნივ გადატანა" + "reorderItemRight": "მარჯვნივ გადატანა", + "copyButtonLabel": "კოპირება", + "cutButtonLabel": "ამოჭრა", + "lookUpButtonLabel": "აიხედეთ ზემოთ", + "searchWebButtonLabel": "ვებში ძიება", + "shareButtonLabel": "გაზიარება", + "pasteButtonLabel": "ჩასმა", + "selectAllButtonLabel": "ყველას არჩევა" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb index c7c1f22bc9..86b6636f4a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Жоғарыға жылжыту", "reorderItemDown": "Төменге жылжыту", "reorderItemLeft": "Солға жылжыту", - "reorderItemRight": "Оңға жылжыту" + "reorderItemRight": "Оңға жылжыту", + "copyButtonLabel": "Көшіру", + "cutButtonLabel": "Қию", + "lookUpButtonLabel": "Іздеу", + "searchWebButtonLabel": "Интернеттен іздеу", + "shareButtonLabel": "Бөлісу", + "pasteButtonLabel": "Қою", + "selectAllButtonLabel": "Барлығын таңдау" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_km.arb b/packages/flutter_localizations/lib/src/l10n/widgets_km.arb index 1dc2768471..90468610ea 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_km.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_km.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ផ្លាស់ទី​ឡើង​លើ", "reorderItemDown": "ផ្លាស់ទី​ចុះ​ក្រោម", "reorderItemLeft": "ផ្លាស់ទី​ទៅ​ឆ្វេង", - "reorderItemRight": "ផ្លាស់ទីទៅ​ស្តាំ" + "reorderItemRight": "ផ្លាស់ទីទៅ​ស្តាំ", + "copyButtonLabel": "ចម្លង", + "cutButtonLabel": "កាត់", + "lookUpButtonLabel": "រកមើល", + "searchWebButtonLabel": "ស្វែងរក​លើបណ្ដាញ", + "shareButtonLabel": "ចែករំលែក", + "pasteButtonLabel": "ដាក់​ចូល", + "selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb index 53da37345b..e0639b1ba5 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb @@ -4,5 +4,12 @@ "reorderItemUp": "\u0cae\u0cc7\u0cb2\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf", "reorderItemDown": "\u0c95\u0cc6\u0cb3\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf", "reorderItemLeft": "\u0c8e\u0ca1\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf", - "reorderItemRight": "\u0cac\u0cb2\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf" + "reorderItemRight": "\u0cac\u0cb2\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf", + "copyButtonLabel": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf", + "cutButtonLabel": "\u0c95\u0ca4\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf", + "lookUpButtonLabel": "\u0cae\u0cc7\u0cb2\u0cc6\u0020\u0ca8\u0ccb\u0ca1\u0cbf", + "searchWebButtonLabel": "\u0cb5\u0cc6\u0cac\u0ccd\u200c\u0ca8\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf", + "shareButtonLabel": "\u0cb9\u0c82\u0c9a\u0cbf\u0c95\u0cca\u0cb3\u0ccd\u0cb3\u0cbf", + "pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf", + "selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cbf" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb index 926dd58f34..50c89e8f68 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb @@ -4,5 +4,12 @@ "reorderItemUp": "위로 이동", "reorderItemDown": "아래로 이동", "reorderItemLeft": "왼쪽으로 이동", - "reorderItemRight": "오른쪽으로 이동" + "reorderItemRight": "오른쪽으로 이동", + "copyButtonLabel": "복사", + "cutButtonLabel": "잘라내기", + "lookUpButtonLabel": "찾기", + "searchWebButtonLabel": "웹 검색", + "shareButtonLabel": "공유", + "pasteButtonLabel": "붙여넣기", + "selectAllButtonLabel": "전체 선택" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb index 577c0a7093..22c168d49c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Жогору жылдыруу", "reorderItemDown": "Төмөн жылдыруу", "reorderItemLeft": "Солго жылдыруу", - "reorderItemRight": "Оңго жылдыруу" + "reorderItemRight": "Оңго жылдыруу", + "copyButtonLabel": "Көчүрүү", + "cutButtonLabel": "Кесүү", + "lookUpButtonLabel": "Издөө", + "searchWebButtonLabel": "Интернеттен издөө", + "shareButtonLabel": "Бөлүшүү", + "pasteButtonLabel": "Чаптоо", + "selectAllButtonLabel": "Баарын тандоо" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb index c450e1f5c1..7ae02a9528 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ຍ້າຍຂຶ້ນ", "reorderItemDown": "ຍ້າຍລົງ", "reorderItemLeft": "ຍ້າຍໄປຊ້າຍ", - "reorderItemRight": "ຍ້າຍໄປຂວາ" + "reorderItemRight": "ຍ້າຍໄປຂວາ", + "copyButtonLabel": "ສຳເນົາ", + "cutButtonLabel": "ຕັດ", + "lookUpButtonLabel": "ຊອກຫາຂໍ້ມູນ", + "searchWebButtonLabel": "ຊອກຫາຢູ່ອິນເຕີເນັດ", + "shareButtonLabel": "ແບ່ງປັນ", + "pasteButtonLabel": "ວາງ", + "selectAllButtonLabel": "ເລືອກທັງໝົດ" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb index 554227dc86..79c5aecc7c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Perkelti aukštyn", "reorderItemDown": "Perkelti žemyn", "reorderItemLeft": "Perkelti kairėn", - "reorderItemRight": "Perkelti dešinėn" + "reorderItemRight": "Perkelti dešinėn", + "copyButtonLabel": "Kopijuoti", + "cutButtonLabel": "Iškirpti", + "lookUpButtonLabel": "Ieškoti", + "searchWebButtonLabel": "Ieškoti žiniatinklyje", + "shareButtonLabel": "Bendrinti", + "pasteButtonLabel": "Įklijuoti", + "selectAllButtonLabel": "Pasirinkti viską" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb index eefc6a4d45..f0fba2f7cd 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Pārvietot uz augšu", "reorderItemDown": "Pārvietot uz leju", "reorderItemLeft": "Pārvietot pa kreisi", - "reorderItemRight": "Pārvietot pa labi" + "reorderItemRight": "Pārvietot pa labi", + "copyButtonLabel": "Kopēt", + "cutButtonLabel": "Izgriezt", + "lookUpButtonLabel": "Meklēt", + "searchWebButtonLabel": "Meklēt tīmeklī", + "shareButtonLabel": "Kopīgot", + "pasteButtonLabel": "Ielīmēt", + "selectAllButtonLabel": "Atlasīt visu" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb index 68fe7f00f5..1964b6fd29 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Преместете нагоре", "reorderItemDown": "Преместете надолу", "reorderItemLeft": "Преместете налево", - "reorderItemRight": "Преместете надесно" + "reorderItemRight": "Преместете надесно", + "copyButtonLabel": "Копирај", + "cutButtonLabel": "Исечи", + "lookUpButtonLabel": "Погледнете нагоре", + "searchWebButtonLabel": "Пребарајте на интернет", + "shareButtonLabel": "Сподели", + "pasteButtonLabel": "Залепи", + "selectAllButtonLabel": "Избери ги сите" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb index 206fa5fdf6..46aef59615 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb @@ -4,5 +4,12 @@ "reorderItemUp": "മുകളിലോട്ട് നീക്കുക", "reorderItemDown": "താഴോട്ട് നീക്കുക", "reorderItemLeft": "ഇടത്തോട്ട് നീക്കുക", - "reorderItemRight": "വലത്തോട്ട് നീക്കുക" + "reorderItemRight": "വലത്തോട്ട് നീക്കുക", + "copyButtonLabel": "പകർത്തുക", + "cutButtonLabel": "മുറിക്കുക", + "lookUpButtonLabel": "മുകളിലേക്ക് നോക്കുക", + "searchWebButtonLabel": "വെബിൽ തിരയുക", + "shareButtonLabel": "പങ്കിടുക", + "pasteButtonLabel": "ഒട്ടിക്കുക", + "selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb index 93dd8b0b4d..8003eaad83 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Дээш зөөх", "reorderItemDown": "Доош зөөх", "reorderItemLeft": "Зүүн тийш зөөх", - "reorderItemRight": "Баруун тийш зөөх" + "reorderItemRight": "Баруун тийш зөөх", + "copyButtonLabel": "Хуулах", + "cutButtonLabel": "Таслах", + "lookUpButtonLabel": "Дээшээ харах", + "searchWebButtonLabel": "Вебээс хайх", + "shareButtonLabel": "Хуваалцах", + "pasteButtonLabel": "Буулгах", + "selectAllButtonLabel": "Бүгдийг сонгох" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb index 48ab72ffe9..3c131890c9 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb @@ -4,5 +4,12 @@ "reorderItemUp": "वर हलवा", "reorderItemDown": "खाली हलवा", "reorderItemLeft": "डावीकडे हलवा", - "reorderItemRight": "उजवीकडे हलवा" + "reorderItemRight": "उजवीकडे हलवा", + "copyButtonLabel": "कॉपी करा", + "cutButtonLabel": "कट करा", + "lookUpButtonLabel": "शोध घ्या", + "searchWebButtonLabel": "वेबवर शोधा", + "shareButtonLabel": "शेअर करा", + "pasteButtonLabel": "पेस्ट करा", + "selectAllButtonLabel": "सर्व निवडा" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb index eff622378e..c852d61a9d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Alih ke atas", "reorderItemDown": "Alih ke bawah", "reorderItemLeft": "Alih ke kiri", - "reorderItemRight": "Alih ke kanan" + "reorderItemRight": "Alih ke kanan", + "copyButtonLabel": "Salin", + "cutButtonLabel": "Potong", + "lookUpButtonLabel": "Lihat ke Atas", + "searchWebButtonLabel": "Buat carian pada Web", + "shareButtonLabel": "Kongsi", + "pasteButtonLabel": "Tampal", + "selectAllButtonLabel": "Pilih semua" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_my.arb b/packages/flutter_localizations/lib/src/l10n/widgets_my.arb index 7a6e3dd784..e5cac86a8f 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_my.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_my.arb @@ -4,5 +4,12 @@ "reorderItemUp": "အပေါ်သို့ ရွှေ့ရန်", "reorderItemDown": "အောက်သို့ရွှေ့ရန်", "reorderItemLeft": "ဘယ်ဘက်သို့ရွှေ့ရန်", - "reorderItemRight": "ညာဘက်သို့ရွှေ့ရန်" + "reorderItemRight": "ညာဘက်သို့ရွှေ့ရန်", + "copyButtonLabel": "မိတ္တူကူးရန်", + "cutButtonLabel": "ဖြတ်ယူရန်", + "lookUpButtonLabel": "အပေါ်ကြည့်ရန်", + "searchWebButtonLabel": "ဝဘ်တွင်ရှာရန်", + "shareButtonLabel": "မျှဝေရန်", + "pasteButtonLabel": "ကူးထည့်ရန်", + "selectAllButtonLabel": "အားလုံး ရွေးရန်" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb b/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb index 405cf2082a..4904ad168b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Flytt opp", "reorderItemDown": "Flytt ned", "reorderItemLeft": "Flytt til venstre", - "reorderItemRight": "Flytt til høyre" + "reorderItemRight": "Flytt til høyre", + "copyButtonLabel": "Kopiér", + "cutButtonLabel": "Klipp ut", + "lookUpButtonLabel": "Slå opp", + "searchWebButtonLabel": "Søk på nettet", + "shareButtonLabel": "Del", + "pasteButtonLabel": "Lim inn", + "selectAllButtonLabel": "Velg alle" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb index 8d4bcc52f3..62aa699ba6 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb @@ -4,5 +4,12 @@ "reorderItemUp": "माथि सार्नुहोस्", "reorderItemDown": "तल सार्नुहोस्", "reorderItemLeft": "बायाँ सार्नुहोस्", - "reorderItemRight": "दायाँ सार्नुहोस्" + "reorderItemRight": "दायाँ सार्नुहोस्", + "copyButtonLabel": "कपी गर्नुहोस्", + "cutButtonLabel": "काट्नुहोस्", + "lookUpButtonLabel": "माथितिर हेर्नुहोस्", + "searchWebButtonLabel": "वेबमा खोज्नुहोस्", + "shareButtonLabel": "सेयर गर्नुहोस्", + "pasteButtonLabel": "टाँस्नुहोस्", + "selectAllButtonLabel": "सबै बटनहरू चयन गर्नुहोस्" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb index 65aa2d6582..cbd8a91ff4 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Omhoog verplaatsen", "reorderItemDown": "Omlaag verplaatsen", "reorderItemLeft": "Naar links verplaatsen", - "reorderItemRight": "Naar rechts verplaatsen" + "reorderItemRight": "Naar rechts verplaatsen", + "copyButtonLabel": "Kopiëren", + "cutButtonLabel": "Knippen", + "lookUpButtonLabel": "Opzoeken", + "searchWebButtonLabel": "Op internet zoeken", + "shareButtonLabel": "Delen", + "pasteButtonLabel": "Plakken", + "selectAllButtonLabel": "Alles selecteren" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_no.arb b/packages/flutter_localizations/lib/src/l10n/widgets_no.arb index 405cf2082a..4904ad168b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_no.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_no.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Flytt opp", "reorderItemDown": "Flytt ned", "reorderItemLeft": "Flytt til venstre", - "reorderItemRight": "Flytt til høyre" + "reorderItemRight": "Flytt til høyre", + "copyButtonLabel": "Kopiér", + "cutButtonLabel": "Klipp ut", + "lookUpButtonLabel": "Slå opp", + "searchWebButtonLabel": "Søk på nettet", + "shareButtonLabel": "Del", + "pasteButtonLabel": "Lim inn", + "selectAllButtonLabel": "Velg alle" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_or.arb b/packages/flutter_localizations/lib/src/l10n/widgets_or.arb index 9a3d58cb6f..a0ab09fac4 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_or.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_or.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ଉପରକୁ ନିଅନ୍ତୁ", "reorderItemDown": "ତଳକୁ ଯାଆନ୍ତୁ", "reorderItemLeft": "ବାମକୁ ଯାଆନ୍ତୁ", - "reorderItemRight": "ଡାହାଣକୁ ଯାଆନ୍ତୁ" + "reorderItemRight": "ଡାହାଣକୁ ଯାଆନ୍ତୁ", + "copyButtonLabel": "କପି କରନ୍ତୁ", + "cutButtonLabel": "କଟ୍ କରନ୍ତୁ", + "lookUpButtonLabel": "ଉପରକୁ ଦେଖନ୍ତୁ", + "searchWebButtonLabel": "ୱେବ ସର୍ଚ୍ଚ କରନ୍ତୁ", + "shareButtonLabel": "ସେୟାର କରନ୍ତୁ", + "pasteButtonLabel": "ପେଷ୍ଟ କରନ୍ତୁ", + "selectAllButtonLabel": "ସବୁ ଚୟନ କରନ୍ତୁ" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb index 1b11c11e9a..4a58293306 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ਉੱਪਰ ਲਿਜਾਓ", "reorderItemDown": "ਹੇਠਾਂ ਲਿਜਾਓ", "reorderItemLeft": "ਖੱਬੇ ਲਿਜਾਓ", - "reorderItemRight": "ਸੱਜੇ ਲਿਜਾਓ" + "reorderItemRight": "ਸੱਜੇ ਲਿਜਾਓ", + "copyButtonLabel": "ਕਾਪੀ ਕਰੋ", + "cutButtonLabel": "ਕੱਟ ਕਰੋ", + "lookUpButtonLabel": "ਖੋਜੋ", + "searchWebButtonLabel": "ਵੈੱਬ 'ਤੇ ਖੋਜੋ", + "shareButtonLabel": "ਸਾਂਝਾ ਕਰੋ", + "pasteButtonLabel": "ਪੇਸਟ ਕਰੋ", + "selectAllButtonLabel": "ਸਭ ਚੁਣੋ" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb index 4b17e90e88..d4955bf836 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Przenieś w górę", "reorderItemDown": "Przenieś w dół", "reorderItemLeft": "Przenieś w lewo", - "reorderItemRight": "Przenieś w prawo" + "reorderItemRight": "Przenieś w prawo", + "copyButtonLabel": "Kopiuj", + "cutButtonLabel": "Wytnij", + "lookUpButtonLabel": "Sprawdź", + "searchWebButtonLabel": "Szukaj w internecie", + "shareButtonLabel": "Udostępnij", + "pasteButtonLabel": "Wklej", + "selectAllButtonLabel": "Zaznacz wszystko" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb index 4b8573c30c..a7ba79d5bb 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Move up", "reorderItemDown": "Move down", "reorderItemLeft": "Move left", - "reorderItemRight": "Move right" + "reorderItemRight": "Move right", + "copyButtonLabel": "کاپی", + "cutButtonLabel": "کم کړئ", + "lookUpButtonLabel": "Look Up", + "searchWebButtonLabel": "Search Web", + "shareButtonLabel": "Share...", + "pasteButtonLabel": "پیټ کړئ", + "selectAllButtonLabel": "غوره کړئ" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb index ed67774cee..114b613a1a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover para cima", "reorderItemDown": "Mover para baixo", "reorderItemLeft": "Mover para a esquerda", - "reorderItemRight": "Mover para a direita" + "reorderItemRight": "Mover para a direita", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Pesquisar", + "searchWebButtonLabel": "Pesquisar na Web", + "shareButtonLabel": "Compartilhar", + "pasteButtonLabel": "Colar", + "selectAllButtonLabel": "Selecionar tudo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pt_PT.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pt_PT.arb index 9d32f90bb0..9f21207cdb 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pt_PT.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pt_PT.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mover para cima", "reorderItemDown": "Mover para baixo", "reorderItemLeft": "Mover para a esquerda", - "reorderItemRight": "Mover para a direita" + "reorderItemRight": "Mover para a direita", + "copyButtonLabel": "Copiar", + "cutButtonLabel": "Cortar", + "lookUpButtonLabel": "Procurar", + "searchWebButtonLabel": "Pesquisar na Web", + "shareButtonLabel": "Partilhar", + "pasteButtonLabel": "Colar", + "selectAllButtonLabel": "Selecionar tudo" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb index 77acffae0a..b3c8194ffc 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Mutați în sus", "reorderItemDown": "Mutați în jos", "reorderItemLeft": "Mutați la stânga", - "reorderItemRight": "Mutați la dreapta" + "reorderItemRight": "Mutați la dreapta", + "copyButtonLabel": "Copiați", + "cutButtonLabel": "Decupați", + "lookUpButtonLabel": "Privire în sus", + "searchWebButtonLabel": "Căutați pe web", + "shareButtonLabel": "Trimiteți", + "pasteButtonLabel": "Inserați", + "selectAllButtonLabel": "Selectați tot" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb index 16968e7175..7db9d8302b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Переместить вверх", "reorderItemDown": "Переместить вниз", "reorderItemLeft": "Переместить влево", - "reorderItemRight": "Переместить вправо" + "reorderItemRight": "Переместить вправо", + "copyButtonLabel": "Копировать", + "cutButtonLabel": "Вырезать", + "lookUpButtonLabel": "Найти", + "searchWebButtonLabel": "Искать в интернете", + "shareButtonLabel": "Поделиться", + "pasteButtonLabel": "Вставить", + "selectAllButtonLabel": "Выбрать все" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_si.arb b/packages/flutter_localizations/lib/src/l10n/widgets_si.arb index f2e1dc6e7e..c7cc543f83 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_si.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_si.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ඉහළට ගෙන යන්න", "reorderItemDown": "පහළට ගෙන යන්න", "reorderItemLeft": "වමට ගෙන යන්න", - "reorderItemRight": "දකුණට ගෙන යන්න" + "reorderItemRight": "දකුණට ගෙන යන්න", + "copyButtonLabel": "පිටපත් කරන්න", + "cutButtonLabel": "කපන්න", + "lookUpButtonLabel": "උඩ බලන්න", + "searchWebButtonLabel": "වෙබය සොයන්න", + "shareButtonLabel": "බෙදා ගන්න", + "pasteButtonLabel": "අලවන්න", + "selectAllButtonLabel": "සියල්ල තෝරන්න" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb index 80e831b355..693c744f38 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Presunúť nahor", "reorderItemDown": "Presunúť nadol", "reorderItemLeft": "Presunúť doľava", - "reorderItemRight": "Presunúť doprava" + "reorderItemRight": "Presunúť doprava", + "copyButtonLabel": "Kopírovať", + "cutButtonLabel": "Vystrihnúť", + "lookUpButtonLabel": "Pohľad nahor", + "searchWebButtonLabel": "Hľadať na webe", + "shareButtonLabel": "Zdieľať", + "pasteButtonLabel": "Prilepiť", + "selectAllButtonLabel": "Vybrať všetko" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb index f56b769adb..9ba4978c89 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Premakni navzgor", "reorderItemDown": "Premakni navzdol", "reorderItemLeft": "Premakni levo", - "reorderItemRight": "Premakni desno" + "reorderItemRight": "Premakni desno", + "copyButtonLabel": "Kopiraj", + "cutButtonLabel": "Izreži", + "lookUpButtonLabel": "Pogled gor", + "searchWebButtonLabel": "Iskanje v spletu", + "shareButtonLabel": "Deli", + "pasteButtonLabel": "Prilepi", + "selectAllButtonLabel": "Izberi vse" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb index 2474ae8fba..d0696f8583 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Lëvize lart", "reorderItemDown": "Lëvize poshtë", "reorderItemLeft": "Lëvize majtas", - "reorderItemRight": "Lëvize djathtas" + "reorderItemRight": "Lëvize djathtas", + "copyButtonLabel": "Kopjo", + "cutButtonLabel": "Prit", + "lookUpButtonLabel": "Kërko", + "searchWebButtonLabel": "Kërko në ueb", + "shareButtonLabel": "Ndaj", + "pasteButtonLabel": "Ngjit", + "selectAllButtonLabel": "Zgjidh të gjitha" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb index 43d88848b9..c73af4e8ee 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Померите нагоре", "reorderItemDown": "Померите надоле", "reorderItemLeft": "Померите улево", - "reorderItemRight": "Померите удесно" + "reorderItemRight": "Померите удесно", + "copyButtonLabel": "Копирај", + "cutButtonLabel": "Исеци", + "lookUpButtonLabel": "Поглед нагоре", + "searchWebButtonLabel": "Претражи веб", + "shareButtonLabel": "Дели", + "pasteButtonLabel": "Налепи", + "selectAllButtonLabel": "Изабери све" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sr_Latn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sr_Latn.arb index 8bfe5c110b..cbc6a97a79 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sr_Latn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sr_Latn.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Pomerite nagore", "reorderItemDown": "Pomerite nadole", "reorderItemLeft": "Pomerite ulevo", - "reorderItemRight": "Pomerite udesno" + "reorderItemRight": "Pomerite udesno", + "copyButtonLabel": "Kopiraj", + "cutButtonLabel": "Iseci", + "lookUpButtonLabel": "Pogled nagore", + "searchWebButtonLabel": "Pretraži veb", + "shareButtonLabel": "Deli", + "pasteButtonLabel": "Nalepi", + "selectAllButtonLabel": "Izaberi sve" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb index 1135e2dcb2..d2413b6a90 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Flytta uppåt", "reorderItemDown": "Flytta nedåt", "reorderItemLeft": "Flytta åt vänster", - "reorderItemRight": "Flytta åt höger" + "reorderItemRight": "Flytta åt höger", + "copyButtonLabel": "Kopiera", + "cutButtonLabel": "Klipp ut", + "lookUpButtonLabel": "Titta upp", + "searchWebButtonLabel": "Sök på webben", + "shareButtonLabel": "Dela", + "pasteButtonLabel": "Klistra in", + "selectAllButtonLabel": "Markera allt" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb index 72d467bb34..39768d24aa 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Sogeza juu", "reorderItemDown": "Sogeza chini", "reorderItemLeft": "Sogeza kushoto", - "reorderItemRight": "Sogeza kulia" + "reorderItemRight": "Sogeza kulia", + "copyButtonLabel": "Nakili", + "cutButtonLabel": "Kata", + "lookUpButtonLabel": "Tafuta", + "searchWebButtonLabel": "Tafuta kwenye Wavuti", + "shareButtonLabel": "Tuma", + "pasteButtonLabel": "Bandika", + "selectAllButtonLabel": "Chagua vyote" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb index d9a3767721..95938d222d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb @@ -4,5 +4,12 @@ "reorderItemUp": "மேலே நகர்த்தவும்", "reorderItemDown": "கீழே நகர்த்தவும்", "reorderItemLeft": "இடப்புறம் நகர்த்தவும்", - "reorderItemRight": "வலப்புறம் நகர்த்தவும்" + "reorderItemRight": "வலப்புறம் நகர்த்தவும்", + "copyButtonLabel": "நகலெடு", + "cutButtonLabel": "வெட்டு", + "lookUpButtonLabel": "தேடு", + "searchWebButtonLabel": "இணையத்தில் தேடு", + "shareButtonLabel": "பகிர்", + "pasteButtonLabel": "ஒட்டு", + "selectAllButtonLabel": "அனைத்தையும் தேர்ந்தெடு" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_te.arb b/packages/flutter_localizations/lib/src/l10n/widgets_te.arb index cb1cfcd32c..407f592c39 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_te.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_te.arb @@ -4,5 +4,12 @@ "reorderItemUp": "పైకి జరపండి", "reorderItemDown": "కిందికు జరుపు", "reorderItemLeft": "ఎడమవైపుగా జరపండి", - "reorderItemRight": "కుడివైపుగా జరపండి" + "reorderItemRight": "కుడివైపుగా జరపండి", + "copyButtonLabel": "కాపీ చేయి", + "cutButtonLabel": "కత్తిరించండి", + "lookUpButtonLabel": "వెతకండి", + "searchWebButtonLabel": "వెబ్‌లో సెర్చ్ చేయండి", + "shareButtonLabel": "షేర్ చేయండి", + "pasteButtonLabel": "పేస్ట్ చేయండి", + "selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_th.arb b/packages/flutter_localizations/lib/src/l10n/widgets_th.arb index 36122c6277..e9236b5064 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_th.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_th.arb @@ -4,5 +4,12 @@ "reorderItemUp": "ย้ายขึ้น", "reorderItemDown": "ย้ายลง", "reorderItemLeft": "ย้ายไปทางซ้าย", - "reorderItemRight": "ย้ายไปทางขวา" + "reorderItemRight": "ย้ายไปทางขวา", + "copyButtonLabel": "คัดลอก", + "cutButtonLabel": "ตัด", + "lookUpButtonLabel": "ค้นหา", + "searchWebButtonLabel": "ค้นหาบนอินเทอร์เน็ต", + "shareButtonLabel": "แชร์", + "pasteButtonLabel": "วาง", + "selectAllButtonLabel": "เลือกทั้งหมด" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb index 608483ef2f..b566bb5e3b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Ilipat pataas", "reorderItemDown": "Ilipat pababa", "reorderItemLeft": "Ilipat pakaliwa", - "reorderItemRight": "Ilipat pakanan" + "reorderItemRight": "Ilipat pakanan", + "copyButtonLabel": "Kopyahin", + "cutButtonLabel": "I-cut", + "lookUpButtonLabel": "Tumingin sa Itaas", + "searchWebButtonLabel": "Maghanap sa Web", + "shareButtonLabel": "I-share", + "pasteButtonLabel": "I-paste", + "selectAllButtonLabel": "Piliin lahat" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb index 05dc2b4cd0..ffa7f72fb7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Yukarı taşı", "reorderItemDown": "Aşağı taşı", "reorderItemLeft": "Sola taşı", - "reorderItemRight": "Sağa taşı" + "reorderItemRight": "Sağa taşı", + "copyButtonLabel": "Kopyala", + "cutButtonLabel": "Kes", + "lookUpButtonLabel": "Ara", + "searchWebButtonLabel": "Web'de Ara", + "shareButtonLabel": "Paylaş", + "pasteButtonLabel": "Yapıştır", + "selectAllButtonLabel": "Tümünü seç" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb index 32ab00882b..9a7d59b756 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Перемістити вгору", "reorderItemDown": "Перемістити вниз", "reorderItemLeft": "Перемістити ліворуч", - "reorderItemRight": "Перемістити праворуч" + "reorderItemRight": "Перемістити праворуч", + "copyButtonLabel": "Копіювати", + "cutButtonLabel": "Вирізати", + "lookUpButtonLabel": "Шукати", + "searchWebButtonLabel": "Пошук в Інтернеті", + "shareButtonLabel": "Поділитися", + "pasteButtonLabel": "Вставити", + "selectAllButtonLabel": "Вибрати всі" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb index 6201cbbb30..e7bae3b02d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb @@ -4,5 +4,12 @@ "reorderItemUp": "اوپر منتقل کریں", "reorderItemDown": "نیچے منتقل کریں", "reorderItemLeft": "بائیں منتقل کریں", - "reorderItemRight": "دائیں منتقل کریں" + "reorderItemRight": "دائیں منتقل کریں", + "copyButtonLabel": "کاپی کریں", + "cutButtonLabel": "کٹ کریں", + "lookUpButtonLabel": "تفصیل دیکھیں", + "searchWebButtonLabel": "ویب تلاش کریں", + "shareButtonLabel": "اشتراک کریں", + "pasteButtonLabel": "پیسٹ کریں", + "selectAllButtonLabel": "سبھی کو منتخب کریں" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb b/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb index 56e1f7f943..5a31460558 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Tepaga siljitish", "reorderItemDown": "Pastga siljitish", "reorderItemLeft": "Chapga siljitish", - "reorderItemRight": "Oʻngga siljitish" + "reorderItemRight": "Oʻngga siljitish", + "copyButtonLabel": "Nusxa olish", + "cutButtonLabel": "Kesib olish", + "lookUpButtonLabel": "Tepaga qarang", + "searchWebButtonLabel": "Internetdan qidirish", + "shareButtonLabel": "Ulashish", + "pasteButtonLabel": "Joylash", + "selectAllButtonLabel": "Hammasi" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb index 471ce33e17..2de10788ef 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Di chuyển lên", "reorderItemDown": "Di chuyển xuống", "reorderItemLeft": "Di chuyển sang trái", - "reorderItemRight": "Di chuyển sang phải" + "reorderItemRight": "Di chuyển sang phải", + "copyButtonLabel": "Sao chép", + "cutButtonLabel": "Cắt", + "lookUpButtonLabel": "Tra cứu", + "searchWebButtonLabel": "Tìm kiếm trên web", + "shareButtonLabel": "Chia sẻ", + "pasteButtonLabel": "Dán", + "selectAllButtonLabel": "Chọn tất cả" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb index 758e9421a3..542c1e719a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb @@ -4,5 +4,12 @@ "reorderItemUp": "上移", "reorderItemDown": "下移", "reorderItemLeft": "左移", - "reorderItemRight": "右移" + "reorderItemRight": "右移", + "copyButtonLabel": "复制", + "cutButtonLabel": "剪切", + "lookUpButtonLabel": "查询", + "searchWebButtonLabel": "搜索", + "shareButtonLabel": "分享", + "pasteButtonLabel": "粘贴", + "selectAllButtonLabel": "全选" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zh_HK.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zh_HK.arb index 3edc734b67..b2d51e1994 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zh_HK.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zh_HK.arb @@ -4,5 +4,12 @@ "reorderItemUp": "向上移", "reorderItemDown": "向下移", "reorderItemLeft": "向左移", - "reorderItemRight": "向右移" + "reorderItemRight": "向右移", + "copyButtonLabel": "複製", + "cutButtonLabel": "剪下", + "lookUpButtonLabel": "查詢", + "searchWebButtonLabel": "搜尋", + "shareButtonLabel": "分享", + "pasteButtonLabel": "貼上", + "selectAllButtonLabel": "全部選取" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zh_TW.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zh_TW.arb index 7590f8b722..b1d99756ba 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zh_TW.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zh_TW.arb @@ -4,5 +4,12 @@ "reorderItemUp": "向上移", "reorderItemDown": "向下移", "reorderItemLeft": "向左移", - "reorderItemRight": "向右移" + "reorderItemRight": "向右移", + "copyButtonLabel": "複製", + "cutButtonLabel": "剪下", + "lookUpButtonLabel": "查詢", + "searchWebButtonLabel": "搜尋", + "shareButtonLabel": "分享", + "pasteButtonLabel": "貼上", + "selectAllButtonLabel": "全選" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb index a4c014bbcc..e93485da5c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb @@ -4,5 +4,12 @@ "reorderItemUp": "Iya phezulu", "reorderItemDown": "Iya phansi", "reorderItemLeft": "Hambisa kwesokunxele", - "reorderItemRight": "Yisa kwesokudla" + "reorderItemRight": "Yisa kwesokudla", + "copyButtonLabel": "Kopisha", + "cutButtonLabel": "Sika", + "lookUpButtonLabel": "Bheka Phezulu", + "searchWebButtonLabel": "Sesha Iwebhu", + "shareButtonLabel": "Yabelana", + "pasteButtonLabel": "Namathisela", + "selectAllButtonLabel": "Khetha konke" }