【发布时间】:2011-03-01 06:37:40
【问题描述】:
我有一个面向多个客户的网站。有时,客户会坚持进行细微的更改。由于我无法控制的原因,无论请求多么轻微,我都必须遵守。通常这不是问题,我只需创建用户控件或页面的客户端特定版本,并在构建期间覆盖默认版本或进行配置设置来处理它。
现在我正在对网站进行本地化,我很好奇进行细微措辞更改的最佳方法。
假设我有一个名为 Resources.resx 的资源文件,其中包含 300 个资源。它有一个名为Continue 的资源。英文值为“Continue”,法文值为“Continuez”。
现在一个客户,无论出于何种原因,都希望它说“下一步”和“Après”,而其他客户希望保持不变。满足此类请求的最佳方式是什么? (这只是一个简单的例子)。
我能想到的唯一两种方法是
- 创建另一个特定于客户端的 Resources.resx,并在构建时替换 .dll。由于我将完全替换 dll,因此新的资源文件必须包含所有 300 个字符串。明显的问题是我现在有 2 个资源文件,每个文件都有 300 个字符串要维护。
- 创建自定义用户控件/页面并将其更改为使用自定义资源文件。例如SignIn.ascx 将在构建期间被替换,它会从
ClientName.resx而不是Resources.resx中提取资源。
还有什么我可以尝试的吗?有什么方法可以改变它,以便应用程序在实际查看指定的资源文件之前始终在 ClientResources.resx 文件中查找被覆盖的值?
【问题讨论】:
标签: c# asp.net .net-3.5 localization resource-files