并且稍微调整一下,Asp.net Mvc App中全球化的最佳方法是什么
答案 0 :(得分:7)
全球化是关于生成从字符串或标识符到其他语言翻译的地图,而本地化是关于使用该地图查找正确的翻译。全球化在开发过程中发生,本地化在运行时发生。
我在使用ASP.NET时不是很有经验,但是......
至于如何,我看到的最常见的方法是每个程序集(或每个UI组件)每个语言都有一个字典,其中值是本地化字符串。密钥通常是静态类或枚举上的只读成员。通常有一个便利类,其成员 从标识符到本地化消息的映射。
字典通常存储在单独的文件中,并以针对人工翻译的格式存储。
答案 1 :(得分:4)
来自W3C I18n FAQ:
本地化是指对产品,应用程序或文档内容进行调整,以满足特定目标市场(“区域”)的语言,文化和其他要求。
国际化(或全球化)是产品,应用程序或文档内容的设计和开发,可以为文化,地区或语言不同的目标受众轻松进行本地化。
我从来没有全球化过ASP.NET MVC应用程序,很抱歉,如果我无法帮助你那么做。
答案 2 :(得分:0)
System.Globalization 命名空间 包含定义的类 与文化有关的信息,包括 语言,国家/地区, 正在使用的日历,格式模式 对于日期,货币和数字,和 字符串的排序顺序。
它和本地化有什么区别?我想这可以解释为汽车和城市之间的区别。一个是目的地,另一个是你到达目的地。
我没有使用过ASP.NET MVC,但是我使用的是类似的Monorail。如果我想本地化一个MR应用程序,我可能会使用一个单独的视图文件树。所以,虽然只有英语,我会:
\Views\Home\*.asp
\Views\Admin\*.asp
\Views\Products\*.asp
对于一个国际化的应用程序,我会有类似的东西:
\en\Views\Home\*.asp
\en\Views\Admin\*.asp
\en\Views\Products\*.asp
\de\Views\Home\*.asp
\de\Views\Admin\*.asp
\de\Views\Products\*.asp
\es\Views\Home\*.asp
\es\Views\Admin\*.asp
\es\Views\Products\*.asp