从资源文件链接到资源

时间:2012-02-09 15:59:25

标签: asp.net localization

我有一个全局资源文件:ContactDetails.resx。这里是网站上使用的地址和联系信息。

我还有一个列出所有联系方式的联系页面,但会根据语言进行更改。因此,在英国网站上,英国联系方式显示在顶部,而在法国网站上,法语详细信息将显示在顶部。

是否有办法嵌套资源,从不同资源的值中引用资源值?

1 个答案:

答案 0 :(得分:0)

如果您的法语资源文件中不存在资源值,但默认资源文件中存在该资源值,系统将自动从默认资源文件中获取该值。

因此,如果您的本地化设置为fr,并且您的通话类似于:

Resources.ContactDetails.Telephone

ContactDetails.fr.resx中的电话不存在,那么它将从ContactDetails.resx

获取电话号码

如果要在页面上显示所有值,但是根据本地化的不同顺序,我建议不要将这些值存储在资源文件中。资源文件变体用于语言更改,而不是更改数据布局。

相反,我建议将这些存储在数据库中,并在页面上有3个文字控件,如:

<asp:literal id="ltl1stTelephone" runat="server" />
<asp:literal id="ltl2ndTelephone" runat="server" />
<asp:literal id="ltl3rdTelephone" runat="server" />

然后根据本地化,指定应为每个控件分配哪些值。

if (System.Threading.Thread.CurrentThread.CurrentUICulture = "fr"){
   .........
}