Add support for the Kannada (kn) locale (#37026)
This commit is contained in:
parent
c9a5f94372
commit
82f8ded8d2
95
dev/tools/localization/encode_kn_arb_files.dart
Normal file
95
dev/tools/localization/encode_kn_arb_files.dart
Normal file
@ -0,0 +1,95 @@
|
||||
// Copyright 2019 The Chromium 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 program replaces the material_kn.arb and cupertino_kn.arb
|
||||
// files in flutter_localizations/packages/lib/src/l10n with versions
|
||||
// where the contents of the localized strings have been replaced by JSON
|
||||
// escapes. This is done because some of those strings contain characters
|
||||
// that can crash Emacs on Linux. There is more information
|
||||
// here: https://github.com/flutter/flutter/issues/36704 and in the README
|
||||
// in flutter_localizations/packages/lib/src/l10n.
|
||||
//
|
||||
// This app needs to be run by hand when material_kn.arb or cupertino_kn.arb
|
||||
// have been updated.
|
||||
//
|
||||
// ## Usage
|
||||
//
|
||||
// Run this program from the root of the git repository.
|
||||
//
|
||||
// ```
|
||||
// dart dev/tools/localization/encode_kn_arb_files.dart
|
||||
// ```
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
import 'localizations_utils.dart';
|
||||
|
||||
Map<String, dynamic> loadBundle(File file) {
|
||||
if (!FileSystemEntity.isFileSync(file.path))
|
||||
exitWithError('Unable to find input file: ${file.path}');
|
||||
return json.decode(file.readAsStringSync());
|
||||
}
|
||||
|
||||
void encodeBundleTranslations(Map<String, dynamic> bundle) {
|
||||
for (String key in bundle.keys) {
|
||||
// The ARB file resource "attributes" for foo are called @foo. Don't need
|
||||
// to encode them.
|
||||
if (key.startsWith('@'))
|
||||
continue;
|
||||
final String translation = bundle[key];
|
||||
// Rewrite the string as a series of unicode characters in JSON format.
|
||||
// Like "\u0012\u0123\u1234".
|
||||
bundle[key] = translation.runes.map((int code) {
|
||||
final String codeString = '00${code.toRadixString(16)}';
|
||||
return '\\u${codeString.substring(codeString.length - 4)}';
|
||||
}).join();
|
||||
}
|
||||
}
|
||||
|
||||
void checkEncodedTranslations(Map<String, dynamic> encodedBundle, Map<String, dynamic> bundle) {
|
||||
bool errorFound = false;
|
||||
const JsonDecoder decoder = JsonDecoder();
|
||||
for (String key in bundle.keys) {
|
||||
if (decoder.convert('"${encodedBundle[key]}"') != bundle[key]) {
|
||||
stderr.writeln(' encodedTranslation for $key does not match original value "${bundle[key]}"');
|
||||
errorFound = true;
|
||||
}
|
||||
}
|
||||
if (errorFound)
|
||||
exitWithError('JSON unicode translation encoding failed');
|
||||
}
|
||||
|
||||
void rewriteBundle(File file, Map<String, dynamic> bundle) {
|
||||
final StringBuffer contents = StringBuffer();
|
||||
contents.writeln('{');
|
||||
for (String key in bundle.keys) {
|
||||
contents.writeln(' "$key": "${bundle[key]}"${key == bundle.keys.last ? '' : ','}');
|
||||
}
|
||||
contents.writeln('}');
|
||||
file.writeAsStringSync(contents.toString());
|
||||
}
|
||||
|
||||
Future<void> main(List<String> rawArgs) async {
|
||||
checkCwdIsRepoRoot('encode_kn_arb_files');
|
||||
|
||||
final String l10nPath = path.join('packages', 'flutter_localizations', 'lib', 'src', 'l10n');
|
||||
final File materialArbFile = File(path.join(l10nPath, 'material_kn.arb'));
|
||||
final File cupertinoArbFile = File(path.join(l10nPath, 'cupertino_kn.arb'));
|
||||
|
||||
final Map<String, dynamic> materialBundle = loadBundle(materialArbFile);
|
||||
final Map<String, dynamic> cupertinoBundle = loadBundle(cupertinoArbFile);
|
||||
|
||||
encodeBundleTranslations(materialBundle);
|
||||
encodeBundleTranslations(cupertinoBundle);
|
||||
|
||||
checkEncodedTranslations(materialBundle, loadBundle(materialArbFile));
|
||||
checkEncodedTranslations(cupertinoBundle, loadBundle(cupertinoArbFile));
|
||||
|
||||
rewriteBundle(materialArbFile, materialBundle);
|
||||
rewriteBundle(cupertinoArbFile, cupertinoBundle);
|
||||
}
|
@ -36,6 +36,12 @@ import 'localizations_utils.dart';
|
||||
|
||||
const String _kCommandName = 'gen_date_localizations.dart';
|
||||
|
||||
// Used to let _jsonToMap know what locale it's date symbols converting for.
|
||||
// Date symbols for the Kannada locale ('kn') are handled specially because
|
||||
// some of the strings contain characters that can crash Emacs on Linux.
|
||||
// See packages/flutter_localizations/lib/src/l10n/README for more information.
|
||||
String currentLocale;
|
||||
|
||||
Future<void> main(List<String> rawArgs) async {
|
||||
checkCwdIsRepoRoot(_kCommandName);
|
||||
|
||||
@ -87,9 +93,11 @@ Future<void> main(List<String> rawArgs) async {
|
||||
/// supported by flutter_localizations.''');
|
||||
buffer.writeln('const Map<String, dynamic> dateSymbols = <String, dynamic> {');
|
||||
symbolFiles.forEach((String locale, File data) {
|
||||
currentLocale = locale;
|
||||
if (_supportedLocales().contains(locale))
|
||||
buffer.writeln(_jsonToMapEntry(locale, json.decode(data.readAsStringSync())));
|
||||
});
|
||||
currentLocale = null;
|
||||
buffer.writeln('};');
|
||||
|
||||
// Code that uses datePatterns expects it to contain values of type
|
||||
@ -132,7 +140,9 @@ String _jsonToMap(dynamic json) {
|
||||
return '$json';
|
||||
|
||||
if (json is String) {
|
||||
if (json.contains("'"))
|
||||
if (currentLocale == 'kn')
|
||||
return generateEncodedString(json);
|
||||
else if (json.contains("'"))
|
||||
return 'r"""$json"""';
|
||||
else
|
||||
return "r'''$json'''";
|
||||
|
@ -137,7 +137,7 @@ String generateArbBasedLocalizationSubclasses({
|
||||
final Map<String, String> languageResources = localeToResources[languageLocale];
|
||||
for (String key in allKeys) {
|
||||
final Map<String, dynamic> attributes = localeToResourceAttributes[canonicalLocale][key];
|
||||
output.writeln(generateGetter(key, languageResources[key], attributes));
|
||||
output.writeln(generateGetter(key, languageResources[key], attributes, languageLocale));
|
||||
}
|
||||
output.writeln('}');
|
||||
int countryCodeCount = 0;
|
||||
@ -159,7 +159,7 @@ String generateArbBasedLocalizationSubclasses({
|
||||
if (languageResources[key] == scriptResources[key])
|
||||
continue;
|
||||
final Map<String, dynamic> attributes = localeToResourceAttributes[canonicalLocale][key];
|
||||
output.writeln(generateGetter(key, scriptResources[key], attributes));
|
||||
output.writeln(generateGetter(key, scriptResources[key], attributes, languageLocale));
|
||||
}
|
||||
output.writeln('}');
|
||||
|
||||
@ -184,7 +184,7 @@ String generateArbBasedLocalizationSubclasses({
|
||||
if (scriptResources.containsKey(key) ? scriptResources[key] == localeResources[key] : languageResources[key] == localeResources[key])
|
||||
continue;
|
||||
final Map<String, dynamic> attributes = localeToResourceAttributes[canonicalLocale][key];
|
||||
output.writeln(generateGetter(key, localeResources[key], attributes));
|
||||
output.writeln(generateGetter(key, localeResources[key], attributes, languageLocale));
|
||||
}
|
||||
output.writeln('}');
|
||||
}
|
||||
@ -208,7 +208,7 @@ String generateArbBasedLocalizationSubclasses({
|
||||
if (languageResources[key] == localeResources[key])
|
||||
continue;
|
||||
final Map<String, dynamic> attributes = localeToResourceAttributes[canonicalLocale][key];
|
||||
output.writeln(generateGetter(key, localeResources[key], attributes));
|
||||
output.writeln(generateGetter(key, localeResources[key], attributes, languageLocale));
|
||||
}
|
||||
output.writeln('}');
|
||||
}
|
||||
@ -438,7 +438,7 @@ const Map<String, String> _scriptCategoryToEnum = <String, String>{
|
||||
/// it.
|
||||
///
|
||||
/// Used by [generateGetter] below.
|
||||
String generateValue(String value, Map<String, dynamic> attributes) {
|
||||
String generateValue(String value, Map<String, dynamic> attributes, LocaleInfo locale) {
|
||||
if (value == null)
|
||||
return null;
|
||||
// cupertino_en.arb doesn't use x-flutter-type.
|
||||
@ -464,15 +464,19 @@ String generateValue(String value, Map<String, dynamic> attributes) {
|
||||
return _scriptCategoryToEnum[value];
|
||||
}
|
||||
}
|
||||
return generateString(value);
|
||||
// Localization strings for the Kannada locale ('kn') are encoded because
|
||||
// some of the localized strings contain characters that can crash Emacs on Linux.
|
||||
// See packages/flutter_localizations/lib/src/l10n/README for more information.
|
||||
return locale.languageCode == 'kn' ? generateEncodedString(value) : generateString(value);
|
||||
}
|
||||
|
||||
/// Combines [generateType], [generateKey], and [generateValue] to return
|
||||
/// the source of getters for the GlobalMaterialLocalizations subclass.
|
||||
String generateGetter(String key, String value, Map<String, dynamic> attributes) {
|
||||
/// The locale is the locale for which the getter is being generated.
|
||||
String generateGetter(String key, String value, Map<String, dynamic> attributes, LocaleInfo locale) {
|
||||
final String type = generateType(attributes);
|
||||
key = generateKey(key, attributes);
|
||||
value = generateValue(value, attributes);
|
||||
value = generateValue(value, attributes, locale);
|
||||
return '''
|
||||
|
||||
@override
|
||||
|
@ -401,3 +401,14 @@ String generateString(String s) {
|
||||
output.write("'");
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
/// Only used to generate localization strings for the Kannada locale ('kn') because
|
||||
/// some of the localized strings contain characters that can crash Emacs on Linux.
|
||||
/// See packages/flutter_localizations/lib/src/l10n/README for more information.
|
||||
String generateEncodedString(String s) {
|
||||
if (s.runes.every((int code) => code <= 0xFF))
|
||||
return generateString(s);
|
||||
|
||||
final String unicodeEscapes = s.runes.map((int code) => '\\u{${code.toRadixString(16)}}').join();
|
||||
return "'$unicodeEscapes'";
|
||||
}
|
||||
|
@ -186,6 +186,19 @@ dart dev/tools/localizations/gen_localizations.dart --overwrite
|
||||
```
|
||||
|
||||
|
||||
### Special handling for the Kannada (kn) translations
|
||||
|
||||
Originally, the cupertino_kn.arb and material_kn.arb files contained unicode
|
||||
characters that can cause current versions of Emacs on Linux to crash. There is
|
||||
more information here: https://github.com/flutter/flutter/issues/36704.
|
||||
|
||||
Rather than risking developers' editor sessions, the strings in these arb files
|
||||
(and the code generated for them) have been encoded using the appropriate
|
||||
escapes for JSON and Dart. The JSON format arb files were rewritten with
|
||||
dev/tools/localization/encode_kn_arb_files.dart. The localizations code
|
||||
generator uses generateEncodedString() from dev/tools/localization/localizations_utils.
|
||||
|
||||
|
||||
### Translations Status, Reporting Errors
|
||||
|
||||
The translations (the `.arb` files) in this directory are based on the
|
||||
|
22
packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb
Normal file
22
packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"datePickerHourSemanticsLabelOne": "\u0024\u0068\u006f\u0075\u0072\u0020\u0c97\u0c82\u0c9f\u0cc6",
|
||||
"datePickerHourSemanticsLabelOther": "\u0024\u0068\u006f\u0075\u0072\u0020\u0c97\u0c82\u0c9f\u0cc6",
|
||||
"datePickerMinuteSemanticsLabelOne": "\u0031\u0020\u0ca8\u0cbf\u0cae\u0cbf\u0cb7",
|
||||
"datePickerMinuteSemanticsLabelOther": "\u0024\u006d\u0069\u006e\u0075\u0074\u0065\u0020\u0ca8\u0cbf\u0cae\u0cbf\u0cb7\u0c97\u0cb3\u0cc1",
|
||||
"datePickerDateOrder": "\u0064\u006d\u0079",
|
||||
"datePickerDateTimeOrder": "\u0064\u0061\u0074\u0065\u005f\u0074\u0069\u006d\u0065\u005f\u0064\u0061\u0079\u0050\u0065\u0072\u0069\u006f\u0064",
|
||||
"anteMeridiemAbbreviation": "\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6",
|
||||
"postMeridiemAbbreviation": "\u0cb8\u0c82\u0c9c\u0cc6",
|
||||
"todayLabel": "\u0c87\u0c82\u0ca6\u0cc1",
|
||||
"alertDialogLabel": "\u0c8e\u0c9a\u0ccd\u0c9a\u0cb0\u0cbf\u0c95\u0cc6",
|
||||
"timerPickerHourLabelOne": "\u0c97\u0c82\u0c9f\u0cc6",
|
||||
"timerPickerHourLabelOther": "\u0c97\u0c82\u0c9f\u0cc6\u0c97\u0cb3\u0cc1",
|
||||
"timerPickerMinuteLabelOne": "\u0ca8\u0cbf\u0cae\u0cbf\u002e",
|
||||
"timerPickerMinuteLabelOther": "\u0ca8\u0cbf\u0cae\u0cbf\u002e",
|
||||
"timerPickerSecondLabelOne": "\u0cb8\u0cc6\u002e",
|
||||
"timerPickerSecondLabelOther": "\u0cb8\u0cc6\u002e",
|
||||
"cutButtonLabel": "\u0c95\u0ca4\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"copyButtonLabel": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf",
|
||||
"pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf",
|
||||
"selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf"
|
||||
}
|
@ -6707,6 +6707,154 @@ class CupertinoLocalizationKm extends GlobalCupertinoLocalizations {
|
||||
String get todayLabel => r'ថ្ងៃនេះ';
|
||||
}
|
||||
|
||||
/// The translations for Kannada (`kn`).
|
||||
class CupertinoLocalizationKn extends GlobalCupertinoLocalizations {
|
||||
/// Create an instance of the translation bundle for Kannada.
|
||||
///
|
||||
/// For details on the meaning of the arguments, see [GlobalCupertinoLocalizations].
|
||||
const CupertinoLocalizationKn({
|
||||
String localeName = 'kn',
|
||||
@required intl.DateFormat fullYearFormat,
|
||||
@required intl.DateFormat dayFormat,
|
||||
@required intl.DateFormat mediumDateFormat,
|
||||
@required intl.DateFormat singleDigitHourFormat,
|
||||
@required intl.DateFormat singleDigitMinuteFormat,
|
||||
@required intl.DateFormat doubleDigitMinuteFormat,
|
||||
@required intl.DateFormat singleDigitSecondFormat,
|
||||
@required intl.NumberFormat decimalFormat,
|
||||
}) : super(
|
||||
localeName: localeName,
|
||||
fullYearFormat: fullYearFormat,
|
||||
dayFormat: dayFormat,
|
||||
mediumDateFormat: mediumDateFormat,
|
||||
singleDigitHourFormat: singleDigitHourFormat,
|
||||
singleDigitMinuteFormat: singleDigitMinuteFormat,
|
||||
doubleDigitMinuteFormat: doubleDigitMinuteFormat,
|
||||
singleDigitSecondFormat: singleDigitSecondFormat,
|
||||
decimalFormat: decimalFormat,
|
||||
);
|
||||
|
||||
@override
|
||||
String get alertDialogLabel => '\u{c8e}\u{c9a}\u{ccd}\u{c9a}\u{cb0}\u{cbf}\u{c95}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get anteMeridiemAbbreviation => '\u{cac}\u{cc6}\u{cb3}\u{cbf}\u{c97}\u{ccd}\u{c97}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get copyButtonLabel => '\u{ca8}\u{c95}\u{cb2}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get cutButtonLabel => '\u{c95}\u{ca4}\u{ccd}\u{ca4}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get datePickerDateOrderString => r'dmy';
|
||||
|
||||
@override
|
||||
String get datePickerDateTimeOrderString => r'date_time_dayPeriod';
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelFew => null;
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelMany => null;
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelOne => '\u{24}\u{68}\u{6f}\u{75}\u{72}\u{20}\u{c97}\u{c82}\u{c9f}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelOther => '\u{24}\u{68}\u{6f}\u{75}\u{72}\u{20}\u{c97}\u{c82}\u{c9f}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelTwo => null;
|
||||
|
||||
@override
|
||||
String get datePickerHourSemanticsLabelZero => null;
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelFew => null;
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelMany => null;
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelOne => '\u{31}\u{20}\u{ca8}\u{cbf}\u{cae}\u{cbf}\u{cb7}';
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelOther => '\u{24}\u{6d}\u{69}\u{6e}\u{75}\u{74}\u{65}\u{20}\u{ca8}\u{cbf}\u{cae}\u{cbf}\u{cb7}\u{c97}\u{cb3}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelTwo => null;
|
||||
|
||||
@override
|
||||
String get datePickerMinuteSemanticsLabelZero => null;
|
||||
|
||||
@override
|
||||
String get pasteButtonLabel => '\u{c85}\u{c82}\u{c9f}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get postMeridiemAbbreviation => '\u{cb8}\u{c82}\u{c9c}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get selectAllButtonLabel => '\u{c8e}\u{cb2}\u{ccd}\u{cb2}\u{cb5}\u{ca8}\u{ccd}\u{ca8}\u{cc2}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelFew => null;
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelMany => null;
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelOne => '\u{c97}\u{c82}\u{c9f}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelOther => '\u{c97}\u{c82}\u{c9f}\u{cc6}\u{c97}\u{cb3}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelTwo => null;
|
||||
|
||||
@override
|
||||
String get timerPickerHourLabelZero => null;
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelFew => null;
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelMany => null;
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelOne => '\u{ca8}\u{cbf}\u{cae}\u{cbf}\u{2e}';
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelOther => '\u{ca8}\u{cbf}\u{cae}\u{cbf}\u{2e}';
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelTwo => null;
|
||||
|
||||
@override
|
||||
String get timerPickerMinuteLabelZero => null;
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelFew => null;
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelMany => null;
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelOne => '\u{cb8}\u{cc6}\u{2e}';
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelOther => '\u{cb8}\u{cc6}\u{2e}';
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelTwo => null;
|
||||
|
||||
@override
|
||||
String get timerPickerSecondLabelZero => null;
|
||||
|
||||
@override
|
||||
String get todayLabel => '\u{c87}\u{c82}\u{ca6}\u{cc1}';
|
||||
}
|
||||
|
||||
/// The translations for Korean (`ko`).
|
||||
class CupertinoLocalizationKo extends GlobalCupertinoLocalizations {
|
||||
/// Create an instance of the translation bundle for Korean.
|
||||
@ -12696,6 +12844,7 @@ final Set<String> kCupertinoSupportedLanguages = HashSet<String>.from(const <Str
|
||||
'ka', // Georgian
|
||||
'kk', // Kazakh
|
||||
'km', // Khmer Central Khmer
|
||||
'kn', // Kannada
|
||||
'ko', // Korean
|
||||
'ky', // Kirghiz Kyrgyz
|
||||
'lo', // Lao
|
||||
@ -12783,6 +12932,7 @@ final Set<String> kCupertinoSupportedLanguages = HashSet<String>.from(const <Str
|
||||
/// * `ka` - Georgian
|
||||
/// * `kk` - Kazakh
|
||||
/// * `km` - Khmer Central Khmer
|
||||
/// * `kn` - Kannada
|
||||
/// * `ko` - Korean
|
||||
/// * `ky` - Kirghiz Kyrgyz
|
||||
/// * `lo` - Lao
|
||||
@ -12976,6 +13126,8 @@ GlobalCupertinoLocalizations getCupertinoTranslation(
|
||||
return CupertinoLocalizationKk(fullYearFormat: fullYearFormat, dayFormat: dayFormat, mediumDateFormat: mediumDateFormat, singleDigitHourFormat: singleDigitHourFormat, singleDigitMinuteFormat: singleDigitMinuteFormat, doubleDigitMinuteFormat: doubleDigitMinuteFormat, singleDigitSecondFormat: singleDigitSecondFormat, decimalFormat: decimalFormat);
|
||||
case 'km':
|
||||
return CupertinoLocalizationKm(fullYearFormat: fullYearFormat, dayFormat: dayFormat, mediumDateFormat: mediumDateFormat, singleDigitHourFormat: singleDigitHourFormat, singleDigitMinuteFormat: singleDigitMinuteFormat, doubleDigitMinuteFormat: doubleDigitMinuteFormat, singleDigitSecondFormat: singleDigitSecondFormat, decimalFormat: decimalFormat);
|
||||
case 'kn':
|
||||
return CupertinoLocalizationKn(fullYearFormat: fullYearFormat, dayFormat: dayFormat, mediumDateFormat: mediumDateFormat, singleDigitHourFormat: singleDigitHourFormat, singleDigitMinuteFormat: singleDigitMinuteFormat, doubleDigitMinuteFormat: doubleDigitMinuteFormat, singleDigitSecondFormat: singleDigitSecondFormat, decimalFormat: decimalFormat);
|
||||
case 'ko':
|
||||
return CupertinoLocalizationKo(fullYearFormat: fullYearFormat, dayFormat: dayFormat, mediumDateFormat: mediumDateFormat, singleDigitHourFormat: singleDigitHourFormat, singleDigitMinuteFormat: singleDigitMinuteFormat, doubleDigitMinuteFormat: doubleDigitMinuteFormat, singleDigitSecondFormat: singleDigitSecondFormat, decimalFormat: decimalFormat);
|
||||
case 'ky':
|
||||
|
@ -8396,6 +8396,193 @@ const Map<String, dynamic> dateSymbols = <String, dynamic>{
|
||||
r'''{1}, {0}'''
|
||||
],
|
||||
},
|
||||
'kn': <String, dynamic>{
|
||||
'NAME': r'kn',
|
||||
'ERAS': <dynamic>[
|
||||
'\u{c95}\u{ccd}\u{cb0}\u{cbf}\u{2e}\u{caa}\u{cc2}',
|
||||
'\u{c95}\u{ccd}\u{cb0}\u{cbf}\u{2e}\u{cb6}'
|
||||
],
|
||||
'ERANAMES': <dynamic>[
|
||||
'\u{c95}\u{ccd}\u{cb0}\u{cbf}\u{cb8}\u{ccd}\u{ca4}\u{20}\u{caa}\u{cc2}\u{cb0}\u{ccd}\u{cb5}',
|
||||
'\u{c95}\u{ccd}\u{cb0}\u{cbf}\u{cb8}\u{ccd}\u{ca4}\u{20}\u{cb6}\u{c95}'
|
||||
],
|
||||
'NARROWMONTHS': <dynamic>[
|
||||
'\u{c9c}',
|
||||
'\u{cab}\u{cc6}',
|
||||
'\u{cae}\u{cbe}',
|
||||
'\u{c8f}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}',
|
||||
'\u{c9c}\u{cc1}',
|
||||
'\u{c86}',
|
||||
'\u{cb8}\u{cc6}',
|
||||
'\u{c85}',
|
||||
'\u{ca8}',
|
||||
'\u{ca1}\u{cbf}'
|
||||
],
|
||||
'STANDALONENARROWMONTHS': <dynamic>[
|
||||
'\u{c9c}',
|
||||
'\u{cab}\u{cc6}',
|
||||
'\u{cae}\u{cbe}',
|
||||
'\u{c8f}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}',
|
||||
'\u{c9c}\u{cc1}',
|
||||
'\u{c86}',
|
||||
'\u{cb8}\u{cc6}',
|
||||
'\u{c85}',
|
||||
'\u{ca8}',
|
||||
'\u{ca1}\u{cbf}'
|
||||
],
|
||||
'MONTHS': <dynamic>[
|
||||
'\u{c9c}\u{ca8}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cab}\u{cc6}\u{cac}\u{ccd}\u{cb0}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cae}\u{cbe}\u{cb0}\u{ccd}\u{c9a}\u{ccd}',
|
||||
'\u{c8f}\u{caa}\u{ccd}\u{cb0}\u{cbf}\u{cb2}\u{ccd}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}\u{ca8}\u{ccd}',
|
||||
'\u{c9c}\u{cc1}\u{cb2}\u{cc8}',
|
||||
'\u{c86}\u{c97}\u{cb8}\u{ccd}\u{c9f}\u{ccd}',
|
||||
'\u{cb8}\u{cc6}\u{caa}\u{ccd}\u{c9f}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{c85}\u{c95}\u{ccd}\u{c9f}\u{ccb}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{ca8}\u{cb5}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{ca1}\u{cbf}\u{cb8}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}'
|
||||
],
|
||||
'STANDALONEMONTHS': <dynamic>[
|
||||
'\u{c9c}\u{ca8}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cab}\u{cc6}\u{cac}\u{ccd}\u{cb0}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cae}\u{cbe}\u{cb0}\u{ccd}\u{c9a}\u{ccd}',
|
||||
'\u{c8f}\u{caa}\u{ccd}\u{cb0}\u{cbf}\u{cb2}\u{ccd}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}\u{ca8}\u{ccd}',
|
||||
'\u{c9c}\u{cc1}\u{cb2}\u{cc8}',
|
||||
'\u{c86}\u{c97}\u{cb8}\u{ccd}\u{c9f}\u{ccd}',
|
||||
'\u{cb8}\u{cc6}\u{caa}\u{ccd}\u{c9f}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{c85}\u{c95}\u{ccd}\u{c9f}\u{ccb}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{ca8}\u{cb5}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}',
|
||||
'\u{ca1}\u{cbf}\u{cb8}\u{cc6}\u{c82}\u{cac}\u{cb0}\u{ccd}'
|
||||
],
|
||||
'SHORTMONTHS': <dynamic>[
|
||||
'\u{c9c}\u{ca8}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cab}\u{cc6}\u{cac}\u{ccd}\u{cb0}\u{cb5}\u{cb0}\u{cbf}',
|
||||
'\u{cae}\u{cbe}\u{cb0}\u{ccd}\u{c9a}\u{ccd}',
|
||||
'\u{c8f}\u{caa}\u{ccd}\u{cb0}\u{cbf}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}\u{ca8}\u{ccd}',
|
||||
'\u{c9c}\u{cc1}\u{cb2}\u{cc8}',
|
||||
'\u{c86}\u{c97}',
|
||||
'\u{cb8}\u{cc6}\u{caa}\u{ccd}\u{c9f}\u{cc6}\u{c82}',
|
||||
'\u{c85}\u{c95}\u{ccd}\u{c9f}\u{ccb}',
|
||||
'\u{ca8}\u{cb5}\u{cc6}\u{c82}',
|
||||
'\u{ca1}\u{cbf}\u{cb8}\u{cc6}\u{c82}'
|
||||
],
|
||||
'STANDALONESHORTMONTHS': <dynamic>[
|
||||
'\u{c9c}\u{ca8}',
|
||||
'\u{cab}\u{cc6}\u{cac}\u{ccd}\u{cb0}',
|
||||
'\u{cae}\u{cbe}\u{cb0}\u{ccd}\u{c9a}\u{ccd}',
|
||||
'\u{c8f}\u{caa}\u{ccd}\u{cb0}\u{cbf}',
|
||||
'\u{cae}\u{cc7}',
|
||||
'\u{c9c}\u{cc2}\u{ca8}\u{ccd}',
|
||||
'\u{c9c}\u{cc1}\u{cb2}\u{cc8}',
|
||||
'\u{c86}\u{c97}',
|
||||
'\u{cb8}\u{cc6}\u{caa}\u{ccd}\u{c9f}\u{cc6}\u{c82}',
|
||||
'\u{c85}\u{c95}\u{ccd}\u{c9f}\u{ccb}',
|
||||
'\u{ca8}\u{cb5}\u{cc6}\u{c82}',
|
||||
'\u{ca1}\u{cbf}\u{cb8}\u{cc6}\u{c82}'
|
||||
],
|
||||
'WEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}\u{ca8}\u{cc1}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb8}\u{ccb}\u{cae}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cae}\u{c82}\u{c97}\u{cb3}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cac}\u{cc1}\u{ca7}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{c97}\u{cc1}\u{cb0}\u{cc1}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb6}\u{cc1}\u{c95}\u{ccd}\u{cb0}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb6}\u{ca8}\u{cbf}\u{cb5}\u{cbe}\u{cb0}'
|
||||
],
|
||||
'STANDALONEWEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}\u{ca8}\u{cc1}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb8}\u{ccb}\u{cae}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cae}\u{c82}\u{c97}\u{cb3}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cac}\u{cc1}\u{ca7}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{c97}\u{cc1}\u{cb0}\u{cc1}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb6}\u{cc1}\u{c95}\u{ccd}\u{cb0}\u{cb5}\u{cbe}\u{cb0}',
|
||||
'\u{cb6}\u{ca8}\u{cbf}\u{cb5}\u{cbe}\u{cb0}'
|
||||
],
|
||||
'SHORTWEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}\u{ca8}\u{cc1}',
|
||||
'\u{cb8}\u{ccb}\u{cae}',
|
||||
'\u{cae}\u{c82}\u{c97}\u{cb3}',
|
||||
'\u{cac}\u{cc1}\u{ca7}',
|
||||
'\u{c97}\u{cc1}\u{cb0}\u{cc1}',
|
||||
'\u{cb6}\u{cc1}\u{c95}\u{ccd}\u{cb0}',
|
||||
'\u{cb6}\u{ca8}\u{cbf}'
|
||||
],
|
||||
'STANDALONESHORTWEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}\u{ca8}\u{cc1}',
|
||||
'\u{cb8}\u{ccb}\u{cae}',
|
||||
'\u{cae}\u{c82}\u{c97}\u{cb3}',
|
||||
'\u{cac}\u{cc1}\u{ca7}',
|
||||
'\u{c97}\u{cc1}\u{cb0}\u{cc1}',
|
||||
'\u{cb6}\u{cc1}\u{c95}\u{ccd}\u{cb0}',
|
||||
'\u{cb6}\u{ca8}\u{cbf}'
|
||||
],
|
||||
'NARROWWEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}',
|
||||
'\u{cb8}\u{ccb}',
|
||||
'\u{cae}\u{c82}',
|
||||
'\u{cac}\u{cc1}',
|
||||
'\u{c97}\u{cc1}',
|
||||
'\u{cb6}\u{cc1}',
|
||||
'\u{cb6}'
|
||||
],
|
||||
'STANDALONENARROWWEEKDAYS': <dynamic>[
|
||||
'\u{cad}\u{cbe}',
|
||||
'\u{cb8}\u{ccb}',
|
||||
'\u{cae}\u{c82}',
|
||||
'\u{cac}\u{cc1}',
|
||||
'\u{c97}\u{cc1}',
|
||||
'\u{cb6}\u{cc1}',
|
||||
'\u{cb6}'
|
||||
],
|
||||
'SHORTQUARTERS': <dynamic>[
|
||||
'\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{20}\u{31}',
|
||||
'\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{20}\u{32}',
|
||||
'\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{20}\u{33}',
|
||||
'\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{20}\u{34}'
|
||||
],
|
||||
'QUARTERS': <dynamic>[
|
||||
'\u{31}\u{ca8}\u{cc7}\u{20}\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{cae}\u{cbe}\u{cb8}\u{cbf}\u{c95}',
|
||||
'\u{32}\u{ca8}\u{cc7}\u{20}\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{cae}\u{cbe}\u{cb8}\u{cbf}\u{c95}',
|
||||
'\u{33}\u{ca8}\u{cc7}\u{20}\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{cae}\u{cbe}\u{cb8}\u{cbf}\u{c95}',
|
||||
'\u{34}\u{ca8}\u{cc7}\u{20}\u{ca4}\u{ccd}\u{cb0}\u{cc8}\u{cae}\u{cbe}\u{cb8}\u{cbf}\u{c95}'
|
||||
],
|
||||
'AMPMS': <dynamic>[
|
||||
'\u{caa}\u{cc2}\u{cb0}\u{ccd}\u{cb5}\u{cbe}\u{cb9}\u{ccd}\u{ca8}',
|
||||
'\u{c85}\u{caa}\u{cb0}\u{cbe}\u{cb9}\u{ccd}\u{ca8}'
|
||||
],
|
||||
'DATEFORMATS': <dynamic>[
|
||||
r'EEEE, MMMM d, y',
|
||||
r'MMMM d, y',
|
||||
r'MMM d, y',
|
||||
r'd/M/yy'
|
||||
],
|
||||
'TIMEFORMATS': <dynamic>[
|
||||
r'hh:mm:ss a zzzz',
|
||||
r'hh:mm:ss a z',
|
||||
r'hh:mm:ss a',
|
||||
r'hh:mm a'
|
||||
],
|
||||
'AVAILABLEFORMATS': null,
|
||||
'FIRSTDAYOFWEEK': 6,
|
||||
'WEEKENDRANGE': <dynamic>[6, 6],
|
||||
'FIRSTWEEKCUTOFFDAY': 5,
|
||||
'DATETIMEFORMATS': <dynamic>[
|
||||
r'{1} {0}',
|
||||
r'{1} {0}',
|
||||
r'{1} {0}',
|
||||
r'{1} {0}'
|
||||
],
|
||||
},
|
||||
'ko': <String, dynamic>{
|
||||
'NAME': r'''ko''',
|
||||
'ERAS': <dynamic>[r'''BC''', r'''AD'''],
|
||||
@ -18164,6 +18351,52 @@ const Map<String, Map<String, String>> datePatterns =
|
||||
'zzzz': r'''zzzz''',
|
||||
'ZZZZ': r'''ZZZZ''',
|
||||
},
|
||||
'kn': <String, String>{
|
||||
'd': r'''d''',
|
||||
'E': r'''ccc''',
|
||||
'EEEE': r'''cccc''',
|
||||
'LLL': r'''LLL''',
|
||||
'LLLL': r'''LLLL''',
|
||||
'M': r'''L''',
|
||||
'Md': r'''d/M''',
|
||||
'MEd': r'''d/M, EEE''',
|
||||
'MMM': r'''LLL''',
|
||||
'MMMd': r'''MMM d''',
|
||||
'MMMEd': r'''EEE, d MMM''',
|
||||
'MMMM': r'''LLLL''',
|
||||
'MMMMd': r'''d MMMM''',
|
||||
'MMMMEEEEd': r'''EEEE, d MMMM''',
|
||||
'QQQ': r'''QQQ''',
|
||||
'QQQQ': r'''QQQQ''',
|
||||
'y': r'''y''',
|
||||
'yM': r'''M/y''',
|
||||
'yMd': r'''d/M/y''',
|
||||
'yMEd': r'''EEE, M/d/y''',
|
||||
'yMMM': r'''MMM y''',
|
||||
'yMMMd': r'''MMM d,y''',
|
||||
'yMMMEd': r'''EEE, MMM d, y''',
|
||||
'yMMMM': r'''MMMM y''',
|
||||
'yMMMMd': r'''MMMM d, y''',
|
||||
'yMMMMEEEEd': r'''EEEE, MMMM d, y''',
|
||||
'yQQQ': r'''QQQ y''',
|
||||
'yQQQQ': r'''QQQQ y''',
|
||||
'H': r'''HH''',
|
||||
'Hm': r'''HH:mm''',
|
||||
'Hms': r'''HH:mm:ss''',
|
||||
'j': r'''h a''',
|
||||
'jm': r'''h:mm a''',
|
||||
'jms': r'''h:mm:ss a''',
|
||||
'jmv': r'''h:mm a v''',
|
||||
'jmz': r'''h:mm a z''',
|
||||
'jz': r'''h a z''',
|
||||
'm': r'''m''',
|
||||
'ms': r'''mm:ss''',
|
||||
's': r'''s''',
|
||||
'v': r'''v''',
|
||||
'z': r'''z''',
|
||||
'zzzz': r'''zzzz''',
|
||||
'ZZZZ': r'''ZZZZ''',
|
||||
},
|
||||
'ko': <String, String>{
|
||||
'd': r'''d일''',
|
||||
'E': r'''ccc''',
|
||||
|
@ -9579,6 +9579,210 @@ class MaterialLocalizationKm extends GlobalMaterialLocalizations {
|
||||
String get viewLicensesButtonLabel => r'មើលអាជ្ញាបណ្ណ';
|
||||
}
|
||||
|
||||
/// The translations for Kannada (`kn`).
|
||||
class MaterialLocalizationKn extends GlobalMaterialLocalizations {
|
||||
/// Create an instance of the translation bundle for Kannada.
|
||||
///
|
||||
/// For details on the meaning of the arguments, see [GlobalMaterialLocalizations].
|
||||
const MaterialLocalizationKn({
|
||||
String localeName = 'kn',
|
||||
@required intl.DateFormat fullYearFormat,
|
||||
@required intl.DateFormat mediumDateFormat,
|
||||
@required intl.DateFormat longDateFormat,
|
||||
@required intl.DateFormat yearMonthFormat,
|
||||
@required intl.NumberFormat decimalFormat,
|
||||
@required intl.NumberFormat twoDigitZeroPaddedFormat,
|
||||
}) : super(
|
||||
localeName: localeName,
|
||||
fullYearFormat: fullYearFormat,
|
||||
mediumDateFormat: mediumDateFormat,
|
||||
longDateFormat: longDateFormat,
|
||||
yearMonthFormat: yearMonthFormat,
|
||||
decimalFormat: decimalFormat,
|
||||
twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat,
|
||||
);
|
||||
|
||||
@override
|
||||
String get aboutListTileTitleRaw => '\u{24}\u{61}\u{70}\u{70}\u{6c}\u{69}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{4e}\u{61}\u{6d}\u{65}\u{20}\u{cac}\u{c97}\u{ccd}\u{c97}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get alertDialogLabel => '\u{c8e}\u{c9a}\u{ccd}\u{c9a}\u{cb0}\u{cbf}\u{c95}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get anteMeridiemAbbreviation => '\u{cac}\u{cc6}\u{cb3}\u{cbf}\u{c97}\u{ccd}\u{c97}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get backButtonTooltip => '\u{cb9}\u{cbf}\u{c82}\u{ca4}\u{cbf}\u{cb0}\u{cc1}\u{c97}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get cancelButtonLabel => '\u{cb0}\u{ca6}\u{ccd}\u{ca6}\u{cc1}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get closeButtonLabel => '\u{cae}\u{cc1}\u{c9a}\u{ccd}\u{c9a}\u{cbf}\u{cb0}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get closeButtonTooltip => '\u{cae}\u{cc1}\u{c9a}\u{ccd}\u{c9a}\u{cbf}\u{cb0}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get collapsedIconTapHint => '\u{cb5}\u{cbf}\u{cb8}\u{ccd}\u{ca4}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get continueButtonLabel => '\u{cae}\u{cc1}\u{c82}\u{ca6}\u{cc1}\u{cb5}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get copyButtonLabel => '\u{ca8}\u{c95}\u{cb2}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get cutButtonLabel => '\u{c95}\u{ca4}\u{ccd}\u{ca4}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get deleteButtonTooltip => '\u{c85}\u{cb3}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get dialogLabel => '\u{ca1}\u{cc8}\u{cb2}\u{cbe}\u{c97}\u{ccd}';
|
||||
|
||||
@override
|
||||
String get drawerLabel => '\u{ca8}\u{ccd}\u{caf}\u{cbe}\u{cb5}\u{cbf}\u{c97}\u{cc7}\u{cb6}\u{ca8}\u{ccd}\u{200c}\u{20}\u{cae}\u{cc6}\u{ca8}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get expandedIconTapHint => '\u{c95}\u{cc1}\u{c97}\u{ccd}\u{c97}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get hideAccountsLabel => '\u{c96}\u{cbe}\u{ca4}\u{cc6}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{cae}\u{cb0}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get licensesPageTitle => '\u{caa}\u{cb0}\u{cb5}\u{cbe}\u{ca8}\u{c97}\u{cbf}\u{c97}\u{cb3}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get modalBarrierDismissLabel => '\u{cb5}\u{c9c}\u{cbe}\u{c97}\u{cca}\u{cb3}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get nextMonthTooltip => '\u{cae}\u{cc1}\u{c82}\u{ca6}\u{cbf}\u{ca8}\u{20}\u{ca4}\u{cbf}\u{c82}\u{c97}\u{cb3}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get nextPageTooltip => '\u{cae}\u{cc1}\u{c82}\u{ca6}\u{cbf}\u{ca8}\u{20}\u{caa}\u{cc1}\u{c9f}';
|
||||
|
||||
@override
|
||||
String get okButtonLabel => '\u{cb8}\u{cb0}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get openAppDrawerTooltip => '\u{ca8}\u{ccd}\u{caf}\u{cbe}\u{cb5}\u{cbf}\u{c97}\u{cc7}\u{cb6}\u{ca8}\u{ccd}\u{200c}\u{20}\u{cae}\u{cc6}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{cc6}\u{cb0}\u{cc6}\u{caf}\u{cbf}\u{cb0}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get pageRowsInfoTitleRaw => '\u{24}\u{72}\u{6f}\u{77}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{cb0}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{20}\u{24}\u{66}\u{69}\u{72}\u{73}\u{74}\u{52}\u{6f}\u{77}\u{2013}\u{24}\u{6c}\u{61}\u{73}\u{74}\u{52}\u{6f}\u{77}';
|
||||
|
||||
@override
|
||||
String get pageRowsInfoTitleApproximateRaw => '\u{24}\u{72}\u{6f}\u{77}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{cb0}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{20}\u{24}\u{66}\u{69}\u{72}\u{73}\u{74}\u{52}\u{6f}\u{77}\u{2013}\u{24}\u{6c}\u{61}\u{73}\u{74}\u{52}\u{6f}\u{77}';
|
||||
|
||||
@override
|
||||
String get pasteButtonLabel => '\u{c85}\u{c82}\u{c9f}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get popupMenuLabel => '\u{caa}\u{cbe}\u{caa}\u{ccd}\u{c85}\u{caa}\u{ccd}\u{20}\u{cae}\u{cc6}\u{ca8}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get postMeridiemAbbreviation => '\u{cb8}\u{c82}\u{c9c}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get previousMonthTooltip => '\u{cb9}\u{cbf}\u{c82}\u{ca6}\u{cbf}\u{ca8}\u{20}\u{ca4}\u{cbf}\u{c82}\u{c97}\u{cb3}\u{cc1}';
|
||||
|
||||
@override
|
||||
String get previousPageTooltip => '\u{cb9}\u{cbf}\u{c82}\u{ca6}\u{cbf}\u{ca8}\u{20}\u{caa}\u{cc1}\u{c9f}';
|
||||
|
||||
@override
|
||||
String get refreshIndicatorSemanticLabel => '\u{cb0}\u{cbf}\u{cab}\u{ccd}\u{cb0}\u{cc6}\u{cb6}\u{ccd}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountFew => null;
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountMany => null;
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountOne => '\u{31}\u{20}\u{c85}\u{c95}\u{ccd}\u{cb7}\u{cb0}\u{20}\u{c89}\u{cb3}\u{cbf}\u{ca6}\u{cbf}\u{ca6}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountOther => '\u{24}\u{72}\u{65}\u{6d}\u{61}\u{69}\u{6e}\u{69}\u{6e}\u{67}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{c85}\u{c95}\u{ccd}\u{cb7}\u{cb0}\u{c97}\u{cb3}\u{cc1}\u{20}\u{c89}\u{cb3}\u{cbf}\u{ca6}\u{cbf}\u{cb5}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountTwo => null;
|
||||
|
||||
@override
|
||||
String get remainingTextFieldCharacterCountZero => null;
|
||||
|
||||
@override
|
||||
String get reorderItemDown => '\u{c95}\u{cc6}\u{cb3}\u{c97}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get reorderItemLeft => '\u{c8e}\u{ca1}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get reorderItemRight => '\u{cac}\u{cb2}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get reorderItemToEnd => '\u{c95}\u{cca}\u{ca8}\u{cc6}\u{c97}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get reorderItemToStart => '\u{caa}\u{ccd}\u{cb0}\u{cbe}\u{cb0}\u{c82}\u{cad}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get reorderItemUp => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get rowsPerPageTitle => '\u{caa}\u{ccd}\u{cb0}\u{ca4}\u{cbf}\u{20}\u{caa}\u{cc1}\u{c9f}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb8}\u{cbe}\u{cb2}\u{cc1}\u{c97}\u{cb3}\u{cc1}\u{3a}';
|
||||
|
||||
@override
|
||||
ScriptCategory get scriptCategory => ScriptCategory.tall;
|
||||
|
||||
@override
|
||||
String get searchFieldLabel => '\u{cb9}\u{cc1}\u{ca1}\u{cc1}\u{c95}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get selectAllButtonLabel => '\u{c8e}\u{cb2}\u{ccd}\u{cb2}\u{cb5}\u{ca8}\u{ccd}\u{ca8}\u{cc2}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleFew => null;
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleMany => null;
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleOne => '\u{31}\u{20}\u{c90}\u{c9f}\u{c82}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cb2}\u{cbe}\u{c97}\u{cbf}\u{ca6}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleOther => '\u{24}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{65}\u{64}\u{52}\u{6f}\u{77}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{c90}\u{c9f}\u{c82}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cb2}\u{cbe}\u{c97}\u{cbf}\u{ca6}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleTwo => null;
|
||||
|
||||
@override
|
||||
String get selectedRowCountTitleZero => null;
|
||||
|
||||
@override
|
||||
String get showAccountsLabel => '\u{c96}\u{cbe}\u{ca4}\u{cc6}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{ccb}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get showMenuTooltip => '\u{cae}\u{cc6}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{ccb}\u{cb0}\u{cbf}\u{cb8}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get signedInLabel => '\u{cb8}\u{cc8}\u{ca8}\u{ccd}\u{20}\u{c87}\u{ca8}\u{ccd}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cb2}\u{cbe}\u{c97}\u{cbf}\u{ca6}\u{cc6}';
|
||||
|
||||
@override
|
||||
String get tabLabelRaw => '\u{24}\u{74}\u{61}\u{62}\u{43}\u{6f}\u{75}\u{6e}\u{74}\u{20}\u{cb0}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{ca8}\u{20}\u{24}\u{74}\u{61}\u{62}\u{49}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{c9f}\u{ccd}\u{caf}\u{cbe}\u{cac}\u{ccd}';
|
||||
|
||||
@override
|
||||
TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.H_colon_mm;
|
||||
|
||||
@override
|
||||
String get timePickerHourModeAnnouncement => '\u{c97}\u{c82}\u{c9f}\u{cc6}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get timePickerMinuteModeAnnouncement => '\u{ca8}\u{cbf}\u{cae}\u{cbf}\u{cb7}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{cae}\u{cbe}\u{ca1}\u{cbf}';
|
||||
|
||||
@override
|
||||
String get viewLicensesButtonLabel => '\u{caa}\u{cb0}\u{cb5}\u{cbe}\u{ca8}\u{c97}\u{cbf}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{cb5}\u{cbf}\u{cd5}\u{c95}\u{ccd}\u{cb7}\u{cbf}\u{cb8}\u{cbf}';
|
||||
}
|
||||
|
||||
/// The translations for Korean (`ko`).
|
||||
class MaterialLocalizationKo extends GlobalMaterialLocalizations {
|
||||
/// Create an instance of the translation bundle for Korean.
|
||||
@ -18100,6 +18304,7 @@ final Set<String> kMaterialSupportedLanguages = HashSet<String>.from(const <Stri
|
||||
'ka', // Georgian
|
||||
'kk', // Kazakh
|
||||
'km', // Khmer Central Khmer
|
||||
'kn', // Kannada
|
||||
'ko', // Korean
|
||||
'ky', // Kirghiz Kyrgyz
|
||||
'lo', // Lao
|
||||
@ -18188,6 +18393,7 @@ final Set<String> kMaterialSupportedLanguages = HashSet<String>.from(const <Stri
|
||||
/// * `ka` - Georgian
|
||||
/// * `kk` - Kazakh
|
||||
/// * `km` - Khmer Central Khmer
|
||||
/// * `kn` - Kannada
|
||||
/// * `ko` - Korean
|
||||
/// * `ky` - Kirghiz Kyrgyz
|
||||
/// * `lo` - Lao
|
||||
@ -18385,6 +18591,8 @@ GlobalMaterialLocalizations getMaterialTranslation(
|
||||
return MaterialLocalizationKk(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
|
||||
case 'km':
|
||||
return MaterialLocalizationKm(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
|
||||
case 'kn':
|
||||
return MaterialLocalizationKn(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
|
||||
case 'ko':
|
||||
return MaterialLocalizationKo(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
|
||||
case 'ky':
|
||||
|
54
packages/flutter_localizations/lib/src/l10n/material_kn.arb
Normal file
54
packages/flutter_localizations/lib/src/l10n/material_kn.arb
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"scriptCategory": "\u0074\u0061\u006c\u006c",
|
||||
"timeOfDayFormat": "\u0048\u003a\u006d\u006d",
|
||||
"openAppDrawerTooltip": "\u0ca8\u0ccd\u0caf\u0cbe\u0cb5\u0cbf\u0c97\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0020\u0cae\u0cc6\u0ca8\u0cc1\u0020\u0ca4\u0cc6\u0cb0\u0cc6\u0caf\u0cbf\u0cb0\u0cbf",
|
||||
"backButtonTooltip": "\u0cb9\u0cbf\u0c82\u0ca4\u0cbf\u0cb0\u0cc1\u0c97\u0cbf",
|
||||
"closeButtonTooltip": "\u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cbf\u0cb0\u0cbf",
|
||||
"deleteButtonTooltip": "\u0c85\u0cb3\u0cbf\u0cb8\u0cbf",
|
||||
"nextMonthTooltip": "\u0cae\u0cc1\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",
|
||||
"previousMonthTooltip": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",
|
||||
"nextPageTooltip": "\u0cae\u0cc1\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0caa\u0cc1\u0c9f",
|
||||
"previousPageTooltip": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8\u0020\u0caa\u0cc1\u0c9f",
|
||||
"showMenuTooltip": "\u0cae\u0cc6\u0ca8\u0cc1\u0020\u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"aboutListTileTitle": "\u0024\u0061\u0070\u0070\u006c\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u004e\u0061\u006d\u0065\u0020\u0cac\u0c97\u0ccd\u0c97\u0cc6",
|
||||
"licensesPageTitle": "\u0caa\u0cb0\u0cb5\u0cbe\u0ca8\u0c97\u0cbf\u0c97\u0cb3\u0cc1",
|
||||
"pageRowsInfoTitle": "\u0024\u0072\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0024\u0066\u0069\u0072\u0073\u0074\u0052\u006f\u0077\u2013\u0024\u006c\u0061\u0073\u0074\u0052\u006f\u0077",
|
||||
"pageRowsInfoTitleApproximate": "\u0024\u0072\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0024\u0066\u0069\u0072\u0073\u0074\u0052\u006f\u0077\u2013\u0024\u006c\u0061\u0073\u0074\u0052\u006f\u0077",
|
||||
"rowsPerPageTitle": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0020\u0caa\u0cc1\u0c9f\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cbe\u0cb2\u0cc1\u0c97\u0cb3\u0cc1\u003a",
|
||||
"tabLabel": "\u0024\u0074\u0061\u0062\u0043\u006f\u0075\u006e\u0074\u0020\u0cb0\u0cb2\u0ccd\u0cb2\u0cbf\u0ca8\u0020\u0024\u0074\u0061\u0062\u0049\u006e\u0064\u0065\u0078\u0020\u0c9f\u0ccd\u0caf\u0cbe\u0cac\u0ccd",
|
||||
"selectedRowCountTitleOne": "\u0031\u0020\u0c90\u0c9f\u0c82\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
||||
"selectedRowCountTitleOther": "\u0024\u0073\u0065\u006c\u0065\u0063\u0074\u0065\u0064\u0052\u006f\u0077\u0043\u006f\u0075\u006e\u0074\u0020\u0c90\u0c9f\u0c82\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
||||
"cancelButtonLabel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
|
||||
"closeButtonLabel": "\u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cbf\u0cb0\u0cbf",
|
||||
"continueButtonLabel": "\u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"copyButtonLabel": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf",
|
||||
"cutButtonLabel": "\u0c95\u0ca4\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"okButtonLabel": "\u0cb8\u0cb0\u0cbf",
|
||||
"pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf",
|
||||
"selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
|
||||
"viewLicensesButtonLabel": "\u0caa\u0cb0\u0cb5\u0cbe\u0ca8\u0c97\u0cbf\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0cb5\u0cbf\u0cd5\u0c95\u0ccd\u0cb7\u0cbf\u0cb8\u0cbf",
|
||||
"anteMeridiemAbbreviation": "\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6",
|
||||
"postMeridiemAbbreviation": "\u0cb8\u0c82\u0c9c\u0cc6",
|
||||
"timePickerHourModeAnnouncement": "\u0c97\u0c82\u0c9f\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
|
||||
"timePickerMinuteModeAnnouncement": "\u0ca8\u0cbf\u0cae\u0cbf\u0cb7\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
|
||||
"modalBarrierDismissLabel": "\u0cb5\u0c9c\u0cbe\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cbf",
|
||||
"signedInLabel": "\u0cb8\u0cc8\u0ca8\u0ccd\u0020\u0c87\u0ca8\u0ccd\u0020\u0cae\u0cbe\u0ca1\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
||||
"hideAccountsLabel": "\u0c96\u0cbe\u0ca4\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0cae\u0cb0\u0cc6\u0cae\u0cbe\u0ca1\u0cbf",
|
||||
"showAccountsLabel": "\u0c96\u0cbe\u0ca4\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1\u0020\u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"drawerLabel": "\u0ca8\u0ccd\u0caf\u0cbe\u0cb5\u0cbf\u0c97\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0020\u0cae\u0cc6\u0ca8\u0cc1",
|
||||
"popupMenuLabel": "\u0caa\u0cbe\u0caa\u0ccd\u0c85\u0caa\u0ccd\u0020\u0cae\u0cc6\u0ca8\u0cc1",
|
||||
"dialogLabel": "\u0ca1\u0cc8\u0cb2\u0cbe\u0c97\u0ccd",
|
||||
"alertDialogLabel": "\u0c8e\u0c9a\u0ccd\u0c9a\u0cb0\u0cbf\u0c95\u0cc6",
|
||||
"searchFieldLabel": "\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf",
|
||||
"reorderItemToStart": "\u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemToEnd": "\u0c95\u0cca\u0ca8\u0cc6\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemUp": "\u0cae\u0cc7\u0cb2\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemDown": "\u0c95\u0cc6\u0cb3\u0c97\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemLeft": "\u0c8e\u0ca1\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"reorderItemRight": "\u0cac\u0cb2\u0c95\u0ccd\u0c95\u0cc6\u0020\u0cb8\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"expandedIconTapHint": "\u0c95\u0cc1\u0c97\u0ccd\u0c97\u0cbf\u0cb8\u0cbf",
|
||||
"collapsedIconTapHint": "\u0cb5\u0cbf\u0cb8\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
|
||||
"remainingTextFieldCharacterCountOne": "\u0031\u0020\u0c85\u0c95\u0ccd\u0cb7\u0cb0\u0020\u0c89\u0cb3\u0cbf\u0ca6\u0cbf\u0ca6\u0cc6",
|
||||
"remainingTextFieldCharacterCountOther": "\u0024\u0072\u0065\u006d\u0061\u0069\u006e\u0069\u006e\u0067\u0043\u006f\u0075\u006e\u0074\u0020\u0c85\u0c95\u0ccd\u0cb7\u0cb0\u0c97\u0cb3\u0cc1\u0020\u0c89\u0cb3\u0cbf\u0ca6\u0cbf\u0cb5\u0cc6",
|
||||
"refreshIndicatorSemanticLabel": "\u0cb0\u0cbf\u0cab\u0ccd\u0cb0\u0cc6\u0cb6\u0ccd\u0020\u0cae\u0cbe\u0ca1\u0cbf"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user