Add support for romanian locale (#13807)
This commit is contained in:
parent
fea0c03466
commit
50a5e98322
1
AUTHORS
1
AUTHORS
@ -19,3 +19,4 @@ German Saprykin <saprykin.h@gmail.com>
|
||||
Stefano Rodriguez <hlsroddy@gmail.com>
|
||||
Yusuke Konishi <yahpeycoy0403@gmail.com>
|
||||
Fredrik Simón <fredrik@fsimon.net>
|
||||
Ali Bitek <alibitek@protonmail.ch>
|
||||
|
@ -377,6 +377,7 @@ class MaterialApp extends StatefulWidget {
|
||||
/// ja - Japanese
|
||||
/// ps - Pashto
|
||||
/// pt - Portugese
|
||||
/// ro - Romanian
|
||||
/// ru - Russian
|
||||
/// sd - Sindhi
|
||||
/// ur - Urdu
|
||||
|
@ -1980,6 +1980,184 @@ const Map<String, dynamic> dateSymbols = const <String, dynamic>{
|
||||
r'''{1} {0}'''
|
||||
],
|
||||
},
|
||||
'ro': const <String, dynamic>{
|
||||
'NAME': r'''ro''',
|
||||
'ERAS': const <dynamic>[r'''î.Hr.''', r'''d.Hr.'''],
|
||||
'ERANAMES': const <dynamic>[r'''înainte de Hristos''', r'''după Hristos'''],
|
||||
'NARROWMONTHS': const <dynamic>[
|
||||
r'''I''',
|
||||
r'''F''',
|
||||
r'''M''',
|
||||
r'''A''',
|
||||
r'''M''',
|
||||
r'''I''',
|
||||
r'''I''',
|
||||
r'''A''',
|
||||
r'''S''',
|
||||
r'''O''',
|
||||
r'''N''',
|
||||
r'''D'''
|
||||
],
|
||||
'STANDALONENARROWMONTHS': const <dynamic>[
|
||||
r'''I''',
|
||||
r'''F''',
|
||||
r'''M''',
|
||||
r'''A''',
|
||||
r'''M''',
|
||||
r'''I''',
|
||||
r'''I''',
|
||||
r'''A''',
|
||||
r'''S''',
|
||||
r'''O''',
|
||||
r'''N''',
|
||||
r'''D'''
|
||||
],
|
||||
'MONTHS': const <dynamic>[
|
||||
r'''ianuarie''',
|
||||
r'''februarie''',
|
||||
r'''martie''',
|
||||
r'''aprilie''',
|
||||
r'''mai''',
|
||||
r'''iunie''',
|
||||
r'''iulie''',
|
||||
r'''august''',
|
||||
r'''septembrie''',
|
||||
r'''octombrie''',
|
||||
r'''noiembrie''',
|
||||
r'''decembrie'''
|
||||
],
|
||||
'STANDALONEMONTHS': const <dynamic>[
|
||||
r'''ianuarie''',
|
||||
r'''februarie''',
|
||||
r'''martie''',
|
||||
r'''aprilie''',
|
||||
r'''mai''',
|
||||
r'''iunie''',
|
||||
r'''iulie''',
|
||||
r'''august''',
|
||||
r'''septembrie''',
|
||||
r'''octombrie''',
|
||||
r'''noiembrie''',
|
||||
r'''decembrie'''
|
||||
],
|
||||
'SHORTMONTHS': const <dynamic>[
|
||||
r'''ian.''',
|
||||
r'''feb.''',
|
||||
r'''mar.''',
|
||||
r'''apr.''',
|
||||
r'''mai''',
|
||||
r'''iun.''',
|
||||
r'''iul.''',
|
||||
r'''aug.''',
|
||||
r'''sept.''',
|
||||
r'''oct.''',
|
||||
r'''nov.''',
|
||||
r'''dec.'''
|
||||
],
|
||||
'STANDALONESHORTMONTHS': const <dynamic>[
|
||||
r'''ian.''',
|
||||
r'''feb.''',
|
||||
r'''mar.''',
|
||||
r'''apr.''',
|
||||
r'''mai''',
|
||||
r'''iun.''',
|
||||
r'''iul.''',
|
||||
r'''aug.''',
|
||||
r'''sept.''',
|
||||
r'''oct.''',
|
||||
r'''nov.''',
|
||||
r'''dec.'''
|
||||
],
|
||||
'WEEKDAYS': const <dynamic>[
|
||||
r'''duminică''',
|
||||
r'''luni''',
|
||||
r'''marți''',
|
||||
r'''miercuri''',
|
||||
r'''joi''',
|
||||
r'''vineri''',
|
||||
r'''sâmbătă'''
|
||||
],
|
||||
'STANDALONEWEEKDAYS': const <dynamic>[
|
||||
r'''duminică''',
|
||||
r'''luni''',
|
||||
r'''marți''',
|
||||
r'''miercuri''',
|
||||
r'''joi''',
|
||||
r'''vineri''',
|
||||
r'''sâmbătă'''
|
||||
],
|
||||
'SHORTWEEKDAYS': const <dynamic>[
|
||||
r'''dum.''',
|
||||
r'''lun.''',
|
||||
r'''mar.''',
|
||||
r'''mie.''',
|
||||
r'''joi''',
|
||||
r'''vin.''',
|
||||
r'''sâm.'''
|
||||
],
|
||||
'STANDALONESHORTWEEKDAYS': const <dynamic>[
|
||||
r'''dum.''',
|
||||
r'''lun.''',
|
||||
r'''mar.''',
|
||||
r'''mie.''',
|
||||
r'''joi''',
|
||||
r'''vin.''',
|
||||
r'''sâm.'''
|
||||
],
|
||||
'NARROWWEEKDAYS': const <dynamic>[
|
||||
r'''D''',
|
||||
r'''L''',
|
||||
r'''M''',
|
||||
r'''M''',
|
||||
r'''J''',
|
||||
r'''V''',
|
||||
r'''S'''
|
||||
],
|
||||
'STANDALONENARROWWEEKDAYS': const <dynamic>[
|
||||
r'''D''',
|
||||
r'''L''',
|
||||
r'''M''',
|
||||
r'''M''',
|
||||
r'''J''',
|
||||
r'''V''',
|
||||
r'''S'''
|
||||
],
|
||||
'SHORTQUARTERS': const <dynamic>[
|
||||
r'''trim. I''',
|
||||
r'''trim. II''',
|
||||
r'''trim. III''',
|
||||
r'''trim. IV'''
|
||||
],
|
||||
'QUARTERS': const <dynamic>[
|
||||
r'''trimestrul I''',
|
||||
r'''trimestrul al II-lea''',
|
||||
r'''trimestrul al III-lea''',
|
||||
r'''trimestrul al IV-lea'''
|
||||
],
|
||||
'AMPMS': const <dynamic>[r'''a.m.''', r'''p.m.'''],
|
||||
'DATEFORMATS': const <dynamic>[
|
||||
r'''EEEE, d MMMM y''',
|
||||
r'''d MMMM y''',
|
||||
r'''d MMM y''',
|
||||
r'''dd.MM.y'''
|
||||
],
|
||||
'TIMEFORMATS': const <dynamic>[
|
||||
r'''HH:mm:ss zzzz''',
|
||||
r'''HH:mm:ss z''',
|
||||
r'''HH:mm:ss''',
|
||||
r'''HH:mm'''
|
||||
],
|
||||
'AVAILABLEFORMATS': null,
|
||||
'FIRSTDAYOFWEEK': 0,
|
||||
'WEEKENDRANGE': const <dynamic>[5, 6],
|
||||
'FIRSTWEEKCUTOFFDAY': 6,
|
||||
'DATETIMEFORMATS': const <dynamic>[
|
||||
r'''{1}, {0}''',
|
||||
r'''{1}, {0}''',
|
||||
r'''{1}, {0}''',
|
||||
r'''{1}, {0}'''
|
||||
],
|
||||
},
|
||||
'ru': const <String, dynamic>{
|
||||
'NAME': r'''ru''',
|
||||
'ERAS': const <dynamic>[r'''до н. э.''', r'''н. э.'''],
|
||||
@ -3025,6 +3203,52 @@ const Map<String, dynamic> datePatterns = const <String, dynamic>{
|
||||
'zzzz': r'''zzzz''',
|
||||
'ZZZZ': r'''ZZZZ''',
|
||||
},
|
||||
'ro': const <String, dynamic>{
|
||||
'd': r'''d''',
|
||||
'E': r'''ccc''',
|
||||
'EEEE': r'''cccc''',
|
||||
'LLL': r'''LLL''',
|
||||
'LLLL': r'''LLLL''',
|
||||
'M': r'''L''',
|
||||
'Md': r'''dd.MM''',
|
||||
'MEd': r'''EEE, dd.MM''',
|
||||
'MMM': r'''LLL''',
|
||||
'MMMd': r'''d MMM''',
|
||||
'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'''MM.y''',
|
||||
'yMd': r'''dd.MM.y''',
|
||||
'yMEd': r'''EEE, dd.MM.y''',
|
||||
'yMMM': r'''MMM y''',
|
||||
'yMMMd': r'''d MMM y''',
|
||||
'yMMMEd': r'''EEE, d MMM y''',
|
||||
'yMMMM': r'''MMMM y''',
|
||||
'yMMMMd': r'''d MMMM y''',
|
||||
'yMMMMEEEEd': r'''EEEE, d MMMM y''',
|
||||
'yQQQ': r'''QQQ y''',
|
||||
'yQQQQ': r'''QQQQ y''',
|
||||
'H': r'''HH''',
|
||||
'Hm': r'''HH:mm''',
|
||||
'Hms': r'''HH:mm:ss''',
|
||||
'j': r'''HH''',
|
||||
'jm': r'''HH:mm''',
|
||||
'jms': r'''HH:mm:ss''',
|
||||
'jmv': r'''HH:mm v''',
|
||||
'jmz': r'''HH:mm z''',
|
||||
'jz': r'''HH z''',
|
||||
'm': r'''m''',
|
||||
'ms': r'''mm:ss''',
|
||||
's': r'''s''',
|
||||
'v': r'''v''',
|
||||
'z': r'''z''',
|
||||
'zzzz': r'''zzzz''',
|
||||
'ZZZZ': r'''ZZZZ''',
|
||||
},
|
||||
'ru': const <String, dynamic>{
|
||||
'd': r'''d''',
|
||||
'E': r'''ccc''',
|
||||
|
@ -680,6 +680,48 @@ class _Bundle_pt extends TranslationBundle {
|
||||
@override String get modalBarrierDismissLabel => r'Dispensar';
|
||||
}
|
||||
|
||||
// ignore: camel_case_types
|
||||
class _Bundle_ro extends TranslationBundle {
|
||||
const _Bundle_ro() : super(null);
|
||||
@override String get scriptCategory => r'English-like';
|
||||
@override String get timeOfDayFormat => r'HH:mm';
|
||||
@override String get openAppDrawerTooltip => r'Deschide meniul de navigare';
|
||||
@override String get backButtonTooltip => r'Înapoi';
|
||||
@override String get closeButtonTooltip => r'Închide';
|
||||
@override String get deleteButtonTooltip => r'Șterge';
|
||||
@override String get nextMonthTooltip => r'Luna următoare';
|
||||
@override String get previousMonthTooltip => r'Luna precedentă';
|
||||
@override String get nextPageTooltip => r'Pagina următoare';
|
||||
@override String get previousPageTooltip => r'Pagina precedentă';
|
||||
@override String get showMenuTooltip => r'Afișează meniul';
|
||||
@override String get aboutListTileTitle => r'Despre $applicationName';
|
||||
@override String get licensesPageTitle => r'Licențe';
|
||||
@override String get pageRowsInfoTitle => r'$firstRow – $lastRow din $rowCount';
|
||||
@override String get pageRowsInfoTitleApproximate => r'$firstRow – $lastRow din aproximativ $rowCount';
|
||||
@override String get rowsPerPageTitle => r'Linii pe pagină:';
|
||||
@override String get tabLabel => r'Tab $tabIndex din $tabCount';
|
||||
@override String get selectedRowCountTitleZero => r'Nu există elemente selectate';
|
||||
@override String get selectedRowCountTitleOne => r'1 element selectat';
|
||||
@override String get selectedRowCountTitleOther => r'$selectedRowCount elemente selectate';
|
||||
@override String get cancelButtonLabel => r'ANULEAZĂ';
|
||||
@override String get closeButtonLabel => r'ÎNCHIDE';
|
||||
@override String get continueButtonLabel => r'CONTINUĂ';
|
||||
@override String get copyButtonLabel => r'COPIAZĂ';
|
||||
@override String get cutButtonLabel => r'TAIE';
|
||||
@override String get okButtonLabel => r'OK';
|
||||
@override String get pasteButtonLabel => r'LIPEȘTE';
|
||||
@override String get selectAllButtonLabel => r'SELECTEAZĂ TOT';
|
||||
@override String get viewLicensesButtonLabel => r'AFIȘEAZĂ LICENȚELE';
|
||||
@override String get anteMeridiemAbbreviation => r'AM';
|
||||
@override String get postMeridiemAbbreviation => r'PM';
|
||||
@override String get timePickerHourModeAnnouncement => r'Selectați orele';
|
||||
@override String get timePickerMinuteModeAnnouncement => r'Selectați minutele';
|
||||
@override String get signedInLabel => r'Autentificat';
|
||||
@override String get hideAccountsLabel => r'Ascunde conturile';
|
||||
@override String get showAccountsLabel => r'Afișează conturile';
|
||||
@override String get modalBarrierDismissLabel => r'Ignoră';
|
||||
}
|
||||
|
||||
// ignore: camel_case_types
|
||||
class _Bundle_ru extends TranslationBundle {
|
||||
const _Bundle_ru() : super(null);
|
||||
@ -1459,6 +1501,8 @@ TranslationBundle translationBundleForLocale(Locale locale) {
|
||||
}
|
||||
return const _Bundle_pt();
|
||||
}
|
||||
case 'ro':
|
||||
return const _Bundle_ro();
|
||||
case 'ru':
|
||||
return const _Bundle_ru();
|
||||
case 'th':
|
||||
|
39
packages/flutter_localizations/lib/src/l10n/material_ro.arb
Normal file
39
packages/flutter_localizations/lib/src/l10n/material_ro.arb
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"scriptCategory": "English-like",
|
||||
"timeOfDayFormat": "HH:mm",
|
||||
"openAppDrawerTooltip": "Deschide meniul de navigare",
|
||||
"backButtonTooltip": "Înapoi",
|
||||
"closeButtonTooltip": "Închide",
|
||||
"deleteButtonTooltip": "Șterge",
|
||||
"nextMonthTooltip": "Luna următoare",
|
||||
"previousMonthTooltip": "Luna precedentă",
|
||||
"nextPageTooltip": "Pagina următoare",
|
||||
"previousPageTooltip": "Pagina precedentă",
|
||||
"showMenuTooltip": "Afișează meniul",
|
||||
"aboutListTileTitle": "Despre $applicationName",
|
||||
"licensesPageTitle": "Licențe",
|
||||
"pageRowsInfoTitle": "$firstRow – $lastRow din $rowCount",
|
||||
"pageRowsInfoTitleApproximate": "$firstRow – $lastRow din aproximativ $rowCount",
|
||||
"rowsPerPageTitle": "Linii pe pagină:",
|
||||
"tabLabel": "Tab $tabIndex din $tabCount",
|
||||
"selectedRowCountTitleZero": "Nu există elemente selectate",
|
||||
"selectedRowCountTitleOne": "1 element selectat",
|
||||
"selectedRowCountTitleOther": "$selectedRowCount elemente selectate",
|
||||
"cancelButtonLabel": "ANULEAZĂ",
|
||||
"closeButtonLabel": "ÎNCHIDE",
|
||||
"continueButtonLabel": "CONTINUĂ",
|
||||
"copyButtonLabel": "COPIAZĂ",
|
||||
"cutButtonLabel": "TAIE",
|
||||
"okButtonLabel": "OK",
|
||||
"pasteButtonLabel": "LIPEȘTE",
|
||||
"selectAllButtonLabel": "SELECTEAZĂ TOT",
|
||||
"viewLicensesButtonLabel": "AFIȘEAZĂ LICENȚELE",
|
||||
"anteMeridiemAbbreviation": "AM",
|
||||
"postMeridiemAbbreviation": "PM",
|
||||
"timePickerHourModeAnnouncement": "Selectați orele",
|
||||
"timePickerMinuteModeAnnouncement": "Selectați minutele",
|
||||
"signedInLabel": "Autentificat",
|
||||
"hideAccountsLabel": "Ascunde conturile",
|
||||
"showAccountsLabel": "Afișează conturile",
|
||||
"modalBarrierDismissLabel": "Ignoră"
|
||||
}
|
@ -49,6 +49,7 @@ import 'widgets_localizations.dart';
|
||||
/// * pl - Polish
|
||||
/// * ps - Pashto
|
||||
/// * pt - Portuguese
|
||||
/// * ro - Romanian
|
||||
/// * ru - Russian
|
||||
/// * th - Thai
|
||||
/// * tr - Turkish
|
||||
@ -504,6 +505,7 @@ class _MaterialLocalizationsDelegate extends LocalizationsDelegate<MaterialLocal
|
||||
'ja', // Japanese
|
||||
'ps', // Pashto
|
||||
'pt', // Portugese
|
||||
'ro', // Romanian
|
||||
'ru', // Russian
|
||||
'ur', // Urdu
|
||||
'zh', // Simplified Chinese
|
||||
|
@ -36,6 +36,12 @@ void main() {
|
||||
'expectedDaysOfMonth': new List<String>.generate(30, (int i) => '${i + 1}'),
|
||||
'expectedMonthYearHeader': 'сентябрь 2017 г.',
|
||||
},
|
||||
const Locale('ro', 'RO'): <String, dynamic>{
|
||||
'textDirection': TextDirection.ltr,
|
||||
'expectedDaysOfWeek': <String>['D', 'L', 'M', 'M', 'J', 'V', 'S'],
|
||||
'expectedDaysOfMonth': new List<String>.generate(30, (int i) => '${i + 1}'),
|
||||
'expectedMonthYearHeader': 'septembrie 2017',
|
||||
},
|
||||
// Tests RTL.
|
||||
const Locale('ar', 'AR'): <String, dynamic>{
|
||||
'textDirection': TextDirection.rtl,
|
||||
|
@ -22,6 +22,7 @@ void main() {
|
||||
'pl', // Polish
|
||||
'ps', // Pashto
|
||||
'pt', // Portugese
|
||||
'ro', // Romanian
|
||||
'ru', // Russian
|
||||
'th', // Thai
|
||||
'tr', // Turkish
|
||||
@ -95,5 +96,11 @@ void main() {
|
||||
expect(localizations.selectedRowCountTitle(1), '1 elemento seleccionado');
|
||||
expect(localizations.selectedRowCountTitle(2), '2 elementos seleccionados');
|
||||
expect(localizations.selectedRowCountTitle(123456789), '123.456.789 elementos seleccionados');
|
||||
|
||||
localizations = new GlobalMaterialLocalizations(const Locale('ro', ''));
|
||||
expect(localizations.selectedRowCountTitle(0), 'Nu există elemente selectate');
|
||||
expect(localizations.selectedRowCountTitle(1), '1 element selectat');
|
||||
expect(localizations.selectedRowCountTitle(2), '2 elemente selectate');
|
||||
expect(localizations.selectedRowCountTitle(123456789), '123.456.789 elemente selectate');
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user