寻找关于在asp.net网站上实施本地化以及客户特定术语的最佳方法的一些建议,该网站将由多个客户使用。
例如,表单上的标签必须根据登录到站点的客户端以及语言首选项的不同而有所不同。
因此每个客户端都会有一组默认的词汇/行话......然后每个客户端的词汇/术语将被翻译成他们需要的语言。
我在考虑为每个客户创建一个自定义文化,然后使用asp.net和资源文件中的“内置”本地化功能。
所以我可能有一个默认文化......然后是客户特定的文化......然后将客户特定的文化翻译成其他语言。
en-US
解DE
烯US-CLIENT 1
烯US-CLIENT 2
解DE-CLIENT 1
解DE-CLIENT 2
这听起来很疯狂吗?对我来说似乎是一个相当合理的方法...但也许有点像黑客...所以我欢迎任何更好的想法?
谢谢大家的帮助!
答案 0 :(得分:6)
实际上它不是,这是一种常见的方法 - 我已经看过很多次中央商店是通用白标的电子商务商店。
这很好,因为ASP.NET支持本地化,而不是你必须在每个darned请求中滚动自己的文本设置,从中修剪视图状态,管理缓存等。
不要忘记特定于文化的信息不必在资源文件it can come from a database too中。
答案 1 :(得分:2)
是的,这有点疯狂。但只是一点点。 ASP.NET只会自动支持本地化以及语言和语言环境。我建议你让它为那些不是任何客户特定的区域做到这一点。
对于特定于客户端的标签,我建议您结合使用用户控件和代码隐藏来从资源文件中选择正确的文本(如果您使用VS,则使用其内置支持如果您使用哪些属性的有限组合来选择特定于客户端的文本,则可能使用ASP.NET Cache(可能是@Cache指令)。
您的方法可能看起来不那么简单,但更有可能导致需要花费更多或更多时间进行调试的问题,以及在未来的.NET版本中面临兼容性的挑战。