【发布时间】:2020-08-27 17:17:18
【问题描述】:
我用 Ext JS 7.2 Modern 构建了一个小示例应用程序,它只包含一个带有按钮的面板。在按钮的点击处理程序中,会创建一个对话框并显示两个按钮“确定”和“取消”:
Ext.define('EmpDir.view.MyPanel', {
extend: 'Ext.Panel',
alias: 'widget.mypanel',
requires: [
'EmpDir.view.MyPanelViewModel',
'Ext.Button'
],
viewModel: {
type: 'mypanel'
},
title: 'My Panel',
items: [
{
xtype: 'button',
handler: function(button, e) {
var dialog = Ext.create('Ext.Dialog', {
title: 'Dialog',
closable: true,
defaultFocus: '#ok',
maximizable: true,
bodyPadding: 30,
maxWidth: 300,
html: 'This is a dialog, which extends from Panel and adds some extra features.',
buttons: {
ok: {
handler: function() {
// Do something
this.up('dialog').hide();
}
},
cancel: {
handler: function() {
// Do something
this.up('dialog').hide();
}
}
}
});
dialog.show();
},
text: 'MyButton2'
}
]
});
如果我随后发布项目(不是构建,而是发布,可以说是制作发布版本以发送给客户),则两个按钮的文本是 'Ok' 和 'Cancel',因为默认的“en”本地化。
现在我想本地化这两个按钮,例如德语。预期的结果应该是“Ok”和“Abbrechen”。
所以我遵循 Sencha 文档 here 和 here 中的指南。
我尝试的第一件事是在 app.json 中插入以下代码。
"requires": [
"ext-locale"
],
"locale": "de",
但这并没有起到任何作用。按钮的文字仍然是英文。
然后我尝试了其他建议
"requires": [
"ext-locale"
],
"locales": [
"de",
"fr"
],
还是不行。
我第一次使用 Sencha Architect 进行发布,所以我想,也许它适用于 Sencha cmd。
但不,它没有。它总是保持英语。我检查了发布文件夹,在其中找不到任何 locale-xx.js 文件。
但是,当我预览项目时,它每次都能正常工作。
【问题讨论】:
-
我们如何重现这个错误?
-
我已经编辑了帖子以获得更多说明
标签: extjs sencha-architect sencha-cmd