As the popularity and reach of FLOSS grows, so does the need to support more languages. Internationalization support varies greatly by language, because each language needs particular features that may or may not work properly. One of the most challenging problems in language support is dealing with languages that are right-to-left, and the 500 million speakers of RTL languages often find themselves at the very bottom of the heap.
In fact, the support of those languages – on Linux, other operating systems, and on the Web – is so abysmal that it is hard to find a single piece of software that properly supports all the necessary behaviors.
The effect of right-to-left languages extends beyond the writing and reading of the script. The direction of reading has a significant psychological effect – where your eyes shift on the screen, your expectations of where interface elements should be, and what you expect when typing in a bi-directional setting.
The issues become even more complicated in an environment that handles bi-directionality. The questions of how systems should behave when two languages of two different directions interact become almost mind boggling. And yet, these are behaviors that right-to-left users encounter on a regular basis, and the solutions that are offered today prove to be extremely lacking.
In this presentation, I will cover some critical aspects that right-to-left users run into when dealing with software and websites, and potential solutions that are available, while concentrating on what developers should look out for and remember when they consider support for RTL languages. I will discuss:
* Use cases for dealing with RTL scripts - visual vs. logical cursor movement, typing and selecting, and, worst (or best) of all, dealing with mixed content.
* Examples from Linux distributions like Debian; the use of RTL file names in the GUI and terminal, typing in RTL in editors, etc.
* Unicode’s bi-directional algorithm and how it is utilized in Linux and on the Web; examples of hidden characters like “LRM” and “RLM” that preserve the directionality of embedded scripts, or LRO/RLO that force certain directionalities in strings.
* How the Web does it in general, and how specifically we at the Wikimedia Foundation handle translations, Wikipedias in RTL languages, and mixed LTR/RTL content.
Moriel is a physicist-turned Software Engineer who speaks and thinks right-to-left. She earned a B.Sc in Physics from City College of New York in 2011, with her research focused on “modeling the kinematic equation of a loosely bound spring bouncing down an inclined plane”, or, in plain English, finding the equation of the Slinky. After working for the American Institute of Physics, she continued to graduate school to earn her Masters in Computer Science from the New York Institute of Technology in 2014. Continuing her passion for science outreach, she has published a paper about Backtracking algorithms in Sudoku solvers (DOI: 10.1109/LISAT.2014.6845190) and developed an open source Web-based system for simulating astronomical systems (https://github.com/mooeypoo/SolarPlayground). In 2013, she joined the Wikimedia Foundation as a Google Summer of Code intern, focusing on developing tools that enable right-to-left language support in their visual editor. She stayed, and is currently working in Wikimedia’s Collaboration team, creating great Web interfaces that make right-to-left speakers happy.
Geelong is Victoria's second largest city, located on Corio Bay, and within a short drive from popular beach-front communities on the Bellarine Peninsula as well as being the gateway to the famous Great Ocean Road
linux.conf.au is widely regarded by delegates as one of the best community run Linux conferences worldwide and is the largest Linux and Open Source Software conference in the Asia-Pacific.
Our Sponsors help make linux.conf.au become the awesome conference everyone comes back to year after year. Come see who's on board this year, or find out how to get in contact with us