工作中搜寻和查阅的文档以英文居多,于是便想着也革新一下本人博客。反对多语言的同时,顺便也算是给新的一年开一个头。
指标
这次革新的指标有两个:
- 全局多语言(中 - 英)的反对。
- 不同语言之间能够相互切换。
摸索
hexo 以及之前用的 NexT 主题尽管有 i18n 的反对,但都是对导航、菜单等偏固定内容的反对,并没有全局反对。
在网上搜寻相干文章后,大抵有如下 3 种解决方案:
序号 | 计划 | 长处 | 毛病 |
---|---|---|---|
1 | 在 _post 下新建 en 文件夹寄存英文文章。 |
简单明了,无额定改变。 | 博客首页会展现所有文章。如果须要按语言显示需另外做开发。 |
2 | 应用 hexo-generator-i18n 插件。 | 简略,装置 + 配置即可应用。 | 1. 插件较长时间没有更新.<br/> 2. 装置插件后还须要另做开发,如语言切换等。 |
3 | 创立两套网站寄存不同版本语言。 | 绝对简略,齐全独立。 | 两套网站局部配置和代码有冗余。 |
思考到操作和保护(次要还是懒,不想本人再开发),还是决定采纳第 3 中计划。
同时在查找材料时发现了 Fluid 主题,感觉很难受便趁此机会一起降级。
革新
在新博客的文件夹下,通过 hexo init
别离创立两个语言的博客。目录的构造如下:
.
├── blog-cn
├── blog-en
└── scripts
针对 Fluid 主题和多语言的配置能够参考:记一次 Hexo 博客迁徙与多语言站点革新。写的非常具体,循序渐进即可。
针对部署局部,参考:Hexo 增加多语言反对「国际化 i18n」。将部署流程汇总到了 shell
文件中,浏览起来能够略微轻松一些,也不便部署。
其本质就是在编译后的文件中多了一个 en
文件夹,寄存英文内容。因而能够通过 https://{your-blog}/en
来拜访。
#!/bin/bash
# Build CN blog
cd blog-cn && pnpm run build
# Build En blog
cd ../blog-en && pnpm run build
cd ../blog-cn
mkdir ./public/en &&mv ../blog-en/public/* ./public/en/
pnpm run deploy
迁徙
hexo 的迁徙一项是最轻松的事件。将 source
下须要的文件复制到新的中央即可。
其余
剩下的就只是翻译工作了,看看是否能够借助 Google 翻译或者 GPT 的力量了。
最初欢送来我更新过的博客游玩。