Tolaria国际化实现指南:JSON语言目录与Lara CLI同步机制一文讲透

发布时间:2026/10/24 7:50:56

Tolaria国际化实现指南:JSON语言目录与Lara CLI同步机制一文讲透 Tolaria国际化实现指南JSON语言目录与Lara CLI同步机制一文讲透【免费下载链接】tolariaDesktop app to manage markdown knowledge bases项目地址: https://gitcode.com/GitHub_Trending/to/tolariaTolaria 是一款用于管理 Markdown 知识库的跨平台桌面应用其**国际化i18n**体系围绕“JSON 语言目录 Lara CLI 自动同步”两大核心构建。本文将带你走通从翻译目录组织、机器翻译同步、键位校验到运行时语言回退的完整链路帮你快速看懂 Tolaria 是如何支撑 21 种界面语言的 。为什么Tolaria自研国际化层而不是引入重型框架Tolaria 的国际化分两步演进ADR-0084本地化地基建立了一个零依赖的前端本地化层 src/lib/i18n.ts。英文作为权威回退语言canonical fallback缺失的翻译键自动回退到英文因此“部分翻译”的语言也不会让界面崩溃。详见 docs/adr/0084-app-localization-foundation.md。ADR-0087JSON目录 Lara CLI为了让翻译扩展到更大的语言矩阵并支持机器辅助翻译工作流翻译数据源从 TypeScript 对象迁移到扁平 JSON 目录flat JSON catalogs。详见 docs/adr/0087-json-catalogs-and-lara-cli-localization.md。这个取舍非常务实JSON 是翻译工具链的标准交换格式diff 对译者更友好且不引入额外运行时依赖。JSON语言目录en.json是唯一事实来源所有翻译文案存放在 src/lib/locales/ 目录下一个语言一个文件en.json、zh-CN.json、fr-FR.json……共 21 个目录。以简体中文目录 src/lib/locales/zh-CN.json 为例内容就是扁平的“键 → 字符串”映射{ command.noMatches: 没有匹配的命令, command.aiMode: {agent} 模式, menu.file.save: 保存 }两条硬性约定由校验脚本强制执行值必须是纯字符串不允许嵌套对象或数组占位符必须与英文源一致例如{agent}、{zoom}、{language}、{count}等变量在翻译中不能被删改或重排。Lara CLI 配置一条命令同步 20 种目标语言Lara CLI 的项目配置位于仓库根目录的 lara.yaml核心只有三段instruction给翻译引擎的指令要求保留产品名、CLI 名称、wikilink、frontmatter 键、文件路径以及{agent}等占位符原样不动locales声明source: en并列出 20 个目标语言——zh-CN、zh-TW、ja-JP、ko-KR、fr-FR、de-DE、es-ES、es-419、pt-BR、pt-PT等files通过src/lib/locales/[locale].json通配规则告诉 Lara 翻译目录的位置。实际执行通过 package.json#L18-L20 中定义的脚本完成脚本命令作用pnpm l10n:translatelara-cli translate同步翻译增量pnpm l10n:translate:forcelara-cli translate --force强制全量重译pnpm l10n:validatenode scripts/validate-locales.mjs校验所有语言目录翻译结果直接写回仓库中的 JSON 文件与使用它们的 UI 代码同版本管理、一起发布。运行时解析语言别名归一化与英文回退运行时逻辑集中在 src/lib/i18n.ts几个关键机制值得新手了解目录按需加载import.meta.glob(./locales/*.json)在构建期把所有 JSON 目录加载进内存新增语言文件即自动生效语言别名归一化normalizeLocaleCode()把zh-hans、zh-Hans、zh等写法统一映射到规范代码zh-CN历史遗留的zh-Hans偏好也会被自动迁移系统语言回退用户偏好ui_language是安装级设置存于~/.config/com.tolaria.app/settings.json取值为空时表示“跟随系统语言”resolveEffectiveLocale()会依次尝试系统语言列表最终兜底到英文props-down 传值locale 从App.tsx逐层向下传给组件遵循 docs/adr/0026-props-down-no-global-state.md 的无全局状态架构切换语言无需重开仓库、立即生效。语言校验键位与占位符一致性把关scripts/validate-locales.mjs 是本地化工作流的“质量闸门”它逐语言检查目录是否为扁平字符串对象与en.json相比是否缺少键missing或多出键extra每个键的占位符集合是否与英文源完全一致。任何一项不通过脚本都会列出具体错误并以非零码退出可挂进 CI 或作为提交前检查。快速上手新增一种语言的完整流程在 src/lib/i18n.ts 的APP_LOCALES和LOCALE_DEFINITIONS中登记语言代码、别名与搜索关键词在 lara.yaml 的locales.target中加入目标语言运行pnpm l10n:translate生成翻译 JSON人工审校 JSON 输出专有名词、占位符运行pnpm l10n:validate确认通过即可发布。整个流程对使用者同样简单打开 Tolaria 的设置面板或命令面板执行“打开语言设置 / 使用系统语言”相关命令即可切换界面语言所有未翻译的文案都会自动显示英文体验不受影响 ✅。【免费下载链接】tolariaDesktop app to manage markdown knowledge bases项目地址: https://gitcode.com/GitHub_Trending/to/tolaria创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/23 13:07:21

