帮助:自动翻译
简单
入门
进阶
复杂
开发
该部分内容仅在HuijiWiki的维基平台生效,请注意该部分代码的兼容性。
自动翻译是灰机Wiki提供的批量翻译对照解决方案。集成在源代码编辑器中的一项辅助功能。自动翻译目前已实现一对一配对翻译。
获取译名对照关系
途径一(自动采集)
通过抓取页面的跨语言链接:灰机会自动收集每个页面对应的外文文本,并在用户执行自动翻译时,对其中的英文链接进行替换。
途径二(手动提交译名表)
除此之外,用户还可以在MediaWiki:Huiji-translation-pairs中以json形式提供更多的配对。
注意:请注意对正则表达式进行合理的转码,以使JSON合法化。
2.0版本
JSON格式如下:
{
"version": 2,
"plain": {
"plain text": "文本"
},
"regex": {
"/regular expression/i": "正则"
},
"link": {
"link": "链接",
"category:my category": "分类:我的分类"
}
}
在这一版本中,用户可以指定替换的模式,目前支持
plain
, 纯文本替换,适用于替换模板等不会引起冲突的内容。regex
,正则表达式替换,适用于编写复杂的正则表达式规则来替换内容。link
,只替换链接内容,如[[link]]或[[link|href]]。
1.0版本
例如:
{"==History==":"==历史==","==References and Notes==":"==引用与注释==","==Behind the Scenes==":"==幕后=="}
在本示例中,键值==History==会在执行时被替换成==历史==,其他略同。
键值还可以为javascript风格的正则表达式,例如
{"/[abc]+/":"一二三"}
译名对照关系的应用
源代码的自动翻译功能
通过点击源代码编辑器中“高级”功能下的自动翻译按键,可以对页面中的文本进行自动翻译。
- 对于Huiji-translation-pairs中的不同模式,自动翻译程序会针对性的进行翻译
- 基于Huiji-translation-pairs中
plain
的部分所提供的规则,对当前文本进行全文本替换:风险高,狂野模式 - 基于Huiji-translation-pairs中
regex
的部分所提供的规则,对当前文本进行正则表达式替换:风险低,精确模式 - 基于Huiji-translation-pairs中
link
的部分所提供的规则,对当前文本内的链接文字进行替换([[]]):风险低,内链模式
- 基于Huiji-translation-pairs中
通过lua调用译名表
写法1
local title = mw.message.new( 'Huiji-translation-pairs') local string = title:plain() local json = mw.text.jsonDecode(string)
写法2
local title = mw.title.makeTitle( 'MediaWiki', 'Huiji-translation-pairs') local string = title:getContent() local json = mw.text.jsonDecode(string)
通过函数解析器调用
有两种方式:
- {{#Trans:XXX|strict/lloose}}
- <trans mode="strict/loose">YYY</trans>
两者都有一个mode参数。如果mode=loose,则将调用有道翻译。反之则仅从Huiji-translation-pairs和跨语言链接中读取信息。默认为loose。
扩展阅读
来自灰机wiki