C # библиотеки для интернационализации? - PullRequest
22 голосов
/ 20 сентября 2008

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

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

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

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

Какие решения C # доступны?


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


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


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

Ответы [ 7 ]

4 голосов
/ 16 августа 2009

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

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

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

2 голосов
/ 14 августа 2009

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

2 голосов
/ 28 сентября 2008

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

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

1 голос
/ 28 сентября 2008

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

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

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

1 голос
/ 20 сентября 2008
0 голосов
/ 19 января 2012

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

0 голосов
/ 19 августа 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...