Sdílet prostřednictvím


Návod: Lokalizace formulářů Windows

Visual Studio Projektu systému poskytuje značnou podporu lokalizace aplikace model Windows Forms. Existují dva způsoby generovat soubory prostředků pomocí Visual Studio vývojové prostředí:

  • Máte projekt systém generovat soubory prostředků Lokalizovatelný prvky uživatelského rozhraní, jako je například text a obrázky do formuláře. Soubory prostředků jsou pak součástí satelitní sestavení. Bývají označovány jako zdroje založené na formulářích.

  • Přidání šablony souboru prostředků a potom upravit šablonu XML Návrhář. Důvodem pro ten je Lokalizovatelný řetězce, které se zobrazí v dialogových oknech a chybové zprávy. Potom musíte napsat kód pro přístup k těmto prostředkům. Bývají označovány jako zdroje projektu.

  • Obecně by měl použít zdroje založené na formulářích pro všechny prostředky, které jsou specifické pro formuláře v aplikaci model Windows Forms. Zdrojů projektu byste měli použít pro všechny řetězce systémem než formuláře uživatelské rozhraní a obrazy, například chybových zpráv.

Poznámka

Je důležité být konzistentní a použít formulář založen zdroje nebo zdroje projektu pro stejnou vlastnost.Mnoho vlastností, například obrazy Image vlastnost PictureBox, umožnit buď vyberte obraz z prostředků projektu nebo importovat nový obraz jako prostředek založené na formulářích.Pokud budete chtít nastavit výchozí bitovou kopii pomocí zdrojů aplikace project a jazykové verze obrazu s použitím prostředků formátované systémem nikdy zobrazen výchozí obrázek.

Toto téma názorný postup ukazuje oba procesy v jednom projektu aplikace systému Windows.

Textový soubor můžete také převést na soubor prostředků; Další informace naleznete v Resources in Text File Format a Resgen.exe (generátor zdrojových souborů).

Mít Visual Studio generování souborů prostředků

  1. Vytvořte novou aplikaci systému Windows s názvem "WindowsApplication1". Další informace naleznete v tématu Postupy: Vytvoření nového projektu aplikace Windows Forms.

  2. V Vlastnosti okno, nastavte ve formuláři Localizable vlastnost true.

    Language Již vlastnost (výchozí).

  3. Přetáhněte Button ovládacího prvku na kartě model Windows Forms nástrojů formuláře a nastavení jeho Text vlastnost Hello World.

  4. Nastavte ve formuláři Language vlastnost Němčina (Německo).

  5. Nastavení na tlačítko Text vlastnost Hallo Welt.

  6. Nastavte ve formuláři Language vlastnost Francouzština (Francie).

  7. Nastavení na tlačítko Text vlastnost The World Bonjour. V případě potřeby můžete změnit velikost tlačítka pro delší řetězec.

  8. Uložit a vytvořit řešení.

  9. Klepněte Zobrazit všechny soubory tlačítko v Aplikaci Solution Explorer.

    Soubory prostředků, které se zobrazí pod Form1.vb, Form1.cs nebo Form1.jsl. Form1.resx je soubor prostředků pro výchozí kultury, která bude součástí hlavní sestavení. Form1.de DE.resx je soubor prostředků pro němčinu, hovoří se jím v Německu. Form1.fr FR.resx je soubor prostředků pro francouzské jako používaný ve Francii.

    Kromě toho se zobrazí soubory s názvem Form1.de.resx a Form1.fr.resx. Visual StudioTyto soubory automaticky vytvoří s cílem obejít omezení v Visual SourceSafe s přidání nových souborů při ukládání projektu operace. Soubory RESX prázdné a obsahovat žádné prostředky.

  10. Stiskněte klávesu F5, nebo zvolte Start z ladění nabídce.

    Zobrazí dialogové okno s angličtina, francouzština nebo němčina pozdrav v závislosti na jazyku uživatelského rozhraní operačního systému.

    Poznámka

    Jazyk uživatelského rozhraní v systému Windows je funkce CurrentUICulture nastavení.Pokud vaše kopie systému Windows má uživatelské rozhraní (Multi-Language Pack) nainstalován, můžete změnit jazyk uživatelského rozhraní v Ovládacích panelech.Další informace naleznete Windows Server 2003, Windows XP & Windows 2000 MUI webu.Pokud máte nainstalovanou sadou MUI, můžete změnit aktuální jazyková verze uživatelského rozhraní programově, můžete další vysvětleno.

    Následující postup ukazuje, jak nastavit jazyková verze uživatelského rozhraní tak, že aplikace zobrazí francouzské zdroje. V reálném světě aplikacích by není pevný kód v uživatelském rozhraní kultur tímto způsobem. Nastavení UI kultury by místo závisí na nastavení uživatele nebo nastavení aplikace.

