2010-04-01 61 views
0

我即将开始的翻译客户的网站投入到工作西班牙语和法语,并寻找与ASP.NET的本地化资源。 Google中有数百万次点击,并且几乎全部都是2005年和ASP.NET 2.0。 3.5和VS2008中的本地化有没有新的东西?任何提示或资源与常见的做法将不胜感激!香草ASP.NET中本地化的最佳实践或资源?

回答

9

本地化根本没有发生太大的变化,因为ASP.NET 2.0,是诚实的。您找到的资源无疑建议您将事情放在位于App_LocalResources中的resx文件中,这仍然是您执行此操作的方式。以下是我从做同样的事情中学到的一些提示。

  • 绝对和残酷地减少包含文本的图像数量。这样做会让你的生活变得容易十亿分之一,因为你不必为每一种语言都获得一组新的图像。

  • 对css定位非常警惕,它依赖于始终保持相同大小的东西。如果这些东西包含文字,它们将不会保持相同的大小,然后您将需要返回并修复您的设计。

  • 如果您在sql表中使用字符类型,请确保任何可能接收国际输入的字符都是unicode(nchar,nvarchar,ntext)。对于这个问题,我只会标准化使用unicode版本。

  • 如果你正在构建动态SQL查询时,请确保您有任何引用文本之前的N个前缀,如果有任何机会,文本可能是Unicode。如果最终将垃圾放入SQL表中,请检查是否存在。

  • 确保您的所有网页都明确指出它们是unicode格式。

  • 见乔尔对Unicode的文章 - http://joelonsoftware.com/articles/Unicode.html

  • 你将要使用的资源文件很多关于这个项目。这很好 - ASP.NET 2.0对此有很好的支持。您需要查看App_LocalResources和App_GlobalResources文件夹以及GetLocalResourceObject,GetGlobalResourceObject和meta:resourceKey的概念。专业ASP.NET 2.0的第30章有一些很好的内容。本书的3.5版本可能也有很好的内容,但我不拥有它。

  • 想想字体。许多您可能想要使用的标准字体都不支持unicode。我一直很喜欢Arial Unicode MS,MS Gothic,MS Mincho。不过,我不确定这些跨平台是如何实现的。另外请注意,并非所有的字体都支持所有的Unicode字符定义。再次,测试,测试,测试。

  • 现在开始思考你将如何获得翻译到这个系统。请与您的翻译供应商谈谈他们希望翻译数据的方式。考虑一下这样一个事实,即通过本地资源文件,您可能会在系统中重复使用一些常用的字符串。你是否将这些规范化为全局资源文件,或者是否有某种数据库层,其中只生成每个使用文本的一个副本。在我们最近的项目中,我们使用了从数据库表中生成的资源文件,其中包含所有翻译和资源文件的原始英文版本。

  • 测试。一般来说,我会用德语,波兰语和亚洲语言(日语,中文,韩语)进行测试。德语和波兰语很罗嗦,几乎可以保证伸展文本区域,亚洲语言使用完全不同的字符集来测试您的unicode支持。

+0

+1好帖子!你的观点涵盖了我多年来碰到的许多陷阱。 – 2010-04-01 19:57:16

0

ResourceBlender到目前为止似乎是一个小大的错误。例如:一些ResourceStrings被命名为等价的。如果你改变这个等价的字符串之一,其他的也会改变......最后一个版本是从十二月。 2009.