23

有哪些库可以编写 C# 国际化应用程序?

库中应包含的典型功能:

  • 验证特定国家/地区的数据(例如增值税号、电话号码、地址……)
  • 验证银行和财务坐标(例如信用卡号、IBAN、...)
  • 特定于语言的功能(例如数字到单词到数字,总结,...)
  • 特定语言的内容过滤(例如脏话过滤...)

Perl 中此类库的一个示例是 CPAN 的Internationalization/Locale 部分

有哪些可用的 C# 解决方案?


注意:我不是在寻找 System.Globalization 命名空间的介绍 :)


注 2:我应该假设没有可用的选项吗?有人有兴趣联合起来创建一个吗?


注意3:编辑以使问题出现在首页以希望获得更多答案。这不是一个很难的问题,Stackers 怎么可能不做 i18n?

4

7 回答 7

4

一个致力于全球化、国际化和本地化知识数据库的项目是Unicode Common Locale Data Repository,它基于 IBM 的旧 ICU 项目。

由于它是一个 XML 数据数据库,它不包含任何特定于 .NET 的代码,但作为一个知识体系,它非常好。

.NET 框架中只有一小部分。Microsoft 没有接近任何补充内容,例如邮政编码格式、数字拼写(用于支票/支票金额)等。标准时区名称(来自Olson/tz发行版)等也包括在内,并映射到Windows 特定的名称。一些分层的特定于语言环境的行为也有更好的支持。

于 2009-08-16T08:10:31.187 回答
2

找到的第一个库:NUtility(MIT 许可证)

NUtility 目前有提供数据库抽象层、命令行处理以及验证和转换功能的类,其中包括:命令行处理;信用卡验证;电子邮件地址验证;IP地址验证;英国邮政编码验证;Soundex、扩展 Soundex 和变音编码;ROT13编码;语音字母编码;和公制 - 英制转换。

于 2008-09-28T18:47:29.927 回答
2

我不会说没有人做 i18n,但我不知道有任何通用工具可以用于每个项目。维护包含您正在寻找的所有信息的数据库将是一个史诗般的项目。听起来您要查找的不是特定的 C# 库,而是您可以从中获取的在线信息集合。如果您能够找到各种语言的脏话库(例如),那么在 C# 中使用它对您来说是微不足道的。我认为要找到一个解决方案,将您的所有需求打包成一个易于使用的程序集,这将是不可能的。

于 2009-08-14T13:44:57.313 回答
1

看看 http://www.microsoft.com/globaldev/getwr/dotneti18n.mspx
http://www.dotneti18n.com/

于 2008-09-20T11:37:19.287 回答
1

字符串到数字,反之亦然,可以按以下方式完成:

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

至于检查VATS和地址,我对此也很感兴趣,到目前为止还没有发现任何有用的东西。

于 2008-09-28T12:07:27.127 回答
0

本身并不完全是一个“图书馆”,但我实际上遇到了一家名为E4X(我的前客户)的公司提供的优质服务(付费)。
他们提供的是您电子商务网站的完整本地化,包括语言翻译、货币兑换、本地计费和金融交易处理,包括特定地区的税收等。他们甚至处理物理运输的物流......

对于电子商务业务,值得研究。让他们知道我派你来... ;-)

于 2009-08-19T18:16:55.643 回答
0

这是一项巨大的努力。让我们从一个简单的问题开始:电话号码。Libphonenumber 位于http://code.google.com/p/libphonenumber/的 Google 库在https://bitbucket.org/pmezard/libphonenumber-csharp有一个 C# 端口,在http://blog.thekieners.com/2011有注释/06/06/using-googles-libphonenumber-in-microsoft-net-with-c/。似乎是处理美国和国际号码的好图书馆。

于 2012-01-19T01:02:18.160 回答