diff --git a/packages/flutter/lib/src/material/material_localizations.dart b/packages/flutter/lib/src/material/material_localizations.dart
index bad3d05..f15014e 100644
--- a/packages/flutter/lib/src/material/material_localizations.dart
+++ b/packages/flutter/lib/src/material/material_localizations.dart
@@ -71,6 +71,9 @@
   /// The tooltip for the delete button on a [Chip].
   String get deleteButtonTooltip;
 
+  /// The tooltip for the more button on an overflowing text selection menu.
+  String get moreButtonTooltip;
+
   /// The tooltip for the [MonthPicker]'s "next month" button.
   String get nextMonthTooltip;
 
@@ -562,6 +565,9 @@
   String get deleteButtonTooltip => 'Delete';
 
   @override
+  String get moreButtonTooltip => 'More';
+
+  @override
   String get nextMonthTooltip => 'Next month';
 
   @override
diff --git a/packages/flutter/lib/src/material/text_selection.dart b/packages/flutter/lib/src/material/text_selection.dart
index f1893e1..8ad2fd1 100644
--- a/packages/flutter/lib/src/material/text_selection.dart
+++ b/packages/flutter/lib/src/material/text_selection.dart
@@ -4,11 +4,14 @@
 
 import 'dart:math' as math;
 
-import 'package:flutter/widgets.dart';
 import 'package:flutter/rendering.dart';
+import 'package:flutter/scheduler.dart';
+import 'package:flutter/widgets.dart';
 
 import 'debug.dart';
 import 'flat_button.dart';
+import 'icon_button.dart';
+import 'icons.dart';
 import 'material.dart';
 import 'material_localizations.dart';
 import 'theme.dart';
@@ -20,17 +23,18 @@
 const double _kToolbarScreenPadding = 8.0;
 const double _kToolbarHeight = 44.0;
 // Padding when positioning toolbar below selection.
-const double _kToolbarContentDistanceBelow = 16.0;
+const double _kToolbarContentDistanceBelow = _kHandleSize - 2.0;
 const double _kToolbarContentDistance = 8.0;
 
 /// Manages a copy/paste text selection toolbar.
