2008-09-20 4 views
22

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

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

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

Примером таких библиотек в Perl будет Internationalization/Locale section CPAN.

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


Примечание: Я не ищу для введения в System.Globalization имен :)


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

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

+0

Я предполагаю, что i18n является своего рода табу-темой - каждый использует свой подход к решениям (и иногда это требует уродливой формы создания совершенно новых сайтов для каждого языка/культуры/страны). – rshimoda 2008-10-17 07:36:39

+0

Одна только фильтрация ругательства может нанимать группы людей для каждого региона и языка на полный рабочий день. – cyberconte 2009-08-17 15:51:08

+0

Интересно. Я просто обсуждал аспект проверки этой проблемы с моим коллегой. Затем я вернулся на свой компьютер, и через 15 секунд я вижу этот вопрос. :) – vit 2009-08-17 16:08:00

ответ

2

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

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

0

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

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

Что касается проверки чанов и АДРЕСА, я заинтересован в это тоже пока не нашло ничего полезного.

2

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

4

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

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

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

0

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

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

0

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

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