On 2017-09-21 19:48, Mark Waddingham via use-livecode wrote:
<slight tangent>

For example, let's say you have a right to left language FOO which has
letters A, B, C; compared to a left to right language BAR which has
letters X, Y and Z. Hello in FOO is spoken A-B-C; Hello in BAR is
spoken X-Y-Z. However, as FOO is right to left, Hello is written CBA.
If these languages were mixed in a single piece of text - spoken as
A-B-C X-Y-Z - then in memory the order would be ABC XYZ, but visually
it would appear as either:

  i) from the left edge - CBA XYZ

  ii) from the right edge - XYZ CBA

Whether it would be (i) or (ii) depends on which is considered to be
the dominant language in that case and context.

</slight tangent>

I should perhaps have mentioned the 'useful' outcome of the above tangent...

If text is always stored in memory in logical order (in the order we utter it / actually read the individual constituent parts), then processing of a string containing left-to-right text, or right-to-left text or any mixed combination there-of needs no more thought than processing a string which is composed of a language which is written left-to-right - because (logically - in terms of how humans process it themselves) there is no difference.

All apparent 'difficulties' and 'oddness' which dealing with non left-to-right text are confined solely to the presentation layer - which at the level of rendering text, LiveCode does for you.

This is important to remember if you are involved in localisation applications to languages such as Arabic - the main work you have to do is getting the translations in the first place, and *potentially* making your app right-to-left dominant, rather than left-to-right (i.e. labels should go on the right of fields, rather than the left, and things should generally be aligned to the right, rather than the to the left - although the actual alignment of text within fields / buttons etc. will 'do the right thing').

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to