在不改变现有默认语言的前提下,为后端系统提示增加完整泰语支持。默认语言继续使用台湾繁体中文 zh_TW;只有请求或用户语言明确选择泰语时才返回泰语提示。
本阶段仅处理后端系统消息,包括同步接口错误/成功提示,以及通过用户语言生成的推送和异步通知。平台管理端、商家管理端、App 页面文案,以及商品和门店等业务数据的泰语字段不在本阶段范围内。
th_TH。th_TH、th-TH、th。zh_TW,未知、空白或非法语言代码仍回退台湾繁体中文。zh_CN、zh_TW、en_US 和 vi 行为必须保持兼容。新增 ruoyi-admin/src/main/resources/i18n/messages_th_TH.properties,以现有完整语言包为键集合,翻译所有后端提示,而不是只翻译闪送模块。
要求:
messages_zh_CN.properties、messages_zh_TW.properties、messages_en_US.properties、messages_vi.properties 的消息 key 完全一致。{0}、{1} 不得在翻译中丢失或调换语义。保留现有 SessionLocaleResolver 和 LocaleChangeInterceptor,参数名继续使用 lang。拦截器通过同一个白名单解析器规范化语言代码,因此客户端使用 ?lang=th_TH、?lang=th-TH 或 ?lang=th 都会得到泰国地区泰语 Locale。默认 Locale 继续设置为台湾繁体中文。
修复 LocaleUtils.parseLocale() 当前无条件返回台湾繁体 Locale 的问题,改为白名单解析:
zh_CN、zh-CN、zhzh_TW、zh-TW、twen_US、en-US、envi_VN、vi-VN、vith_TH、th-TH、th无法识别的值返回台湾繁体默认 Locale,不允许任意 Locale 绕过受支持语言范围。getUserLocale() 继续从现有 Redis 用户语言值读取并调用该解析器,使推送和异步通知可以使用泰语。
本阶段不修改 toLangCode() 和 getUserLanguageCode() 的数字语言映射,因为它们用于商品、门店等业务数据语言选择,而泰语业务数据尚未纳入范围。这样可以避免把泰语错误映射到现有数据列。
新增或扩展测试,至少覆盖:
zh_CN、zh_TW、en_US、vi、th_TH)key 集合一致,泰语包包含全部现有后端消息 key。th_TH、th-TH、th 都解析为泰国地区泰语。zh_TW。