Lokalisieren von Add-Ins für SharePoint

Hinweis

In diesem Thema wird davon ausgegangen, dass Sie mit der grundlegenden Erstellung von SharePoint-Add-Ins ebenso vertraut sind wie mit SharePoint-Features, dem Unterschied zwischen Add-In-Webs und Hostwebs, welche Arten von SharePoint-Komponenten in einem Add-In enthalten sein können und den Grundlagen der Lokalisierung mit RESX-Dateien.

Vorbereiten der Lokalisierung eines Add-Ins für SharePoint

Bevor Sie beginnen, sollten Sie Folgendes festlegen:

  • Die Gebietsschemas , die Ihr Add-In unterstützen muss. SharePoint Online und SharePoint lokal mit installierten Sprachpaketen ermöglichen Benutzern das Erstellen von Websites in einer bestimmten Sprache und Kultur. Entscheiden Sie, welche lokalisierten Websites Ihre Kunden verwenden werden, und bestimmen Sie, welche dieser Websites mit einer lokalisierten Version der Komponenten Ihres Add-Ins unterstützt werden sollen.

  • Die zu lokalisierenden Komponenten Ihres Add-Ins.

Achten Sie auch auf Folgendes:

Lokalisieren der Add-In-Web-Komponenten

Ein Add-In-Web kann bestimmte Arten von SP-Komponenten enthalten. Weitere Informationen zu den verschiedenen Arten von SharePoint-Komponenten, die in einem SharePoint-Add-In enthalten sein können, finden Sie unter Typen von SharePoint-Komponenten, die in einem SharePoint-Add-In enthalten sein können. Zum Lokalisieren von Komponenten, die in einem Add-In-Web bereitgestellt werden, fügen Sie RESX-Dateien in Modulen in derselben Funktion hinzu, die die Add-In-Webkomponente enthält. Sie verweisen im Markup der Komponente auf die Ressource. Wie das geht, wird weiter unten in diesem Artikel erläutert. Auf benutzerdefinierten Websiteseiten in einem SharePoint-Add-In werden anstelle von RESX-Dateien jedoch JavaScript-Zeichenfolgenvariablendateien verwendet, wie weiter unten in diesem Abschnitt beschrieben.

Hinweis

Ressourcendateien können nicht von mehreren Add-In-Webfeatures freigegeben werden. Für jedes Feature in der WSP-Datei müssen Sie separate Sätze von Ressourcendateien erstellen.

