我即将开始将客户的网站翻译成西班牙语和法语,并寻找有关使用ASP.NET进行本地化的资源。谷歌有数百万的热门歌曲,几乎所有热门歌曲都可以追溯到2005年和ASP.NET 2.0。在3.5和VS2008中有关于本地化的新东西吗?任何有常规做法的提示或资源都将受到高度赞赏!
答案 0 :(得分:9)
说实话,自ASP.NET 2.0以来,本地化并没有那么多改变。你找到的资源无疑建议你把东西放在App_LocalResources中的resx文件中,这仍然是你的方式。这是我从做同样的事情中学到的一些技巧。
绝对粗暴地减少包含文本的图像数量。这样做可以让您的生活更轻松十亿,因为您不必为每种friggin语言获取一组新的图像。
对css定位非常警惕,依赖于总是保持相同大小的东西。如果这些东西包含文字,它们将不会保持相同的大小,然后您需要返回并修复您的设计。
如果在sql表中使用字符类型,请确保可能接收国际输入的任何字符都是unicode(nchar,nvarchar,ntext)。就此而言,我只会标准化使用unicode版本。
如果您正在动态构建SQL查询,请确保在任何引用文本之前包含N前缀,如果文本可能是unicode的话。如果您最终将垃圾放入SQL表中,请检查是否存在垃圾。
确保所有网页明确声明它们采用unicode格式。
请参阅Joel关于Unicode的文章 - http://joelonsoftware.com/articles/Unicode.html
您将为此项目大量使用资源文件。这很好 - ASP.NET 2.0对此有很大的支持。您将需要查看App_LocalResources和App_GlobalResources文件夹以及GetLocalResourceObject,GetGlobalResourceObject和meta:resourceKey的概念。 Professional ASP.NET 2.0的第30章有一些很好的内容。这本书的3.5版本也可能有很好的内容,但我不拥有它。
考虑字体。您可能想要使用的许多标准字体都不支持unicode。我一直很幸运Arial Unicode MS,MS Gothic,MS Mincho。不过,我不确定这些是跨平台的。另请注意,并非所有字体都支持所有Unicode字符定义。再次,测试,测试,测试。
现在开始考虑如何翻译这个系统。与谁的翻译供应商讨论他们希望数据来回传递的方式。想想通过本地资源文件,您可能会通过系统重复一些常用的字符串。您是将它们规范化为全局资源文件,还是具有某种数据库层,其中只生成每个文本的一个副本。在我们最近的项目中,我们使用了从包含所有翻译的数据库表生成的资源文件以及资源文件的原始英文版本。
测试。一般来说,我将用德语,波兰语和亚洲语言(日语,中文,韩语)进行测试。德语和波兰语是罗嗦的,几乎可以保证延伸文本区域,亚洲语言使用完全不同的字符集来测试你的unicode支持。
答案 1 :(得分:1)
我不认为从那以后会有新的东西(或者我不知道)。 您可以查看ResourceBlender,也可以通过Web Platform Installer安装。
答案 2 :(得分:0)