Nastavení UI kultury zobrazit specifické zdroje

  1. V Editor kódu, přidejte následující kód na začátku modulu před Form1 prohlášení:

    ' Visual Basic
    Imports System.Globalization
    Imports System.Threading
    
    // C#
    using System.Globalization;
    using System.Threading;
    
  2. Přidejte následující kód. V Visual Basic, by měli přejít New před voláním funkce InitializeComponent funkce. V Visual C#, by měli přejít Form1 a také před voláním InitializeComponent funkce.

    ' Visual Basic
    ' Sets the UI culture to French (France).
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR")
    
    // C#
    // Sets the UI culture to French (France).
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    
  3. Uložit a vytvořit řešení.

  4. Stiskněte klávesu F5, nebo zvolte Start z ladění nabídce.

    Nyní zobrazí se formulář vždy ve francouzštině. Pokud jste změnili velikost tlačítka dříve tak, aby delší řetězec francouzské, Všimněte si, aby byly v souboru prostředků francouzské velikost tlačítka také trvala.

Ručně přidat soubory prostředků do projektu a jejich úpravy

  1. V nabídce Projekt klikněte na příkaz Přidat novou položku.

  2. Vyberte v poli šablony Soubor prostředků šablony. Zadejte název souboru "WinFormStrings.resx" název pole. Soubor WinFormStrings.resx bude obsahovat sekundární zdroje v angličtině. Tyto prostředky budou přistupovat kdykoli aplikace nemůže najít prostředky vhodnější jazyková verze uživatelského rozhraní.

    Soubor je přidán do projektu v Aplikaci Solution Explorer a automaticky se otevře v Návrháři XML v Data zobrazení.

  3. V Tabulek dat podokně vyberte data.

  4. V Data podokně klepněte na prázdný řádek a zadejte strMessage v název sloupce a Hello World v hodnotu sloupce.

    Není nutné určit typ nebo mimetype řetězce; používají se pro objekty. Specifikátor typu (type) obsahuje datový typ ukládaného objektu. Specifikátor typu MIME obsahuje základní typ (base64) binární informace uloženy, pokud objekt obsahuje binární data.

  5. Na soubor nabídky, klepněte na tlačítko Uložit WinFormStrings.resx.

  6. Proveďte kroky 1-5 dvakrát více vytvořit dva další zdrojové soubory s názvem WinFormStrings.de DE.resx a WinFormStrings.fr-FR.resx řetězec zdroje uvedené v následující tabulce. Soubor WinFormStrings.de DE.resx bude obsahovat prostředky, které jsou specifické pro německé jako používaný v Německu. Soubor WinFormStrings.fr FR.resx bude obsahovat prostředky, které jsou specifické pro francouzské jako používaný ve Francii.

    Název souboru zdroje

    Název

    Value

    WinFormStrings.de DE.resx

    strMessage

    Hallo Welt

    WinFormStrings.fr FR.resx

    strMessage

    The World Bonjour

Přístup k prostředkům ručně přidané

  1. V Editor kódu, import System.Resources oboru názvů na začátku modulu kódu.

    ' Visual Basic
    Imports System.Resources
    
    // C#
    using System.Resources;
    
  2. V návrhovém zobrazení, poklepejte na tlačítko Zobrazit kód pro jeho Click obslužné rutiny události a přidejte následující kód. ResourceManager Konstruktor trvá dva argumenty. První je název kořenového adresáře zdrojů –, název souboru bez přípony kultury a RESX prostředků. Druhý argument je hlavní sestavení.

    V tomto návodu žádné obory názvů jsou deklarovány, tak první argument ResourceManager konstruktor může mít formu ProjectName.ResourceFileRootName. Však v reálné aplikaci, nastavte DefaultNamespace vlastnost. V takovém případě musíte deklarovat prostředek s názvem kořenové úplný soubor prostředků, včetně jeho obor názvů manager. Například výchozí obor názvů je MyCompany.MyApplication.MyComponent, první argument ResourceManager může být konstruktoru MyCompany.MyApplication.MyComponent.WinFormStrings.

    ' Visual Basic
    ' Declare a Resource Manager instance.
    Dim LocRM As New ResourceManager("WindowsApplication1.WinFormStrings", GetType(Form1).Assembly)
    ' Assign the string for the "strMessage" key to a message box.
    MessageBox.Show(LocRM.GetString("strMessage"))
    
    // C#
    // Declare a Resource Manager instance.
    ResourceManager LocRM = new ResourceManager("WindowsApplication1.WinFormStrings",typeof(Form1).Assembly);
    // Assign the string for the "strMessage" key to a message box.
    MessageBox.Show(LocRM.GetString("strMessage"));
    

    Poznámka

    Standardně ResourceManager objekt je velká a malá písmena.Pokud chcete provést hledání velká a malá písmena tak, že načte "TXTWELCOME" jako "txtWelcome" stejný zdroj, můžete nastavit správce prostředků IgnoreCase vlastnost true.Z důvodů výkonu je však nejlepší vždy určit velikost písmen pro názvy zdrojů.Způsobem vyhledávání rozlišována prostředků může způsobit problémy s výkonem.

  3. Vytvoření a spuštění formuláře. Klikněte na tlačítko.

    Okno se zprávou se zobrazí řetězec odpovídající nastavení UI kultury; nebo nelze-li najít zdroje pro kulturu uživatelského rozhraní, zobrazí řetězec z sekundární zdroje.

Viz také

Úkoly

Postupy: Nastavení jazykové verze a jazykové verze uživatelského rozhraní pro globalizaci formulářů Windows