Подтвердить что ты не робот

Библиотеки С# для интернационализации?

Какие библиотеки существуют для написания интернационализированных приложений С#?

Типичные функциональные возможности, которые должны содержаться в библиотеке:

  • Проверка данных по конкретным странам (например, номера НДС, номера телефонов, адреса и т.д.)
  • Проверка банковских и финансовых координат (например, номера кредитных карт, IBAN,...)
  • Функциональность, специфичная для языка (например, номера для слов в числах, суммирование,...)
  • Фильтрация содержимого на конкретном языке (например, фильтрация swearword...)

Примером таких библиотек в Perl будет раздел Интернационализация/локаль CPAN.

Какие существуют решения С#?


Примечание. Я не ищу введения в пространство имен System.Globalization:)


Примечание 2: Должен ли я исходить из того, что нет доступных параметров? Кто-то заинтересован в объединении сил и создании одного?


Примечание 3: Изменить, чтобы вопрос появился на главной странице в надежде получить больше ответов. Это не такой уж сложный вопрос, как возможно, что Stackers никогда не делают i18n?

4b9b3361

Ответ 1

Найдена первая библиотека: NUtility (лицензия MIT)

  

В настоящее время NUtility имеет классы, которые обеспечивают уровень абстракции базы данных, функции обработки и проверки командной строки, а также функцию преобразования, которая включает в себя: обработку командной строки; проверка кредитной карты; проверка адреса электронной почты; Проверка IP-адреса; Проверка подлинности в почтовом индексе Великобритании; Soundex, расширенная кодировка Soundex и метафонов; Кодирование ROT13; кодирование фонетического алфавита; и метрико-имперские преобразования.

  

Ответ 2

Одним из проектов, которые работают над созданием базы данных знаний о глобализации, интернационализации и локализации, является Unicode Common Locale Data Repository на основе старого ICU в IBM.

Поскольку это база данных XML-данных, она не содержит какого-либо .NET-кода, но, как совокупность знаний, это очень хорошо.

В среде .NET есть только небольшое подмножество. Microsoft не обошла ни один из дополнительных материалов, таких как форматы почтовых индексов, орфографию номеров (для контрольных/контрольных сумм) и т.д. Стандартные названия часовых поясов (из Olson/tz) и т.д., С отображением имен Windows. Некоторые иерархические особенности, специфичные для локали, также имеют лучшую поддержку.

Ответ 3

Я бы не сказал, что никто не делает i18n, но я не знаю никаких общих инструментов, которые могут быть использованы для каждого проекта. Поддержание базы данных со всей информацией, которую вы ищете, было бы эпическим проектом. Похоже, что вы ищете не конкретную библиотеку С#, а больше набор информации в Интернете, из которой вы можете рисовать. Если бы вы могли найти репозиторий ругательств на разных языках (например), было бы тривиально использовать это в С#. Я думаю, что найти решение, которое завершает все ваши требования в простой в использовании сборке, будет невозможно найти.

Ответ 5

Строка на число и наоборот может быть следующей:

   culture = new CultureInfo(locale);
   int number = Convert.ToInt32(myString, culture.NumberFormat);
   string str= Convert.ToString(myNumber, culture.NumberFormat);

Что касается проверки VATS и адресов, я тоже заинтересован в этом, пока не нашел ничего полезного.

Ответ 6

Не совсем "библиотека", сама по себе, но я действительно столкнулся с отличным сервисом (для оплаты) компанией E4X (бывший мой клиент).
То, что они предоставляют, - это полная локализация вашего сайта электронной коммерции, включая языковые переводы, обмен валюты, местное выставление счетов и обработку финансовых транзакций, включая налоги на конкретные регионы и т.д. И многое другое. Они даже занимаются логистикой физической доставки...

Стоит посмотреть, для бизнеса электронной коммерции. Пусть они знают, что я отправил вас...; -)

Ответ 7

Это огромная работа. Позвольте начать с одной простой проблемы: номера телефонов. Библиотека Libphonenumber Google в http://code.google.com/p/libphonenumber/ имеет порт С# в https://bitbucket.org/pmezard/libphonenumber-csharp с примечаниями в http://blog.thekieners.com/2011/06/06/using-googles-libphonenumber-in-microsoft-net-with-c/. Представляется, что это хорошая библиотека для обработки как американских, так и внутренних номеров.