Kentico ASPX转型并获得当前文化

时间:2016-02-24 17:53:12

标签: c# kentico

我想根据文化更改文本链接的文本。该网站是en-ca或fr-ca。这个转换为基于Bootstraps的Accordion渲染了html片段。此时它按计划运作,现在我试图避免法语的另一次转换。

其中一部分是显示视频或音频文件的副本。该链接的标签应为Transcript或Transciption。

我只能找到此引用(http://devnet.kentico.com/questions/how-to-get-the-culture-of-the-current-page-document),但我不确定如何处理。

这是我的全面转型



<script runat="server">
  protected string GetID()
    {      
      Control parent = this;      
      while ( (!(parent is CMSWebParts_Viewers_Documents_cmsrepeater)) && 
             (parent != null))
      {
        parent = parent.Parent;
      }      
      return (parent as CMSWebParts_Viewers_Documents_cmsrepeater).WebPartID;
    }
</script>

<div class="panel panel-default">
  <div class="panel-heading">
    <h4 class="panel-title">
      <a href="#accordionPanel<%# DataItemIndex + 1 %>" class="panel-title-link collapsed" data-toggle="collapse" data-parent="#<%# GetID() %>"><span class="count"><%# DataItemIndex + 1 %>.</span><span class="title"><%# Eval("Heading") %></span></a>
    </h4>
  </div>
  <div id="accordionPanel<%# DataItemIndex + 1 %>" class="panel-collaspe collapse" role="tabpanel" aria-labeledby="panel<%# DataItemIndex + 1 %>">
    <div class="panel-body">
      <div class="row">
        <asp:PlaceHolder runat="server" id="webinarVideo" visible='<%# IfEmpty(Eval("WebinarVideo"), false, true) %>'>
          <div class="col-xs-12 col-md-4 col-md-push-8 synopsis">
            <section class="webinarSynopsis">
              <h1><%# Eval("Heading") %></h1>
              <p><%# Eval("WebinarSynopsis") %></p>
              <p><%# FormatDateTime(Eval("WebinarDate"),"dddd, MMMM d, yyyy") %></p>
              <p><a href="<%# Eval(" WebinarPDF ") %>" target="_blank"><%# Eval("Heading") %></a></p>
            </section>
          </div>
          <div class="col-xs-12 col-md-8 col-md-pull-4 video">
            <video controls>
              <source src="<%# Eval(" WebinarVideo ") %>" type='video/mp4'>
            </video>
          </div>
        </asp:PlaceHolder>
        <asp:PlaceHolder runat="server" id="webinarAudio" visible='<%# IfEmpty(Eval("WebinarAudio"), false, true) %>'>
          <div class="col-xs-12  audio">
            <section class="webinarSynopsis">
              <!-- <h1><%# Eval("Heading") %></h1> -->
              <p><%# Eval("WebinarSynopsis") %></p>
              <audio controls>
                <source src="<%# Eval(" WebinarAudio ") %>" type="audio/mpeg">
              </audio>
              <p><%# FormatDateTime(Eval("WebinarDate"),"dddd, MMMM d, yyyy") %></p>
              <p><a href="<%# Eval(" WebinarPDF ") %>" target="_blank"><%# Eval("Heading") %></a></p>
            </section>
          </div>
        </asp:PlaceHolder>
      </div>
    </div>
  </div>  
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

我在你的转换中看到了三个链接。所有内容均为&lt;%#Eval(&#34; Heading&#34;)%&gt;。

<p><a href="<%# Eval(" WebinarPDF ") %>" target="_blank"><%# Eval("Heading") %></a></p>

如果您的网站配置为多语言,如此链接https://docs.kentico.com/display/K9/Setting+up+multilingual+websites中所述,您不需要进行其他转换即可翻译内容。您所要做的就是将不同的内容放入&#34; Heading&#34;页面的每种文化的字段,表单选项卡。并且您可以为每种语言版本提供PDF,音频或视频文件的不同链接。

以下链接介绍了如何修改多语言网站的内容:https://docs.kentico.com/display/K9/Editing+the+content+of+multilingual+websites

如果要翻译的文本不在页面内容(“表单”选项卡)中,则可以使用此处所述的“本地化”应用程序https://docs.kentico.com/display/K9/Working+with+resource+strings,并使用转换中的键,如下所示:

{{ 2}}

答案 1 :(得分:1)

标记,使用UI Culters指定不同文化中的链接文本,使用localization methods来获取其价值,或者只使用本地化宏:

{$=Hello|de-de=Hallo|it-it=Ciao$}

答案 2 :(得分:0)

使用本地化应用程序创建资源字符串。然后在转换中使用localize方法。我相信它是&lt;%#Localize(key)%&gt;