国际化处理

为什么需要国际化?

我始终相信,每一篇用心撰写的文章都值得被更多人看见,值得跨越语言的界限,被全世界的读者所阅读。正是出于这样的信念,Kecare 贴心地为你准备了国际化处理,让你的内容能够轻松触达全球受众。

如何配置翻译功能

1. 启用翻译

在需要翻译的文章的front-matter中添加一个字段translate,并填写你需要翻译的语言代码,例如:en-US(英语-美国)、ja-JP(日语-日本)等。请尽量遵守国家语言代码对照表。

第一个字段一定要是当前语言的字段

translate: ['zh-CN','en-US', 'ja-JP']

就好了捏

以下是一些常用的语言代码:

语言 代码
英语 en-US
日语 ja-JP
韩语 ko-KR
法语 fr-FR
德语 de-DE
俄语 ru-RU
葡萄牙语 pt-BR

2. 创建配置文件

你只需在 .kecare 目录下创建配置文件kecare.config.ts

3. 配置翻译参数

在文件中导出 TranslationConfig 配置对象,示例如下:

export async function kecareConfig() {
    return {
        llm: {
            model: 'deepseek-chat',
            apiKey: 'sk-',
            apiBaseUrl: 'https://api.deepseek.com/v1',
            prompt: '' //额外的提示词 可选
        }
    };
}

内置了一个系统提示词

你是一个很好用的翻译助手,请帮我将下面的文章翻译成英语,
注意:千万不要增删任何 HTML标签/属性和markdown标签/属性,你如果看到markdown标签,
如果是代码块的内容,请不要翻译,只翻译文本节点。
如果是代码内容,请不要翻译,原样放回。保留链接 href、图片 src、id、class 不动。
注意:代码块占位符(如 __CODE_BLOCK_0__)不要翻译,原样保留。

token

我们深知 AI 翻译的 token 成本不菲,因此特别设计了多重优化措施,帮助你最大化节省 token 消耗:

  • 分段翻译:将 Markdown 文章进行智能分段,逐段提交给 AI 进行翻译
  • 缓存机制:翻译结果会自动缓存在 .kecare/.tmp 目录下
  • 增量更新:下次构建时,系统会自动检测哪些段落被修改,只需重新翻译变更部分
  • 效率提升:不仅节省了 token 成本,还大大提高了构建效率
文章作者:
文章链接:kecare.me/articles/
版权声明: 博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源