Каков наилучший способ заставить мое приложение C#/WPF поддерживать разные языки?Сделать мое приложение многоязычным
Я хочу, чтобы у меня были возможности выбора языка.
Благодаря
Каков наилучший способ заставить мое приложение C#/WPF поддерживать разные языки?Сделать мое приложение многоязычным
Я хочу, чтобы у меня были возможности выбора языка.
Благодаря
Существует много информации, чтобы переварить, но рамки .Net имеет встроенную поддержку для Internationalization
Я хотел бы дать вам простой пример, но это не «перетаскивания» решение. Вам нужно будет много подумать о том, как вы разрабатываете свое приложение для этого.
Сколько текста мы говорим здесь? Вы всегда можете просто использовать операторы case, которые проверяют языковые переменные и помещают соответствующий язык, но это превратится в беспорядок, если у вас есть TON для замены.
В ответ на ваш комментарий:
Осознайте, что это может быть не лучшим решением, так как я не знаком со встроенной поддержкой с .NET.
Вы можете просто сохранить переменную, содержащую язык, например, strLang, а когда вы размещаете текст, просто ваша программа запускает оператор case для вывода правильного языка.
Switch (strLang)
{
case "EN":
//OUTPUT ENGLISH TEXT HERE
break;
case "SP":
//OUTPUT SPANISH TEXT HERE
break;
}
Как вы можете видеть, это действительно может засорять свой код в зависимости от количества языков и количества текста, так что вы можете проверить книгу Рэнди предложил.
Это не полная тонна, несколько фрагментов текста здесь и там, вы можете объяснить, как я буду делать все это. Благодарю. Если вы хотите понять, как много текста мы говорим о вы можете посмотреть на приложение здесь: http://sinvise.net/preRelease/b1/Shutdown%20Timer%203.0%20Alpha%20x86.rar Спасибо –
Спасибо за образец, я считаю, что использование аргумента case - это способ, но он также создает чертовски много кода. –
Вот почему я надеюсь, что у других будет лучший ответ для вас :) Удачи! –
Подберите следующую замечательную книгу: .NET Internationalization by Smith-Ferrier
. Одним из моих следующих проектов будет интернационализация наших приложений. Это будет моим проводником.
Как насчет токенизации строк, которые вы собираетесь использовать в своем приложении, а затем иметь отдельные языковые файлы, которые затем загружаются во время выполнения?
E.g. в моей форме я хочу показать «Имя» на разных языках, поэтому он заштрихован с помощью токена «firstnnamestring», и когда форма загружается, я заменю текст на все, что настроено в файле языков, в зависимости от текущего языка.
Языковые файлы могут быть простыми XML с парами ключевых значений «токена» и «отображения текста».
Это было то, на что я действительно смотрел! Сможете ли вы предоставить пример кода, который вы сделали, чтобы определить значения? благодаря –
Спасибо. Идея ресурсов имеет смысл. Завтра я попробую первое. –