Kentico ASPX 转型和获取当前文化
Kentico ASPX transformation and getting current culture
我想根据文化更改文本 link 的文本。该站点是 en-ca 或 fr-ca。此转换是基于 Bootstraps collapse JS 为 Accordion 渲染 html 片段。此时它按计划运行,现在我正在努力避免对法语进行另一次转换。
其中一部分是显示视频或音频文件的文字记录。 link 的标签应该是 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>
标记,使用 UI Culters 指定不同文化中的 link 文本,并使用 localization methods 获取其值,或者像这样简单地使用本地化宏:
{$=Hello|de-de=Hallo|it-it=Ciao$}
使用本地化应用程序创建资源字符串。然后在您的转换中使用 use localize 方法。我相信它是 <%# Localize(key) %>
我在您的转换中看到了三个 link。全部内容为 <%# Eval("Heading") %>.
<p><a href="<%# Eval(" WebinarPDF ") %>" target="_blank"><%# Eval("Heading") %></a></p>
如果您的网站配置为多语言,如本 link https://docs.kentico.com/display/K9/Setting+up+multilingual+websites 中所述,则无需进行不同的转换即可翻译内容。您所要做的就是在页面的每种文化的 "Heading" 字段、表单选项卡中放入不同的内容。您可以为每个语言版本设置不同的 link PDF、音频或视频文件。
这里有一个 link 解释如何编辑多语言网站的内容:https://docs.kentico.com/display/K9/Editing+the+content+of+multilingual+websites
如果您要翻译的文本不在页面内容(“表单”选项卡)中,您可以按照此处所述使用本地化应用程序 https://docs.kentico.com/display/K9/Working+with+resource+strings 并在转换中使用键,如下所示:
<%# CMS.Helpers.ResHelper.GetString("custom.transciption") %>
我想根据文化更改文本 link 的文本。该站点是 en-ca 或 fr-ca。此转换是基于 Bootstraps collapse JS 为 Accordion 渲染 html 片段。此时它按计划运行,现在我正在努力避免对法语进行另一次转换。
其中一部分是显示视频或音频文件的文字记录。 link 的标签应该是 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>
标记,使用 UI Culters 指定不同文化中的 link 文本,并使用 localization methods 获取其值,或者像这样简单地使用本地化宏:
{$=Hello|de-de=Hallo|it-it=Ciao$}
使用本地化应用程序创建资源字符串。然后在您的转换中使用 use localize 方法。我相信它是 <%# Localize(key) %>
我在您的转换中看到了三个 link。全部内容为 <%# Eval("Heading") %>.
<p><a href="<%# Eval(" WebinarPDF ") %>" target="_blank"><%# Eval("Heading") %></a></p>
如果您的网站配置为多语言,如本 link https://docs.kentico.com/display/K9/Setting+up+multilingual+websites 中所述,则无需进行不同的转换即可翻译内容。您所要做的就是在页面的每种文化的 "Heading" 字段、表单选项卡中放入不同的内容。您可以为每个语言版本设置不同的 link PDF、音频或视频文件。
这里有一个 link 解释如何编辑多语言网站的内容:https://docs.kentico.com/display/K9/Editing+the+content+of+multilingual+websites
如果您要翻译的文本不在页面内容(“表单”选项卡)中,您可以按照此处所述使用本地化应用程序 https://docs.kentico.com/display/K9/Working+with+resource+strings 并在转换中使用键,如下所示:
<%# CMS.Helpers.ResHelper.GetString("custom.transciption") %>