RTL Language Support

Hi,

i have the requirement to support RTL languages like Arabic.

If I understood correctly from some older threads, Vaadin has no support for RTL languages? Is this still valid for Vaadin 7?
Does the integration of GWT in Vaadin 7 bring any advantages to this topic, i.e. to use GWT widgets?

Has anyone some experiences in using Vaadin with RTL languages (or is this requirement an exclusion criteria to use Vaadin) ?

Any hints would be appreciated.

Thanks,

Stephan

Hi,
Have a look to
https://vaadin.com/forum#!/thread/140214
http://magi.virtuallypreinstalled.com/book-examples/book/?restartApplication#advanced.i18n.rtl

I don’t understand if that issue http://dev.vaadin.com/ticket/3093
is still in the backlog or not.

Tell me if you found any other hints for RTL languages !
BR

RTL support is not just one or two things, and not something the framework can do entirely on its own. Some of the framework features that would be helpful can be found in the lists by Marko (in the forum post) and Artur (in the ticket).

Currently, as you can see in the examples from Marko, it is possible to e.g. use text fields and labels that have RTL text (as far as the browsers support it) and to manually create layouts that are RTL-compatible and do many other tweaks for an RTL application. However, many components do not behave “naturally” in an RTL environment, and supporting a mixed LTR/RTL environment is likely to be especially hard at the moment as many hacks would probably be needed for a natural RTL user experience. I believe you could build an RTL application using Vaadin today, but it would not be easy and some things would not work as well as they should or would require quite a lot of tweaking.

Unfortunately, we don’t really have practical experience in using RTL languages (and especially in implementing applications or frameworks for RTL environments) in the core development team, and it hasn’t really been a priority.

The ticket is still open, and the way it is formulated, I doubt whether it will ever be able to close it as fixed as it is so “diffuse.” To make it possible to resolve, it could and should be split into several smaller tickets that could be solved separately. This needs to be done by someone who has actually been developing RTL applications.

If you have practical experience and needs for RTL, the first thing I would recommend doing is to create meaningful tickets for each specific aspect of what is missing, with a detailed description of what has to be done and ideally some screenshots or diagrams of what should be achieved. Without this, I doubt much would happen, although this does not guarantee we would prioritize those tickets. The old ticket could then have a list of links to those, and be closed once all the main issues have been listed in other tickets.

If you really need to make this go forward, sponsored development might also be an option, but would depend on first having the issues listed as tickets - it would be practically impossible to estimate the effort without those. See the
services page
or the
contact information page
if you want to discuss this option with someone.