Я хочу изменить текст текстовой ссылки в зависимости от культуры. Сайт en-ca или fr-ca. Это преобразование визуализирует html-фрагменты для Accordion на основе Bootstraps collapse JS. На данный момент он работает, как и планировалось, и теперь я пытаюсь избежать еще одной трансформации французского языка.

Одна часть этого - показать расшифровку видео или аудио файла. Ярлык для этой ссылки должен быть Транскрипт или Транскрипция.

Мне удалось найти только эту ссылку (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>
0
Mark Handy 24 Фев 2016 в 20:53

3 ответа

Лучший ответ

Я вижу три ссылки в ваших трансформациях. Все имеют содержание <% # Eval ("Заголовок")%>.

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

Если ваш веб-сайт настроен на многоязычный, как описано по этой ссылке https: // docs.kentico.com/display/K9/Setting+up+multilingual+websites вам не нужно выполнять другое преобразование для перевода контента. Все, что вам нужно сделать, это поместить различный контент в поле «Заголовок» на вкладке «Форма» для каждой культуры страницы. И вы можете иметь разные ссылки на PDF-, аудио- или видеофайлы для каждой языковой версии.

Вот ссылка, объясняющая, как редактировать контент многоязычных веб-сайтов: 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") %> 
3
Zan RAKOTO 25 Фев 2016 в 03:11

Отметьте, используйте либо UI Culters, чтобы указать текст ссылки в разных культурах, и методы локализации, чтобы получить его значение, или просто макрос локализации, например:

{$=Hello|de-de=Hallo|it-it=Ciao$}
1
Roman Hutnyk 24 Фев 2016 в 20:41

Создайте строку ресурса с помощью приложения локализации. Затем используйте метод локализации в своей трансформации. Я считаю, что это <% # Localize (key)%>

0
Zach Perry 24 Фев 2016 в 21:16