2011-12-30 2 views
3

Я все еще довольно новичок в веб-формах asp.net. У меня есть требование сделать приложение доступным на двух языках. Все, что нужно перевести, - это статический контент. Можете ли вы указать мне хороший ресурс для чтения по этой теме или, возможно, коротко объясните, как это лучше всего сделать?asp.net Интернационализация веб-форм

ответ

1

В .NET Framework поддерживает Интернационализация API, который известен как Globalization and Localization. Глобализация/Локализация включает в себя страну/регион, календари, формат номера, формат валюты, формат даты, ресурсы, текстовое кодирование и т. Д. Взгляните на статью MSDN на ASP.NET Globalization and Localization

2

Статьи, перечисленные в других ответах, великолепны Ресурсы.

Вот быстро резюме некоторых вещей, чтобы рассмотреть следующие вопросы:

  • Любой статический текст, который будет «пользователь сталкивается с» должны быть сохранены в файлах ресурсов. В ASP.NET эти файлы обычно принимают форму файлов .resx, где имя файла соответствует названию страницы, на которой оно потребляется. Существует множество замечательных статей о том, как создавать и поддерживать эти файлы. Для каждого нового требуемого языка вы создаете отдельный файл ..resx. Поэтому, если ваш «английский» текст по умолчанию для страницы хранится в «MyPage.aspx.resx», вы сохраните бразильский португальский перевод в «MyPage.aspx.pt-BR.resx».
  • При создании ваших записей по умолчанию (иногда называемых сообщениями) важно попытаться сохранить ваши сообщения в виде полных предложений/мыслей, поскольку их легче будет перевести на другие языки. Для структурирования локализуемых сообщений на сайте mediawiki.org есть несколько основных рекомендаций: MediaWiki - Internationalization Hints
  • Вам нужно быть очень осторожным в отношении таких действий, как синтаксический анализ даты и числа и форматирование. Рамка .NET обеспечивает хорошие возможности для синтаксического анализа и форматирования дат и чисел в различных культурных контекстах. Большинство методов .Parse и .Format принимают экземпляр класса CultureInfo, который он может использовать для информирования .NET о том, как следует форматировать число или дату.
  • Связано с вышесказанным: мне было легче предпочитать форматы дат, совместимых с ISO, когда это возможно. Большинство людей, которые видят: «2010-03-05», будут знать, что он представляет 5 марта 2010 года, а «03 -05-2010» можно интерпретировать как 5 марта 2010 года или 3 мая 2010 года, в зависимости от того, откуда вы , Опять же, платформа .NET предоставляет возможности для правильной форматирования этой даты на основе предпочтений культуры текущего пользователя, но мне часто было проще просто выбрать стандартный формат, который по всему миру признан по возможности, чтобы облегчить вашу жизнь ,

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

Смежные вопросы