mirror of
https://github.com/elyby/emails-renderer.git
synced 2026-10-20 12:48:14 +05:30
Introduce custom locale-data polyfill for udm locale
This commit is contained in:
3 files changed
+165
-4
No files matched your search
+3
-4
@@ -1,11 +1,12 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
|
||||
import React, { ComponentType } from 'react';
|
||||
import { IntlProvider, addLocaleData } from 'react-intl';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
|
||||
import { SUPPORTED_LANGUAGES, DEFAULT_LANGUAGE } from 'params';
|
||||
|
||||
import { Html, BaseLayout } from 'components';
|
||||
import { loadLocale } from 'services/i18n';
|
||||
|
||||
interface Params {
|
||||
type: string;
|
||||
@@ -19,9 +20,7 @@ const App: ComponentType<Params> = ({ type, payload: { locale, ...params } }) =>
|
||||
locale = DEFAULT_LANGUAGE;
|
||||
}
|
||||
|
||||
const { default: messages } = require(`!extended-translations-loader!i18n/${locale}.json`);
|
||||
const localeData = require(`react-intl/locale-data/${locale}.js`);
|
||||
addLocaleData(localeData);
|
||||
const messages = loadLocale(locale);
|
||||
|
||||
const { default: Email } = require(`emails/${type}/index`);
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
|
||||
import { addLocaleData } from 'react-intl';
|
||||
|
||||
export function loadLocale(locale: string): any {
|
||||
const { default: messages } = require(`!extended-translations-loader!i18n/${locale}.json`);
|
||||
|
||||
let localeData;
|
||||
try {
|
||||
localeData = require(`./locale-data/${locale}.js`).default;
|
||||
} catch {
|
||||
localeData = require(`react-intl/locale-data/${locale}.js`);
|
||||
}
|
||||
|
||||
addLocaleData(localeData);
|
||||
|
||||
return messages;
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
export default [
|
||||
{
|
||||
locale: 'udm',
|
||||
pluralRuleFunction: () => 'other',
|
||||
fields: {
|
||||
year: {
|
||||
displayName: 'ар',
|
||||
relative: {
|
||||
0: 'таяз аре',
|
||||
1: 'вуоно аре',
|
||||
'-1': 'кылем аре',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} ар ортчыса' },
|
||||
past: { other: '{0} ар талэсь азьло' },
|
||||
},
|
||||
},
|
||||
'year-short': {
|
||||
displayName: 'ар',
|
||||
relative: {
|
||||
0: 'туэ',
|
||||
1: 'вуоно аре',
|
||||
'-1': 'кылем аре',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} ар ортчыса' },
|
||||
past: { other: '{0} ар талэсь азьло' },
|
||||
},
|
||||
},
|
||||
month: {
|
||||
displayName: 'толэзь',
|
||||
relative: {
|
||||
0: 'таяз толэзе',
|
||||
1: 'вуоно толэзе',
|
||||
'-1': 'ортчем толэзе',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} толэзь ортчыса' },
|
||||
past: { other: '{0} толэзь талэсь азьло' },
|
||||
},
|
||||
},
|
||||
'month-short': {
|
||||
displayName: 'толэзь',
|
||||
relative: {
|
||||
0: 'таяз толэзе',
|
||||
1: 'вуоно толэзе',
|
||||
'-1': 'ортчем толэзе',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} толэзь ортчыса' },
|
||||
past: { other: '{0} толэзь талэсь азьло' },
|
||||
},
|
||||
},
|
||||
day: {
|
||||
displayName: 'нунал',
|
||||
relative: {
|
||||
0: 'туннэ',
|
||||
1: 'ӵуказе',
|
||||
2: 'ӵуказе улыса',
|
||||
'-2': 'валлян',
|
||||
'-1': 'толон',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} нунал ортчыса' },
|
||||
past: { other: '{0} нунал талэсь азьло' },
|
||||
},
|
||||
},
|
||||
'day-short': {
|
||||
displayName: 'нунал',
|
||||
relative: {
|
||||
0: 'туннэ',
|
||||
1: 'ӵуказе',
|
||||
2: 'ӵуказе улыса',
|
||||
'-2': 'валлян',
|
||||
'-1': 'толон',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} нунал ортчыса' },
|
||||
past: { other: '{0} нунал талэсь азьло' },
|
||||
},
|
||||
},
|
||||
hour: {
|
||||
displayName: 'час',
|
||||
relative: {
|
||||
0: 'таяз часэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} час ортчыса' },
|
||||
past: { other: '{0} час талэсь азьло' },
|
||||
},
|
||||
},
|
||||
'hour-short': {
|
||||
displayName: 'час',
|
||||
relative: {
|
||||
0: 'таяз часэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} час ортчыса' },
|
||||
past: { other: '{0} час талэсь азьло' },
|
||||
},
|
||||
},
|
||||
minute: {
|
||||
displayName: 'минут',
|
||||
relative: {
|
||||
0: 'таяз минутэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} минут ортчыса' },
|
||||
past: { other: '{0} минут талэсь азьло' },
|
||||
},
|
||||
},
|
||||
'minute-short': {
|
||||
displayName: 'минут',
|
||||
relative: {
|
||||
0: 'таяз минутэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} минут ортчыса' },
|
||||
past: { other: '{0} минут талэсь азьло' },
|
||||
},
|
||||
},
|
||||
second: {
|
||||
displayName: 'секунд',
|
||||
relative: {
|
||||
0: 'таяз секундэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} секунд ортчыса' },
|
||||
past: { other: '{0} секунд талэзь азьло' },
|
||||
},
|
||||
},
|
||||
'second-short': {
|
||||
displayName: 'секунд',
|
||||
relative: {
|
||||
0: 'таяз секундэ',
|
||||
},
|
||||
relativeTime: {
|
||||
future: { other: '{0} секунд ортчыса' },
|
||||
past: { other: '{0} секунд талэзь азьло' },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
];
|
||||
Reference in new issue
Block a user