So erstellen Sie die Ressourcendateien für das Add-In-Web

  1. Öffnen Sie das SharePoint-Add-In-Projekt in Visual Studio. (Das Beispiel, aus dem die Screenshots in diesem Thema stammen, ist ein vom Anbieter gehostetes Add-In mit ASP.NET-Webformularen als Remote-Webanwendungsteil des Projekts).

  2. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Featurenamen, und wählen Sie Funktionsressource hinzufügen.

  3. Wählen Sie im Dialogfeld Ressource hinzufügen die Option Invariante Sprache (Invariantes Land) und dann OK aus. Eine Resources.resx-Datei wird dem Ordner des Features in Projektmappen-Explorer hinzugefügt, und die Datei wird im Visual Studio-Ressourcen-Editor geöffnet.

    Nach der Bearbeitung enthält diese "invariante Sprachdatei" die Zeichenfolgen, die im Featurekatalogauf allen Websites in Sprachen verwendet werden, für die Sie keine lokalisierte Version der Zeichenfolgen bereitstellen. Daher sollten Sie für die Zeichenfolgen in dieser Datei die Sprache verwenden, die mit der höchsten Wahrscheinlichkeit die Zweitsprache der Personen ist, die SharePoint verwenden. Traditionally, English is used for this purpose, but in some scenarios another language might be a better choice. For example, in some regions, French may be a more common second language of the users than English. The continuing example in this topic uses English as the invariant language.

    Hinweis

    Ein SharePoint-Add-In kann nicht auf einer Website installiert werden, deren Sprache nicht im Abschnitt Unterstützte Gebietsschemas des Add-In-Manifests aufgeführt ist. Beachten Sie, dass Sie, wenn in diesem Artikel Sprachen behandelt werden, für die Sie kein lokalisiertes Add-In bereitstellen werden, diese Sprachen dem Add-In-Manifest hinzugefügt werden müssen. Weitere Informationen zu unterstützten Gebietsschemas im Add-In-Manifest finden Sie im Verfahren So erstellen Sie Ressourcendateien für das Hostweb weiter unten in diesem Artikel.

  4. Geben Sie in der Spalte Name der obersten Zeile im Ressourcen-Editor einen beschreibenden Namen für die Zeichenfolge (oder eine andere Ressource) ein, OrdersListInstance_Title z. B. und OrdersListInstance_Description. Diese Namen lokalisierbarer Ressourcen werden selbst nicht lokalisiert. Die Namen müssen in der Datei eindeutig sein.

  5. Geben Sie in der Spalte Wert eine geeignete Zeichenfolge (oder URL oder andere Ressource) in der invarianten Sprache an – beispielsweise Orders und eine Liste zum Speichern der Bestellungen.

  6. Fügen Sie weitere Name-Wert-Paare für alle Zeichenfolgen und Ressourcen hinzu, die für die Verwendung in beliebigen Komponenten Ihres Features lokalisiert werden sollen.

  7. Speichern Sie die Datei.

  8. Fügen Sie dem Feature wie zuvor eine weitere Ressourcendatei hinzu, aber wählen Sie eine bestimmte Sprache anstelle von Invariante Sprache (Invariantes Land) aus. For example, you can choose Spanish (Spain). Eine Ressource. Die Datei LL-CC.resx (wobei LL und CCIETF-kompatible Sprach- und Kulturcodes sind) wird dem Ordner des Features in Projektmappen-Explorer hinzugefügt, und die Datei wird im Visual Studio-Ressourcen-Editor geöffnet.

  9. Kopieren Sie im Ressourcen-Editor alle Zeilen aus Resources.resx, und fügen Sie sie in die neuen Ressourcen ein. LL-CC.resx-Datei. (Wenn Kopieren im Kontextmenü des Ressourcen-Editors nicht aktiviert ist, verwenden Sie STRG+C, um die Zeilen in die Zwischenablage zu kopieren.)

  10. In den Ressourcen. LL-CC.resx-Datei, ersetzen Sie die Wertzellen durch übersetzte Versionen der Zeichenfolgenwerte. For URLs and other non-string resources, replace the value with a new value that is appropriate for the language and culture.

  11. Speichern Sie die neue Datei.

  12. Wiederholen Sie die letzten vier Schritte für jede Fremdsprache.

    Hinweis

    Ziehen Sie in Betracht, eine sprachspezifische Datei für die Sprache hinzuzufügen, die Sie als invariante Sprache verwendet haben. Wenn Sie dies tun, können Sie die Zeilen kopieren, ohne die Werte der Zeichenfolgen zu ändern. In vielen Situationen ist keine sprachspezifische Datei für dieselbe Sprache erforderlich, die in der Ressourcendatei als invariante Sprache verwendet wird, insbesondere wenn in den Dateien nur Zeichenfolgen als Ressourcen vorhanden sind. Ressourcendateien können jedoch auch Bilder, Symbole, Dateien und andere Arten von Ressourcen enthalten. Manchmal benötigen Sie die Ressourcendatei in der invarianten Sprache, um ein Bild oder eine sonstige Ressource, die von der entsprechenden Ressource in beliebigen sprachspezifischen Dateien abweicht, zu verwenden.

  13. Vergewissern Sie sich bei jeder Datei, dass die Eigenschaft Buildvorgang auf Inhalt festgelegt ist.

