WPF Genelleştirmesi ve Yerelleştirmesine Genel Bakış

Tek bir dil için ürününüzün kullanılabilirlik sınırladığınızda, potansiyel müşteri bizim dünyadaki 6.5 milyar nüfusun kesir için temel sınırlama. Uygulamalarınızı genel bir hedef kitleye ulaşmak istiyorsanız, ürünün düşük maliyetli yerelleştirme daha fazla müşterilere ulaşmak için en iyi ve en ekonomik yollardan biridir.

Bu genel bakış, Globalizasyon ve yerelleştirme de tanıtır Windows Presentation Foundation (WPF). Genelleştirme tasarım ve birden çok konumda gerçekleştiren uygulamalar geliştirilmesini adıdır. Örneğin, kullanıcılar farklı kültürler için yerelleştirilmiş kullanıcı arabirimleri ve bölgesel veri genelleştirme destekler. WPFOtomatik Düzen, uydu derlemelerinin ve yerelleştirilmiş öznitelikleri de dahil olmak üzere ve yorum globalized tasarım özellikleri de sağlar.

Yerelleştirme uygulama kaynak uygulamayı destekleyen özel kültürler için yerelleştirilmiş sürüm çeviridir. Localize ne zaman WPF, API'leri kullanmak System.Windows.Markup.Localizer ad. Bu API'ler güç LocBaml aracı örnek komut satırı aracı. Yapı ve LocBaml nasıl kullanılacağı hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Uygulamayı yerelleştirin..

Bu konu aşağıdaki bölümleri içerir.

  • Genelleştirme ve wpf, yerelleştirme için en iyi yöntemler
  • wpf uygulama yerelleştirmek
  • wpf yerelleştirme örnekleri

Genelleştirme ve wpf, yerelleştirme için en iyi yöntemler

Yerleşik bulunan en Globalizasyon ve yerelleştirme işlevselliği yapabileceğiniz WPF kullanıcı Arabirimi tasarımı ve bu bölüm sağlar Yerelleştirme ile ilgili ipuçlarını izleyerek.

wpf UI tasarımı için en iyi yöntemler

Tasarlarken bir WPFtabanlı UI, bu en iyi yöntemleri kullanmayı düşünebilirsiniz:

  • Yazma sizin UI , XAML; oluşturmaktan kaçının UI kod. Oluşturduğunuzda, sizin UI kullanarak XAML, yerleşik yerelleştirme arkasını göstermekAPI'leri.

  • İçerik teslim alma düzenlemek için mutlak pozisyonları ve sabit boyutları'nı kullanmaktan kaçının; Bunun yerine, göreli ya da otomatik boyutlandırma kullanın.

    • Use SizeToContent; genişlikleri ve yükseklikleri için tutmak ve Auto.

    • Kullanmaktan kaçının Canvas düzenlemek için UIs.

    • Use Grid ve kendi boyut Paylaşımı özelliği.

  • Yerelleştirilmiş metin genellikle daha fazla alan gerektirdiğinden kenar boşlukları içinde fazladan boşluk sağlar. Fazladan boşluk için olası overhanging karakteri verir.

  • Etkinleştirme TextWrapping üzerinde TextBlock önlemek kırpma.

  • Set xml:lang özniteliği. Bu öznitelik, belirli bir öðeyi ve onun alt öðelerini kültür açıklar. Bu özelliğin değeri bulunan pek çok özellik davranışını değiştirir WPF. Örneğin, heceleme, yazım denetimi, numara değiştirme, karmaşık kod biçimlendirme ve yazı tipi geri dönüş. davranışını değiştirir Bkz: WPF İçin Genelleştirme ayarı hakkında daha fazla bilgi için XML: lang XAML işleme.

  • Farklı diller için kullanılan yazı tiplerini daha iyi denetlemek için özelleştirilmiş bir bileşik font oluşturun. Varsayılan olarak, WPF kullanan GlobalUserInterface.composite yazı Windows\Fonts dizin.

  • Yerelleştirilmiş gezinti uygulamalar oluşturduğunuzda, bir kültürün, metni sağdan sola biçiminde sunar, açıkça ayarlanmış FlowDirection emin olmak sayfayı her sayfanın devralmaz FlowDirection dan NavigationWindow.

  • Dışında bir tarayıcı barındırılan tek başına gezinti uygulamalar oluşturduğunuzda, StartupUri ilk uygulamanız için bir NavigationWindow yerine bir sayfaya (örneğin, <Application StartupUri="NavigationWindow.xaml">). Bu tasarım değiştirmenizi sağlar FlowDirection penceresinin ve gezinti Kısayollarım Daha fazla bilgi ve bir örnek için bkz: Genelleştirme Homepage örnek.

