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

Stand-alone Error Page with translated text?

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

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

最好的方法是什么?

我研究过 API 的,但体面的有成本门槛,虽然它可能看起来很有用,但这只是非常标准的错误消息文本,不太可能改变,所以拥有动态翻译器似乎有些矫枉过正。它可能有助于可扩展性,但它是无限期的额外金钱,因为它只会在我们添加另一个 language/country/domain.

的少数情况下节省硬编码。

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

我已经研究了一天了,但我还没有找到这两个选项的替代方案。在不使用 CMS 的情况下处理少量翻译文本的最佳做法是什么?

在 ASP.NET Web 表单中有一种简单的内置方法来处理本地化。它使用客户端浏览器中的语言首选项设置 select 语言。发布设置步骤是多余的,因为网上有很多关于这个主题的信息。 Here is a good tutorial.

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