Поделиться через


Локализация надстроек SharePoint

Примечание.

В этой статье предполагается, что вы знакомы с основами создания надстроек SharePoint, компонентами SharePoint, типами компонентов SharePoint, которые можно размещать в надстройке, и основами локализации с помощью RESX-файлов, а также знаете разницу между сайтами надстроек и хост-сайтами.

Подготовка к локализации надстройки SharePoint

Прежде чем начать работу, определите указанные ниже моменты.

  • Языковые стандарты, которые должна поддерживать надстройка. SharePoint Online и локальная среда SharePoint с установленными языковыми пакетами дают пользователям возможность создавать веб-сайты на определенном языке. Определите, какие локализованные веб-сайты будут использоваться и для каких из них необходимо локализовать компоненты надстройки.

  • Компоненты, которые необходимо локализовать в надстройке.

Кроме того, обратите внимание на указанные ниже моменты.

Локализация компонентов сайта надстройки

Сайт надстройки может содержать определенные типы компонентов SharePoint. Дополнительные сведения о типах компонентов SharePoint, которые можно использовать в надстройке SharePoint, см. в статье Типы компонентов SharePoint, которые можно включать в надстройки SharePoint. Чтобы локализовать компоненты, развернутые на сайте надстройки, добавьте RESX-файлы в модули в компоненте, который содержит компонент сайта надстройки. Добавьте ссылки на ресурсы в разметку компонента. Ниже описано, как это сделать. Для пользовательских страниц сайта в надстройке SharePoint используются файлы строковых переменных JavaScript, а не RESX-файлы, как описано ниже в этом разделе.

Примечание.

Файлы ресурсов не предназначены для использования несколькими компонентами сайта надстройки. Для каждого компонента в WSP-файле вам придется создавать отдельные наборы файлов ресурсов.