So rufen Sie die lokalisierten Ressourcen in benutzerdefinierten Listen auf

  1. Öffnen Sie zum Lokalisieren der Titel- und Beschreibungseigenschaften einer benutzerdefinierten Liste die Datei Elements.xml der Listeninstanz. Navigieren Sie beispielsweise im Beispiel zu diesem Thema in Projektmappen-Explorerzu BookstoreApp>Order Status>OrderStatusInstance>Elements.xml.

  2. Geben Sie im Title-Attribut $Resources:StringName ein, wobei StringName der Name und nicht der Wert ist, den Sie im vorherigen Verfahren für die Zeichenfolge angegeben haben, die die benutzerdefinierte Liste benennt, z. B. $Resources:OrdersListInstance_Title. Beachten Sie, dass hier im Gegensatz zu anderen Kontexten, in denen RESX-Dateien verwendet werden, der Name der Ressourcendatei nicht Bestandteil Ihrer Eingabe ist.

  3. Verwenden Sie das Description-Attribut , um die Zeichenfolgenressource der Listenbeschreibung auf die gleiche Weise aufzurufen, z. B. $Resources:OrdersListInstance_Description. Im Folgenden finden Sie das Markup, von dem die lokalisierten Zeichenfolgen aus der Datei "Elements.xml" der Listeninstanz verwendet werden:

    <?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>
    

Die folgende Abbildung zeigt die lokalisierte benutzerdefinierte Liste in englischer Sprache:

Lokalisierte benutzerdefinierte Liste

Eine lokalisierte benutzerdefinierte Liste

So lokalisieren Sie die Spaltennamen einer benutzerdefinierten Liste

  1. Sie können die Spaltennamen der benutzerdefinierten Liste nicht auf die gleiche Weise lokalisieren, wie Sie den Titel und die Beschreibung lokalisieren. Um die Spaltennamen zu lokalisieren, müssen Sie die Listenfelder in einer Elements.xml-Datei deklarieren und dann den DisplayName-Attributwert mit Verweisen in den Add-In-Webressourcendateien festlegen. Öffnen Sie zunächst die Datei Elements.xml Ihrer benutzerdefinierten Liste. Suchen Sie den Knoten Felder , und kopieren Sie dann alle zugehörigen Feldknoten .

  2. Öffnen Sie die Datei Elements.xml Ihrer benutzerdefinierten Liste. Stellen Sie sicher, dass Sie die Elements.xml Datei der Listendefinition und nicht der Instanz der Liste öffnen. Fügen Sie die Knoten aus dem vorherigen Schritt als untergeordnete Elemente des Knotens Elements ein.

  3. Geben Sie für jeden Knoten vom Typ Field einen Wert nach dem Muster $Resources:StringName in das Attribut DisplayNameein, wobei StringName für den Namen eines Eintrags in der Add-In-Web-Ressourcendatei steht.

  4. Entfernen Sie in der Datei Schema.xml Ihrer benutzerdefinierten Liste das Attribut DisplayName aus jedem Knoten vom Typ Field, den Sie zuvor kopiert haben. Im Anschluss finden Sie ein Beispiel-Markup, von dem lokalisierte Zeichenfolgen in der Datei Elements.xml der Listendefinition verwendet werden:

    <?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>
    

So erstellen Sie JavaScript-Ressourcendateien für benutzerdefinierte Seiten

  1. Benutzerdefinierte Seiten auf einer Website in einem SharePoint-Add-In verwenden JavaScript-Zeichenfolgenvariablendateien statt RESX-Dateien.

    Fügen Sie zunächst in Projektmappen-Explorer dem SharePoint-Add-In-Projekt (nicht dem Webanwendungsprojekt) einen Ordner namens Skripts hinzu, sofern noch keiner vorhanden ist. Klicken Sie mit der rechten Maustaste auf den Ordner Skripts, und wählen Sie Add>New ItemWebJavaScript File (Web-JavaScript-Datei> hinzufügen>) aus. Nennen Sie die Datei Resources. LL-CC.js (wobei LL ein Sprachcode und CC ein Länder-/Regions- oder Kulturcode ist); z. B.Resources.en-US.js.

  2. Wiederholen Sie den vorstehenden Schritt für jede Fremdsprache. Für jede Sprache sollte eine neue leere JavaScript-Datei vorhanden sein. Erstellen Sie keine invariante Sprachdatei namens "Resources.js". Der Grund hierfür wird weiter unten in diesem Verfahren erklärt.

  3. Öffnen Sie die erste der neuen JavaScript-Dateien.

  4. Deklarieren Sie für jede lokalisierbare Zeichenfolge in jeder Ihrer benutzerdefinierten Seiten eine Variable in der Datei mit einem Namen, der den Zweck der Zeichenfolge identifiziert, und weisen Sie ihr einen wert zu, der für die Sprache geeignet ist. Im Anschluss finden Sie den Inhalt der Datei "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. Kopieren Sie den Inhalt der Datei jeweils in jede der übrigen JavaScript-Dateien, und speichern Sie dann alle Dateien.

  6. Ersetzen Sie in jeder Datei jeweils den Wert der Variablen durch einen neuen für die Sprache der Datei geeigneten Wert. Ändern Sie keinesfalls die Variablennamen.

So rufen Sie die lokalisierten Variablen in benutzerdefinierten ASPX-Seiten auf

  1. Öffnen Sie im Projektmappen-Explorer eine benutzerdefinierte ASPX-Seitendatei.

  2. Stellen Sie sicher, dass beim Laden der Seite nur eine der lokalisierten JavaScript-Dateien geladen wird und dass es sich dabei um die Datei handelt, die für die Sprache des SharePoint-Add-In-Webs geeignet ist. Fügen Sie dazu dem Element asp:content mit einer ContentPlaceholderId mit dem Wert PlaceholderAdditionalPageHead das folgende Markup hinzu. Das folgende Markup enthält keine Platzhalter. Geben Sie das Markup genau so ein, wie es hier angezeigt wird.

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

    Mit diesem Markup wird eine der JavaScript-Dateien geladen. Es bestimmt, welche Sprachdatei geladen werden soll, indem die SharePoint-Ressource mit dem Namen gelesen wird language_value. Diese Ressource wird in einen Sprachkulturnamen im Muster LL-CC aufgelöst, das in einem früheren Verfahren beschrieben wurde. Genau gesagt wird sie in die Sprache des Add-In-Webs aufgelöst.

    Hinweis

    Die SharePoint-Ressource language_value ist nie NULL, sodass eine Datei mit dem Namen "Resources.js" niemals von diesem Skript aufgerufen wird. Deshalb haben Sie im vorherigen Verfahren keine solche Datei erstellt. Wenn der Wert von language_value eine Sprache ist, für die keine .js Datei vorhanden ist, lädt dieses Skript nichts. Im nächsten Schritt wird erklärt, wie Zeichenfolgen in dieser Situation einen invarianten Sprachwert erhalten.

  3. Weisen Sie für jedes lokalisierbare Element und jeden Attributwert auf der Seite einen Standardwert in der invarianten Sprache zu, aber verwenden Sie dann JavaScript, um ihm die entsprechende Variable aus den Ressourcen zuzuweisen. LL-CC -.js-Datei. Wenn die Seite beispielsweise über einen Titel in einem h2-Element verfügt, geben Sie dem Element ein id-Attribut , und fügen Sie dann unterhalb der lokalisierten Elemente ein Skriptelement ein, um der innerText-Eigenschaft der lokalisierten Elemente lokalisierte Zeichenfolgen zuzuweisen. Dieser Lokalisierungscode sollte nur ausgeführt werden, wenn eine Ressource. LL-CC.js-Datei geladen und deklariert die Variablen. Fügen Sie sie in einen Bedingungsblock, der zunächst prüft, ob eine der Variablen definiert wurden. Andernfalls wird kein Ressourcenskript geladen, und die (invarianten) Standardwerte sollten unverändert bleiben. Es folgt ein Beispiel.

    Tipp

    Das Wort "INVARIANT" wurde der ersten der invarianten Zeichenfolgen hinzugefügt. Sie würden dies nicht in einem Produktions-Add-In tun, aber während Sie testen, ist es eine nützliche Möglichkeit, auf einen Blick zu sehen, ob invariante Sprachzeichenfolgen verwendet werden oder ob die Ressourcen. LL-CC.js Datei für die Sprache, die ihre invariante Sprache geladen hat.

    <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>

Die folgende Abbildung bietet eine Vorschau, wie die englische Version der Seite nach Fertigstellung des Add-Ins aussieht.

Website mit lokalisierten Zeichenfolgen aus einer JavaScript-Ressourcendatei

