带有翻译文本的独立错误页面?

时间:2016-05-25 14:17:24

标签: c# asp.net translation country-codes

我正在开发一个将在国际上部署的网站。非常大的网站,但为了简单起见,我们所关心的是我的Error.aspx,后面有c#代码。我想让这个自定义错误页面尽可能动态。我们现在需要阅读至少一些语言,以及更多内容。此页面需要独立工作,无需数据库引用。

我想要一些文字,并根据适合该域名的语言显示相应的翻译...例如“.com”=英文,“。ca / fr”=法文,“。mx”=西班牙文......你明白了。

最好的方法是什么?

我已经研究过API了,但是那些不错的API有一个成本阈值,虽然看起来真有帮助,但这只是非常标准的错误消息文本,这不太可能改变,所以这似乎有点过于动态翻译。它可能有助于提高可扩展性,但它只是在我们添加另一种语言/国家/域名的少数情况下只能保存硬编码而无限期地获得额外收入。

我的另一个想法是简单地在c#中对其进行硬编码。解析Request.URL并获取域,并生成一个不断增长的switch语句,该语句将分配适当的文本。 (顺便说一句,我也试图找到一种更好的方法来做到这一点,但是国家代码是来自请求对象或服务器的可用信息吗?)这种方式是独立的,精确的,如果需要调整错误消息的内容,那么具体级别的唯一缺点是添加新语言的成本,或者更改每个字符串(可能不是那么多,至少在开始时)。但这感觉就像是不好的做法。

我一直在研究这一天,但我没有找到这两种选择的替代品。在不使用CMS的情况下,处理少量翻译文本的最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

有一种简单的内置方法可以处理ASP.NET Web窗体中的本地化。它使用客户端浏览器中的“语言首选项”设置来选择语言。发布设置步骤将是多余的,因为在线提供了大量关于此主题的信息。 Here is a good tutorial

编辑:
阅读HTML资源文件可能是个好主意。这是处理不同语言的HTML标准(称为本地化)。它是ASP.NET在后台为服务器控件创建本地资源时使用的。