Создание файлов ресурсов для сайта надстройки

  1. Откройте проект надстройки SharePoint в Visual Studio. Пример, из которого взяты снимки экрана в этом разделе, представляет из себя размещенную у поставщика надстройку с веб-формами ASP.NET в качестве удаленного веб-приложения, входящего в проект.

  2. В обозревателе решений откройте контекстное меню для имени компонента и выберите пункт Добавить ресурс компонента.

  3. В диалоговом окне Добавление ресурса выберите пункт Инвариантный язык (Инвариантная страна), а затем нажмите кнопку ОК. Файл Resources.resx будет добавлен в папку компонента в обозревателе решений и открыт в редакторе ресурсов в Visual Studio.

    При редактировании этот файл "инвариантного языка" содержит строки, которые используются в коллекции Компоненты на всех сайтах, созданных на языках, для которых вы не планируете использовать локализованные версии строк. Таким образом, в качестве языка, используемого для строк в этом файле, следует применить язык, который с большой вероятностью будет вторым языком для людей, использующих SharePoint. Обычно для этой цели используют английский язык, но в некоторых случаях, возможно, более оптимальным будет другой язык. Например, в некоторых регионах французский язык может быть более распространен в качестве второго языка для пользователей, чем английский. В примере, который использован во всей этой статье, в качестве инвариантного языка применяется английский язык.

    Примечание.

    Надстройку SharePoint не удастся установить на веб-сайте, языка которого нет в списке в разделе Supported Locales (Поддерживаемые языковые стандарты) в манифесте надстройки. Несмотря на то что в этой статье рассматриваются языки, для которых вы не планируете выполнять локализацию надстройки, вам все равно нужно будет добавить эти языки в манифест надстройки. Дополнительные сведения о языковых стандартах, поддерживаемых в манифесте надстройки, см. в описании процедуры Создание файлов ресурсов для хост-сайта далее в этой статье.

  4. В столбце Имя верхней строки в редакторе ресурсов введите описательное имя строки (или другого ресурса), например OrdersListInstance_Title и OrdersListInstance_Description. Эти имена ресурсов, поддерживающих локализацию, не локализованы. У каждого ресурса должно быть свое имя.

  5. В столбце Значение введите на инвариантном языке соответствующую строку (либо URL-адрес или другой ресурс, например Orders) и список для хранения заказов.

  6. Добавьте дополнительные пары имен и значений для всех строк и ресурсов, которые требуется локализовать в каких-либо компонентах.

  7. Сохраните файл.

  8. Добавьте еще один файл ресурсов в компонент, как вы сделали до этого, но выберите определенный язык вместо значения Инвариантный язык (Инвариантная страна). Например, можно выбрать значение испанский (Испания). Ресурсы. Файл LL-CC.resx (где LL и CC являются совместимыми с Internet Engineering Task Force (IETF) языком и кодами языка и языка и региональных параметров) добавляется в папку компонента в Обозреватель решений, а файл открывается в редакторе ресурсов Visual Studio.

  9. С помощью редактора ресурсов скопируйте все строки из файла Resources.resx и вставьте их в новый файл Resources.LL-CC.resx. (Если команда Копировать неактивна в контекстном меню редактора ресурсов, скопируйте строки в буфер обмена с помощью клавиш CTRL+C.)

  10. В файле Resources.LL-CC.resx замените содержимое ячеек Значение переведенными строковыми значениями. Для URL-адресов и прочих нестроковых ресурсов замените это значение новым значением, соответствующим языку и региональным параметрам.

  11. Сохраните новый файл.

  12. Повторите последние четыре действия для каждого иностранного языка.

    Примечание.

    Рекомендуем добавить языковой файл для того языка, который используется в качестве инвариантного. В этом случае строки можно скопировать, не изменяя значения строк. Во многих ситуациях наличие языкового файла для языка, который используется в файле ресурсов как инвариантный, не требуется, особенно когда единственными ресурсами в файлах являются строки. Но файлы ресурсов могут также содержать изображения, значки, файлы и другие типы ресурсов. Иногда необходимо, чтобы файл ресурсов для инвариантного языка использовал изображение или другой ресурс, который отличается от соответствующего ресурса в любом из языковых файлов.

  13. Убедитесь, что свойство Действие при построении для каждого файла имеет значение Контент.

Вызов локализованных ресурсов в настраиваемых списках

  1. Чтобы локализовать свойства названия и описания в настраиваемом списке, откройте файл Elements.xml экземпляра списка. Например, при работе с примером, описанным в этой статье, в обозревателе решений выберите BookstoreApp>Order Status>OrderStatusInstance>Elements.xml.

  2. В атрибуте Title введите $Resources:StringName, где StringName — это имя (а не значение), которое вы присвоили строке, задающей название настраиваемого списка, в предыдущей процедуре. Пример: $Resources:OrdersListInstance_Title. Обратите внимание: в отличие от некоторых ситуаций, в которых используются RESX-файлы, имя файла ресурсов не является частью того, что вы вводите.

  3. Для вызова строкового ресурса описания списка аналогичным образом используйте атрибут Description. Пример: $Resources:OrdersListInstance_Description. Ниже показана разметка, в которой используются локализованные строки в файле Elements.xml экземпляра списка.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
        <ListInstance 
            Title="$Resources:OrdersListInstance_Title" 
            OnQuickLaunch="TRUE" 
            TemplateType="10000" 
            Url="Lists/Orders" 
            Description="$Resources:OrdersListInstance_Description">
        </ListInstance>
    </Elements>
    

На изображении ниже показан локализованный настраиваемый список на английском языке.

Локализованный настраиваемый список

Локализованный настраиваемый список

