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')){
|
if (this.opts.hasOwnProperty('i18n')){
|
||||||
this.i18n = this.opts.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');
|
this.set_style('flexShrink', '0');
|
||||||
if (this.i18n && this.otext) {
|
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 || '';
|
this.dom_element.innerHTML = this.text || '';
|
||||||
}
|
}
|
||||||
@ -477,7 +482,7 @@ bricks.TextBase = class extends bricks.JsWidget {
|
|||||||
var text;
|
var text;
|
||||||
this.otext = otxt || '';
|
this.otext = otxt || '';
|
||||||
if (this.i18n) {
|
if (this.i18n) {
|
||||||
text = bricks.app.i18n._(this.otext);
|
text = bricks.app.i18n._(this.otext, this.i18n_params);
|
||||||
} else {
|
} else {
|
||||||
text = this.otext;
|
text = this.otext;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user