Поправил отзывчивость кнопок валют на экране валюты, исправил отображение названий валюты на экранах проведения покупки (рубль, рубля, рублей) для русской локали
This commit is contained in:
@@ -9,12 +9,64 @@ class StringsLocalization {
|
||||
return initializeMessages(locale);
|
||||
}
|
||||
|
||||
static String confirmPurchase(String val) {
|
||||
return sprintf(Intl.message('confirm_purchase', name: 'confirm_purchase', locale: Intl.defaultLocale), [val]);
|
||||
static String declineCurrency(int num, int code) {
|
||||
|
||||
int residual = num % 100;
|
||||
if (residual >= 20) {
|
||||
residual %= 10;
|
||||
}
|
||||
|
||||
List<String> strings = currencies(code);
|
||||
|
||||
switch (residual) {
|
||||
case 1:
|
||||
return strings[0];
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
return strings[1];
|
||||
default: // case 0, 5-19
|
||||
return strings[2];
|
||||
}
|
||||
}
|
||||
|
||||
static String purchaseCompleted(String val) {
|
||||
return sprintf(Intl.message('purchase_complite', name: 'purchase_complite', locale: Intl.defaultLocale), [val]);
|
||||
static List<String> currencies(int code) {
|
||||
|
||||
String nominative, singular, plural;
|
||||
|
||||
switch (code) {
|
||||
case 643:
|
||||
nominative = nominativeRuble();
|
||||
singular = singularRuble();
|
||||
plural = pluralRuble();
|
||||
break;
|
||||
case 840:
|
||||
nominative = nominativeDollar();
|
||||
singular = singularDollar();
|
||||
plural = pluralDollar();
|
||||
break;
|
||||
case 980:
|
||||
nominative = nominativeHryvna();
|
||||
singular = singularHryvna();
|
||||
plural = pluralHryvna();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return [nominative, singular, plural];
|
||||
}
|
||||
|
||||
|
||||
static String confirmPurchase(String val, int code) {
|
||||
String trimmedVal =val.substring(0, val.length - 3);
|
||||
print(trimmedVal);
|
||||
return sprintf(Intl.message('confirm_purchase', name: 'confirm_purchase', locale: Intl.defaultLocale), [trimmedVal, declineCurrency(int.parse(trimmedVal), code)]);
|
||||
}
|
||||
|
||||
static String purchaseCompleted(String val, int code) {
|
||||
String trimmedVal =val.substring(0, val.length - 3);
|
||||
print(trimmedVal);
|
||||
return sprintf(Intl.message('purchase_complite', name: 'purchase_complite', locale: Intl.defaultLocale), [val, declineCurrency(int.parse(trimmedVal), code)]);
|
||||
}
|
||||
|
||||
static String registration() => Intl.message('registration', name: 'registration', locale: Intl.defaultLocale);
|
||||
@@ -46,7 +98,16 @@ class StringsLocalization {
|
||||
static String locale() => Intl.message('locale', name: 'locale', locale: Intl.defaultLocale);
|
||||
|
||||
// Валюты
|
||||
static String ruble() => Intl.message('rubles', name: 'rubles', locale: Intl.defaultLocale);
|
||||
static String dollar() => Intl.message('dollars', name: 'dollars', locale: Intl.defaultLocale);
|
||||
static String hryvna() => Intl.message('hryvna', name: 'hryvna', locale: Intl.defaultLocale);
|
||||
static String nominativeRuble() => Intl.message('nominative_ruble', name: 'nominative_ruble', locale: Intl.defaultLocale);
|
||||
static String singularRuble() => Intl.message('singular_ruble', name: 'singular_ruble', locale: Intl.defaultLocale);
|
||||
static String pluralRuble() => Intl.message('plural_ruble', name: 'plural_ruble', locale: Intl.defaultLocale);
|
||||
|
||||
static String nominativeDollar() => Intl.message('nominative_dollar', name: 'nominative_dollar', locale: Intl.defaultLocale);
|
||||
static String singularDollar() => Intl.message('singular_dollar', name: 'singular_dollar', locale: Intl.defaultLocale);
|
||||
static String pluralDollar() => Intl.message('plural_dollar', name: 'plural_dollar', locale: Intl.defaultLocale);
|
||||
|
||||
static String nominativeHryvna() => Intl.message('nominative_hryvna', name: 'nominative_hryvna', locale: Intl.defaultLocale);
|
||||
static String singularHryvna() => Intl.message('singular_hryvna', name: 'singular_hryvna', locale: Intl.defaultLocale);
|
||||
static String pluralHryvna() => Intl.message('plural_hryvna', name: 'plural_hryvna', locale: Intl.defaultLocale);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user