Skip to content

Latest commit

 

History

History
163 lines (140 loc) · 16.4 KB

COMMAND_LINE_zh-CN.md

File metadata and controls

163 lines (140 loc) · 16.4 KB

命令行

目录

  1. i18nrc.js 配置
    基础配置
    Output
    GooglexConfig
    OpenAIConfig
    GoogleConfig
    MicrosoftConfig
    BaiduConfig
    YoudaoConfig
    TencentConfig
    AliyunConfig
  2. 命令
    命令列表
    命令参数

1. i18nrc.js 配置

基础配置

名称 类型 是否必设 默认值 说明
funcName string t 命令行匹配 翻译文案 的函数名

如果在使用 t 函数没有重命名,这里不需要调整,否则这里配置为重命名后的函数名
entry string - 指定翻译文件目录(绝对路径)
fileRegExp RegExp /.[jt]s$/ 匹配文件名的正则表达式

用于筛选需要被翻译的文件
output Output - 输出文件相关的配置
translator googlex
openai
google
microsoft
aliyun
tencent
youdao
baidu
googlex 指定翻译平台,默认为 googlex

指定好 translator 后,还需配合对应的配置文件
例如 translator 配置为 googlex , 则还需要配置 googlexConfig
googlexConfig GooglexConfig - 谷歌X翻译相关的配置
openaiConfig OpenaiConfig - OpenAI翻译相关的配置
googleConfig GoogleConfig - 谷歌翻译相关的配置
microsoftConfig MicrosoftConfig - 微软翻译相关的配置
baiduConfig BaiduConfig - 百度翻译相关的配置
youdaoConfig YoudaoConfig - 有道翻译相关的配置
tencentConfig TencentConfig - 腾讯翻译相关的配置
aliyunConfig AliyunConfig - 阿里云翻译相关的配置

Output

输出文件的配置

名称 类型 是否必设 默认值 说明
path string - 语言包生成的目录(绝对路径)
langType 'single'
'multiple'
'multiple' 输出语言包文件的形式

假设目标语言是 ['en', 'jp']
single:只会生成一个聚合的语言包文件 langs.json,格式如下:
{"en":{"xxx":"xxx"},"jp":{"xxx":"xxx"}}

multiple:每个目标语言都会生成对应的语言包文件,对应两个文件: en.jsonjp.json ,格式如下:
{"xxx":"xxx"}
indentSize number 2 语言包文件的缩进空格数

GooglexConfig

谷歌X翻译的配置

基于 google-translate-api-x 实现,无需注册,免费使用

名称 类型 是否必设 默认值 说明
proxy string - 配置代理服务

部分国家和地区不能正常访问 谷歌 服务,需要配置代理才行
格式:protocol://hostname:port
例如:http://127.0.0.1:8087
from string - 翻译文案 的语言代码(例如中文的是 zh-CN,英文的是 en

支持语言,需查阅对应文档
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

OpenAIConfig

OpenAI翻译的配置

名称 类型 是否必设 默认值 说明
key string - OpenAI API Key,需要注册账号申请
model string gpt-3.5-turbo 指定模型版本

使用模型,默认为 gpt-3.5-turbo ,当前只兼容 Chart 模型
proxy string - 配置代理服务

部分国家和地区不能正常访问 OpenAI 服务,需要配置代理才行
格式:protocol://hostname:port
例如:http://127.0.0.1:8087
from string - 翻译文案 的语言(例如中文是 Chinese,英文是 English

特殊说明:由于 OpenAI 目前没有推出纯文本的翻译API,因此只能通过自定义的 Prompt 来执行翻译,这里要求提供的翻译语言必须是英文
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

GoogleConfig

谷歌翻译的配置

注意:该平台比较特殊,需要在本地环境提供额外的密匙,具体请参考文档

名称 类型 是否必设 默认值 说明
projectId string - 项目ID,需要注册账号申请
location string - 区域
from string - 翻译文案 的语言代码(例如中文的是 zh-CN,英文的是 en

更多语言
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

MicrosoftConfig

微软翻译的配置

名称 类型 是否必设 默认值 说明
key string - Microsoft translator-key,需要注册 Azure 账号申请
location string - 区域
from string - 翻译文案 的语言代码(例如中文的是 zh-Hans,英文的是 en

更多语言
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

BaiduConfig

百度翻译的配置

名称 类型 是否必设 默认值 说明
appid string - APPID,需要注册账号申请
key string - 密钥,要求同上
from string - 翻译文案 的语言代码(例如中文的是 zh,英文的是 en

更多语言,搜索语种列表
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

YoudaoConfig

有道翻译的配置

名称 类型 是否必设 默认值 说明
appKey string - 应用ID,需要注册账号申请
key string - 应用密钥,要求同上
from string - 翻译文案 的语言代码(例如中文的是 zh-CHS,英文的是 en

更多语言,搜索支持语言
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

TencentConfig

腾讯翻译的配置

名称 类型 是否必设 默认值 说明
secretId string - 用于标识 API 调用者身份,可以简单类比为用户名,需要注册账号申请
secretKey string - 用于验证 API 调用者的身份,可以简单类比为密码,要求同上
region string - 地域列表

地域列表,搜索地域列表
from string - 翻译文案 的语言代码(例如中文的是 zh,英文的是 en

更多语言,搜索源语言
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

AliyunConfig

阿里云翻译的配置

名称 类型 是否必设 默认值 说明
accessKeyId string - AccessKey ID,需要注册账号申请
accessKeySecret string - AccessKey Secret,要求同上
scene string general 场景

具体可选值需要根据当前API的类型:
普通版:参考文档,搜索Scene
专业版:参考文档,搜索Scene
from string - 翻译文案 的语言代码(例如中文的是 zh,英文的是 en

更多语言,搜索语言代码列表
to string[] - 翻译的目标语言代码,格式同上

📢📢📢:如果目标语言配置为 ['en'],那么生成的文件名(output.langType=='multiple')就是 en.json,设置语言时的 locale 也必须是 'en',如果需要 locale 设置为 'en_US' 这种,就需要配合 codeLocaleMap 来使用
codeLocaleMap Record<string, string> {} 设置语言代码与 locale 的映射关系

例如目标语言为 ['en'],想设置 locale 的值为 'en_US' ,那么需要配置 codeLocaleMap{"en":"en_US"} ,最终生成的文件名(output.langType=='multiple')也会变成 en_US.json
delay number 0 单个接口分批次请求时,后续接口请求时间间隔(单位:秒)

用于解决接口有 QPS 限制,如果存在相关报错,可尝试配置该属性来解决

2. 命令

命令列表

命令 简写 用法 说明
init - npx i18n init 初始化配置文件
translate t npx i18n translate
npx i18n t
提取 翻译文案 ,自动翻译并生成语言包
version v npx i18n version
npx i18n v
显示版本信息
help h npx i18n help
npx i18n h
显示帮助信息

命令参数

参数名 简写 参数值 适用命令 用法 说明
--locale -L en | zh ALL npx i18n h -L en
npx i18n h --locale en
指定命令行显示语言

可选语言有中文(zh)/ 英文(en), 默认为英文(en)
--non-incremental - - t
translate
npx i18n t --non-incremental 关闭增量翻译模式

⚠️⚠️⚠️:关闭增量翻译模式后,所有的文案会重新翻译,会导致手工翻译(非翻译平台翻译的)的文案丢失,需慎重考虑使用!!!
--path -P - init
t
translate
npx i18n init -P /xxx/xxx/xxx
npx i18n t -P /xxx/xxx/xxx
指定配置文件路径(参数为相对路径)

只需要指定路径名,配置文件名默认为 i18nrc.js