我用Ext JS 7.2 Modern构建了一个小的示例应用程序,它只包含一个带有按钮的面板。在按钮的点击处理程序中,创建了一个对话框,并显示了两个按钮“ok”和“cancel”:
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'
}
]
});
如果我随后发布了项目(不是build,而是publishing,也就是说,将发布版本发送给客户),则两个按钮的文本为“Ok”和“Cancel”,这是因为默认的本地化为“en”。
现在,我想本地化这两个按钮,例如,在德语中。预期的结果应该是'Ok'和'Abbrechen'。
所以我就按照这里和这里的 Sencha 医生的指导去做。
我尝试的第一件事是在app.json中插入以下代码。
"requires": [
"ext-locale"
],
"locale": "de",
但这没有任何作用,按钮上的文字仍然是英语。
然后我试了另一个建议
"requires": [
"ext-locale"
],
"locales": [
"de",
"fr"
],
又一次,它不起作用。
我第一次使用 Sencha Architect发布,所以我想,也许它与Sencha cmd一起工作。
但是没有,它一直都是英语的。我检查了发布文件夹,在那里找不到任何locale-xx.js文件。
然而,当我预览项目时,它每次都能正常工作。
1条答案
按热度按时间qgzx9mmu1#
因此,这毕竟是一个bug。在支持人员的帮助下,我不得不对ext-locale-de.js文件的最后一部分进行注解,该文件可以在这里找到:扩展\敕勒\区域设置\覆盖\de