In principal, we aim for all relevant Tiki functions (PHP or JS) to be BiDi aware (or neutral), and to centralize BiDi CSS changes in the BiDi.css file.
Please see:
http://tikiwiki.svn.sourceforge.net/viewvc/tikiwiki/trunk/styles/BiDi/BiDi.css?view=markup
Current areas of activity
Revamp themes integration
When selected, a rtl language imply also a change of layout. Left column goes right, right column goes left, etc. That include of course graphic adaptation where a left arrow is flipped to display a right arrow.
Actually there is no way to switch from theme to theme and/or to ltr to rtl.
As it is today the BiDi.css file is applied over the selected theme without regard of what theme was selected.
In short and for an easy understanding, let say you select Fivealive theme and use it in rtl (hebrew or arabic). The actual BiDi.css will display textual content right but some of the graphics (like the header) would be in the wrong direction (the notch being left instead of being right). Hacking and setting in the BiDi file that header background when used with rtl should be a different graphics, something like :
/** header banner **/ #header { background: url('../fivealive/siteheader_rtl.jpg') 50% 0 no-repeat !important; }
Will solve the issue... only if you use fivealive (in reality it is specific per options as fivealive got several options each one with a different header . It will be apply on Tiki over the theme specification whatever theme the user select after that modification.
A working solution would be to have a way to keep a "core" BiDi, the actual BiDi.css (like we have layout.css or design.css) to handle general exception and import the specific BiDi modification specific for each theme selected.
Hardcoding in it for the demonstration in BiDi/BiDi.css, it would look like:
@import url("../fivealive/rtl/fivealive_rtl.css");
style/fivealive/rtl/fivealive_rtl.css style/fivealive/rtl/siteheader_rtl.jpg
Of course the folder where BiDi has to look an import styles and graphics should send or get as a variable. Meaning that where we have ../fivealive/rtl/fivealive_rtl.css the fivealive string should be the value from the theme selected name and change dynamically.
Tiki calendar
Status as of 110222:
The calendar is displayed rtl. Tasks a not located in their right position in the grid for day and week views. They are positioned correctly in month and above views (which are all based on the same visual representation). This is likely a fix within Tiki's calendar functionality, possibly in some JS function.
Related links
- http://doc.tiki.org/Right+to+Left
- http://www.i18nguy.com/markup/right-to-left.html
- http://en.wikipedia.org/wiki/Bi-directional_text
- i18n