Looking at http://people.redhat.com/~katzj/anaconda-farsi.png it seems like the anaconda UI wasn't properly mirrored, even though the text is RTL. What happens wrt to RTL mirroring in gtk+ is: At init (in gtk_parse_args) the default direction is set based on the current language, like this: char *e = _("default:LTR"); if (strcmp (e, "default:RTL")==0) { gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); } else if (strcmp (e, "default:LTR")) { g_warning ("Whoever translated default:LTR did so wrongly.\n"); } If you change the locale at runtime, after initializing gtk you need to call gtk_widget_set_default_direction with the correct flags. You can probably look at dgettext("gtk20", "default:LTR") after you've changed the language, and use code similar to above to set the direction.
Thanks for the complete description of the fix... committed to cvs, see http://people.redhat.com/~katzj/anaconda-farsi-2.png