Это возможно, и я делаю это с помощью моего клиента Google Reader gReadie, используя следующий код, который я вызываю при запуске и возобновлении работы приложения.
public static void SetLanguage() {
CultureInfo c = null;
switch (ViewModel.UserSettings.Language) {
case Language.Default:
break;
case Language.English:
c = new CultureInfo("en-US");
break;
case Language.Chinese:
c = new CultureInfo("zh-CN");
break;
case Language.French:
c = new CultureInfo("fr-FR");
break;
case Language.German:
c = new CultureInfo("de-DE");
break;
}
if (c != null) {
Thread.CurrentThread.CurrentUICulture = c;
ApplicationStrings.Culture = c;
}
}
Так что в основном у меня есть выпадающий список в моих настройках, который привязан к списку языков и позволяет пользователю выбрать язык своего телефона (по умолчанию) или один из поддерживаемых языков.
Затем при запуске приложения я устанавливаю язык потока пользовательского интерфейса и моего файла ресурсов ApplicationStrings в соответствии с их выбором.