Sdílet prostřednictvím


Návod: Lokalizace v aplikaci LightSwitch

Můžete vytvořit aplikaci LightSwitch, která automaticky zobrazí uživatelské rozhraní v různých jazycích pomocí klienta programu Silverlight, klienta HTML nebo obou.V tomto návodu vytvoříte aplikaci a oba typy klientů a následně ji lokalizujete do němčiny (nebo do jiného jazyka, pro který může poskytnout překlad).

Chcete-li lokalizovat aplikaci, přidáte identifikátor prostředku pro každý řetězec pro zobrazení v Návrháři obrazovky.Pak pro úrovně klienta i serveru, vytvoříte soubor prostředků pro výchozí jazyk a jeden pro lokalizovaný jazyk.Aplikaci je možné lokalizovat i v případě, že má pouze jeden typ klienta.Zahrnuli jsme oba typy, takže si můžete procvičit lokalizace pro každý z nich.

[!POZNÁMKA]

Pokud lokalizujete pouze klienta programu SilverLight, musíte nejprve upgradovat.Na panelu nabídky vyberte možnosti Projekt, Aktualizovat projekt.Pokud se nezobrazí příkaz Upgradovat projekt, projekt již je upgradován.

V návodu je ukázáno, jak provádět následující úkoly:

  • Vytvoření aplikace

  • Lokalizovat vrstvu serveru

  • Lokalizovat obrazovku klienta programu Silverlight

  • Přidání výchozích jazykových prostředků

  • Přidání lokalizovaných prostředků

  • Volání zdroje z kódu

  • Lokalizovat klienta HTML

Požadavky

Potřebujete Microsoft LightSwitch for Visual Studio Update 2 k lokalizaci aplikace LightSwitch.