Eine SharePoint-Seite mit lokalisierten Zeichenfolgen

Lokalisieren der Hostweb-Komponenten

Sie können den in der Datei "AppManifest.xml" angegebenen Add-In-Titel lokalisieren. Hierbei handelt es sich um den Text, der Benutzern auf der Seite Your Add-ins angezeigt wird. Das Hostweb für ein SharePoint-Add-In kann auch eine benutzerdefinierte Aktion, ein Add-In-Webpart oder beides enthalten. Diese werden in einem Hostwebfeature bereitgestellt. Beide Komponenten können lokalisierbare Zeichenfolgen enthalten.

Die Methode zum Lokalisieren von Hostweb-Komponenten entspricht im Grunde der Methode zum Lokalisieren von Add-In-Web-Komponenten: Lokalisierte Ressourcen werden in einer RESX-Datei einzeln aufgeführt und von den Markupdateien aufgerufen. Allerdings unterstützt Visual Studio nicht so viele Tools für diesen Prozess, da es für Hostweb-Features vorgesehen ist. Hier gibt es einen manuellen Prozess, der später in diesem Abschnitt erläutert wird.

So erstellen Sie die Hostweb-Ressourcendateien

  1. Wählen Sie im Projektmappen-Explorer die Datei AppManifest.xml aus, um den Add-In-Manifest-Designer zu öffnen.

  2. Öffnen Sie die Registerkarte Unterstützte Gebietsschemas.

  3. Öffnen Sie die Dropdownliste in der obersten leeren Zelle der Spalte Gebietsschemas, und wählen Sie das erste zu unterstützende Gebietsschema aus. Es werden zwei Dateien erstellt und dem SharePoint-Add-In-Projekt hinzugefügt: Resources.resx, bei der es sich um die invariante Sprachressourcendatei handelt, und Ressourcen. LL-CC.resx, die die lokalisierten Ressourcen enthält. Die Namen dieser Dateien dürfen nicht geändert werden.

  4. Wiederholen Sie den vorherigen Schritt für jedes zu unterstützende Gebietsschema. Eine zusätzliche Ressource. Die Datei LL-CC.resx wird für jedes Gebietsschema erstellt.

    Hinweis

    Die Eigenschaft Build Action dieser Dateien ist nicht auf Resource festgelegt, sondern auf Content. Diese Einstellung darf nicht geändert werden.

  5. Fügen Sie außerdem Gebietsschemaeinträge für jedes Gebietsschema hinzu, in dem Das Add-In installiert sein soll, aber wo es die invariante Sprache verwenden soll. d. h. Gebietsschemas, für die Sie keine lokalisierte Version des Add-Ins bereitstellen. Löschen Sie die RESX-Dateien, die für diese Gebietsschemas erstellt werden.

  6. Öffnen Sie die Datei Resources.resx, und fügen Sie der Datei Ressourcennamen und Werte hinzu, genau wie für die Add-In-Webressourcendateien. Sie sollten mindestens über eine Ressource für den Add-In-Titel verfügen. Das Hostwebfeature wird nirgendwo auf der SharePoint-Benutzeroberfläche angezeigt, sodass Sie keine lokalisierten Zeichenfolgen für den Titel oder die Beschreibung des Hostwebfeatures benötigen. Wenn das Feature über eine benutzerdefinierte Aktion verfügt, benötigen Sie eine Ressource für das Title-Attribut des CustomAction-Elements und möglicherweise andere Zeichenfolgen im Markup für benutzerdefinierte Aktionen. Wenn ein Add-In-Webpart vorhanden ist, benötigen Sie Ressourcen für die Attribute Title und Description des ClientWebPart-Elements . Wenn das Add-In-Webpart über benutzerdefinierte Eigenschaften verfügt, verfügt jede Eigenschaft über Attribute, die ebenfalls lokalisiert werden sollten. Für jede dieser Elemente benötigen Sie eine Zeile in der Ressourcendatei.

  7. Kopieren Sie den Inhalt der Datei „Resources.resx“ jeweils in die anderen Dateien vom Typ „Resources.LL-CC.resx“.

  8. Lokalisieren Sie die Ressourcen in jeder Datei vom Typ „Resources.LL-CC.resx“ auf die gleiche Weise wie bei den Add-In-Web-Ressourcendateien.

