feat(Text): 动态文本国际化 i18n_params 透传
TextBase.set_attrs/set_otext 把 opts.i18n_params 传给 i18n._(otext, params), 支持 otext 用占位符由后端传值(切语言重渲染同样带参)。 此前 i18n._ 已支持 obj 参数, 但 widget 层未透传 -> 后端声明 i18n_params 的 控件渲染出字面占位串。商机产线"数据参考"弹窗实测: 全部主题显示为原始占位符 而非条数/预算数字。 bundle(dist/bricks.js) 被 gitignore, 由部署侧 build.sh 构建。
This commit is contained in:
parent
1989a0f04f
commit
458b599061
@ -467,9 +467,14 @@ bricks.TextBase = class extends bricks.JsWidget {
|
||||
if (this.opts.hasOwnProperty('i18n')){
|
||||
this.i18n = this.opts.i18n;
|
||||
}
|
||||
if (this.opts.hasOwnProperty('i18n_params')){
|
||||
// 动态文本国际化:otext 用 ${name} 占位,i18n_params 提供替换值
|
||||
// 切语言时 set_i18n_text→set_otext 会带 i18n_params 重新 obj_fmtstr
|
||||
this.i18n_params = this.opts.i18n_params;
|
||||
}
|
||||
this.set_style('flexShrink', '0');
|
||||
if (this.i18n && this.otext) {
|
||||
this.text = bricks.app.i18n._(this.otext);
|
||||
this.text = bricks.app.i18n._(this.otext, this.i18n_params);
|
||||
}
|
||||
this.dom_element.innerHTML = this.text || '';
|
||||
}
|
||||
@ -477,7 +482,7 @@ bricks.TextBase = class extends bricks.JsWidget {
|
||||
var text;
|
||||
this.otext = otxt || '';
|
||||
if (this.i18n) {
|
||||
text = bricks.app.i18n._(this.otext);
|
||||
text = bricks.app.i18n._(this.otext, this.i18n_params);
|
||||
} else {
|
||||
text = this.otext;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user