mirror of
https://github.com/flutter/flutter
synced 2024-09-12 21:01:59 +00:00
parent
c7bab2973e
commit
9e4b5fb7d9
|
@ -69,18 +69,23 @@ void _rewriteBundle(File file, Map<String, dynamic> bundle) {
|
|||
}
|
||||
|
||||
void encodeKnArbFiles(Directory directory) {
|
||||
final File widgetsArbFile = File(path.join(directory.path, 'widgets_kn.arb'));
|
||||
final File materialArbFile = File(path.join(directory.path, 'material_kn.arb'));
|
||||
final File cupertinoArbFile = File(path.join(directory.path, 'cupertino_kn.arb'));
|
||||
|
||||
final Map<String, dynamic> widgetsBundle = _loadBundle(widgetsArbFile);
|
||||
final Map<String, dynamic> materialBundle = _loadBundle(materialArbFile);
|
||||
final Map<String, dynamic> cupertinoBundle = _loadBundle(cupertinoArbFile);
|
||||
|
||||
_encodeBundleTranslations(widgetsBundle);
|
||||
_encodeBundleTranslations(materialBundle);
|
||||
_encodeBundleTranslations(cupertinoBundle);
|
||||
|
||||
_checkEncodedTranslations(widgetsBundle, _loadBundle(widgetsArbFile));
|
||||
_checkEncodedTranslations(materialBundle, _loadBundle(materialArbFile));
|
||||
_checkEncodedTranslations(cupertinoBundle, _loadBundle(cupertinoArbFile));
|
||||
|
||||
_rewriteBundle(widgetsArbFile, widgetsBundle);
|
||||
_rewriteBundle(materialArbFile, materialBundle);
|
||||
_rewriteBundle(cupertinoArbFile, cupertinoBundle);
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ import 'package:path/path.dart' as path;
|
|||
|
||||
import '../gen_cupertino_localizations.dart';
|
||||
import '../gen_material_localizations.dart';
|
||||
import '../gen_widgets_localizations.dart';
|
||||
import '../localizations_utils.dart';
|
||||
import '../localizations_validator.dart';
|
||||
import 'encode_kn_arb_files.dart';
|
||||
|
@ -65,8 +66,10 @@ String generateArbBasedLocalizationSubclasses({
|
|||
required String baseClass,
|
||||
required HeaderGenerator generateHeader,
|
||||
required ConstructorGenerator generateConstructor,
|
||||
ConstructorGenerator? generateConstructorForCountrySubClass,
|
||||
required String factoryName,
|
||||
required String factoryDeclaration,
|
||||
required bool callsFactoryWithConst,
|
||||
required String factoryArguments,
|
||||
required String supportedLanguagesConstant,
|
||||
required String supportedLanguagesDocMacro,
|
||||
|
@ -78,7 +81,7 @@ String generateArbBasedLocalizationSubclasses({
|
|||
assert(factoryArguments.isNotEmpty);
|
||||
assert(supportedLanguagesConstant.isNotEmpty);
|
||||
assert(supportedLanguagesDocMacro.isNotEmpty);
|
||||
|
||||
generateConstructorForCountrySubClass ??= generateConstructor;
|
||||
final StringBuffer output = StringBuffer();
|
||||
output.writeln(generateHeader('dart dev/tools/localization/bin/gen_localizations.dart --overwrite'));
|
||||
|
||||
|
@ -133,7 +136,6 @@ String generateArbBasedLocalizationSubclasses({
|
|||
final LocaleInfo canonicalLocale = LocaleInfo.fromString('en');
|
||||
for (final String languageName in languageCodes) {
|
||||
final LocaleInfo languageLocale = LocaleInfo.fromString(languageName);
|
||||
|
||||
output.writeln(generateClassDeclaration(languageLocale, generatedClassPrefix, baseClass));
|
||||
output.writeln(generateConstructor(languageLocale));
|
||||
|
||||
|
@ -156,7 +158,7 @@ String generateArbBasedLocalizationSubclasses({
|
|||
generatedClassPrefix,
|
||||
'$generatedClassPrefix${languageLocale.camelCase()}',
|
||||
));
|
||||
output.writeln(generateConstructor(scriptBaseLocale));
|
||||
output.writeln(generateConstructorForCountrySubClass(scriptBaseLocale));
|
||||
final Map<String, String> scriptResources = localeToResources[scriptBaseLocale]!;
|
||||
for (final String key in scriptResources.keys.toList()..sort()) {
|
||||
if (languageResources[key] == scriptResources[key]) {
|
||||
|
@ -184,7 +186,7 @@ String generateArbBasedLocalizationSubclasses({
|
|||
generatedClassPrefix,
|
||||
'$generatedClassPrefix${scriptBaseLocale.camelCase()}',
|
||||
));
|
||||
output.writeln(generateConstructor(locale));
|
||||
output.writeln(generateConstructorForCountrySubClass(locale));
|
||||
final Map<String, String> localeResources = localeToResources[locale]!;
|
||||
for (final String key in localeResources.keys) {
|
||||
// When script fallback contains the key, we compare to it instead of language fallback.
|
||||
|
@ -212,7 +214,7 @@ String generateArbBasedLocalizationSubclasses({
|
|||
generatedClassPrefix,
|
||||
'$generatedClassPrefix${languageLocale.camelCase()}',
|
||||
));
|
||||
output.writeln(generateConstructor(locale));
|
||||
output.writeln(generateConstructorForCountrySubClass(locale));
|
||||
for (final String key in localeResources.keys) {
|
||||
if (languageResources[key] == localeResources[key]) {
|
||||
continue;
|
||||
|
@ -279,7 +281,7 @@ $factoryDeclaration
|
|||
if (languageToLocales[language]!.length == 1) {
|
||||
output.writeln('''
|
||||
case '$language':
|
||||
return $generatedClassPrefix${languageToLocales[language]![0].camelCase()}($factoryArguments);''');
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${languageToLocales[language]![0].camelCase()}($factoryArguments);''');
|
||||
} else if (!languageToScriptCodes.containsKey(language)) { // Does not distinguish between scripts. Switch on countryCode directly.
|
||||
output.writeln('''
|
||||
case '$language': {
|
||||
|
@ -292,11 +294,11 @@ $factoryDeclaration
|
|||
final String countryCode = locale.countryCode!;
|
||||
output.writeln('''
|
||||
case '$countryCode':
|
||||
return $generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
}
|
||||
output.writeln('''
|
||||
}
|
||||
return $generatedClassPrefix${LocaleInfo.fromString(language).camelCase()}($factoryArguments);
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${LocaleInfo.fromString(language).camelCase()}($factoryArguments);
|
||||
}''');
|
||||
} else { // Language has scriptCode, add additional switch logic.
|
||||
bool hasCountryCode = false;
|
||||
|
@ -325,7 +327,7 @@ $factoryDeclaration
|
|||
final String countryCode = locale.countryCode!;
|
||||
output.writeln('''
|
||||
case '$countryCode':
|
||||
return $generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
}
|
||||
}
|
||||
// Return a fallback locale that matches scriptCode, but not countryCode.
|
||||
|
@ -337,7 +339,7 @@ $factoryDeclaration
|
|||
}''');
|
||||
}
|
||||
output.writeln('''
|
||||
return $generatedClassPrefix${scriptLocale.camelCase()}($factoryArguments);
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${scriptLocale.camelCase()}($factoryArguments);
|
||||
}''');
|
||||
} else {
|
||||
// Not Explicitly defined, fallback to first locale with the same language and
|
||||
|
@ -351,7 +353,7 @@ $factoryDeclaration
|
|||
}''');
|
||||
}
|
||||
output.writeln('''
|
||||
return $generatedClassPrefix${scriptLocale.camelCase()}($factoryArguments);
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${scriptLocale.camelCase()}($factoryArguments);
|
||||
}''');
|
||||
break;
|
||||
}
|
||||
|
@ -373,13 +375,13 @@ $factoryDeclaration
|
|||
final String countryCode = locale.countryCode!;
|
||||
output.writeln('''
|
||||
case '$countryCode':
|
||||
return $generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${locale.camelCase()}($factoryArguments);''');
|
||||
}
|
||||
output.writeln('''
|
||||
}''');
|
||||
}
|
||||
output.writeln('''
|
||||
return $generatedClassPrefix${LocaleInfo.fromString(language).camelCase()}($factoryArguments);
|
||||
return ${callsFactoryWithConst ? 'const ': ''}$generatedClassPrefix${LocaleInfo.fromString(language).camelCase()}($factoryArguments);
|
||||
}''');
|
||||
}
|
||||
}
|
||||
|
@ -515,10 +517,12 @@ void main(List<String> rawArgs) {
|
|||
// code. In most cases both codes are just two characters.
|
||||
|
||||
final Directory directory = Directory(path.join('packages', 'flutter_localizations', 'lib', 'src', 'l10n'));
|
||||
final RegExp widgetsFilenameRE = RegExp(r'widgets_(\w+)\.arb$');
|
||||
final RegExp materialFilenameRE = RegExp(r'material_(\w+)\.arb$');
|
||||
final RegExp cupertinoFilenameRE = RegExp(r'cupertino_(\w+)\.arb$');
|
||||
|
||||
try {
|
||||
validateEnglishLocalizations(File(path.join(directory.path, 'widgets_en.arb')));
|
||||
validateEnglishLocalizations(File(path.join(directory.path, 'material_en.arb')));
|
||||
validateEnglishLocalizations(File(path.join(directory.path, 'cupertino_en.arb')));
|
||||
} on ValidationError catch (exception) {
|
||||
|
@ -537,17 +541,30 @@ void main(List<String> rawArgs) {
|
|||
|
||||
precacheLanguageAndRegionTags();
|
||||
|
||||
// Maps of locales to resource key/value pairs for Widgets ARBs.
|
||||
final Map<LocaleInfo, Map<String, String>> widgetsLocaleToResources = <LocaleInfo, Map<String, String>>{};
|
||||
// Maps of locales to resource key/attributes pairs for Widgets ARBs..
|
||||
// https://github.com/googlei18n/app-resource-bundle/wiki/ApplicationResourceBundleSpecification#resource-attributes
|
||||
final Map<LocaleInfo, Map<String, dynamic>> widgetsLocaleToResourceAttributes = <LocaleInfo, Map<String, dynamic>>{};
|
||||
|
||||
// Maps of locales to resource key/value pairs for Material ARBs.
|
||||
final Map<LocaleInfo, Map<String, String>> materialLocaleToResources = <LocaleInfo, Map<String, String>>{};
|
||||
// Maps of locales to resource key/attributes pairs for Material ARBs..
|
||||
// https://github.com/googlei18n/app-resource-bundle/wiki/ApplicationResourceBundleSpecification#resource-attributes
|
||||
final Map<LocaleInfo, Map<String, dynamic>> materialLocaleToResourceAttributes = <LocaleInfo, Map<String, dynamic>>{};
|
||||
|
||||
// Maps of locales to resource key/value pairs for Cupertino ARBs.
|
||||
final Map<LocaleInfo, Map<String, String>> cupertinoLocaleToResources = <LocaleInfo, Map<String, String>>{};
|
||||
// Maps of locales to resource key/attributes pairs for Cupertino ARBs..
|
||||
// https://github.com/googlei18n/app-resource-bundle/wiki/ApplicationResourceBundleSpecification#resource-attributes
|
||||
final Map<LocaleInfo, Map<String, dynamic>> cupertinoLocaleToResourceAttributes = <LocaleInfo, Map<String, dynamic>>{};
|
||||
|
||||
loadMatchingArbsIntoBundleMaps(
|
||||
directory: directory,
|
||||
filenamePattern: widgetsFilenameRE,
|
||||
localeToResources: widgetsLocaleToResources,
|
||||
localeToResourceAttributes: widgetsLocaleToResourceAttributes,
|
||||
);
|
||||
loadMatchingArbsIntoBundleMaps(
|
||||
directory: directory,
|
||||
filenamePattern: materialFilenameRE,
|
||||
|
@ -562,17 +579,35 @@ void main(List<String> rawArgs) {
|
|||
);
|
||||
|
||||
try {
|
||||
validateLocalizations(widgetsLocaleToResources, widgetsLocaleToResourceAttributes, removeUndefined: options.removeUndefined);
|
||||
validateLocalizations(materialLocaleToResources, materialLocaleToResourceAttributes, removeUndefined: options.removeUndefined);
|
||||
validateLocalizations(cupertinoLocaleToResources, cupertinoLocaleToResourceAttributes, removeUndefined: options.removeUndefined);
|
||||
} on ValidationError catch (exception) {
|
||||
exitWithError('$exception');
|
||||
}
|
||||
|
||||
if (options.removeUndefined) {
|
||||
removeUndefinedLocalizations(widgetsLocaleToResources);
|
||||
removeUndefinedLocalizations(materialLocaleToResources);
|
||||
removeUndefinedLocalizations(cupertinoLocaleToResources);
|
||||
}
|
||||
|
||||
final String? widgetsLocalizations = options.writeToFile || !options.cupertinoOnly
|
||||
? generateArbBasedLocalizationSubclasses(
|
||||
localeToResources: widgetsLocaleToResources,
|
||||
localeToResourceAttributes: widgetsLocaleToResourceAttributes,
|
||||
generatedClassPrefix: 'WidgetsLocalization',
|
||||
baseClass: 'GlobalWidgetsLocalizations',
|
||||
generateHeader: generateWidgetsHeader,
|
||||
generateConstructor: generateWidgetsConstructor,
|
||||
generateConstructorForCountrySubClass: generateWidgetsConstructorForCountrySubclass,
|
||||
factoryName: widgetsFactoryName,
|
||||
factoryDeclaration: widgetsFactoryDeclaration,
|
||||
callsFactoryWithConst: true,
|
||||
factoryArguments: widgetsFactoryArguments,
|
||||
supportedLanguagesConstant: widgetsSupportedLanguagesConstant,
|
||||
supportedLanguagesDocMacro: widgetsSupportedLanguagesDocMacro,
|
||||
)
|
||||
: null;
|
||||
final String? materialLocalizations = options.writeToFile || !options.cupertinoOnly
|
||||
? generateArbBasedLocalizationSubclasses(
|
||||
localeToResources: materialLocaleToResources,
|
||||
|
@ -583,6 +618,7 @@ void main(List<String> rawArgs) {
|
|||
generateConstructor: generateMaterialConstructor,
|
||||
factoryName: materialFactoryName,
|
||||
factoryDeclaration: materialFactoryDeclaration,
|
||||
callsFactoryWithConst: false,
|
||||
factoryArguments: materialFactoryArguments,
|
||||
supportedLanguagesConstant: materialSupportedLanguagesConstant,
|
||||
supportedLanguagesDocMacro: materialSupportedLanguagesDocMacro,
|
||||
|
@ -598,6 +634,7 @@ void main(List<String> rawArgs) {
|
|||
generateConstructor: generateCupertinoConstructor,
|
||||
factoryName: cupertinoFactoryName,
|
||||
factoryDeclaration: cupertinoFactoryDeclaration,
|
||||
callsFactoryWithConst: false,
|
||||
factoryArguments: cupertinoFactoryArguments,
|
||||
supportedLanguagesConstant: cupertinoSupportedLanguagesConstant,
|
||||
supportedLanguagesDocMacro: cupertinoSupportedLanguagesDocMacro,
|
||||
|
@ -605,15 +642,22 @@ void main(List<String> rawArgs) {
|
|||
: null;
|
||||
|
||||
if (options.writeToFile) {
|
||||
final File widgetsLocalizationsFile = File(path.join(directory.path, 'generated_widgets_localizations.dart'));
|
||||
widgetsLocalizationsFile.writeAsStringSync(widgetsLocalizations!, flush: true);
|
||||
final File materialLocalizationsFile = File(path.join(directory.path, 'generated_material_localizations.dart'));
|
||||
materialLocalizationsFile.writeAsStringSync(materialLocalizations!, flush: true);
|
||||
final File cupertinoLocalizationsFile = File(path.join(directory.path, 'generated_cupertino_localizations.dart'));
|
||||
cupertinoLocalizationsFile.writeAsStringSync(cupertinoLocalizations!, flush: true);
|
||||
} else {
|
||||
if (!options.cupertinoOnly) {
|
||||
if (options.cupertinoOnly) {
|
||||
stdout.write(cupertinoLocalizations);
|
||||
} else if (options.materialOnly) {
|
||||
stdout.write(materialLocalizations);
|
||||
} else if (options.widgetsOnly) {
|
||||
stdout.write(widgetsLocalizations);
|
||||
} else {
|
||||
stdout.write(widgetsLocalizations);
|
||||
stdout.write(materialLocalizations);
|
||||
}
|
||||
if (!options.materialOnly) {
|
||||
stdout.write(cupertinoLocalizations);
|
||||
}
|
||||
}
|
||||
|
|
74
dev/tools/localization/gen_widgets_localizations.dart
Normal file
74
dev/tools/localization/gen_widgets_localizations.dart
Normal file
|
@ -0,0 +1,74 @@
|
|||
// Copyright 2014 The Flutter Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'localizations_utils.dart';
|
||||
|
||||
// See http://en.wikipedia.org/wiki/Right-to-left
|
||||
const List<String> _rtlLanguages = <String>[
|
||||
'ar', // Arabic
|
||||
'fa', // Farsi
|
||||
'he', // Hebrew
|
||||
'ps', // Pashto
|
||||
'ur', // Urdu
|
||||
];
|
||||
|
||||
String generateWidgetsHeader(String regenerateInstructions) {
|
||||
return '''
|
||||
// Copyright 2014 The Flutter Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// This file has been automatically generated. Please do not edit it manually.
|
||||
// To regenerate the file, use:
|
||||
// $regenerateInstructions
|
||||
|
||||
import 'dart:collection';
|
||||
import 'dart:ui';
|
||||
|
||||
import '../widgets_localizations.dart';
|
||||
|
||||
// The classes defined here encode all of the translations found in the
|
||||
// `flutter_localizations/lib/src/l10n/*.arb` files.
|
||||
//
|
||||
// These classes are constructed by the [getWidgetsTranslation] method at the
|
||||
// bottom of this file, and used by the [_WidgetsLocalizationsDelegate.load]
|
||||
// method defined in `flutter_localizations/lib/src/widgets_localizations.dart`.''';
|
||||
}
|
||||
|
||||
/// Returns the source of the constructor for a GlobalWidgetsLocalizations
|
||||
/// subclass.
|
||||
String generateWidgetsConstructor(LocaleInfo locale) {
|
||||
final String localeName = locale.originalString;
|
||||
final String language = locale.languageCode.toLowerCase();
|
||||
final String textDirection = _rtlLanguages.contains(language) ? 'TextDirection.rtl' : 'TextDirection.ltr';
|
||||
return '''
|
||||
/// Create an instance of the translation bundle for ${describeLocale(localeName)}.
|
||||
///
|
||||
/// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations].
|
||||
const WidgetsLocalization${locale.camelCase()}() : super($textDirection);''';
|
||||
}
|
||||
|
||||
/// Returns the source of the constructor for a GlobalWidgetsLocalizations
|
||||
/// subclass.
|
||||
String generateWidgetsConstructorForCountrySubclass(LocaleInfo locale) {
|
||||
final String localeName = locale.originalString;
|
||||
return '''
|
||||
/// Create an instance of the translation bundle for ${describeLocale(localeName)}.
|
||||
///
|
||||
/// For details on the meaning of the arguments, see [GlobalWidgetsLocalizations].
|
||||
const WidgetsLocalization${locale.camelCase()}();''';
|
||||
}
|
||||
|
||||
const String widgetsFactoryName = 'getWidgetsTranslation';
|
||||
|
||||
const String widgetsFactoryDeclaration = '''
|
||||
GlobalWidgetsLocalizations? getWidgetsTranslation(
|
||||
Locale locale,
|
||||
) {''';
|
||||
|
||||
const String widgetsFactoryArguments = '';
|
||||
|
||||
const String widgetsSupportedLanguagesConstant = 'kWidgetsSupportedLanguages';
|
||||
|
||||
const String widgetsSupportedLanguagesDocMacro = 'flutter.localizations.widgets.languages';
|
|
@ -239,6 +239,10 @@ GeneratorOptions parseArgs(List<String> rawArgs) {
|
|||
'remove-undefined',
|
||||
help: 'Remove any localizations that are not defined in the canonical locale.',
|
||||
)
|
||||
..addFlag(
|
||||
'widgets',
|
||||
help: 'Whether to print the generated classes for the Widgets package only. Ignored when --overwrite is passed.',
|
||||
)
|
||||
..addFlag(
|
||||
'material',
|
||||
help: 'Whether to print the generated classes for the Material package only. Ignored when --overwrite is passed.',
|
||||
|
@ -254,6 +258,7 @@ GeneratorOptions parseArgs(List<String> rawArgs) {
|
|||
}
|
||||
final bool writeToFile = args['overwrite'] as bool;
|
||||
final bool removeUndefined = args['remove-undefined'] as bool;
|
||||
final bool widgetsOnly = args['widgets'] as bool;
|
||||
final bool materialOnly = args['material'] as bool;
|
||||
final bool cupertinoOnly = args['cupertino'] as bool;
|
||||
|
||||
|
@ -261,6 +266,7 @@ GeneratorOptions parseArgs(List<String> rawArgs) {
|
|||
writeToFile: writeToFile,
|
||||
materialOnly: materialOnly,
|
||||
cupertinoOnly: cupertinoOnly,
|
||||
widgetsOnly: widgetsOnly,
|
||||
removeUndefined: removeUndefined,
|
||||
);
|
||||
}
|
||||
|
@ -271,12 +277,14 @@ class GeneratorOptions {
|
|||
required this.removeUndefined,
|
||||
required this.materialOnly,
|
||||
required this.cupertinoOnly,
|
||||
required this.widgetsOnly,
|
||||
});
|
||||
|
||||
final bool writeToFile;
|
||||
final bool removeUndefined;
|
||||
final bool materialOnly;
|
||||
final bool cupertinoOnly;
|
||||
final bool widgetsOnly;
|
||||
}
|
||||
|
||||
// See also //master/tools/gen_locale.dart in the engine repo.
|
||||
|
|
|
@ -145,7 +145,7 @@ abstract class LocalizationsDelegate<T> {
|
|||
/// Interface for localized resource values for the lowest levels of the Flutter
|
||||
/// framework.
|
||||
///
|
||||
/// In particular, this maps locales to a specific [Directionality] using the
|
||||
/// This class also maps locales to a specific [Directionality] using the
|
||||
/// [textDirection] property.
|
||||
///
|
||||
/// See also:
|
||||
|
@ -156,6 +156,30 @@ abstract class WidgetsLocalizations {
|
|||
/// The reading direction for text in this locale.
|
||||
TextDirection get textDirection;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list to the start of the list.
|
||||
String get reorderItemToStart;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list to the end of the list.
|
||||
String get reorderItemToEnd;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list one space up the list.
|
||||
String get reorderItemUp;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list one space down the list.
|
||||
String get reorderItemDown;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list one space left in the list.
|
||||
String get reorderItemLeft;
|
||||
|
||||
/// The semantics label used for [SliverReorderableList] to reorder an item in the
|
||||
/// list one space right in the list.
|
||||
String get reorderItemRight;
|
||||
|
||||
/// The `WidgetsLocalizations` from the closest [Localizations] instance
|
||||
/// that encloses the given context.
|
||||
///
|
||||
|
@ -207,6 +231,24 @@ class DefaultWidgetsLocalizations implements WidgetsLocalizations {
|
|||
/// [LocalizationsDelegate] implementations typically call the static [load]
|
||||
const DefaultWidgetsLocalizations();
|
||||
|
||||
@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';
|
||||
|
||||
@override
|
||||
TextDirection get textDirection => TextDirection.ltr;
|
||||
|
||||
|
|
|
@ -549,7 +549,7 @@ class RtlOverrideWidgetsDelegate extends LocalizationsDelegate<WidgetsLocalizati
|
|||
bool shouldReload(LocalizationsDelegate<WidgetsLocalizations> oldDelegate) => false;
|
||||
}
|
||||
|
||||
class RtlOverrideWidgetsLocalization implements WidgetsLocalizations {
|
||||
class RtlOverrideWidgetsLocalization extends DefaultWidgetsLocalizations {
|
||||
const RtlOverrideWidgetsLocalization();
|
||||
@override
|
||||
TextDirection get textDirection => TextDirection.rtl;
|
||||
|
|
|
@ -69,12 +69,6 @@ void main() {
|
|||
expect(localizations.signedInLabel, isNotNull);
|
||||
expect(localizations.hideAccountsLabel, isNotNull);
|
||||
expect(localizations.showAccountsLabel, isNotNull);
|
||||
expect(localizations.reorderItemToStart, isNotNull);
|
||||
expect(localizations.reorderItemToEnd, isNotNull);
|
||||
expect(localizations.reorderItemUp, isNotNull);
|
||||
expect(localizations.reorderItemDown, isNotNull);
|
||||
expect(localizations.reorderItemLeft, isNotNull);
|
||||
expect(localizations.reorderItemRight, isNotNull);
|
||||
expect(localizations.keyboardKeyAlt, isNotNull);
|
||||
expect(localizations.keyboardKeyAltGraph, isNotNull);
|
||||
expect(localizations.keyboardKeyBackspace, isNotNull);
|
||||
|
|
|
@ -8,5 +8,6 @@ library flutter_localizations;
|
|||
export 'src/cupertino_localizations.dart';
|
||||
export 'src/l10n/generated_cupertino_localizations.dart';
|
||||
export 'src/l10n/generated_material_localizations.dart';
|
||||
export 'src/l10n/generated_widgets_localizations.dart';
|
||||
export 'src/material_localizations.dart';
|
||||
export 'src/widgets_localizations.dart';
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Skuif na die begin",
|
||||
"reorderItemToEnd": "Skuif na die einde",
|
||||
"reorderItemUp": "Skuif op",
|
||||
"reorderItemDown": "Skuif af",
|
||||
"reorderItemLeft": "Skuif na links",
|
||||
"reorderItemRight": "Skuif na regs"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "ወደ መጀመሪያ ውሰድ",
|
||||
"reorderItemToEnd": "ወደ መጨረሻ ውሰድ",
|
||||
"reorderItemUp": "ወደ ላይ ውሰድ",
|
||||
"reorderItemDown": "ወደ ታች ውሰድ",
|
||||
"reorderItemLeft": "ወደ ግራ ውሰድ",
|
||||
"reorderItemRight": "ወደ ቀኝ ውሰድ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "نقل إلى بداية القائمة",
|
||||
"reorderItemToEnd": "نقل إلى نهاية القائمة",
|
||||
"reorderItemUp": "نقل لأعلى",
|
||||
"reorderItemDown": "نقل لأسفل",
|
||||
"reorderItemLeft": "نقل لليمين",
|
||||
"reorderItemRight": "نقل لليسار"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "আৰম্ভণিলৈ স্থানান্তৰ কৰক",
|
||||
"reorderItemToEnd": "শেষলৈ স্থানান্তৰ কৰক",
|
||||
"reorderItemUp": "ওপৰলৈ নিয়ক",
|
||||
"reorderItemDown": "তললৈ স্থানান্তৰ কৰক",
|
||||
"reorderItemLeft": "বাওঁফাললৈ স্থানান্তৰ কৰক",
|
||||
"reorderItemRight": "সোঁফাললৈ স্থানান্তৰ কৰক"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Əvvələ köçürün",
|
||||
"reorderItemToEnd": "Sona köçürün",
|
||||
"reorderItemUp": "Yuxarı köçürün",
|
||||
"reorderItemDown": "Aşağı köçürün",
|
||||
"reorderItemLeft": "Sola köçürün",
|
||||
"reorderItemRight": "Sağa köçürün"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Перамясціць у пачатак",
|
||||
"reorderItemToEnd": "Перамясціць у канец",
|
||||
"reorderItemUp": "Перамясціць уверх",
|
||||
"reorderItemDown": "Перамясціць уніз",
|
||||
"reorderItemLeft": "Перамясціць улева",
|
||||
"reorderItemRight": "Перамясціць управа"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Преместване в началото",
|
||||
"reorderItemToEnd": "Преместване в края",
|
||||
"reorderItemUp": "Преместване нагоре",
|
||||
"reorderItemDown": "Преместване надолу",
|
||||
"reorderItemLeft": "Преместване наляво",
|
||||
"reorderItemRight": "Преместване надясно"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "চালু করতে সরান",
|
||||
"reorderItemToEnd": "একদম শেষের দিকে যান",
|
||||
"reorderItemUp": "উপরের দিকে সরান",
|
||||
"reorderItemDown": "নিচের দিকে সরান",
|
||||
"reorderItemLeft": "বাঁদিকে সরান",
|
||||
"reorderItemRight": "ডানদিকে সরান"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Pomjerite na početak",
|
||||
"reorderItemToEnd": "Pomjerite na kraj",
|
||||
"reorderItemUp": "Pomjeri nagore",
|
||||
"reorderItemDown": "Pomjeri nadolje",
|
||||
"reorderItemLeft": "Pomjeri lijevo",
|
||||
"reorderItemRight": "Pomjeri desno"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mou al principi",
|
||||
"reorderItemToEnd": "Mou al final",
|
||||
"reorderItemUp": "Mou amunt",
|
||||
"reorderItemDown": "Mou avall",
|
||||
"reorderItemLeft": "Mou cap a l'esquerra",
|
||||
"reorderItemRight": "Mou cap a la dreta"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Přesunout na začátek",
|
||||
"reorderItemToEnd": "Přesunout na konec",
|
||||
"reorderItemUp": "Přesunout nahoru",
|
||||
"reorderItemDown": "Přesunout dolů",
|
||||
"reorderItemLeft": "Přesunout doleva",
|
||||
"reorderItemRight": "Přesunout doprava"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Symud i'r dechrau",
|
||||
"reorderItemToEnd": "Symud i'r diwedd",
|
||||
"reorderItemUp": "Symud i fyny",
|
||||
"reorderItemDown": "Symud i lawr",
|
||||
"reorderItemLeft": "Symud i'r chwith",
|
||||
"reorderItemRight": "Symud i'r dde"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Flyt til først på listen",
|
||||
"reorderItemToEnd": "Flyt til sidst på listen",
|
||||
"reorderItemUp": "Flyt op",
|
||||
"reorderItemDown": "Flyt ned",
|
||||
"reorderItemLeft": "Flyt til venstre",
|
||||
"reorderItemRight": "Flyt til højre"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "An den Anfang verschieben",
|
||||
"reorderItemToEnd": "An das Ende verschieben",
|
||||
"reorderItemUp": "Nach oben verschieben",
|
||||
"reorderItemDown": "Nach unten verschieben",
|
||||
"reorderItemLeft": "Nach links verschieben",
|
||||
"reorderItemRight": "Nach rechts verschieben"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "An den Anfang verschieben",
|
||||
"reorderItemToEnd": "An das Ende verschieben",
|
||||
"reorderItemUp": "Nach oben verschieben",
|
||||
"reorderItemDown": "Nach unten verschieben",
|
||||
"reorderItemLeft": "Nach links verschieben",
|
||||
"reorderItemRight": "Nach rechts verschieben"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Μετακίνηση στην αρχή",
|
||||
"reorderItemToEnd": "Μετακίνηση στο τέλος",
|
||||
"reorderItemUp": "Μετακίνηση προς τα πάνω",
|
||||
"reorderItemDown": "Μετακίνηση προς τα κάτω",
|
||||
"reorderItemLeft": "Μετακίνηση αριστερά",
|
||||
"reorderItemRight": "Μετακίνηση δεξιά"
|
||||
}
|
31
packages/flutter_localizations/lib/src/l10n/widgets_en.arb
Normal file
31
packages/flutter_localizations/lib/src/l10n/widgets_en.arb
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"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."
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move to the left",
|
||||
"reorderItemRight": "Move to the right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover al principio",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemRight": "Mover hacia la derecha"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover al inicio",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemRight": "Mover hacia la derecha"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover al inicio",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemRight": "Mover hacia la derecha"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemDown": "Mover hacia abajo",
|
||||
"reorderItemLeft": "Mover hacia la izquierda",
|
||||
"reorderItemToEnd": "Mover al final",
|
||||
"reorderItemRight": "Mover hacia la derecha",
|
||||
"reorderItemUp": "Mover hacia arriba",
|
||||
"reorderItemToStart": "Mover al inicio"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Teisalda algusesse",
|
||||
"reorderItemToEnd": "Teisalda lõppu",
|
||||
"reorderItemUp": "Teisalda üles",
|
||||
"reorderItemDown": "Teisalda alla",
|
||||
"reorderItemLeft": "Teisalda vasakule",
|
||||
"reorderItemRight": "Teisalda paremale"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Eraman hasierara",
|
||||
"reorderItemToEnd": "Eraman amaierara",
|
||||
"reorderItemUp": "Eraman gora",
|
||||
"reorderItemDown": "Eraman behera",
|
||||
"reorderItemLeft": "Eraman ezkerrera",
|
||||
"reorderItemRight": "Eraman eskuinera"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "انتقال به ابتدا",
|
||||
"reorderItemToEnd": "انتقال به انتها",
|
||||
"reorderItemUp": "انتقال به بالا",
|
||||
"reorderItemDown": "انتقال به پایین",
|
||||
"reorderItemLeft": "انتقال به راست",
|
||||
"reorderItemRight": "انتقال به چپ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Siirrä alkuun",
|
||||
"reorderItemToEnd": "Siirrä loppuun",
|
||||
"reorderItemUp": "Siirrä ylös",
|
||||
"reorderItemDown": "Siirrä alas",
|
||||
"reorderItemLeft": "Siirrä vasemmalle",
|
||||
"reorderItemRight": "Siirrä oikealle"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Ilipat sa simula",
|
||||
"reorderItemToEnd": "Ilipat sa dulo",
|
||||
"reorderItemUp": "Ilipat pataas",
|
||||
"reorderItemDown": "Ilipat pababa",
|
||||
"reorderItemLeft": "Ilipat pakaliwa",
|
||||
"reorderItemRight": "Ilipat pakanan"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Déplacer vers le début",
|
||||
"reorderItemToEnd": "Déplacer vers la fin",
|
||||
"reorderItemUp": "Déplacer vers le haut",
|
||||
"reorderItemDown": "Déplacer vers le bas",
|
||||
"reorderItemLeft": "Déplacer vers la gauche",
|
||||
"reorderItemRight": "Déplacer vers la droite"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Déplacer au début",
|
||||
"reorderItemToEnd": "Déplacer à la fin",
|
||||
"reorderItemUp": "Déplacer vers le haut",
|
||||
"reorderItemDown": "Déplacer vers le bas",
|
||||
"reorderItemLeft": "Déplacer vers la gauche",
|
||||
"reorderItemRight": "Déplacer vers la droite"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover ao inicio",
|
||||
"reorderItemToEnd": "Mover ao final",
|
||||
"reorderItemUp": "Mover cara arriba",
|
||||
"reorderItemDown": "Mover cara abaixo",
|
||||
"reorderItemLeft": "Mover cara á esquerda",
|
||||
"reorderItemRight": "Mover cara á dereita"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "An den Anfang verschieben",
|
||||
"reorderItemToEnd": "An das Ende verschieben",
|
||||
"reorderItemUp": "Nach oben verschieben",
|
||||
"reorderItemDown": "Nach unten verschieben",
|
||||
"reorderItemLeft": "Nach links verschieben",
|
||||
"reorderItemRight": "Nach rechts verschieben"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "પ્રારંભમાં ખસેડો",
|
||||
"reorderItemToEnd": "અંતમાં ખસેડો",
|
||||
"reorderItemUp": "ઉપર ખસેડો",
|
||||
"reorderItemDown": "નીચે ખસેડો",
|
||||
"reorderItemLeft": "ડાબે ખસેડો",
|
||||
"reorderItemRight": "જમણે ખસેડો"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "העברה להתחלה",
|
||||
"reorderItemToEnd": "העברה לסוף",
|
||||
"reorderItemUp": "העברה למעלה",
|
||||
"reorderItemDown": "העברה למטה",
|
||||
"reorderItemLeft": "העברה שמאלה",
|
||||
"reorderItemRight": "העברה ימינה"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "शुरुआत पर ले जाएं",
|
||||
"reorderItemToEnd": "आखिर में ले जाएं",
|
||||
"reorderItemUp": "ऊपर ले जाएं",
|
||||
"reorderItemDown": "नीचे ले जाएं",
|
||||
"reorderItemLeft": "बाएं ले जाएं",
|
||||
"reorderItemRight": "दाएं ले जाएं"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Premjesti na početak",
|
||||
"reorderItemToEnd": "Premjesti na kraj",
|
||||
"reorderItemUp": "Pomakni prema gore",
|
||||
"reorderItemDown": "Pomakni prema dolje",
|
||||
"reorderItemLeft": "Pomakni ulijevo",
|
||||
"reorderItemRight": "Pomakni udesno"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Áthelyezés az elejére",
|
||||
"reorderItemToEnd": "Áthelyezés a végére",
|
||||
"reorderItemUp": "Áthelyezés felfelé",
|
||||
"reorderItemDown": "Áthelyezés lefelé",
|
||||
"reorderItemLeft": "Áthelyezés balra",
|
||||
"reorderItemRight": "Áthelyezés jobbra"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Տեղափոխել սկիզբ",
|
||||
"reorderItemToEnd": "Տեղափոխել վերջ",
|
||||
"reorderItemUp": "Տեղափոխել վերև",
|
||||
"reorderItemDown": "Տեղափոխել ներքև",
|
||||
"reorderItemLeft": "Տեղափոխել ձախ",
|
||||
"reorderItemRight": "Տեղափոխել աջ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Pindahkan ke awal",
|
||||
"reorderItemToEnd": "Pindahkan ke akhir",
|
||||
"reorderItemUp": "Naikkan",
|
||||
"reorderItemDown": "Turunkan",
|
||||
"reorderItemLeft": "Pindahkan ke kiri",
|
||||
"reorderItemRight": "Pindahkan ke kanan"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Færa fremst",
|
||||
"reorderItemToEnd": "Færa aftast",
|
||||
"reorderItemUp": "Færa upp",
|
||||
"reorderItemDown": "Færa niður",
|
||||
"reorderItemLeft": "Færa til vinstri",
|
||||
"reorderItemRight": "Færa til hægri"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Sposta all'inizio",
|
||||
"reorderItemToEnd": "Sposta alla fine",
|
||||
"reorderItemUp": "Sposta su",
|
||||
"reorderItemDown": "Sposta giù",
|
||||
"reorderItemLeft": "Sposta a sinistra",
|
||||
"reorderItemRight": "Sposta a destra"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "先頭に移動",
|
||||
"reorderItemToEnd": "最後に移動",
|
||||
"reorderItemUp": "上に移動",
|
||||
"reorderItemDown": "下に移動",
|
||||
"reorderItemLeft": "左に移動",
|
||||
"reorderItemRight": "右に移動"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "დასაწყისში გადატანა",
|
||||
"reorderItemToEnd": "ბოლოში გადატანა",
|
||||
"reorderItemUp": "ზემოთ გადატანა",
|
||||
"reorderItemDown": "ქვემოთ გადატანა",
|
||||
"reorderItemLeft": "მარცხნივ გადატანა",
|
||||
"reorderItemRight": "მარჯვნივ გადატანა"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Басына өту",
|
||||
"reorderItemToEnd": "Соңына өту",
|
||||
"reorderItemUp": "Жоғарыға жылжыту",
|
||||
"reorderItemDown": "Төменге жылжыту",
|
||||
"reorderItemLeft": "Солға жылжыту",
|
||||
"reorderItemRight": "Оңға жылжыту"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "ផ្លាស់ទីទៅចំណុចចាប់ផ្ដើម",
|
||||
"reorderItemToEnd": "ផ្លាស់ទីទៅចំណុចបញ្ចប់",
|
||||
"reorderItemUp": "ផ្លាស់ទីឡើងលើ",
|
||||
"reorderItemDown": "ផ្លាស់ទីចុះក្រោម",
|
||||
"reorderItemLeft": "ផ្លាស់ទីទៅឆ្វេង",
|
||||
"reorderItemRight": "ផ្លាស់ទីទៅស្តាំ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "\u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemToEnd": "\u0c95\u0cca\u0ca8\u0cc6\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemUp": "\u0cae\u0cc7\u0cb2\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemDown": "\u0c95\u0cc6\u0cb3\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemLeft": "\u0c8e\u0ca1\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemRight": "\u0cac\u0cb2\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "시작으로 이동",
|
||||
"reorderItemToEnd": "끝으로 이동",
|
||||
"reorderItemUp": "위로 이동",
|
||||
"reorderItemDown": "아래로 이동",
|
||||
"reorderItemLeft": "왼쪽으로 이동",
|
||||
"reorderItemRight": "오른쪽으로 이동"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Башына жылдыруу",
|
||||
"reorderItemToEnd": "Аягына жылдыруу",
|
||||
"reorderItemUp": "Жогору жылдыруу",
|
||||
"reorderItemDown": "Төмөн жылдыруу",
|
||||
"reorderItemLeft": "Солго жылдыруу",
|
||||
"reorderItemRight": "Оңго жылдыруу"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "ຍ້າຍໄປເລີ່ມຕົ້ນ",
|
||||
"reorderItemToEnd": "ຍ້າຍໄປສິ້ນສຸດ",
|
||||
"reorderItemUp": "ຍ້າຍຂຶ້ນ",
|
||||
"reorderItemDown": "ຍ້າຍລົງ",
|
||||
"reorderItemLeft": "ຍ້າຍໄປຊ້າຍ",
|
||||
"reorderItemRight": "ຍ້າຍໄປຂວາ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Perkelti į pradžią",
|
||||
"reorderItemToEnd": "Perkelti į pabaigą",
|
||||
"reorderItemUp": "Perkelti aukštyn",
|
||||
"reorderItemDown": "Perkelti žemyn",
|
||||
"reorderItemLeft": "Perkelti kairėn",
|
||||
"reorderItemRight": "Perkelti dešinėn"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Pārvietot uz sākumu",
|
||||
"reorderItemToEnd": "Pārvietot uz beigām",
|
||||
"reorderItemUp": "Pārvietot uz augšu",
|
||||
"reorderItemDown": "Pārvietot uz leju",
|
||||
"reorderItemLeft": "Pārvietot pa kreisi",
|
||||
"reorderItemRight": "Pārvietot pa labi"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Преместете на почеток",
|
||||
"reorderItemToEnd": "Преместете на крајот",
|
||||
"reorderItemUp": "Преместете нагоре",
|
||||
"reorderItemDown": "Преместете надолу",
|
||||
"reorderItemLeft": "Преместете налево",
|
||||
"reorderItemRight": "Преместете надесно"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "തുടക്കത്തിലേക്ക് പോവുക",
|
||||
"reorderItemToEnd": "അവസാന ഭാഗത്തേക്ക് പോവുക",
|
||||
"reorderItemUp": "മുകളിലോട്ട് നീക്കുക",
|
||||
"reorderItemDown": "താഴോട്ട് നീക്കുക",
|
||||
"reorderItemLeft": "ഇടത്തോട്ട് നീക്കുക",
|
||||
"reorderItemRight": "വലത്തോട്ട് നീക്കുക"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Эхлэл рүү зөөх",
|
||||
"reorderItemToEnd": "Төгсгөл рүү зөөх",
|
||||
"reorderItemUp": "Дээш зөөх",
|
||||
"reorderItemDown": "Доош зөөх",
|
||||
"reorderItemLeft": "Зүүн тийш зөөх",
|
||||
"reorderItemRight": "Баруун тийш зөөх"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "सुरुवातीला हलवा",
|
||||
"reorderItemToEnd": "शेवटाकडे हलवा",
|
||||
"reorderItemUp": "वर हलवा",
|
||||
"reorderItemDown": "खाली हलवा",
|
||||
"reorderItemLeft": "डावीकडे हलवा",
|
||||
"reorderItemRight": "उजवीकडे हलवा"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Alih ke permulaan",
|
||||
"reorderItemToEnd": "Alih ke penghujung",
|
||||
"reorderItemUp": "Alih ke atas",
|
||||
"reorderItemDown": "Alih ke bawah",
|
||||
"reorderItemLeft": "Alih ke kiri",
|
||||
"reorderItemRight": "Alih ke kanan"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "အစသို့ ရွှေ့ရန်",
|
||||
"reorderItemToEnd": "အဆုံးသို့ ရွှေ့ရန်",
|
||||
"reorderItemUp": "အပေါ်သို့ ရွှေ့ရန်",
|
||||
"reorderItemDown": "အောက်သို့ရွှေ့ရန်",
|
||||
"reorderItemLeft": "ဘယ်ဘက်သို့ရွှေ့ရန်",
|
||||
"reorderItemRight": "ညာဘက်သို့ရွှေ့ရန်"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Flytt til starten",
|
||||
"reorderItemToEnd": "Flytt til slutten",
|
||||
"reorderItemUp": "Flytt opp",
|
||||
"reorderItemDown": "Flytt ned",
|
||||
"reorderItemLeft": "Flytt til venstre",
|
||||
"reorderItemRight": "Flytt til høyre"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "सुरुमा सार्नुहोस्",
|
||||
"reorderItemToEnd": "अन्त्यमा जानुहोस्",
|
||||
"reorderItemUp": "माथि सार्नुहोस्",
|
||||
"reorderItemDown": "तल सार्नुहोस्",
|
||||
"reorderItemLeft": "बायाँ सार्नुहोस्",
|
||||
"reorderItemRight": "दायाँ सार्नुहोस्"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Naar het begin verplaatsen",
|
||||
"reorderItemToEnd": "Naar het einde verplaatsen",
|
||||
"reorderItemUp": "Omhoog verplaatsen",
|
||||
"reorderItemDown": "Omlaag verplaatsen",
|
||||
"reorderItemLeft": "Naar links verplaatsen",
|
||||
"reorderItemRight": "Naar rechts verplaatsen"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Flytt til starten",
|
||||
"reorderItemToEnd": "Flytt til slutten",
|
||||
"reorderItemUp": "Flytt opp",
|
||||
"reorderItemDown": "Flytt ned",
|
||||
"reorderItemLeft": "Flytt til venstre",
|
||||
"reorderItemRight": "Flytt til høyre"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "ଆରମ୍ଭକୁ ଯାଆନ୍ତୁ",
|
||||
"reorderItemToEnd": "ଶେଷକୁ ଯାଆନ୍ତୁ",
|
||||
"reorderItemUp": "ଉପରକୁ ନିଅନ୍ତୁ",
|
||||
"reorderItemDown": "ତଳକୁ ଯାଆନ୍ତୁ",
|
||||
"reorderItemLeft": "ବାମକୁ ଯାଆନ୍ତୁ",
|
||||
"reorderItemRight": "ଡାହାଣକୁ ଯାଆନ୍ତୁ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "ਸ਼ੁਰੂ ਵਿੱਚ ਲਿਜਾਓ",
|
||||
"reorderItemToEnd": "ਅੰਤ ਵਿੱਚ ਲਿਜਾਓ",
|
||||
"reorderItemUp": "ਉੱਪਰ ਲਿਜਾਓ",
|
||||
"reorderItemDown": "ਹੇਠਾਂ ਲਿਜਾਓ",
|
||||
"reorderItemLeft": "ਖੱਬੇ ਲਿਜਾਓ",
|
||||
"reorderItemRight": "ਸੱਜੇ ਲਿਜਾਓ"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Przenieś na początek",
|
||||
"reorderItemToEnd": "Przenieś na koniec",
|
||||
"reorderItemUp": "Przenieś w górę",
|
||||
"reorderItemDown": "Przenieś w dół",
|
||||
"reorderItemLeft": "Przenieś w lewo",
|
||||
"reorderItemRight": "Przenieś w prawo"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Move to the start",
|
||||
"reorderItemToEnd": "Move to the end",
|
||||
"reorderItemUp": "Move up",
|
||||
"reorderItemDown": "Move down",
|
||||
"reorderItemLeft": "Move left",
|
||||
"reorderItemRight": "Move right"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover para o início",
|
||||
"reorderItemToEnd": "Mover para o final",
|
||||
"reorderItemUp": "Mover para cima",
|
||||
"reorderItemDown": "Mover para baixo",
|
||||
"reorderItemLeft": "Mover para a esquerda",
|
||||
"reorderItemRight": "Mover para a direita"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mover para o início",
|
||||
"reorderItemToEnd": "Mover para o fim",
|
||||
"reorderItemUp": "Mover para cima",
|
||||
"reorderItemDown": "Mover para baixo",
|
||||
"reorderItemLeft": "Mover para a esquerda",
|
||||
"reorderItemRight": "Mover para a direita"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"reorderItemToStart": "Mutați la început",
|
||||
"reorderItemToEnd": "Mutați la sfârșit",
|
||||
"reorderItemUp": "Mutați în sus",
|
||||
"reorderItemDown": "Mutați în jos",
|
||||
"reorderItemLeft": "Mutați la stânga",
|
||||
"reorderItemRight": "Mutați la dreapta"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue