👉 简体中文说明 | English README
一个基于 translate.js 实现网站自动翻译的组件。
无论原站点是多语言还是单语言,都可以通过此组件额外增加自动翻译功能。
- 多语言 Hugo 站点:fixit.lruihao.cn
- 单语言 Hugo 站点:lruihao.cn
无语言配置文件、无 API Key、对 SEO 友好!
- 整页自动翻译
- 指定翻译语言
- 可选翻译服务
- 忽略翻译元素
- 忽略关键词翻译
- 检测本地语言
- 支持 CDN
- 支持企业级翻译通道 *
- Hugo v0.139.0 或更高版本。
- FixIt v0.3.16 或更高版本。
安装方式与 安装主题 相同,有多种安装方式,任选一种即可,这里介绍两种主流方式。
首先确保你的项目本身是一个 Hugo 模块。
然后将此主题组件添加到你的 hugo.toml
配置文件中:
[module]
[[module.imports]]
path = "github.com/hugo-fixit/FixIt"
[[module.imports]]
path = "github.com/hugo-fixit/cmpt-translate"
在 Hugo 的第一次启动时,它将下载所需的文件。
要更新到模块的最新版本,请运行:
hugo mod get -u
hugo mod tidy
将 FixIt 和此 git 存储库克隆到你的主题文件夹中,并将其作为网站目录的子模块添加。
git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixIt
git submodule add https://github.com/hugo-fixit/cmpt-translate.git themes/cmpt-translate
接下来编辑项目的 hugo.toml
并将此主题组件添加到你的主题中:
theme = ["FixIt", "cmpt-translate"]
为了通过 FixIt 主题在 layouts/partials/custom.html
文件中开放的 自定义块 将 cmpt-translate.html
注入到 custom-assets
中,你需要填写以下必要配置:
[params]
[params.customPartials]
head = []
menuDesktop = [
"inject/translate-menu-desktop.html",
]
menuMobile = [
"inject/translate-menu-mobile.html",
]
profile = []
aside = []
comment = []
footer = []
widgets = []
assets = [
"inject/cmpt-translate.html",
]
postFooterBefore = []
postFooterAfter = []
另外,你还可以通过以下配置来自定义翻译的语言:
[languages]
[languages.zh-cn]
languageCode = "zh-CN"
languageName = "简体中文"
[params]
[params.autoTranslate]
enable = true
service = 'client.edge'
languages = []
ignoreID = []
ignoreClass = []
ignoreTag = []
detectLocalLanguage = false
cdn = ""
enterprise = false
enable
:是否启用自动翻译。service
:翻译服务提供商,可选值为client.edge
和translate.service
,详见:翻译服务提供商。languages
:要翻译到的语言 ID 列表,例如["english", "chinese_simplified", "chinese_traditional", ...]
,详见:完整语言列表。ignoreID
:需要忽略翻译的元素 ID,例如["comment", ...]
。ignoreClass
:需要忽略翻译的类名,例如["post-category", ...]
。ignoreTag
:需要忽略翻译的标签,例如["title", ...]
。ignoreText
:需要忽略翻译的文本,例如["FixIt", "Lruihao", ...]
。detectLocalLanguage
:是否检测本地语言。cdn
: translate.js CDN。enterprise
: 是否启用企业级翻译通道。
Note
为了避免翻译语言获取失败,即使你的站点本身是单语言的,也需要配置 languageCode
和 languageName
,例如:
[languages]
[languages.zh-cn]
languageCode = "zh-CN"
languageName = "简体中文"
-
local
: 用于指定当前页面的本地语言,例如local: english
。默认本地语言同 Hugo 站点配置相同,如果某个页面实际语言与站点配置不同,可以通过
local
参数指定。
企业级稳定翻译通道,仅针对付费用户开放。
体验额度:每天有 5 万字符的体验额度,超出部分将不再翻译!
在配置里设置 enterprise = true
即可启用企业级翻译通道,企业级翻译通道相对于普通翻译通道有以下优势:
服务 | 开源翻译通道 | 企业级翻译通道 |
---|---|---|
服务端缓存层数 | 1 层 (文件式缓存) | 1 层 (内存 + 文件式缓存) |
翻译响应速度 | 1.5~5 秒 | 0.8~1.5 秒 |
翻译服务器 | 1 台 | >=3 台 |
网络节点 | 2 个 | >=4 个 |
翻译通道 | 手动设置 | 自动匹配最优 |
国内缓存节点 | 无 | 有 |
每日翻译字符 | 200 万 | 5000 万 |
费用:¥100 / 域名(一次性收费)
优惠仅限使用 FixIt 主题及本组件的个人用户!
由 translate.js 赞助提供,考虑到 FixIt 受众群体大多为个人,因此针对 FixIt 个人用户开放了企业级翻译通道,但仍需支付一定费用。
以下性质的可以买免费联系我(@Lruihao)开通企业版通道,不收费用。
- 政务网站
- 国家认可的公益网站
- translate.js 及相关生态产品的开发者
- FixIt 及相关生态产品的开发者
- Hugo FixIt 知识星球 有效成员
选择赞助金额,然后在留言中备注 AutoTranslate: 你的域名
即可。
通过以下方式联系作者:
- 邮箱:
1024#lruihao.cn
(将#
替换为@
) - 微信:关注公众号回复“Cell”获取作者微信
translate.js 提供技术支持和赞助企业级翻译通道。