未设置标题
早期方案:前端懒加载JSON
项目初期,采用前端直接懒加载国际化JSON文件的方式实现语言切换。随着模块增多,词条数量不断增加,前端维护JSON文件的心智负担越来越大:词条增多导致文件体积膨胀,管理和维护变得十分繁琐。
中期优化:迁移至后端管理
为解决前端维护难题,项目中期将语言管理和国际化词条管理迁移至后台功能,通过接口动态加载所需资源,形成当前的最终形态:
- 核心接口:
- 获取语言列表接口(如
/system/lang/list/public):用于获取项目支持的所有语言选项 - 获取对应语言词条接口(如
/system/locale/message/${lang}):根据选定语言加载所有国际化词条
- 获取语言列表接口(如
现状与数据
- 当前词条规模:单个语言约700+词条,中英双语合计1500+条数据
- 性能优化:后台已实现缓存处理,加载词条时从缓存获取,降低接口压力
未来规划:词条分割优化
随着模块增加和可能的多语言扩展(如社区维护其他语言),词条数量将持续增长。计划进行词条分割改造:
- 按需加载:根据当前页面加载所需词条,避免加载无关内容
- 挑战:需改造前后端多处代码,实现复杂度较高,暂未实施