-class _TextSelectionToolbar extends StatelessWidget {
+class _TextSelectionToolbar extends StatefulWidget {
   const _TextSelectionToolbar({
     Key key,
     this.handleCut,
     this.handleCopy,
     this.handlePaste,
     this.handleSelectAll,
+    this.isAbove,
   }) : super(key: key);
 
   final VoidCallback handleCut;
@@ -38,14 +42,60 @@
   final VoidCallback handlePaste;
   final VoidCallback handleSelectAll;
 
+  // When true, the toolbar fits above its anchor and will be positioned there.
+  final bool isAbove;
+
+  @override
+  _TextSelectionToolbarState createState() => _TextSelectionToolbarState();
+}
+
+class _TextSelectionToolbarState extends State<_TextSelectionToolbar> with TickerProviderStateMixin {
+  // Whether or not the overflow menu is open. When it is closed, the menu
+  // items that don't overflow are shown. When it is open, only the overflowing
+  // menu items are shown.
+  bool _overflowOpen = false;
+
+  // The key for _TextSelectionToolbarContainer.
+  UniqueKey _containerKey = UniqueKey();
+
+  FlatButton _getItem(VoidCallback onPressed, String label) {
+    assert(onPressed != null);
+    return FlatButton(
+      child: Text(label),
+      onPressed: onPressed,
+    );
+  }
+
+  @override
+  void didUpdateWidget(_TextSelectionToolbar oldWidget) {
+    if (((widget.handleCut == null) != (oldWidget.handleCut == null))
+      || ((widget.handleCopy == null) != (oldWidget.handleCopy == null))
+      || ((widget.handlePaste == null) != (oldWidget.handlePaste == null))
+      || ((widget.handleSelectAll == null) != (oldWidget.handleSelectAll == null))) {
+      // Change _TextSelectionToolbarContainer's key when the menu changes in
+      // order to cause it to rebuild. This lets it recalculate its
+      // saved width for the new set of children, and it prevents AnimatedSize
+      // from animating the size change.
+      _containerKey = UniqueKey();
+      // If the menu items change, make sure the overflow menu is closed. This
+      // prevents an empty overflow menu.
+      _overflowOpen = false;
+    }
+    super.didUpdateWidget(oldWidget);
+  }
+
   @override
   Widget build(BuildContext context) {
     final MaterialLocalizations localizations = MaterialLocalizations.of(context);
     final List<Widget> items = <Widget>[
-      if (handleCut != null) FlatButton(child: Text(localizations.cutButtonLabel), onPressed: handleCut),
-      if (handleCopy != null) FlatButton(child: Text(localizations.copyButtonLabel), onPressed: handleCopy),
-      if (handlePaste != null) FlatButton(child: Text(localizations.pasteButtonLabel), onPressed: handlePaste),
-      if (handleSelectAll != null) FlatButton(child: Text(localizations.selectAllButtonLabel), onPressed: handleSelectAll),
+      if (widget.handleCut != null)
+        _getItem(widget.handleCut, localizations.cutButtonLabel),
+      if (widget.handleCopy != null)
+        _getItem(widget.handleCopy, localizations.copyButtonLabel),
+      if (widget.handlePaste != null)
+        _getItem(widget.handlePaste, localizations.pasteButtonLabel),
+      if (widget.handleSelectAll != null)
+        _getItem(widget.handleSelectAll, localizations.selectAllButtonLabel),
     ];
 
     // If there is no option available, build an empty widget.
@@ -53,31 +103,481 @@
       return Container(width: 0.0, height: 0.0);
     }
 
-    return Material(
-      elevation: 1.0,
-      child: Container(
-        height: _kToolbarHeight,
-        child: Row(mainAxisSize: MainAxisSize.min, children: items),
+
+    return _TextSelectionToolbarContainer(
+      key: _containerKey,
+      overflowOpen: _overflowOpen,
+      child: AnimatedSize(
+        vsync: this,
+        // This duration was eyeballed on a Pixel 2 emulator running Android
+        // API 28.
+        duration: const Duration(milliseconds: 140),
+        child: Material(
+          elevation: 1.0,
+          child: _TextSelectionToolbarItems(
+            isAbove: widget.isAbove,
+            overflowOpen: _overflowOpen,
+            children: <Widget>[
+              // The navButton that shows and hides the overflow menu is the
+              // first child.
+              Material(
+                child: IconButton(
+                  // TODO(justinmc): This should be an AnimatedIcon, but
+                  // AnimatedIcons doesn't yet support arrow_back to more_vert.
+                  // https://github.com/flutter/flutter/issues/51209
+                  icon: Icon(_overflowOpen ? Icons.arrow_back : Icons.more_vert),
+                  onPressed: () {
+                    setState(() {
+                      _overflowOpen = !_overflowOpen;
+                    });
+                  },
+                  tooltip: _overflowOpen
+                      ? localizations.backButtonTooltip
+                      : localizations.moreButtonTooltip,
+                ),
+              ),
+              ...items,
+            ],
+          ),
+        ),
       ),
     );
   }
 }
 
-/// Centers the toolbar around the given position, ensuring that it remains on
+// When the overflow menu is open, it tries to align its right edge to the right
+// edge of the closed menu. This widget handles this effect by measuring and
+// maintaining the width of the closed menu and aligning the child to the right.
+class _TextSelectionToolbarContainer extends SingleChildRenderObjectWidget {
+  const _TextSelectionToolbarContainer({
+    Key key,
+    @required Widget child,
+    @required this.overflowOpen,
+  }) : assert(child != null),
+       assert(overflowOpen != null),
+       super(key: key, child: child);
+
+  final bool overflowOpen;
+
+  @override
+  _TextSelectionToolbarContainerRenderBox createRenderObject(BuildContext context) {
+    return _TextSelectionToolbarContainerRenderBox(overflowOpen: overflowOpen);
+  }
+
+  @override
+  void updateRenderObject(BuildContext context, _TextSelectionToolbarContainerRenderBox renderObject) {
+    renderObject.overflowOpen = overflowOpen;
+  }
+}
+
+class _TextSelectionToolbarContainerRenderBox extends RenderProxyBox {
+  _TextSelectionToolbarContainerRenderBox({
+    @required bool overflowOpen,
+  }) : assert(overflowOpen != null),
+       _overflowOpen = overflowOpen,
+       super();
+
+  // The width of the menu when it was closed. This is used to achieve the
+  // behavior where the open menu aligns its right edge to the closed menu's
+  // right edge.
+  double _closedWidth;
+
+  bool _overflowOpen;
+  bool get overflowOpen => _overflowOpen;
+  set overflowOpen(bool value) {
+    if (value == overflowOpen) {
+      return;
+    }
+    _overflowOpen = value;
+    markNeedsLayout();
+  }
+
+  @override
+  void performLayout() {
+    child.layout(constraints.loosen(), parentUsesSize: true);
+
+    // Save the width when the menu is closed. If the menu changes, this width
+    // is invalid, so it's important that this RenderBox be recreated in that
+    // case. Currently, this is achieved by providing a new key to
+    // _TextSelectionToolbarContainer.
+    if (!overflowOpen && _closedWidth == null) {
+      _closedWidth = child.size.width;
+    }
+
+    size = constraints.constrain(Size(
+      // If the open menu is wider than the closed menu, just use its own width
+      // and don't worry about aligning the right edges.
+      // _closedWidth is used even when the menu is closed to allow it to
+      // animate its size while keeping the same right alignment.
+      _closedWidth == null || child.size.width > _closedWidth ? child.size.width : _closedWidth,
+      child.size.height,
+    ));
+
+    final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+    childParentData.offset = Offset(
+      size.width - child.size.width,
+      0.0,
+    );
+  }
+
+  // Paint at the offset set in the parent data.
+  @override
+  void paint(PaintingContext context, Offset offset) {
+    final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+    context.paintChild(child, childParentData.offset + offset);
+  }
+
+  // Include the parent data offset in the hit test.
+  @override
+  bool hitTestChildren(BoxHitTestResult result, { Offset position }) {
+    // The x, y parameters have the top left of the node's box as the origin.
+    final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+    return result.addWithPaintOffset(
+      offset: childParentData.offset,
+      position: position,
+      hitTest: (BoxHitTestResult result, Offset transformed) {
+        assert(transformed == position - childParentData.offset);
+        return child.hitTest(result, position: transformed);
+      },
+    );
+  }
+
+  @override
+  void setupParentData(RenderBox child) {
+    if (child.parentData is! _ToolbarParentData) {
+      child.parentData = _ToolbarParentData();
+    }
+  }
+
+  @override
+  void applyPaintTransform(RenderObject child, Matrix4 transform) {
+    final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+    transform.translate(childParentData.offset.dx, childParentData.offset.dy);
+    super.applyPaintTransform(child, transform);
+  }
+}
+
+// Renders the menu items in the correct positions in the menu and its overflow
+// submenu based on calculating which item would first overflow.
+class _TextSelectionToolbarItems extends MultiChildRenderObjectWidget {
+  _TextSelectionToolbarItems({
+    Key key,
+    @required this.isAbove,
+    @required this.overflowOpen,
+    @required List<Widget> children,
+  }) : assert(children != null),
+       assert(isAbove != null),
+       assert(overflowOpen != null),
+       super(key: key, children: children);
+
+  final bool isAbove;
+  final bool overflowOpen;
+
+  @override
+  _TextSelectionToolbarItemsRenderBox createRenderObject(BuildContext context) {
+    return _TextSelectionToolbarItemsRenderBox(
+      isAbove: isAbove,
+      overflowOpen: overflowOpen,
+    );
+  }
+
+  @override
+  void updateRenderObject(BuildContext context, _TextSelectionToolbarItemsRenderBox renderObject) {
+    renderObject
+      ..isAbove = isAbove
+      ..overflowOpen = overflowOpen;
+  }
+
+  @override
+  _TextSelectionToolbarItemsElement createElement() => _TextSelectionToolbarItemsElement(this);
+}
+
+class _ToolbarParentData extends ContainerBoxParentData<RenderBox> {
+  /// Whether or not this child is painted.
+  ///
+  /// Children in the selection toolbar may be laid out for measurement purposes
+  /// but not painted. This allows these children to be identified.
+  bool shouldPaint;
+
+  @override
+  String toString() => '${super.toString()}; shouldPaint=$shouldPaint';
+}
+
+class _TextSelectionToolbarItemsElement extends MultiChildRenderObjectElement {
+  _TextSelectionToolbarItemsElement(
+    MultiChildRenderObjectWidget widget,
+  ) : super(widget);
+
+  static bool _shouldPaint(Element child) {
+    return (child.renderObject.parentData as _ToolbarParentData).shouldPaint;
+  }
+
+  @override
+  void debugVisitOnstageChildren(ElementVisitor visitor) {
+    children.where(_shouldPaint).forEach(visitor);
+  }
+}
+
+class _TextSelectionToolbarItemsRenderBox extends RenderBox with ContainerRenderObjectMixin<RenderBox, _ToolbarParentData> {
+  _TextSelectionToolbarItemsRenderBox({
+    @required bool isAbove,
+    @required bool overflowOpen,
+  }) : assert(overflowOpen != null),
+       assert(isAbove != null),
+       _isAbove = isAbove,
+       _overflowOpen = overflowOpen,
+       super();
+
+  // The index of the last item that doesn't overflow.
+  int _lastIndexThatFits = -1;
+
+  bool _isAbove;
+  bool get isAbove => _isAbove;
+  set isAbove(bool value) {
+    if (value == isAbove) {
+      return;
+    }
+    _isAbove = value;
+    markNeedsLayout();
+  }
+
+  bool _overflowOpen;
+  bool get overflowOpen => _overflowOpen;
+  set overflowOpen(bool value) {
+    if (value == overflowOpen) {
+      return;
+    }
+    _overflowOpen = value;
+    markNeedsLayout();
+  }
+
+  // Layout the necessary children, and figure out where the children first
+  // overflow, if at all.
+  void _layoutChildren() {
+    // When overflow is not open, the toolbar is always a specific height.
+    final BoxConstraints sizedConstraints = _overflowOpen
+      ? constraints
+      : BoxConstraints.loose(Size(
+          constraints.maxWidth,
+          _kToolbarHeight,
+        ));
+
+    int i = -1;
+    double width = 0.0;
+    visitChildren((RenderObject renderObjectChild) {
+      i++;
+
+      // No need to layout children inside the overflow menu when it's closed.
+      // The opposite is not true. It is necessary to layout the children that
+      // don't overflow when the overflow menu is open in order to calculate
+      // _lastIndexThatFits.
+      if (_lastIndexThatFits != -1 && !overflowOpen) {
+        return;
+      }
+
+      final RenderBox child = renderObjectChild as RenderBox;
+      child.layout(sizedConstraints.loosen(), parentUsesSize: true);
+      width += child.size.width;
+
+      if (width > sizedConstraints.maxWidth && _lastIndexThatFits == -1) {
+        _lastIndexThatFits = i - 1;
+      }
+    });
+
+    // If the last child overflows, but only because of the width of the
+    // overflow button, then just show it and hide the overflow button.
+    final RenderBox navButton = firstChild;
+    if (_lastIndexThatFits != -1
+        && _lastIndexThatFits == childCount - 2
+        && width - navButton.size.width <= sizedConstraints.maxWidth) {
+      _lastIndexThatFits = -1;
+    }
+  }
+
+  // Returns true when the child should be painted, false otherwise.
+  bool _shouldPaintChild(RenderObject renderObjectChild, int index) {
+    // Paint the navButton when there is overflow.
+    if (renderObjectChild == firstChild) {
+      return _lastIndexThatFits != -1;
+    }
+
+    // If there is no overflow, all children besides the navButton are painted.
+    if (_lastIndexThatFits == -1) {
+      return true;
+    }
+
+    // When there is overflow, paint if the child is in the part of the menu
+    // that is currently open. Overflowing children are painted when the
+    // overflow menu is open, and the children that fit are painted when the
+    // overflow menu is closed.
+    return (index > _lastIndexThatFits) == overflowOpen;
+  }
+
+  // Decide which children will be pained and set their shouldPaint, and set the
+  // offset that painted children will be placed at.
+  void _placeChildren() {
+    int i = -1;
+    Size nextSize = const Size(0.0, 0.0);
+    double fitWidth = 0.0;
+    final RenderBox navButton = firstChild;
+    double overflowHeight = overflowOpen && !isAbove ? navButton.size.height : 0.0;
+    visitChildren((RenderObject renderObjectChild) {
+      i++;
+
+      final RenderBox child = renderObjectChild as RenderBox;
+      final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+
+      // Handle placing the navigation button after iterating all children.
+      if (renderObjectChild == navButton) {
+        return;
+      }
+
+      // There is no need to place children that won't be painted.
+      if (!_shouldPaintChild(renderObjectChild, i)) {
+        childParentData.shouldPaint = false;
+        return;
+      }
+      childParentData.shouldPaint = true;
+
+      if (!overflowOpen) {
+        childParentData.offset = Offset(fitWidth, 0.0);
+        fitWidth += child.size.width;
+        nextSize = Size(
+          fitWidth,
+          math.max(child.size.height, nextSize.height),
+        );
+      } else {
+        childParentData.offset = Offset(0.0, overflowHeight);
+        overflowHeight += child.size.height;
+        nextSize = Size(
+          math.max(child.size.width, nextSize.width),
+          overflowHeight,
+        );
+      }
+    });
+
+    // Place the navigation button if needed.
+    final _ToolbarParentData navButtonParentData = navButton.parentData as _ToolbarParentData;
+    if (_shouldPaintChild(firstChild, 0)) {
+      navButtonParentData.shouldPaint = true;
+      if (overflowOpen) {
+        navButtonParentData.offset = isAbove
+          ? Offset(0.0, overflowHeight)
+          : Offset.zero;
+        nextSize = Size(
+          nextSize.width,
+          isAbove ? nextSize.height + navButton.size.height : nextSize.height,
+        );
+      } else {
+        navButtonParentData.offset = Offset(fitWidth, 0.0);
+        nextSize = Size(nextSize.width + navButton.size.width, nextSize.height);
+      }
+    } else {
+      navButtonParentData.shouldPaint = false;
+    }
+
+    size = nextSize;
+  }
+
+  @override
+  void performLayout() {
+    _lastIndexThatFits = -1;
+    if (firstChild == null) {
+      performResize();
+      return;
+    }
+
+    _layoutChildren();
+    _placeChildren();
+  }
+
+  @override
+  void paint(PaintingContext context, Offset offset) {
+    visitChildren((RenderObject renderObjectChild) {
+      final RenderBox child = renderObjectChild as RenderBox;
+      final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+      if (!childParentData.shouldPaint) {
+        return;
+      }
+
+      context.paintChild(child, childParentData.offset + offset);
+    });
+  }
+
+  @override
+  void setupParentData(RenderBox child) {
+    if (child.parentData is! _ToolbarParentData) {
+      child.parentData = _ToolbarParentData();
+    }
+  }
+
+  @override
+  bool hitTestChildren(BoxHitTestResult result, { Offset position }) {
+    // The x, y parameters have the top left of the node's box as the origin.
+    RenderBox child = lastChild;
+    while (child != null) {
+      final _ToolbarParentData childParentData = child.parentData as _ToolbarParentData;
+
+      // Don't hit test children aren't shown.
+      if (!childParentData.shouldPaint) {
+        child = childParentData.previousSibling;
+        continue;
+      }
+
+      final bool isHit = result.addWithPaintOffset(
+        offset: childParentData.offset,
+        position: position,
+        hitTest: (BoxHitTestResult result, Offset transformed) {
+          assert(transformed == position - childParentData.offset);
+          return child.hitTest(result, position: transformed);
+        },
+      );
+      if (isHit)
+        return true;
+      child = childParentData.previousSibling;
+    }
+    return false;
+  }
+}
+
+/// Centers the toolbar around the given anchor, ensuring that it remains on
 /// screen.
 class _TextSelectionToolbarLayout extends SingleChildLayoutDelegate {
-  _TextSelectionToolbarLayout(this.screenSize, this.globalEditableRegion, this.position);
+  _TextSelectionToolbarLayout(this.anchor, this.upperBounds, this.fitsAbove);
 
-  /// The size of the screen at the time that the toolbar was last laid out.
-  final Size screenSize;
+  /// Anchor position of the toolbar in global coordinates.
+  final Offset anchor;
 
-  /// Size and position of the editing region at the time the toolbar was last
-  /// laid out, in global coordinates.
-  final Rect globalEditableRegion;
+  /// The upper-most valid y value for the anchor.
+  final double upperBounds;
 
-  /// Anchor position of the toolbar, relative to the top left of the
-  /// [globalEditableRegion].
-  final Offset position;
+  /// Whether the closed toolbar fits above the anchor position.
+  ///
+  /// If the closed toolbar doesn't fit, then the menu is rendered below the
+  /// anchor position. It should never happen that the toolbar extends below the
+  /// padded bottom of the screen.
+  ///
+  /// If the closed toolbar does fit but it doesn't fit when the overflow menu
+  /// is open, then the toolbar is still rendered above the anchor position. It
+  /// then grows downward, overlapping the selection.
+  final bool fitsAbove;
+
+  // Return the value that centers width as closely as possible to position
+  // while fitting inside of min and max.
+  static double _centerOn(double position, double width, double min, double max) {
+    // If it overflows on the left, put it as far left as possible.
+    if (position - width / 2.0 < min) {
+      return min;
+    }
+
+    // If it overflows on the right, put it as far right as possible.
+    if (position + width / 2.0 > max) {
+      return max - width;
+    }
+
+    // Otherwise it fits while perfectly centered.
+    return position - width / 2.0;
+  }
 
   @override
   BoxConstraints getConstraintsForChild(BoxConstraints constraints) {
@@ -86,27 +586,22 @@
 
   @override
   Offset getPositionForChild(Size size, Size childSize) {
-    final Offset globalPosition = globalEditableRegion.topLeft + position;
-
-    double x = globalPosition.dx - childSize.width / 2.0;
-    double y = globalPosition.dy - childSize.height;
-
-    if (x < _kToolbarScreenPadding)
-      x = _kToolbarScreenPadding;
-    else if (x + childSize.width > screenSize.width - _kToolbarScreenPadding)
-      x = screenSize.width - childSize.width - _kToolbarScreenPadding;
-
-    if (y < _kToolbarScreenPadding)
-      y = _kToolbarScreenPadding;
-    else if (y + childSize.height > screenSize.height - _kToolbarScreenPadding)
-      y = screenSize.height - childSize.height - _kToolbarScreenPadding;
-
-    return Offset(x, y);
+    return Offset(
+      _centerOn(
+        anchor.dx,
+        childSize.width,
+        _kToolbarScreenPadding,
+        size.width - _kToolbarScreenPadding,
+      ),
+      fitsAbove
+        ? math.max(upperBounds, anchor.dy - childSize.height)
+        : anchor.dy,
+    );
   }
 
   @override
   bool shouldRelayout(_TextSelectionToolbarLayout oldDelegate) {
-    return position != oldDelegate.position;
+    return anchor != oldDelegate.anchor;
   }
 }
 
@@ -143,42 +638,52 @@
     BuildContext context,
     Rect globalEditableRegion,
     double textLineHeight,
-    Offset position,
+    Offset selectionMidpoint,
     List<TextSelectionPoint> endpoints,
     TextSelectionDelegate delegate,
   ) {
     assert(debugCheckHasMediaQuery(context));
     assert(debugCheckHasMaterialLocalizations(context));
 
-    // The toolbar should appear below the TextField
-    // when there is not enough space above the TextField to show it.
+    // The toolbar should appear below the TextField when there is not enough
+    // space above the TextField to show it.
     final TextSelectionPoint startTextSelectionPoint = endpoints[0];
-    final double toolbarHeightNeeded = MediaQuery.of(context).padding.top
-      + _kToolbarScreenPadding
+    final TextSelectionPoint endTextSelectionPoint = endpoints.length > 1
+      ? endpoints[1]
+      : endpoints[0];
+    const double closedToolbarHeightNeeded = _kToolbarScreenPadding
       + _kToolbarHeight
       + _kToolbarContentDistance;
-    final double availableHeight = globalEditableRegion.top + endpoints.first.point.dy - textLineHeight;
-    final bool fitsAbove = toolbarHeightNeeded <= availableHeight;
-    final double y = fitsAbove
-        ? startTextSelectionPoint.point.dy - _kToolbarContentDistance - textLineHeight
-        : startTextSelectionPoint.point.dy + _kToolbarHeight + _kToolbarContentDistanceBelow;
-    final Offset preciseMidpoint = Offset(position.dx, y);
+    final double paddingTop = MediaQuery.of(context).padding.top;
+    final double availableHeight = globalEditableRegion.top
+      + startTextSelectionPoint.point.dy
+      - textLineHeight
+      - paddingTop;
+    final bool fitsAbove = closedToolbarHeightNeeded <= availableHeight;
+    final Offset anchor = Offset(
+      globalEditableRegion.left + selectionMidpoint.dx,
+      fitsAbove
+        ? globalEditableRegion.top + startTextSelectionPoint.point.dy - textLineHeight - _kToolbarContentDistance
+        : globalEditableRegion.top + endTextSelectionPoint.point.dy + _kToolbarContentDistanceBelow,
+    );
 
-    return ConstrainedBox(
-      constraints: BoxConstraints.tight(globalEditableRegion.size),
-      child: CustomSingleChildLayout(
-        delegate: _TextSelectionToolbarLayout(
-          MediaQuery.of(context).size,
-          globalEditableRegion,
-          preciseMidpoint,
+    return Stack(
+      children: <Widget>[
+        CustomSingleChildLayout(
+          delegate: _TextSelectionToolbarLayout(
+            anchor,
+            _kToolbarScreenPadding + paddingTop,
+            fitsAbove,
+          ),
+          child: _TextSelectionToolbar(
+            handleCut: canCut(delegate) ? () => handleCut(delegate) : null,
+            handleCopy: canCopy(delegate) ? () => handleCopy(delegate) : null,
+            handlePaste: canPaste(delegate) ? () => handlePaste(delegate) : null,
+            handleSelectAll: canSelectAll(delegate) ? () => handleSelectAll(delegate) : null,
+            isAbove: fitsAbove,
+          ),
         ),
-        child: _TextSelectionToolbar(
-          handleCut: canCut(delegate) ? () => handleCut(delegate) : null,
-          handleCopy: canCopy(delegate) ? () => handleCopy(delegate) : null,
-          handlePaste: canPaste(delegate) ? () => handlePaste(delegate) : null,
-          handleSelectAll: canSelectAll(delegate) ? () => handleSelectAll(delegate) : null,
-        ),
-      ),
+      ],
     );
   }
 
@@ -190,7 +695,7 @@
       height: _kHandleSize,
       child: CustomPaint(
         painter: _TextSelectionHandlePainter(
-          color: Theme.of(context).textSelectionHandleColor
+          color: Theme.of(context).textSelectionHandleColor,
         ),
       ),
     );
diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart
index 84d68bb..0416e4c 100644
--- a/packages/flutter/lib/src/rendering/box.dart
+++ b/packages/flutter/lib/src/rendering/box.dart
@@ -2483,7 +2483,7 @@
   ///  * [defaultPaint], which paints the children appropriate for this
   ///    hit-testing strategy.
   bool defaultHitTestChildren(BoxHitTestResult result, { Offset position }) {
-    // the x, y parameters have the top left of the node's box as the origin
+    // The x, y parameters have the top left of the node's box as the origin.
     ChildType child = lastChild;
     while (child != null) {
       final ParentDataType childParentData = child.parentData as ParentDataType;
diff --git a/packages/flutter/test/material/localizations_test.dart b/packages/flutter/test/material/localizations_test.dart
index 6a2ab17..c27da0c 100644
--- a/packages/flutter/test/material/localizations_test.dart
+++ b/packages/flutter/test/material/localizations_test.dart
@@ -13,6 +13,7 @@
     expect(localizations.backButtonTooltip, isNotNull);
     expect(localizations.closeButtonTooltip, isNotNull);
     expect(localizations.deleteButtonTooltip, isNotNull);
+    expect(localizations.moreButtonTooltip, isNotNull);
     expect(localizations.nextMonthTooltip, isNotNull);
     expect(localizations.previousMonthTooltip, isNotNull);
     expect(localizations.nextPageTooltip, isNotNull);
diff --git a/packages/flutter/test/material/text.dart b/packages/flutter/test/material/text.dart
new file mode 100644
index 0000000..04cf7be
--- /dev/null
+++ b/packages/flutter/test/material/text.dart
@@ -0,0 +1,47 @@
+// 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_test/flutter_test.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter/rendering.dart';
+import 'package:flutter/widgets.dart';
+
+// Returns the first RenderEditable.
+RenderEditable findRenderEditable(WidgetTester tester) {
+  final RenderObject root = tester.renderObject(find.byType(EditableText));
+  expect(root, isNotNull);
+
+  RenderEditable renderEditable;
+  void recursiveFinder(RenderObject child) {
+    if (child is RenderEditable) {
+      renderEditable = child;
+      return;
+    }
+    child.visitChildren(recursiveFinder);
+  }
+  root.visitChildren(recursiveFinder);
+  expect(renderEditable, isNotNull);
+  return renderEditable;
+}
+
+List<TextSelectionPoint> globalize(Iterable<TextSelectionPoint> points, RenderBox box) {
+  return points.map<TextSelectionPoint>((TextSelectionPoint point) {
+    return TextSelectionPoint(
+      box.localToGlobal(point.point),
+      point.direction,
+    );
+  }).toList();
+}
+
+Offset textOffsetToPosition(WidgetTester tester, int offset) {
+  final RenderEditable renderEditable = findRenderEditable(tester);
+  final List<TextSelectionPoint> endpoints = globalize(
+    renderEditable.getEndpointsForSelection(
+      TextSelection.collapsed(offset: offset),
+    ),
+    renderEditable,
+  );
+  expect(endpoints.length, 1);
+  return endpoints[0].point + const Offset(0.0, -2.0);
+}
diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart
index dfdd77a..157dd55 100644
--- a/packages/flutter/test/material/text_field_test.dart
+++ b/packages/flutter/test/material/text_field_test.dart
@@ -18,6 +18,7 @@
 import '../rendering/mock_canvas.dart';
 import '../widgets/semantics_tester.dart';
 import 'feedback_tester.dart';
+import 'text.dart' show findRenderEditable, globalize, textOffsetToPosition;
 
 class MockClipboard {
   Object _clipboardData = <String, dynamic>{
@@ -141,45 +142,6 @@
     kThreeLines +
     "\nFourth line won't display and ends at";
 
-  // Returns the first RenderEditable.
-  RenderEditable findRenderEditable(WidgetTester tester) {
-    final RenderObject root = tester.renderObject(find.byType(EditableText));
-    expect(root, isNotNull);
-
-    RenderEditable renderEditable;
-    void recursiveFinder(RenderObject child) {
-      if (child is RenderEditable) {
-        renderEditable = child;
-        return;
-      }
-      child.visitChildren(recursiveFinder);
-    }
-    root.visitChildren(recursiveFinder);
-    expect(renderEditable, isNotNull);
-    return renderEditable;
-  }
-
-  List<TextSelectionPoint> globalize(Iterable<TextSelectionPoint> points, RenderBox box) {
-    return points.map<TextSelectionPoint>((TextSelectionPoint point) {
-      return TextSelectionPoint(
-        box.localToGlobal(point.point),
-        point.direction,
-      );
-    }).toList();
-  }
-
-  Offset textOffsetToPosition(WidgetTester tester, int offset) {
-    final RenderEditable renderEditable = findRenderEditable(tester);
-    final List<TextSelectionPoint> endpoints = globalize(
-      renderEditable.getEndpointsForSelection(
-        TextSelection.collapsed(offset: offset),
-      ),
-      renderEditable,
-    );
-    expect(endpoints.length, 1);
-    return endpoints[0].point + const Offset(0.0, -2.0);
-  }
-
   setUp(() {
     debugResetSemanticsIdCounter();
   });
diff --git a/packages/flutter/test/material/text_selection_test.dart b/packages/flutter/test/material/text_selection_test.dart
index 4799bad..964f522 100644
--- a/packages/flutter/test/material/text_selection_test.dart
+++ b/packages/flutter/test/material/text_selection_test.dart
@@ -3,8 +3,10 @@
 // found in the LICENSE file.
 
 import 'package:flutter_test/flutter_test.dart';
-import 'package:flutter/widgets.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/rendering.dart';
+import 'package:flutter/widgets.dart';
+import 'text.dart' show findRenderEditable, globalize, textOffsetToPosition;
 
 void main() {
   group('canSelectAll', () {
@@ -63,6 +65,445 @@
     });
   });
 
+  group('Text selection menu overflow (Android)', () {
+    testWidgets('All menu items show when they fit.', (WidgetTester tester) async {
+      final TextEditingController controller = TextEditingController(text: 'abc def ghi');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+            textDirection: TextDirection.ltr,
+            child: MediaQuery(
+              data: const MediaQueryData(size: Size(800.0, 600.0)),
+              child: Center(
+                child: Material(
+                  child: TextField(
+                    controller: controller,
+                  ),
+                ),
+              ),
+            ),
+          ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Tap to place the cursor in the field, then tap the handle to show the
+      // selection menu.
+      await tester.tap(find.byType(TextField));
+      await tester.pumpAndSettle();
+      final RenderEditable renderEditable = findRenderEditable(tester);
+      final List<TextSelectionPoint> endpoints = globalize(
+        renderEditable.getEndpointsForSelection(controller.selection),
+        renderEditable,
+      );
+      expect(endpoints.length, 1);
+      final Offset handlePos = endpoints[0].point + const Offset(0.0, 1.0);
+      await tester.tapAt(handlePos, pointer: 7);
+      await tester.pump();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Long press to select a word and show the full selection menu.
+      final Offset textOffset = textOffsetToPosition(tester, 1);
+      await tester.longPressAt(textOffset);
+      await tester.pump();
+      await tester.pump();
+
+      // The full menu is shown without the more button.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsNothing);
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+
+    testWidgets('When menu items don\'t fit, an overflow menu is used.', (WidgetTester tester) async {
+      // Set the screen size to more narrow, so that SELECT ALL can't fit.
+      tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
+      addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
+
+      final TextEditingController controller = TextEditingController(text: 'abc def ghi');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+          textDirection: TextDirection.ltr,
+          child: MediaQuery(
+            data: const MediaQueryData(size: Size(800.0, 600.0)),
+            child: Center(
+              child: Material(
+                child: TextField(
+                  controller: controller,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Long press to show the menu.
+      final Offset textOffset = textOffsetToPosition(tester, 1);
+      await tester.longPressAt(textOffset);
+      await tester.pumpAndSettle();
+
+      // The last button is missing, and a more button is shown.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+      final Offset cutOffset = tester.getTopLeft(find.text('CUT'));
+
+      // Tapping the button shows the overflow menu.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // The back button is at the bottom of the overflow menu.
+      final Offset selectAllOffset = tester.getTopLeft(find.text('SELECT ALL'));
+      final Offset moreOffset = tester.getTopLeft(find.byType(IconButton));
+      expect(moreOffset.dy, greaterThan(selectAllOffset.dy));
+
+      // The overflow menu grows upward.
+      expect(selectAllOffset.dy, lessThan(cutOffset.dy));
+
+      // Tapping the back button shows the selection menu again.
+      expect(find.byType(IconButton), findsOneWidget);
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+
+    testWidgets('A smaller menu bumps more items to the overflow menu.', (WidgetTester tester) async {
+      // Set the screen size so narrow that only CUT and COPY can fit.
+      tester.binding.window.physicalSizeTestValue = const Size(800, 800);
+      addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
+
+      final TextEditingController controller = TextEditingController(text: 'abc def ghi');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+          textDirection: TextDirection.ltr,
+          child: MediaQuery(
+            data: const MediaQueryData(size: Size(800.0, 600.0)),
+            child: Center(
+              child: Material(
+                child: TextField(
+                  controller: controller,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Long press to show the menu.
+      final Offset textOffset = textOffsetToPosition(tester, 1);
+      await tester.longPressAt(textOffset);
+      await tester.pump();
+
+      // The last two buttons are missing, and a more button is shown.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // Tapping the button shows the overflow menu, which contains both buttons
+      // missing from the main menu, and a back button.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // Tapping the back button shows the selection menu again.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+
+    testWidgets('When the menu renders below the text, the overflow menu back button is at the top.', (WidgetTester tester) async {
+      // Set the screen size to more narrow, so that SELECT ALL can't fit.
+      tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
+      addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
+
+      final TextEditingController controller = TextEditingController(text: 'abc def ghi');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+          textDirection: TextDirection.ltr,
+          child: MediaQuery(
+            data: const MediaQueryData(size: Size(800.0, 600.0)),
+            child: Align(
+              alignment: Alignment.topLeft,
+              child: Material(
+                child: TextField(
+                  controller: controller,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Long press to show the menu.
+      final Offset textOffset = textOffsetToPosition(tester, 1);
+      await tester.longPressAt(textOffset);
+      await tester.pump();
+
+      // The last button is missing, and a more button is shown.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+      final Offset cutOffset = tester.getTopLeft(find.text('CUT'));
+
+      // Tapping the button shows the overflow menu.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // The back button is at the top of the overflow menu.
+      final Offset selectAllOffset = tester.getTopLeft(find.text('SELECT ALL'));
+      final Offset moreOffset = tester.getTopLeft(find.byType(IconButton));
+      expect(moreOffset.dy, lessThan(selectAllOffset.dy));
+
+      // The overflow menu grows downward.
+      expect(selectAllOffset.dy, greaterThan(cutOffset.dy));
+
+      // Tapping the back button shows the selection menu again.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+
+    testWidgets('When the menu items change, the menu is closed and _closedWidth reset.', (WidgetTester tester) async {
+      // Set the screen size to more narrow, so that SELECT ALL can't fit.
+      tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
+      addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
+
+      final TextEditingController controller = TextEditingController(text: 'abc def ghi');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+          textDirection: TextDirection.ltr,
+          child: MediaQuery(
+            data: const MediaQueryData(size: Size(800.0, 600.0)),
+            child: Align(
+              alignment: Alignment.topLeft,
+              child: Material(
+                child: TextField(
+                  controller: controller,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Tap to place the cursor and tap again to show the menu without a
+      // selection.
+      await tester.tapAt(textOffsetToPosition(tester, 0));
+      await tester.pumpAndSettle();
+      final RenderEditable renderEditable = findRenderEditable(tester);
+      final List<TextSelectionPoint> endpoints = globalize(
+        renderEditable.getEndpointsForSelection(controller.selection),
+        renderEditable,
+      );
+      expect(endpoints.length, 1);
+      final Offset handlePos = endpoints[0].point + const Offset(0.0, 1.0);
+      await tester.tapAt(handlePos, pointer: 7);
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Tap SELECT ALL and measure the usual position of CUT, without
+      // _closedWidth having been used yet.
+      await tester.tap(find.text('SELECT ALL'));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+      final Offset cutOffset = tester.getTopLeft(find.text('CUT'));
+
+      // Tap to clear the selection.
+      await tester.tapAt(textOffsetToPosition(tester, 0));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Long press to show the menu.
+      await tester.longPressAt(textOffsetToPosition(tester, 1));
+      await tester.pump();
+
+      // The last button is missing, and a more button is shown.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // Tapping the button shows the overflow menu.
+      await tester.tap(find.byType(IconButton));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsOneWidget);
+
+      // Tapping SELECT ALL changes the menu items so that there is no no longer
+      // any overflow.
+      await tester.tap(find.text('SELECT ALL'));
+      await tester.pumpAndSettle();
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+      final Offset newCutOffset = tester.getTopLeft(find.text('CUT'));
+      expect(newCutOffset, equals(cutOffset));
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+  });
+
+  group('menu position', () {
+    testWidgets('When renders below a block of text, menu appears below bottom endpoint', (WidgetTester tester) async {
+      final TextEditingController controller = TextEditingController(text: 'abc\ndef\nghi\njkl\nmno\npqr');
+      await tester.pumpWidget(MaterialApp(
+        theme: ThemeData(platform: TargetPlatform.android),
+        home: Directionality(
+          textDirection: TextDirection.ltr,
+          child: MediaQuery(
+            data: const MediaQueryData(size: Size(800.0, 600.0)),
+            child: Align(
+              alignment: Alignment.topLeft,
+              child: Material(
+                child: TextField(
+                  controller: controller,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ));
+
+      // Initially, the menu isn't shown at all.
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsNothing);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Tap to place the cursor in the field, then tap the handle to show the
+      // selection menu.
+      await tester.tap(find.byType(TextField));
+      await tester.pumpAndSettle();
+      RenderEditable renderEditable = findRenderEditable(tester);
+      List<TextSelectionPoint> endpoints = globalize(
+        renderEditable.getEndpointsForSelection(controller.selection),
+        renderEditable,
+      );
+      expect(endpoints.length, 1);
+      final Offset handlePos = endpoints[0].point + const Offset(0.0, 1.0);
+      await tester.tapAt(handlePos, pointer: 7);
+      await tester.pump();
+      expect(find.text('CUT'), findsNothing);
+      expect(find.text('COPY'), findsNothing);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsOneWidget);
+      expect(find.byType(IconButton), findsNothing);
+
+      // Tap to select all.
+      await tester.tap(find.text('SELECT ALL'));
+      await tester.pumpAndSettle();
+
+      // Only CUT, COPY, and PASTE are shown.
+      expect(find.text('CUT'), findsOneWidget);
+      expect(find.text('COPY'), findsOneWidget);
+      expect(find.text('PASTE'), findsOneWidget);
+      expect(find.text('SELECT ALL'), findsNothing);
+      expect(find.byType(IconButton), findsNothing);
+
+      // The menu appears below the bottom handle.
+      renderEditable = findRenderEditable(tester);
+      endpoints = globalize(
+        renderEditable.getEndpointsForSelection(controller.selection),
+        renderEditable,
+      );
+      expect(endpoints.length, 2);
+      final Offset bottomHandlePos = endpoints[1].point;
+      final Offset cutOffset = tester.getTopLeft(find.text('CUT'));
+      expect(cutOffset.dy, greaterThan(bottomHandlePos.dy));
+    }, skip: isBrowser, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.android }));
+  });
+
   group('material handles', () {
     testWidgets('draws transparent handle correctly', (WidgetTester tester) async {
       await tester.pumpWidget(RepaintBoundary(
diff --git a/packages/flutter_localizations/lib/src/l10n/generated_material_localizations.dart b/packages/flutter_localizations/lib/src/l10n/generated_material_localizations.dart
index 1c486ac..6344031 100644
--- a/packages/flutter_localizations/lib/src/l10n/generated_material_localizations.dart
+++ b/packages/flutter_localizations/lib/src/l10n/generated_material_localizations.dart
@@ -99,6 +99,9 @@
   String get modalBarrierDismissLabel => 'Maak toe';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Volgende maand';
 
   @override
@@ -303,6 +306,9 @@
   String get modalBarrierDismissLabel => 'አሰናብት';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ቀጣይ ወር';
 
   @override
@@ -507,6 +513,9 @@
   String get modalBarrierDismissLabel => 'رفض';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'الشهر التالي';
 
   @override
@@ -711,6 +720,9 @@
   String get modalBarrierDismissLabel => 'অগ্ৰাহ্য কৰক';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'পৰৱৰ্তী মাহ';
 
   @override
@@ -915,6 +927,9 @@
   String get modalBarrierDismissLabel => 'İmtina edin';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Növbəti ay';
 
   @override
@@ -1119,6 +1134,9 @@
   String get modalBarrierDismissLabel => 'Адхіліць';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Наступны месяц';
 
   @override
@@ -1323,6 +1341,9 @@
   String get modalBarrierDismissLabel => 'Отхвърляне';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Следващият месец';
 
   @override
@@ -1527,6 +1548,9 @@
   String get modalBarrierDismissLabel => 'খারিজ করুন';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'পরের মাস';
 
   @override
@@ -1731,6 +1755,9 @@
   String get modalBarrierDismissLabel => 'Odbaci';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Sljedeći mjesec';
 
   @override
@@ -1935,6 +1962,9 @@
   String get modalBarrierDismissLabel => 'Ignora';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mes següent';
 
   @override
@@ -2139,6 +2169,9 @@
   String get modalBarrierDismissLabel => 'Zavřít';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Další měsíc';
 
   @override
@@ -2343,6 +2376,9 @@
   String get modalBarrierDismissLabel => 'Afvis';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Næste måned';
 
   @override
@@ -2547,6 +2583,9 @@
   String get modalBarrierDismissLabel => 'Schließen';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Nächster Monat';
 
   @override
@@ -2781,6 +2820,9 @@
   String get modalBarrierDismissLabel => 'Παράβλεψη';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Επόμενος μήνας';
 
   @override
@@ -2985,6 +3027,9 @@
   String get modalBarrierDismissLabel => 'Dismiss';
 
   @override
+  String get moreButtonTooltip => 'More';
+
+  @override
   String get nextMonthTooltip => 'Next month';
 
   @override
@@ -3534,6 +3579,9 @@
   String get modalBarrierDismissLabel => 'Cerrar';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mes siguiente';
 
   @override
@@ -5361,6 +5409,9 @@
   String get modalBarrierDismissLabel => 'Loobu';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Järgmine kuu';
 
   @override
@@ -5565,6 +5616,9 @@
   String get modalBarrierDismissLabel => 'Baztertu';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Hurrengo hilabetea';
 
   @override
@@ -5769,6 +5823,9 @@
   String get modalBarrierDismissLabel => 'نپذیرفتن';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ماه بعد';
 
   @override
@@ -5973,6 +6030,9 @@
   String get modalBarrierDismissLabel => 'Ohita';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Seuraava kuukausi';
 
   @override
@@ -6177,6 +6237,9 @@
   String get modalBarrierDismissLabel => 'I-dismiss';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Susunod na buwan';
 
   @override
@@ -6381,6 +6444,9 @@
   String get modalBarrierDismissLabel => 'Ignorer';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mois suivant';
 
   @override
@@ -6639,6 +6705,9 @@
   String get modalBarrierDismissLabel => 'Ignorar';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mes seguinte';
 
   @override
@@ -6843,6 +6912,9 @@
   String get modalBarrierDismissLabel => 'Schließen';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Nächster Monat';
 
   @override
@@ -7047,6 +7119,9 @@
   String get modalBarrierDismissLabel => 'છોડી દો';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'આગલો મહિનો';
 
   @override
@@ -7251,6 +7326,9 @@
   String get modalBarrierDismissLabel => 'סגירה';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'החודש הבא';
 
   @override
@@ -7455,6 +7533,9 @@
   String get modalBarrierDismissLabel => 'खारिज करें';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'अगला महीना';
 
   @override
@@ -7659,6 +7740,9 @@
   String get modalBarrierDismissLabel => 'Odbaci';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Sljedeći mjesec';
 
   @override
@@ -7863,6 +7947,9 @@
   String get modalBarrierDismissLabel => 'Elvetés';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Következő hónap';
 
   @override
@@ -8067,6 +8154,9 @@
   String get modalBarrierDismissLabel => 'Փակել';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Հաջորդ ամիս';
 
   @override
@@ -8271,6 +8361,9 @@
   String get modalBarrierDismissLabel => 'Tutup';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Bulan berikutnya';
 
   @override
@@ -8475,6 +8568,9 @@
   String get modalBarrierDismissLabel => 'Hunsa';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Næsti mánuður';
 
   @override
@@ -8679,6 +8775,9 @@
   String get modalBarrierDismissLabel => 'Ignora';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mese successivo';
 
   @override
@@ -8883,6 +8982,9 @@
   String get modalBarrierDismissLabel => '閉じる';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => '来月';
 
   @override
@@ -9087,6 +9189,9 @@
   String get modalBarrierDismissLabel => 'დახურვა';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'შემდეგი თვე';
 
   @override
@@ -9291,6 +9396,9 @@
   String get modalBarrierDismissLabel => 'Жабу';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Келесі ай';
 
   @override
@@ -9495,6 +9603,9 @@
   String get modalBarrierDismissLabel => 'ច្រាន​ចោល';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ខែ​​ក្រោយ';
 
   @override
@@ -9699,6 +9810,9 @@
   String get modalBarrierDismissLabel => '\u{cb5}\u{c9c}\u{cbe}\u{c97}\u{cca}\u{cb3}\u{cbf}\u{cb8}\u{cbf}';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => '\u{cae}\u{cc1}\u{c82}\u{ca6}\u{cbf}\u{ca8}\u{20}\u{ca4}\u{cbf}\u{c82}\u{c97}\u{cb3}\u{cc1}';
 
   @override
@@ -9903,6 +10017,9 @@
   String get modalBarrierDismissLabel => '닫기';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => '다음 달';
 
   @override
@@ -10107,6 +10224,9 @@
   String get modalBarrierDismissLabel => 'Жабуу';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Кийинки ай';
 
   @override
@@ -10311,6 +10431,9 @@
   String get modalBarrierDismissLabel => 'ປິດໄວ້';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ເດືອນໜ້າ';
 
   @override
@@ -10515,6 +10638,9 @@
   String get modalBarrierDismissLabel => 'Atsisakyti';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Kitas mėnuo';
 
   @override
@@ -10719,6 +10845,9 @@
   String get modalBarrierDismissLabel => 'Nerādīt';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Nākamais mēnesis';
 
   @override
@@ -10923,6 +11052,9 @@
   String get modalBarrierDismissLabel => 'Отфрли';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Следниот месец';
 
   @override
@@ -11127,6 +11259,9 @@
   String get modalBarrierDismissLabel => 'നിരസിക്കുക';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'അടുത്ത മാസം';
 
   @override
@@ -11331,6 +11466,9 @@
   String get modalBarrierDismissLabel => 'Үл хэрэгсэх';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Дараах сар';
 
   @override
@@ -11535,6 +11673,9 @@
   String get modalBarrierDismissLabel => 'डिसमिस करा';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'पुढील महिना';
 
   @override
@@ -11739,6 +11880,9 @@
   String get modalBarrierDismissLabel => 'Tolak';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Bulan depan';
 
   @override
@@ -11943,6 +12087,9 @@
   String get modalBarrierDismissLabel => 'ပယ်ရန်';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'နောက်လ';
 
   @override
@@ -12147,6 +12294,9 @@
   String get modalBarrierDismissLabel => 'Avvis';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Neste måned';
 
   @override
@@ -12351,6 +12501,9 @@
   String get modalBarrierDismissLabel => 'खारेज गर्नुहोस्';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'अर्को महिना';
 
   @override
@@ -12555,6 +12708,9 @@
   String get modalBarrierDismissLabel => 'Sluiten';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Volgende maand';
 
   @override
@@ -12759,6 +12915,9 @@
   String get modalBarrierDismissLabel => 'ଖାରଜ କରନ୍ତୁ';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ପରବର୍ତ୍ତୀ ମାସ';
 
   @override
@@ -12963,6 +13122,9 @@
   String get modalBarrierDismissLabel => 'ਖਾਰਜ ਕਰੋ';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ਅਗਲਾ ਮਹੀਨਾ';
 
   @override
@@ -13167,6 +13329,9 @@
   String get modalBarrierDismissLabel => 'Zamknij';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Następny miesiąc';
 
   @override
@@ -13371,6 +13536,9 @@
   String get modalBarrierDismissLabel => 'رد کړه';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'بله میاشت';
 
   @override
@@ -13575,6 +13743,9 @@
   String get modalBarrierDismissLabel => 'Dispensar';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Próximo mês';
 
   @override
@@ -13857,6 +14028,9 @@
   String get modalBarrierDismissLabel => 'Închideți';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Luna viitoare';
 
   @override
@@ -14061,6 +14235,9 @@
   String get modalBarrierDismissLabel => 'Закрыть';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Следующий месяц';
 
   @override
@@ -14265,6 +14442,9 @@
   String get modalBarrierDismissLabel => 'ඉවත ලන්න';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'ඊළඟ මාසය';
 
   @override
@@ -14469,6 +14649,9 @@
   String get modalBarrierDismissLabel => 'Odmietnuť';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Budúci mesiac';
 
   @override
@@ -14673,6 +14856,9 @@
   String get modalBarrierDismissLabel => 'Opusti';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Naslednji mesec';
 
   @override
@@ -14877,6 +15063,9 @@
   String get modalBarrierDismissLabel => 'Hiq';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Muaji i ardhshëm';
 
   @override
@@ -15081,6 +15270,9 @@
   String get modalBarrierDismissLabel => 'Одбаци';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Следећи месец';
 
   @override
@@ -15489,6 +15681,9 @@
   String get modalBarrierDismissLabel => 'Stäng';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Nästa månad';
 
   @override
@@ -15693,6 +15888,9 @@
   String get modalBarrierDismissLabel => 'Ondoa';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Mwezi ujao';
 
   @override
@@ -15897,6 +16095,9 @@
   String get modalBarrierDismissLabel => 'நிராகரிக்கும்';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'அடுத்த மாதம்';
 
   @override
@@ -16101,6 +16302,9 @@
   String get modalBarrierDismissLabel => 'విస్మరించు';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'తర్వాత నెల';
 
   @override
@@ -16305,6 +16509,9 @@
   String get modalBarrierDismissLabel => 'ปิด';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'เดือนหน้า';
 
   @override
@@ -16509,6 +16716,9 @@
   String get modalBarrierDismissLabel => 'I-dismiss';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Susunod na buwan';
 
   @override
@@ -16713,6 +16923,9 @@
   String get modalBarrierDismissLabel => 'Kapat';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Gelecek ay';
 
   @override
@@ -16917,6 +17130,9 @@
   String get modalBarrierDismissLabel => 'Закрити';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Наступний місяць';
 
   @override
@@ -17121,6 +17337,9 @@
   String get modalBarrierDismissLabel => 'برخاست کریں';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'اگلا مہینہ';
 
   @override
@@ -17325,6 +17544,9 @@
   String get modalBarrierDismissLabel => 'Yopish';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Keyingi oy';
 
   @override
@@ -17529,6 +17751,9 @@
   String get modalBarrierDismissLabel => 'Bỏ qua';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Tháng sau';
 
   @override
@@ -17733,6 +17958,9 @@
   String get modalBarrierDismissLabel => '关闭';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => '下个月';
 
   @override
@@ -18210,6 +18438,9 @@
   String get modalBarrierDismissLabel => 'Cashisa';
 
   @override
+  String get moreButtonTooltip => 'TBD';
+
+  @override
   String get nextMonthTooltip => 'Inyanga ezayo';
 
   @override
diff --git a/packages/flutter_localizations/lib/src/l10n/material_af.arb b/packages/flutter_localizations/lib/src/l10n/material_af.arb
index 85367da..8390dcc 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_af.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_af.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Vou uit",
   "remainingTextFieldCharacterCountOne": "1 karakter oor",
   "remainingTextFieldCharacterCountOther": "$remainingCount karakters oor",
-  "refreshIndicatorSemanticLabel": "Herlaai"
+  "refreshIndicatorSemanticLabel": "Herlaai",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_am.arb b/packages/flutter_localizations/lib/src/l10n/material_am.arb
index ace6f2a..a99e6fe 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_am.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_am.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "ዘርጋ",
   "remainingTextFieldCharacterCountOne": "1 ቁምፊ ይቀራል",
   "remainingTextFieldCharacterCountOther": "$remainingCount ቁምፊዎች ይቀራሉ",
-  "refreshIndicatorSemanticLabel": "አድስ"
+  "refreshIndicatorSemanticLabel": "አድስ",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ar.arb b/packages/flutter_localizations/lib/src/l10n/material_ar.arb
index 0062c25..9d679aa 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ar.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ar.arb
@@ -58,5 +58,6 @@
   "remainingTextFieldCharacterCountZero": "لا أحرف متبقية",
   "remainingTextFieldCharacterCountOne": "حرف واحد متبقٍ",
   "remainingTextFieldCharacterCountOther": "$remainingCount حرف متبقٍ",
-  "refreshIndicatorSemanticLabel": "إعادة تحميل"
+  "refreshIndicatorSemanticLabel": "إعادة تحميل",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_as.arb b/packages/flutter_localizations/lib/src/l10n/material_as.arb
index bfaeb9b..9ed0226 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_as.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_as.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "বিস্তাৰ কৰক",
   "remainingTextFieldCharacterCountOne": "১টা বর্ণ বাকী আছে",
   "remainingTextFieldCharacterCountOther": "$remainingCountটা বর্ণ বাকী আছে",
-  "refreshIndicatorSemanticLabel": "ৰিফ্ৰেশ্ব কৰক"
+  "refreshIndicatorSemanticLabel": "ৰিফ্ৰেশ্ব কৰক",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_az.arb b/packages/flutter_localizations/lib/src/l10n/material_az.arb
index bae6af2..6449b4b 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_az.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_az.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Genişləndirin",
   "remainingTextFieldCharacterCountOne": "1 simvol qalır",
   "remainingTextFieldCharacterCountOther": "$remainingCount simvol qalır",
-  "refreshIndicatorSemanticLabel": "Yeniləyin"
+  "refreshIndicatorSemanticLabel": "Yeniləyin",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_be.arb b/packages/flutter_localizations/lib/src/l10n/material_be.arb
index a34a6c3..c38f6f3 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_be.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_be.arb
@@ -54,5 +54,6 @@
   "collapsedIconTapHint": "Разгарнуць",
   "remainingTextFieldCharacterCountOne": "Застаўся 1 сімвал",
   "remainingTextFieldCharacterCountOther": "Засталося $remainingCount сімвала",
-  "refreshIndicatorSemanticLabel": "Абнавіць"
+  "refreshIndicatorSemanticLabel": "Абнавіць",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_bg.arb b/packages/flutter_localizations/lib/src/l10n/material_bg.arb
index cd6e683..f4774f8 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_bg.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_bg.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Остава 1 знак",
   "remainingTextFieldCharacterCountOther": "Остават $remainingCount знака",
-  "refreshIndicatorSemanticLabel": "Опресняване"
+  "refreshIndicatorSemanticLabel": "Опресняване",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_bn.arb b/packages/flutter_localizations/lib/src/l10n/material_bn.arb
index c8349fe..8055be3 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_bn.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_bn.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "বড় করুন",
   "remainingTextFieldCharacterCountOne": "আর ১টি অক্ষর লেখা যাবে",
   "remainingTextFieldCharacterCountOther": "আর $remainingCountটি অক্ষর লেখা যাবে",
-  "refreshIndicatorSemanticLabel": "রিফ্রেশ করুন"
+  "refreshIndicatorSemanticLabel": "রিফ্রেশ করুন",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_bs.arb b/packages/flutter_localizations/lib/src/l10n/material_bs.arb
index 89979a7..b2ff5d0 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_bs.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_bs.arb
@@ -53,5 +53,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Još jedan znak",
   "remainingTextFieldCharacterCountOther": "Još $remainingCount znakova",
-  "refreshIndicatorSemanticLabel": "Osvježi"
+  "refreshIndicatorSemanticLabel": "Osvježi",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ca.arb b/packages/flutter_localizations/lib/src/l10n/material_ca.arb
index ad17f41..5b51541 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ca.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ca.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Queda 1 caràcter",
   "remainingTextFieldCharacterCountOther": "Queden $remainingCount caràcters",
-  "refreshIndicatorSemanticLabel": "Actualitza"
+  "refreshIndicatorSemanticLabel": "Actualitza",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_cs.arb b/packages/flutter_localizations/lib/src/l10n/material_cs.arb
index 5922920..ac28cb4 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_cs.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_cs.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Zbývá 1 znak",
   "remainingTextFieldCharacterCountOther": "Zbývá $remainingCount znaků",
-  "refreshIndicatorSemanticLabel": "Obnovit"
+  "refreshIndicatorSemanticLabel": "Obnovit",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_da.arb b/packages/flutter_localizations/lib/src/l10n/material_da.arb
index c3caf77..9efeec3 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_da.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_da.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Ét tegn tilbage",
   "remainingTextFieldCharacterCountOther": "$remainingCount tegn tilbage",
-  "refreshIndicatorSemanticLabel": "Opdater"
+  "refreshIndicatorSemanticLabel": "Opdater",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_de.arb b/packages/flutter_localizations/lib/src/l10n/material_de.arb
index b8eedd0..691cf6c 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_de.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_de.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Noch 1 Zeichen",
   "remainingTextFieldCharacterCountOther": "Noch $remainingCount Zeichen",
-  "refreshIndicatorSemanticLabel": "Aktualisieren"
+  "refreshIndicatorSemanticLabel": "Aktualisieren",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_el.arb b/packages/flutter_localizations/lib/src/l10n/material_el.arb
index 2a3b607..68eec0d 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_el.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_el.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "απομένει 1 χαρακτήρας",
   "remainingTextFieldCharacterCountOther": "απομένουν $remainingCount χαρακτήρες",
-  "refreshIndicatorSemanticLabel": "Ανανέωση"
+  "refreshIndicatorSemanticLabel": "Ανανέωση",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_en.arb b/packages/flutter_localizations/lib/src/l10n/material_en.arb
index fc3402f..f51d17b 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_en.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_en.arb
@@ -31,6 +31,11 @@
     "description": "The tooltip for the delete button of chips."
   },
 
+  "moreButtonTooltip": "More",
+  "@moreButtonTooltip": {
+    "description": "The tooltip for the more button in the text selection menu, which shows the overflowing menu items."
+  },
+
   "nextMonthTooltip": "Next month",
   "@nextMonthTooltip": {
     "description": "The tooltip for the month picker's 'next month' button."
diff --git a/packages/flutter_localizations/lib/src/l10n/material_es.arb b/packages/flutter_localizations/lib/src/l10n/material_es.arb
index 26ff120..3387c99 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_es.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_es.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Queda 1 carácter.",
   "remainingTextFieldCharacterCountOther": "Quedan $remainingCount caracteres",
-  "refreshIndicatorSemanticLabel": "Actualizar"
+  "refreshIndicatorSemanticLabel": "Actualizar",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_et.arb b/packages/flutter_localizations/lib/src/l10n/material_et.arb
index f0ee775..f100bd1 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_et.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_et.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Jäänud on 1 tähemärk",
   "remainingTextFieldCharacterCountOther": "Jäänud on $remainingCount tähemärki",
-  "refreshIndicatorSemanticLabel": "Värskendamine"
+  "refreshIndicatorSemanticLabel": "Värskendamine",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_eu.arb b/packages/flutter_localizations/lib/src/l10n/material_eu.arb
index faa0c45..8d92a70 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_eu.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_eu.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Zabaldu",
   "remainingTextFieldCharacterCountOne": "1 karaktere geratzen da",
   "remainingTextFieldCharacterCountOther": "$remainingCount karaktere geratzen dira",
-  "refreshIndicatorSemanticLabel": "Freskatu"
+  "refreshIndicatorSemanticLabel": "Freskatu",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_fa.arb b/packages/flutter_localizations/lib/src/l10n/material_fa.arb
index f5f7415..76ff956 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_fa.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_fa.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "۱ نویسه باقی مانده است",
   "remainingTextFieldCharacterCountOther": "$remainingCount نویسه باقی مانده است",
-  "refreshIndicatorSemanticLabel": "بازخوانی"
+  "refreshIndicatorSemanticLabel": "بازخوانی",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_fi.arb b/packages/flutter_localizations/lib/src/l10n/material_fi.arb
index ae435d7..24040fa 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_fi.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_fi.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 merkki jäljellä",
   "remainingTextFieldCharacterCountOther": "$remainingCount merkkiä jäljellä",
-  "refreshIndicatorSemanticLabel": "Päivitys"
+  "refreshIndicatorSemanticLabel": "Päivitys",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_fil.arb b/packages/flutter_localizations/lib/src/l10n/material_fil.arb
index d317f31..a1060d7 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_fil.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_fil.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 character ang natitira",
   "remainingTextFieldCharacterCountOther": "$remainingCount na character ang natitira",
-  "refreshIndicatorSemanticLabel": "Nagre-refresh"
+  "refreshIndicatorSemanticLabel": "Nagre-refresh",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_fr.arb b/packages/flutter_localizations/lib/src/l10n/material_fr.arb
index 239cf42..e6d48be 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_fr.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_fr.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 caractère restant",
   "remainingTextFieldCharacterCountOther": "$remainingCount caractères restants",
-  "refreshIndicatorSemanticLabel": "Actualiser"
+  "refreshIndicatorSemanticLabel": "Actualiser",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_gl.arb b/packages/flutter_localizations/lib/src/l10n/material_gl.arb
index 2a52209..82438c3 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_gl.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_gl.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 carácter restante",
   "remainingTextFieldCharacterCountOther": "$remainingCount caracteres restantes",
-  "refreshIndicatorSemanticLabel": "Actualizar"
+  "refreshIndicatorSemanticLabel": "Actualizar",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_gsw.arb b/packages/flutter_localizations/lib/src/l10n/material_gsw.arb
index 306f3b6..58d2166 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_gsw.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_gsw.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Noch 1 Zeichen",
   "remainingTextFieldCharacterCountOther": "Noch $remainingCount Zeichen",
-  "refreshIndicatorSemanticLabel": "Aktualisieren"
+  "refreshIndicatorSemanticLabel": "Aktualisieren",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_gu.arb b/packages/flutter_localizations/lib/src/l10n/material_gu.arb
index 666f8bf..3302a3e 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_gu.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_gu.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "વિસ્તૃત કરો",
   "remainingTextFieldCharacterCountOne": "1 અક્ષર બાકી",
   "remainingTextFieldCharacterCountOther": "$remainingCount અક્ષર બાકી",
-  "refreshIndicatorSemanticLabel": "રિફ્રેશ કરો"
+  "refreshIndicatorSemanticLabel": "રિફ્રેશ કરો",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_he.arb b/packages/flutter_localizations/lib/src/l10n/material_he.arb
index 2981ee6..f5af651 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_he.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_he.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "נותר תו אחד",
   "remainingTextFieldCharacterCountOther": "נותרו $remainingCount תווים",
-  "refreshIndicatorSemanticLabel": "רענון"
+  "refreshIndicatorSemanticLabel": "רענון",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_hi.arb b/packages/flutter_localizations/lib/src/l10n/material_hi.arb
index 2c7d67a..6872652 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_hi.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_hi.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "एक वर्ण अाैर डाला जा सकता है",
   "remainingTextFieldCharacterCountOther": "$remainingCount वर्ण अाैर डाले जा सकते हैं",
-  "refreshIndicatorSemanticLabel": "रीफ़्रेश करें"
+  "refreshIndicatorSemanticLabel": "रीफ़्रेश करें",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_hr.arb b/packages/flutter_localizations/lib/src/l10n/material_hr.arb
index 5180a92..b4a4ab0 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_hr.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_hr.arb
@@ -53,5 +53,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Preostao je 1 znak",
   "remainingTextFieldCharacterCountOther": "Preostalo je $remainingCount znakova",
-  "refreshIndicatorSemanticLabel": "Osvježi"
+  "refreshIndicatorSemanticLabel": "Osvježi",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_hu.arb b/packages/flutter_localizations/lib/src/l10n/material_hu.arb
index 301dff5..896d41e 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_hu.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_hu.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 karakter maradt",
   "remainingTextFieldCharacterCountOther": "$remainingCount karakter maradt",
-  "refreshIndicatorSemanticLabel": "Frissítés"
+  "refreshIndicatorSemanticLabel": "Frissítés",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_hy.arb b/packages/flutter_localizations/lib/src/l10n/material_hy.arb
index dd3649d..8c47a27 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_hy.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_hy.arb
@@ -56,5 +56,6 @@
   "remainingTextFieldCharacterCountZero": "Նիշի հնարավորություն չկա",
   "remainingTextFieldCharacterCountOne": "Մնացել է 1 նիշ",
   "remainingTextFieldCharacterCountOther": "Մնացել է $remainingCount նիշ",
-  "refreshIndicatorSemanticLabel": "Թարմացնել"
+  "refreshIndicatorSemanticLabel": "Թարմացնել",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_id.arb b/packages/flutter_localizations/lib/src/l10n/material_id.arb
index 9914905..70f98c8 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_id.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_id.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Sisa 1 karakter",
   "remainingTextFieldCharacterCountOther": "Sisa $remainingCount karakter",
-  "refreshIndicatorSemanticLabel": "Memuat ulang"
+  "refreshIndicatorSemanticLabel": "Memuat ulang",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_is.arb b/packages/flutter_localizations/lib/src/l10n/material_is.arb
index b25a6bf..c0ef72f 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_is.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_is.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Stækka",
   "remainingTextFieldCharacterCountOne": "1 stafur eftir",
   "remainingTextFieldCharacterCountOther": "$remainingCount stafir eftir",
-  "refreshIndicatorSemanticLabel": "Endurnýja"
+  "refreshIndicatorSemanticLabel": "Endurnýja",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_it.arb b/packages/flutter_localizations/lib/src/l10n/material_it.arb
index f486542..ebd5352 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_it.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_it.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 carattere rimanente",
   "remainingTextFieldCharacterCountOther": "$remainingCount caratteri rimanenti",
-  "refreshIndicatorSemanticLabel": "Aggiorna"
+  "refreshIndicatorSemanticLabel": "Aggiorna",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ja.arb b/packages/flutter_localizations/lib/src/l10n/material_ja.arb
index 915561f..8852f15 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ja.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ja.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "残り 1 文字（半角相当）",
   "remainingTextFieldCharacterCountOther": "残り $remainingCount 文字（半角相当）",
-  "refreshIndicatorSemanticLabel": "更新"
+  "refreshIndicatorSemanticLabel": "更新",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ka.arb b/packages/flutter_localizations/lib/src/l10n/material_ka.arb
index 70673a0..cb3207c 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ka.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ka.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "გაშლა",
   "remainingTextFieldCharacterCountOne": "დარჩა 1 სიმბოლო",
   "remainingTextFieldCharacterCountOther": "დარჩა $remainingCount სიმბოლო",
-  "refreshIndicatorSemanticLabel": "განახლება"
+  "refreshIndicatorSemanticLabel": "განახლება",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_kk.arb b/packages/flutter_localizations/lib/src/l10n/material_kk.arb
index 82ce189..25f10c8 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_kk.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_kk.arb
@@ -52,5 +52,6 @@
   "collapsedIconTapHint": "Жаю",
   "remainingTextFieldCharacterCountZero": "Таңбалар қалмады",
   "remainingTextFieldCharacterCountOther": "$remainingCount таңба қалды.",
-  "refreshIndicatorSemanticLabel": "Жаңарту"
+  "refreshIndicatorSemanticLabel": "Жаңарту",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_km.arb b/packages/flutter_localizations/lib/src/l10n/material_km.arb
index a6a2cb6..5e080ab 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_km.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_km.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "នៅសល់​ 1 តួ​ទៀត",
   "remainingTextFieldCharacterCountOther": "នៅសល់ $remainingCount តួ​ទៀត",
-  "refreshIndicatorSemanticLabel": "ផ្ទុកឡើងវិញ"
+  "refreshIndicatorSemanticLabel": "ផ្ទុកឡើងវិញ",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_kn.arb b/packages/flutter_localizations/lib/src/l10n/material_kn.arb
index 6241f0d..598202b 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_kn.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_kn.arb
@@ -1,54 +1,55 @@
 {
-  "scriptCategory": "\u0074\u0061\u006c\u006c",
-  "timeOfDayFormat": "\u0048\u003a\u006d\u006d",
-  "openAppDrawerTooltip": "\u0ca8\u0ccd\u0caf\u0cbe\u0cb5\u0cbf\u0c97\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0020\u0cae\u0cc6\u0ca8\u0cc1\u0020\u0ca4\u0cc6\u0cb0\u0cc6\u0caf\u0cbf\u0cb0\u0cbf",
-  "backButtonTooltip": "\u0cb9\u0cbf\u0c82\u0ca4\u0cbf\u0cb0\u0cc1\u0c97\u0cbf",
-  "closeButtonTooltip": "\u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cbf\u0cb0\u0cbf",
-  "deleteButtonTooltip": "\u0c85\u0cb3\u0cbf\u0cb8\u0cbf",
-  "nextMonthTooltip": "\u0cae\u0cc1\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",
-  "previousMonthTooltip": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",
-  "nextPageTooltip": "\u0cae\u0cc1\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0caa\u0cc1\u0c9f",
-  "previousPageTooltip": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0caa\u0cc1\u0c9f",
-  "showMenuTooltip": "\u0cae\u0cc6\u0ca8\u0cc1\u0020\u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cbf",
-  "aboutListTileTitle": "\u0024\u0061\u0070\u0070\u006c\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u004e\u0061\u006d\u0065\u0020\u0cac\u0c97\u0ccd\u0c97\u0cc6",
-  "licensesPageTitle": "\u0caa\u0cb0\u0cb5\u0cbe\u0ca8\u0c97\u0cbf\u0c97\u0cb3\u0cc1",
-  "pageRowsInfoTitle": "\u0024\u0072\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0024\u0066\u0069\u0072\u0073\u0074\u0052\u006f\u0077\u2013\u0024\u006c\u0061\u0073\u0074\u0052\u006f\u0077",
-  "pageRowsInfoTitleApproximate": "\u0024\u0072\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0024\u0066\u0069\u0072\u0073\u0074\u0052\u006f\u0077\u2013\u0024\u006c\u0061\u0073\u0074\u0052\u006f\u0077",
-  "rowsPerPageTitle": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0020\u0caa\u0cc1\u0c9f\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cbe\u0cb2\u0cc1\u0c97\u0cb3\u0cc1\u003a",
-  "tabLabel": "\u0024\u0074\u0061\u0062\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0ca8\u0020\u0024\u0074\u0061\u0062\u0049\u006e\u0064\u0065\u0078\u0020\u0c9f\u0ccd\u0caf\u0cbe\u0cac\u0ccd",
-  "selectedRowCountTitleOne": "\u0031\u0020\u0c90\u0c9f\u0c82\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
-  "selectedRowCountTitleOther": "\u0024\u0073\u0065\u006c\u0065\u0063\u0074\u0065\u0064\u0052\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0c90\u0c9f\u0c82\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
-  "cancelButtonLabel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
-  "closeButtonLabel": "\u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cbf\u0cb0\u0cbf",
-  "continueButtonLabel": "\u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
-  "copyButtonLabel": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf",
-  "cutButtonLabel": "\u0c95\u0ca4\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
-  "okButtonLabel": "\u0cb8\u0cb0\u0cbf",
-  "pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf",
-  "selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
-  "viewLicensesButtonLabel": "\u0caa\u0cb0\u0cb5\u0cbe\u0ca8\u0c97\u0cbf\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0cb5\u0cbf\u0cd5\u0c95\u0ccd\u0cb7\u0cbf\u0cb8\u0cbf",
-  "anteMeridiemAbbreviation": "\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6",
-  "postMeridiemAbbreviation": "\u0cb8\u0c82\u0c9c\u0cc6",
-  "timePickerHourModeAnnouncement": "\u0c97\u0c82\u0c9f\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
-  "timePickerMinuteModeAnnouncement": "\u0ca8\u0cbf\u0cae\u0cbf\u0cb7\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
-  "modalBarrierDismissLabel": "\u0cb5\u0c9c\u0cbe\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cbf",
-  "signedInLabel": "\u0cb8\u0cc8\u0ca8\u0ccd\u0020\u0c87\u0ca8\u0ccd\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
-  "hideAccountsLabel": "\u0c96\u0cbe\u0ca4\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0cae\u0cb0\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
-  "showAccountsLabel": "\u0c96\u0cbe\u0ca4\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cbf",
-  "drawerLabel": "\u0ca8\u0ccd\u0caf\u0cbe\u0cb5\u0cbf\u0c97\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0020\u0cae\u0cc6\u0ca8\u0cc1",
-  "popupMenuLabel": "\u0caa\u0cbe\u0caa\u0ccd\u0c85\u0caa\u0ccd\u0020\u0cae\u0cc6\u0ca8\u0cc1",
-  "dialogLabel": "\u0ca1\u0cc8\u0cb2\u0cbe\u0c97\u0ccd",
-  "alertDialogLabel": "\u0c8e\u0c9a\u0ccd\u0c9a\u0cb0\u0cbf\u0c95\u0cc6",
-  "searchFieldLabel": "\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf",
-  "reorderItemToStart": "\u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
-  "reorderItemToEnd": "\u0c95\u0cca\u0ca8\u0cc6\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
-  "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",
-  "expandedIconTapHint": "\u0c95\u0cc1\u0c97\u0ccd\u0c97\u0cbf\u0cb8\u0cbf",
-  "collapsedIconTapHint": "\u0cb5\u0cbf\u0cb8\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
-  "remainingTextFieldCharacterCountOne": "\u0031\u0020\u0c85\u0c95\u0ccd\u0cb7\u0cb0\u0020\u0c89\u0cb3\u0cbf\u0ca6\u0cbf\u0ca6\u0cc6",
-  "remainingTextFieldCharacterCountOther": "\u0024\u0072\u0065\u006d\u0061\u0069\u006e\u0069\u006e\u0067\u0043\u006f\u0075\u006e\u0074\u0020\u0c85\u0c95\u0ccd\u0cb7\u0cb0\u0c97\u0cb3\u0cc1\u0020\u0c89\u0cb3\u0cbf\u0ca6\u0cbf\u0cb5\u0cc6",
-  "refreshIndicatorSemanticLabel": "\u0cb0\u0cbf\u0cab\u0ccd\u0cb0\u0cc6\u0cb6\u0ccd\u0020\u0cae\u0cbe\u0ca1\u0cbf"
+  "scriptCategory": "tall",
+  "timeOfDayFormat": "H:mm",
+  "openAppDrawerTooltip": "ನ್ಯಾವಿಗೇಶನ್‌ ಮೆನು ತೆರೆಯಿರಿ",
+  "backButtonTooltip": "ಹಿಂತಿರುಗಿ",
+  "closeButtonTooltip": "ಮುಚ್ಚಿರಿ",
+  "deleteButtonTooltip": "ಅಳಿಸಿ",
+  "nextMonthTooltip": "ಮುಂದಿನ ತಿಂಗಳು",
+  "previousMonthTooltip": "ಹಿಂದಿನ ತಿಂಗಳು",
+  "nextPageTooltip": "ಮುಂದಿನ ಪುಟ",
+  "previousPageTooltip": "ಹಿಂದಿನ ಪುಟ",
+  "showMenuTooltip": "ಮೆನು ತೋರಿಸಿ",
+  "aboutListTileTitle": "$applicationName ಬಗ್ಗೆ",
+  "licensesPageTitle": "ಪರವಾನಗಿಗಳು",
+  "pageRowsInfoTitle": "$rowCount ರಲ್ಲಿ $firstRow–$lastRow",
+  "pageRowsInfoTitleApproximate": "$rowCount ರಲ್ಲಿ $firstRow–$lastRow",
+  "rowsPerPageTitle": "ಪ್ರತಿ ಪುಟಕ್ಕೆ ಸಾಲುಗಳು:",
+  "tabLabel": "$tabCount ರಲ್ಲಿನ $tabIndex ಟ್ಯಾಬ್",
+  "selectedRowCountTitleOne": "1 ಐಟಂ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ",
+  "selectedRowCountTitleOther": "$selectedRowCount ಐಟಂಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ",
+  "cancelButtonLabel": "ರದ್ದುಮಾಡಿ",
+  "closeButtonLabel": "ಮುಚ್ಚಿರಿ",
+  "continueButtonLabel": "ಮುಂದುವರಿಸಿ",
+  "copyButtonLabel": "ನಕಲಿಸಿ",
+  "cutButtonLabel": "ಕತ್ತರಿಸಿ",
+  "okButtonLabel": "ಸರಿ",
+  "pasteButtonLabel": "ಅಂಟಿಸಿ",
+  "selectAllButtonLabel": "ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆಮಾಡಿ",
+  "viewLicensesButtonLabel": "ಪರವಾನಗಿಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
+  "anteMeridiemAbbreviation": "ಬೆಳಿಗ್ಗೆ",
+  "postMeridiemAbbreviation": "ಸಂಜೆ",
+  "timePickerHourModeAnnouncement": "ಗಂಟೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ",
+  "timePickerMinuteModeAnnouncement": "ನಿಮಿಷಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ",
+  "modalBarrierDismissLabel": "ವಜಾಗೊಳಿಸಿ",
+  "signedInLabel": "ಸೈನ್ ಇನ್ ಮಾಡಲಾಗಿದೆ",
+  "hideAccountsLabel": "ಖಾತೆಗಳನ್ನು ಮರೆಮಾಡಿ",
+  "showAccountsLabel": "ಖಾತೆಗಳನ್ನು ತೋರಿಸಿ",
+  "drawerLabel": "ನ್ಯಾವಿಗೇಶನ್‌ ಮೆನು",
+  "popupMenuLabel": "ಪಾಪ್ಅಪ್ ಮೆನು",
+  "dialogLabel": "ಡೈಲಾಗ್",
+  "alertDialogLabel": "ಎಚ್ಚರಿಕೆ",
+  "searchFieldLabel": "ಹುಡುಕಿ",
+  "reorderItemToStart": "ಪ್ರಾರಂಭಕ್ಕೆ ಸರಿಸಿ",
+  "reorderItemToEnd": "ಕೊನೆಗೆ ಸರಿಸಿ",
+  "reorderItemUp": "ಮೇಲೆ ಸರಿಸಿ",
+  "reorderItemDown": "ಕೆಳಗೆ ಸರಿಸಿ",
+  "reorderItemLeft": "ಎಡಕ್ಕೆ ಸರಿಸಿ",
+  "reorderItemRight": "ಬಲಕ್ಕೆ ಸರಿಸಿ",
+  "expandedIconTapHint": "ಕುಗ್ಗಿಸಿ",
+  "collapsedIconTapHint": "ವಿಸ್ತರಿಸಿ",
+  "remainingTextFieldCharacterCountOne": "1 ಅಕ್ಷರ ಉಳಿದಿದೆ",
+  "remainingTextFieldCharacterCountOther": "$remainingCount ಅಕ್ಷರಗಳು ಉಳಿದಿವೆ",
+  "refreshIndicatorSemanticLabel": "ರಿಫ್ರೆಶ್ ಮಾಡಿ",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ko.arb b/packages/flutter_localizations/lib/src/l10n/material_ko.arb
index b424457..1cc0c5c 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ko.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ko.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1자 남음",
   "remainingTextFieldCharacterCountOther": "$remainingCount자 남음",
-  "refreshIndicatorSemanticLabel": "새로고침"
+  "refreshIndicatorSemanticLabel": "새로고침",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ky.arb b/packages/flutter_localizations/lib/src/l10n/material_ky.arb
index 97aee02..55fa590 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ky.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ky.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Жайып көрсөтүү",
   "remainingTextFieldCharacterCountOne": "1 белги калды",
   "remainingTextFieldCharacterCountOther": "$remainingCount белги калды",
-  "refreshIndicatorSemanticLabel": "Жаңыртуу"
+  "refreshIndicatorSemanticLabel": "Жаңыртуу",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_lo.arb b/packages/flutter_localizations/lib/src/l10n/material_lo.arb
index 1c06c45..ad27d49 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_lo.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_lo.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "ຂະຫຍາຍ",
   "remainingTextFieldCharacterCountOne": "ຍັງອີກ 1 ຕົວອັກສອນ",
   "remainingTextFieldCharacterCountOther": "ຍັງອີກ $remainingCount ຕົວອັກສອນ",
-  "refreshIndicatorSemanticLabel": "ໂຫຼດຄືນໃໝ່"
+  "refreshIndicatorSemanticLabel": "ໂຫຼດຄືນໃໝ່",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_lt.arb b/packages/flutter_localizations/lib/src/l10n/material_lt.arb
index b1b946c..22ef37e 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_lt.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_lt.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Liko 1 simbolis",
   "remainingTextFieldCharacterCountOther": "Liko $remainingCount simbolių",
-  "refreshIndicatorSemanticLabel": "Atnaujinti"
+  "refreshIndicatorSemanticLabel": "Atnaujinti",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_lv.arb b/packages/flutter_localizations/lib/src/l10n/material_lv.arb
index 0973c06..3bfb25e 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_lv.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_lv.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "Nav atlikusi neviena rakstzīme.",
   "remainingTextFieldCharacterCountOne": "Atlikusi 1 rakstzīme.",
   "remainingTextFieldCharacterCountOther": "Atlikušas $remainingCount rakstzīmes.",
-  "refreshIndicatorSemanticLabel": "Atsvaidzināt"
+  "refreshIndicatorSemanticLabel": "Atsvaidzināt",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_mk.arb b/packages/flutter_localizations/lib/src/l10n/material_mk.arb
index c427e1d..add1768 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_mk.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_mk.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Прошири",
   "remainingTextFieldCharacterCountOne": "Преостанува уште 1 знак",
   "remainingTextFieldCharacterCountOther": "Преостануваат уште $remainingCount знаци",
-  "refreshIndicatorSemanticLabel": "Освежи"
+  "refreshIndicatorSemanticLabel": "Освежи",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ml.arb b/packages/flutter_localizations/lib/src/l10n/material_ml.arb
index c70f682..54882cc 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ml.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ml.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "വികസിപ്പിക്കുക",
   "remainingTextFieldCharacterCountOne": "ഒരു പ്രതീകം ശേഷിക്കുന്നു",
   "remainingTextFieldCharacterCountOther": "$remainingCount പ്രതീകങ്ങൾ ശേഷിക്കുന്നു",
-  "refreshIndicatorSemanticLabel": "പുതുക്കിയെടുക്കുക"
+  "refreshIndicatorSemanticLabel": "പുതുക്കിയെടുക്കുക",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_mn.arb b/packages/flutter_localizations/lib/src/l10n/material_mn.arb
index 1c8c4b9..cb62f11 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_mn.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_mn.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "No characters remaining",
   "remainingTextFieldCharacterCountOne": "1 тэмдэгт үлдсэн",
   "remainingTextFieldCharacterCountOther": "$remainingCount тэмдэгт үлдсэн",
-  "refreshIndicatorSemanticLabel": "Сэргээх"
+  "refreshIndicatorSemanticLabel": "Сэргээх",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_mr.arb b/packages/flutter_localizations/lib/src/l10n/material_mr.arb
index c55faa0..5cd4c1f 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_mr.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_mr.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "कोणतेही वर्ण शिल्लक नाहीत",
   "remainingTextFieldCharacterCountOne": "एक वर्ण शिल्लक",
   "remainingTextFieldCharacterCountOther": "$remainingCount वर्ण शिल्लक",
-  "refreshIndicatorSemanticLabel": "रिफ्रेश करा"
+  "refreshIndicatorSemanticLabel": "रिफ्रेश करा",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ms.arb b/packages/flutter_localizations/lib/src/l10n/material_ms.arb
index d8e8bf9..3ed751c 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ms.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ms.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 aksara lagi",
   "remainingTextFieldCharacterCountOther": "$remainingCount aksara lagi",
-  "refreshIndicatorSemanticLabel": "Muat semula"
+  "refreshIndicatorSemanticLabel": "Muat semula",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_my.arb b/packages/flutter_localizations/lib/src/l10n/material_my.arb
index b61db5f..ad8287f 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_my.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_my.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "ချဲ့ရန်",
   "remainingTextFieldCharacterCountOne": "အက္ခရာ ၁ လုံးကျန်သည်",
   "remainingTextFieldCharacterCountOther": "အက္ခရာ $remainingCount လုံးကျန်သည်",
-  "refreshIndicatorSemanticLabel": "ပြန်လည်စတင်ရန်"
+  "refreshIndicatorSemanticLabel": "ပြန်လည်စတင်ရန်",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_nb.arb b/packages/flutter_localizations/lib/src/l10n/material_nb.arb
index 900f860..3a251cf 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_nb.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_nb.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 tegn gjenstår",
   "remainingTextFieldCharacterCountOther": "$remainingCount tegn gjenstår",
-  "refreshIndicatorSemanticLabel": "Laster inn på nytt"
+  "refreshIndicatorSemanticLabel": "Laster inn på nytt",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ne.arb b/packages/flutter_localizations/lib/src/l10n/material_ne.arb
index c9f70b8..fc15da9 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ne.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ne.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "विस्तार गर्नुहोस्",
   "remainingTextFieldCharacterCountOne": "१ वर्ण बाँकी",
   "remainingTextFieldCharacterCountOther": "$remainingCount वर्णहरू बाँकी",
-  "refreshIndicatorSemanticLabel": "पुनः ताजा गर्नुहोस्"
+  "refreshIndicatorSemanticLabel": "पुनः ताजा गर्नुहोस्",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_nl.arb b/packages/flutter_localizations/lib/src/l10n/material_nl.arb
index 5492659..6f94504 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_nl.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_nl.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 teken resterend",
   "remainingTextFieldCharacterCountOther": "$remainingCount tekens resterend",
-  "refreshIndicatorSemanticLabel": "Vernieuwen"
+  "refreshIndicatorSemanticLabel": "Vernieuwen",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_or.arb b/packages/flutter_localizations/lib/src/l10n/material_or.arb
index 91c2b34..6b65d4c 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_or.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_or.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "ପ୍ରସାରିତ କରନ୍ତୁ",
   "remainingTextFieldCharacterCountOne": "1ଟି ଅକ୍ଷର ବାକି ଅଛି",
   "remainingTextFieldCharacterCountOther": "$remainingCountଟି ଅକ୍ଷର ବାକି ଅଛି",
-  "refreshIndicatorSemanticLabel": "ରିଫ୍ରେସ୍ କରନ୍ତୁ"
+  "refreshIndicatorSemanticLabel": "ରିଫ୍ରେସ୍ କରନ୍ତୁ",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_pa.arb b/packages/flutter_localizations/lib/src/l10n/material_pa.arb
index a67082d..e57acc9 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_pa.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_pa.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "ਵਿਸਤਾਰ ਕਰੋ",
   "remainingTextFieldCharacterCountOne": "1 ਅੱਖਰ-ਚਿੰਨ੍ਹ ਬਾਕੀ",
   "remainingTextFieldCharacterCountOther": "$remainingCount ਅੱਖਰ-ਚਿੰਨ੍ਹ ਬਾਕੀ",
-  "refreshIndicatorSemanticLabel": "ਰਿਫ੍ਰੈਸ਼ ਕਰੋ"
+  "refreshIndicatorSemanticLabel": "ਰਿਫ੍ਰੈਸ਼ ਕਰੋ",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_pl.arb b/packages/flutter_localizations/lib/src/l10n/material_pl.arb
index be3613f..1ed89c3 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_pl.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_pl.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Jeszcze 1 znak",
   "remainingTextFieldCharacterCountOther": "Pozostało $remainingCount znaków",
-  "refreshIndicatorSemanticLabel": "Odśwież"
+  "refreshIndicatorSemanticLabel": "Odśwież",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ps.arb b/packages/flutter_localizations/lib/src/l10n/material_ps.arb
index 2c318cd..6f456e9 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ps.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ps.arb
@@ -50,5 +50,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "TBD",
   "remainingTextFieldCharacterCountOther": "TBD",
-  "refreshIndicatorSemanticLabel": "TBD"
+  "refreshIndicatorSemanticLabel": "TBD",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_pt.arb b/packages/flutter_localizations/lib/src/l10n/material_pt.arb
index a1d74b6..6c36828 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_pt.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_pt.arb
@@ -53,5 +53,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 caractere restante",
   "remainingTextFieldCharacterCountOther": "$remainingCount caracteres restantes",
-  "refreshIndicatorSemanticLabel": "Atualizar"
+  "refreshIndicatorSemanticLabel": "Atualizar",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ro.arb b/packages/flutter_localizations/lib/src/l10n/material_ro.arb
index 5e29e55..3c92171 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ro.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ro.arb
@@ -54,5 +54,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "un caracter rămas",
   "remainingTextFieldCharacterCountOther": "$remainingCount de caractere rămase",
-  "refreshIndicatorSemanticLabel": "Actualizați"
+  "refreshIndicatorSemanticLabel": "Actualizați",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ru.arb b/packages/flutter_localizations/lib/src/l10n/material_ru.arb
index 15a8cf6..6db7e27 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ru.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ru.arb
@@ -56,5 +56,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Остался 1 символ",
   "remainingTextFieldCharacterCountOther": "Осталось $remainingCount символа",
-  "refreshIndicatorSemanticLabel": "Обновление"
+  "refreshIndicatorSemanticLabel": "Обновление",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_si.arb b/packages/flutter_localizations/lib/src/l10n/material_si.arb
index f294e70..5bd5488 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_si.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_si.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "දිග හරින්න",
   "remainingTextFieldCharacterCountOne": "අනුලකුණු 1ක් ඉතිරිය",
   "remainingTextFieldCharacterCountOther": "අනුලකුණු $remainingCountක් ඉතිරිය",
-  "refreshIndicatorSemanticLabel": "නැවුම් කරන්න"
+  "refreshIndicatorSemanticLabel": "නැවුම් කරන්න",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sk.arb b/packages/flutter_localizations/lib/src/l10n/material_sk.arb
index d617a86..5f17b77 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sk.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sk.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Zostáva 1 znak",
   "remainingTextFieldCharacterCountOther": "Zostáva $remainingCount znakov",
-  "refreshIndicatorSemanticLabel": "Obnoviť"
+  "refreshIndicatorSemanticLabel": "Obnoviť",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sl.arb b/packages/flutter_localizations/lib/src/l10n/material_sl.arb
index b15a668..d7f7687 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sl.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sl.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Še 1 znak",
   "remainingTextFieldCharacterCountOther": "Še $remainingCount znakov",
-  "refreshIndicatorSemanticLabel": "Osveži"
+  "refreshIndicatorSemanticLabel": "Osveži",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sq.arb b/packages/flutter_localizations/lib/src/l10n/material_sq.arb
index c8990ea..9236da6 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sq.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sq.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Zgjero",
   "remainingTextFieldCharacterCountOne": "1 karakter i mbetur",
   "remainingTextFieldCharacterCountOther": "$remainingCount karaktere të mbetura",
-  "refreshIndicatorSemanticLabel": "Rifresko"
+  "refreshIndicatorSemanticLabel": "Rifresko",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sr.arb b/packages/flutter_localizations/lib/src/l10n/material_sr.arb
index db45fa6..686cf98 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sr.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sr.arb
@@ -53,5 +53,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Преостао је 1 знак",
   "remainingTextFieldCharacterCountOther": "Преостало је $remainingCount знакова",
-  "refreshIndicatorSemanticLabel": "Освежи"
+  "refreshIndicatorSemanticLabel": "Освежи",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sv.arb b/packages/flutter_localizations/lib/src/l10n/material_sv.arb
index 69a6eb4..5a02f2b 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sv.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sv.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 tecken kvar",
   "remainingTextFieldCharacterCountOther": "$remainingCount tecken kvar",
-  "refreshIndicatorSemanticLabel": "Uppdatera"
+  "refreshIndicatorSemanticLabel": "Uppdatera",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_sw.arb b/packages/flutter_localizations/lib/src/l10n/material_sw.arb
index c50ee8f..ea141e2 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_sw.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_sw.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "Hapana herufi zilizo baki",
   "remainingTextFieldCharacterCountOne": "Imesalia herufi 1",
   "remainingTextFieldCharacterCountOther": "Zimesalia herufi $remainingCount",
-  "refreshIndicatorSemanticLabel": "Onyesha upya"
+  "refreshIndicatorSemanticLabel": "Onyesha upya",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ta.arb b/packages/flutter_localizations/lib/src/l10n/material_ta.arb
index bacfa9a..20d0ebe 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ta.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ta.arb
@@ -52,5 +52,6 @@
   "remainingTextFieldCharacterCountZero": "எழுத்துக்கள் எதுவும் இல்லை",
   "remainingTextFieldCharacterCountOne": "1 எழுத்து மீதமுள்ளது",
   "remainingTextFieldCharacterCountOther": "$remainingCount எழுத்துகள் மீதமுள்ளன",
-  "refreshIndicatorSemanticLabel": "ரெஃப்ரெஷ் செய்யும்"
+  "refreshIndicatorSemanticLabel": "ரெஃப்ரெஷ் செய்யும்",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_te.arb b/packages/flutter_localizations/lib/src/l10n/material_te.arb
index 007628f..d76ddf9 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_te.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_te.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "విస్తరించు",
   "remainingTextFieldCharacterCountOne": "1 అక్షరం మిగిలి ఉంది",
   "remainingTextFieldCharacterCountOther": "$remainingCount అక్షరాలు మిగిలి ఉన్నాయి",
-  "refreshIndicatorSemanticLabel": "రిఫ్రెష్ చేయి"
+  "refreshIndicatorSemanticLabel": "రిఫ్రెష్ చేయి",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_th.arb b/packages/flutter_localizations/lib/src/l10n/material_th.arb
index 314cc88..a0d7e0d 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_th.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_th.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "เหลือ 1 อักขระ",
   "remainingTextFieldCharacterCountOther": "เหลือ $remainingCount อักขระ",
-  "refreshIndicatorSemanticLabel": "รีเฟรช"
+  "refreshIndicatorSemanticLabel": "รีเฟรช",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_tl.arb b/packages/flutter_localizations/lib/src/l10n/material_tl.arb
index d317f31..a1060d7 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_tl.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_tl.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 character ang natitira",
   "remainingTextFieldCharacterCountOther": "$remainingCount na character ang natitira",
-  "refreshIndicatorSemanticLabel": "Nagre-refresh"
+  "refreshIndicatorSemanticLabel": "Nagre-refresh",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_tr.arb b/packages/flutter_localizations/lib/src/l10n/material_tr.arb
index 0d4e933..b834d20 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_tr.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_tr.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 karakter kaldı",
   "remainingTextFieldCharacterCountOther": "$remainingCount karakter kaldı",
-  "refreshIndicatorSemanticLabel": "Yenile"
+  "refreshIndicatorSemanticLabel": "Yenile",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_uk.arb b/packages/flutter_localizations/lib/src/l10n/material_uk.arb
index 7ef7294..6ed3a98 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_uk.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_uk.arb
@@ -55,5 +55,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Залишився 1 символ",
   "remainingTextFieldCharacterCountOther": "Залишилося $remainingCount символу",
-  "refreshIndicatorSemanticLabel": "Оновити"
+  "refreshIndicatorSemanticLabel": "Оновити",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_ur.arb b/packages/flutter_localizations/lib/src/l10n/material_ur.arb
index a0f4297..14e2919 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_ur.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_ur.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "1 حرف باقی ہے",
   "remainingTextFieldCharacterCountOther": "$remainingCount حروف باقی ہیں",
-  "refreshIndicatorSemanticLabel": "ریفریش کریں"
+  "refreshIndicatorSemanticLabel": "ریفریش کریں",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_uz.arb b/packages/flutter_localizations/lib/src/l10n/material_uz.arb
index 91e3972..b85aa60 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_uz.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_uz.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Yoyish",
   "remainingTextFieldCharacterCountOne": "1 ta belgi qoldi",
   "remainingTextFieldCharacterCountOther": "$remainingCount ta belgi qoldi",
-  "refreshIndicatorSemanticLabel": "Yangilash"
+  "refreshIndicatorSemanticLabel": "Yangilash",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_vi.arb b/packages/flutter_localizations/lib/src/l10n/material_vi.arb
index 8fef977..1122284 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_vi.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_vi.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "Còn lại 1 ký tự",
   "remainingTextFieldCharacterCountOther": "Còn lại $remainingCount ký tự",
-  "refreshIndicatorSemanticLabel": "Làm mới"
+  "refreshIndicatorSemanticLabel": "Làm mới",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_zh.arb b/packages/flutter_localizations/lib/src/l10n/material_zh.arb
index f3ddf89..98ffdca 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_zh.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_zh.arb
@@ -51,5 +51,6 @@
   "remainingTextFieldCharacterCountZero": "TBD",
   "remainingTextFieldCharacterCountOne": "还可输入 1 个字符",
   "remainingTextFieldCharacterCountOther": "还可输入 $remainingCount 个字符",
-  "refreshIndicatorSemanticLabel": "刷新"
+  "refreshIndicatorSemanticLabel": "刷新",
+  "moreButtonTooltip": "TBD"
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/material_zu.arb b/packages/flutter_localizations/lib/src/l10n/material_zu.arb
index 36ab9ae..d3a78a6 100644
--- a/packages/flutter_localizations/lib/src/l10n/material_zu.arb
+++ b/packages/flutter_localizations/lib/src/l10n/material_zu.arb
@@ -50,5 +50,6 @@
   "collapsedIconTapHint": "Nweba",
   "remainingTextFieldCharacterCountOne": "1 uhlamvu olusele",
   "remainingTextFieldCharacterCountOther": "$remainingCount izinhlamvu ezisele",
-  "refreshIndicatorSemanticLabel": "Vuselela"
+  "refreshIndicatorSemanticLabel": "Vuselela",
+  "moreButtonTooltip": "TBD"
 }
