Как использовать значения из Resource файлов в JavaScript

Если вы разрабатывали проекты под SharePoint 2010\2013, то вы наверняка использовали для локализации Resource (.resx). Это очень здорово и замечательно, но когда начинается этап проекта, когда надо писать клиентские скрипты. А у вас много переводов в resx файлах.
Выход есть! И он достаточно прост.
И речь пойдет о ScriptResx.ashx. 

Пример получения ресурса:

Sharepoint 2010: /_layouts/ScriptResx.ashx?culture=en-US&name={Название ресурса}
Sharepoint 2013: /_layouts/15/ScriptResx.ashx?culture=en-US&name={Название ресурса}

И сам вызов я привязал скрипт в AdditionalPageHead используя Листинг 1:




<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Control Id="AdditionalPageHead"

         Sequence="1010"

         ControlSrc="/_controltemplates/15/FileStorageSystemDocumentation/{Название контрола}.ascx" />

  

</Elements>






Листинг 1 - Создание и публикация контрола в котором в Page_Load есть скрипт линк изображенный в Листинге 2.



this.Controls.Add(new ScriptLink()
            {
                Name = "/_layouts/15/ScriptResx.ashx?culture=" + SPContext.Current.Web.Locale+
"&name={Название ресурса}",
                Language = "javascript",
                Localizable = false
            });


Листинг 2 - Скрипт линк на получения ресур файла


В итоге если у нас получилось опубликовать. И мы можем это проверить в консоле браузера F12 (Chrom, IE, FF). Если правильно все опубликовали у нас на странице появляется следующий класс Res.


Более интересное на моем персональном сайте: techbuzzz.me

Комментарии

Популярные сообщения из этого блога

Полезности под рукой: Приятные SharePoint уведомления для пользователя

Полезности под рукой: Отправка писем при помощи REST API в SharePoint 2013