scratch-l10n 5.0.231 → 5.0.233

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.editorconfig +9 -0
  2. package/.github/PULL_REQUEST_TEMPLATE.md +53 -46
  3. package/.github/workflows/ci-cd.yml +5 -5
  4. package/.github/workflows/commitlint.yml +1 -1
  5. package/.github/workflows/daily-help-update.yml +4 -4
  6. package/.github/workflows/daily-tx-pull.yml +4 -4
  7. package/.github/workflows/signature-assistant.yml +3 -3
  8. package/.prettierignore +11 -0
  9. package/CHANGELOG.md +14 -0
  10. package/README.md +12 -12
  11. package/commitlint.config.js +3 -3
  12. package/dist/l10n.js +224 -232
  13. package/dist/l10n.js.map +1 -1
  14. package/dist/localeData.js +223 -232
  15. package/dist/localeData.js.map +1 -1
  16. package/dist/supportedLocales.js +123 -130
  17. package/dist/supportedLocales.js.map +1 -1
  18. package/eslint.config.mjs +13 -0
  19. package/lib/batch.js +10 -12
  20. package/lib/progress-logger.mjs +33 -33
  21. package/lib/transifex.js +145 -144
  22. package/lib/validate.mjs +32 -31
  23. package/package.json +7 -8
  24. package/prettier.config.mjs +3 -0
  25. package/release.config.js +13 -13
  26. package/renovate.json5 +3 -5
  27. package/scripts/build-data.mjs +33 -49
  28. package/scripts/build-i18n-src.js +29 -28
  29. package/scripts/freshdesk-api.js +129 -144
  30. package/scripts/help-utils.js +129 -139
  31. package/scripts/tx-pull-editor.mjs +54 -51
  32. package/scripts/tx-pull-help-articles.js +14 -14
  33. package/scripts/tx-pull-help-names.js +14 -14
  34. package/scripts/tx-pull-locale-articles.js +19 -19
  35. package/scripts/tx-pull-www.mjs +79 -76
  36. package/scripts/tx-push-help.mjs +87 -96
  37. package/scripts/tx-push-src.js +65 -65
  38. package/scripts/validate-extension-inputs.mjs +65 -68
  39. package/scripts/validate-translations.mjs +33 -29
  40. package/scripts/validate-www.mjs +45 -43
  41. package/src/index.mjs +4 -3
  42. package/src/locale-data.mjs +148 -150
  43. package/src/supported-locales.mjs +124 -131
@@ -1,86 +1,83 @@
1
1
  #!/usr/bin/env node
2
-
3
2
  /**
4
- * @fileoverview
3
+ * @file
5
4
  * Script to validate extension block input placeholders
6
5
  */
7
-
8
- import fs from 'fs';
9
- import path from 'path';
10
- import async from 'async';
11
- import assert from 'assert';
12
- import locales from '../src/supported-locales.mjs';
6
+ import assert from 'assert'
7
+ import async from 'async'
8
+ import fs from 'fs'
9
+ import path from 'path'
10
+ import locales from '../src/supported-locales.mjs'
13
11
 
14
12
  // Globals
15
- const JSON_DIR = path.join(process.cwd(), '/editor/extensions');
16
- const source = JSON.parse(fs.readFileSync(`${JSON_DIR}/en.json`));
13
+ const JSON_DIR = path.join(process.cwd(), '/editor/extensions')
14
+ const source = JSON.parse(fs.readFileSync(`${JSON_DIR}/en.json`))
17
15
 
18
16
  // Matches everything inside brackets, and the brackets themselves.
19
17
  // e.g. matches '[MOTOR_ID]', '[POWER]' from 'altera a potência de [MOTOR_ID] para [POWER]'
20
- const blockInputRegex = /\[.+?\]/g;
18
+ const blockInputRegex = /\[.+?\]/g
21
19
 
22
- let numTotalErrors = 0;
20
+ let numTotalErrors = 0
23
21
 
24
22
  const validateExtensionInputs = (translationData, locale) => {
25
- let numLocaleErrors = 0;
26
- for (const block of Object.keys(translationData)) {
27
- const englishBlockInputs = source[block].match(blockInputRegex);
28
-
29
- if (!englishBlockInputs) continue;
30
-
31
- // If null (meaning no matches), that means that English block inputs exist but translated ones don't.
32
- // Coerce it to an empty array so that the assertion below fails, instead of getting the less-helpful error
33
- // that we can't call Array.includes on null.
34
- const translatedBlockInputs = translationData[block].match(blockInputRegex) || [];
35
-
36
- for (const input of englishBlockInputs) {
37
- // Currently there are enough errors here that it would be tedious to fix an error, rerun this tool
38
- // to find the next error, and repeat. So, catch the assertion error and add to the number of total errors.
39
- // This allows all errors to be displayed when the command is run, rather than just the first encountered.
40
- try {
41
- assert(
42
- translatedBlockInputs.includes(input),
43
-
44
- `Block '${block}' in locale '${locale}' does not include input ${input}:\n` +
45
- translationData[block]
46
- );
47
- } catch (err) {
48
- numLocaleErrors++;
49
- console.error(err.message + '\n'); // eslint-disable-line no-console
50
- }
51
- }
23
+ let numLocaleErrors = 0
24
+ for (const block of Object.keys(translationData)) {
25
+ const englishBlockInputs = source[block].match(blockInputRegex)
26
+
27
+ if (!englishBlockInputs) continue
28
+
29
+ // If null (meaning no matches), that means that English block inputs exist but translated ones don't.
30
+ // Coerce it to an empty array so that the assertion below fails, instead of getting the less-helpful error
31
+ // that we can't call Array.includes on null.
32
+ const translatedBlockInputs = translationData[block].match(blockInputRegex) || []
33
+
34
+ for (const input of englishBlockInputs) {
35
+ // Currently there are enough errors here that it would be tedious to fix an error, rerun this tool
36
+ // to find the next error, and repeat. So, catch the assertion error and add to the number of total errors.
37
+ // This allows all errors to be displayed when the command is run, rather than just the first encountered.
38
+ try {
39
+ assert(
40
+ translatedBlockInputs.includes(input),
41
+
42
+ `Block '${block}' in locale '${locale}' does not include input ${input}:\n` + translationData[block],
43
+ )
44
+ } catch (err) {
45
+ numLocaleErrors++
46
+ console.error(err.message + '\n')
47
+ }
52
48
  }
49
+ }
53
50
 
54
- if (numLocaleErrors > 0) {
55
- numTotalErrors += numLocaleErrors;
56
- throw new Error(`${numLocaleErrors} total error(s) for locale '${locale}'`);
57
- }
58
- };
51
+ if (numLocaleErrors > 0) {
52
+ numTotalErrors += numLocaleErrors
53
+ throw new Error(`${numLocaleErrors} total error(s) for locale '${locale}'`)
54
+ }
55
+ }
59
56
 
60
57
  const validate = (locale, callback) => {
61
- fs.readFile(`${JSON_DIR}/${locale}.json`, function (err, data) {
62
- if (err) callback(err);
63
- // let this throw an error if invalid json
64
- data = JSON.parse(data);
65
-
66
- try {
67
- validateExtensionInputs(data, locale);
68
- } catch (error) {
69
- console.error(error.message + '\n'); // eslint-disable-line no-console
70
- }
71
-
72
- callback();
73
- });
74
- };
75
-
76
- async.each(Object.keys(locales), validate, function (err) {
77
- if (err) {
78
- console.error(err); // eslint-disable-line no-console
79
- process.exit(1);
58
+ fs.readFile(`${JSON_DIR}/${locale}.json`, (err, data) => {
59
+ if (err) callback(err)
60
+ // let this throw an error if invalid json
61
+ data = JSON.parse(data)
62
+
63
+ try {
64
+ validateExtensionInputs(data, locale)
65
+ } catch (error) {
66
+ console.error(error.message + '\n')
80
67
  }
81
68
 
82
- if (numTotalErrors > 0) {
83
- console.error(`${numTotalErrors} total extension input error(s)`); // eslint-disable-line no-console
84
- process.exit(1);
85
- }
86
- });
69
+ callback()
70
+ })
71
+ }
72
+
73
+ async.each(Object.keys(locales), validate, err => {
74
+ if (err) {
75
+ console.error(err)
76
+ process.exit(1)
77
+ }
78
+
79
+ if (numTotalErrors > 0) {
80
+ console.error(`${numTotalErrors} total extension input error(s)`)
81
+ process.exit(1)
82
+ }
83
+ })
@@ -1,48 +1,52 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * @file
4
+ * Script to validate the translation json
5
+ */
6
+ import async from 'async'
7
+ import fs from 'fs'
8
+ import path from 'path'
9
+ import { validateTranslations } from '../lib/validate.mjs'
10
+ import locales from '../src/supported-locales.mjs'
2
11
 
3
12
  /**
4
- * @fileoverview
13
+ * @file
5
14
  * Script to validate the translation json
6
15
  */
7
16
 
8
- const args = process.argv.slice(2);
17
+ const args = process.argv.slice(2)
9
18
  const usage = `
10
19
  Validate translation json. Usage:
11
20
  node validate_translations.mjs path
12
21
  path: where to find the downloaded json files
13
- `;
22
+ `
14
23
  // Fail immediately if the TX_TOKEN is not defined
15
24
  if (args.length < 1) {
16
- process.stdout.write(usage);
17
- process.exit(1);
25
+ process.stdout.write(usage)
26
+ process.exit(1)
18
27
  }
19
- import fs from 'fs';
20
- import path from 'path';
21
- import async from 'async';
22
- import {validateTranslations} from '../lib/validate.mjs';
23
- import locales from '../src/supported-locales.mjs';
24
28
 
25
29
  // Globals
26
- const JSON_DIR = path.resolve(args[0]);
30
+ const JSON_DIR = path.resolve(args[0])
27
31
 
28
- const source = JSON.parse(fs.readFileSync(`${JSON_DIR}/en.json`));
32
+ const source = JSON.parse(fs.readFileSync(`${JSON_DIR}/en.json`))
29
33
 
30
34
  const validate = (locale, callback) => {
31
- fs.readFile(`${JSON_DIR}/${locale}.json`, function (err, data) {
32
- if (err) callback(err);
33
- // let this throw an error if invalid json
34
- data = JSON.parse(data);
35
- const translations = {
36
- locale: locale,
37
- translations: data
38
- };
39
- validateTranslations(translations, source);
40
- });
41
- };
42
-
43
- async.each(Object.keys(locales), validate, function (err) {
44
- if (err) {
45
- console.error(err); // eslint-disable-line no-console
46
- process.exit(1);
35
+ fs.readFile(`${JSON_DIR}/${locale}.json`, (err, data) => {
36
+ if (err) callback(err)
37
+ // let this throw an error if invalid json
38
+ data = JSON.parse(data)
39
+ const translations = {
40
+ locale: locale,
41
+ translations: data,
47
42
  }
48
- });
43
+ validateTranslations(translations, source)
44
+ })
45
+ }
46
+
47
+ async.each(Object.keys(locales), validate, err => {
48
+ if (err) {
49
+ console.error(err)
50
+ process.exit(1)
51
+ }
52
+ })
@@ -1,63 +1,65 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * @file
4
+ * Script to validate the www translation json
5
+ */
6
+ import async from 'async'
7
+ import fs from 'fs'
8
+ import glob from 'glob'
9
+ import path from 'path'
10
+ import { validateTranslations } from '../lib/validate.mjs'
11
+ import locales from '../src/supported-locales.mjs'
2
12
 
3
13
  /**
4
- * @fileoverview
14
+ * @file
5
15
  * Script to validate the www translation json
6
16
  */
7
17
 
8
- const args = process.argv.slice(2);
18
+ const args = process.argv.slice(2)
9
19
  const usage = `
10
20
  Validate translation json. Usage:
11
21
  node validate_www.mjs path
12
22
  path: root folder for all the www resource folders
13
- `;
23
+ `
14
24
  if (args.length < 1) {
15
- process.stdout.write(usage);
16
- process.exit(1);
25
+ process.stdout.write(usage)
26
+ process.exit(1)
17
27
  }
18
- import fs from 'fs';
19
- import path from 'path';
20
- import glob from 'glob';
21
- import async from 'async';
22
- import {validateTranslations} from '../lib/validate.mjs';
23
- import locales from '../src/supported-locales.mjs';
24
28
 
25
29
  // Globals
26
- const WWW_DIR = path.resolve(args[0]);
27
- const RESOURCES = glob.sync(`${path.resolve(WWW_DIR)}/*`);
30
+ const WWW_DIR = path.resolve(args[0])
31
+ const RESOURCES = glob.sync(`${path.resolve(WWW_DIR)}/*`)
28
32
 
29
33
  const validate = (localeData, callback) => {
30
- fs.readFile(localeData.localeFileName, function (err, data) {
31
- if (err) callback(err);
32
- // let this throw an error if invalid json
33
- data = JSON.parse(data);
34
- const translations = {
35
- locale: localeData.locale,
36
- translations: data
37
- };
38
- validateTranslations(translations, localeData.sourceData);
39
- });
40
- };
34
+ fs.readFile(localeData.localeFileName, (err, data) => {
35
+ if (err) callback(err)
36
+ // let this throw an error if invalid json
37
+ data = JSON.parse(data)
38
+ const translations = {
39
+ locale: localeData.locale,
40
+ translations: data,
41
+ }
42
+ validateTranslations(translations, localeData.sourceData)
43
+ })
44
+ }
41
45
 
42
46
  const validateResource = (resource, callback) => {
43
- const source = JSON.parse(fs.readFileSync(`${resource}/en.json`));
44
- const allLocales = Object.keys(locales).map(loc => {
45
- return {
46
- locale: loc,
47
- localeFileName: `${resource}/${loc}.json`,
48
- sourceData: source
49
- };
50
- });
51
- async.each(allLocales, validate, function (err) {
52
- if (err) {
53
- callback(err);
54
- }
55
- });
56
- };
57
-
58
- async.each(RESOURCES, validateResource, function (err) {
47
+ const source = JSON.parse(fs.readFileSync(`${resource}/en.json`))
48
+ const allLocales = Object.keys(locales).map(loc => ({
49
+ locale: loc,
50
+ localeFileName: `${resource}/${loc}.json`,
51
+ sourceData: source,
52
+ }))
53
+ async.each(allLocales, validate, err => {
59
54
  if (err) {
60
- console.error(err); // eslint-disable-line no-console
61
- process.exit(1);
55
+ callback(err)
62
56
  }
63
- });
57
+ })
58
+ }
59
+
60
+ async.each(RESOURCES, validateResource, err => {
61
+ if (err) {
62
+ console.error(err)
63
+ process.exit(1)
64
+ }
65
+ })
package/src/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
- import localeData from './locale-data.mjs';
2
- import locales, {localeMap, isRtl} from './supported-locales.mjs';
3
- export {locales as default, localeData, localeMap, isRtl};
1
+ import localeData from './locale-data.mjs'
2
+ import locales, { localeMap, isRtl } from './supported-locales.mjs'
3
+
4
+ export { locales as default, localeData, localeMap, isRtl }
@@ -1,157 +1,155 @@
1
1
  // temporarily we have all the locale data in scratch-l10n