Локализация имен столбцов настраиваемого списка

  1. Вам не удастся локализовать названия столбцов настраиваемого списка таким же образом, каким вы выполняете локализацию названия и описания. Чтобы локализовать названия столбцов, вам необходимо объявить поля списка в файле Elements.xml, а затем задать значение атрибута DisplayName со ссылками в файле ресурсов сайта надстройки. Для начала откройте файл Schema.xml настраиваемого списка. Найдите узел Fields (Поля) и скопируйте все узлы Field (Поле) в нем.

  2. Откройте файл Elements.xml настраиваемого списка. Убедитесь, что открываете файл Elements.xml определения списка, а не экземпляра списка. Вставьте узлы, упомянутые на предыдущем этапе, как дочерние для узла Elements (Элементы).

  3. Для каждого узла Field (Поле) введите значение $Resources:StringName в атрибуте DisplayName, где StringName — имя записи в файле ресурсов сайта надстройки.

  4. В файле Schema.xml настраиваемого списка удалите атрибут DisplayName каждого ранее скопированного узла Field. Ниже приведен пример разметки, которая использует локализованные строки в файле Elements.xml определения списка.

    <?xml version="1.0" encoding="utf-8"?>
        <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
            <ListTemplate
                Name="Orders"
                Type="10000"
                BaseType="0"
                OnQuickLaunch="TRUE"
                SecurityBits="11"
                Sequence="410"
                DisplayName="Orders"
                Description="My List Definition"
                Image="/_layouts/15/images/itgen.png"/>
            <Field
                Name="Bookname"
                ID="{2ef60a05-29b6-41db-9611-c0cf7d8e73c5}"
                DisplayName="$Resources:OrdersListColumn_Bookname"
                Type="Text"
                Required="TRUE" />
            <Field
                Name="Price"
                ID="{7af42815-d69e-426a-a1c8-9da5610e362c}"
                DisplayName="$Resources:OrdersListColumn_Price"
                Type="Currency"
                Required="FALSE" />
            <Field
                Name="Orderstatus"
                ID="{687ee751-2e0a-4099-966e-d2c225d48234}"
                DisplayName="$Resources:OrdersListColumn_Orderstatus"
                Type="Lookup"
                Required="FALSE"
                List="Lists/Order status"
                ShowField="Title" />
        </Elements>
    

Создание файлов ресурсов JavaScript для настраиваемых страниц

  1. В страницах настраиваемого сайта надстройки SharePoint используются файлы строковых переменных JavaScript, а не RESX-файлы.

    Для начала в обозревателе решений добавьте папку с именем Scripts (Скрипты) в проект надстройки SharePoint (не в проект веб-приложения), если этой папки еще нет. Щелкните правой кнопкой мыши папку Scripts (Скрипты), а затем выберите Добавить>Новый элемент>Интернет>Файл JavaScript. Присвойте файлу имя Resources.LL-CC.js (где LL — код языка, а CC — код страны или региона). Пример: Resources.en-US.js.

  2. Повторите предыдущее действие для всех остальных иностранных языков. Теперь у вас должны быть пустые файлы JavaScript для всех языков. Не создавайте файл инвариантного языка с именем "Resources.js". Причина будет разъяснена в следующей процедуре.

  3. Откройте первый из новых файлов JavaScript.

  4. Для каждой строки, поддерживающей локализацию на каждой настраиваемой странице, объявите переменную в файле с именем, которое идентифицирует назначение строки, и присвойте ей значение, соответствующее языку. Ниже показано содержимое файла Resources.en-US.js.

        var instructionstitle = "Instructions:";
        var step01 = "Go to any document library in the host web.";
        var step02 = "Go to the Library tab.";
        var step03 = "Click \"Request a book\" in the Settings group.";
        var step04 = "Click the contextual menu in any document.";
        var step05 = "Click \"Buy this book\" in the contextual menu.";
        var step06 = "Go to any SharePoint page in the host web and add the" + " Bookstore orders add-in part.";
        var step07 = "Review the localized <a href=\"../Lists/Orders\">Orders</a>" + " and <a href=\"../Lists/Order status\">Order status</a> custom lists.";
    
  5. Скопируйте содержимое этого файла во все остальные файлы JavaScript и сохраните все файлы.

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

Вызов локализованных переменных в настраиваемых страницах ASPX

  1. В обозревателе решений откройте файл настраиваемой страницы ASPX.

  2. Убедитесь, что при загрузке страницы загружается только один из локализованных файлов JavaScript, и это должен быть файл, который соответствует языку сайта надстройки SharePoint. Чтобы сделать это, добавьте показанную ниже разметку в элемент asp:content страницы, у которой имеется идентификатор ContentPlaceholderId со значением PlaceholderAdditionalPageHead. В следующей разметке нет заполнителей. Введите разметку точно так, как она отображается здесь.

        <script type="text/javascript" src="../scripts/Resources.<SharePoint:EncodedLiteral runat='server' text='<%$Resources:wss,language_value%>' EncodeMethod='HtmlEncode' />.js"></script>
    

    Эта разметка загружает один из ваших файлов JavaScript. Она определяет, какой файл языка необходимо загрузить, считывая ресурс SharePoint c именем language_value. Этот ресурс сопоставляется с именем языка и региональных параметров в шаблоне LL-CC, который был описан в одной из процедур выше. В частности, он сопоставляется с языком сайта надстройки.

    Примечание.

    Ресурс SharePoint language_value никогда не принимает значение NULL, поэтому этот скрипт никогда не вызывает файл с именем Resources.js. Именно поэтому вы не создали его в предыдущей процедуре. Когда значение параметра language_value представляет собой язык, для которого нет JS-файла, скрипт ничего не загружает. В описанных ниже действиях рассказывается, как строки получают значение инвариантного языка в этой ситуации.

  3. Для каждого элемента и значения атрибутов, поддерживающих локализацию, на странице задайте значение, используемое по умолчанию, на инвариантном языке, но затем с помощью JavaScript назначьте ему соответствующую переменную из файла Resources.LL-CC.js. Например, если на странице имеется заголовок в элементе h2, присвойте элементу атрибут id, а затем вставьте элемент script под локализованными элементами, чтобы назначить локализованные строки свойству innerText локализованных элементов. Этот код локализации следует выполнять, только если загружен файл Resources.LL-CC.js, и в нем объявлены переменные. Поэтому поместите его в блок условия, в котором сначала проверяется, определена ли одна из переменных. Если переменная не определена, не будет загружен ни один скрипт ресурса, а значения, используемые по умолчанию (инвариантные значения), должны остаться неизменными. Ниже приведен пример.

    Совет

    В первую инвариантную строку добавлено слово INVARIANT (Инвариантный). Этого не нужно делать в рабочей надстройке, но при тестировании так вы сможете увидеть, где используются строки для инвариантного языка и загружен ли файл Resources.LL-CC.js для инвариантного языка.

    <h2 id="instructionsheading">INVARIANT Instructions</h2>
        <ol>
            <li id="step01">Go to any document library in the host web.</li>
            <li id="step02">Go to the Library tab.</li>
            <li id="step03">Click "Request a book" in the Settings group.</li>
            <li id="step04">Click the contextual menu in any document.</li>
            <li id="step05">Click "Buy this book" in the contextual menu.</li>
            <li id="step06">Go to any SharePoint page in the host web and add the Bookstore orders add-in part.</li>
            <li id="step07">Review the localized <a href="../Lists/Orders">Orders</a> and <a href="../Lists/Order status">Order status</a> custom lists.</li>
        </ol>

    <!-- Use the localized strings in the resource JavaScript file -->
        <script type="text/javascript">
            window.onload = function () {
                <!-- Test whether a Resources.LL-CC.js loaded.
                    If none was, the invariant values remain unchanged. -->
                if (typeof instructionstitle != 'undefined')  
                {
                    document.getElementById("instructionsheading").innerText = instructionstitle;
                    document.getElementById("step01").innerText = step01;
                    document.getElementById("step02").innerText = step02;
                    document.getElementById("step03").innerText = step03;
                    document.getElementById("step04").innerText = step04;
                    document.getElementById("step05").innerText = step05;
                    document.getElementById("step06").innerText = step06;
                    document.getElementById("step07").innerHTML = step07;
                }
            }
        </script>

