Unverified Commit 99d5ef90 authored by David Shuckerow's avatar David Shuckerow Committed by GitHub

Add custom actions to the reorderable list (#20108)

parent 0630518b
...@@ -27,10 +27,8 @@ import 'typography.dart'; ...@@ -27,10 +27,8 @@ import 'typography.dart';
// flutter_localizations package, you must first add it to the English // flutter_localizations package, you must first add it to the English
// translations (lib/src/l10n/material_en.arb), including a description, then // translations (lib/src/l10n/material_en.arb), including a description, then
// you must add it to every other language (all the other *.arb files in that // you must add it to every other language (all the other *.arb files in that
// same directory), including a best guess as to the translation, e.g. // same directory), listing the translation as `TBD`. After that you have to
// obtained by optimistic use of Google Translate // re-generate lib/src/l10n/localizations.dart by running
// (https://translate.google.com/). After that you have to re-generate
// lib/src/l10n/localizations.dart by running
// `dart dev/tools/gen_localizations.dart --overwrite`. There is a README // `dart dev/tools/gen_localizations.dart --overwrite`. There is a README
// file with further information in the lib/src/l10n/ directory. // file with further information in the lib/src/l10n/ directory.
// //
...@@ -279,6 +277,30 @@ abstract class MaterialLocalizations { ...@@ -279,6 +277,30 @@ abstract class MaterialLocalizations {
/// shows the list of accounts. /// shows the list of accounts.
String get showAccountsLabel; String get showAccountsLabel;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list to the start of the list.
String get reorderItemToStart;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list to the end of the list.
String get reorderItemToEnd;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list one space up the list.
String get reorderItemUp;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list one space down the list.
String get reorderItemDown;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list one space left in the list.
String get reorderItemLeft;
/// The semantics label used for [ReorderableList] to reorder an item in the
/// list one space right in the list.
String get reorderItemRight;
/// The `MaterialLocalizations` from the closest [Localizations] instance /// The `MaterialLocalizations` from the closest [Localizations] instance
/// that encloses the given context. /// that encloses the given context.
/// ///
...@@ -641,6 +663,24 @@ class DefaultMaterialLocalizations implements MaterialLocalizations { ...@@ -641,6 +663,24 @@ class DefaultMaterialLocalizations implements MaterialLocalizations {
@override @override
String get showAccountsLabel => 'Show accounts'; String get showAccountsLabel => 'Show accounts';
@override
String get reorderItemUp => 'Move up';
@override
String get reorderItemDown => 'Move down';
@override
String get reorderItemLeft => 'Move left';
@override
String get reorderItemRight => 'Move right';
@override
String get reorderItemToEnd => 'Move to the end';
@override
String get reorderItemToStart => 'Move to the start';
/// Creates an object that provides US English resource values for the material /// Creates an object that provides US English resource values for the material
/// library widgets. /// library widgets.
/// ///
......
...@@ -8,6 +8,7 @@ import 'package:flutter/widgets.dart'; ...@@ -8,6 +8,7 @@ import 'package:flutter/widgets.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'material.dart'; import 'material.dart';
import 'material_localizations.dart';
/// The callback used by [ReorderableListView] to move an item to a new /// The callback used by [ReorderableListView] to move an item to a new
/// position in a list. /// position in a list.
...@@ -310,13 +311,10 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -310,13 +311,10 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
// Handles up the logic for dragging and reordering items in the list. // Handles up the logic for dragging and reordering items in the list.
Widget _wrap(Widget toWrap, int index, BoxConstraints constraints) { Widget _wrap(Widget toWrap, int index, BoxConstraints constraints) {
assert(toWrap.key != null); assert(toWrap.key != null);
// We create a global key based on both the child key and index
// so that when we reorder the list, a key doesn't get created twice.
final GlobalObjectKey keyIndexGlobalKey = new GlobalObjectKey(toWrap.key); final GlobalObjectKey keyIndexGlobalKey = new GlobalObjectKey(toWrap.key);
// We pass the toWrapWithGlobalKey into the Draggable so that when a list // We pass the toWrapWithGlobalKey into the Draggable so that when a list
// item gets dragged, the accessibility framework can preserve the selected // item gets dragged, the accessibility framework can preserve the selected
// state of the dragging item. // state of the dragging item.
final Widget toWrapWithGlobalKey = new KeyedSubtree(key: keyIndexGlobalKey, child: toWrap);
// Starts dragging toWrap. // Starts dragging toWrap.
void onDragStarted() { void onDragStarted() {
...@@ -330,11 +328,11 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -330,11 +328,11 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
}); });
} }
// Drops toWrap into the last position it was hovering over. // Places the value from startIndex one space before the element at endIndex.
void onDragEnded() { void reorder(int startIndex, int endIndex) {
setState(() { setState(() {
if (_dragStartIndex != _currentIndex) if (startIndex != endIndex)
widget.onReorder(_dragStartIndex, _currentIndex); widget.onReorder(startIndex, endIndex);
// Animates leftover space in the drop area closed. // Animates leftover space in the drop area closed.
// TODO(djshuckerow): bring the animation in line with the Material // TODO(djshuckerow): bring the animation in line with the Material
// specifications. // specifications.
...@@ -344,7 +342,64 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -344,7 +342,64 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
}); });
} }
// Drops toWrap into the last position it was hovering over.
void onDragEnded() {
reorder(_dragStartIndex, _currentIndex);
}
Widget wrapWithSemantics() {
// First, determine which semantics actions apply.
final Map<CustomSemanticsAction, VoidCallback> semanticsActions = <CustomSemanticsAction, VoidCallback>{};
// Create the appropriate semantics actions.
void moveToStart() => reorder(index, 0);
void moveToEnd() => reorder(index, widget.children.length);
void moveBefore() => reorder(index, index - 1);
// To move after, we go to index+2 because we are moving it to the space
// before index+2, which is after the space at index+1.
void moveAfter() => reorder(index, index + 2);
final MaterialLocalizations localizations = MaterialLocalizations.of(context);
// If the item can move to before its current position in the list.
if (index > 0) {
semanticsActions[new CustomSemanticsAction(label: localizations.reorderItemToStart)] = moveToStart;
String reorderItemBefore = localizations.reorderItemUp;
if (widget.scrollDirection == Axis.horizontal) {
reorderItemBefore = Directionality.of(context) == TextDirection.ltr
? localizations.reorderItemLeft
: localizations.reorderItemRight;
}
semanticsActions[new CustomSemanticsAction(label: reorderItemBefore)] = moveBefore;
}
// If the item can move to after its current position in the list.
if (index < widget.children.length - 1) {
String reorderItemAfter = localizations.reorderItemDown;
if (widget.scrollDirection == Axis.horizontal) {
reorderItemAfter = Directionality.of(context) == TextDirection.ltr
? localizations.reorderItemRight
: localizations.reorderItemLeft;
}
semanticsActions[new CustomSemanticsAction(label: reorderItemAfter)] = moveAfter;
semanticsActions[new CustomSemanticsAction(label: localizations.reorderItemToEnd)] = moveToEnd;
}
// We pass toWrap with a GlobalKey into the Draggable so that when a list
// item gets dragged, the accessibility framework can preserve the selected
// state of the dragging item.
//
// We also apply the relevant custom accessibility actions for moving the item
// up, down, to the start, and to the end of the list.
return new KeyedSubtree(key: keyIndexGlobalKey, child: new Semantics(
customSemanticsActions: semanticsActions,
child: toWrap,
));
}
Widget buildDragTarget(BuildContext context, List<Key> acceptedCandidates, List<dynamic> rejectedCandidates) { Widget buildDragTarget(BuildContext context, List<Key> acceptedCandidates, List<dynamic> rejectedCandidates) {
final Widget toWrapWithSemantics = wrapWithSemantics();
// We build the draggable inside of a layout builder so that we can // We build the draggable inside of a layout builder so that we can
// constrain the size of the feedback dragging widget. // constrain the size of the feedback dragging widget.
Widget child = new LongPressDraggable<Key>( Widget child = new LongPressDraggable<Key>(
...@@ -358,10 +413,10 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -358,10 +413,10 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
constraints: constraints, constraints: constraints,
child: new Material( child: new Material(
elevation: 6.0, elevation: 6.0,
child: toWrapWithGlobalKey, child: toWrapWithSemantics,
), ),
), ),
child: _dragging == toWrap.key ? const SizedBox() : toWrapWithGlobalKey, child: _dragging == toWrap.key ? const SizedBox() : toWrapWithSemantics,
childWhenDragging: const SizedBox(), childWhenDragging: const SizedBox(),
dragAnchor: DragAnchor.child, dragAnchor: DragAnchor.child,
onDragStarted: onDragStarted, onDragStarted: onDragStarted,
...@@ -422,9 +477,7 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -422,9 +477,7 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
} }
// We wrap the drag target in a Builder so that we can scroll to its specific context. // We wrap the drag target in a Builder so that we can scroll to its specific context.
return new KeyedSubtree( return new Builder(builder: (BuildContext context) {
key: new Key('#$ReorderableListView|KeyedSubtree|${toWrap.key}'),
child:new Builder(builder: (BuildContext context) {
return new DragTarget<Key>( return new DragTarget<Key>(
builder: buildDragTarget, builder: buildDragTarget,
onWillAccept: (Key toAccept) { onWillAccept: (Key toAccept) {
...@@ -439,8 +492,7 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T ...@@ -439,8 +492,7 @@ class _ReorderableListContentState extends State<_ReorderableListContent> with T
onAccept: (Key accepted) {}, onAccept: (Key accepted) {},
onLeave: (Key leaving) {}, onLeave: (Key leaving) {},
); );
}), });
);
} }
@override @override
......
...@@ -35,6 +35,12 @@ void main() { ...@@ -35,6 +35,12 @@ void main() {
expect(localizations.dialogLabel, isNotNull); expect(localizations.dialogLabel, isNotNull);
expect(localizations.alertDialogLabel, isNotNull); expect(localizations.alertDialogLabel, isNotNull);
expect(localizations.searchFieldLabel, isNotNull); expect(localizations.searchFieldLabel, isNotNull);
expect(localizations.reorderItemUp, isNotNull);
expect(localizations.reorderItemDown, isNotNull);
expect(localizations.reorderItemLeft, isNotNull);
expect(localizations.reorderItemRight, isNotNull);
expect(localizations.reorderItemToEnd, isNotNull);
expect(localizations.reorderItemToStart, isNotNull);
expect(localizations.aboutListTileTitle('FOO'), isNotNull); expect(localizations.aboutListTileTitle('FOO'), isNotNull);
expect(localizations.aboutListTileTitle('FOO'), contains('FOO')); expect(localizations.aboutListTileTitle('FOO'), contains('FOO'));
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/semantics.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -29,9 +30,11 @@ void main() { ...@@ -29,9 +30,11 @@ void main() {
); );
} }
Widget build({Widget header, Axis scrollDirection = Axis.vertical}) { Widget build({Widget header, Axis scrollDirection = Axis.vertical, TextDirection textDirection = TextDirection.ltr}) {
return new MaterialApp( return new MaterialApp(
home: new SizedBox( home: new Directionality(
textDirection: textDirection,
child: new SizedBox(
height: itemHeight * 10, height: itemHeight * 10,
width: itemHeight * 10, width: itemHeight * 10,
child: new ReorderableListView( child: new ReorderableListView(
...@@ -41,6 +44,7 @@ void main() { ...@@ -41,6 +44,7 @@ void main() {
onReorder: onReorder, onReorder: onReorder,
), ),
), ),
),
); );
} }
...@@ -169,7 +173,6 @@ void main() { ...@@ -169,7 +173,6 @@ void main() {
await tester.pump(kLongPressTimeout + kPressTimeout); await tester.pump(kLongPressTimeout + kPressTimeout);
await tester.pumpAndSettle(); await tester.pumpAndSettle();
expect(getContentElement().size.height, kDraggingListHeight); expect(getContentElement().size.height, kDraggingListHeight);
// Move it // Move it
await drag.moveTo(tester.getCenter(find.text('Last item'))); await drag.moveTo(tester.getCenter(find.text('Last item')));
await tester.pumpAndSettle(); await tester.pumpAndSettle();
...@@ -220,6 +223,134 @@ void main() { ...@@ -220,6 +223,134 @@ void main() {
expect(findState(const Key('C')).checked, false); expect(findState(const Key('C')).checked, false);
expect(findState(const Key('A')).checked, true); expect(findState(const Key('A')).checked, true);
}); });
group('Accessibility (a11y/Semantics)', () {
Map<CustomSemanticsAction, VoidCallback> getSemanticsActions(int index) {
final Semantics semantics = find.ancestor(
of: find.byKey(new Key(listItems[index])),
matching: find.byType(Semantics),
).evaluate().first.widget;
return semantics.properties.customSemanticsActions;
}
const CustomSemanticsAction moveToStart = CustomSemanticsAction(label: 'Move to the start');
const CustomSemanticsAction moveToEnd = CustomSemanticsAction(label: 'Move to the end');
const CustomSemanticsAction moveUp = CustomSemanticsAction(label: 'Move up');
const CustomSemanticsAction moveDown = CustomSemanticsAction(label: 'Move down');
testWidgets('Provides the correct accessibility actions in LTR and RTL modes', (WidgetTester tester) async {
// The a11y actions for a vertical list are the same in LTR and RTL modes.
final SemanticsHandle handle = tester.ensureSemantics();
for (TextDirection direction in TextDirection.values) {
await tester.pumpWidget(build());
// The first item can be moved down or to the end.
final Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
expect(firstSemanticsActions.length, 2, reason: 'The first list item should have 2 custom actions with $direction.');
expect(firstSemanticsActions.containsKey(moveToStart), false, reason: 'The first item cannot `Move to the start` with $direction.');
expect(firstSemanticsActions.containsKey(moveUp), false, reason: 'The first item cannot `Move up` with $direction.');
expect(firstSemanticsActions.containsKey(moveDown), true, reason: 'The first item should be able to `Move down` with $direction.');
expect(firstSemanticsActions.containsKey(moveToEnd), true, reason: 'The first item should be able to `Move to the end` with $direction.');
// Items in the middle can be moved to the start, end, up or down.
for (int i = 1; i < listItems.length - 1; i += 1) {
final Map<CustomSemanticsAction, VoidCallback> ithSemanticsActions = getSemanticsActions(i);
expect(ithSemanticsActions.length, 4, reason: 'List item $i should have 4 custom actions with $direction.');
expect(ithSemanticsActions.containsKey(moveToStart), true, reason: 'List item $i should be able to `Move to the start` with $direction.');
expect(ithSemanticsActions.containsKey(moveUp), true, reason: 'List item $i should be able to `Move up` with $direction.');
expect(ithSemanticsActions.containsKey(moveDown), true, reason: 'List item $i should be able to `Move down` with $direction.');
expect(ithSemanticsActions.containsKey(moveToEnd), true, reason: 'List item $i should be able to `Move to the end` with $direction.');
}
// The last item can be moved up or to the start.
final Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
expect(lastSemanticsActions.length, 2, reason: 'The last list item should have 2 custom actions with $direction.');
expect(lastSemanticsActions.containsKey(moveToStart), true, reason: 'The last item should be able to `Move to the start` with $direction.');
expect(lastSemanticsActions.containsKey(moveUp), true, reason: 'The last item should be able to `Move up` with $direction.');
expect(lastSemanticsActions.containsKey(moveDown), false, reason: 'The last item cannot `Move down` with $direction.');
expect(lastSemanticsActions.containsKey(moveToEnd), false, reason: 'The last item cannot `Move to the end` with $direction.');
}
handle.dispose();
});
testWidgets('First item accessibility (a11y) actions work', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 1 to the end of the list.
await tester.pumpWidget(build());
Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 2', 'Item 3', 'Item 4', 'Item 1']));
// Test out move after: move Item 2 (the current first item) one space down.
await tester.pumpWidget(build());
firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveDown]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 3', 'Item 2', 'Item 4', 'Item 1']));
handle.dispose();
});
testWidgets('Middle item accessibility (a11y) actions work', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 2 to the end of the list.
await tester.pumpWidget(build());
Map<CustomSemanticsAction, VoidCallback> middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move after: move Item 3 (the current second item) one space down.
await tester.pumpWidget(build());
middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveDown]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 4', 'Item 3', 'Item 2']));
// Test out move after: move Item 3 (the current third item) one space up.
await tester.pumpWidget(build());
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveUp]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move to start: move Item 4 (the current third item) to the start of the list.
await tester.pumpWidget(build());
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
testWidgets('Last item accessibility (a11y) actions work', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to start: move Item 4 to the start of the list.
await tester.pumpWidget(build());
Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 2', 'Item 3']));
// Test out move up: move Item 3 (the current last item) one space up.
await tester.pumpWidget(build());
lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveUp]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
});
}); });
group('in horizontal mode', () { group('in horizontal mode', () {
...@@ -268,7 +399,6 @@ void main() { ...@@ -268,7 +399,6 @@ void main() {
await tester.pumpAndSettle(); await tester.pumpAndSettle();
expect(find.text('Header Text'), findsOneWidget); expect(find.text('Header Text'), findsOneWidget);
expect(listItems, orderedEquals(<String>['Item 2', 'Item 3', 'Item 4', 'Item 1'])); expect(listItems, orderedEquals(<String>['Item 2', 'Item 3', 'Item 4', 'Item 1']));
await tester.pumpWidget(build(header: const Text('Header Text'), scrollDirection: Axis.horizontal)); await tester.pumpWidget(build(header: const Text('Header Text'), scrollDirection: Axis.horizontal));
await longPressDrag( await longPressDrag(
tester, tester,
...@@ -340,7 +470,6 @@ void main() { ...@@ -340,7 +470,6 @@ void main() {
await tester.pump(kLongPressTimeout + kPressTimeout); await tester.pump(kLongPressTimeout + kPressTimeout);
await tester.pumpAndSettle(); await tester.pumpAndSettle();
expect(getContentElement().size.width, kDraggingListWidth); expect(getContentElement().size.width, kDraggingListWidth);
// Move it // Move it
await drag.moveTo(tester.getCenter(find.text('Last item'))); await drag.moveTo(tester.getCenter(find.text('Last item')));
await tester.pumpAndSettle(); await tester.pumpAndSettle();
...@@ -394,6 +523,250 @@ void main() { ...@@ -394,6 +523,250 @@ void main() {
expect(findState(const Key('C')).checked, false); expect(findState(const Key('C')).checked, false);
expect(findState(const Key('A')).checked, true); expect(findState(const Key('A')).checked, true);
}); });
group('Accessibility (a11y/Semantics)', () {
Map<CustomSemanticsAction, VoidCallback> getSemanticsActions(int index) {
final Semantics semantics = find.ancestor(
of: find.byKey(new Key(listItems[index])),
matching: find.byType(Semantics),
).evaluate().first.widget;
return semantics.properties.customSemanticsActions;
}
const CustomSemanticsAction moveToStart = CustomSemanticsAction(label: 'Move to the start');
const CustomSemanticsAction moveToEnd = CustomSemanticsAction(label: 'Move to the end');
const CustomSemanticsAction moveLeft = CustomSemanticsAction(label: 'Move left');
const CustomSemanticsAction moveRight = CustomSemanticsAction(label: 'Move right');
testWidgets('Provides the correct accessibility actions in LTR mode', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
// The first item can be moved right or to the end.
final Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
expect(firstSemanticsActions.length, 2, reason: 'The first list item should have 2 custom actions.');
expect(firstSemanticsActions.containsKey(moveToStart), false, reason: 'The first item cannot `Move to the start`.');
expect(firstSemanticsActions.containsKey(moveLeft), false, reason: 'The first item cannot `Move left`.');
expect(firstSemanticsActions.containsKey(moveRight), true, reason: 'The first item should be able to `Move right`.');
expect(firstSemanticsActions.containsKey(moveToEnd), true, reason: 'The first item should be able to `Move to the end`.');
// Items in the middle can be moved to the start, end, left or right.
for (int i = 1; i < listItems.length - 1; i += 1) {
final Map<CustomSemanticsAction, VoidCallback> ithSemanticsActions = getSemanticsActions(i);
expect(ithSemanticsActions.length, 4, reason: 'List item $i should have 4 custom actions.');
expect(ithSemanticsActions.containsKey(moveToStart), true, reason: 'List item $i should be able to `Move to the start`.');
expect(ithSemanticsActions.containsKey(moveLeft), true, reason: 'List item $i should be able to `Move left`.');
expect(ithSemanticsActions.containsKey(moveRight), true, reason: 'List item $i should be able to `Move right`.');
expect(ithSemanticsActions.containsKey(moveToEnd), true, reason: 'List item $i should be able to `Move to the end`.');
}
// The last item can be moved left or to the start.
final Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
expect(lastSemanticsActions.length, 2, reason: 'The last list item should have 2 custom actions.');
expect(lastSemanticsActions.containsKey(moveToStart), true, reason: 'The last item should be able to `Move to the start`.');
expect(lastSemanticsActions.containsKey(moveLeft), true, reason: 'The last item should be able to `Move left`.');
expect(lastSemanticsActions.containsKey(moveRight), false, reason: 'The last item cannot `Move right`.');
expect(lastSemanticsActions.containsKey(moveToEnd), false, reason: 'The last item cannot `Move to the end`.');
handle.dispose();
});
testWidgets('Provides the correct accessibility actions in Right-To-Left directionality', (WidgetTester tester) async {
// In RTL mode, the right is the start and the left is the end.
// The array representation is unchanged (LTR), but the direction of the motion actions is reversed.
final SemanticsHandle handle = tester.ensureSemantics();
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
// The first item can be moved right or to the end.
final Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
expect(firstSemanticsActions.length, 2, reason: 'The first list item should have 2 custom actions.');
expect(firstSemanticsActions.containsKey(moveToStart), false, reason: 'The first item cannot `Move to the start`.');
expect(firstSemanticsActions.containsKey(moveRight), false, reason: 'The first item cannot `Move right`.');
expect(firstSemanticsActions.containsKey(moveLeft), true, reason: 'The first item should be able to `Move left`.');
expect(firstSemanticsActions.containsKey(moveToEnd), true, reason: 'The first item should be able to `Move to the end`.');
// Items in the middle can be moved to the start, end, left or right.
for (int i = 1; i < listItems.length - 1; i += 1) {
final Map<CustomSemanticsAction, VoidCallback> ithSemanticsActions = getSemanticsActions(i);
expect(ithSemanticsActions.length, 4, reason: 'List item $i should have 4 custom actions.');
expect(ithSemanticsActions.containsKey(moveToStart), true, reason: 'List item $i should be able to `Move to the start`.');
expect(ithSemanticsActions.containsKey(moveRight), true, reason: 'List item $i should be able to `Move right`.');
expect(ithSemanticsActions.containsKey(moveLeft), true, reason: 'List item $i should be able to `Move left`.');
expect(ithSemanticsActions.containsKey(moveToEnd), true, reason: 'List item $i should be able to `Move to the end`.');
}
// The last item can be moved left or to the start.
final Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
expect(lastSemanticsActions.length, 2, reason: 'The last list item should have 2 custom actions.');
expect(lastSemanticsActions.containsKey(moveToStart), true, reason: 'The last item should be able to `Move to the start`.');
expect(lastSemanticsActions.containsKey(moveRight), true, reason: 'The last item should be able to `Move right`.');
expect(lastSemanticsActions.containsKey(moveLeft), false, reason: 'The last item cannot `Move left`.');
expect(lastSemanticsActions.containsKey(moveToEnd), false, reason: 'The last item cannot `Move to the end`.');
handle.dispose();
});
testWidgets('First item accessibility (a11y) actions work in LTR mode', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 1 to the end of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 2', 'Item 3', 'Item 4', 'Item 1']));
// Test out move after: move Item 2 (the current first item) one space to the right.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveRight]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 3', 'Item 2', 'Item 4', 'Item 1']));
handle.dispose();
});
testWidgets('First item accessibility (a11y) actions work in Right-To-Left directionality', (WidgetTester tester) async {
// In RTL mode, the right is the start and the left is the end.
// The array representation is unchanged (LTR), but the direction of the motion actions is reversed.
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 1 to the end of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
Map<CustomSemanticsAction, VoidCallback> firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 2', 'Item 3', 'Item 4', 'Item 1']));
// Test out move after: move Item 2 (the current first item) one space to the left.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
firstSemanticsActions = getSemanticsActions(0);
firstSemanticsActions[moveLeft]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 3', 'Item 2', 'Item 4', 'Item 1']));
handle.dispose();
});
testWidgets('Middle item accessibility (a11y) actions work in LTR mode', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 2 to the end of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
Map<CustomSemanticsAction, VoidCallback> middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move after: move Item 3 (the current second item) one space to the right.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveRight]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 4', 'Item 3', 'Item 2']));
// Test out move after: move Item 3 (the current third item) one space to the left.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveLeft]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move to start: move Item 4 (the current third item) to the start of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
testWidgets('Middle item accessibility (a11y) actions work in Right-To-Left directionality', (WidgetTester tester) async {
// In RTL mode, the right is the start and the left is the end.
// The array representation is unchanged (LTR), but the direction of the motion actions is reversed.
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to end: move Item 2 to the end of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
Map<CustomSemanticsAction, VoidCallback> middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveToEnd]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move after: move Item 3 (the current second item) one space to the left.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
middleSemanticsActions = getSemanticsActions(1);
middleSemanticsActions[moveLeft]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 4', 'Item 3', 'Item 2']));
// Test out move after: move Item 3 (the current third item) one space to the right.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveRight]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 1', 'Item 3', 'Item 4', 'Item 2']));
// Test out move to start: move Item 4 (the current third item) to the start of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
middleSemanticsActions = getSemanticsActions(2);
middleSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
testWidgets('Last item accessibility (a11y) actions work in LTR mode', (WidgetTester tester) async {
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to start: move Item 4 to the start of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 2', 'Item 3']));
// Test out move before: move Item 3 (the current last item) one space to the left.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal));
lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveLeft]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
testWidgets('Last item accessibility (a11y) actions work in Right-To-Left directionality', (WidgetTester tester) async {
// In RTL mode, the right is the start and the left is the end.
// The array representation is unchanged (LTR), but the direction of the motion actions is reversed.
final SemanticsHandle handle = tester.ensureSemantics();
expect(listItems, orderedEquals(originalListItems));
// Test out move to start: move Item 4 to the start of the list.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
Map<CustomSemanticsAction, VoidCallback> lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveToStart]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 2', 'Item 3']));
// Test out move before: move Item 3 (the current last item) one space to the right.
await tester.pumpWidget(build(scrollDirection: Axis.horizontal, textDirection: TextDirection.rtl));
lastSemanticsActions = getSemanticsActions(listItems.length - 1);
lastSemanticsActions[moveRight]();
await tester.pumpAndSettle();
expect(listItems, orderedEquals(<String>['Item 4', 'Item 1', 'Item 3', 'Item 2']));
handle.dispose();
});
});
}); });
// TODO(djshuckerow): figure out how to write a test for scrolling the list. // TODO(djshuckerow): figure out how to write a test for scrolling the list.
......
...@@ -125,6 +125,24 @@ class MaterialLocalizationAr extends GlobalMaterialLocalizations { ...@@ -125,6 +125,24 @@ class MaterialLocalizationAr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'الصفحة السابقة'; String get previousPageTooltip => r'الصفحة السابقة';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'عدد الصفوف في الصفحة:'; String get rowsPerPageTitle => r'عدد الصفوف في الصفحة:';
...@@ -284,6 +302,24 @@ class MaterialLocalizationBg extends GlobalMaterialLocalizations { ...@@ -284,6 +302,24 @@ class MaterialLocalizationBg extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Предишната страница'; String get previousPageTooltip => r'Предишната страница';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Редове на страница:'; String get rowsPerPageTitle => r'Редове на страница:';
...@@ -443,6 +479,24 @@ class MaterialLocalizationBs extends GlobalMaterialLocalizations { ...@@ -443,6 +479,24 @@ class MaterialLocalizationBs extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Prethodna stranica'; String get previousPageTooltip => r'Prethodna stranica';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Redaka po stranici:'; String get rowsPerPageTitle => r'Redaka po stranici:';
...@@ -602,6 +656,24 @@ class MaterialLocalizationCa extends GlobalMaterialLocalizations { ...@@ -602,6 +656,24 @@ class MaterialLocalizationCa extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Pàgina anterior'; String get previousPageTooltip => r'Pàgina anterior';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Files per pàgina:'; String get rowsPerPageTitle => r'Files per pàgina:';
...@@ -761,6 +833,24 @@ class MaterialLocalizationCs extends GlobalMaterialLocalizations { ...@@ -761,6 +833,24 @@ class MaterialLocalizationCs extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Předchozí stránka'; String get previousPageTooltip => r'Předchozí stránka';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Počet řádků na stránku:'; String get rowsPerPageTitle => r'Počet řádků na stránku:';
...@@ -920,6 +1010,24 @@ class MaterialLocalizationDa extends GlobalMaterialLocalizations { ...@@ -920,6 +1010,24 @@ class MaterialLocalizationDa extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Forrige side'; String get previousPageTooltip => r'Forrige side';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rækker pr. side:'; String get rowsPerPageTitle => r'Rækker pr. side:';
...@@ -1079,6 +1187,24 @@ class MaterialLocalizationDe extends GlobalMaterialLocalizations { ...@@ -1079,6 +1187,24 @@ class MaterialLocalizationDe extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Vorherige Seite'; String get previousPageTooltip => r'Vorherige Seite';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Zeilen pro Seite:'; String get rowsPerPageTitle => r'Zeilen pro Seite:';
...@@ -1268,6 +1394,24 @@ class MaterialLocalizationEl extends GlobalMaterialLocalizations { ...@@ -1268,6 +1394,24 @@ class MaterialLocalizationEl extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Προηγούμενη σελίδα'; String get previousPageTooltip => r'Προηγούμενη σελίδα';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Σειρές ανά σελίδα:'; String get rowsPerPageTitle => r'Σειρές ανά σελίδα:';
...@@ -1427,6 +1571,24 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations { ...@@ -1427,6 +1571,24 @@ class MaterialLocalizationEn extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Previous page'; String get previousPageTooltip => r'Previous page';
@override
String get reorderItemDown => r'Move down';
@override
String get reorderItemLeft => r'Move left';
@override
String get reorderItemRight => r'Move right';
@override
String get reorderItemToEnd => r'Move to the end';
@override
String get reorderItemToStart => r'Move to the start';
@override
String get reorderItemUp => r'Move up';
@override @override
String get rowsPerPageTitle => r'Rows per page:'; String get rowsPerPageTitle => r'Rows per page:';
...@@ -1847,6 +2009,24 @@ class MaterialLocalizationEs extends GlobalMaterialLocalizations { ...@@ -1847,6 +2009,24 @@ class MaterialLocalizationEs extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Página anterior'; String get previousPageTooltip => r'Página anterior';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Filas por página:'; String get rowsPerPageTitle => r'Filas por página:';
...@@ -3329,6 +3509,24 @@ class MaterialLocalizationEt extends GlobalMaterialLocalizations { ...@@ -3329,6 +3509,24 @@ class MaterialLocalizationEt extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Eelmine leht'; String get previousPageTooltip => r'Eelmine leht';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Ridu lehe kohta:'; String get rowsPerPageTitle => r'Ridu lehe kohta:';
...@@ -3488,6 +3686,24 @@ class MaterialLocalizationFa extends GlobalMaterialLocalizations { ...@@ -3488,6 +3686,24 @@ class MaterialLocalizationFa extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'صفحه قبل'; String get previousPageTooltip => r'صفحه قبل';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'ردیف در هر صفحه:'; String get rowsPerPageTitle => r'ردیف در هر صفحه:';
...@@ -3647,6 +3863,24 @@ class MaterialLocalizationFi extends GlobalMaterialLocalizations { ...@@ -3647,6 +3863,24 @@ class MaterialLocalizationFi extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Edellinen sivu'; String get previousPageTooltip => r'Edellinen sivu';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Riviä/sivu:'; String get rowsPerPageTitle => r'Riviä/sivu:';
...@@ -3806,6 +4040,24 @@ class MaterialLocalizationFil extends GlobalMaterialLocalizations { ...@@ -3806,6 +4040,24 @@ class MaterialLocalizationFil extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Nakaraang page'; String get previousPageTooltip => r'Nakaraang page';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Mga row bawat page:'; String get rowsPerPageTitle => r'Mga row bawat page:';
...@@ -3965,6 +4217,24 @@ class MaterialLocalizationFr extends GlobalMaterialLocalizations { ...@@ -3965,6 +4217,24 @@ class MaterialLocalizationFr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Page précédente'; String get previousPageTooltip => r'Page précédente';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Lignes par page :'; String get rowsPerPageTitle => r'Lignes par page :';
...@@ -4151,6 +4421,24 @@ class MaterialLocalizationGsw extends GlobalMaterialLocalizations { ...@@ -4151,6 +4421,24 @@ class MaterialLocalizationGsw extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Vorherige Seite'; String get previousPageTooltip => r'Vorherige Seite';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Zeilen pro Seite:'; String get rowsPerPageTitle => r'Zeilen pro Seite:';
...@@ -4310,6 +4598,24 @@ class MaterialLocalizationHe extends GlobalMaterialLocalizations { ...@@ -4310,6 +4598,24 @@ class MaterialLocalizationHe extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'הדף הקודם'; String get previousPageTooltip => r'הדף הקודם';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'שורות בכל דף:'; String get rowsPerPageTitle => r'שורות בכל דף:';
...@@ -4469,6 +4775,24 @@ class MaterialLocalizationHi extends GlobalMaterialLocalizations { ...@@ -4469,6 +4775,24 @@ class MaterialLocalizationHi extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'पिछला पेज'; String get previousPageTooltip => r'पिछला पेज';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'हर पेज में पंक्तियों की संख्या:'; String get rowsPerPageTitle => r'हर पेज में पंक्तियों की संख्या:';
...@@ -4628,6 +4952,24 @@ class MaterialLocalizationHr extends GlobalMaterialLocalizations { ...@@ -4628,6 +4952,24 @@ class MaterialLocalizationHr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Prethodna stranica'; String get previousPageTooltip => r'Prethodna stranica';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Redaka po stranici:'; String get rowsPerPageTitle => r'Redaka po stranici:';
...@@ -4787,6 +5129,24 @@ class MaterialLocalizationHu extends GlobalMaterialLocalizations { ...@@ -4787,6 +5129,24 @@ class MaterialLocalizationHu extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Előző oldal'; String get previousPageTooltip => r'Előző oldal';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Oldalankénti sorszám:'; String get rowsPerPageTitle => r'Oldalankénti sorszám:';
...@@ -4946,6 +5306,24 @@ class MaterialLocalizationId extends GlobalMaterialLocalizations { ...@@ -4946,6 +5306,24 @@ class MaterialLocalizationId extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Halaman sebelumnya'; String get previousPageTooltip => r'Halaman sebelumnya';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Baris per halaman:'; String get rowsPerPageTitle => r'Baris per halaman:';
...@@ -5106,16 +5484,34 @@ class MaterialLocalizationIt extends GlobalMaterialLocalizations { ...@@ -5106,16 +5484,34 @@ class MaterialLocalizationIt extends GlobalMaterialLocalizations {
String get previousPageTooltip => r'Pagina precedente'; String get previousPageTooltip => r'Pagina precedente';
@override @override
String get rowsPerPageTitle => r'Righe per pagina:'; String get reorderItemDown => r'TBD';
@override @override
String get scriptCategory => r'English-like'; String get reorderItemLeft => r'TBD';
@override @override
String get searchFieldLabel => r'Ricerca'; String get reorderItemRight => r'TBD';
@override @override
String get selectAllButtonLabel => r'SELEZIONA TUTTO'; String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override
String get rowsPerPageTitle => r'Righe per pagina:';
@override
String get scriptCategory => r'English-like';
@override
String get searchFieldLabel => r'Ricerca';
@override
String get selectAllButtonLabel => r'SELEZIONA TUTTO';
@override @override
String get selectedRowCountTitleFew => null; String get selectedRowCountTitleFew => null;
...@@ -5264,6 +5660,24 @@ class MaterialLocalizationJa extends GlobalMaterialLocalizations { ...@@ -5264,6 +5660,24 @@ class MaterialLocalizationJa extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'前のページ'; String get previousPageTooltip => r'前のページ';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'ページあたりの行数:'; String get rowsPerPageTitle => r'ページあたりの行数:';
...@@ -5423,6 +5837,24 @@ class MaterialLocalizationKo extends GlobalMaterialLocalizations { ...@@ -5423,6 +5837,24 @@ class MaterialLocalizationKo extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'이전 페이지'; String get previousPageTooltip => r'이전 페이지';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'페이지당 행 수:'; String get rowsPerPageTitle => r'페이지당 행 수:';
...@@ -5582,6 +6014,24 @@ class MaterialLocalizationLt extends GlobalMaterialLocalizations { ...@@ -5582,6 +6014,24 @@ class MaterialLocalizationLt extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Ankstesnis puslapis'; String get previousPageTooltip => r'Ankstesnis puslapis';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Eilučių puslapyje:'; String get rowsPerPageTitle => r'Eilučių puslapyje:';
...@@ -5741,6 +6191,24 @@ class MaterialLocalizationLv extends GlobalMaterialLocalizations { ...@@ -5741,6 +6191,24 @@ class MaterialLocalizationLv extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Iepriekšējā lapa'; String get previousPageTooltip => r'Iepriekšējā lapa';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rindas lapā:'; String get rowsPerPageTitle => r'Rindas lapā:';
...@@ -5900,6 +6368,24 @@ class MaterialLocalizationMs extends GlobalMaterialLocalizations { ...@@ -5900,6 +6368,24 @@ class MaterialLocalizationMs extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Halaman sebelumnya'; String get previousPageTooltip => r'Halaman sebelumnya';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Baris setiap halaman:'; String get rowsPerPageTitle => r'Baris setiap halaman:';
...@@ -6059,6 +6545,24 @@ class MaterialLocalizationNb extends GlobalMaterialLocalizations { ...@@ -6059,6 +6545,24 @@ class MaterialLocalizationNb extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Forrige side'; String get previousPageTooltip => r'Forrige side';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rader per side:'; String get rowsPerPageTitle => r'Rader per side:';
...@@ -6218,6 +6722,24 @@ class MaterialLocalizationNl extends GlobalMaterialLocalizations { ...@@ -6218,6 +6722,24 @@ class MaterialLocalizationNl extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Vorige pagina'; String get previousPageTooltip => r'Vorige pagina';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rijen per pagina:'; String get rowsPerPageTitle => r'Rijen per pagina:';
...@@ -6377,6 +6899,24 @@ class MaterialLocalizationPl extends GlobalMaterialLocalizations { ...@@ -6377,6 +6899,24 @@ class MaterialLocalizationPl extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Poprzednia strona'; String get previousPageTooltip => r'Poprzednia strona';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Wiersze na stronie:'; String get rowsPerPageTitle => r'Wiersze na stronie:';
...@@ -6536,6 +7076,24 @@ class MaterialLocalizationPs extends GlobalMaterialLocalizations { ...@@ -6536,6 +7076,24 @@ class MaterialLocalizationPs extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'مخکینی مخ'; String get previousPageTooltip => r'مخکینی مخ';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'د هرې پاڼې پاڼې:'; String get rowsPerPageTitle => r'د هرې پاڼې پاڼې:';
...@@ -6695,6 +7253,24 @@ class MaterialLocalizationPt extends GlobalMaterialLocalizations { ...@@ -6695,6 +7253,24 @@ class MaterialLocalizationPt extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Página anterior'; String get previousPageTooltip => r'Página anterior';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Linhas por página:'; String get rowsPerPageTitle => r'Linhas por página:';
...@@ -6923,6 +7499,24 @@ class MaterialLocalizationRo extends GlobalMaterialLocalizations { ...@@ -6923,6 +7499,24 @@ class MaterialLocalizationRo extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Pagina anterioară'; String get previousPageTooltip => r'Pagina anterioară';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rânduri pe pagină:'; String get rowsPerPageTitle => r'Rânduri pe pagină:';
...@@ -7082,6 +7676,24 @@ class MaterialLocalizationRu extends GlobalMaterialLocalizations { ...@@ -7082,6 +7676,24 @@ class MaterialLocalizationRu extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Предыдущая страница'; String get previousPageTooltip => r'Предыдущая страница';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Строк на странице:'; String get rowsPerPageTitle => r'Строк на странице:';
...@@ -7241,6 +7853,24 @@ class MaterialLocalizationSk extends GlobalMaterialLocalizations { ...@@ -7241,6 +7853,24 @@ class MaterialLocalizationSk extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Predchádzajúca stránka'; String get previousPageTooltip => r'Predchádzajúca stránka';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Počet riadkov na stránku:'; String get rowsPerPageTitle => r'Počet riadkov na stránku:';
...@@ -7400,6 +8030,24 @@ class MaterialLocalizationSl extends GlobalMaterialLocalizations { ...@@ -7400,6 +8030,24 @@ class MaterialLocalizationSl extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Prejšnja stran'; String get previousPageTooltip => r'Prejšnja stran';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Vrstice na stran:'; String get rowsPerPageTitle => r'Vrstice na stran:';
...@@ -7559,6 +8207,24 @@ class MaterialLocalizationSr extends GlobalMaterialLocalizations { ...@@ -7559,6 +8207,24 @@ class MaterialLocalizationSr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Претходна страница'; String get previousPageTooltip => r'Претходна страница';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Редова по страници:'; String get rowsPerPageTitle => r'Редова по страници:';
...@@ -7856,6 +8522,24 @@ class MaterialLocalizationSv extends GlobalMaterialLocalizations { ...@@ -7856,6 +8522,24 @@ class MaterialLocalizationSv extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Föregående sida'; String get previousPageTooltip => r'Föregående sida';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Rader per sida:'; String get rowsPerPageTitle => r'Rader per sida:';
...@@ -8015,6 +8699,24 @@ class MaterialLocalizationTh extends GlobalMaterialLocalizations { ...@@ -8015,6 +8699,24 @@ class MaterialLocalizationTh extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'หน้าก่อน'; String get previousPageTooltip => r'หน้าก่อน';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'แถวต่อหน้า:'; String get rowsPerPageTitle => r'แถวต่อหน้า:';
...@@ -8174,6 +8876,24 @@ class MaterialLocalizationTl extends GlobalMaterialLocalizations { ...@@ -8174,6 +8876,24 @@ class MaterialLocalizationTl extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Nakaraang page'; String get previousPageTooltip => r'Nakaraang page';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Mga row bawat page:'; String get rowsPerPageTitle => r'Mga row bawat page:';
...@@ -8333,6 +9053,24 @@ class MaterialLocalizationTr extends GlobalMaterialLocalizations { ...@@ -8333,6 +9053,24 @@ class MaterialLocalizationTr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Önceki sayfa'; String get previousPageTooltip => r'Önceki sayfa';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Sayfa başına satır sayısı:'; String get rowsPerPageTitle => r'Sayfa başına satır sayısı:';
...@@ -8492,6 +9230,24 @@ class MaterialLocalizationUk extends GlobalMaterialLocalizations { ...@@ -8492,6 +9230,24 @@ class MaterialLocalizationUk extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Попередня сторінка'; String get previousPageTooltip => r'Попередня сторінка';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Рядків на сторінці:'; String get rowsPerPageTitle => r'Рядків на сторінці:';
...@@ -8651,6 +9407,24 @@ class MaterialLocalizationUr extends GlobalMaterialLocalizations { ...@@ -8651,6 +9407,24 @@ class MaterialLocalizationUr extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'گزشتہ صفحہ'; String get previousPageTooltip => r'گزشتہ صفحہ';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'قطاریں فی صفحہ:'; String get rowsPerPageTitle => r'قطاریں فی صفحہ:';
...@@ -8810,6 +9584,24 @@ class MaterialLocalizationVi extends GlobalMaterialLocalizations { ...@@ -8810,6 +9584,24 @@ class MaterialLocalizationVi extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'Trang trước'; String get previousPageTooltip => r'Trang trước';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'Số hàng mỗi trang:'; String get rowsPerPageTitle => r'Số hàng mỗi trang:';
...@@ -8969,6 +9761,24 @@ class MaterialLocalizationZh extends GlobalMaterialLocalizations { ...@@ -8969,6 +9761,24 @@ class MaterialLocalizationZh extends GlobalMaterialLocalizations {
@override @override
String get previousPageTooltip => r'上一页'; String get previousPageTooltip => r'上一页';
@override
String get reorderItemDown => r'TBD';
@override
String get reorderItemLeft => r'TBD';
@override
String get reorderItemRight => r'TBD';
@override
String get reorderItemToEnd => r'TBD';
@override
String get reorderItemToStart => r'TBD';
@override
String get reorderItemUp => r'TBD';
@override @override
String get rowsPerPageTitle => r'每页行数:'; String get rowsPerPageTitle => r'每页行数:';
......
...@@ -43,5 +43,11 @@ ...@@ -43,5 +43,11 @@
"popupMenuLabel": "قائمة منبثقة", "popupMenuLabel": "قائمة منبثقة",
"dialogLabel": "مربع حوار", "dialogLabel": "مربع حوار",
"alertDialogLabel": "مربع حوار التنبيه", "alertDialogLabel": "مربع حوار التنبيه",
"searchFieldLabel": "بحث" "searchFieldLabel": "بحث",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Изскачащо меню", "popupMenuLabel": "Изскачащо меню",
"dialogLabel": "Диалогов прозорец", "dialogLabel": "Диалогов прозорец",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Skočni izbornik", "popupMenuLabel": "Skočni izbornik",
"dialogLabel": "Dijalog", "dialogLabel": "Dijalog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
\ No newline at end of file
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menú emergent", "popupMenuLabel": "Menú emergent",
"dialogLabel": "Diàleg", "dialogLabel": "Diàleg",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Vyskakovací nabídka", "popupMenuLabel": "Vyskakovací nabídka",
"dialogLabel": "Dialogové okno", "dialogLabel": "Dialogové okno",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop op-menu", "popupMenuLabel": "Pop op-menu",
"dialogLabel": "Dialogboks", "dialogLabel": "Dialogboks",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Pop-up-Menü", "popupMenuLabel": "Pop-up-Menü",
"dialogLabel": "Dialogfeld", "dialogLabel": "Dialogfeld",
"alertDialogLabel": "Aufmerksam", "alertDialogLabel": "Aufmerksam",
"searchFieldLabel": "Suchen" "searchFieldLabel": "Suchen",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up-Menü", "popupMenuLabel": "Pop-up-Menü",
"dialogLabel": "Dialogfeld", "dialogLabel": "Dialogfeld",
"alertDialogLabel": "Aufmerksam", "alertDialogLabel": "Aufmerksam",
"searchFieldLabel": "Suchen" "searchFieldLabel": "Suchen",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Αναδυόμενο μενού", "popupMenuLabel": "Αναδυόμενο μενού",
"dialogLabel": "Παράθυρο διαλόγου", "dialogLabel": "Παράθυρο διαλόγου",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -205,5 +205,35 @@ ...@@ -205,5 +205,35 @@
"searchFieldLabel": "Search", "searchFieldLabel": "Search",
"@searchFieldLabel": { "@searchFieldLabel": {
"description": "Label indicating that a text field is a search field. This will be used as a hint text in the text field." "description": "Label indicating that a text field is a search field. This will be used as a hint text in the text field."
},
"reorderItemToStart": "Move to the start",
"@reorderItemToStart": {
"description": "The audio announcement to move an item in a Reorderable List to the start of the list."
},
"reorderItemToEnd": "Move to the end",
"@reorderItemToEnd": {
"description": "The audio announcement to move an item in a Reorderable List to the end of the list."
},
"reorderItemUp": "Move up",
"@reorderItemUp": {
"description": "The audio announcement to move an item in a Reorderable List up in the list when it is oriented vertically."
},
"reorderItemDown": "Move down",
"@reorderItemDown": {
"description": "The audio announcement to move an item in a Reorderable List down in the list when it is oriented vertically."
},
"reorderItemLeft": "Move left",
"@reorderItemLeft": {
"description": "The audio announcement to move an item in a Reorderable List left in the list when it is oriented horizontally."
},
"reorderItemRight": "Move right",
"@reorderItemRight": {
"description": "The audio announcement to move an item in a Reorderable List right in the list when it is oriented horizontally."
} }
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up menu", "popupMenuLabel": "Pop-up menu",
"dialogLabel": "Dialogue", "dialogLabel": "Dialogue",
"alertDialogLabel": "Alert", "alertDialogLabel": "Alert",
"searchFieldLabel": "Search" "searchFieldLabel": "Search",
"reorderItemToStart": "Move to the start",
"reorderItemToEnd": "Move to the end",
"reorderItemUp": "Move up",
"reorderItemDown": "Move down",
"reorderItemLeft": "Move left",
"reorderItemRight": "Move right"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Menú emergente", "popupMenuLabel": "Menú emergente",
"dialogLabel": "Cuadro de diálogo", "dialogLabel": "Cuadro de diálogo",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Buscar" "searchFieldLabel": "Buscar",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menú emergente", "popupMenuLabel": "Menú emergente",
"dialogLabel": "Diálogo", "dialogLabel": "Diálogo",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Buscar" "searchFieldLabel": "Buscar",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menú emergente", "popupMenuLabel": "Menú emergente",
"dialogLabel": "Diálogo", "dialogLabel": "Diálogo",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Buscar" "searchFieldLabel": "Buscar",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Hüpikmenüü", "popupMenuLabel": "Hüpikmenüü",
"dialogLabel": "Dialoog", "dialogLabel": "Dialoog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "منوی بازشو", "popupMenuLabel": "منوی بازشو",
"dialogLabel": "کادر گفتگو", "dialogLabel": "کادر گفتگو",
"alertDialogLabel": "هشدار", "alertDialogLabel": "هشدار",
"searchFieldLabel": "جستجو کردن" "searchFieldLabel": "جستجو کردن",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Ponnahdusvalikko", "popupMenuLabel": "Ponnahdusvalikko",
"dialogLabel": "Valintaikkuna", "dialogLabel": "Valintaikkuna",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Popup na menu", "popupMenuLabel": "Popup na menu",
"dialogLabel": "Dialog", "dialogLabel": "Dialog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Menu contextuel", "popupMenuLabel": "Menu contextuel",
"dialogLabel": "Boîte de dialogue", "dialogLabel": "Boîte de dialogue",
"alertDialogLabel": "Alerte", "alertDialogLabel": "Alerte",
"searchFieldLabel": "Chercher" "searchFieldLabel": "Chercher",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-up-Menü", "popupMenuLabel": "Pop-up-Menü",
"dialogLabel": "Dialogfeld", "dialogLabel": "Dialogfeld",
"alertDialogLabel": "Aufmerksam", "alertDialogLabel": "Aufmerksam",
"searchFieldLabel": "Suchen" "searchFieldLabel": "Suchen",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "תפריט קופץ", "popupMenuLabel": "תפריט קופץ",
"dialogLabel": "תיבת דו-שיח", "dialogLabel": "תיבת דו-שיח",
"alertDialogLabel": "עֵרָנִי", "alertDialogLabel": "עֵרָנִי",
"searchFieldLabel": "לחפש" "searchFieldLabel": "לחפש",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "पॉपअप मेन्यू", "popupMenuLabel": "पॉपअप मेन्यू",
"dialogLabel": "संवाद", "dialogLabel": "संवाद",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Skočni izbornik", "popupMenuLabel": "Skočni izbornik",
"dialogLabel": "Dijalog", "dialogLabel": "Dijalog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Előugró menü", "popupMenuLabel": "Előugró menü",
"dialogLabel": "Párbeszédablak", "dialogLabel": "Párbeszédablak",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menu pop-up", "popupMenuLabel": "Menu pop-up",
"dialogLabel": "Dialog", "dialogLabel": "Dialog",
"alertDialogLabel": "Waspada", "alertDialogLabel": "Waspada",
"searchFieldLabel": "Pencarian" "searchFieldLabel": "Pencarian",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menu popup", "popupMenuLabel": "Menu popup",
"dialogLabel": "Finestra di dialogo", "dialogLabel": "Finestra di dialogo",
"alertDialogLabel": "Mettere in guardia", "alertDialogLabel": "Mettere in guardia",
"searchFieldLabel": "Ricerca" "searchFieldLabel": "Ricerca",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "ポップアップ メニュー", "popupMenuLabel": "ポップアップ メニュー",
"dialogLabel": "ダイアログ", "dialogLabel": "ダイアログ",
"alertDialogLabel": "アラート", "alertDialogLabel": "アラート",
"searchFieldLabel": "サーチ" "searchFieldLabel": "サーチ",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "팝업 메뉴", "popupMenuLabel": "팝업 메뉴",
"dialogLabel": "대화상자", "dialogLabel": "대화상자",
"alertDialogLabel": "경보", "alertDialogLabel": "경보",
"searchFieldLabel": "수색" "searchFieldLabel": "수색",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Iššokantysis meniu", "popupMenuLabel": "Iššokantysis meniu",
"dialogLabel": "Dialogo langas", "dialogLabel": "Dialogo langas",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Uznirstošā izvēlne", "popupMenuLabel": "Uznirstošā izvēlne",
"dialogLabel": "Dialoglodziņš", "dialogLabel": "Dialoglodziņš",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Menu pop timbul", "popupMenuLabel": "Menu pop timbul",
"dialogLabel": "Dialog", "dialogLabel": "Dialog",
"alertDialogLabel": "Amaran", "alertDialogLabel": "Amaran",
"searchFieldLabel": "Carian" "searchFieldLabel": "Carian",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Forgrunnsmeny", "popupMenuLabel": "Forgrunnsmeny",
"dialogLabel": "Dialogboks", "dialogLabel": "Dialogboks",
"alertDialogLabel": "Varsling", "alertDialogLabel": "Varsling",
"searchFieldLabel": "Søke" "searchFieldLabel": "Søke",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Pop-upmenu", "popupMenuLabel": "Pop-upmenu",
"dialogLabel": "Dialoogvenster", "dialogLabel": "Dialoogvenster",
"alertDialogLabel": "Alarm", "alertDialogLabel": "Alarm",
"searchFieldLabel": "Zoeken" "searchFieldLabel": "Zoeken",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Wyskakujące menu", "popupMenuLabel": "Wyskakujące menu",
"dialogLabel": "Okno dialogowe", "dialogLabel": "Okno dialogowe",
"alertDialogLabel": "Alarm", "alertDialogLabel": "Alarm",
"searchFieldLabel": "Szukaj" "searchFieldLabel": "Szukaj",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -38,5 +38,11 @@ ...@@ -38,5 +38,11 @@
"popupMenuLabel": "د پاپ اپ مینو", "popupMenuLabel": "د پاپ اپ مینو",
"dialogLabel": "خبرې اترې", "dialogLabel": "خبرې اترې",
"alertDialogLabel": "خبرتیا", "alertDialogLabel": "خبرتیا",
"searchFieldLabel": "لټون" "searchFieldLabel": "لټون",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Menu pop-up", "popupMenuLabel": "Menu pop-up",
"dialogLabel": "Caixa de diálogo", "dialogLabel": "Caixa de diálogo",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Pesquisa" "searchFieldLabel": "Pesquisa",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menu pop-up", "popupMenuLabel": "Menu pop-up",
"dialogLabel": "Caixa de diálogo", "dialogLabel": "Caixa de diálogo",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Pesquisa" "searchFieldLabel": "Pesquisa",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Meniu pop-up", "popupMenuLabel": "Meniu pop-up",
"dialogLabel": "Casetă de dialog", "dialogLabel": "Casetă de dialog",
"alertDialogLabel": "Alerta", "alertDialogLabel": "Alerta",
"searchFieldLabel": "Căutare" "searchFieldLabel": "Căutare",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -42,5 +42,11 @@ ...@@ -42,5 +42,11 @@
"popupMenuLabel": "Всплывающее меню", "popupMenuLabel": "Всплывающее меню",
"dialogLabel": "Диалоговое окно", "dialogLabel": "Диалоговое окно",
"alertDialogLabel": "бдительный", "alertDialogLabel": "бдительный",
"searchFieldLabel": "Поиск" "searchFieldLabel": "Поиск",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Kontextová ponuka", "popupMenuLabel": "Kontextová ponuka",
"dialogLabel": "Dialógové okno", "dialogLabel": "Dialógové okno",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Pojavni meni", "popupMenuLabel": "Pojavni meni",
"dialogLabel": "Pogovorno okno", "dialogLabel": "Pogovorno okno",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Искачући мени", "popupMenuLabel": "Искачући мени",
"dialogLabel": "Дијалог", "dialogLabel": "Дијалог",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -40,5 +40,11 @@ ...@@ -40,5 +40,11 @@
"popupMenuLabel": "Iskačući meni", "popupMenuLabel": "Iskačući meni",
"dialogLabel": "Dijalog", "dialogLabel": "Dijalog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Popup-meny", "popupMenuLabel": "Popup-meny",
"dialogLabel": "Dialogruta", "dialogLabel": "Dialogruta",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "เมนูป๊อปอัป", "popupMenuLabel": "เมนูป๊อปอัป",
"dialogLabel": "กล่องโต้ตอบ", "dialogLabel": "กล่องโต้ตอบ",
"alertDialogLabel": "เตือนภัย", "alertDialogLabel": "เตือนภัย",
"searchFieldLabel": "ค้นหา" "searchFieldLabel": "ค้นหา",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Popup na menu", "popupMenuLabel": "Popup na menu",
"dialogLabel": "Dialog", "dialogLabel": "Dialog",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Popup menü", "popupMenuLabel": "Popup menü",
"dialogLabel": "İletişim kutusu", "dialogLabel": "İletişim kutusu",
"alertDialogLabel": "Alarm", "alertDialogLabel": "Alarm",
"searchFieldLabel": "Arama" "searchFieldLabel": "Arama",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
"popupMenuLabel": "Спливаюче меню", "popupMenuLabel": "Спливаюче меню",
"dialogLabel": "Вікно", "dialogLabel": "Вікно",
"alertDialogLabel": "TBD", "alertDialogLabel": "TBD",
"searchFieldLabel": "TBD" "searchFieldLabel": "TBD",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "پاپ اپ مینو", "popupMenuLabel": "پاپ اپ مینو",
"dialogLabel": "ڈائلاگ", "dialogLabel": "ڈائلاگ",
"alertDialogLabel": "انتباہ", "alertDialogLabel": "انتباہ",
"searchFieldLabel": "تلاش کریں" "searchFieldLabel": "تلاش کریں",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "Menu bật lên", "popupMenuLabel": "Menu bật lên",
"dialogLabel": "Hộp thoại", "dialogLabel": "Hộp thoại",
"alertDialogLabel": "Hộp thoại", "alertDialogLabel": "Hộp thoại",
"searchFieldLabel": "Tìm kiếm" "searchFieldLabel": "Tìm kiếm",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "弹出菜单", "popupMenuLabel": "弹出菜单",
"dialogLabel": "对话框", "dialogLabel": "对话框",
"alertDialogLabel": "警报", "alertDialogLabel": "警报",
"searchFieldLabel": "搜索" "searchFieldLabel": "搜索",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "彈出式選單", "popupMenuLabel": "彈出式選單",
"dialogLabel": "對話方塊", "dialogLabel": "對話方塊",
"alertDialogLabel": "警报", "alertDialogLabel": "警报",
"searchFieldLabel": "搜索" "searchFieldLabel": "搜索",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
...@@ -39,5 +39,11 @@ ...@@ -39,5 +39,11 @@
"popupMenuLabel": "彈出式選單", "popupMenuLabel": "彈出式選單",
"dialogLabel": "對話方塊", "dialogLabel": "對話方塊",
"alertDialogLabel": "警报", "alertDialogLabel": "警报",
"searchFieldLabel": "搜索" "searchFieldLabel": "搜索",
"reorderItemToStart": "TBD",
"reorderItemToEnd": "TBD",
"reorderItemUp": "TBD",
"reorderItemDown": "TBD",
"reorderItemLeft": "TBD",
"reorderItemRight": "TBD"
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment