Skip to content

Commit aa4fa84

Browse files
committed
fix: error with interpolations
Fixed in xlf-translate 2.0 Closes #14
1 parent e0e26ac commit aa4fa84

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

bin/kendo-translate.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/usr/bin/env node
22
'use strict';
33

4-
const glob = require("glob");
4+
const glob = require('glob');
55
const path = require('path');
66
const yaml = require('js-yaml');
77
const fs = require('fs');
8-
const xml = require('xml2js');
8+
const cheerio = require('cheerio');
99
const translate = require('xlf-translate');
1010
const Task = require('data.task');
1111
const R = require('ramda');
@@ -33,6 +33,11 @@ const args = (() => {
3333
action: 'storeTrue'
3434
});
3535

36+
parser.addArgument([ '-e', '--encoding' ], {
37+
help: 'Specifies the message files encoding. Default is "utf-8".',
38+
defaultValue: 'utf-8'
39+
});
40+
3641
return parser.parseArgs();
3742
})();
3843

@@ -53,7 +58,7 @@ const findFiles = wildcard => new Task((reject, resolve) => {
5358

5459
// readFile :: FilePath -> Task FileContent
5560
const readFile = filename => new Task((reject, resolve) => {
56-
fs.readFile(filename, 'utf8', complete(reject, resolve));
61+
fs.readFile(filename, args.encoding, complete(reject, resolve));
5762
});
5863

5964
// parseYaml :: FileContent -> Task YML
@@ -72,9 +77,8 @@ const verifyFile = files => new Task((reject, resolve) => {
7277

7378
// parseXml :: FileContent -> Task XML
7479
const parseXml = data => new Task((reject, resolve) => {
75-
const parser = new xml.Parser();
76-
77-
parser.parseString(data, complete(reject, resolve));
80+
const doc = cheerio.load(data, { xmlMode: true, decodeEntities: false })
81+
resolve(doc);
7882
});
7983

8084
// parseYamlFile :: FilePath -> Task YML
@@ -95,8 +99,7 @@ const safeTranslate = R.curry((data, translations) => new Task((reject, resolve)
9599

96100
// writeFile :: (XML, Stats) -> Task Stats
97101
const writeFile = obj => new Task((reject, resolve) => {
98-
const builder = new xml.Builder();
99-
const out = builder.buildObject(obj.data);
102+
const out = obj.data.html();
100103

101104
try {
102105
fs.writeFileSync(args.file, out);

package.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,20 @@
2121
},
2222
"homepage": "https://github.com/telerik/kendo-angular-messages#readme",
2323
"devDependencies": {
24-
"cz-conventional-changelog": "1.2.0",
24+
"cz-conventional-changelog": "^1.2.0",
2525
"ghooks": "^2.0.0",
26-
"gulp": "3.9.1",
27-
"gulp-yaml-validate": "1.0.2",
26+
"gulp": "^3.9.1",
27+
"gulp-yaml-validate": "^1.0.2",
2828
"semantic-release": "^4.0.0",
29-
"validate-commit-msg": "2.11.1"
29+
"validate-commit-msg": "^2.11.1"
3030
},
3131
"dependencies": {
32+
"cheerio": "^0.22.0",
3233
"data.task": "^3.1.1",
3334
"glob": "7.1.1",
35+
"js-yaml": "^3.7.0",
3436
"ramda": "^0.23.0",
35-
"xlf-translate": "^1.0.0"
37+
"xlf-translate": "^2.0.0"
3638
},
3739
"config": {
3840
"commitizen": {

0 commit comments

Comments
 (0)