【发布时间】:2020-04-09 15:17:59
【问题描述】:
我在页面上使用带有用户控件的 Umbraco 7。我为法国(例如但许多其他国家/地区)构建了一些 resx 文件
在页面加载时我有以下代码
var cultureInfo = System.Globalization.CultureInfo.GetCultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;
我的模板默认设置为href lang="en"。文化和主机名设置为inherited,但我永远无法将文化设置为我想要的?
例子
我的网站结构是
site.com/parent/child
当用户到达包含控件的子页面时,我要翻译数据。
我想测试法国的数据。我在页面加载时执行上面的代码,该代码被硬编码为法国(我可以稍后将其更改为动态),仅用于测试。
目前我通过法国加载数据,它显示法国数据,因为它与 fr-FR 一起保存在数据库中。
我面临的问题是我的 resx 文件包含法语文本,并且从不显示在控件上。它以英文显示。
所以标签文本的标记代码类似于
<asp:label runat="server" id="lblSayHello" Text="<% Resources:Resource SayHello%>" />
所以我在页面加载时设置和硬编码语言,我希望看到 Bonjour,但我看到的是 hello(来自默认的 Resource.resx 文件)。 Bonjour 是我对不显示的 fr-FR resx 文件的文本。
我该怎么做?
【问题讨论】:
标签: c# asp.net umbraco umbraco7 cultureinfo