На рисунке ниже показано, как будет выглядеть английская версия страницы после создания надстройки.

Веб-страница, использующая локализованные строки из файла ресурсов JavaScript

Страница SharePoint, использующая локализованные строки

Локализация компонентов хост-сайта

Вы можете локализовать название надстройки, указанное в файле AppManifest.xml. Это название отображается для пользователей на странице Ваши надстройки. Хост-сайт для надстройки SharePoint также включает дополнительное действие, веб-часть надстройки либо и то, и другое. Они развернуты в компоненте хост-сайта. У обоих этих компонентов могут быть строки, поддерживающие локализацию.

Основной способ локализации компонентов хост-сайта такой же, что и для локализации компонентов сайта надстройки: локализованные ресурсы перечисляются в RESX-файле и вызываются из файлов разметки. Однако Visual Studio не имеет такого объема инструментальной поддержки этого процесса, который применяется для компонентов хост-сайта. Для этого использует выполняемый вручную процесс, который описан ниже в данном разделе.

Создание файлов ресурсов для хост-сайта

  1. Выберите файл AppManifest.xml в обозревателе решений, чтобы открыть конструктор манифеста надстройки.

  2. Откройте вкладку Поддерживаемые языки.

  3. В верхней пустой ячейке столбца Языковые стандарты откройте раскрывающийся список и выберите первый языковой стандарт, который необходимо поддерживать. В проекте надстройки SharePoint создаются и добавляются два файла: Resources.resx, который представляет собой файл ресурса инвариантного языка, и Resources.LL-CC.resx, который содержит локализованные ресурсы. Не изменяйте названия этих файлов.

  4. Повторите предыдущее действие для каждого языкового стандарта, который необходимо поддерживать в локализованной версии надстройки. Для каждого языкового стандарта создается дополнительный файл Resources.LL-CC.resx.

    Примечание.

    Для свойства Build Action (Действие построения) каждого из этих файлов задано значение Content (Контент), а не Resource (Ресурс). Не изменяйте этот параметр.

  5. Кроме того, добавьте записи языковых стандартов для каждого языкового стандарта, в котором должна поддерживаться установка надстройки, но для которого используется инвариантный язык. Это должны быть языковые стандарты, для которых не будет локализованной версии надстройки. Удалите RESX-файлы, созданные для этих языковых стандартов.

  6. Откройте файл Resources.resx и добавьте в него имена ресурсов и значения точно так же, как для файлов ресурсов сайта надстройки. У вас должен быть по крайней мере ресурс для названия надстройки. Компонент хост-сайта не отображается в пользовательском интерфейсе SharePoint, поэтому для него не нужны локализованные строки названия или описания. Если в компоненте есть дополнительное действие, вам потребуется ресурс для атрибута Title элемента CustomAction и, возможно, другие строки в разметке дополнительного действия. Если имеется веб-часть надстройки, вам потребуются ресурсы для атрибутов Title и Description элемента ClientWebPart. Если в веб-части надстройки есть пользовательские свойства, то у каждого свойства имеются атрибуты, которые также необходимо локализовать. Для каждого из них вам потребуется строка в файле ресурсов.

  7. Скопируйте содержимое файла Resources.resx в каждый файл Resources.LL-CC.resx.

  8. Локализуйте все ресурсы во всех файлах Resources.LL-CC.resx так же, как для файлов ресурсов сайта надстройки.

Вызов локализованных ресурсов в манифесте надстройки и других XML-файлах

  1. Откройте файл AppManifest.xml и замените значение элемента Title вызовом соответствующей строки ресурса. Например, если строка получила имя Addin_Title, элемент Title должен выглядеть следующим образом:

        <Title>$Resources:Addin_Title;</Title>
    

    Предупреждение

    Значение Title может содержать в себе только вызов ресурса. В нем не может находиться никакой другой текст, символы или пробелы.

  2. Чтобы вызвать локализованные ресурсы в других файлах XML, таких как Elements.xml для веб-частей надстроек и дополнительных действий, вы можете использовать тот же формат, который вы использовали в файле манифеста надстройки.

Локализация удаленных компонентов в надстройке SharePoint

Если удаленные компоненты имеют формат PHP или другие форматы, разработанные не корпорацией Майкрософт, см. рекомендации по локализации для соответствующей платформы. Если удаленные компоненты имеют формат ASP.NET, их можно локализовать как любое другое приложение ASP.NET. Дополнительные сведения см. в статье Глобализация и локализация ASP.NET.

Переопределите язык страницы и потока, чтобы он соответствовал языку хост-сайта. Для этого необходимо переопределить унаследованный метод InitializeCulture в коде программной части страниц ASP.NET. Чтобы определить язык хост-сайта, используйте параметр запроса SPLanguage, который SharePoint передает на удаленную страницу. Приведенный ниже код показывает, как сделать это в ASP.NET. Следует выполнить параллельные задачи в веб-приложении PHP или на другой платформе.

    protected override void InitializeCulture()
    {
        if (Request.QueryString["SPLanguage"] != null)
        {
            string selectedLanguage = Request.QueryString["SPLanguage"];
            
            // Override the page language.
            UICulture = selectedLanguage;
            Culture = selectedLanguage;

            // Reset the thread language.
            Thread.CurrentThread.CurrentCulture =
                CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new
                CultureInfo(selectedLanguage);
        }
        base.InitializeCulture();
    }

Локализация удаленных ресурсов JavaScript и элемента управления хрома SharePoint

Если в коде JavaScript веб-приложения есть строковые значения, поддерживающие локализацию, вы можете локализовать их с помощью файла ресурсов JavaScript. Особенно важный пример кода JavaScript, поддерживающего локализацию, — элемент управления хрома SharePoint, который можно использовать для оформления удаленных страниц в стиле страниц SharePoint. В этом разделе в качестве примера мы будем использовать локализацию элемента управления хрома.

Примечание.

В этом разделе рассказывается только о локализации строк. Если требуется выполнить более сложные задачи локализации (например, локализовать даты или денежные единицы), возможно, следует воспользоваться библиотекой локализации или глобализации, такой как надстройка Globalize для jQuery.

