2010-07-29 2 views

ответ

5

Существует много информации, чтобы переварить, но рамки .Net имеет встроенную поддержку для Internationalization

Я хотел бы дать вам простой пример, но это не «перетаскивания» решение. Вам нужно будет много подумать о том, как вы разрабатываете свое приложение для этого.

+0

Спасибо. Идея ресурсов имеет смысл. Завтра я попробую первое. –

-1

Сколько текста мы говорим здесь? Вы всегда можете просто использовать операторы case, которые проверяют языковые переменные и помещают соответствующий язык, но это превратится в беспорядок, если у вас есть TON для замены.

В ответ на ваш комментарий:

Осознайте, что это может быть не лучшим решением, так как я не знаком со встроенной поддержкой с .NET.

Вы можете просто сохранить переменную, содержащую язык, например, strLang, а когда вы размещаете текст, просто ваша программа запускает оператор case для вывода правильного языка.

Switch (strLang) 
{ 
case "EN": 
//OUTPUT ENGLISH TEXT HERE 
break; 
case "SP": 
//OUTPUT SPANISH TEXT HERE 
break; 
} 

Как вы можете видеть, это действительно может засорять свой код в зависимости от количества языков и количества текста, так что вы можете проверить книгу Рэнди предложил.

+0

Это не полная тонна, несколько фрагментов текста здесь и там, вы можете объяснить, как я буду делать все это. Благодарю. Если вы хотите понять, как много текста мы говорим о вы можете посмотреть на приложение здесь: http://sinvise.net/preRelease/b1/Shutdown%20Timer%203.0%20Alpha%20x86.rar Спасибо –

+0

Спасибо за образец, я считаю, что использование аргумента case - это способ, но он также создает чертовски много кода. –

+0

Вот почему я надеюсь, что у других будет лучший ответ для вас :) Удачи! –

0

Подберите следующую замечательную книгу: .NET Internationalization by Smith-Ferrier. Одним из моих следующих проектов будет интернационализация наших приложений. Это будет моим проводником.

0

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

E.g. в моей форме я хочу показать «Имя» на разных языках, поэтому он заштрихован с помощью токена «firstnnamestring», и когда форма загружается, я заменю текст на все, что настроено в файле языков, в зависимости от текущего языка.

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

+0

Это было то, на что я действительно смотрел! Сможете ли вы предоставить пример кода, который вы сделали, чтобы определить значения? благодаря –