Rename isoCode to tag (cause they are IETF tags actually)

pull/4482/head
Denis Perov 3 years ago
parent f40b0d495d
commit c858e0b796
  1. 2
      client/components/main/layouts.js
  2. 2
      client/components/users/userHeader.js
  3. 2
      imports/i18n/i18n.test.js
  4. 156
      imports/i18n/languages.js
  5. 4
      imports/i18n/tap.js

@ -116,7 +116,7 @@ Template.userFormsLayout.helpers({
languages() { languages() {
return TAPi18n.getSupportedLanguages() return TAPi18n.getSupportedLanguages()
.map(({ isoCode, name }) => ({ tag: isoCode, name })) .map(({ tag, name }) => ({ tag: tag, name }))
.sort((a, b) => { .sort((a, b) => {
if (a.name === b.name) { if (a.name === b.name) {
return 0; return 0;

@ -259,7 +259,7 @@ Template.changePasswordPopup.onRendered(function() {
Template.changeLanguagePopup.helpers({ Template.changeLanguagePopup.helpers({
languages() { languages() {
return TAPi18n.getSupportedLanguages() return TAPi18n.getSupportedLanguages()
.map(({ isoCode, name }) => ({ tag: isoCode, name })) .map(({ tag, name }) => ({ tag: tag, name }))
.sort((a, b) => { .sort((a, b) => {
if (a.name === b.name) { if (a.name === b.name) {
return 0; return 0;

@ -45,7 +45,7 @@ describe('TAPi18n', () => {
const languages = TAPi18n.getSupportedLanguages(); const languages = TAPi18n.getSupportedLanguages();
expect(languages).to.be.an('array'); expect(languages).to.be.an('array');
for (const language of languages) { for (const language of languages) {
expect(language).to.have.keys('name', 'code', 'isoCode'); expect(language).to.have.keys('name', 'code', 'tag');
} }
}); });

@ -1,469 +1,469 @@
export default { export default {
"ar-EG": { "ar-EG": {
code: "ar", code: "ar",
isoCode: "ar-EG", tag: "ar-EG",
name: َصرى", name: َصرى",
load: () => import('./data/ar-EG.i18n.json'), load: () => import('./data/ar-EG.i18n.json'),
}, },
"ar": { "ar": {
code: "ar", code: "ar",
isoCode: "ar", tag: "ar",
name: "العربية", name: "العربية",
load: () => import('./data/ar.i18n.json'), load: () => import('./data/ar.i18n.json'),
}, },
"bg": { "bg": {
code: "bg", code: "bg",
isoCode: "bg", tag: "bg",
name: "Български", name: "Български",
load: () => import('./data/bg.i18n.json'), load: () => import('./data/bg.i18n.json'),
}, },
"br": { "br": {
code: "br", code: "br",
isoCode: "br", tag: "br",
name: "Brezhoneg", name: "Brezhoneg",
load: () => import('./data/xxx.i18n.json'), load: () => import('./data/xxx.i18n.json'),
}, },
"ca": { "ca": {
code: "ca", code: "ca",
isoCode: "ca", tag: "ca",
name: "Català", name: "Català",
load: () => import('./data/ca.i18n.json'), load: () => import('./data/ca.i18n.json'),
}, },
"cs": { "cs": {
code: "cs", code: "cs",
isoCode: "cs", tag: "cs",
name: "čeština", name: "čeština",
load: () => import('./data/cs.i18n.json'), load: () => import('./data/cs.i18n.json'),
}, },
"da": { "da": {
code: "da", code: "da",
isoCode: "da", tag: "da",
name: "Dansk", name: "Dansk",
load: () => import('./data/da.i18n.json'), load: () => import('./data/da.i18n.json'),
}, },
"de-AT": { "de-AT": {
code: "de", code: "de",
isoCode: "de-AT", tag: "de-AT",
name: "Deutsch (Österreich)", name: "Deutsch (Österreich)",
load: () => import('./data/de-AT.i18n.json'), load: () => import('./data/de-AT.i18n.json'),
}, },
"de-CH": { "de-CH": {
code: "de", code: "de",
isoCode: "de-CH", tag: "de-CH",
name: "Deutsch (Schweiz)", name: "Deutsch (Schweiz)",
load: () => import('./data/de-CH.i18n.json'), load: () => import('./data/de-CH.i18n.json'),
}, },
"de": { "de": {
code: "de", code: "de",
isoCode: "de", tag: "de",
name: "Deutsch", name: "Deutsch",
load: () => import('./data/de.i18n.json'), load: () => import('./data/de.i18n.json'),
}, },
"el-GR": { "el-GR": {
code: "el", code: "el",
isoCode: "el-GR", tag: "el-GR",
name: "Ελληνικά (Ελλάδα)", name: "Ελληνικά (Ελλάδα)",
load: () => import('./data/el-GR.i18n.json'), load: () => import('./data/el-GR.i18n.json'),
}, },
"el": { "el": {
code: "el", code: "el",
isoCode: "el", tag: "el",
name: "el", name: "el",
load: () => import('./data/el.i18n.json'), load: () => import('./data/el.i18n.json'),
}, },
"en-DE": { "en-DE": {
code: "en", code: "en",
isoCode: "en-DE", tag: "en-DE",
name: "English (Germany)", name: "English (Germany)",
load: () => import('./data/en-DE.i18n.json'), load: () => import('./data/en-DE.i18n.json'),
}, },
"en-GB": { "en-GB": {
code: "en", code: "en",
isoCode: "en-GB", tag: "en-GB",
name: "English (UK)", name: "English (UK)",
load: () => import('./data/en-GB.i18n.json'), load: () => import('./data/en-GB.i18n.json'),
}, },
"en-IT": { "en-IT": {
code: "en", code: "en",
isoCode: "en-IT", tag: "en-IT",
name: "English (Italy)", name: "English (Italy)",
load: () => import('./data/en-IT.i18n.json'), load: () => import('./data/en-IT.i18n.json'),
}, },
"en": { "en": {
code: "en", code: "en",
isoCode: "en", tag: "en",
name: "English", name: "English",
load: () => import('./data/en.i18n.json'), load: () => import('./data/en.i18n.json'),
}, },
"eo": { "eo": {
code: "eo", code: "eo",
isoCode: "eo", tag: "eo",
name: "Esperanto", name: "Esperanto",
load: () => import('./data/eo.i18n.json'), load: () => import('./data/eo.i18n.json'),
}, },
"es-AR": { "es-AR": {
code: "es", code: "es",
isoCode: "es-AR", tag: "es-AR",
name: "español de Argentina", name: "español de Argentina",
load: () => import('./data/es-AR.i18n.json'), load: () => import('./data/es-AR.i18n.json'),
}, },
"es-CL": { "es-CL": {
code: "es", code: "es",
isoCode: "es-CL", tag: "es-CL",
name: "español de Chile", name: "español de Chile",
load: () => import('./data/es-CL.i18n.json'), load: () => import('./data/es-CL.i18n.json'),
}, },
"es-LA": { "es-LA": {
code: "es", code: "es",
isoCode: "es-LA", tag: "es-LA",
name: "español de América Latina", name: "español de América Latina",
load: () => import('./data/es-LA.i18n.json'), load: () => import('./data/es-LA.i18n.json'),
}, },
"es-MX": { "es-MX": {
code: "es", code: "es",
isoCode: "es-MX", tag: "es-MX",
name: "español de México", name: "español de México",
load: () => import('./data/es-MX.i18n.json'), load: () => import('./data/es-MX.i18n.json'),
}, },
"es-PE": { "es-PE": {
code: "es", code: "es",
isoCode: "es-PE", tag: "es-PE",
name: "español de Perú", name: "español de Perú",
load: () => import('./data/es-PE.i18n.json'), load: () => import('./data/es-PE.i18n.json'),
}, },
"es-PY": { "es-PY": {
code: "es", code: "es",
isoCode: "es-PY", tag: "es-PY",
name: "español de Paraguayo", name: "español de Paraguayo",
load: () => import('./data/es-PY.i18n.json'), load: () => import('./data/es-PY.i18n.json'),
}, },
"es": { "es": {
code: "es", code: "es",
isoCode: "es", tag: "es",
name: "español", name: "español",
load: () => import('./data/es.i18n.json'), load: () => import('./data/es.i18n.json'),
}, },
"et-EE": { "et-EE": {
code: "et", code: "et",
isoCode: "et-EE", tag: "et-EE",
name: "eesti keel (Eesti)", name: "eesti keel (Eesti)",
load: () => import('./data/et-EE.i18n.json'), load: () => import('./data/et-EE.i18n.json'),
}, },
"eu": { "eu": {
code: "eu", code: "eu",
isoCode: "eu", tag: "eu",
name: "Euskara", name: "Euskara",
load: () => import('./data/eu.i18n.json'), load: () => import('./data/eu.i18n.json'),
}, },
"fa-IR": { "fa-IR": {
code: "fa", code: "fa",
isoCode: "fa-IR", tag: "fa-IR",
name: "فارسی/پارسی (ایران\u200e)", name: "فارسی/پارسی (ایران\u200e)",
load: () => import('./data/fa-IR.i18n.json'), load: () => import('./data/fa-IR.i18n.json'),
}, },
"fa": { "fa": {
code: "fa", code: "fa",
isoCode: "fa", tag: "fa",
name: "فارسی", name: "فارسی",
load: () => import('./data/fa.i18n.json'), load: () => import('./data/fa.i18n.json'),
}, },
"fi": { "fi": {
code: "fi", code: "fi",
isoCode: "fi", tag: "fi",
name: "Suomi", name: "Suomi",
load: () => import('./data/fi-FI.i18n.json'), load: () => import('./data/fi-FI.i18n.json'),
}, },
"fr-BE": { "fr-BE": {
code: "fr", code: "fr",
isoCode: "fr-BE", tag: "fr-BE",
name: "Français (Belgique)", name: "Français (Belgique)",
load: () => import('./data/fr-BE.i18n.json'), load: () => import('./data/fr-BE.i18n.json'),
}, },
"fr-CA": { "fr-CA": {
code: "fr", code: "fr",
isoCode: "fr-CA", tag: "fr-CA",
name: "Français (Canada)", name: "Français (Canada)",
load: () => import('./data/fr-CA.i18n.json'), load: () => import('./data/fr-CA.i18n.json'),
}, },
"fr-CH": { "fr-CH": {
code: "fr", code: "fr",
isoCode: "fr-CH", tag: "fr-CH",
name: "Français (Schweiz)", name: "Français (Schweiz)",
load: () => import('./data/fr-CH.i18n.json'), load: () => import('./data/fr-CH.i18n.json'),
}, },
"fr": { "fr": {
code: "fr", code: "fr",
isoCode: "fr", tag: "fr",
name: "Français", name: "Français",
load: () => import('./data/fr.i18n.json'), load: () => import('./data/fr.i18n.json'),
}, },
"gl-ES": { "gl-ES": {
code: "gl", code: "gl",
isoCode: "gl-ES", tag: "gl-ES",
name: "Galego (España)", name: "Galego (España)",
load: () => import('./data/gl-ES.i18n.json'), load: () => import('./data/gl-ES.i18n.json'),
}, },
"gl": { "gl": {
code: "gl", code: "gl",
isoCode: "gl", tag: "gl",
name: "Galego", name: "Galego",
load: () => import('./data/gl.i18n.json'), load: () => import('./data/gl.i18n.json'),
}, },
"gu-IN": { "gu-IN": {
code: "gu", code: "gu",
isoCode: "gu-IN", tag: "gu-IN",
name: "ગજર", name: "ગજર",
load: () => import('./data/gu-IN.i18n.json'), load: () => import('./data/gu-IN.i18n.json'),
}, },
"he": { "he": {
code: "he", code: "he",
isoCode: "he", tag: "he",
name: "עברית", name: "עברית",
load: () => import('./data/he.i18n.json'), load: () => import('./data/he.i18n.json'),
}, },
"hi-IN": { "hi-IN": {
code: "hi", code: "hi",
isoCode: "hi-IN", tag: "hi-IN",
name: "हि (भरत)", name: "हि (भरत)",
load: () => import('./data/hi-IN.i18n.json'), load: () => import('./data/hi-IN.i18n.json'),
}, },
"hi": { "hi": {
code: "hi", code: "hi",
isoCode: "hi", tag: "hi",
name: "हि", name: "हि",
load: () => import('./data/hi.i18n.json'), load: () => import('./data/hi.i18n.json'),
}, },
"hr": { "hr": {
code: "hr", code: "hr",
isoCode: "hr", tag: "hr",
name: "Hrvatski", name: "Hrvatski",
load: () => import('./data/hr.i18n.json'), load: () => import('./data/hr.i18n.json'),
}, },
"hu": { "hu": {
code: "hu", code: "hu",
isoCode: "hu", tag: "hu",
name: "Magyar", name: "Magyar",
load: () => import('./data/hu.i18n.json'), load: () => import('./data/hu.i18n.json'),
}, },
"hy": { "hy": {
code: "hy", code: "hy",
isoCode: "hy", tag: "hy",
name: "Հայերեն", name: "Հայերեն",
load: () => import('./data/hy.i18n.json'), load: () => import('./data/hy.i18n.json'),
}, },
"id": { "id": {
code: "id", code: "id",
isoCode: "id", tag: "id",
name: "Bahasa Indonesia", name: "Bahasa Indonesia",
load: () => import('./data/id.i18n.json'), load: () => import('./data/id.i18n.json'),
}, },
"ig": { "ig": {
code: "ig", code: "ig",
isoCode: "ig", tag: "ig",
name: "Igbo", name: "Igbo",
load: () => import('./data/ig.i18n.json'), load: () => import('./data/ig.i18n.json'),
}, },
"it": { "it": {
code: "it", code: "it",
isoCode: "it", tag: "it",
name: "Italiano", name: "Italiano",
load: () => import('./data/it.i18n.json'), load: () => import('./data/it.i18n.json'),
}, },
"ja": { "ja": {
code: "ja", code: "ja",
isoCode: "ja", tag: "ja",
name: "日本語", name: "日本語",
load: () => import('./data/ja.i18n.json'), load: () => import('./data/ja.i18n.json'),
}, },
"ka": { "ka": {
code: "ka", code: "ka",
isoCode: "ka", tag: "ka",
name: "ქართული", name: "ქართული",
load: () => import('./data/ka.i18n.json'), load: () => import('./data/ka.i18n.json'),
}, },
"km": { "km": {
code: "km", code: "km",
isoCode: "km", tag: "km",
name: "ភរ", name: "ភរ",
load: () => import('./data/km.i18n.json'), load: () => import('./data/km.i18n.json'),
}, },
"ko": { "ko": {
code: "ko", code: "ko",
isoCode: "ko", tag: "ko",
name: "한국어", name: "한국어",
load: () => import('./data/ko.i18n.json'), load: () => import('./data/ko.i18n.json'),
}, },
"lt": { "lt": {
code: "lt", code: "lt",
isoCode: "lt", tag: "lt",
name: "Lietuvių kalba", name: "Lietuvių kalba",
load: () => import('./data/lt.i18n.json'), load: () => import('./data/lt.i18n.json'),
}, },
"lv": { "lv": {
code: "lv", code: "lv",
isoCode: "lv", tag: "lv",
name: "latviešu valoda", name: "latviešu valoda",
load: () => import('./data/lv.i18n.json'), load: () => import('./data/lv.i18n.json'),
}, },
"mk": { "mk": {
code: "mk", code: "mk",
isoCode: "mk", tag: "mk",
name: "македонски јазик", name: "македонски јазик",
load: () => import('./data/mk.i18n.json'), load: () => import('./data/mk.i18n.json'),
}, },
"mn": { "mn": {
code: "mn", code: "mn",
isoCode: "mn", tag: "mn",
name: "Монгол", name: "Монгол",
load: () => import('./data/mn.i18n.json'), load: () => import('./data/mn.i18n.json'),
}, },
"ms-MY": { "ms-MY": {
code: "ms", code: "ms",
isoCode: "ms-MY", tag: "ms-MY",
name: "بهاس ملايو", name: "بهاس ملايو",
load: () => import('./data/ms-MY.i18n.json'), load: () => import('./data/ms-MY.i18n.json'),
}, },
"nb": { "nb": {
code: "nb", code: "nb",
isoCode: "nb", tag: "nb",
name: "Norsk bokmål", name: "Norsk bokmål",
load: () => import('./data/nb.i18n.json'), load: () => import('./data/nb.i18n.json'),
}, },
"nl": { "nl": {
code: "nl", code: "nl",
isoCode: "nl", tag: "nl",
name: "Nederlands", name: "Nederlands",
load: () => import('./data/nl.i18n.json'), load: () => import('./data/nl.i18n.json'),
}, },
"oc": { "oc": {
code: "oc", code: "oc",
isoCode: "oc", tag: "oc",
name: "Occitan", name: "Occitan",
load: () => import('./data/oc.i18n.json'), load: () => import('./data/oc.i18n.json'),
}, },
"pa": { "pa": {
code: "pa", code: "pa",
isoCode: "pa", tag: "pa",
name: "ਪ", name: "ਪ",
load: () => import('./data/pa.i18n.json'), load: () => import('./data/pa.i18n.json'),
}, },
"pl": { "pl": {
code: "pl", code: "pl",
isoCode: "pl", tag: "pl",
name: "Polski", name: "Polski",
load: () => import('./data/pl.i18n.json'), load: () => import('./data/pl.i18n.json'),
}, },
"pt-BR": { "pt-BR": {
code: "pt", code: "pt",
isoCode: "pt-BR", tag: "pt-BR",
name: "Português do Brasil", name: "Português do Brasil",
load: () => import('./data/pt-BR.i18n.json'), load: () => import('./data/pt-BR.i18n.json'),
}, },
"pt": { "pt": {
code: "pt", code: "pt",
isoCode: "pt", tag: "pt",
name: "Português", name: "Português",
load: () => import('./data/pt.i18n.json'), load: () => import('./data/pt.i18n.json'),
}, },
"ro": { "ro": {
code: "ro", code: "ro",
isoCode: "ro", tag: "ro",
name: "Română", name: "Română",
load: () => import('./data/ro.i18n.json'), load: () => import('./data/ro.i18n.json'),
}, },
"ru-UA": { "ru-UA": {
code: "ru", code: "ru",
isoCode: "ru-UA", tag: "ru-UA",
name: "Русский (Украина)", name: "Русский (Украина)",
load: () => import('./data/ru-UA.i18n.json'), load: () => import('./data/ru-UA.i18n.json'),
}, },
"ru": { "ru": {
code: "ru", code: "ru",
isoCode: "ru", tag: "ru",
name: "Русский", name: "Русский",
load: () => import('./data/ru.i18n.json'), load: () => import('./data/ru.i18n.json'),
}, },
"sk": { "sk": {
code: "sk", code: "sk",
isoCode: "sk", tag: "sk",
name: "Slovenčina", name: "Slovenčina",
load: () => import('./data/sk.i18n.json'), load: () => import('./data/sk.i18n.json'),
}, },
"sl": { "sl": {
code: "sl", code: "sl",
isoCode: "sl", tag: "sl",
name: "slovenščina", name: "slovenščina",
load: () => import('./data/sl.i18n.json'), load: () => import('./data/sl.i18n.json'),
}, },
"sr": { "sr": {
code: "sr", code: "sr",
isoCode: "sr", tag: "sr",
name: "Српски језик", name: "Српски језик",
load: () => import('./data/sr.i18n.json'), load: () => import('./data/sr.i18n.json'),
}, },
"sv": { "sv": {
code: "sv", code: "sv",
isoCode: "sv", tag: "sv",
name: "Svenska", name: "Svenska",
load: () => import('./data/sv.i18n.json'), load: () => import('./data/sv.i18n.json'),
}, },
"sw": { "sw": {
code: "sw", code: "sw",
isoCode: "sw", tag: "sw",
name: "Kiswahili", name: "Kiswahili",
load: () => import('./data/sw.i18n.json'), load: () => import('./data/sw.i18n.json'),
}, },
"ta": { "ta": {
code: "ta", code: "ta",
isoCode: "ta", tag: "ta",
name: "தமி", name: "தமி",
load: () => import('./data/ta.i18n.json'), load: () => import('./data/ta.i18n.json'),
}, },
"th": { "th": {
code: "th", code: "th",
isoCode: "th", tag: "th",
name: "ไทย", name: "ไทย",
load: () => import('./data/th.i18n.json'), load: () => import('./data/th.i18n.json'),
}, },
"tr": { "tr": {
code: "tr", code: "tr",
isoCode: "tr", tag: "tr",
name: "Türkçe", name: "Türkçe",
load: () => import('./data/tr.i18n.json'), load: () => import('./data/tr.i18n.json'),
}, },
"ua-UA": { "ua-UA": {
code: "ua", code: "ua",
isoCode: "ua-UA", tag: "ua-UA",
name: "українська (Україна)", name: "українська (Україна)",
load: () => import('./data/ua-UA.i18n.json'), load: () => import('./data/ua-UA.i18n.json'),
}, },
"ua": { "ua": {
code: "ua", code: "ua",
isoCode: "ua", tag: "ua",
name: "українська (Україна)", name: "українська (Україна)",
load: () => import('./data/ua.i18n.json'), load: () => import('./data/ua.i18n.json'),
}, },
"vi": { "vi": {
code: "vi", code: "vi",
isoCode: "vi", tag: "vi",
name: "Tiếng Việt", name: "Tiếng Việt",
load: () => import('./data/vi.i18n.json'), load: () => import('./data/vi.i18n.json'),
}, },
"zh-CN": { "zh-CN": {
code: "zh", code: "zh",
isoCode: "zh-CN", tag: "zh-CN",
name: "简体中文", name: "简体中文",
load: () => import('./data/zh-CN.i18n.json'), load: () => import('./data/zh-CN.i18n.json'),
}, },
"zh-HK": { "zh-HK": {
code: "zh", code: "zh",
isoCode: "zh-HK", tag: "zh-HK",
name: "繁体中文(香港)", name: "繁体中文(香港)",
load: () => import('./data/zh-HK.i18n.json'), load: () => import('./data/zh-HK.i18n.json'),
}, },
"zh-TW": { "zh-TW": {
code: "zh", code: "zh",
isoCode: "zh-TW", tag: "zh-TW",
name: "繁体中文(台湾)", name: "繁体中文(台湾)",
load: () => import('./data/zh-TW.i18n.json'), load: () => import('./data/zh-TW.i18n.json'),
} }

@ -17,7 +17,7 @@ export const TAPi18n = {
fallbackLng: DEFAULT_LANGUAGE, fallbackLng: DEFAULT_LANGUAGE,
cleanCode: true, cleanCode: true,
debug: Meteor.isDevelopment, debug: Meteor.isDevelopment,
supportedLngs: Object.values(languages).map(({ isoCode }) => isoCode), supportedLngs: Object.values(languages).map(({ tag }) => tag),
ns: DEFAULT_NAMESPACE, ns: DEFAULT_NAMESPACE,
defaultNs: DEFAULT_NAMESPACE, defaultNs: DEFAULT_NAMESPACE,
postProcess: ["sprintf"], postProcess: ["sprintf"],
@ -33,7 +33,7 @@ export const TAPi18n = {
await TAPi18n.loadLanguage(DEFAULT_LANGUAGE); await TAPi18n.loadLanguage(DEFAULT_LANGUAGE);
}, },
getSupportedLanguages() { getSupportedLanguages() {
return Object.values(languages).map(({ name, code, isoCode }) => ({ name, code, isoCode })); return Object.values(languages).map(({ name, code, tag }) => ({ name, code, tag }));
}, },
getLanguage() { getLanguage() {
return this.current.get(); return this.current.get();

Loading…
Cancel
Save