ExtJS Mirror adds RTL feature to ExtJS framework.
Some languages like Persian, Hebrew and Arabic are RTL (Right-To-Left). ExtJS does not support RTL. To support RTL, every component should layout itself from right to left.
This project, provides this feature by overriding some basic functionality in ExtJS. Here, positioning of elements are overridden so that instead of positioning elements from "Top Left", positioning is converted to "Top Right" (hence the name MIRROR).
There are more problems to solve. Some browsers like Firefox and IE, place scrollbars on left in RTL pages and some like Chrome, place scrollbars on right in either LTR or RTL. So scrollbar position have to be considered. Also, some browsers use negative values in RTL context to scroll DOM elements, while others use positive values.
Develop your application for LTR. Then add
resources folder to your project. After that you have to include
ext-mirror.js on your page either by putting a script tag on your page (just put it somewhere after
ext-debug.js) or adding
ext-mirror.js to your dependencies and using Sencha SDK to build your single script file. You have to also put a
resources/css/ext-mirror.css on your page.
This way you can create a single internationalized app and use localization to have both RTL and LTR apps.
As ExtJS, this project is licensed under GPL v3.