2
+ import af from './locale-data/af.js'
3
+ import am from './locale-data/am.js'
4
+ import ar from './locale-data/ar.js'
5
+ import ast from './locale-data/ast.js'
6
+ import az from './locale-data/az.js'
7
+ import be from './locale-data/be.js'
8
+ import bg from './locale-data/bg.js'
9
+ import bn from './locale-data/bn.js'
10
+ import ca from './locale-data/ca.js'
11
+ import ckb from './locale-data/ckb.js'
12
+ import cs from './locale-data/cs.js'
13
+ import cy from './locale-data/cy.js'
14
+ import da from './locale-data/da.js'
15
+ import de from './locale-data/de.js'
16
+ import el from './locale-data/el.js'
17
+ import en from './locale-data/en.js'
18
+ import eo from './locale-data/eo.js'
19
+ import es from './locale-data/es.js'
20
+ import et from './locale-data/et.js'
21
+ import eu from './locale-data/eu.js'
22
+ import fa from './locale-data/fa.js'
23
+ import fi from './locale-data/fi.js'
24
+ import fil from './locale-data/fil.js'
25
+ import fr from './locale-data/fr.js'
26
+ import fy from './locale-data/fy.js'
27
+ import ga from './locale-data/ga.js'
28
+ import gd from './locale-data/gd.js'
29
+ import gl from './locale-data/gl.js'
30
+ import ha from './locale-data/ha.js'
31
+ import he from './locale-data/he.js'
32
+ import hi from './locale-data/hi.js'
33
+ import hr from './locale-data/hr.js'
34
+ import hu from './locale-data/hu.js'
35
+ import hy from './locale-data/hy.js'
36
+ import id from './locale-data/id.js'
37
+ import is from './locale-data/is.js'
38
+ import it from './locale-data/it.js'
39
+ import ja from './locale-data/ja.js'
40
+ import ka from './locale-data/ka.js'
41
+ import kk from './locale-data/kk.js'
42
+ import km from './locale-data/km.js'
43
+ import ko from './locale-data/ko.js'
44
+ import ku from './locale-data/ku.js'
45
+ import lt from './locale-data/lt.js'
46
+ import lv from './locale-data/lv.js'
47
+ import mi from './locale-data/mi.js'
48
+ import mn from './locale-data/mn.js'
49
+ import nb from './locale-data/nb.js'
50
+ import nl from './locale-data/nl.js'
51
+ import nn from './locale-data/nn.js'
52
+ import nso from './locale-data/nso.js'
53
+ import or from './locale-data/or.js'
54
+ import pl from './locale-data/pl.js'
55
+ import pt from './locale-data/pt.js'
56
+ import qu from './locale-data/qu.js'
57
+ import ro from './locale-data/ro.js'
58
+ import ru from './locale-data/ru.js'
59
+ import sk from './locale-data/sk.js'
60
+ import sl from './locale-data/sl.js'
61
+ import sr from './locale-data/sr.js'
62
+ import sv from './locale-data/sv.js'
63
+ import sw from './locale-data/sw.js'
64
+ import th from './locale-data/th.js'
65
+ import tn from './locale-data/tn.js'
66
+ import tr from './locale-data/tr.js'
67
+ import uk from './locale-data/uk.js'
68
+ import uz from './locale-data/uz.js'
69
+ import vi from './locale-data/vi.js'
70
+ import xh from './locale-data/xh.js'
71
+ import zh from './locale-data/zh.js'
72
+ import zu from './locale-data/zu.js'
73
+ import { customLocales } from './supported-locales.mjs'
2
74
 