SurrealDB 完整实战:用 1 个数据库搞定文档、图与实时协作

SurrealDB 完整实战:用 1 个数据库搞定文档、图与实时协作 【免费下载链接】surrealdb A scalable, distributed, collaborative, document-graph database, for the realtime web 项目地址: https://gitcode.com/GitHub_Trending/su/surrealdb 你正在做一个…

2026/10/24 7:48:43

区块链在场证明:数字游民远程工作可信打卡方案

这些年我一直在帮一些远程工作团队搭建协作工具,见过了太多数字游民被“你怎么证明你刚才真的在工作”这种问题卡住的情况。客户想看实时进度,平台要审核工时,签证申请需要居住地证明,可一个人带着笔记本满世界跑的时候&#xff0…

2026/10/24 7:48:43

Arduino 5V电平与五大开发阶段:从选型到电源完整性的避坑指南

做硬件这行有年头了,经手的 Arduino 板子从老款的 Uno 到后来各种兼容 Nano,少说也有几十块。最近在给朋友折腾一个小型环境监测盒子时,突然想把这几年来跟 Arduino 打交道最常被问到的、也是我自己踩过最多坑的“5”拿出来聊一聊——5V 逻辑…

2026/10/24 7:48:43

HIFU声场FDTD仿真:手写时域差分程序设计与实现

简介:本资源是一套基于MATLAB实现的超声声场FDTD数值模拟程序,面向生物医学工程、声学仿真及HIFU治疗研究方向的科研人员与高年级本科生/研究生,用于精确建模超声波在复杂介质中的传播、聚焦与能量沉积过程。压缩包共10个文件(331…

2026/10/24 7:48:43

目标管理实战:从定指标到让团队持续前进

很多CEO把目标管理当成“定指标”:年初拍一个数字,年末看结果,中间基本不管。但我在跟大量创始人、高管团队打交道的过程中,越来越清楚地意识到,目标管理真正要解决的不是“怎么定数字”,而是“怎么让一群人…

2026/10/24 7:48:43

AI写作助手横评实测:从长文生成到短文案谁更强

如果你和我一样,每天的工作里有三分之一的时间要花在“写”这件事上——写方案、写周报、写产品说明、写推广文案,那你应该也早就在留意市面上的AI写作助手了。过去三个月,我把能接触到的AI写作助手翻来覆去试了一遍:免费额度用完…

2026/10/24 7:43:43

Qt5翻金币游戏源码解析:QGraphicsView与信号槽实现翻牌交互

简介:QT翻金币游戏源码是一套基于Qt5框架的跨平台小游戏完整工程,面向希望学习GUI布局、动画与窗口管理的Qt初中级开发者。工程围绕开始界面、菜单界面与关卡选择三部分展开,包含20个关卡的状态展示、自定义按钮悬停点击特效、金币翻转动画及…

2026/10/23 22:56:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/24 0:02:40

MATLAB缩进快捷键与批量格式化实战指南

1. 被自动缩进折磨的那些年如果你写过MATLAB代码,大概率经历过这种场景:从某个文档、网页或者聊天记录里复制了一段代码,粘贴进编辑器之后,每一行前面都带着莫名其妙的空格,有的行首是四个空格,有的是一个T…

2026/10/24 0:02:40

用Poco实现Qt风格信号与槽的跨平台C++方案

简介:本资源是一份面向C中级开发者的技术实践工程,聚焦于在非Qt框架环境下模拟实现Qt核心通信机制——信号与槽,借助Poco网络库的事件系统完成解耦式对象通信。适用于需在跨平台C项目中引入松耦合回调机制、但受限于无法集成Qt依赖的开发场景…

2026/10/24 0:02:40

ESXi裸机虚拟化安装指南:从硬件兼容到虚拟机部署

1. 为什么还要折腾ESXi:从一台闲置机器说起手里攒了几台淘汰下来的迷你主机,配置不算差,i5加16G内存,扔了可惜,装个桌面系统又觉得浪费。这种场景下,ESXi就成了一个绕不开的选择。它是一套裸机虚拟化平台&a…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