So rufen Sie die lokalisierten Ressourcen im Add-In-Manifest und in anderen XML-Dateien auf

  1. Öffnen Sie die Datei „AppManifest.xml", und ersetzen Sie den Wert des Elements Title durch einen Aufruf der entsprechenden Ressourcenzeichenfolge. Wenn Sie die Zeichenfolge beispielsweise Addin_Title genannt haben, sollte das Element Title wie folgt aussehen:

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

    Warnung

    Der Wert von Title darf nur den Aufruf der Ressource enthalten. Er darf keinen anderen Text, keine anderen Symbole und keine anderen Leerzeichen enthalten.

  2. Zum Aufrufen lokalisierter Ressourcen in anderen XML-Dateien (beispielsweise "Elements.xml" für Add-In-Webparts und benutzerdefinierte Aktionen) wird das gleiche Format verwendet wie in der Add-In-Manifestdatei.

Lokalisieren von Remotekomponenten in einem SharePoint-Add-In

Wenn die Remotekomponenten im PHP-Format oder einem anderen Format eines anderen Anbieters als Microsoft vorliegen, dann lesen Sie die Lokalisierungsanleitungen für die entsprechende Plattform. Wenn die Remotekomponenten das Format ASP.NET aufweisen, können Sie sie so lokalisieren wie jede andere ASP.NET-Anwendung. Weitere Informationen finden Sie unter ASP.NET Globalisierung und Lokalisierung.

Überschreiben Sie die Seitensprache und die Threadsprache, um sie mit der Sprache des Hostwebs abzugleichen. Dazu müssen Sie die InitializeCulture-Methode im CodeBehind Ihrer ASP.NET-Seiten überschreiben. Verwenden Sie zum Ermitteln der Hostwebsprache den SPLanguage-Abfrageparameter, den SharePoint an die Remoteseite übergibt. Der folgende Code zeigt, wie das in ASP.NET erfolgt. Dasselbe sollten Sie in einer PHP-Webanwendung oder anderen Plattform vornehmen.

    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();
    }

Lokalisieren des Remote-JavaScript- und des SharePoint-Chromsteuerelements

Wenn lokalisierbare Zeichenfolgenwerte im JavaScript Ihrer Webanwendung vorhanden sind, können Sie sie mithilfe der JavaScript-Ressourcendateien lokalisieren. Ein besonders wichtiges Beispiel für lokalisierbares JavaScript ist das SharePoint-Chromsteuerelement, das verwendet werden kann, um Remoteseiten das Aussehen von SharePoint-Seiten zu verleihen. Wir verwenden die Lokalisierung des Chromsteuerelements in diesem Abschnitt als Beispiel.

Hinweis

In diesem Abschnitt wird nur die Zeichenfolgenlokalisierung erläutert. Für leistungsfähigere Lokalisierungsanforderungen, z. B. die Lokalisierung von Datums- oder Währungsformatierungen, sollten Sie eine Lokalisierungs- oder Globalisierungsbibliothek wie das Globalize-Add-On für jQuery verwenden.

