国际化文本翻译数据利用nodeJS转换成JSON文件
Posted luoyimingmm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国际化文本翻译数据利用nodeJS转换成JSON文件相关的知识,希望对你有一定的参考价值。
系统做国际化,然后市场部给了一份中英文翻译,翻译的条目还不少,重复翻译也不少,而且以后还可能会添加,最好就现在写个简单转换方法。
const readline = require(\'readline\');
const fs = require(\'fs\');
async function processLineByLine() {
const fileStream = fs.createReadStream(\'file/International.txt\');
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
// 注意:我们使用 crlfDelay 选项将 input.txt 中的所有 CR LF 实例(\'\\r\\n\')识别为单个换行符。
let num = 1,
data = {},
endata = {},
active_title = \'\',
flag = false;
for await (const line of rl) {
if (line != \'\') {
if (/[一二三四五六七八九十]/g.test(line) && !/[a-z]/g.test(line)) {
let title = line.substr(line.indexOf(\'、\') + 1);
switch (title) {
case \'首页\':
title = "home";
break;
case \'资产管理\':
title = "asset";
break;
default:
}
active_title = title;
data[title] = {};
endata[title] = {};
} else {
let arr = line.split(\':\');
let key = arr[1];
key = key.replace(/\'/ig, \'\').replace(/(^\\s*)|(\\s*$)/g, \'\').replace(/\\s/g, \'-\').toLowerCase();
data[active_title][key] = arr[0];
endata[active_title][key] = arr[1];
}
}
num++;
}
const str_data = JSON.stringify(data),
str_endata = JSON.stringify(endata);
fs.writeFile(\'file/zh-CN.json\', str_data, (err) => {
if (err) throw err;
console.log(\'国际化中文版文件已保存!\');
});
fs.writeFile(\'file/en-US.json\', str_endata, (err) => {
if (err) throw err;
console.log(\'国际化英文版文件已保存!\');
});
}
processLineByLine();
//翻译文本差不多长这个样子
一、首页
引物云智慧照明平台:Inwu Smart lighting platform
首页:Home
管理:Management
国际化: International
预警提示: Pre-warning
用电统计:Electricity consumption statistics
在线统计:Online statistics
今日策略:Today\'s strategy
今日设备报警率: Today\'s device alarm rate
今日照明亮灯率:Today\'s lighting rate
今日上线设备率:Today\'s online device rate
昨日设备节能率:Yesterday\'s device energy saving rate
设备在线统计: Device online statistics
网关:Gateway
设备:Device
开灯:Turn on
关灯:Turn off
离线:Offline
告警:Warning
故障:fault
一键巡检:One-click inspection
预设模式:Preset mode
下发中:Issuing
下发成功: Issue successfully
下发失败: Issue failed
日出日落模式:Sunrise and sunset mode
节能模式:Energy saving mode
手动模式:Manual mode
设备组:Device group
操作:operate
二、资产管理
资产管理:Asset management
区域信息:Area information
区域名称:Area name
区域地址:Area address
经度:longitude
纬度:latitude
创建时间:Creation time
修改:modify
删除:delete
更多:more
详情:Details
网关数量: Gateway quantity
设备数量: Device quantity
关闭:close
添加区域:Add area
区域名:Area name
区域地址:Area address
经纬度:Latitude and longitude
请输入查询地址:Please enter the query address
取消:cancel
确认:confirm
搜索关键字:search for the keyword
区域:Area
查询: Search
网关名称:Gateway name
网关类型:Gateway type
设备状态:device status
创建时间:Creation time
操作:operate
创建白名单:Create whitelist
复位:Reset
强制刷新:Forced refresh
白名单类型:Whitelist type
全部:All
已激活白名单:Whitelist activated
待添加白名单: Whitelist to be added
僵尸白名单:Zombie whitelist
添加白名单:Add whitelist
删除白名单:Delete whitelist
清空白名单:Clear whitelist
返回:Back
设备名称: Device name
所在网关: The gateway
状态:status
白名单:Whitelist
Modbus配置:Modbus configuration
Modbus定时:Modbus timing
PLC定时器:PLC timer
网关状态:Gateway status
已同步:Synced
未同步:Not synced
设备组:Device group
设备名称:Device name
设备编号:device ID
属性: Features
值:value
所在区域: your area
经纬度:Latitude and longitude
连接时间:Connection time
失联时间:Lost time
访问令牌:Access token
硬件版本:hardware version
固件版本:Firmware version
Mac地址:Mac address
SIM卡号:SIM card number
复制访问令牌:Copy access token
网关更多信息: More information for the gateway
设备信息:Device Information
添加网关:add gateway
网关基本信息:Basic information of the gateway
网关名称:Gateway name
网关类型:Gateway type
网关所属信息:Gateway ownership information
网关地址:Gateway address
设备别名:Device alias
设备状态:Device status
设备类型:Device type
所在区域: your area
数据管理:Data management
统计分析: Statistic analysis
审计日志: Audit log
累计用电量:Accumulative power consumption
累计用电时长:Accumulative electricity consumption time
累计开灯次数:Accumulative times the lights turned on
用电量统计:Power consumption statistics
用电时长统计:Electricity consumption time statistics
开灯次数统计:Statistics times the light turned on
选择区域:select area
日:day
月:month
年:year
单灯数据:Single lamp data
选择时间段:Choose time period
开始时间:Start time
结束时间:End Time
时间戳:timestamp
实体类型:Entity type
实体状态名:Entity status name
类型:type
详情:Details
预警管理:Pre-warning management
预警时间:Warning time
预警原因:Warning reason
派单: request designating
订单信息:order information
预警原因:Warning reason
状态:status
故障原因:failure cause
处理:deal with
是否网关:Whether the gateway
修改密码:Change the password
旧密码:Old Password
新密码:New password
确认密码:confirm password
用户管理:User Management
以上是关于国际化文本翻译数据利用nodeJS转换成JSON文件的主要内容,如果未能解决你的问题,请参考以下文章