【发布时间】:2013-04-07 05:10:48
【问题描述】:
我一直在寻找类似问题的答案,但这些问题要么相当老,要么没有答案。
背景
我们有几个不同的网站共享相同的代码库,它们是分开托管的。所有网站都是英文的,但它们都有本地化的内容(例如英国、澳大利亚和新西兰)。本地化内容可能包括电子邮件地址、电话号码和不同的公司。
代码已硬编码以使用 lit_PhoneAU、lit_PhoneNZ 和 lit_PhoneUK 等本地化控件分隔内容。有代码可以根据位置配置隐藏和显示这些控件。
问题 编码的内容可以满足我们之前的需要,但它有其局限性并且不可扩展。
我们喜欢混合使用由数据库表填充的资源文件和对象属性。通过数据库调用加载一些常见的东西是相当直接的,但最好使用资源文件之类的东西来存储更具体和文字的东西。
问题 我对 C# 资源文件的理解是我们可以根据本地化设置切换资源文件,例如 en-AU、en-UK、fr-fr 等。但是,它们不符合我们的目的,因为我们可能在一个位置有多个站点。
有没有办法可以轻松地在资源文件之间切换?还是我误解了资源文件的使用?或者您有什么其他方法可以建议管理文字内容。
更新
我必须说得很清楚。我的问题不是关于切换 UiCulture,因为我们已经有代码来处理它。这是关于在同一文化中处理多个资源。例如,我们在英国的两个不同站点有相同的代码库。站点 A 是关于 A 部门的,它可能是 SiteA.co.uk,站点标题为 Company A,然后站点 B 是公司的另一个部门,站点可能是 siteB.co.uk。目前管理内容的效率非常低,因此我们试图将内容移动到资源文件或由数据库调用填充的业务对象中。
【问题讨论】:
-
经过一些相当广泛的研究,我发现这篇文章非常接近我的需要。 stackoverflow.com/questions/3402451/… 它表明有一种方法可以创建自定义文化。 msdn.microsoft.com/en-us/library/ms172469(v=vs.90).aspx。我仍然想听听是否有人有更好的答案
标签: c# localization embedded-resource