Translation question

Just watch the presentation from XDC on translation and it sparked a question in my mind concerning RTL (Right to Left) languages. Do application for these languages typically place control labels on the right of the control, when they are typically on the left for LTR languages.

For example, this dialog the label “Sort By:” and “Then sort by:” would those be on the right hand side in an Arabic application, for example.

Generally swapping an application to Arabic doesn’t cause the interface to mirror on macOS build in applications. Also searching Google images for dialogs doesn’t seem to yield any swapped windows.

I have seen examples where the label is above a text box and it is right aligned, rather than left aligned.

Yeah, so the auto layout stuff in the Apple ecosystem has the concept of Leading & Trailing as opposed to Left & Right just for this purpose. In a RtoL language the labels do indeed appear on the other side of the controls. The users do read from the right edge of the screen and the labels need to come “before” the controls.

So far, three of my iOS apps are available in RTL languages (Hebrew and Arabic).
Thanks to Auto-layout, I can define Leading and Trailing constraints (as Greg explained).

This will automagically rearrange controls to place them on the correct side of the screen.
Along with that, label and textfields’ text alignment is set to Natural, meaning the text is aligned left on LTR languages and aligned right for RTL languages.

The exception would be right aligned text and captions for LTR languages, I need to detect that the language is RTL and change the alignment to Left


2 Likes

So it is desirable and a lot more common on mobile. If I swap my language on macOS it doesn’t seem to swap orientation there. Perhaps I should try a reboot and see what happens. I’m looking, for example, at a print dialog and other apple screens in applications.

OK, that did it. The restart is required to get the full swap in the orientation of the dialogs etc. Interesting, thanks. As I add languages I’m going to have to organise a MirrorInterface Interface when I need it.

Honestly, it is always good to have many languages in an app, but the Arabic and Hebrew markets are so small that I wouldn’t bother working on this localisation until other languages are implemented.

Most important in my point of view are
English, German, French, Spanish, Italian, Chinese, Portuguese (Brazilian), Japanese, Korean…

Depending on what the app does, other languages might be more important.

Sure, I am just spitballing ideas. I am aware that Xojo is starting to look into RTL language support. I’ve discovered a that Xojo does some thing well in this regard, others less so. I just discovered an issue in RadioButtonGroup, for example.

My primary application is a Statistical Analysis Application.