Chapter 8: Mirroring
Books that are published in languages that use a Latin script such as English, Italian, or Dutch have certain conventions that differ from books published in such languages as Arabic, Hebrew, Farsi, or Urdu. While the first category involves left-to-right (LTR) languages, the second category involves right-to-left (RTL) languages; consequently, the text will need to be laid out accordingly. Additionally, page numbers within books written in English, Italian, and Dutch increase as you progress from left to right within the book, while the opposite holds true for Arabic, Hebrew, Farsi, and Urdu.
Within software applications, the user interface (UI) for RTL languages will differ from the UI for LTR languages. If you plan to localize into an RTL language, one very essential technique in making software localizable involves UI mirroring. This technology only applies to RTL languages including Arabic, Hebrew, Farsi, and Urdu; it isn't used for LTR languages. If you are not planning any localization into RTL languages, you can safely ignore mirroring-specific requirements.
To give a perfect RTL look and feel to an application's UI, both the text and the UI elements need to be laid out from right to left once they are translated into RTL languages. The mirroring technology allows you to provide such an interface to your Microsoft Win32 application, to your Web-based application, and within the .NET Framework as well.
This chapter will first look at the technology of mirroring and its overall implementation in Microsoft Windows. It will then focus on factors you will need to consider and coding practices you should use to provide a mirrored application.