wpf yerelleştirme için en iyi yöntemler

Localize ne zaman WPFtabanlı uygulamalar, düşünün bu en iyi uygulama:

  • Localizers için ek bağlam sağlamak için yerelleştirme yorumları kullanın.

  • Seçmeli olarak atlama yerine yerelleştirme denetlemek için yerelleştirme öznitelikleri kullanın Uid Özellikler üzerinde öðeleri. See Yerelleştirme Öznitelikleri ve Yorumlar for more information.

  • Use msbuild /t:updateuid ve /t:checkuid ekleyin ve denetlemek için Uid özelliklerinde sizin XAML. Use Uid geliştirme ve arasındaki değişiklikleri izlemek için Özellikler yerelleştirme.Uid Özellikleri yardımcı, yerelleştirmek yeni geliştirme değişiklikleri. El ile eklemeniz, Uid özellikleri için bir UI, genellikle sıkıcı ve daha az doğru görev.

    • Düzenleme değiştirme veya Uid Özellikler sonra başlamadan yerelleştirme.

    • Yinelenen kullanmayın Uid özellikleri (unutmayın Bu ipucu Kopyala ve Yapıştır komutunu kullandığınızda).

    • Set UltimateResourceFallback AssemblyInfo.* geri dönüş için uygun dili belirlemek için bir konumda (örneğin, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).

      Kaynak dilinizi atarak ana derlemede dahil etmek karar <UICulture> proje dosyanızda etiketi, set UltimateResourceFallback konumu uydu yerine ana derleme olarak (örneğin, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]).

wpf uygulama yerelleştirmek

Localize ne zaman bir WPF uygulaması, sahip birkaç seçenekleri. Örneğin, uygulamanızdaki yerelleştirilebilir kaynaklarına bağlayabilirsiniz bir XML Dosya, resx tablolardaki yerelleştirilebilir metin depolamak veya Yerelleştiricisi kullanacak olan Extensible Application Markup Language (XAML) dosyaları. Bu bölümde, birçok yarar sağlar xaml baml biçimini kullanan bir yerelleştirme iş akışı açıklanmıştır:

  • Sonra oluşturacağınız yerelleştirebilirsiniz.

  • Böylece geliştirdiğiniz aynı anda yerelleştirebilirsiniz XAML baml formu eski bir sürümünden XAMLwith yerelleştirmeler baml biçiminde yeni bir sürüme güncelleştirebilir.

  • XAML baml formu derlenmiş biçiminde olduğu için özgün kaynak öğeleri ve semantiği derleme zamanında doğrulamak için XAML.

Yerelleştirme oluşturma işlemi

Ne zaman, geliştirdiğiniz bir WPF uygulama, oluşturma işlemi yerelleştirme gibidir:

  • Geliştirici oluşturur ve globalizes WPF uygulama. Projede dosya geliştirici kümeleri <UICulture>en-US</UICulture> ne zaman uygulama derlenmiş böylece dilden ana birleştirme oluşturulur. Bu derleme bir uydu sahiptir. yerelleştirilebilir tüm kaynakları içeren resources.dll dosyası. İsteğe bağlı olarak, çünkü ana derleme kaynak dil tutabilirsiniz bizim yerelleştirme APIs Destek ayıklama ana birleştirme.

  • Dosya yapıda derlendiğinde XAML xaml. baml forma dönüştürülür Culturally nötr MyDialog.exe ve culturally bağımlı (İngilizce) MyDialog.resources.dll dosyaları yayımlanan İngilizce konuşulur müşteri.

Yerelleştirme iş akışı

Yerelleştirme işlemini unlocalized sonra başlayan MyDialog.resources.dll Dosya üretilmiştir. UI Öğeleri ve Özellikler orijinal, XAML gelen ayıklanır baml forma XAML anahtar-değer çiftlerini kullanarak APIs altında System.Windows.Markup.Localizer. Localizers anahtar-değer çiftleri uygulama yerelleştirmek için kullanın. Yeni üretebilirsiniz. yerelleştirme tamamlandıktan sonra yeni değerlerinden resource.dll.

Anahtarlar, anahtar-değer çiftleri x:Uid orijinal geliştiricisi tarafından yerleştirilen değerleri XAML. Bu x:Uid değerleri etkinleştirmek API izlemek ve geliştirici ve yerelleştirme sırasında Yerelleştiricisi arasında gerçekleşen değişiklikleri Birleştir Geliştirici değiştirir, örneğin, UI Yerelleştiricisi yerelleştirme başladıktan sonra en alt düzeyde çeviri çalışma böylece geliştirme değişiklik zaten tamamlanmış yerelleştirme çalışmaları ile birleştirebilirsiniz.

XAML baml formu temel alan bir tipik yerelleştirme iş akışı aşağıdaki grafikte gösterilmiştir. Bu diyagram, geliştirici uygulamayı İngilizce Yazar varsayar. Geliştirici oluşturur ve wpf uygulama globalizes. Projede dosya geliştirici kümeleri <UICulture>en-US</UICulture> böylece uydu ile oluşturulan yapı üzerinde bir dil nötr ana birleştirme. içeren tüm yerelleştirilebilir kaynakları. resources.dll wpf yerelleştirme API'lerini destekler çünkü ana derlemesinden ayıklama alternatif olarak bir kaynak dil ana derlemede tutmak. Derleme işleminden sonra baml derlenmiş xaml. Culturally nötr MyDialog.exe.resources.dll İngilizce konuşma müşteriye sevk.

Yerelleştirme iş akışıYerelleştirilmemiş iş akışı

wpf yerelleştirme örnekleri

Nasıl oluşturmak ve yerelleştirmek anlamanıza yardımcı olmak için yerelleştirilmiş uygulamalarına örnek olarak, bu bölümde bulunur WPF uygulamaları.

Çalıştır iletişim kutusu örneği

Aşağıdaki grafik çıktısını Göster çalıştırmak iletişim kutusunu örnek.

English:

Çalıştır iletişim kutusu

German:

Almanca Çalıştır iletişim kutusu

Genel Çalıştır iletişim kutusuna tasarlama

Bu örnek üreten bir çalıştırmak iletişim kutusunu kullanarak WPF ve XAML. Bu iletişim kutusu eşdeğerdir çalıştırmak kullanılabilir iletişim kutusu Microsoft Windows Başlat menüsü.

Genel iletişim kutuları yapmak için bazı önemli şunlardır:

Automatic Layout

Window1.XAML:

<Window SizeToContent="WidthAndHeight">

Önceki pencere özelliği, içeriğin boyutuna bağlı olarak pencereyi otomatik olarak yeniden boyutlandırır. Bu özellik kesme kapatma sonra yerelleştirme boyutu büyüyen içerik penceresini engeller; İçerik sonra yerelleştirme boyutu inerse de gereksiz boşluk kaldırır.

<Grid x:Uid="Grid_1">

Uidözellikleri sağlamak için gerekli WPF yerelleştirme APIs düzgün çalışabilmesi için.

Tarafından kullanılan WPF yerelleştirme APIs geliştirilmesi ve yerelleştirilmesini değişiklikleri izlemek için user interface (UI). Uidözellikleri etkinleştirme, daha yeni bir sürümüne birleştirmek UI eski bir yerelleştirme ile UI. Eklediğiniz bir Uid çalıştırarak özelliği msbuild /t:updateuid RunDialog.csproj komut kabuğu. Ekleme için önerilen yöntem budur Uid özelliklerini el ile ekleme genellikle zaman daha az doğru olduğundan ve. Kontrol Uid özelliklerini doğru şekilde çalıştırarak ayarlamak msbuild /t:checkuid RunDialog.csproj.

UI Kullanarak yapılandırılmış Grid Otomatik Düzen'ten de faydalanarak için yararlı bir denetimi denetim içinde WPF. Not iletişim kutusunun üç satır ve beş sütun halinde ayrılır. Satır ve sütun tanımlarını bir boyutu sabittir; Bu yüzden, UI her hücrede konumlandırılmış öğeler için artışlar uyum ve boyutu yerelleştirme. sırasında azalır

<Grid.ColumnDefinitions>
  <ColumnDefinition x:Uid="ColumnDefinition_1" />
  <ColumnDefinition x:Uid="ColumnDefinition_2" />

İlk iki sütunu nerede açık: Etiket ve ComboBox yerleştirilir % 10'unu kullanmak UI toplam genişliği.

  <ColumnDefinition x:Uid="ColumnDefinition_3" SharedSizeGroup="Buttons" />
  <ColumnDefinition x:Uid="ColumnDefinition_4" SharedSizeGroup="Buttons" />
  <ColumnDefinition x:Uid="ColumnDefinition_5" SharedSizeGroup="Buttons" />
</Grid.ColumnDefinitions>

Örneğin paylaşılan boyutlandırma özelliği kullanır Not Grid. Son üç sütun bu kendilerini aynı şekilde yerleştirerek yararlanmak SharedSizeGroup. Bir özelliğin adını beklediğiniz gibi bu sütunları aynı boyutta paylaşmak sağlar. Bunu ne zaman "Gözat…" yerelleştirilmiş uzun dizeye "durchsuchen…" küçük "Tamam" yerine genişliğinin tüm düğmeleri büyümesine Düğme ve orantısız büyük bir "Durchsuchen…" düğme.

Xml:lang

Xml:lang="en-US"

Bildirimde XML: lang XAML işleme kök öğede yerleştirilen UI. Bu özellik, belirli bir öðe ve alt kültür açıklar. Bu değer bulunan pek çok özellik tarafından kullanılan WPF ve değiştirilmesi gerektiği gibi sırasında yerelleştirme. Bu değer, heceleme ve onay sözcükleri yazım için hangi dil sözlüğünü kullanın değişir. Ayrıca, basamak ve nasıl kullanılacak yazı tipini yazı tipi geri dönüş sistem seçer görünümünü etkiler. Son olarak, yol sayıların görüntülenme özelliği etkiler ve karmaşık komut dosyaları yazılmış şekilde metinleri şeklinde. "En-US" varsayılan değerdir.

Building a Satellite Resource Assembly

.Csproj içinde:

<UICulture>en-US</UICulture>

Ayrıca dikkat edin bir UICulture değer. Bu ayarlandığında geçerli bir CultureInfo en-US, proje oluşturma gibi değer it. yerelleştirilebilir tüm kaynaklara sahip bir uydu derleme oluşturmak

<Resource Include="RunIcon.JPG">

<Localizable>False</Localizable>

</Resource>

RunIcon.JPG Çünkü görünür tüm kültürler için aynı yerelleştirilmiş olmalıdır gerekmez Localizableayarlamak false böylece kalır derlemesinde dil nötr ana yerine uydu derleme. Varsayılan değer tüm noncompilable kaynakları Localizable için true.

Çalıştır iletişim kutusunu yerelleştirme

Parse

Uygulama geliştirdikten sonra onu yerelleştirme ilk adımı yerelleştirilebilir kaynakları uydu derleme ayrıştırma olur. Bu konuda amacıyla adresinde bulunan örnek LocBaml aracını kullanarak LocBaml aracı örnek. LocBaml yalnızca yerelleştirme işleminizin uyan bir yerelleştirme aracı oluşturulmasında başlamanıza yardımcı olmak için planlanan bir örnek araç olduğunu unutmayın. LocBaml kullanarak ayrıştırmak için aşağıdaki komutu çalıştırın: LocBaml /parse RunDialog.resources.dll /out:"RunDialog.resources.dll.CSV" oluşturmak için dosya.

Localize

Bu dosyayı düzenlemek için Unicode'u destekleyen tercih ettiğiniz csv düzenleyicisi kullanın. Yerelleştirme kategori olarak "Yok" olan tüm girdileri filtre. Aşağıdaki girdileri görmeniz gerekir:

Kaynak anahtarı

Yerelleştirme kategorisi

Value

Button_1:System.Windows.Controls.button.$Content

Button

OK

Button_2:System.Windows.Controls.button.$Content

Button

Cancel

Button_3:System.Windows.Controls.button.$Content

Button

Gözat...

ComboBox_1:System.Windows.Controls.ComboBox.$Content

ComboBox

TextBlock_1:System.Windows.Controls.TextBlock.$Content

Text

Bir program, klasör, belge veya Internet kaynağının adını yazın ve Windows sizin için açacaktır.

TextBlock_2:System.Windows.Controls.TextBlock.$Content

Text

Aç:

Window_1:System.Windows.Window.title

Title

Run

Uygulama-Almanca yerelleştirme aşağıdaki çevirileri gerekir:

Kaynak anahtarı

Yerelleştirme kategorisi

Value

Button_1:System.Windows.Controls.button.$Content

Button

OK

Button_2:System.Windows.Controls.button.$Content

Button

Abbrechen

Button_3:System.Windows.Controls.button.$Content

Button

Durchsuchen…

ComboBox_1:System.Windows.Controls.ComboBox.$Content

ComboBox

TextBlock_1:System.Windows.Controls.TextBlock.$Content

Text

Geben Sie odası Namen eines Programms, Ordners, Dokuments sıralanan einer Internetresource bir.

TextBlock_2:System.Windows.Controls.TextBlock.$Content

Text

Öffnen:

Window_1:System.Windows.Window.title

Title

Run

Generate

Yerelleştirme son adımı yeni yerelleştirilmiş uydu derleme oluşturulmasıdır. Bu, aşağıdaki LocBaml komutu ile yapılabilir:

LocBaml.exe /generate RunDialog.resources.dll /trans:RunDialog.resources.dll.CSV /out: . /cul:de-DE

Almanca üzerinde Windows, bu resources.dll ana düzeneği, bir de-de klasöre yerleştirilmişse bu kaynak otomatik olarak yükleyin bir en-US klasör. Almanca sürümü yoksa, Windows Bunu sınamak için ayarlamak için ne olursa olsun kültür kültür Windows kullandığınız (yani en-US) ve özgün resources.dll değiştirin.

Satellite Resource Loading

MyDialog.exe

en-US\MyDialog.resources.dll

de-DE\MyDialog.resources.dll

Code

Özgün İngilizce baml

Yerelleştirilmiş baml

Culturally nötr kaynakları

Diğer kaynaklar İngilizce

Almanca olarak yerelleştirilmiş diğer kaynaklar

.net framework uygulamanın üzerinde tabanlı yüklemek için hangi uydu kaynakları derlemesi otomatik olarak seçer Thread.CurrentThread.CurrentUICulture. Bu varsayılanlar kültür olarak sizin Windows os. Almanca kullanıyorsanız, bunu Windows, de-DE\MyDialog.resources.dll yükler, İngilizce kullanıyorsanız Windows, en-US\MyDialog.resources.dll yükler. Projenizin AssemblyInfo.* NeutralResourcesLanguage belirterek, son geri dönüş kaynak uygulamanız için ayarlayabilirsiniz. Belirtir, örneğin:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]

de-DE\MyDialog.resources.dll veya de\MyDialog.resources.dll her ikisi de kullanılamaz olduğunda en-US\MyDialog.resources.dll Almanca Windows ile birlikte kullanılır.

Microsoft Suudi Arabistan Homepage

Aşağıdaki grafik, İngilizce ve Arapça giriş sayfasını göster. Bu grafikleri üreten tam örnek için bkz: Genelleştirme Homepage örnek.

English:

İngilizce sayfa

Arabic:

Arapça sayfa

Genel Microsoft giriş sayfası tasarlama

Kıvrımlı çizgilerle desenler bu oluşturmaları oluşturan Microsoft Suudi Arabistan web sitesi RightToLeft diller için sağlanan genelleştirme özellikleri göstermektedir. Dilleri, İbranice ve Arapça gibi sağdan sola okuma sırası böylece sahip düzenini UI genellikle düzenlenmelidir soldan sağa diller İngilizce. gibi olacaktır oldukça farklı Soldan sağa dilden sağdan sola bir dil ya da tam tersi yerelleştirme oldukça zor olabilir. WPFBu tür yerelleştirmeler çok daha kolay hale getirmek için tasarlanmıştır.

FlowDirection

Homepage.XAML:

<Page x:Uid="Page_1" x:Class="MicrosoftSaudiArabiaHomepage.Homepage"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"   
    FlowDirection="LeftToRight" 
    Localization.Comments="FlowDirection(This FlowDirection controls the actual content of the homepage)"
    xml:lang="en-US">

Bildirimde FlowDirection özelliği Page. Bu özelliği değiştirme RightToLeft değişecek FlowDirection , Page ve onun alt öðelerini böylece bu düzeni UI Arapça bir kullanıcı beklediğiniz gibi sağa sola haline çevrilmiş. Biri geçersiz devralma davranış açık bir belirterek FlowDirection hiçbir öğe. FlowDirection Özelliği kullanılabilir herhangi FrameworkElement veya ilişkili öğenin belge ve örtülü bir değeri olan LeftToRight.

Hatta arka plan degrade Fırçalar düzgün ne zaman çevrilmiş olduğunu gözlemek kök FlowDirection değiştirildi:

FlowDirection = "lefttoright"

Soldan sağa akış

FlowDirection = "righttoleft"

Sağdan sola akış

Paneller ve denetimler için sabit boyutlar kullanmaktan kaçının

Homepage.xaml üzerinden bir göz atın, sabit genişlik ve yükseklik için tüm belirtilen sayılmazsa dikkat UI üstte DockPanel, yok yok diğer sabit boyutlar. Kaynak metni uzun olabilir yerelleştirilmiş metin kırpma önlemek için sabit boyutlar kullanmaktan kaçının. WPFpaneller ve denetimleri otomatik olarak yeniden boyutlandırma içerdikleri içeriğine göre olur. Çoğu denetimler de (yani daha fazla denetim için belirleyebileceğiniz minimum ve maksimum boyutlara sahip Değeri MinWidth = "20"). İle Grid, kullanarak göreli genişliklerini ve yükseklikleri de ayarlayabilirsiniz ' *' (yani Width = "0.25*") veya hücre boyutuna Paylaşımı özelliğini kullanın.

Localization Comments

Çoğu zaman burada içeriği belirsiz çevirmek zor olabilir vardır. Geliştirici veya Tasarımcısı localizers yerelleştirme açıklamaları arasında ek içerik ve açıklama sağlamak için oynanabilir. Örneğin aşağıdaki Localization.Comments karakter kullanımını açıklar ' |'.

<TextBlock 
  x:Uid="TextBlock_2" 
  DockPanel.Dock="Right" 
  Foreground="White" 
  Margin="5,0,5,0"
  Localization.Comments="$Content(This character is used as a decorative rule.)">
  |
</TextBlock>

Bu açıklama ile TextBlock_1'ın içeriği ve LocBaml aracı örneğinde ilişkilendirilir (bkz: Nasıl Yapılır: Uygulamayı yerelleştirin.), çıktı .csv dosyası TextBlock_1 satırda 6. sütununda görülebilir:

Kaynak anahtarı

Category

Okunabilir

Değiştirilebilir

Comment

Value

TextBlock_1:System.Windows.Controls.TextBlock.$Content

Text

TRUE

TRUE

Bu karakter, dekoratif bir kural olarak kullanılır.

|

Yorum içeriği veya özellik sözdizimini kullanarak herhangi bir öğenin yer alır:

<TextBlock 
  x:Uid="TextBlock_1" 
  DockPanel.Dock="Right" 
  Foreground="White" 
  Margin="5,0,5,0"
  Localization.Comments="$Content(This is a comment on the TextBlock's content.)
     Margin(This is a comment on the TextBlock's Margin property.)">
  |
 </TextBlock>

Yerelleştirme öznitelikleri

Genellikle geliştirici veya yerelleştirme Yöneticisi'ne localizers okuma ve değiştirme denetim gerekiyor. Örneğin, şirketiniz veya yasal ifadesi adını çevirmek için Yerelleştiricisi istemeyebilirsiniz. WPFOkunabilirlik modifiability ve öðenin içerik veya yerelleştirme araç kilitleme, gizleme veya öğeleri sıralamak için kullanabileceğiniz özellik kategorisi ayarlamanızı öznitelikleri sağlar. For more information, see Attributes. Bu örnek amacıyla LocBaml aracı, yalnızca bu öznitelik değerleri çıkarır. WPFBu öznitelikler için varsayılan değer tüm denetimleri vardır ancak, can kılacak. Örneğin, aşağıdaki örnek için varsayılan yerelleştirme özellikleri geçersiz kılar TextBlock_1 ve okunabilir ancak localizers unmodifiable olacak içerik ayarlar

<TextBlock
x:Uid="TextBlock_1"
Localization.Attributes=
"$Content(Readable Unmodifiable)">
  Microsoft Corporation
</TextBlock>

Okunabilirlik ve modifiability özniteliklere ek olarak WPF bir numaralandırma yaygın UI kategorileri sağlar (LocalizationCategory) localizers daha fazla bağlam. vermek için kullanılabilecek WPF Platform denetimleri için varsayılan kategorileri geçersiz olarak XAML da:

<TextBlock x:Uid="TextBlock_2">
<TextBlock.ToolTip>
<TextBlock
x:Uid="TextBlock_3"
Localization.Attributes=
"$Content(ToolTip Readable Unmodifiable)">
Microsoft Corporation
</TextBlock>
</TextBlock.ToolTip>
Windows Vista
</TextBlock>

Özniteliklere varsayılan Yerelleştirme WPF sağlar de geçersiz koduyla, böylece doğru sağ varsayılan değerlerini ayarlayabilirsinizözel denetimleri. For example:

[Localizability(Readability = Readability.Readable, Modifiability=Modifiability.Unmodifiable, LocalizationCategory.None)]

public class CorporateLogo: TextBlock

{

..

.

}

Örnek öznitelik kümesinde her XAML çıkar üzerinden değerleri ayarlamak kod özel denetimleri. Öznitelikler ve açıklamaları hakkında daha fazla bilgi için bkz: Yerelleştirme Öznitelikleri ve Yorumlar.

Yazı tipi düşürme ve bileşik fontlar

Verilen codepoint aralığı desteği olmayan bir yazı tipini belirtmeniz durumunda WPF olacak bir genel kullanıcı Interface.compositefont Windows\Fonts dizin. bulunan kullanarak yapar otomatik olarak geri dönüş Bileşik fontlar diğer font çalışmak ve açıkça bir öðenin FontFamily (yani ayarlayarak kullanılabilir FontFamily = "Genel kullanıcı arabirimi"). Kendi bileşik font oluşturma ve belirli codepoint aralıkları ve diller için kullanmak için hangi yazı tipi belirterek, kendi yazı tipi geri dönüş tercih belirtebilirsiniz.

Bileşik fontlar hakkında daha fazla bilgi için bkz: FontFamily.

Microsoft giriş sayfasının yerelleştirme

Bu uygulama yerelleştirmek için Çalıştır iletişim örnek olarak aynı adımları izleyebilirsiniz. Arapça için yerelleştirilmiş bir .csv dosyası mevcut Genelleştirme Homepage örnek.