fix(i18n): obj_fmtstr 裸调用 ReferenceError——必须走 bricks 命名空间
utils.js 定义的是 bricks.obj_fmtstr(挂命名空间), 而 i18n.js 的 _() 里写的是
裸 obj_fmtstr(obj, mt) → ReferenceError, 导致带参翻译整体失效。
此前该行从未被执行(没有调用方给 i18n._ 传 obj), 直到 i18n_params 动态文本特性
(widget.js 透传 params)才暴露。实测: 商机产线数据参考弹窗渲染出字面 ${p0},
console 报 ReferenceError: obj_fmtstr is not defined。
对照: 同文件 objget 是 var 全局函数(utils.js:415), 裸调用合法, 无需改。
已全仓核查 obj_fmtstr 裸调用清零。
This commit is contained in:
parent
458b599061
commit
449631732a
@ -31,7 +31,10 @@ bricks.I18n = class {
|
||||
var msgs = this.lang_msgs[this.lang].msgs || {};
|
||||
mt = msgs[txt] || txt;
|
||||
if (obj instanceof Object){
|
||||
outt = obj_fmtstr(obj, mt);
|
||||
// 🔴 必须用 bricks.obj_fmtstr(该函数定义在 utils.js 的 bricks 命名空间下,
|
||||
// 裸 obj_fmtstr 是 ReferenceError)。此前这行从未被执行(无调用方传 obj),
|
||||
// 直到 i18n_params 动态文本特性(widget.js 传 params)才暴露此 bug。
|
||||
outt = bricks.obj_fmtstr(obj, mt);
|
||||
} else {
|
||||
outt = mt;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user