2014-01-08 2 views

ответ

0

К сожалению, API не является переводчиком. Все, что вы можете сделать, это создать отдельный webresource для каждого языка, который вы хотите поддержать, и показать webresource на основе языка текущего пользователя.

0

К сожалению, нет функциональности OOB, но это не так сложно, как кажется в JS.

Все, что вам нужно - это контейнер с вашими ярлыками, CRM может рассказать вам язык пользователя. Сценарий будет выглядеть следующим образом (взятый прямо из рабочего проекта, который использует также JQuery ... если нет, то просто добавьте его как webresource и включить в HTML-страницы):

(function (pageCode, $, undefined) { 

    var labels = { 
     1033: { 
      element1: 'english label for element1', 
      element2: 'eng label for element2' 
     }, 
     1040: { 
      element1: 'italian label for element1', 
      element2: 'italian label for element2' 
     }, 
     xxxx: { 
      element1: 'xxxx language label for element1', 
      element2: 'xxxx language label for element2' 
     } 
    } 
    pageCode.performTranslation = function() { 
     var langCode = Xrm.Page.context.getUserLcid(); 

     if (typeof (locLabels[langCode]) == 'undefined') { 
      // You don't have labels for this language... let's go English 
      langCode = 1033; 
     } 

     for (var ctrlName in locLabels[langCode]) { 
      $('#' + ctrlName).text(locLabels[langCode][ctrlName]); 
     } 
    } 
}(window.pageCode = window.pageQuote || {}, jQuery)); 

$(function(){ 
    pageCode.performTranslation(); 
}); 

You» должны будете включать ClientGlobalContext.js.aspx в вашем веб-ресурсе, чтобы вы имели доступ к Xrm, и изменить то, что ваш HTML код выглядит таким образом:

Если ваш HTML теперь

<label>This is a label</label> 
<label>This is another label</label> 

вы должны дать в id к все транс веден элементы, а код должен стать

<label id="element1"></label> 
<label id="element2"></label> 

Обратите внимание, что вам больше не нужно заполнить текст в HTML (JS будет заботиться о нем!).

Смежные вопросы