I have a problem (supposed to be a GWT feature) when i internationalize my Webapp to a RTL language. Basically, the GWT feature mirrors the interface to RTL and I don't want that to happen.
How can I prevent GWT from automatically mirror my interface and just keep translated strings?
Here is my *.gwt.xml code:
<!DOCTYPE ... >
<module rename-to='blah'>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<inherits name="com.google.gwt.i18n.I18N"/>
<inherits name="com.google.gwt.json.JSON" />
<inherits name="com.google.gwt.user.Debug"/>
<extend-property name="locale" values="pt"/>
<extend-property name="locale" values="es"/>
<extend-property name="locale" values="ar"/>
<source path="client"/>
<source path="shared"/>
<entry-point
class="EntryPoint"/>
<!-- Remote services -->
</module>
Regards
Unfortunally this is a feature of a number of the GWT widgets. These widgets call LocaleInfo.getCurrentLocale().isRTL()
internally and even if you would somehow change the return value of this call it would then disable the rtl for text also. So that's not an option.
I guess you have 2 options. Firstly, not use widgets that use the RTL check or secondly, when adding a widget check for isRTL yourself and add it in the opposite direction. For example if you add a widget to the WEST
, add it to the EAST
when isRTL()
is true. Both options are not optimal, but I see no other solution.