如何在前端获得自定义本地化字符串?

时间:2017-05-13 17:54:20

标签: localization c1-cms

我在访问本地化时遇到问题,该值始终以默认语言显示。

我在App_GlobalResources中有两个资源文件:

  • Resource.resx包含一个名为" Hello"的字符串。和#34;世界"。

  • 的价值
  • Resource.fr.resx包含一个名为" Hello"的字符串。和#34; Monde"

  • 的价值

在我的Razor模板中:

<lang:string key="Resource, Resources.Resource.Hello" xmlns:lang="http://www.composite.net/ns/localization/1.0" />

&#34;世界&#34;即使用法语查看页面,也始终显示,永远不会出现#Mon;&#34;

在一个拥有相同资源的vanilla asp.net网站模板中,Razor模板中的以下代码显示&#34; Monde&#34;

String cultureInfo = "fr-CA";
System.Threading.Thread.CurrentThread.CurrentCulture = 
System.Globalization.CultureInfo.CreateSpecificCulture(cultureInfo);
System.Threading.Thread.CurrentThread.CurrentUICulture = new 
System.Globalization.CultureInfo(cultureInfo);
Response.Write(ObjectInfo.Print(Resources.Resource.Hello));

然而,在C1中,它会导致&#34; World&#34;。

我该怎么做呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

<lang:string构造主要用于XSLT模板和函数,在这些模板和函数中,您不能像Razor那样直接调用c#代码。

您是否尝试过像这样在Razor模板上打印资源@Resources.Resource.Hello