Проблема перевода - неверный язык отображается по умолчанию - PullRequest
1 голос
/ 24 февраля 2010

Я только начал писать многоязычное приложение в первый раз. Я прочитал о концепции файлов языковых ресурсов и думаю, что понял основную идею. Я попытался реализовать его и сразу обнаружил проблему:

Я ввел языковые строки по умолчанию в файл resx, а затем добавил другой файл ресурсов (например: UIStrings.en.resx). Поскольку моя компания не базируется в Англии / других англоязычных странах, наши приложения в основном написаны на нашем языке. Таким образом, языком по умолчанию является наш язык (словенский).

Когда я добавляю файл .en.resx, вставляю правильные переводы и запускаю программу, теперь она отображает английский текст. Я понял, что это потому, что

CultureInfo.CurrentUICulture = "en-US" 

пока

CultureInfo.Currentculture = "sl-SI"

Я полагаю, это потому, что у меня запущена английская версия Windows (хотя все свойства в Региональные параметры правильно установлены на словенские настройки).

Как заставить приложение отображать строки на языке пользователя, а не на установленном языке Windows?

1 Ответ

1 голос
/ 24 февраля 2010

Я нашел этот пост в блоге, который отвечает на мой вопрос.

Если кто-то еще борется с этим, вот что вы делаете:

Итак, если вы используете самые распространенные версия Windows (английская версия), вы застряли с "en-US" культура; следовательно, ваше приложение будет всегда используйте свой английский ресурс. В Чтобы смягчить это, вы можете выполнить небольшой трюк на вашем запуск приложения. Вы можете ввести в заблуждение ваше приложение, чтобы посмотреть в вашем Свойство CurrentCulture вместо Текущее культурное свойство. На запуск приложения, вы можете написать как то так:

Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

Таким образом, ваше приложение будет использовать ваши настройки глобализации вместо ваша локализация окон по умолчанию установка. Ваша заявка будет локализован для вашей глобализации язык и культура. Если вы измените региональные настройки в вашем контроле Панель, язык вашего приложения и культура изменится автоматически.

...