1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/env node
"use strict";
var PO = require('pofile');
var fs = require('fs');
var base = __dirname + '/../translations/';
try {
fs.mkdirSync(base + 'gen');
} catch (e) {}
function generateJS(data) {
return [
'// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT! EDIT THE',
'// CORRESPONDING .po(t) FILE INSTEAD.',
'',
'module.exports = ' + JSON.stringify(data, null, 2) + ';',
''
].join('\n');
}
PO.load(base + 'translations.pot', function (err, po) {
var data = {};
po.items.forEach(function (item) {
data[item.msgid] = item.msgid;
});
fs.writeFile(base + 'gen/en.js', generateJS(data));
});
fs.readdir(base, function (err, files) {
files.filter(function (file) {
return file.substr(-3) === '.po';
}).forEach(function (file) {
PO.load(base + file, function (err, po) {
var data = {};
po.items.forEach(function (item) {
data[item.msgid] = item.msgstr[0];
});
var subPath = 'gen/' + file.substr(0, file.length - 3) + '.js';
fs.writeFile(base + subPath, generateJS(data));
});
});
});
|