3
- import en from './locale-data/en.js';
4
- import af from './locale-data/af.js';
5
- import am from './locale-data/am.js';
6
- import ar from './locale-data/ar.js';
7
- import ast from './locale-data/ast.js';
8
- import az from './locale-data/az.js';
9
- import be from './locale-data/be.js';
10
- import bn from './locale-data/bn.js';
11
- import bg from './locale-data/bg.js';
12
- import ca from './locale-data/ca.js';
13
- import ckb from './locale-data/ckb.js';
14
- import cs from './locale-data/cs.js';
15
- import cy from './locale-data/cy.js';
16
- import da from './locale-data/da.js';
17
- import de from './locale-data/de.js';
18
- import el from './locale-data/el.js';
19
- import eo from './locale-data/eo.js';
20
- import es from './locale-data/es.js';
21
- import et from './locale-data/et.js';
22
- import eu from './locale-data/eu.js';
23
- import fa from './locale-data/fa.js';
24
- import fi from './locale-data/fi.js';
25
- import fil from './locale-data/fil.js';
26
- import fr from './locale-data/fr.js';
27
- import fy from './locale-data/fy.js';
28
- import ga from './locale-data/ga.js';
29
- import gd from './locale-data/gd.js';
30
- import gl from './locale-data/gl.js';
31
- import ha from './locale-data/ha.js';
32
- import he from './locale-data/he.js';
33
- import hi from './locale-data/hi.js';
34
- import hu from './locale-data/hu.js';
35
- import hr from './locale-data/hr.js';
36
- import hy from './locale-data/hy.js';
37
- import id from './locale-data/id.js';
38
- import is from './locale-data/is.js';
39
- import it from './locale-data/it.js';
40
- import ja from './locale-data/ja.js';
41
- import ka from './locale-data/ka.js';
42
- import kk from './locale-data/kk.js';
43
- import ko from './locale-data/ko.js';
44
- import km from './locale-data/km.js';
45
- import ku from './locale-data/ku.js';
46
- import lt from './locale-data/lt.js';
47
- import lv from './locale-data/lv.js';
48
- import mi from './locale-data/mi.js';
49
- import mn from './locale-data/mn.js';
50
- import nl from './locale-data/nl.js';
51
- import nb from './locale-data/nb.js';
52
- import nn from './locale-data/nn.js';
53
- import nso from './locale-data/nso.js';
54
- import or from './locale-data/or.js';
55
- import pl from './locale-data/pl.js';
56
- import pt from './locale-data/pt.js';
57
- import qu from './locale-data/qu.js';
58
- import ro from './locale-data/ro.js';
59
- import ru from './locale-data/ru.js';
60
- import sl from './locale-data/sl.js';
61
- import sk from './locale-data/sk.js';
62
- import sr from './locale-data/sr.js';
63
- import sv from './locale-data/sv.js';
64
- import sw from './locale-data/sw.js';
65
- import th from './locale-data/th.js';
66
- import tr from './locale-data/tr.js';
67
- import tn from './locale-data/tn.js';
68
- import uk from './locale-data/uk.js';
69
- import uz from './locale-data/uz.js';
70
- import vi from './locale-data/vi.js';
71
- import xh from './locale-data/xh.js';
72
- import zh from './locale-data/zh.js';
73
- import zu from './locale-data/zu.js';
74
-
75
- import {customLocales} from './supported-locales.mjs';
76
-
77
- let localeData = [].concat(
78
- en,
79
- af,
80
- am,
81
- ar,
82
- ast,
83
- az,
84
- be,
85
- bg,
86
- bn,
87
- ca,
88
- ckb,
89
- cs,
90
- cy,
91
- da,
92
- de,
93
- el,
94
- eo,
95
- es,
96
- et,
97
- eu,
98
- fa,
99
- fi,
100
- fil,
101
- fr,
102
- fy,
103
- ga,
104
- gd,
105
- gl,
106
- ha,
107
- he,
108
- hi,
109
- hu,
110
- hr,
111
- hy,
112
- id,
113
- is,
114
- it,
115
- ja,
116
- ka,
117
- kk,
118
- ko,
119
- km,
120
- ku,
121
- lt,
122
- lv,
123
- mi,
124
- mn,
125
- nl,
126
- nb,
127
- nn,
128
- nso,
129
- or,
130
- pl,
131
- pt,
132
- sl,
133
- sk,
134
- sr,
135
- sv,
136
- sw,
137
- qu,
138
- ro,
139
- ru,
140
- th,
141
- tn,
142
- tr,
143
- uk,
144
- uz,
145
- vi,
146
- xh,
147
- zh,
148
- zu
149
- );
75
+ const localeData = [].concat(
76
+ en,
77
+ af,
78
+ am,
79
+ ar,
80
+ ast,
81
+ az,
82
+ be,
83
+ bg,
84
+ bn,
85
+ ca,
86
+ ckb,
87
+ cs,
88
+ cy,
89
+ da,
90
+ de,
91
+ el,
92
+ eo,
93
+ es,
94
+ et,
95
+ eu,
96
+ fa,
97
+ fi,
98
+ fil,
99
+ fr,
100
+ fy,
101
+ ga,
102
+ gd,
103
+ gl,
104
+ ha,
105
+ he,
106
+ hi,
107
+ hu,
108
+ hr,
109
+ hy,
110
+ id,
111
+ is,
112
+ it,
113
+ ja,
114
+ ka,
115
+ kk,
116
+ ko,
117
+ km,
118
+ ku,
119
+ lt,
120
+ lv,
121
+ mi,
122
+ mn,
123
+ nl,
124
+ nb,
125
+ nn,
126
+ nso,
127
+ or,
128
+ pl,
129
+ pt,
130
+ sl,
131
+ sk,
132
+ sr,
133
+ sv,
134
+ sw,
135
+ qu,
136
+ ro,
137
+ ru,
138
+ th,
139
+ tn,
140
+ tr,
141
+ uk,
142
+ uz,
143
+ vi,
144
+ xh,
145
+ zh,
146
+ zu,
147
+ )
150
148
 
151
149
  for (const lang in customLocales) {
152
- localeData.push(customLocales[lang]);
150
+ localeData.push(customLocales[lang])
153
151
  }
154
152
 
155
153
  export {
156
- localeData as default // data expected for initializing ReactIntl.addLocaleData
157
- };
154
+ localeData as default, // data expected for initializing ReactIntl.addLocaleData
155
+ }