2.1.1 • Published 1 month ago

translation_dingtalk v2.1.1

Weekly downloads
-
License
ISC
Repository
github
Last release
1 month ago

基于钉钉表格的自动化翻译方案

此项目是基于钉钉表格实现的多语言自动化翻译功能,其主要功能包含:

  1. 读取本地指定文件夹翻译 输入 or 输出 到钉钉表格
  2. 支持 多语言配置
  3. 支持 .ts | .json 两种格式的文件
  4. 支持使用 google 翻译,进行多语言翻译,需要自己提供 key
  5. 支持智能生成翻译的 key 值,需要自己提供 gtp key
  6. 智能翻译,不翻译{}的内容,也就是 i18n 的变量名
  7. 对于 {xx xx}模式,我们会修正为{xxxx},防止 i18n 报错
  8. 支持扩展语言,在原有基础上新增新的语言

Base 参数字段说明

这些参数是重要参数,在使用 input & output 功能的时候,都需要携带这些参数

字段名称类型是否必填说明
sysConfigTranslationConfig系统配置
langConfigTranslationLangConfig[]多语言配置
fileType"ts" or "json"翻译文件的格式

系统配置 sysConfig | TranslationConfig

字段名称类型是否必填说明
localePathstring项目的翻译目录
workBookIdstring翻译文档 workId
operatorIdstring钉钉操作者的 Id,需要有操作表格 API 的权限
appKeystring钉钉的 APP key
appSecretstring钉钉的 app 密钥
gptKeystring用于智能生成 i18n key
gptModelstringgpt 的 model 默认 3.5
setMaxNumnumber一次性最多处理多少条数据 默认 400
translate{ projectId: string; key: string; }google 翻译的配置,用于多语言的

语言配置 langConfig | TranslationLangConfig

/**
 * 其中第一个必须是key值,后面才陆续是语言
 * key值的value是空的,dirText也是空的
 * @example
 * {
 *      text: 'key值',
 *      value: '',
 *      dirText: '',
 *      cellKey: 'F'
 * }
 */
字段名称类型是否必填说明
textstring定义表格里面 对应语言的文案
valuestring对应 google 翻译的目标语言,例如 zh-CN、en-US
dirTextstring每个语言对应项目中的目录名称,例如 google 翻译对应 zh-CN 对应的翻译目录可能是 zh 或 zh-CN 或...
cellKeystring在表格之中每个语言对应的列号,例如:F、G

input 接口传参字段说明

optType

必填 类型:OptionType

推荐只使用 1

enum OptionType {
    "UPDATE" = "1",
    "CREATE" = "2",
    "ADD_LANG" = "3",
}
翻译脚本的操作类型:
1: 批量修改,
2: 全部文档更新,这是一个高危操作,一般只在项目初始化的时候用到这个选项
3: 新增语言类型,新增语言类型也会更新整个文档

sheetPageName

只有在 optType 为 '1' 的时候生效

选填 类型:string

指定想要操作 那些工作表分页的名称,也对应的是翻译的文件名称

sheetPageLines

只有在 optType 为 '1' 的时候生效

选填 类型:string

指定更新工作表分页中的指定文案,多个文案用,连接,连续使用-连接
example:
    23,45,235
    23,34-45,66

skipSheetNameList

选填 类型:string[]

需要跳过的sheet表的名称
example:
    ['工作表1', 'xx'] 这些工作表将不会读取

newLangCodeList

只有在 optType 为 '3'的时候生效

新增的语言简码,需要和langConfig 中的value对应

选填 类型:string[]

新增语言的列表
example:
    ['ru-RU']

translateOrigin

需要和langConfig 中的value对应

选填 类型:string

默认值 'en-US'

翻译的原型语言, 需要和langConfig 中的value对应
在output中,这个语言作为循环文件的主文件
example:
    'en-US' 那么这个语言的目录将作为主目录,根据这个生成其他语言的目录结构

translateSpecial

需要和langConfig 中的value对应

选填 类型:[string[], string][]

特殊的翻译群体,使用数组的第一个作为翻译成的语言,数组的第二个作为目标翻译语言
example:
    [['zh-TW', 'xx'], 'zh-CN'] 代表['zh-TW', 'xx']使用zh-CN作为母语翻译

skipTranslateLangList

需要和langConfig 中的value对应

选填 类型:string[]

跳过需要要翻译的语言
example:
    ['zh-CN'], 将不会对这种语言进行自动翻译

gptGenerateKey

gpt生成key值,对应langConfig数组的下标

选填 类型:number[]

默认值 1,2

gpt生成key值,对应langConfig数组的下标
备注:一般来说,1是中文,2是英文
example:
    [1,2] langConfig 是个数组,这个是数组的下标,0一般是key值

output 接口传参字段说明

translateOrigin

需要和langConfig 中的value对应

选填 类型:string

默认值 'en-US'

翻译的原型语言, 需要和langConfig 中的value对应
在output中,这个语言作为循环文件的主文件
example:
    'en-US' 那么这个语言的目录将作为主目录,根据这个生成其他语言的目录结构

skipLangNameList

选填 类型:string[]

需要跳过的翻译文件名称, 仅在output方法中有作用
example:
    ['index.ts']
    ['index.json']

skipSheetNameList

选填 类型:string[]

需要跳过的sheet表的名称
example:
    ['工作表1', 'xx'] 这些工作表将不会读取
2.1.1

1 month ago

2.1.0

1 month ago

2.0.6

4 months ago

2.0.5

4 months ago

2.0.4

4 months ago

2.0.3

4 months ago

2.0.2

4 months ago

2.0.1

4 months ago

2.0.0

5 months ago