【问题标题】:How to apply localization in ExtJS 4如何在 ExtJS 4 中应用本地化
【发布时间】:2016-10-04 16:14:39
【问题描述】:

ExtJS 4.1 MVC 中是否有默认方式将本地化数据包全局应用到来自/extjs/locale/ 的所有应用程序?

也许有一些 Ext.ApplicationExt.Loader 方法/属性?

【问题讨论】:

    标签: extjs


    【解决方案1】:

    我不这么认为。 您必须在 extjs/locale/ 中加载适当的文件

    例如(tomcat 服务器), 在 index.jsp 中 你可以做类似的事情

    <script type="text/javascript" src="extjs/locale/ext-lang-<%=language %>.js"></script>
    

    【讨论】:

    • 我已经加载了语言环境文件但是没有效果。
    • 加载bootstrap.js后加载
    • 我做到了,但例如我的LoadMask 仍然是英文的。我应该在我加载的类的extends 属性中使用特定的类吗?
    • ypan 的回答是正确的。标准 ExtJs 组件应在应用程序启动前包含正确的语言环境文件时进行本地化。您没有看到任何本地化文本,例如加载 Ext.MessageBox 或日期表单字段时?你必须提供更多关于你在做什么的信息=>向我们展示一些代码!
    • Loadmask 的默认 msg 我认为没有本地化。所以你可以做的是使用 new Ext.LoadMask(myPanel, {msg:''}) ;如果您使用 java 环境,并本地化键“加载”。
    【解决方案2】:

    (也可以通过JS动态加载locale文件)

    要本地化内置 Ext JS 组件,请将以下代码添加到您的 app.js launch: function() { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = "extjs/locale/ext-lang-" + navigator.language; head.appendChild(script); }

    要本地化自定义 Ext JS 组件,请使用Locale.js。 我们已经在两个 Ext JS 项目中使用了它。很简单。

    【讨论】:

    • 除此之外,如果我们希望 ext lang 消息进入非美国语言环境,那么:获取当前语言环境并将其传递到 url 为 -> script.src = "extjs/locale/ ext-lang-" + localeLang;这将允许 ext js 加载 ext 默认消息,例如在用户区域设置中加载的最小/最大文本消息。
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2021-03-06
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多