1 | const fs = require('fs');
|
2 | const path = require('path');
|
3 | const babylon = require('babylon');
|
4 | const traverse = require("babel-traverse").default;
|
5 | const generator = require("babel-generator").default;
|
6 | const t = require("babel-types");
|
7 |
|
8 | Route = function(){
|
9 |
|
10 | }
|
11 |
|
12 | Route.createMessage = function(id, enUs, zhCn, file){
|
13 | var fileContent = fs.readFileSync(path.resolve('./src/messages/zh-CN.json') ,'utf-8');
|
14 | if (fileContent.indexOf(new RegExp(`"id": *"${id}"`)) === -1) {
|
15 | console.log("match:", fileContent.match(/\}\n\]/m).length);
|
16 | fileContent = fileContent.replace(/\}\n\]/m, `},
|
17 | {
|
18 | "id":"${id}",
|
19 | "message":"${zhCn}",
|
20 | "defaultMessage":"${enUs}"
|
21 | }
|
22 | ]`);
|
23 | fs.writeFileSync(path.resolve('./src/messages/zh-CN.json') ,fileContent ,'utf-8');
|
24 | } else {
|
25 | console.log(`zh-CN.json have has "${id}"`);
|
26 | }
|
27 |
|
28 | fileContent = fs.readFileSync(path.resolve('./src/messages/en-US.json') ,'utf-8');
|
29 | if (fileContent.indexOf(new RegExp(`"id": *"${id}"`)) === -1) {
|
30 | fileContent = fileContent.replace(/\}\n\]/m, `},
|
31 | {
|
32 | "id":"${id}",
|
33 | "message":"${enUs}",
|
34 | "defaultMessage":"${enUs}"
|
35 | }
|
36 | ]`);
|
37 | fs.writeFileSync(path.resolve('./src/messages/en-US.json'), fileContent, 'utf-8');
|
38 | } else {
|
39 | console.log(`en-US.json have has "${id}"`);
|
40 | }
|
41 |
|
42 | if (file) {
|
43 | fileContent = fs.readFileSync(path.resolve(file) ,'utf-8');
|
44 | fileContent = fileContent.replace("const messages = defineMessages({",`const messages = defineMessages({
|
45 | ${id}: {
|
46 | id: "${id}",
|
47 | defaultMessage: "${enUs}",
|
48 | },`);
|
49 | fs.writeFileSync(path.resolve(file), fileContent, 'utf-8');
|
50 | }
|
51 |
|
52 | console.log('done');
|
53 | }
|
54 |
|
55 | module.exports = Route;
|