Hexo国际化站点生成插件.
$ npm install hexo-generator-i18n --save
_config.yml
# 需修改Hexo默认的空值为确切的语言列表,记得在主题languages目录下添加对应的语言.yml文件
language: [zh,en]
# hexo-generator-i18n 选项(可选,默认使用如下设置)
i18n:
type: [page, post]
generator: [index, archive, category, tag]
- type: 想要生成国际化页面类型
- page: source目录下的所有page页面
- post: source/_post目录下所有的post页面
- generator: 设置需要国际化的其它生成器。
- index: 生成国际化首页
- archive: 生成国际化归档页
- category: 生成国际化分类页
- tag: 生成国际化标签页
在主题languages目录下添加对应的语言.yml文件(如zh.yml, en.yml)
在source/_data/languages.yml中设置语言的显示名称(Optional)
zh: 简体中文
en: English
确保i18n插件位于package.json中dependencies配置的其它生成插件之后。不然有可能导致找不到生成器错误。
在您的主题中,您可能需要将url_for()
辅助函数替换为url_for_lang()
以确保点击链接时,仍然保持当前用户所选的语言。
- Return Array
返回配置的语言列表(数组), 返回的列表不包含default
。
- Return string
返回默认语言,为get_langs的第一项。
- Param lang
- Return string 返回其它语言下的当前页面URL。
window.location = {{ switch_lang('en')}}
- Param path
- Param lang
- Return string
返回带语言的路径URL
ret += '<ul class="list-group">';
this.site.tags.forEach(function(item){
ret += '<li class="list-group-item"><a href="' + _self.url_for_lang(item.path) + '">' + item.name + '</a></li>';
});
ret += '</ul>';
MIT