// import Translate from 'translate-components'
/*
* 匹配所有汉字RegExp: [\u4e00-\u9fa5] [\u4E00-\u9FA5]|[\uFE30-\uFFA0]
* 汉字部分除了^的标签jsonRegExp: <Translate>[^\^]+?(?=-{4,}?)-{4,}?([a-zA-Z]+)</Translate> t('$1')
* 汉字部分除换行符之外的任意字符的标签jsonRegExp: <Translate>(?:\^).+?(?=-{4,}?)-{4,}?([a-zA-Z]+)</Translate>
*/ function regExpStrToJson(strCount, language, isDocument) {
var translation = '{\n';
for (var i=0; i<strCount.length; i++) {
var suffix = strCount.length === (i + 1) ? '"\n' : '",\n';
var patch1 = /(?<=sign\(')(.+?)(?='\);;;?)/g;
var result1 = patch1.exec(strCount[i]);
translation += ' "' + RegExp.$1;
// var patch2 = language === 'cn' ? /(?<=cn\(')(.+?)(?='\);;;?)/g : /(?<=tl\(')(.+?)(?='\);;;?)/g;
var patch2 = new RegExp("(?<=" + language + "\\(')(.+?)(?='\\);;;?)","g");
var result2 = patch2.exec(strCount[i]);
translation += '": "' + RegExp.$1.replace('^', '') + suffix;
}
translation += '}';
isDocument ? $('body').html(translation.replace(/\n/g, '<br>').replace(/\s{4}/g, '&nbsp;&nbsp;&nbsp;&nbsp;')) : console.log(translation);
} var strToArr = '', tlStr = 'อีกวันที่เต็มไปด้วยความหวัง';
$.ajax('./static/translations.json',{
dataType:'json',
type:'get',
success:function(data){
let repeatObj = {};
for (key in data) {
let thisKey = key.split(/-{4,}/);
if (repeatObj[thisKey[1]] === undefined) {
repeatObj[thisKey[1]] = 1;
strToArr += "sign('" + thisKey[1] + "');;;cn('" + thisKey[0] + "');;;tl('" + tlStr.split('').sort(() => Math.random() > 0.5 ? -1 : 1).join('').substring(0, parseInt(Math.random() * (tlStr.length - 1) + 5)) + "');;;\n";
}
}
let strArr = strToArr.split('\n'); regExpStrToJson(strArr, 'cn', 1);
regExpStrToJson(strArr, 'tl');
}
});

json文件生成的更多相关文章

  1. 使用jsonschema2pojo-maven-plugin 插件根据json文件生成代码

    jsonschema2pojo 是一个不错的工具,可以帮助我们快速的根据json 文件生成pojo代码,提高开发效率,以下为简单的 使用maven 插件进行代码生成 使用maven 插件配置 < ...

  2. python脚本将json文件生成C语言结构体

    1.引言 以前用过python脚本根据excel生成相关C语言代码,其实本质就是文件的读写,主要是逻辑问题,这次尝试将json文件生成C语言的结构体. 2.代码 这是一个json文件,生成这个结构体的 ...

  3. 使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件

    根据JSON文件自动生成Java POJO类(Java Bean)源文件 本文介绍使用程序jsonschema2pojo来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参考 ...

  4. .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码

    前言 上一篇博客中我们可以得知通过Swagger插件可以很方便的提供给接口开发者在线调试,但是实际上Swagger附带的功能还有很多, 比如使用NSwag生成客户端调用代码,进一步解放接口开发者. N ...

  5. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  6. npm init 命令生成package.json文件

    通过npm init 命令可以生成一个package.json文件.这个文件是 整个项目的描述文件.通过这个文件可以清楚的知道项目的包依赖关系,版本,作者等信息.每个NPM包都有自己的package. ...

  7. 利用xlrd模块读取excel利用json模块生成相应的json文件的脚本

    excel的格式如下 python代码如下,这里最难的就是合并单元格的处理 import xlrd import json excel_obj = xlrd.open_workbook("t ...

  8. JAVA生成并导出json文件

    将一个list集合转换成json文件并导出: 数据集合: List<Object> agencyList = new ArrayList<Object>(); Map<S ...

  9. npm install 不自动生成 package-lock.json文件

    package-lock.json这个文件的作用就不详细说明了 有需要的可以参考 :https://www.cnblogs.com/cangqinglang/p/8336754.html 网上都说 n ...

随机推荐

  1. UVA_10071:Back to High School Physics

    Language:C++ 4.8.2 #include<stdio.h> int main(void) { int v, t; while(scanf("%d%d", ...

  2. 新xcode的literal syntax是什么

    New Objective-C Literal Syntax for NSArray, NSDictionary 是以@字符开始的方式简单地创建数组.字典.NSNumber常量. 代码如下: NSNu ...

  3. 2018-8-10-Roslyn-节点的-Span-和--FullSpan-有什么区别

    title author date CreateTime categories Roslyn 节点的 Span 和 FullSpan 有什么区别 lindexi 2018-08-10 19:16:52 ...

  4. 03搭建docker私有仓库

    搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...

  5. 快速完成智能数据构建,Dataphin公共云版本全面解读

    公测两个月,Dataphin公共云版本已经受到了阿里云上众多轻量级用户的关注.事实上,Dataphin作为一款大数据智能构建与管理的产品,其核心功能是面向各行各业大数据建设.管理及应用诉求,一站式提供 ...

  6. Microsoft.SQL.Server2012.Performance.Tuning.Cookbook学习笔记(一)

    一.Creating a trace or workload 注意点: In the Trace Properties dialog box, there is a checkbox option i ...

  7. 学习layer弹层组件移动版

    layer弹层组件官网 常用参数: shadeClose:默认true,是否点击遮罩时关闭层

  8. python特性(八):生成器对象的send方法

    生成器对象是一个迭代器.但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法.这些方法,主要是用于外部与生成器对象的交互.本文先介绍send方法. send方法有一个参 ...

  9. 2018-8-10-win10-uwp-如何打包Nuget给其他人

    title author date CreateTime categories win10 uwp 如何打包Nuget给其他人 lindexi 2018-08-10 19:16:50 +0800 20 ...

  10. Refs

    一.The ref callback attribute ref:reference,父组件引用子组件 组件并不是真实的 DOM节点,而是存在于内存之中的一种数据结构,叫做虚拟DOM.只有当它插入文档 ...