Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
82f8ded8
Unverified
Commit
82f8ded8
authored
5 years ago
by
Hans Muller
Committed by
GitHub
5 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for the Kannada (kn) locale (#37026)
parent
c9a5f943
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
811 additions
and
9 deletions
+811
-9
encode_kn_arb_files.dart
dev/tools/localization/encode_kn_arb_files.dart
+95
-0
gen_date_localizations.dart
dev/tools/localization/gen_date_localizations.dart
+11
-1
gen_localizations.dart
dev/tools/localization/gen_localizations.dart
+12
-8
localizations_utils.dart
dev/tools/localization/localizations_utils.dart
+11
-0
README.md
packages/flutter_localizations/lib/src/l10n/README.md
+13
-0
cupertino_kn.arb
packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb
+22
-0
generated_cupertino_localizations.dart
...tions/lib/src/l10n/generated_cupertino_localizations.dart
+152
-0
generated_date_localizations.dart
...alizations/lib/src/l10n/generated_date_localizations.dart
+233
-0
generated_material_localizations.dart
...ations/lib/src/l10n/generated_material_localizations.dart
+208
-0
material_kn.arb
packages/flutter_localizations/lib/src/l10n/material_kn.arb
+54
-0
No files found.
dev/tools/localization/encode_kn_arb_files.dart
0 → 100644
View file @
82f8ded8
// 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
);
}
This diff is collapsed.
Click to expand it.
dev/tools/localization/gen_date_localizations.dart
View file @
82f8ded8
...
...
@@ -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
'''"
;
...
...
This diff is collapsed.
Click to expand it.
dev/tools/localization/gen_localizations.dart
View file @
82f8ded8
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
dev/tools/localization/localizations_utils.dart
View file @
82f8ded8
...
...
@@ -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
'"
;
}
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/README.md
View file @
82f8ded8
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb
0 → 100644
View file @
82f8ded8
{
"datePickerHourSemanticsLabelOne"
:
"
\u
0024
\u
0068
\u
006f
\u
0075
\u
0072
\u
0020
\u
0c97
\u
0c82
\u
0c9f
\u
0cc6"
,
"datePickerHourSemanticsLabelOther"
:
"
\u
0024
\u
0068
\u
006f
\u
0075
\u
0072
\u
0020
\u
0c97
\u
0c82
\u
0c9f
\u
0cc6"
,
"datePickerMinuteSemanticsLabelOne"
:
"
\u
0031
\u
0020
\u
0ca8
\u
0cbf
\u
0cae
\u
0cbf
\u
0cb7"
,
"datePickerMinuteSemanticsLabelOther"
:
"
\u
0024
\u
006d
\u
0069
\u
006e
\u
0075
\u
0074
\u
0065
\u
0020
\u
0ca8
\u
0cbf
\u
0cae
\u
0cbf
\u
0cb7
\u
0c97
\u
0cb3
\u
0cc1"
,
"datePickerDateOrder"
:
"
\u
0064
\u
006d
\u
0079"
,
"datePickerDateTimeOrder"
:
"
\u
0064
\u
0061
\u
0074
\u
0065
\u
005f
\u
0074
\u
0069
\u
006d
\u
0065
\u
005f
\u
0064
\u
0061
\u
0079
\u
0050
\u
0065
\u
0072
\u
0069
\u
006f
\u
0064"
,
"anteMeridiemAbbreviation"
:
"
\u
0cac
\u
0cc6
\u
0cb3
\u
0cbf
\u
0c97
\u
0ccd
\u
0c97
\u
0cc6"
,
"postMeridiemAbbreviation"
:
"
\u
0cb8
\u
0c82
\u
0c9c
\u
0cc6"
,
"todayLabel"
:
"
\u
0c87
\u
0c82
\u
0ca6
\u
0cc1"
,
"alertDialogLabel"
:
"
\u
0c8e
\u
0c9a
\u
0ccd
\u
0c9a
\u
0cb0
\u
0cbf
\u
0c95
\u
0cc6"
,
"timerPickerHourLabelOne"
:
"
\u
0c97
\u
0c82
\u
0c9f
\u
0cc6"
,
"timerPickerHourLabelOther"
:
"
\u
0c97
\u
0c82
\u
0c9f
\u
0cc6
\u
0c97
\u
0cb3
\u
0cc1"
,
"timerPickerMinuteLabelOne"
:
"
\u
0ca8
\u
0cbf
\u
0cae
\u
0cbf
\u
002e"
,
"timerPickerMinuteLabelOther"
:
"
\u
0ca8
\u
0cbf
\u
0cae
\u
0cbf
\u
002e"
,
"timerPickerSecondLabelOne"
:
"
\u
0cb8
\u
0cc6
\u
002e"
,
"timerPickerSecondLabelOther"
:
"
\u
0cb8
\u
0cc6
\u
002e"
,
"cutButtonLabel"
:
"
\u
0c95
\u
0ca4
\u
0ccd
\u
0ca4
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"copyButtonLabel"
:
"
\u
0ca8
\u
0c95
\u
0cb2
\u
0cbf
\u
0cb8
\u
0cbf"
,
"pasteButtonLabel"
:
"
\u
0c85
\u
0c82
\u
0c9f
\u
0cbf
\u
0cb8
\u
0cbf"
,
"selectAllButtonLabel"
:
"
\u
0c8e
\u
0cb2
\u
0ccd
\u
0cb2
\u
0cb5
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc2
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
}
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart
View file @
82f8ded8
...
...
@@ -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'
:
...
...
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/generated_date_localizations.dart
View file @
82f8ded8
...
...
@@ -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'''
,
...
...
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/generated_material_localizations.dart
View file @
82f8ded8
This diff is collapsed.
Click to expand it.
packages/flutter_localizations/lib/src/l10n/material_kn.arb
0 → 100644
View file @
82f8ded8
{
"scriptCategory"
:
"
\u
0074
\u
0061
\u
006c
\u
006c"
,
"timeOfDayFormat"
:
"
\u
0048
\u
003a
\u
006d
\u
006d"
,
"openAppDrawerTooltip"
:
"
\u
0ca8
\u
0ccd
\u
0caf
\u
0cbe
\u
0cb5
\u
0cbf
\u
0c97
\u
0cc7
\u
0cb6
\u
0ca8
\u
0ccd
\u
200c
\u
0020
\u
0cae
\u
0cc6
\u
0ca8
\u
0cc1
\u
0020
\u
0ca4
\u
0cc6
\u
0cb0
\u
0cc6
\u
0caf
\u
0cbf
\u
0cb0
\u
0cbf"
,
"backButtonTooltip"
:
"
\u
0cb9
\u
0cbf
\u
0c82
\u
0ca4
\u
0cbf
\u
0cb0
\u
0cc1
\u
0c97
\u
0cbf"
,
"closeButtonTooltip"
:
"
\u
0cae
\u
0cc1
\u
0c9a
\u
0ccd
\u
0c9a
\u
0cbf
\u
0cb0
\u
0cbf"
,
"deleteButtonTooltip"
:
"
\u
0c85
\u
0cb3
\u
0cbf
\u
0cb8
\u
0cbf"
,
"nextMonthTooltip"
:
"
\u
0cae
\u
0cc1
\u
0c82
\u
0ca6
\u
0cbf
\u
0ca8
\u
0020
\u
0ca4
\u
0cbf
\u
0c82
\u
0c97
\u
0cb3
\u
0cc1"
,
"previousMonthTooltip"
:
"
\u
0cb9
\u
0cbf
\u
0c82
\u
0ca6
\u
0cbf
\u
0ca8
\u
0020
\u
0ca4
\u
0cbf
\u
0c82
\u
0c97
\u
0cb3
\u
0cc1"
,
"nextPageTooltip"
:
"
\u
0cae
\u
0cc1
\u
0c82
\u
0ca6
\u
0cbf
\u
0ca8
\u
0020
\u
0caa
\u
0cc1
\u
0c9f"
,
"previousPageTooltip"
:
"
\u
0cb9
\u
0cbf
\u
0c82
\u
0ca6
\u
0cbf
\u
0ca8
\u
0020
\u
0caa
\u
0cc1
\u
0c9f"
,
"showMenuTooltip"
:
"
\u
0cae
\u
0cc6
\u
0ca8
\u
0cc1
\u
0020
\u
0ca4
\u
0ccb
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"aboutListTileTitle"
:
"
\u
0024
\u
0061
\u
0070
\u
0070
\u
006c
\u
0069
\u
0063
\u
0061
\u
0074
\u
0069
\u
006f
\u
006e
\u
004e
\u
0061
\u
006d
\u
0065
\u
0020
\u
0cac
\u
0c97
\u
0ccd
\u
0c97
\u
0cc6"
,
"licensesPageTitle"
:
"
\u
0caa
\u
0cb0
\u
0cb5
\u
0cbe
\u
0ca8
\u
0c97
\u
0cbf
\u
0c97
\u
0cb3
\u
0cc1"
,
"pageRowsInfoTitle"
:
"
\u
0024
\u
0072
\u
006f
\u
0077
\u
0043
\u
006f
\u
0075
\u
006e
\u
0074
\u
0020
\u
0cb0
\u
0cb2
\u
0ccd
\u
0cb2
\u
0cbf
\u
0020
\u
0024
\u
0066
\u
0069
\u
0072
\u
0073
\u
0074
\u
0052
\u
006f
\u
0077
\u
2013
\u
0024
\u
006c
\u
0061
\u
0073
\u
0074
\u
0052
\u
006f
\u
0077"
,
"pageRowsInfoTitleApproximate"
:
"
\u
0024
\u
0072
\u
006f
\u
0077
\u
0043
\u
006f
\u
0075
\u
006e
\u
0074
\u
0020
\u
0cb0
\u
0cb2
\u
0ccd
\u
0cb2
\u
0cbf
\u
0020
\u
0024
\u
0066
\u
0069
\u
0072
\u
0073
\u
0074
\u
0052
\u
006f
\u
0077
\u
2013
\u
0024
\u
006c
\u
0061
\u
0073
\u
0074
\u
0052
\u
006f
\u
0077"
,
"rowsPerPageTitle"
:
"
\u
0caa
\u
0ccd
\u
0cb0
\u
0ca4
\u
0cbf
\u
0020
\u
0caa
\u
0cc1
\u
0c9f
\u
0c95
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cb8
\u
0cbe
\u
0cb2
\u
0cc1
\u
0c97
\u
0cb3
\u
0cc1
\u
003a"
,
"tabLabel"
:
"
\u
0024
\u
0074
\u
0061
\u
0062
\u
0043
\u
006f
\u
0075
\u
006e
\u
0074
\u
0020
\u
0cb0
\u
0cb2
\u
0ccd
\u
0cb2
\u
0cbf
\u
0ca8
\u
0020
\u
0024
\u
0074
\u
0061
\u
0062
\u
0049
\u
006e
\u
0064
\u
0065
\u
0078
\u
0020
\u
0c9f
\u
0ccd
\u
0caf
\u
0cbe
\u
0cac
\u
0ccd"
,
"selectedRowCountTitleOne"
:
"
\u
0031
\u
0020
\u
0c90
\u
0c9f
\u
0c82
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cae
\u
0cbe
\u
0ca1
\u
0cb2
\u
0cbe
\u
0c97
\u
0cbf
\u
0ca6
\u
0cc6"
,
"selectedRowCountTitleOther"
:
"
\u
0024
\u
0073
\u
0065
\u
006c
\u
0065
\u
0063
\u
0074
\u
0065
\u
0064
\u
0052
\u
006f
\u
0077
\u
0043
\u
006f
\u
0075
\u
006e
\u
0074
\u
0020
\u
0c90
\u
0c9f
\u
0c82
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cae
\u
0cbe
\u
0ca1
\u
0cb2
\u
0cbe
\u
0c97
\u
0cbf
\u
0ca6
\u
0cc6"
,
"cancelButtonLabel"
:
"
\u
0cb0
\u
0ca6
\u
0ccd
\u
0ca6
\u
0cc1
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
,
"closeButtonLabel"
:
"
\u
0cae
\u
0cc1
\u
0c9a
\u
0ccd
\u
0c9a
\u
0cbf
\u
0cb0
\u
0cbf"
,
"continueButtonLabel"
:
"
\u
0cae
\u
0cc1
\u
0c82
\u
0ca6
\u
0cc1
\u
0cb5
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"copyButtonLabel"
:
"
\u
0ca8
\u
0c95
\u
0cb2
\u
0cbf
\u
0cb8
\u
0cbf"
,
"cutButtonLabel"
:
"
\u
0c95
\u
0ca4
\u
0ccd
\u
0ca4
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"okButtonLabel"
:
"
\u
0cb8
\u
0cb0
\u
0cbf"
,
"pasteButtonLabel"
:
"
\u
0c85
\u
0c82
\u
0c9f
\u
0cbf
\u
0cb8
\u
0cbf"
,
"selectAllButtonLabel"
:
"
\u
0c8e
\u
0cb2
\u
0ccd
\u
0cb2
\u
0cb5
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc2
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
,
"viewLicensesButtonLabel"
:
"
\u
0caa
\u
0cb0
\u
0cb5
\u
0cbe
\u
0ca8
\u
0c97
\u
0cbf
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0cb5
\u
0cbf
\u
0cd5
\u
0c95
\u
0ccd
\u
0cb7
\u
0cbf
\u
0cb8
\u
0cbf"
,
"anteMeridiemAbbreviation"
:
"
\u
0cac
\u
0cc6
\u
0cb3
\u
0cbf
\u
0c97
\u
0ccd
\u
0c97
\u
0cc6"
,
"postMeridiemAbbreviation"
:
"
\u
0cb8
\u
0c82
\u
0c9c
\u
0cc6"
,
"timePickerHourModeAnnouncement"
:
"
\u
0c97
\u
0c82
\u
0c9f
\u
0cc6
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
,
"timePickerMinuteModeAnnouncement"
:
"
\u
0ca8
\u
0cbf
\u
0cae
\u
0cbf
\u
0cb7
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0c86
\u
0caf
\u
0ccd
\u
0c95
\u
0cc6
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
,
"modalBarrierDismissLabel"
:
"
\u
0cb5
\u
0c9c
\u
0cbe
\u
0c97
\u
0cca
\u
0cb3
\u
0cbf
\u
0cb8
\u
0cbf"
,
"signedInLabel"
:
"
\u
0cb8
\u
0cc8
\u
0ca8
\u
0ccd
\u
0020
\u
0c87
\u
0ca8
\u
0ccd
\u
0020
\u
0cae
\u
0cbe
\u
0ca1
\u
0cb2
\u
0cbe
\u
0c97
\u
0cbf
\u
0ca6
\u
0cc6"
,
"hideAccountsLabel"
:
"
\u
0c96
\u
0cbe
\u
0ca4
\u
0cc6
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0cae
\u
0cb0
\u
0cc6
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
,
"showAccountsLabel"
:
"
\u
0c96
\u
0cbe
\u
0ca4
\u
0cc6
\u
0c97
\u
0cb3
\u
0ca8
\u
0ccd
\u
0ca8
\u
0cc1
\u
0020
\u
0ca4
\u
0ccb
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"drawerLabel"
:
"
\u
0ca8
\u
0ccd
\u
0caf
\u
0cbe
\u
0cb5
\u
0cbf
\u
0c97
\u
0cc7
\u
0cb6
\u
0ca8
\u
0ccd
\u
200c
\u
0020
\u
0cae
\u
0cc6
\u
0ca8
\u
0cc1"
,
"popupMenuLabel"
:
"
\u
0caa
\u
0cbe
\u
0caa
\u
0ccd
\u
0c85
\u
0caa
\u
0ccd
\u
0020
\u
0cae
\u
0cc6
\u
0ca8
\u
0cc1"
,
"dialogLabel"
:
"
\u
0ca1
\u
0cc8
\u
0cb2
\u
0cbe
\u
0c97
\u
0ccd"
,
"alertDialogLabel"
:
"
\u
0c8e
\u
0c9a
\u
0ccd
\u
0c9a
\u
0cb0
\u
0cbf
\u
0c95
\u
0cc6"
,
"searchFieldLabel"
:
"
\u
0cb9
\u
0cc1
\u
0ca1
\u
0cc1
\u
0c95
\u
0cbf"
,
"reorderItemToStart"
:
"
\u
0caa
\u
0ccd
\u
0cb0
\u
0cbe
\u
0cb0
\u
0c82
\u
0cad
\u
0c95
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"reorderItemToEnd"
:
"
\u
0c95
\u
0cca
\u
0ca8
\u
0cc6
\u
0c97
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"reorderItemUp"
:
"
\u
0cae
\u
0cc7
\u
0cb2
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"reorderItemDown"
:
"
\u
0c95
\u
0cc6
\u
0cb3
\u
0c97
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"reorderItemLeft"
:
"
\u
0c8e
\u
0ca1
\u
0c95
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"reorderItemRight"
:
"
\u
0cac
\u
0cb2
\u
0c95
\u
0ccd
\u
0c95
\u
0cc6
\u
0020
\u
0cb8
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"expandedIconTapHint"
:
"
\u
0c95
\u
0cc1
\u
0c97
\u
0ccd
\u
0c97
\u
0cbf
\u
0cb8
\u
0cbf"
,
"collapsedIconTapHint"
:
"
\u
0cb5
\u
0cbf
\u
0cb8
\u
0ccd
\u
0ca4
\u
0cb0
\u
0cbf
\u
0cb8
\u
0cbf"
,
"remainingTextFieldCharacterCountOne"
:
"
\u
0031
\u
0020
\u
0c85
\u
0c95
\u
0ccd
\u
0cb7
\u
0cb0
\u
0020
\u
0c89
\u
0cb3
\u
0cbf
\u
0ca6
\u
0cbf
\u
0ca6
\u
0cc6"
,
"remainingTextFieldCharacterCountOther"
:
"
\u
0024
\u
0072
\u
0065
\u
006d
\u
0061
\u
0069
\u
006e
\u
0069
\u
006e
\u
0067
\u
0043
\u
006f
\u
0075
\u
006e
\u
0074
\u
0020
\u
0c85
\u
0c95
\u
0ccd
\u
0cb7
\u
0cb0
\u
0c97
\u
0cb3
\u
0cc1
\u
0020
\u
0c89
\u
0cb3
\u
0cbf
\u
0ca6
\u
0cbf
\u
0cb5
\u
0cc6"
,
"refreshIndicatorSemanticLabel"
:
"
\u
0cb0
\u
0cbf
\u
0cab
\u
0ccd
\u
0cb0
\u
0cc6
\u
0cb6
\u
0ccd
\u
0020
\u
0cae
\u
0cbe
\u
0ca1
\u
0cbf"
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment