Aracılığıyla paylaş


İzlenecek Yol: Windows Formlarının Konumunu Bulma

Visual Studio Proje sistemi Windows Forms uygulamaları yerelleştirme için önemli ölçüde destek sağlar. Kaynak dosyaları kullanarak oluşturmak için iki yol vardır Visual Studio geliştirme ortamı:

  • Formdaki metin ve resimler gibi yerelleştirilebilir UI öğeleri için kaynak dosyaları oluşturmak project sistemi vardır. Kaynak dosyaları sonra uydu derlemelerinin yerleştirilmiştir. Bunlar form tabanlı kaynakları olarak bilinir.

  • Kaynak dosya şablonu ekleyin ve Şablon xml Designer ile Düzenle. İkincisi yapmak için bir neden, iletişim kutularını ve hata iletilerini görünür yerelleştirilebilir dizeler olmasını sağlamaktır. Daha sonra bu kaynaklara erişmek için kod yazmanız gerekir. Bunlar, proje kaynakları bilinir.

  • Genel olarak, form tabanlı kaynaklara forma özgü tüm kaynaklar için Windows Forms uygulamanıza kullanmalısınız. Proje kaynakları, tüm form tabanlı olmayan kullanıcı arabirimi dizeleri ve hata iletileri gibi görüntüler için kullanın.

Not

Tutarlı ve aynı özellik için form tabanlı kaynaklara veya proje kaynakları kullanmak önemlidir.Birçok görüntü özellikleri gibi Image özelliği PictureBox, ya da proje kaynaklarından görüntü seçmek izin veya yeni bir yansıma olarak form tabanlı kaynak alabilir.Proje kaynak ve biçimlendirilmiş tabanlı kaynakları kullanarak görüntüyü dile özgü sürümlerini kullanarak varsayılan görüntü ayarlamayı denerseniz, varsayılan görüntü hiçbir zaman görüntülenir.

Bu izlenecek yol konusunda tek bir Windows uygulaması projede her iki süreç gösterilmiştir.

Kaynak dosya bir metin dosyası da dönüştürebilirsiniz; Daha fazla bilgi için bkz: Resources in Text File Format ve Resgen.exe (Kaynak Dosya Oluşturucu).

Visual Studio sizin için kaynak dosyaları oluşturmak için

  1. "WindowsApplication1" adlı yeni bir Windows uygulaması yaratmak. Ayrıntılar için bkz. Nasıl yapılır: Yeni bir Windows Forms Uygulaması Projesi Oluşturma.

  2. İçinde özelliklerini penceresinde ayarlayın formun Localizable özelliğine true.

    Language Özelliği ayarlanmış zaten (varsayılan).

  3. Sürükle bir Button 'ın Windows Forms sekmesinden Denetim araç form ve ayarlamak için kendi Text özelliğine Hello World.

  4. Formun set Language özelliğine Almanca (Almanya).

  5. Button öğesinin set Text özelliğine Hallo Welt.

  6. Formun set Language özelliğine Fransızca (Fransa).

  7. Button öğesinin set Text özelliğine Bonjour le Monde. Düğmesine uzun dize uyması için gerekirse yeniden boyutlandırabilirsiniz.

  8. Çözüm oluşturma ve kaydetme.

  9. Tıklatın Show All Files , düğme Solution Explorer.

    Kaynak dosyalar, TreeView, Form1.cs ya da Form1.jsl altında görüntülenir. Form1.resx ana derlemeye yerleşik varsayılan kültür değerini kaynak dosyasıdır. Form1.de-DE.resx gibi Almanya'da konuşulan Almanca kaynak dosyasıdır. Form1.fr-FR.resx gibi Fransa'da konuşulan Fransızca kaynak dosyasıdır.

    Buna ek olarak, Form1.de.resx ve Form1.fr.resx adlı bir dosya görürsünüz. Visual Studiootomatik olarak bir sınırlama geçici bir çözüm bulmak için bu dosyaları oluşturur Visual SourceSafe yeni dosyalar için bir proje kaydetme sırasında ekleme yapmak zorunda kalmadan işlemi. .Resx dosyalar boş ve hiçbir kaynaklar içerir.

  10. F5 tuşuna basın veya seçin Başlat dan Debug menü.

    Şimdi işletim sisteminizin İngilizce, Fransızca veya Almanca Tebrik kullanıcı Arabirimi diline bağlı bulunduğu bir iletişim kutusu görürsünüz.

    Not

    Windows kullanıcı Arabirimi diline işlevidir CurrentUICulture ayarı.Windows kopyanızı, bir Çok Dilde Kullanıcı Arabirimi Paketi (MUI) varsa, Denetim Masası'ndaki kullanıcı Arabirimi dilini değiştirebilirsiniz.Daha fazla bilgi için bkz: Windows Server 2003, Windows xp & Windows 2000 MUI site.MUI yüklü olması, geçerli UI kültürü programlı olarak anlatıldığı İleri değiştirebilirsiniz.

    Aşağıdaki yordam uygulama Fransızca kaynaklarınızın görüntüler böylece UI kültürü nasıl gösterir. Gerçek uygulamalarda, tetiklemeyecektir kodu sabit UI kültür bu yolla. UI kültürü ayarı yerine kullanıcı ayarı veya bir uygulama ayarı değişir.

Belirli kaynakları görüntülemek için UI kültürü ayarlamak için

  1. İçinde Kod Düzenleyicisi'ni, Form1 bildirimi önce modülünün başına aşağıdaki kodu ekleyin:

    ' Visual Basic
    Imports System.Globalization
    Imports System.Threading
    
    // C#
    using System.Globalization;
    using System.Threading;
    
  2. Aşağıdaki kodu ekleyin. De Visual Basic, onu gitmesi gerektiğini New önce arama işlevi InitializeComponent işlevi. De Visual C#, onu gitmesi gerektiğini Form1 ve aynı zamanda önce edinilecek InitializeComponent işlevi.

    ' 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. Çözüm oluşturma ve kaydetme.

  4. F5 tuşuna basın veya seçin Başlat dan Debug menü.

    Şimdi formu her zaman Fransızca görüntülenecektir. Daha önce Fransız uzun dize uyması için düğme boyutunu değiştirdiyseniz, düğme boyutuna Fransızca kaynak dosyasında da kalıcı olduğunu fark.

El ile projeye kaynak dosyalarını eklemek ve bunları düzenlemek için

  1. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.

  2. Templates kutusundan seçin Kaynak dosyasını şablonu. Dosya adı "WinFormStrings.resx" yazın ad kutusu. Dosya WinFormStrings.resx İngilizce geri dönüş kaynakları içerir. Uygulama kaynaklarını UI kültürü daha uygun bulunamıyor olduğunda bu kaynaklara erişilir.

    Dosya projenize eklenir Solution Explorer ve otomatik olarak xml Designer arabiriminde açar veri görünümü.

  3. İçinde Veri tablolarını bölmesi, select veri.

  4. İçinde veri bölmesi, boş bir satırı tıklatın ve basın strMessage , adı sütun ve Hello World , değeri sütun.

    Türü veya bir dize için mimetype belirtmek gerekmez; nesneler için kullanılırlar. Tür belirleyici kaydedilmesini nesnesinin veri türünü içerir. Nesnesi ikili veri içerir, MIME türü belirticisi temel türü (base64) depolanan, ikili bilgiler bulunur.

  5. Üzerinde Dosya menüsünde,'ı Kaydetmek WinFormStrings.resx.

  6. Aşağıdaki tabloda belirtilen dize kaynakları ile WinFormStrings.de DE.resx ve WinFormStrings.fr-FR.resx adlı iki daha fazla kaynak dosyaları oluşturmak için 1-5'i iki kez adımları uygulayın. Dosya WinFormStrings.de-DE.resx Almanya'da konuşulan gibi Almanca özel kaynaklar içerir. Dosya WinFormStrings.fr-FR.resx gibi Fransa'da konuşulan Fransızca özel kaynaklar içerir.

    Kaynak dosya adı

    Ad

    Value

    WinFormStrings.de-DE.resx

    strMessage

    Hallo Welt

    WinFormStrings.fr-FR.resx

    strMessage

    Bonjour le Monde

El ile eklenen kaynaklara erişmek için

  1. İçinde Kod Düzenleyicisi'ni, Al System.Resources kod modülü başında ad.

    ' Visual Basic
    Imports System.Resources
    
    // C#
    using System.Resources;
    
  2. Tasarım görünümünde kodunu görüntülemek için düğmeyi çift tıklatın, Click olay işleyicisi ve aşağıdaki kodu ekleyin. ResourceManager Kurucusu iki bağımsız değişken alır. İlk kaynaklara kök adıdır — yani, kültür ve .resx sonekleri olmadan kaynak dosyanın adı. İkinci bağımsız değişken ana derlemesidir.

    Bu izlenecek yolda, hiçbir ad bildirilen, bunu ilk bağımsız ResourceManager yapıcı, formda gerçekleştirebileceğiniz ProjectName.ResourceFileRootName. Ancak, bir gerçek dünya uygulama içinde ayarlarsýnýz DefaultNamespace özelliği. Bu durumda, kaynak yöneticisi kaynak dosyasının kendi ad alanı da dahil olmak üzere tam kök adı ile bildirmeniz gerekir. Örneğin, varsayılan ad MyCompany.MyApplication.MyComponent, ilk bağımsız ResourceManager kurucusu olabilir 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"));
    

    Not

    Varsayılan olarak, ResourceManager nesnesidir, büyük küçük harf duyarlıdır."txtwelcome" "txtWelcome" olarak aynı kaynak alır büyük küçük harf duyarlı bir arama yapmak istiyorsanız, kaynak yöneticisinin ayarlayabilirsiniz IgnoreCase özelliğine true.Ancak, performansla ilgili nedenlerden dolayı her zaman kaynak adları doğru durum belirlemek en iyisidir.Büyük küçük harf duyarsız kaynak aramaları yapmak, performans sorunlarına neden olabilir.

  3. Oluşturup formu çalıştırın. Düğmeyi tıklayın.

    UI kültürü ayarı uygun bir dize ileti kutusu görüntüler; veya bir kaynak için UI kültürü bulamıyorsanız, geri dönüş kaynaklardan bir dize görüntülenir.

Ayrıca bkz.

Görevler

Nasıl yapılır: Windows Forms Genelleştirme için Kültürü ve Kullanıcı Arabirimi Kültürünü Ayarlama