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>
|
Stefano Rodriguez <hlsroddy@gmail.com>
|
||||||
Yusuke Konishi <yahpeycoy0403@gmail.com>
|
Yusuke Konishi <yahpeycoy0403@gmail.com>
|
||||||
Fredrik Simón <fredrik@fsimon.net>
|
Fredrik Simón <fredrik@fsimon.net>
|
||||||
|
Ali Bitek <alibitek@protonmail.ch>
|
||||||
|
@ -377,6 +377,7 @@ class MaterialApp extends StatefulWidget {
|
|||||||
/// ja - Japanese
|
/// ja - Japanese
|
||||||
/// ps - Pashto
|
/// ps - Pashto
|
||||||
/// pt - Portugese
|
/// pt - Portugese
|
||||||
|
/// ro - Romanian
|
||||||
/// ru - Russian
|
/// ru - Russian
|
||||||
/// sd - Sindhi
|
/// sd - Sindhi
|
||||||
/// ur - Urdu
|
/// ur - Urdu
|
||||||
|
@ -1980,6 +1980,184 @@ const Map<String, dynamic> dateSymbols = const <String, dynamic>{
|
|||||||
r'''{1} {0}'''
|
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>{
|
'ru': const <String, dynamic>{
|
||||||
'NAME': r'''ru''',
|
'NAME': r'''ru''',
|
||||||
'ERAS': const <dynamic>[r'''до н. э.''', r'''н. э.'''],
|
'ERAS': const <dynamic>[r'''до н. э.''', r'''н. э.'''],
|
||||||
@ -3025,6 +3203,52 @@ const Map<String, dynamic> datePatterns = const <String, dynamic>{
|
|||||||
'zzzz': r'''zzzz''',
|
'zzzz': r'''zzzz''',
|
||||||
'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>{
|
'ru': const <String, dynamic>{
|
||||||
'd': r'''d''',
|
'd': r'''d''',
|
||||||
'E': r'''ccc''',
|
'E': r'''ccc''',
|
||||||
|
@ -680,6 +680,48 @@ class _Bundle_pt extends TranslationBundle {
|
|||||||
@override String get modalBarrierDismissLabel => r'Dispensar';
|
@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
|
// ignore: camel_case_types
|
||||||
class _Bundle_ru extends TranslationBundle {
|
class _Bundle_ru extends TranslationBundle {
|
||||||
const _Bundle_ru() : super(null);
|
const _Bundle_ru() : super(null);
|
||||||
@ -1459,6 +1501,8 @@ TranslationBundle translationBundleForLocale(Locale locale) {
|
|||||||
}
|
}
|
||||||
return const _Bundle_pt();
|
return const _Bundle_pt();
|
||||||
}
|
}
|
||||||
|
case 'ro':
|
||||||
|
return const _Bundle_ro();
|
||||||
case 'ru':
|
case 'ru':
|
||||||
return const _Bundle_ru();
|
return const _Bundle_ru();
|
||||||
case 'th':
|
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
|
/// * pl - Polish
|
||||||
/// * ps - Pashto
|
/// * ps - Pashto
|
||||||
/// * pt - Portuguese
|
/// * pt - Portuguese
|
||||||
|
/// * ro - Romanian
|
||||||
/// * ru - Russian
|
/// * ru - Russian
|
||||||
/// * th - Thai
|
/// * th - Thai
|
||||||
/// * tr - Turkish
|
/// * tr - Turkish
|
||||||
@ -504,6 +505,7 @@ class _MaterialLocalizationsDelegate extends LocalizationsDelegate<MaterialLocal
|
|||||||
'ja', // Japanese
|
'ja', // Japanese
|
||||||
'ps', // Pashto
|
'ps', // Pashto
|
||||||
'pt', // Portugese
|
'pt', // Portugese
|
||||||
|
'ro', // Romanian
|
||||||
'ru', // Russian
|
'ru', // Russian
|
||||||
'ur', // Urdu
|
'ur', // Urdu
|
||||||
'zh', // Simplified Chinese
|
'zh', // Simplified Chinese
|
||||||
|
@ -36,6 +36,12 @@ void main() {
|
|||||||
'expectedDaysOfMonth': new List<String>.generate(30, (int i) => '${i + 1}'),
|
'expectedDaysOfMonth': new List<String>.generate(30, (int i) => '${i + 1}'),
|
||||||
'expectedMonthYearHeader': 'сентябрь 2017 г.',
|
'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.
|
// Tests RTL.
|
||||||
const Locale('ar', 'AR'): <String, dynamic>{
|
const Locale('ar', 'AR'): <String, dynamic>{
|
||||||
'textDirection': TextDirection.rtl,
|
'textDirection': TextDirection.rtl,
|
||||||
|
@ -22,6 +22,7 @@ void main() {
|
|||||||
'pl', // Polish
|
'pl', // Polish
|
||||||
'ps', // Pashto
|
'ps', // Pashto
|
||||||
'pt', // Portugese
|
'pt', // Portugese
|
||||||
|
'ro', // Romanian
|
||||||
'ru', // Russian
|
'ru', // Russian
|
||||||
'th', // Thai
|
'th', // Thai
|
||||||
'tr', // Turkish
|
'tr', // Turkish
|
||||||
@ -95,5 +96,11 @@ void main() {
|
|||||||
expect(localizations.selectedRowCountTitle(1), '1 elemento seleccionado');
|
expect(localizations.selectedRowCountTitle(1), '1 elemento seleccionado');
|
||||||
expect(localizations.selectedRowCountTitle(2), '2 elementos seleccionados');
|
expect(localizations.selectedRowCountTitle(2), '2 elementos seleccionados');
|
||||||
expect(localizations.selectedRowCountTitle(123456789), '123.456.789 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