ExtJS 面板方向 - 从右到左

发布于 2024-08-08 20:30:25 字数 49 浏览 6 评论 0原文

对于 RTL 语言、阿拉伯语、希伯来语等,水平翻转 ExtJs 面板的适当方法是什么

What is the appropriate way to flip an ExtJs Panel horizontally for RTL languages, Arabic, Hebrew .. etc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

oО清风挽发oО 2024-08-15 20:30:25

TL;DR:自 2013 年 4 月起,Ext 4.2+ 支持 RTL。有关详细信息,请参阅下面的最新更新。

不支持 RTL此时已内置到 Ext 中,尽管许多社区成员已经解决了这个问题,并取得了不同程度的成功。如果您的需求有限(例如仅限于面板内容),那么最好自己简单地覆盖相应的 CSS。如果您需要更完整的 RTL 支持,您可能应该直接在 Ext 论坛中与处理相同问题的其他用户进行跟进。

有一个 外部项目 用于向 Ext 3.x 添加 RTL 支持,尽管我不知道是否它处于活动状态或质量如何(最后更新是几个月前)。不过可能会为您指明正确的方向。

更新:据报道,RTL 支持在 Ext 4(2011 年第一季度发布)中即使没有完全实现,也会得到显着改善。还没看过,但 SenchaCon 上有报道。

2012 年 9 月更新:自 4.1 起,RTL 尚未尚未正式纳入 Ext 4,但最后我听说它仍在路线图上,可能会在以后的 4 中出现。 x 发布。

2013 年 4 月更新RTL 已落地。请参阅Ext 4.2 简介博客文章 了解详细信息。其基本要点是,要在 4.2+ 中启用 RTL,您需要执行以下操作:

  • 需要 Ext.rtl.* 命名空间
  • 在容器/上设置 rtl: true 配置组件 -- 请注意,此设置会级联并且可以被子组件覆盖,这很酷
  • 通过设置 SASS 变量在样式中启用 RTL: $include-rtl: true;

在应用程序中启用 RTL 的示例成分:

Ext.define('MyApp.views.Viewport', {
    extend: 'Ext.container.Viewport',
    requires: [
        'Ext.rtl.*'
    ],
    rtl: true,
    ...
});

TL;DR: RTL is supported in Ext 4.2+ as of April 2013. See the last update below for details.

There is no RTL support built into Ext at this time, although many community members have addressed this with various success. If your needs are limited (only to Panel contents for example) it would probably be best to simply override the appropriate CSS yourself. If you need more complete RTL support, you should probably follow up directly in the Ext forums with other users dealing with the same issues.

There is an external project for adding RTL support to Ext 3.x, although I have no idea if it's active or what the quality is (last updates were a few months ago). Might point you in the right direction though.

UPDATE: RTL support reportedly will be significantly improved, if not fully implemented, in Ext 4 (due Q1 2011). Haven't seen it yet, but that was reported at SenchaCon.

UPDATE Sept 2012: RTL has not yet made it into Ext 4 officially as of 4.1, but last I heard it was still on the road map, possibly for a later 4.x release.

UPDATE Apr 2013: RTL has landed. See the Ext 4.2 intro blog post for details. The basic gist of it is that to enable RTL in 4.2+ you do the following:

  • Require the Ext.rtl.* namespace
  • Set the rtl: true config on your containers/components -- note that this setting cascades and is overrideable by child components, which is cool
  • Enable RTL in styles by setting the SASS variable: $include-rtl: true;

An example of enabling RTL in an application component:

Ext.define('MyApp.views.Viewport', {
    extend: 'Ext.container.Viewport',
    requires: [
        'Ext.rtl.*'
    ],
    rtl: true,
    ...
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文