I've done some programming for Arabic Windows, and Windows pretty much takes care of everything for you. When you switch language, Windows handles almost everything for you, such as:
* Right to left input
* Text selection (would not have been simple to do manually, as arabic uses left to right for numbers...)
* Keyboard mapping
* Menus are right aligned
* Scrollbars are moved to left side
* Progress bars go from right to left
The only thing I've noticed so far is that if you want labels to be to the right of their objects, you'll have to do that yourself (and I'm happy that WIndows doesn't start moving such things around on its own).
Just be happy it's not Chinese. I've heard that Chinese Windows more or less tips everything sideways, with menus along the side of the screen, extending sideways when opened and so on...