Vytvoření aplikace

  1. Vytvořte aplikaci pomocí buď šablony Aplikace HTML LightSwitch (Visual Basic) nebo šablony Aplikace HTML LightSwitch (Visual C#) a pojmenujte ji Ukázka lokalizace.

  2. Přidejte tabulku, pojmenujte ji Kontakt a pak přidejte následující pole:

    Název

    Type

    Požadováno

    ContactName

    Řetězec

    Ano

    ContactPhone

    Telefonní číslo

    Ano

  3. V Průzkumníku řešení otevřete místní nabídku uzlu Localization_Sample.HTML Client a pak zvolte Přidat obrazovku.

  4. Přidejte obrazovku Procházet data s názvem BrowseContacts a potom zvolte Kontakty jako Data obrazovky.

  5. V Průzkumníku řešení otevřete místní nabídku uzlu Klient HTML a pak zvolte Přidat obrazovku.

  6. Přidejte obrazovku Přidat/upravit podrobnosti s názvem AddEditContact a potom zvolte Kontakt jako Data obrazovky.

  7. Otevřete obrazovku BrowseContacts a v Návrháři obrazovky otevřete místní nabídku uzlu Rozvržení do řádků | Seznam kontaktů a vyberte možnost Přidat tlačítko.

  8. V dialogovém okně Přidat tlačítko vyberte v seznamu showTab možnost showAddEditContact.

  9. Do pole Kontakt zadejte (Nový kontakt) a poté klikněte na tlačítko OK.

  10. V Průzkumníku řešení otevřete místní nabídku uzlu Ukázka lokalizace a pak zvolte Přidat klienta.

  11. Přijměte výchozího klienta pro stolní počítače a pak klikněte na tlačítko OK.

  12. V Průzkumníku řešení otevřete místní nabídku uzlu Klient pro stolní počítače a pak zvolte Přidat obrazovku.

  13. Přidejte obrazovku Nová data s názvem NewContact a potom zvolte Kontakt jako Data obrazovky.

  14. V Návrháři obrazovky vyberte uzel Přidat a zvolte možnost Přidat text.

  15. V dialogovém okně Upravit text vyberte možnost Přidat nový kontakt.

Lokalizace vrstvy serveru

  1. V Průzkumníku řešení, rozbalte uzel Zdroje dat a pak otevřete entitu Contacts.lsml.

  2. V Návrháři entit vyberte pole ContactName.

  3. V okně Vlastnosti zvolte vlastnost Zobrazit název a zadejte $(ContactName).

    Zápis $() označuje, že hodnota vlastnosti Zobrazovaný název je identifikátorem prostředku.V době běhu aplikace LightSwitch načte skutečnou hodnotu ze souboru prostředků.

    [!POZNÁMKA]

    Identifikátory prostředků mohou obsahovat pouze písmena a čísla, nikoli mezery.

  4. V Návrháři entit vyberte pole ContactPhone.

  5. V okně Vlastnosti zvolte vlastnost Zobrazit název a zadejte $(ContactPhone).

  6. Průzkumníku řešení otevřete místní nabídku uzlu Localization Sample.Server, vyberte položku Přidat a Nová položka.

  7. Přidejte Soubor prostředků a pojmenujte jej Service.resx.

    Důležitá poznámkaDůležité

    Musíte vždy pojmenovat soubor prostředků serveru pro libovolnou aplikaci LightSwitch Service.resx a soubor se musí nacházet v kořenovém uzlu projektu serveru.

  8. Do souboru prostředků přidejte následující hodnoty:

    Název

    Value

    ContactName

    Název

    ContactPhone

    Telefon

    Hodnoty v sloupci Název odpovídají identifikátorům prostředků, které jste přidali dříve, ale hodnoty nemají zápis $().Řetězce Hodnota se zobrazí na všech obrazovkách používajících entitu Kontakty.

  9. Průzkumníku řešení otevřete místní nabídku uzlu Localization Sample.Server, vyberte položku Přidat a Nová položka.

  10. Přidejte Soubor prostředků a pojmenujte jej Service.de-DE.resx.

  11. Do souboru prostředků přidejte následující hodnoty:

    Název

    Value

    ContactName

    Kontaktní jméno

    ContactPhone

    Telefonní číslo

    Lokalizovaný řetězec Hodnota se zobrazí na všech obrazovkách používajících entitu Kontakty.Nyní můžete spustit aplikaci a ověřit, zda jsou řetězce pro tlačítko ContactName a ContactPhone zobrazeny správně.Můžete nasadit aplikaci do počítače, který je nastaven na němčinu a ověřit, že se zobrazí lokalizované řetězce.

    Tip

    Jako nejvhodnější postup zvažte nejprve lokalizaci řetězců pro všechny entity ve vrstvě serveru.Na libovolné obrazovce využívající entity se zobrazí tyto řetězce a řetězce na úrovni obrazovky můžete změnit podle potřeby.

Lokalizace obrazovky klienta programu Silverlight

  1. V Průzkumníku řešení otevřete obrazovku NewContact.lsml.

  2. V Návrháři obrazovky vyberte uzel Rozložení do řádků | Nový kontakt.

  3. V okně Vlastnosti zvolte vlastnost Zobrazit název a zadejte $(AddContact).

  4. V Návrháři obrazovky otevřete místní nabídku uzlu Text a vyberte možnost Upravit obsah.

  5. V okně Vlastnosti nahraďte existující text údajem $(Text).

    Pokud spustíte aplikaci v tomto okamžiku, můžete si všimnout, že se na obrazovce zobrazí skutečné identifikátory zdroje.Nedělejte si starosti – opravíte to v dalším kroku vytvořením výchozího souboru prostředků jazyka.

Přidání výchozího soubor prostředků jazyka

  1. Průzkumníku řešení otevřete místní nabídku uzlu Localization Sample.DesktopClient, vyberte položku Přidat a Nová položka.

  2. Přidejte Soubor prostředků a pojmenujte jej Client.resx.

    Důležitá poznámkaDůležité

    Pro každého klienta Silverlight aplikace LightSwitch je nutné vždy pojmenovat výchozí soubor prostředků jazyka Client.resx, který se musí nacházet v kořenovém uzlu projektu klienta.

  3. Do souboru prostředků přidejte následující hodnoty:

    Název

    Value

    AddContact

    Přidat kontakt

    Text

    Přidejte kontaktní informace a potom klikněte na tlačítko Uložit.

    Hodnoty v sloupci Název odpovídají identifikátorům prostředků, které jste přidali dříve, ale hodnoty nemají zápis $().Hodnoty ve sloupci Hodnota jsou řetězce, které se zobrazí, když uživatel spustí aplikaci v jazyce, který je nastaven jako Výchozí jazyk v nastavení aplikace.

Přidání lokalizovaného souboru prostředků

  1. Průzkumníku řešení otevřete místní nabídku uzlu Localization Sample.DesktopClient, vyberte položku Přidat a Nová položka.

  2. Přidejte Soubor prostředků a pojmenujte jej Client.de-DE.resx.

    Důležitá poznámkaDůležité

    Vždy je nutné pojmenovat lokalizované soubory prostředků Client.LocaleID.resx, kde LocaleID je Identifikátor národního prostředí systému Windows pro jazyk, který cílíte a soubory musí být v kořenovém uzlu projektu klienta.Pokud jste zvolili jiný jazyk než němčinu, zadejte ID národního prostředí pro tento jazyk místo de-DEa zadejte vlastní překlady v dalším kroku.

  3. Do souboru prostředků přidejte následující hodnoty:

    Název

    Value

    AddContact

    Einen Newen Kontakt erstellen

    Text

    Fügen Sie die Kontaktinformationen hinzu und speichern Sie dann.

    Tyto řetězce se zobrazí při spuštění aplikace v počítači, který je nastaven na němčinu (nebo jakýkoli vybraný jazyk).Pokud chcete lokalizovat do více jazyků, přidejte soubor prostředků pro každý další jazyk.

    [!POZNÁMKA]

    Pro klienta Silverlight, který je lokalizován do více jazyků, určuje zobrazený jazyk aktivní jazyková sada systému Windows.

Volání zdroje z kódu

  1. V Průzkumníku řešení otevřete soubor Service.resx a přidejte do něj následující hodnoty:

    Název

    Value

    ErrorMessage

    Název nesmí obsahovat vykřičník.

  2. Otevřete soubor Service.de-DE.resx a přidejte následující hodnoty:

    Název

    Value

    ErrorMessage

    Název nesmí obsahovat vykřičník.

  3. V Průzkumníku řešení otevřete entitu Contacts.lsml.

  4. V Návrháři entit v seznamu Zadat kód vyberte metodu Contacts_Validate.

    [!POZNÁMKA]

    Ujistěte se, že je vybrána samotná entita, nikoli pole entity.Jinak dojde k chybě sestavení.

  5. V Editoru kódu přidejte výraz Imports nebo using:

    Imports My.Resources
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Reflection;
    using System.Resources;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    namespace LightSwitchApplication
    
  6. Do metody Contacts_Validate přidejte následující kód:

    If entity.ContactName.Contains(“!”) Then
                    results.AddEntityError(Service.ErrorMessage)
                End If
    
    if (entity.ContactName.Contains("!"))
                {
                    ResourceManager serviceResources = new ResourceManager(
                        "LightSwitchApplication.Service", Assembly.GetExecutingAssembly());
                results.AddEntityError(serviceResources.GetString("ErrorMessage"));
                }
    

    Nyní můžete spustit aplikaci, zadat jméno nového kontaktu obsahující vykřičník, uložit a ověřit, zda je zobrazena chybová zpráva.Můžete také nasadit aplikaci do počítače, který je nastaven na němčinu a ověřit, že se zobrazí zpráva v němčině.

Lokalizace HTML klienta

  1. V Průzkumníku řešení otevřete obrazovku BrowseContacts.lsml.

  2. V Návrháři obrazovky vyberte uzel Zobrazit/přidat/upravit kontakt.

  3. V okně Vlastnosti zvolte vlastnost Zobrazit název a zadejte $(add).

  4. Průzkumníku řešení rozbalte uzel Localization Sample.HTMLClient, otevřete místní nabídku pro uzel Obsah, vyberte položku Přidat a poté zvolte možnost Nová složka.

  5. Pojmenujte složku Zdroje.

  6. Otevřete místní nabídku uzlu Prostředky, vyberte položku Přidat a poté položku Nová položka.

  7. Přidejte položku Soubor prostředků (.resjson) a pojmenujte ji client.lang-en-US.resjson.

    Důležitá poznámkaDůležité

    V libovolném HTML klientu pro aplikaci LightSwitch je vždy nutné pojmenovat výchozí soubor prostředků jazyka client.lang -LocaleID.resjson, kde LocaleID je Identifikátor národního prostředí systému Windows pro jazyk na vašem vývojovém počítači.Na rozdíl od klienta Silverlight, klient HTML nemá koncept výchozího jazyka.

  8. V Editoru kódu nahraďte kód za následující:

    {
       “add” : “Add a Contact”,
       “errorMessage” :  “Name can’t contain an exclamation mark.“
    }
    
  9. Otevřete místní nabídku uzlu Prostředky, vyberte položku Přidat a poté položku Nová položka.

  10. Přidejte další položku Soubor prostředků (.resjson) a pojmenujte ji client.lang-de-DE.resjson.

  11. V Editoru kódu nahraďte kód za následující:

    {
       “add” : “Hinzufügen eines Kontakts”,
       “errorMessage” :  “Name darf keine Ausrufezeichen enthalten.“
    
    }
    
  12. V Průzkumníku řešení otevřete místní nabídku uzlu Localization Sample.HTMLClient a pak zvolte Nastavit jako klienta po spuštění.

  13. Otevřete obrazovku AddEditContact.lsml a v Návrháři obrazovky v seznamu Zadat kód nahraďte kód v metodě beforeApplyChanges za následující:

    myapp.AddEditContact.beforeApplyChanges = function (screen) {
        if (screen.Contact.ContactName.indexOf('!') != -1) {
            screen.findContentItem("ContactName").validationResults = [
                new msls.ValidationResult(
                    screen.Contact.details.properties.ContactName,
                    WinJS.Resources.getString("/client/errorMessage").value
                )
            ];
            return false;
        }
    
    };
    

    Nyní můžete spustit aplikaci a ověřit, zda jsou řetězec pro tlačítko Přidat kontakt a chybová zpráva zobrazeny správně.Můžete nasadit aplikaci do počítače s prohlížečem, který je nastaven na němčinu a ověřit, že se zobrazí lokalizované řetězce.

    [!POZNÁMKA]

    V případě klienta HTML, který je lokalizován do více jazyků, určuje zobrazený jazyk nastavení jazyka prohlížeče.

Další kroky

To je všechno, co je třeba udělat pro lokalizaci aplikace LightSwitch.Mohli jste si všimnout, že mnoho částí uživatelského rozhraní, například panel příkazů obrazovky a navigační nabídka, jsou lokalizovány automaticky.Můžete potlačit automatické překlady přidáním identifikátorů prostředků vlastnostem Zobrazovaný název nebo Popis příslušných elementů.Ve skutečnosti je možné lokalizovat téměř libovolnou část aplikace LightSwitch pomocí technik, které jste se právě naučili.

Viz také

Další zdroje

Projekty: Kontejner pro vaši aplikaci LightSwitch

Proces získávání náhradních prostředků

Referenční rozhraní API pro národní jazykovou podporu (NLS)