WPF Genelleştirmesi ve Yerelleştirmesine Genel Bakış
Ürün kullanılabilirliğini yalnızca bir dille sınırlarken, potansiyel müşteri tabanınızı dünyamızın 7,5 milyar nüfuslu bir bölümüyle sınırlandırirsiniz. Uygulamalarınızı küresel bir hedef kitleye ulaşmak için, daha fazla müşteriye ulaşmanın en iyi ve en ekonomik yollarından biri, ürününüz için uygun maliyetli yerelleştirmedir.
Bu genel bakış, genelleştirme ve yerelleştirmeyi Windows Presentation Foundation (WPF) sağlar. Genelleştirme, birden çok konumda gerçekleştiren uygulamaların tasarımı ve geliştirilmesidir. Örneğin, genelleştirme, farklı kültürlerde kullanıcılar için yerelleştirilmiş kullanıcı arabirimlerini ve bölgesel verileri destekler. WPF otomatik düzen, uydu derlemeleri, yerelleştirilmiş öznitelikler ve açıklama gibi genelleştirilmiş tasarım özellikleri sağlar.
Yerelleştirme, uygulama kaynaklarının, uygulamanın desteklediği belirli kültürler için yerelleştirilmiş sürümlere çevirisidir. WPF'de yerelleştiriken ad alanı içinde API'leri System.Windows.Markup.Localizer kullanırsınız. Bu API'ler LocBaml Tool Sample komut satırı aracını kullanır. LocBaml'i derleme ve kullanma hakkında bilgi için bkz. Bir Uygulamayı Yerelleştirme.
WPF'de Genelleştirme ve Yerelleştirme için En İyi Yöntemler
Bu bölümün sağladığı kullanıcı arabirimi tasarımı ve yerelleştirmeyle ilgili ipuçlarını takip edin ve WPF'de yerleşik olarak yer alan genelleştirme ve yerelleştirme işlevselliğiden en iyi şekilde kullanabilirsiniz.
WPF UI Tasarımı için En İyi Yöntemler
WPF tabanlı bir kullanıcı arabirimi tasarlarken şu en iyi yöntemleri uygulamayı göz önünde bulundurabilirsiniz:
Kullanıcı arabiriminizi XAML'de yazma; kodda kullanıcı arabirimi oluşturmaktan kaçının. Kullanıcı arabiriminizi XAML kullanarak oluşturma, yerleşik yerelleştirme API'leri aracılığıyla ortaya çıkarır.
İçeriği ortaya koyan mutlak konumlar ve sabit boyutlar kullanmaktan kaçının; bunun yerine göreli veya otomatik boyutlandırma kullanın.
Genişlikleri SizeToContent ve yükseklikleri kullanın ve olarak
Autoayarlayın.CanvasUI'leri ortaya koyarak kullanmaktan kaçının.
ve Grid boyut paylaşımı özelliğini kullanın.
Yerelleştirilmiş metin genellikle daha fazla alan gerektirdiği için kenar boşluklarında ek alan sağlar. Ek alan, olası fazla kullanma karakterlerine olanak sağlar.
Kırpmayı TextWrappingTextBlock önlemek için ayarını etkinleştirin.
özniteliğini
xml:langayarlayın. Bu öznitelik, belirli bir öğenin ve alt öğelerinin kültürünü açıklar. Bu özelliğin değeri, WPF'de çeşitli özelliklerin davranışını değiştirir. Örneğin, kısa çizgi, yazım denetimi, sayı değiştirme, karmaşık betik şekillendirme ve yazı tipi geri dönüş davranışını değiştirir. XAML'de xml:langİşleme'yi ayarlama hakkında daha fazla bilgi için bkz. WPF için Genelleştirme.Farklı diller için kullanılan yazı tipleri üzerinde daha iyi denetim elde etmek için özelleştirilmiş bir bileşik yazı tipi oluşturun. VARSAYıLAN olarak WPF, Windows\Fonts dizininizin GlobalUserInterface.composite yazı tipini kullanır.
Metinleri sağdan sola biçimde sunan bir kültürde yerelleştirilmiş olan gezinti uygulamaları oluşturmak için, sayfanın 'den devralmaması için her sayfanın açıkça FlowDirectionFlowDirectionNavigationWindow ayarlayın.
Bir tarayıcı dışında barındırılan tek başına gezinti uygulamaları oluşturdukta, ilk uygulamanız için yerine bir olarak bir StartupUriNavigationWindow (örneğin, )
<Application StartupUri="NavigationWindow.xaml">ayarlayın. Bu tasarım, Pencere ve FlowDirection gezinti çubuğunu değiştirmenizi sağlar. Daha fazla bilgi ve örnek için bkz. Genelleştirme Giriş Sayfası Örneği.
WPF Yerelleştirme için En İyi Yöntemler
WPF tabanlı uygulamaları yerelleştirerek şu en iyi yöntemleri uygulamaya dikkat edin:
Yerelleştiriciler için ek bağlam sağlamak üzere yerelleştirme açıklamalarını kullanın.
Öğelerde özellikleri seçmeli olarak atlar yerine yerelleştirmeyi kontrol etmek için Uid yerelleştirme özniteliklerini kullanın. Daha fazla bilgi için bkz. Yerelleştirme Öznitelikleri ve Açıklamalar.
msbuild -t:updateuid-t:checkuidUid XAML'nize özellikleri eklemek ve kontrol etmek için ve kullanın. Geliştirme Uid ve yerelleştirme arasındaki değişiklikleri izlemek için özellikleri kullanın. Uid özellikleri, yeni geliştirme değişikliklerini yerelleştirmeye yardımcı olur. Kullanıcı arabirimine Uid el ile özellik eklersiniz, görev genellikle sıkıcıdır ve daha az doğru olur.Yerelleştirmeye başladıktan Uid sonra özellikleri düzenleme veya değiştirme.
Yinelenen özellikleri kullanma Uid (kopyala ve yapıştır komutunu kullanırken bu ipucu unutmayın).
Geri dönüş
UltimateResourceFallbackiçin uygun dili belirtmek için AssemblyInfo.* içinde konumu ayarlayın (örneğin,[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).Kaynak dilinizi proje dosyanıza etiketini ekerek ana derlemeye dahil etmek için konumu uydu (örneğin, ) yerine ana derleme olarak
<UICulture>UltimateResourceFallback[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]ayarlayın.
WPF Uygulamasını Yerelleştirme
BIR WPF uygulamasını yerelleştirin, çeşitli seçenekleriniz vardır. Örneğin, uygulamanıza yerelleştirilebilir kaynakları bir XML dosyasına bağabilir, resx tablolarında yerelleştirilebilir metin depolar veya yerelleştiricinizin Extensible Application Markup Language (XAML) dosyalarını kullanmalarını silebilirsiniz. Bu bölümde XAML'nin BAML formunu kullanan ve çeşitli avantajlar sağlayan bir yerelleştirme iş akışı açıkmektedir:
Derlemeden sonra yerelleştirin.
Geliştirmeyle aynı anda yerelleştirmek için BAML formunun eski bir sürümünden yerelleştirmelerle XAML'nin BAML formunun daha yeni bir sürümüne güncelleştirebilirsiniz.
XAML'nin BAML biçimi derlenmiş XAML biçimi olduğundan, özgün kaynak öğeleri ve semantiği derleme zamanında doğruabilirsiniz.
Yerelleştirme Derleme Süreci
BIR WPF uygulaması geliştirirken, yerelleştirme için derleme işlemi aşağıdaki gibidir:
Geliştirici WPF uygulamasını oluşturur ve genelleştirmektedir. Proje dosyasında geliştirici, uygulama derlenmiş olduğunda dilden bağımsız bir ana
<UICulture>en-US</UICulture>derleme oluşturularak bunu ayarlar. Bu derleme, tüm yerelleştirilebilir resources.dll içeren bir uydu .resources.dll dosyasına sahip. İsteğe bağlı olarak, yerelleştirme API'lerimiz ana derlemeden ayıklamayı destekleyeneden kaynak dili ana derlemede tutabiliyoruz.Dosya derlemeye derlenmiş olduğunda XAML, XAML'nin BAML biçimine dönüştürülür. Kültürel olarak nötr
MyDialog.exeve kültürel olarak bağımlı (İngilizce) dosyalar İngilizce konuşan müşteriye serbestMyDialog.resources.dllbırakılacaktır.
Yerelleştirme İş Akışı
Yerelleştirme işlemi, yerelleştirilmiş olmayan dosyanın ardından MyDialog.resources.dll başlar. Özgün XAML'nizin kullanıcı arabirimi öğeleri ve özellikleri, altındaki API'ler kullanılarak XAML'nin BAML formundan anahtar-değer çiftlerine System.Windows.Markup.Localizer ayıklanır. Yerelleştiriciler, uygulamayı yerelleştirmek için anahtar-değer çiftlerini kullanır. Yerelleştirme tamamlandıktan sonra resource.dll yeni değerlerden yeni bir .resource.dll .resource.dll oluşturebilirsiniz.
Anahtar-değer çiftlerinin anahtarları, x:Uid geliştirici tarafından özgün XAML'ye yerleştirilen değerlerdir. Bu x:Uid değerler, API'nin yerelleştirme sırasında geliştirici ile yerelleştirici arasında yapılan değişiklikleri izlemesini ve birleştirmesini sağlar. Örneğin, yerelleştirici yerelleştirme başladıktan sonra geliştirici kullanıcı arabirimini değiştirirse, en az çeviri çalışması kaybedilsin diye geliştirme değişikliğini zaten tamamlanmış yerelleştirme çalışmasıyla birleştirebilirsiniz.
Aşağıdaki grafikte, XAML'nin BAML biçimine dayalı tipik bir yerelleştirme iş akışı gösterir. Bu diyagramda geliştiricinin uygulamayı İngilizce yazdığı varsaymaktadır. Geliştirici WPF uygulamasını oluşturur ve genelleştirmektedir. Proje dosyasında geliştirici, derlemede tüm yerelleştirilebilir kaynakları içeren bir .resources.dll uydusu ile dil bağımsız ana <UICulture>en-US</UICulture> derlemesi oluşturularak ayarlar. Alternatif olarak, WPF yerelleştirme API'leri ana derlemeden ayıklamayı destekleyene kaynak dili ana derlemede tutabilirsiniz. Derleme işleminin ardından XAML BAML'ye derlenmiş olur. Kültürel olarak nötr MyDialog.exe.resources.dll İngilizce konuşan müşteriye gönderilir.


WPF Yerelleştirme Örnekleri
Bu bölüm, WPF uygulamalarını derlemeyi ve yerelleştirmeyi anlamanıza yardımcı olacak yerelleştirilmiş uygulamaların örneklerini içerir.
Çalıştır İletişim Kutusu Örneği
Aşağıdaki grafikler Çalıştır iletişim kutusu örneğinin çıkışını gösterir.
İngilizce:

Almanca:

Genel Çalıştırma İletişim Kutusu Tasarlama
Bu örnek, WPF ve XAML kullanarak bir Çalıştır iletişim kutusu üretir. Bu iletişim kutusu, Microsoft Windows Başlat menüsü.'dan kullanılabilen Çalıştır iletişim kutusuyla Windows Başlat menüsü.
Genel iletişim kutularının öne çıkan bazı özellikleri:
Otomatik Düzen
Window1.xaml içinde:
<Window SizeToContent="WidthAndHeight">
Önceki Window özelliği, pencereyi içeriğin boyutuna göre otomatik olarak yeniden boyutlandırıyor. Bu özellik, pencerenin yerelleştirmeden sonra boyut artıran içeriği kesmesini önler; Ayrıca, içerik yerelleştirmeden sonra boyut azaldığı zaman da boş alanı kaldırır.
<Grid x:Uid="Grid_1">
Uid WPF yerelleştirme API'leri düzgün çalışması için özellikler gereklidir.
WPF yerelleştirme API'leri tarafından kullanıcı arabiriminin (UI) geliştirilmesi ve yerelleştirilmesi arasındaki değişiklikleri izlemek için kullanılır. Uid özellikleri, kullanıcı arabiriminin daha yeni bir sürümünü kullanıcı arabiriminin daha eski bir yerelleştirmesi ile birleştirmeye olanak sağlar. Komut Uid kabuğunda komutunu msbuild -t:updateuid RunDialog.csproj çalıştırarak bir özellik eklersiniz. Bu özellik eklemenin önerilen yöntemidir çünkü bunları el ile eklemek genellikle zaman alır Uid ve daha az doğru olur. çalıştırarak özelliklerin Uid doğru ayar olup olmadığını kontrol msbuild -t:checkuid RunDialog.csproj edin.
Kullanıcı arabirimi, WPF'de otomatik düzenden yararlanmak için kullanışlı bir denetim olan Grid denetimi kullanılarak yapılandırılmıştır. İletişim kutusunun üç satıra ve beş sütuna ayrıldığını unutmayın. Satır ve sütun tanımlarından biri sabit bir boyuta sahip değildir; Bu nedenle, her hücrede konumlanmış kullanıcı arabirimi öğeleri, yerelleştirme sırasında boyut artışlarına ve azalmalarına uyarlanabilir.
<Grid.ColumnDefinitions>
<ColumnDefinition x:Uid="ColumnDefinition_1" />
<ColumnDefinition x:Uid="ColumnDefinition_2" />
Open: etiketinin yerleştiril olduğu ilk iki sütun, kullanıcı arabirimi toplam genişliğinin yüzde 10'larını kullanır.
<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ğini kullandığını Grid unutmayın. Son üç sütun, kendilerini aynı içine yerleştirerek bundan SharedSizeGroup faydalanıyor. Özelliğin adıyla beklediğiniz gibi bu, sütunların aynı boyutu paylaşması için izin verir. Bu nedenle , "Gözat..." , daha uzun "Durchsuchen..." dizesine yerelleştirilmiş olur, küçük bir "Ok" düğmesi ve orantısız büyük bir "Durchsuchen..." yerine tüm düğmeler genişliğe sahip olur Düğme.
xml:lang
xml:lang="en-US"
Kullanıcı arabiriminin kök öğesine yerleştirilen XAML'de xml:lang İşlemesi'ne dikkatin. Bu özellik, belirli bir öğenin ve onun çocuk kültürünü açıklar. Bu değer, WPF'de çeşitli özellikler tarafından kullanılır ve yerelleştirme sırasında uygun şekilde değiştir kullanılmalıdır. Bu değer, kısa çizgi ve yazım denetimi sözcükleri için hangi dil sözlüğünün kullanı olduğunu değiştirir. Ayrıca basamakların görüntülenmesini ve yazı tipi geri dönüş sisteminin hangi yazı tipinin kullanılayeceğini seçmesini de etkiler. Son olarak özelliği sayıların görüntülenme şeklini ve karmaşık betiklerde yazılan metinlerin şeklini etkiler. Varsayılan değer "en-US" şeklindedir.
Uydu Kaynak Derlemesi Derleme
.csproj içinde:
Dosyasını .csproj düzenleyin ve koşulsuz bir etikete aşağıdaki etiketi <PropertyGroup> ekleyin:
<UICulture>en-US</UICulture>
Bir değerin ekli olduğunu UICulture fark vardır. Bu en-US gibi geçerli bir değere ayarlanırsa, proje oluşturulurken içinde tüm yerelleştirilebilir kaynakların CultureInfo yerleştirilebilir olduğu bir uydu derlemesi oluşturulur.
<Resource Include="RunIcon.JPG">
<Localizable>False</Localizable>
</Resource>
RunIcon.JPGtüm kültürler için aynı şekilde görünmesi gerektiği için yerelleştirilmiş olması gerekmeyecektir. Localizable , uydu false derlemesi yerine dilden bağımsız ana derlemede kalacak şekilde olarak ayarlanır. Tüm tamamlanabilir olmayan kaynakların varsayılan değeri olarak Localizabletrue ayarlanır.
Çalıştırma İletişim Kutusunu Yerelleştirme
Parse
Uygulamayı derlemenin ardından yerelleştirmenin ilk adımı, yerelleştirilebilir kaynakları uydu derlemeden ayrıştırmaktır. Bu konu başlığında, LocBaml Tool Sample (LocBamlAraç Örneği) başlığında bulunan örnek LocBaml aracını kullanın. LocBaml'nin yalnızca yerelleştirme sürecinize uygun bir yerelleştirme aracı inşa etmeye başlamanıza yardımcı olacak örnek bir araç olduğunu unutmayın. LocBaml kullanarak, "RunDialog.resources.dll.CSV" dosyası oluşturmak için LocBaml /parse RunDialog.resources.dll /out: ayrıştırmak için aşağıdakini çalıştırın.
Yerelleştirmek
Bu dosyayı düzenlemek için Unicode'u destekleyen sık kullanılan CSV düzenleyicinizi kullanın. "Hiçbiri" yerelleştirme kategorisine sahip tüm girişleri filtrele. Aşağıdaki girişleri görüyor gerekir:
| Kaynak Anahtarı | Yerelleştirme Kategorisi | Değer |
|---|---|---|
| Button_1:System. Windows. Controls.Button.$Content | Düğme | Tamam |
| Button_2:System. Windows. Controls.Button.$Content | Düğme | İptal |
| Button_3:System. Windows. Controls.Button.$Content | Düğme | Göz at... |
| ComboBox_1:System. Windows. Controls.ComboBox.$Content | ComboBox | |
| TextBlock_1:System. Windows. Controls.TextBlock.$Content | Metin | Bir program, klasör, belge veya İnternet kaynağının adını girdiğinizde Windows tarafından açılır. |
| TextBlock_2:System. Windows. Controls.TextBlock.$Content | Metin | Aç: |
| Window_1:System. Windows. Window.Title | Başlık | Çalıştır |
Uygulamayı Almanca olarak yerelleştirme aşağıdaki çevirileri gerektirir:
| Kaynak Anahtarı | Yerelleştirme Kategorisi | Değer |
|---|---|---|
| Button_1:System. Windows. Controls.Button.$Content | Düğme | Tamam |
| Button_2:System. Windows. Controls.Button.$Content | Düğme | Abbre liken |
| Button_3:System. Windows. Controls.Button.$Content | Düğme | Durchsuchen... |
| ComboBox_1:System. Windows. Controls.ComboBox.$Content | ComboBox | |
| TextBlock_1:System. Windows. Controls.TextBlock.$Content | Metin | Zamanan Sie den Namen eines Programms, Ordners, Dokuments oder einer Internetresource an. |
| TextBlock_2:System. Windows. Controls.TextBlock.$Content | Metin | Öffnen: |
| Window_1:System. Windows. Window.Title | Başlık | Çalıştır |
Oluşturmak
Yerelleştirmenin son adımı, yeni yerelleştirilmiş uydu derlemenin oluşturulmasını içerir. Bu, aşağıdaki LocBaml komutuyla gerçek olabilir:
LocBaml.exe /generate RunDialog.resources.dll /trans:RunDialog.resources.dll.CSV: . /cul:de-DE
Almanca Windows, bu resources.dll ana derlemenin yanındaki de-DE klasörüne yerleştirilirse, bu kaynak en-US klasöründeki yerine otomatik olarak yüklenir. Bunu test etmek için Windows almanca sürümünüz yoksa, kültürü kullanmakta Windows herhangi bir kültüre ayarlayın (örneğin, ) ve özgün en-US kaynaklar DLL'sini değiştirin.
Uydu Kaynağı Yükleme
| MyDialog.exe | en-US\MyDialog.resources.dll | de-DE\MyDialog.resources.dll |
|---|---|---|
| Kod | Özgün İngilizce BAML | Yerelleştirilmiş BAML |
| Kültürel olarak nötr kaynaklar | İngilizce dilindeki diğer kaynaklar | Almancaya yerelleştirilmiş diğer kaynaklar |
.NET, uygulamanın uygulamasına göre hangi uydu kaynak derlemesi yüklenemediklerini otomatik olarak Thread.CurrentUICulture seçer. Bu, varsayılan olarak işletim sisteminizin Windows olur. almanya Windows kullanıyorsanız, de-DE\MyDialog.resources.dll dosyası yüklenir. ingilizce Windows kullanıyorsanız, en-US\MyDialog.resources.dll dosyası yüklenir. NeutralResourcesLanguageProjenizin NeutralResourcesLanguage dosyasında özniteliğini belirterek uygulamanız için en son geri dönüş kaynağını ayarlayabilirsiniz. Örneğin, şunu belirtirseniz:
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
en-US\MyDialog.resources.dll dosyası, aşağıdaki dosyalardan hiçbiri kullanılabilir değilse almanca Windows ile birlikte kullanılır: de-DE\MyDialog.resources.dll ya da de\MyDialog.resources.dll.
Microsoft Suudi Arabistan giriş sayfası
Aşağıdaki grafiklerde Ingilizce ve Arapça bir giriş sayfası gösterilmektedir. Bu grafikleri üreten tüm örnek için bkz. Genelleştirme giriş sayfası örneği.
İngilizce:

Arapça:

Küresel Microsoft ana sayfası tasarlama
Microsoft Suudi Arabistan Web sitesinin bu şekilde sahte olması, RightToLeft dilleri için sunulan Genelleştirme özelliklerini gösterir. Ibranice ve Arapça gibi dillerin sağdan sola okuma düzeni vardır. bu nedenle, Kullanıcı arabiriminin düzeni genellikle Ingilizce gibi soldan sağa dillerde olacak şekilde oldukça farklı bir şekilde düzenlenmelidir. Soldan sağa bir dilden sağdan sola bir dile veya tam tersi bir şekilde yerelleştirilmesi oldukça zor olabilir. WPF, bu tür yerelleştirmeleri çok daha kolay hale getirmek için tasarlanmıştır.
FlowDirection
Giriş sayfası. xaml:
<Page x:Uid="Page_1" x:Class="MicrosoftSaudiArabiaHomepage.Homepage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
FlowDirection="LeftToRight"
Localization.Comments="FlowDirection(This FlowDirection controls the actual content of the homepage)"
xml:lang="en-US">
Özelliği üzerinde olduğuna dikkat edin FlowDirectionPage . Bu özelliğin olarak değiştirilmesi, RightToLeftFlowDirectionPage ve alt öğelerinin, bu kullanıcı arabiriminin düzeninin, Arapça Kullanıcı tarafından beklenecek şekilde sola dönüşecek şekilde değiştirilmesini sağlayacak şekilde değişir. Herhangi bir öğe üzerinde açık bir şekilde belirterek devralma davranışını geçersiz kılabilir FlowDirection . FlowDirectionÖzelliği herhangi bir FrameworkElement veya belge ile ilgili herhangi bir öğede kullanılabilir ve örtülü bir değeri vardır LeftToRight .
Kök değiştirildiğinde arka plan gradyanı fırçalarının doğru şekilde çevrildiğini de gözlemleyin FlowDirection :
FlowDirection = "Solttoright"

FlowDirection = "RightToLeft"

Paneller ve denetimler için sabit boyutlar kullanmaktan kaçının
Giriş sayfası. xaml 'ye göz atın, en üstteki Kullanıcı arabiriminin tamamı için belirtilen sabit genişlik ve yüksekliğin yanı sıra başka bir sabit boyut olmadığına dikkat edin DockPanel . Kaynak metinden daha uzun olabilecek Yerelleştirilmiş metnin kırpılmasını önlemek için sabit boyutlar kullanmaktan kaçının. WPF bölmeleri ve denetimleri, içerdikleri içeriğe göre otomatik olarak yeniden boyutlandırılır. Çoğu denetim Ayrıca daha fazla denetim için ayarlayabileceğiniz en düşük ve en büyük boyutlara sahiptir (örneğin, MinWidth = "20"). İle Grid , ' * ' kullanarak göreli genişlikleri ve yükseklikleri de ayarlayabilirsiniz (örneğin, Width="0.25*" ) veya hücre boyutu paylaşımı özelliğini kullanabilirsiniz.
Yerelleştirme açıklamaları
İçeriğin belirsiz ve çevrilme zor olabileceği birçok durum vardır. Geliştirici veya tasarımcı, yerelleştirme açıklamaları aracılığıyla Yereller için ek bağlam ve açıklamalar sağlama olanağına sahiptir. Örneğin, yerelleştirme. aşağıdaki açıklamalar ' | ' karakterinin kullanımını açıklığa kavuşturulur.
<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 yorum, TextBlock_1 içeriğiyle ve LocBaml aracı durumunda (bkz. bir uygulamayı yerelleştirin) ilişkili hale gelir. Bu, çıktı .csv dosyasında TextBlock_1 satırın 6 sütununda görülebilir:
| Kaynak anahtarı | Kategori | Ama | Düzenlenerek | Yorum | Değer |
|---|---|---|---|---|---|
| TextBlock_1: sistem. Windows. Controls. TextBlock. $Content | Metin | TRUE | TRUE | Bu karakter, dekoratif bir kural olarak kullanılır. | | |
Açıklamalar, aşağıdaki sözdizimi kullanılarak herhangi bir öğenin içeriğine veya özelliğine yerleştirilebilir:
<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, Yerelleştiricilerin okuyup değiştirebilecekleri denetimi gerektirir. Örneğin, yerelleştiriciye şirketinizin adını ya da yasal bir şekilde çevirmesini istemeyebilirsiniz. WPF, yerelleştirme aracınızın öğeleri kilitlemek, gizlemek veya sıralamak için kullanabileceği bir öğenin içerik veya özelliğinin okunabilirliğini, modifilebilirliği ve kategorisini ayarlamanızı sağlayan öznitelikler sağlar. Daha fazla bilgi için bkz. Attributes. Bu örneğin amaçları doğrultusunda, LocBaml aracı yalnızca bu özniteliklerin değerlerini çıktı olarak verir. WPF denetimlerinin hepsi bu öznitelikler için varsayılan değerlere sahiptir, ancak bunları geçersiz kılabilirsiniz. Örneğin, aşağıdaki örnek için varsayılan yerelleştirme özniteliklerini geçersiz kılar TextBlock_1 ve içeriği yerellerde okunabilir ancak değiştirilemeyen olarak ayarlar.
<TextBlock
x:Uid="TextBlock_1"
Localization.Attributes=
"$Content(Readable Unmodifiable)">
Microsoft Corporation
</TextBlock>
WPF, okunabilirlik ve modifibeceri özniteliklerine ek olarak, LocalizationCategory Yerelleştiricilerin daha fazla bağlam sağlamak için kullanılabilen ortak kullanıcı arabirimi kategorilerinin () bir listesini sağlar. Platform denetimleri için WPF varsayılan kategorileri de XAML 'de geçersiz kılınabilir:
<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>
WPF 'in sağladığı varsayılan yerelleştirme öznitelikleri de kod aracılığıyla geçersiz kılınabilir, bu sayede özel denetimlerin doğru varsayılan değerlerini doğru şekilde ayarlayabilirsiniz. Örneğin:
[Localizability(Readability = Readability.Readable, Modifiability=Modifiability.Unmodifiable, LocalizationCategory.None)]
public class CorporateLogo : TextBlock
{
// ...
}
XAML 'de ayarlanan örnek başına öznitelikler, özel denetimlerde kodda ayarlanan değerlere göre önceliğe sahip olur. Öznitelikler ve açıklamalar hakkında daha fazla bilgi için bkz. Yerelleştirme öznitelikleri ve açıklamaları.
Yazı tipi geri dönüş ve bileşik yazı tipleri
verilen bir kod noktası aralığını desteklemeyen bir yazı tipi belirtirseniz, WPF, Windows \fonts dizininde bulunan genel kullanıcı arabirimi. compositefont kullanılarak otomatik olarak bir öğesine geri dönüş yapar. Bileşik yazı tipleri tıpkı diğer yazı tiplerinde olduğu gibi çalışır ve bir öğe FontFamily (örneğin,) ayarlanarak açıkça kullanılabilir FontFamily="Global User Interface" . Kendi bileşik yazı tipi oluşturarak ve belirli kod noktası aralıkları ve dilleri için kullanılacak yazı tipini belirterek kendi yazı tipi geri dönüş tercihinizi belirtebilirsiniz.
Bileşik yazı tipleri hakkında daha fazla bilgi için bkz FontFamily ..
Microsoft giriş sayfasını yerelleştirme
Bu uygulamayı yerelleştirmek için Run Iletişim kutusuyla aynı adımları izleyebilirsiniz. Arapça için yerelleştirilmiş .csv dosyası, Genelleştirme giriş sayfası örneğindesizin için kullanılabilir.