Creating Applications for Bi-directional Languages with Visual Studio

You can use Visual Studio to create applications that correctly display text in languages written right-to-left, including Arabic and Hebrew. For some features, you can simply set properties. In other cases, you must implement features in code.


In order to enter and display bi-directional languages, you must be working with a version of Windows that is configured with the appropriate language. This can either be an English version of Windows with the appropriate language pack installed, or the appropriately localized version of Windows.

You can create fully bi-directional applications that include support for bi-directional text, right-to-left reading order, and mirroring (reversing the layout of windows, menus, dialog boxes, and so on). Except for mirroring, these features are available by default or as property settings. Mirroring is supported inherently for some features, such as message boxes. However, in other cases you must implement mirroring in code.

For more information, see Bi-Directional Support for Windows Forms Applications.

Web applications rely on browsers for their user interface, so the degree of bi-directional support in a Web application is somewhat dependent on how well the user's browser supports those bi-directional features. In Visual Studio, you can create applications with support for Arabic or Hebrew text, right-to-left reading order, file encoding, and local culture settings.

Web services likewise support and receiving sending UTF-8 and Unicode text, making them suitable for applications involving bi-directional languages.

For more information, see Bidirectional Support for ASP.NET Web Applications.

Console applications do not include text support for bi-directional languages. This is not directly a limitation of Visual Studio; it is a consequence of how Windows works with console applications.

Community Additions