Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 客户特定用语的自定义区域性?_Asp.net_Localization - Fatal编程技术网

Asp.net 客户特定用语的自定义区域性?

Asp.net 客户特定用语的自定义区域性?,asp.net,localization,Asp.net,Localization,正在寻找有关在asp.net站点上实现本地化的最佳方法以及将由多个客户端使用的特定于客户端的术语的建议 例如,表单上的标签必须根据登录到站点的客户端以及语言首选项的不同而有所不同 因此,每个客户机都会有一套默认的措辞/术语。。。然后,每个客户的用语/行话将被翻译成他们需要的语言 我在考虑为每个客户端创建一个自定义区域性,然后使用asp.net和资源文件中的“内置”本地化功能 所以我可能有一个默认的文化。。。然后是特定于客户的文化。。。然后将特定于客户的文化翻译成其他语言 恩美 德德 en-US-

正在寻找有关在asp.net站点上实现本地化的最佳方法以及将由多个客户端使用的特定于客户端的术语的建议

例如,表单上的标签必须根据登录到站点的客户端以及语言首选项的不同而有所不同

因此,每个客户机都会有一套默认的措辞/术语。。。然后,每个客户的用语/行话将被翻译成他们需要的语言

我在考虑为每个客户端创建一个自定义区域性,然后使用asp.net和资源文件中的“内置”本地化功能

所以我可能有一个默认的文化。。。然后是特定于客户的文化。。。然后将特定于客户的文化翻译成其他语言

恩美

德德

en-US-client1

en-US-client2

去客户1

去客户2

这听起来疯狂吗?对我来说似乎是一个相当合理的方法。。。但也可能有一点黑客。。。所以我欢迎任何更好的想法


谢谢大家的帮助

是的,有点疯狂。但只有一点点。ASP.NET将仅自动支持语言和语言环境的本地化。我建议您在非特定于任何客户的区域使用它

对于特定于客户端的标签,我建议您结合使用用户控件和代码隐藏,从资源文件中选择正确的文本(如果您使用的是VS,则使用其内置的资源管理支持),或者使用ASP.NET缓存(可能是@Cache指令)如果可以使用哪些属性的有限组合来选择特定于客户端的文本


您的方法看起来不像是手工操作,但更可能导致问题,需要花费同样或更多的时间进行调试,并且在.NET的未来版本中面临兼容性方面的挑战。

事实并非如此,这是一种常见的方法——我在电子商务商店中见过好几次,其中中央商店是通用的白色标签

这很好,因为ASP.NET支持tin之外的本地化,而不必在每个该死的请求中滚动您自己的文本设置,从中修剪viewstate,管理缓存等


别忘了特定于文化的信息不必存在于资源文件中。

只是好奇,你最终做了什么?我也在同一条船上,我很好奇这种方法是否会遇到任何问题(因为这似乎是最合乎逻辑的方法)。此外,您是否有任何示例/代码说明如何在页面中使用此功能?我很好奇ASP.net是如何处理用非标准名称加载正确的资源文件的。我完全按照上面描述的做了,效果非常好。我们甚至编写了自己的提供者,用数据库表替换资源文件,因为其中一个要求是最终用户必须能够通过屏幕更新翻译。msdn上有大量的文档。您是如何指定要“使用”的区域性的。我也希望这样做,并在Web.config中指定一个自定义区域性,但运气不好。我在这里发布了一个类似的问题: