使用本地化发布ext.js 7.2现代项目

问题描述

我已经使用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'
        }
    ]
});

如果我然后发布项目(例如,不是构建,但发布,从而发布要发布给客户的发行版),则两个按钮的文本因为认的“ en”本地化,所以它们是“确定”和“取消”。

现在,我想将两个按钮本地化,例如,德语。预期的结果应该是“好”和“阿伯雷琴”。

因此,我遵循了Sencha文档herehere中的指南。

我尝试的第一件事是在app.json中插入以下代码

"requires": [
      "ext-locale"
],"locale": "de",

但是那什么也没做。按钮的文本仍为英文。

然后我尝试了其他建议

   "requires": [
      "ext-locale"
   ],"locales": [
      "de","fr"
   ],

再次,它不起作用。

第一时间我使用Sencha Architect进行发布,所以我认为也许可以与Sencha cmd一起使用。

但是,没有。它始终保持英语。我检查了publish文件夹,在其中找不到任何locale-xx.js文件

但是,当我预览项目时,它每次都有效。

解决方法

所以毕竟这是一个错误。 在支持的帮助下,我不得不注释了ext-locale-de.js文件的最后一部分,该文件可以在这里找到:ext \ modern \ locale \ overrides \ de

/* Ext.define("Ext.locale.de.grid.filters.menu.Base",{
    override: "Ext.grid.filters.menu.Base",config: {
        text: "Filter"
    }
});

Ext.define('Ext.locale.de.grid.locked.Grid',{
    override: 'Ext.grid.locked.Grid',config: {
        columnMenu: {
            items: {
                region: {
                    text: 'Region'
                }
            }
        },regions: {
            left: {
                menuLabel: 'Verschlossen (Links)'
            },center: {
                menuLabel: 'Freigeschaltet'
            },right: {
                menuLabel: 'Verschlossen (Recht)'
            }
        }
    }
});

Ext.define("Ext.locale.de.grid.plugin.RowDragDrop",{
    override: "Ext.grid.plugin.RowDragDrop",dragText: "{0} Zeile(n) ausgewählt"
});
 */

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...