Зависит от того, что вы хотите перевести между английским и арабским языками.
Арабский - это семитский язык, который вы пишете справа налево, а английский - слева направо. В большинстве случаев это означает, что макет вашего приложения должен быть зеркальным (по крайней мере, меню и навигация). Я бы сохранил это зеркальное отображение как можно больше на главной странице. Или даже лучше, в CSS. Тогда вы могли бы иметь 'if ... else', которое ссылается соответственно на CSS слева направо или справа налево.
Далее, текст может быть легко помещен в файл ресурса. dotNET поддерживает загрузку нужного файла ресурсов в зависимости от ваших настроек CurrentCultureUI
. Там, где у вас были бы динамически созданные строки, я бы использовал метод string.Format(...)
для замены динамических слов.
Это для основ, вам все равно придется решить, что делать с более продвинутыми "пользовательскими" частями приложения.