mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-26 23:10:20 +05:30
Add Udmurt language, replace locales override implementation
This commit is contained in:
parent
bda3994138
commit
4379444abe
@ -45,7 +45,8 @@
|
||||
"build:dll": "babel-node --extensions '.ts,.d.ts' ./packages/scripts/build-dll.ts",
|
||||
"build:serve": "http-server --proxy https://dev.account.ely.by ./build",
|
||||
"sb": "APP_ENV=storybook start-storybook -p 9009 --ci",
|
||||
"sb:build": "APP_ENV=storybook build-storybook"
|
||||
"sb:build": "APP_ENV=storybook build-storybook",
|
||||
"postinstall": "node -e \"try{require('./postinstall.js')}catch(e){}\""
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{json,scss,css,md}": [
|
||||
|
6
packages/app/components/i18n/flags/udm.svg
Normal file
6
packages/app/components/i18n/flags/udm.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480">
|
||||
<path d="M0 0h204.8v480H0z"/>
|
||||
<path fill="#D21" d="M435.2 0H640v480H435.2z"/>
|
||||
<path fill="#FFF" d="M204.8 0h230.4v480H204.8z"/>
|
||||
<path fill="#D21" d="M286.667 140L420 273.333H220L353.333 140v200L220 206.667h200L286.667 340V140z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 316 B |
250
packages/app/services/i18n/overrides/intl/udm.js
Normal file
250
packages/app/services/i18n/overrides/intl/udm.js
Normal file
@ -0,0 +1,250 @@
|
||||
IntlPolyfill.__addLocaleData({
|
||||
locale: "udm",
|
||||
date: {
|
||||
ca: ["gregory", "generic"],
|
||||
hourNo0: true,
|
||||
hour12: false,
|
||||
formats: {
|
||||
short: "{1}, {0}",
|
||||
medium: "{1}, {0}",
|
||||
full: "{1}, {0}",
|
||||
long: "{1}, {0}",
|
||||
availableFormats: {
|
||||
d: "d",
|
||||
E: "ccc",
|
||||
Ed: "ccc, d",
|
||||
Ehm: "E h:mm a",
|
||||
EHm: "E HH:mm",
|
||||
Ehms: "E h:mm:ss a",
|
||||
EHms: "E HH:mm:ss",
|
||||
Gy: "G y 'аре'",
|
||||
GyMMM: "LLL G y",
|
||||
GyMMMd: "d MMM G y 'аре'",
|
||||
GyMMMEd: "E, d MMM G y 'аре'",
|
||||
h: "h a",
|
||||
H: "H",
|
||||
hm: "h:mm a",
|
||||
Hm: "H:mm",
|
||||
hms: "h:mm:ss a",
|
||||
Hms: "H:mm:ss",
|
||||
hmsv: "h:mm:ss a v",
|
||||
Hmsv: "H:mm:ss v",
|
||||
hmv: "h:mm a v",
|
||||
Hmv: "H:mm v",
|
||||
M: "L",
|
||||
Md: "dd.MM",
|
||||
MEd: "E, dd.MM",
|
||||
MMdd: "dd.MM",
|
||||
MMM: "LLL",
|
||||
MMMd: "d MMM",
|
||||
MMMEd: "ccc, d MMM",
|
||||
MMMMd: "d MMMM",
|
||||
ms: "mm:ss",
|
||||
y: "y",
|
||||
yM: "MM.y",
|
||||
yMd: "dd.MM.y",
|
||||
yMEd: "ccc, d.MM.y 'аре'",
|
||||
yMM: "MM.y",
|
||||
yMMM: "LLL y 'аре'",
|
||||
yMMMd: "d MMM y 'аре'",
|
||||
yMMMEd: "E, d MMM y 'аре'",
|
||||
yMMMM: "LLLL y 'аре'",
|
||||
yQQQ: "QQQ y 'аре'",
|
||||
yQQQQ: "QQQQ y 'аре'",
|
||||
},
|
||||
dateFormats: {
|
||||
yMMMMEEEEd: "EEEE, d MMMM y 'аре'",
|
||||
yMMMMd: "d MMMM y 'аре'",
|
||||
yMMMd: "d MMM y 'аре'",
|
||||
yMd: "dd.MM.yy",
|
||||
},
|
||||
timeFormats: {
|
||||
hmmsszzzz: "H:mm:ss zzzz",
|
||||
hmsz: "H:mm:ss z",
|
||||
hms: "H:mm:ss",
|
||||
hm: "H:mm",
|
||||
},
|
||||
},
|
||||
calendars: {
|
||||
generic: {
|
||||
months: {
|
||||
narrow: [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
],
|
||||
short: [
|
||||
"Т01",
|
||||
"Т02",
|
||||
"Т03",
|
||||
"Т04",
|
||||
"Т05",
|
||||
"Т06",
|
||||
"Т07",
|
||||
"Т08",
|
||||
"Т09",
|
||||
"Т10",
|
||||
"Т11",
|
||||
"Т12",
|
||||
],
|
||||
long: [
|
||||
"Т01",
|
||||
"Т02",
|
||||
"Т03",
|
||||
"Т04",
|
||||
"Т05",
|
||||
"Т06",
|
||||
"Т07",
|
||||
"Т08",
|
||||
"Т09",
|
||||
"Т10",
|
||||
"Т11",
|
||||
"Т12",
|
||||
],
|
||||
},
|
||||
days: {
|
||||
narrow: ["А", "В", "П", "В", "П", "У", "К"],
|
||||
short: ["ан", "вр", "пк", "вн", "па", "уд", "кн"],
|
||||
long: [
|
||||
"арнянунал",
|
||||
"вордӥськон",
|
||||
"пуксён",
|
||||
"вирнунал",
|
||||
"покчиарня",
|
||||
"удмуртарня",
|
||||
"кӧснунал",
|
||||
],
|
||||
},
|
||||
eras: {
|
||||
narrow: ["ERA0", "ERA1"],
|
||||
short: ["ERA0", "ERA1"],
|
||||
long: ["ERA0", "ERA1"],
|
||||
},
|
||||
dayPeriods: { am: "ЛА", pm: "ЛБ" },
|
||||
},
|
||||
gregory: {
|
||||
months: {
|
||||
narrow: ["Т", "Т", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
|
||||
short: [
|
||||
"тшт",
|
||||
"тпт",
|
||||
"южт",
|
||||
"ошт",
|
||||
"крт",
|
||||
"ивт",
|
||||
"пст",
|
||||
"гкт",
|
||||
"кут",
|
||||
"квт",
|
||||
"шкт",
|
||||
"тст",
|
||||
],
|
||||
long: [
|
||||
"толшоре",
|
||||
"тулыспалэ",
|
||||
"южтолэзе",
|
||||
"оштолэзе",
|
||||
"куартолэзе",
|
||||
"инвожое",
|
||||
"пӧсьтолэзе",
|
||||
"гудырикошконэ",
|
||||
"куарусёнэ",
|
||||
"коньывуонэ",
|
||||
"шуркынмонэ",
|
||||
"толсуре",
|
||||
],
|
||||
},
|
||||
days: {
|
||||
narrow: ["А", "В", "П", "В", "П", "У", "К"],
|
||||
short: ["ан", "вр", "пк", "вн", "па", "уд", "кн"],
|
||||
long: [
|
||||
"арнянунал",
|
||||
"вордӥськон",
|
||||
"пуксён",
|
||||
"вирнунал",
|
||||
"покчиарня",
|
||||
"удмуртарня",
|
||||
"кӧснунал",
|
||||
],
|
||||
},
|
||||
eras: {
|
||||
narrow: ["КА", "КБ", "ава", "ав"],
|
||||
short: ["КА", "КБ", "а.в.а", "а.в."],
|
||||
long: [
|
||||
"Кристослэн вордскем азяз",
|
||||
"Кристослэн вордскем бераз",
|
||||
"асьме вакытлэсь азьло",
|
||||
"асьме вакытэ",
|
||||
],
|
||||
},
|
||||
dayPeriods: { am: "ЛА", pm: "ЛБ" },
|
||||
},
|
||||
},
|
||||
},
|
||||
number: {
|
||||
nu: ["latn"],
|
||||
patterns: {
|
||||
decimal: {
|
||||
positivePattern: "{number}",
|
||||
negativePattern: "{minusSign}{number}",
|
||||
},
|
||||
currency: {
|
||||
positivePattern: "{number} {currency}",
|
||||
negativePattern: "{minusSign}{number} {currency}",
|
||||
},
|
||||
percent: {
|
||||
positivePattern: "{number} {percentSign}",
|
||||
negativePattern: "{minusSign}{number} {percentSign}",
|
||||
},
|
||||
},
|
||||
symbols: {
|
||||
latn: {
|
||||
decimal: ",",
|
||||
group: " ",
|
||||
nan: "лыд ӧвӧл",
|
||||
plusSign: "+",
|
||||
minusSign: "-",
|
||||
percentSign: "%",
|
||||
infinity: "∞",
|
||||
},
|
||||
},
|
||||
currencies: {
|
||||
AUD: "A$",
|
||||
BRL: "R$",
|
||||
CAD: "CA$",
|
||||
CNY: "CN¥",
|
||||
EUR: "€",
|
||||
GBP: "£",
|
||||
HKD: "HK$",
|
||||
ILS: "₪",
|
||||
INR: "₹",
|
||||
JPY: "¥",
|
||||
KRW: "₩",
|
||||
MXN: "MX$",
|
||||
NZD: "NZ$",
|
||||
RUB: "₽",
|
||||
RUR: "р.",
|
||||
THB: "฿",
|
||||
TMT: "ТМТ",
|
||||
TWD: "NT$",
|
||||
UAH: "₴",
|
||||
USD: "$",
|
||||
VND: "₫",
|
||||
XAF: "FCFA",
|
||||
XCD: "EC$",
|
||||
XOF: "CFA",
|
||||
XPF: "CFPF",
|
||||
XXX: "XXXX",
|
||||
},
|
||||
},
|
||||
});
|
||||
|
12
packages/app/services/i18n/overrides/pluralrules/udm.js
Normal file
12
packages/app/services/i18n/overrides/pluralrules/udm.js
Normal file
@ -0,0 +1,12 @@
|
||||
Intl.PluralRules && 'function' == typeof Intl.PluralRules.__addLocaleData && Intl.PluralRules.__addLocaleData({
|
||||
data: {
|
||||
udm: {
|
||||
categories: {
|
||||
cardinal: ['other'],
|
||||
ordinal: ['other'],
|
||||
}, fn: function(a, l) {
|
||||
return 'other';
|
||||
},
|
||||
},
|
||||
}, availableLocales: ['udm'], aliases: {}, parentLocales: {},
|
||||
});
|
159
packages/app/services/i18n/overrides/relativetimeformat/udm.js
Normal file
159
packages/app/services/i18n/overrides/relativetimeformat/udm.js
Normal file
@ -0,0 +1,159 @@
|
||||
Intl.RelativeTimeFormat && 'function' == typeof Intl.RelativeTimeFormat.__addLocaleData && Intl.RelativeTimeFormat.__addLocaleData({
|
||||
data: {
|
||||
udm: {
|
||||
nu: ['latn'],
|
||||
year: {
|
||||
0: 'таяз аре',
|
||||
1: 'вуоно аре',
|
||||
'-1': 'кылем аре',
|
||||
past: { other: '{0} ар талэсь азьло' },
|
||||
future: { other: '{0} ар ортчыса' },
|
||||
},
|
||||
'year-short': {
|
||||
0: 'туэ',
|
||||
1: 'вуоно аре',
|
||||
'-1': 'кылем аре',
|
||||
past: { other: '{0} ар талэсь азьло' },
|
||||
future: { other: '{0} ар ортчыса' },
|
||||
},
|
||||
'year-narrow': {
|
||||
0: 'туэ',
|
||||
1: 'кайта',
|
||||
'-1': 'мийым',
|
||||
past: { other: '{0} ар талэсь азьло' },
|
||||
future: { other: '{0} ар ортчыса' },
|
||||
},
|
||||
quarter: {
|
||||
0: 'таяз арньыльмосэ',
|
||||
1: 'вуоно арньыльмосэ',
|
||||
'-1': 'ортчем арньыльмосэ',
|
||||
past: { other: '{0} арньыльмос талэсь азьло' },
|
||||
future: { other: '{0} арныльмос ортчыса' },
|
||||
},
|
||||
'quarter-short': {
|
||||
0: 'таяз арньыльмосэ',
|
||||
1: 'вуоно арньыльмосэ',
|
||||
'-1': 'ортчем арньыльмосэ',
|
||||
past: { other: '{0} арньыльмос талэсь азьло' },
|
||||
future: { other: '{0} арныльмос ортчыса' },
|
||||
},
|
||||
'quarter-narrow': {
|
||||
0: 'таяз арньыльмосэ',
|
||||
1: 'вуоно арньыльмосэ',
|
||||
'-1': 'ортчем арньыльмосэ',
|
||||
past: { other: '{0} арньыльмос талэсь азьло' },
|
||||
future: { other: '{0} арныльмос ортчыса' },
|
||||
},
|
||||
month: {
|
||||
0: 'таяз толэзе',
|
||||
1: 'вуоно толэзе',
|
||||
'-1': 'ортчем толэзе',
|
||||
past: { other: '{0} толэзь талэсь азьло' },
|
||||
future: { other: '{0} толэзь ортчыса' },
|
||||
},
|
||||
'month-short': {
|
||||
0: 'таяз толэзе',
|
||||
1: 'вуоно толэзе',
|
||||
'-1': 'ортчем толэзе',
|
||||
past: { other: '{0} толэзь талэсь азьло' },
|
||||
future: { other: '{0} толэзь ортчыса' },
|
||||
},
|
||||
'month-narrow': {
|
||||
0: 'таяз толэзе',
|
||||
1: 'вуоно толэзе',
|
||||
'-1': 'ортчем толэзе',
|
||||
past: { other: '{0} толэзь талэсь азьло' },
|
||||
future: { other: '{0} толэзь ортчыса' },
|
||||
},
|
||||
week: {
|
||||
0: 'таяз арняе',
|
||||
1: 'вуоно арняе',
|
||||
'-1': 'ортчем арняе',
|
||||
past: { other: '{0} арня талэсь азьло' },
|
||||
future: { other: '{0} арня ортчыса' },
|
||||
},
|
||||
'week-short': {
|
||||
0: 'таяз арняе',
|
||||
1: 'вуоно арняе',
|
||||
'-1': 'ортчем арняе',
|
||||
past: { other: '{0} арня талэсь азьло' },
|
||||
future: { other: '{0} арня ортчыса' },
|
||||
},
|
||||
'week-narrow': {
|
||||
0: 'таяз арняе',
|
||||
1: 'вуоно арняе',
|
||||
'-1': 'ортчем арняе',
|
||||
past: { other: '{0} арня талэсь азьло' },
|
||||
future: { other: '{0} арня ортчыса' },
|
||||
},
|
||||
day: {
|
||||
0: 'туннэ',
|
||||
1: 'ӵуказе',
|
||||
2: 'ӵуказе улыса',
|
||||
'-2': 'валлян',
|
||||
'-1': 'толон',
|
||||
past: { other: '{0} нунал талэсь азьло' },
|
||||
future: { other: '{0} нунал ортчыса' },
|
||||
},
|
||||
'day-short': {
|
||||
0: 'туннэ',
|
||||
1: 'ӵуказе',
|
||||
2: 'ӵуказе улыса',
|
||||
'-2': 'валлян',
|
||||
'-1': 'толон',
|
||||
past: { other: '{0} нунал талэсь азьло' },
|
||||
future: { other: '{0} нунал ортчыса' },
|
||||
},
|
||||
'day-narrow': {
|
||||
0: 'туннэ',
|
||||
1: 'ӵуказе',
|
||||
2: 'усьсэ',
|
||||
'-2': 'валлян',
|
||||
'-1': 'толон',
|
||||
past: { other: '{0} нунал талэсь азьло' },
|
||||
future: { other: '{0} нунал ортчыса' },
|
||||
},
|
||||
hour: { 0: 'таяз часэ', past: { other: '{0} час талэсь азьло' }, future: { other: '{0} час ортчыса' } },
|
||||
'hour-short': {
|
||||
0: 'таяз часэ',
|
||||
past: { other: '{0} час талэсь азьло' },
|
||||
future: { other: '{0} час ортчыса' },
|
||||
},
|
||||
'hour-narrow': {
|
||||
0: 'таяз часэ',
|
||||
past: { other: '{0} час талэсь азьло' },
|
||||
future: { other: '{0} час ортчыса' },
|
||||
},
|
||||
minute: {
|
||||
0: 'таяз минутэ',
|
||||
past: { other: '{0} минут талэсь азьло' },
|
||||
future: { other: '{0} минут ортчыса' },
|
||||
},
|
||||
'minute-short': {
|
||||
0: 'таяз минутэ',
|
||||
past: { other: '{0} минут талэсь азьло' },
|
||||
future: { other: '{0} минут ортчыса' },
|
||||
},
|
||||
'minute-narrow': {
|
||||
0: 'таяз минутэ',
|
||||
past: { other: '{0} минут талэсь азьло' },
|
||||
future: { other: '{0} минут ортчыса' },
|
||||
},
|
||||
second: {
|
||||
0: 'таяз секундэ',
|
||||
past: { other: '{0} секунд талэзь азьло' },
|
||||
future: { other: '{0} секунд ортчыса' },
|
||||
},
|
||||
'second-short': {
|
||||
0: 'таяз секундэ',
|
||||
past: { other: '{0} секунд талэзь азьло' },
|
||||
future: { other: '{0} секунд ортчыса' },
|
||||
},
|
||||
'second-narrow': {
|
||||
0: 'таяз секундэ',
|
||||
past: { other: '{0} секунд талэзь азьло' },
|
||||
future: { other: '{0} секунд ортчыса' },
|
||||
},
|
||||
},
|
||||
}, availableLocales: ['udm'], aliases: {}, parentLocales: {},
|
||||
});
|
19
postinstall.js
Executable file
19
postinstall.js
Executable file
@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const localeOverrides = {
|
||||
'packages/app/services/i18n/overrides/intl': 'node_modules/intl/locale-data/jsonp',
|
||||
'packages/app/services/i18n/overrides/pluralrules': 'node_modules/@formatjs/intl-pluralrules/dist/locale-data',
|
||||
// eslint-disable-next-line prettier/prettier
|
||||
'packages/app/services/i18n/overrides/relativetimeformat': 'node_modules/@formatjs/intl-relativetimeformat/dist/locale-data',
|
||||
};
|
||||
|
||||
Object.entries(localeOverrides).forEach(([sourceDir, targetDir]) => {
|
||||
fs.readdirSync(sourceDir).forEach((localeFile) => {
|
||||
fs.copyFileSync(path.join(sourceDir, localeFile), path.join(targetDir, localeFile));
|
||||
});
|
||||
});
|
@ -201,19 +201,6 @@ const webpackConfig = {
|
||||
type: 'javascript/auto',
|
||||
use: ['fontgen-loader'],
|
||||
},
|
||||
{
|
||||
// Replace some locales provided by FormatJS with local ones
|
||||
test: /@formatjs\/intl-\w+\/dist\/locale-data/,
|
||||
loader: 'file-replace-loader',
|
||||
options: {
|
||||
condition: 'if-replacement-exists',
|
||||
replacement: (resource) =>
|
||||
resource.replace(
|
||||
/node_modules\/@formatjs\/intl-(\w+)\/dist\/locale-data\/(\w+)\.js/,
|
||||
'packages/app/services/i18n/overrides/$1/$2.js',
|
||||
),
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user