0.9.0 • Published 11 months ago

@dvsantd/translator v0.9.0

Weekly downloads
-
License
-
Repository
-
Last release
11 months ago

Translator — 国际化? 仅需对表翻译,就那么简单!

一、安装

tnpm install @dvsantd/translator -g

二、配置

  • 执行translator init,在当前目录生成配置文件:translator.config.json
  • 创建模版文件夹 refs ,根据需要创建模版文件,模版内容空,比如:
|-refs/
        |-en.map
        |-jp.map
  • 修改配置文件 translator.config.json ,正确设置字段 src 、 dest 、 refs 的值
{    
        // 源码目录,必配
        "src":"" ,

        // 输出目录,必配
        "dest":"",

        // 模版目录,必配
        "refs":""
}

四、执行

translator

程序会将 src 目录下的文件处理后,输出到 dest 目录。并将扫描出来的中文串更新至模版文件

六、翻译

  • 逐句翻译模版
中文<=>english
  • 录入部分或者完整对照后,再次执行
translator

七、引用

根据当前语言环境,引用重构后的JS资源即可

八、其他


  • Grunt 任务配置
// 安装插件
tnpm install grunt-qc-translator --save
// Gruntfile 配置
module.exports = function(grunt){
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        translator: {
            console: {
                "src": "dest",
                "dest": "build",
                "refs": "refs",
                "exclude":"^\\.|node_modules|express|location.js",
                "copy":true
            }
        }
    })
    grunt.loadNpmTasks('grunt-qc-translator')
    grunt.registerTask('build', ['translator'])
}
  • 扫描代码中的中文
translator scan
  • 其他配置(有默认值)
{   
        // 包含目录,支持数组和字符串
        "includes": "",
        // 排除目录
        "exclude":"^\\.|node_modules|express",
        // 排除多个文件
        "excludes": [
            "jquery.js"
        ],
        // 仅处理指定后缀名的文件
        "resolve":".js,.php,.html,.htm,.css,.ini",    
        // 模版映射符
        "rsplit":"<=>",  
        // 变量占位符                                
        "placeholder":"(__)",
        // 忽略的字符串
        "ignore":"^\t(.+)\t$",
        // 是否COPY源码到dest目录
        "copy":true,
        // 标识词典未使用,可选
        "nousage": false
}
  • demo

      + 新建或选择一个空的目录,在目录下执行:
    
      ```bash
      translator test
    
      ```
      + 进入test目录,执行
    
      ```bash
      translator
    
      ```
    
      + 打开test/index.html,查看翻译后的页面呈现
0.9.0

11 months ago