Yerelleştirme Öznitelikleri ve Yorumlar

Windows Presentation Foundation (WPF) yerelleştirme açıklamaları, yerelleştirmeye yönelik kurallar ve ipuçları sağlamak üzere geliştiriciler tarafından sağlanan XAML kaynak kodunun içindeki özelliklerdir. WPF yerelleştirme açıklamaları iki bilgi kümesi içerir: yerelleştirilebilirlik öznitelikleri ve serbest biçimli yerelleştirme açıklamaları. Yerelleştirilebilirlik öznitelikleri, yerelleştirilecek kaynakları belirtmek için WPF Yerelleştirme API'si tarafından kullanılır. Serbest biçimli açıklamalar, uygulama yazarının eklemek istediği tüm bilgilerdir.

Yerelleştirme Açıklamaları Ekle

İşaretle uygulama yazarlarının metin uzunluğu, yazı tipi ailesi veya yazı tipi boyutu kısıtlamaları gibi XAML'deki belirli öğeler için gereksinimleri varsa, bu bilgileri XAML kodundaki açıklamalarla yerelleştiricilere aktarabilir. Kaynak koduna açıklama ekleme işlemi aşağıdaki gibidir:

  1. Uygulama geliştiricisi XAML kaynak koduna yerelleştirme açıklamaları ekler.

  2. Derleme işlemi sırasında,.proj dosyasında serbest biçimli yerelleştirme açıklamalarının derlemede bırakılacağını, açıklamaların bir kısmının çıkarılacağını veya tüm açıklamaların çıkarılacağını belirtebilirsiniz. Çıkarılmış açıklamalar ayrı bir dosyaya yerleştirilir. Seçeneğinizi bir LocalizationDirectivesToLocFile etiket kullanarak belirtirsiniz, örneğin:

    <LocalizationDirectivesToLocFile>value</LocalizationDirectivesToLocFile>

  3. Atanabilecek değerler şunlardır:

    • Hiçbiri - Hem açıklamalar hem de öznitelikler derleme içinde kalır ve ayrı bir dosya oluşturulmaz.

    • CommentsOnly - Yalnızca derlemedeki açıklamaları kaldırır ve bunları ayrı LocFile'a yerleştirir.

    • All - Derlemeden hem açıklamaları hem de öznitelikleri şeritler ve her ikisini de ayrı bir LocFile içine yerleştirir.

  4. Yerelleştirilebilir kaynaklar BAML'den ayıklandığında, yerelleştirilebilirlik özniteliklerine BAML Yerelleştirme API'si tarafından uyulur.

  5. Yalnızca serbest biçimli açıklamalar içeren yerelleştirme açıklama dosyaları, daha sonra yerelleştirme işlemine eklenir.

Aşağıdaki örnekte XAML dosyasına yerelleştirme açıklamalarının nasıl ekleneceği gösterilmektedir.

<TextBlock x:Id = "text01"

FontFamily = "Microsoft Sans Serif"

FontSize = "12"

Localization.Attributes = "$Content (Unmodifiable Readable Text)

FontFamily (Unmodifiable Readable)"

Localization.Comments = "$Content (Trademark)

FontSize (Trademark font size)" >

Microsoft

</TextBlock>

Önceki örnekte Localization.Attributes bölümü yerelleştirme özniteliklerini ve Localization.Comments bölümünü serbest biçimli açıklamaları içerir. Aşağıdaki tablolarda öznitelikler ve açıklamalar ile bunların yerelleştiriciye olan anlamı gösterilmektedir.

Yerelleştirme öznitelikleri Anlamı
$Content (Değiştirilemez Okunabilir Metin) TextBlock öğesinin içeriği değiştirilemez. Yerelleştiriciler "Microsoft" sözcüğünü değiştiremez. İçerik yerelleştiricide görünür (Okunabilir). İçeriğin kategorisi metindir.
FontFamily (Değiştirilemez Okunabilir) TextBlock öğesinin yazı tipi ailesi özelliği değiştirilemez, ancak yerelleştirici tarafından görülebilir.
Yerelleştirme serbest biçimli açıklamalar Anlamı
$Content (Ticari Marka) Uygulama yazarı, yerelleştiriciye TextBlock öğesindeki içeriğin ticari marka olduğunu söyler.
FontSize (Ticari marka yazı tipi boyutu) Uygulama yazarı, yazı tipi boyutu özelliğinin standart ticari marka boyutuna uyması gerektiğini belirtir.

Yerelleştirilebilirlik Öznitelikleri

Localization.Attributes içindeki bilgiler bir çift listesi içerir: hedeflenen değer adı ve ilişkili yerelleştirilebilirlik değerleri. Hedef ad bir özellik adı veya özel $Content adı olabilir. Bu bir özellik adıysa, hedeflenen değer özelliğin değeridir. $Content ise, hedef değer öğesinin içeriğidir.

Üç tür öznitelik vardır:

  • Kategori. Bu, bir değerin yerelleştirici aracından değiştirilebilir olup olmayacağını belirtir. Bkz. Category.

  • Okunabilirlik. Bu, yerelleştirici aracının bir değeri okuması (ve görüntülemesi) gerekip gerekmediğini belirtir. Bkz. Readability.

  • Değiştirilebilirlik. Bu, yerelleştirici aracının bir değerin değiştirilmesine izin verip vermediğini belirtir. Bkz. Modifiability.

Bu öznitelikler bir boşlukla sınırlandırılmış herhangi bir sırada belirtilebilir. Yinelenen öznitelikler belirtilirse, son öznitelik eski öznitelikleri geçersiz kılar. Örneğin Localization.Attributes = "Unmodifiable Modifiable" ayarı Değiştirilebilir olarak ayarlanır çünkü bu son değerdir.

Değiştirilebilirlik ve Okunabilirlik kendi kendine açıklayıcıdır. Category özniteliği, metni çevirirken yerelleştiriciye yardımcı olan önceden tanımlanmış kategoriler sağlar. Metin, Etiket ve Başlık gibi kategoriler, yerelleştiriciye metnin nasıl çevrildiği hakkında bilgi verir. Ayrıca özel kategoriler de vardır: Hiçbiri, Devralma, Yoksay ve NeverLocalize.

Aşağıdaki tabloda özel kategorilerin anlamı gösterilmektedir.

Kategori Anlamı
None Hedeflenen değerin tanımlı kategorisi yok.
Devralır Hedeflenen değer, kategorisini üst öğesinden devralır.
Yoksay Hedeflenen değer yerelleştirme işleminde yoksayılır. Yoksay yalnızca geçerli değeri etkiler. Alt düğümleri etkilemez.
NeverLocalize Geçerli değer yerelleştirilemiyor. Bu kategori bir öğenin alt öğeleri tarafından devralınır.

Yerelleştirme Açıklamaları

Localization.Comments, hedeflenen değerle ilgili serbest biçimli dizeler içerir. Uygulama geliştiricileri, yerelleştiricilere uygulama metninin nasıl çevrilmesi gerektiği hakkında ipuçları vermek için bilgi ekleyebilir. Açıklamaların biçimi , "()" ile çevrelenmiş herhangi bir dize olabilir. Kaçış karakterleri için '\' kullanın.

Ayrıca bkz.