Локализация элемента управления хрома

  1. После того как элемент управления хрома заработает, вернитесь к методу renderChrome, в котором заданы параметры этого элемента.

        function renderChrome() {
            var options = {
                "appIconUrl": "siteicon.png",
                "appTitle": "My SharePoint add-in", // Localizable string
                "appHelpPageUrl": "Help.html?"
                    + document.URL.split("?")[1],
                "onCssLoaded": "chromeLoaded()",
                "settingsLinks": [
                    {
                        "linkUrl": "Account.html?"
                            + document.URL.split("?")[1],
                        "displayName": "Account settings" // Localizable string
                    },
                    {
                        "linkUrl": "Contact.html?"
                            + document.URL.split("?")[1],
                        "displayName": "Contact us" // Localizable string
                    }
                ]
            };
    

  2. Как указывалось в примечаниях, имеется по крайней мере три локализуемых строки. Замените каждую из них именем переменной, которое будет объявлено позже.

        function renderChrome() {
            var options = {
                "appIconUrl": "siteicon.png",
                "appTitle": chromeAppTitle, // Localized value
                "appHelpPageUrl": "Help.html?"
                    + document.URL.split("?")[1],
                "onCssLoaded": "chromeLoaded()",
                "settingsLinks": [
                    {
                        "linkUrl": "Account.html?"
                            + document.URL.split("?")[1],
                        "displayName": chromeAccountLinkName // Localized value
                    },
                    {
                        "linkUrl": "Contact.html?"
                            + document.URL.split("?")[1],
                        "displayName": chromeContactUsLinkName // Localized value
                    }
                ]
            };
    

  3. Добавьте файл JavaScript с именем ChromeStrings.js в проект веб-приложения. В нем необходимо объявить переменные, использованные на предыдущем шаге, и назначить каждой из них значение на инвариантном языке.

    var chromeAppTitle = "My SharePoint add-in";
    var chromeAccountLinkName = "Account settings";
    var chromeContactUsLinkName = "Contact us";
    
    
  4. Для каждого языка локализации надстройки добавьте еще один файл JavaScript с именем ChromeStrings.LL-CC.js, где LL-CC — идентификатор языка. Основа имени файла (здесь применяется ChromeStrings) должна в точности совпадать с основой, которую вы использовали для файла инвариантного языка. Скопируйте содержимое файла инвариантного языка в каждый локализованный файл и замените значения переведенными версиями.

    var chromeAppTitle = "Mi aplicación SharePoint";
    var chromeAccountLinkName = "Preferencias";
    var chromeContactUsLinkName = "Contacto";
    
    
  5. В любом файле страницы, содержащем вызов скрипта SP.UI.controls.js, добавьте вызов файла ChromeStrings.js над этим скриптом. Например, если вызов скрипта SP.UI.controls.js загружается в промежуточный файл с именем ChromeLoader.js, разметка на странице на данном этапе должна выглядеть, как показано ниже.

    <Scripts>
        <asp:ScriptReference Path="Scripts/ChromeStrings.js" />
        <asp:ScriptReference Path="Scripts/ChromeLoader.js" />
    </Scripts>
    
  6. Добавьте атрибут ResourceUICultures в элемент ScriptReference, вызывающий ваши строки. Его значением является список поддерживаемых языков с разделителями-запятыми.

    <Scripts>
        <asp:ScriptReference Path="Scripts/ChromeStrings.js" ResourceUICultures="en-US,es-ES" />
        <asp:ScriptReference Path="Scripts/ChromeLoader.js" />
    </Scripts>
    

    Действие атрибута ResourceUICultures заключается в том, что ASP.NET ищет файл с именем ChromeStrings.LL-CC.js (где LL-CC — язык страницы) и загружает его. Если он не находит такой файл, он загружает файл ChromeStrings.js.

Тестирование локализованной надстройки SharePoint

Протестируйте надстройку перед тем, как развернуть ее на веб-сайте SharePoint, который подготовлен к работе на одном из языков, поддерживаемых надстройкой. Вы можете протестировать свою надстройку на веб-сайте SharePoint Online или локальном веб-сайте.

Тестирование надстройки на веб-сайте SharePoint Online

  1. Откройте Центр администрирования Office 365.

  2. В меню навигации выберите пункт Параметры службы, а затем — Сайты.

  3. В списке семейств веб-сайтов выберите команду Создать семейство веб-сайтов.

  4. В области Выбор языка выберите язык, на котором хотите протестировать свою надстройку.

  5. В области Выбор шаблона выберите Сайт разработчика.

  6. В проекте надстройки SharePoint обновите свойство SiteUrl, указав URL-адрес нового семейства веб-сайтов.

  7. Нажмите клавишу F5, чтобы запустить надстройку.

Страница создания семейства веб-сайтов

Тестирование надстройки на локальном веб-сайте

  1. Установите языковой пакет, для которого хотите протестировать надстройку. Дополнительные сведения см. в статье Установка и удаление языковых пакетов для SharePoint и на странице скачивания языковых пакетов для SharePoint Server 2013.

  2. Откройте центр администрирования для фермы.

  3. В области Управление приложениями выберите команду Создать семейства веб-сайтов.

  4. В области Выбор языка выберите язык, на котором хотите протестировать свою надстройку.

  5. В области Выбор шаблона выберите Сайт разработчика.

  6. В проекте надстройки SharePoint измените значение свойства SiteUrl, указав URL-адрес недавно созданного семейства веб-сайтов.

  7. Нажмите клавишу F5, чтобы запустить надстройку.

См. также