Вопрос

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

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

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

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

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


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


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


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

Это было полезно?

Решение 2

Первая найденная библиотека: Бесполезность (MIT License)

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

Другие советы

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

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

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

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

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

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

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

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

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

Это огромное усилие.Давайте начнем с одной простой задачи:номера телефонов.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/.Похоже, это хорошая библиотека для обработки как американских, так и международных номеров.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top