So lokalisieren Sie das Chromsteuerelement

  1. Nachdem das Chromsteuerelement funktioniert, müssen Sie die renderChrome-Methode zurückgeben, in der Sie die Chromsteuerelementoptionen festgelegt haben.

        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. Wie bereits in den Kommentaren erwähnt, sind mindestens drei lokalisierbare Zeichenfolgen vorhanden. Ersetzen Sie diese durch einen Variablennamen, den Sie in einem späteren Schritt deklarieren.

        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. Fügen Sie eine JavaScript-Datei mit der Bezeichnung "ChromeStrings.js" zum Webanwendungsprojekt hinzu. Sie sollte die Variablen deklarieren, die Sie im vorherigen Schritt verwendet haben, und ihnen einen Wert in der invarianten Sprache zuweisen.

    var chromeAppTitle = "My SharePoint add-in";
    var chromeAccountLinkName = "Account settings";
    var chromeContactUsLinkName = "Contact us";
    
    
  4. Fügen Sie für jede Sprache, für die Sie das Add-In lokalisieren, eine weitere JavaScript-Datei mit dem Namen ChromeStrings hinzu. LL-CC.js, wobei LL-CC die Sprach-ID ist. Die Basis des Dateinamens, in diesem Fall "ChromeStrings", muss genau der Basis entsprechen, die Sie für die invariante Sprachdatei verwendet haben. Kopieren Sie den Inhalt der invarianten Sprachdatei in jede der lokalisierten Dateien, und ersetzen Sie die Werte durch übersetzte Versionen.

    var chromeAppTitle = "Mi aplicación SharePoint";
    var chromeAccountLinkName = "Preferencias";
    var chromeContactUsLinkName = "Contacto";
    
    
  5. In Seitendateien, in denen das Skript "SP.UI.controls.js" aufgerufen wird, müssen Sie einen Aufruf zur "ChromeStrings.js" darüber hinzufügen. Wenn beispielsweise der Aufruf zur "SP.UI.controls.js" in einer Zwischendatei mit der Bezeichnung "ChromeLoader.js" geladen wird, sollte das Markup auf der Seite nun Folgendem ähneln.

    <Scripts>
        <asp:ScriptReference Path="Scripts/ChromeStrings.js" />
        <asp:ScriptReference Path="Scripts/ChromeLoader.js" />
    </Scripts>
    
  6. Fügen Sie ein ResourceUICultures-Attribut zum ScriptReference-Element hinzu, das die Zeichenfolgen aufruft. Der Wert besteht aus einer kommagetrennten Liste der Sprachen, die Sie unterstützen möchten.

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

    Der Effekt des ResourceUICultures-Attributs ist, dass ASP.NET nach einer Datei mit dem Namen ChromeStrings sucht. LL-CC.js, wobei LL-CC die Sprache der Seite ist, und lädt sie. Wenn eine solche Datei nicht gefunden wird, wird die ChromeStrings.js Datei geladen.

Testen Ihres lokalisierten Add-Ins für SharePoint

Testen Sie Ihr Add-In, indem Sie es für eine SharePoint-Website bereitstellen, die in einer der unterstützten Sprachen Ihres Add-Ins bereitgestellt wurde. Das Add-In kann auf einer SharePoint Online-Website oder auf einer lokalen Website getestet werden.

So testen Sie Ihr Add-In auf einer SharePoint Online-Website

  1. Wechseln Sie zum Office 365 Admin Center.

  2. Wählen Sie im Navigationsmenü die Option Diensteinstellungen und anschließend Websites aus.

  3. Wählen Sie unter „Websitesammlungen“ die Option Websitesammlung erstellen aus.

  4. Wählen Sie unter Sprache auswählen die Sprache aus, in der Sie Ihr Add-In testen möchten.

  5. Wählen Sie unter Vorlage auswählen die Option Entwicklerwebsite aus.

  6. Aktualisieren Sie in Ihrem SharePoint-Add-In-Projekt die Eigenschaft SiteUrl mit der URL der soeben erstellten Websitesammlung.

  7. Drücken Sie F5, um das Add-In auszuführen.

Seite „Websitesammlung erstellen“

So testen Sie Ihr Add-In auf einer lokalen Website

  1. Installieren Sie das Sprachpaket, mit dem Sie Ihr Add-In testen möchten. Weitere Informationen finden Sie unter Installieren oder Deinstallieren von Sprachpaketen für SharePoint und Herunterladen von Sprachpaketen für SharePoint Server 2013.

  2. Öffnen Sie die Zentraladministration der Farm.

  3. Wählen Sie unter Anwendungsverwaltung die Option Websitesammlungen erstellen aus.

  4. Wählen Sie unter Sprache auswählen die Sprache aus, in der Sie Ihr Add-In testen möchten.

  5. Wählen Sie unter Vorlage auswählen die Option Entwicklerwebsite aus.

  6. Aktualisieren Sie in Ihrem SharePoint-Add-In-Projekt das Element SiteUrl mit der URL der soeben erstellten Websitesammlung.

  7. Drücken Sie F5, um das Add-In auszuführen.

Siehe auch