Megosztás a következőn keresztül:


A WPF globalizációja és honosítása – áttekintés

Ha csak egy nyelvre korlátozza a termék rendelkezésre állását, akkor a potenciális ügyfélbázist a világ 7,5 milliárd lakosának töredékére korlátozza. Ha azt szeretné, hogy alkalmazásai elérjék a globális közönséget, a termék költséghatékony honosítása az egyik legjobb és leggazdaságosabb módszer a több ügyfél elérésére.

Ez az áttekintés bemutatja a globalizációt és a honosítást a Windows Presentation Foundationben (WPF). A globalizáció olyan alkalmazások tervezése és fejlesztése, amelyek több helyen is elvégezhetők. A globalizáció például támogatja a honosított felhasználói felületeket és a regionális adatokat a különböző kultúrák felhasználói számára. A WPF globalizált tervezési funkciókat biztosít, beleértve az automatikus elrendezést, a műholdas szerelvényeket, a honosított attribútumokat és a megjegyzéseket.

A honosítás az alkalmazáserőforrások honosított verzióira való fordítása az alkalmazás által támogatott adott kultúrákhoz. Amikor a WPF-ben honosít, az API-kat a System.Windows.Markup.Localizer névtérben használja. Ezek az API-k a LocBaml Tool Minta parancssori eszközét vezérlik. A LocBaml felépítéséről és használatáról további információt az alkalmazások honosítása című témakörben talál.

Figyelmeztetés

A LocBaml eszköz csak a .NET-keretrendszerprojektekhez használható WPF-tel működik, a .NET-hez készült WPF-tel nem működik.

Ajánlott eljárások a WPF-ben történő globalizációhoz és honosításhoz

A WPF-be beépített globalizációs és honosítási funkciók közül a legtöbbet az ebben a szakaszban ismertetett, a felhasználói felület kialakításával és honosításával kapcsolatos tippeket követve hozhatja létre.

Ajánlott eljárások a WPF felhasználói felületének kialakításához

WPF-alapú felhasználói felület tervezésekor fontolja meg az alábbi ajánlott eljárások implementálását:

  • Írja meg a felhasználói felületet az XAML-ben; ne hozzon létre felhasználói felületet a kódban. Ha A felhasználói felületet az XAML használatával hozza létre, azt beépített honosítási API-k segítségével teheti elérhetővé.

  • Ne használjon abszolút pozíciókat és rögzített méreteket a tartalom elrendezéséhez; helyett használjon relatív vagy automatikus méretezést.

    • Használja a SizeToContent-t, és a szélességeket és magasságokat Auto tartsák meg.

    • Ne használja a Canvas-t a felhasználói felületek elrendezésére.

    • Használja a Grid és annak méretmegosztási funkcióját.

  • Adjon nagyobb helyet a margókban, mert a honosított szöveg gyakran több helyet igényel. Az extra térköz lehetővé teszi, hogy a karakterek túlnyúljanak.

  • Engedélyezze TextWrapping a TextBlock-en, hogy elkerülje a kivágást.

  • Állítsa be az xml:lang attribútumot. Ez az attribútum egy adott elem és annak gyermekelemeinek kultúráját írja le. A tulajdonság értéke megváltoztatja a WPF számos funkciójának viselkedését. Például megváltoztatja az elválasztás, a helyesírás-ellenőrzés, a számhelyettesítés, az összetett szkriptalakítás és a betűtípus-helyettesítés viselkedését. Az xml:lang kezelés XAML-ben való beállításáról további információt a WPF globalizációja című témakörben talál.

  • Testreszabott összetett betűtípus létrehozása a különböző nyelvekhez használt betűtípusok jobb szabályozásához. A WPF alapértelmezés szerint a GlobalUserInterface.composite betűtípust használja a Windows\Fonts könyvtárban.

  • Ha olyan navigációs alkalmazásokat hoz létre, amelyek honosítottak lehetnek egy olyan kultúrában, amely jobbról balra formátumban jeleníti meg a FlowDirection szöveget, állítsa be az összes oldal explicit beállítását, hogy a lap ne örököljön FlowDirection a NavigationWindowlaptól.

  • Ha böngészőn kívül üzemeltetett önálló navigációs alkalmazásokat hoz létre, a StartupUri kezdeti alkalmazást NavigationWindow állítsa be lap helyett (például <Application StartupUri="NavigationWindow.xaml">). Ez a kialakítás lehetővé teszi az ablak és a FlowDirection navigációs sáv módosítását. További információ és egy példa: Globalization Homepage Sample.

Ajánlott eljárások a WPF honosításához

A WPF-alapú alkalmazások honosításakor fontolja meg az alábbi ajánlott eljárások implementálását:

  • A honosítási megjegyzések használatával további környezetet biztosíthat a honosítók számára.

  • Honosítási attribútumokkal szabályozhatja a honosítást ahelyett, hogy szelektíven kihagyja Uid a tulajdonságokat az elemeken. További információ: Honosítási attribútumok és megjegyzések .

  • Az msbuild -t:updateuid és -t:checkuid használatával adhat hozzá, és ellenőrizhetUid tulajdonságokat az XAML-ben. A Uid tulajdonságokat használva követheti nyomon a fejlesztés és a honosítás közötti változásokat. Uid tulajdonságok segítségével honosíthatja az új fejlesztési módosításokat. Ha manuálisan ad hozzá Uid tulajdonságokat egy felhasználói felülethez, a feladat általában unalmas és kevésbé pontos.

    • A honosítás megkezdése után ne szerkessze vagy módosítsa Uid a tulajdonságokat.

    • Ne használjon ismétlődő Uid tulajdonságokat (a másolás és beillesztés parancs használatakor ne feledje ezt a tippet).

    • A AssemblyInfo.* helyének UltimateResourceFallback beállításával adja meg a tartalék nyelv megfelelő nyelvét (például [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).

      Ha úgy dönt, hogy a forrásnyelvet beilleszti a főszerelvénybe a projektfájlban a <UICulture> címke kihagyásával, állítsa be a UltimateResourceFallback helyet főszerelvényként a műhold helyett (például [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]).

WPF-alkalmazás honosítása

A WPF-alkalmazások honosításakor számos lehetőség közül választhat. Az alkalmazás honosítható erőforrásait például egy XML-fájlhoz kötheti, a honosítható szöveget resx táblákban tárolhatja, vagy XAML-fájlokat használhat a honosítóval. Ez a szakasz az XAML BAML-formáját használó honosítási munkafolyamatot ismerteti, amely számos előnnyel jár:

  • A buildelés után honosíthatja a beállításokat.

  • Frissíthet az XAML BAML-formájának újabb verziójára egy régebbi verzió honosításaival, így a fejlesztéssel párhuzamosan honosíthat.

  • Az eredeti forráselemeket és szemantikát fordításkor ellenőrizheti, mivel az XAML BAML-formája az XAML lefordított formája.

Honosítási összeállítási folyamat

WPF-alkalmazás fejlesztésekor a honosítás buildelési folyamata a következő:

  • A fejlesztő létrehozza és globalizálja a WPF-alkalmazást. A projektfájlban a fejlesztő <UICulture>en-US</UICulture> beállítja, hogy amikor az alkalmazást lefordítják, egy nyelvsemleges főszerelvény jön létre. Ez az összeállítás egy .resources.dll fájllal rendelkezik, amely tartalmazza az összes lokalizálható erőforrást. Igény szerint megtarthatja a forrásnyelvet a főszerelvényben, mert a honosítási API-k támogatják a főszerelvényből való kinyertet.

  • Amikor a fájlt lefordítják a buildbe, a rendszer az XAML-t az XAML BAML-formájává alakítja. A kulturálisan semleges MyDialog.exe és a kulturálisan függő (angol) MyDialog.resources.dll fájlok az angolul beszélő ügyfél számára kerülnek kiadásra.

Honosítási munkafolyamat

A honosítási folyamat a nem lokális MyDialog.resources.dll fájl létrehozása után kezdődik. Az eredeti XAML felhasználói felületi elemei és tulajdonságai az XAML BAML-formájából kulcs-érték párokká lesznek kinyerve a következő System.Windows.Markup.LocalizerAPI-k használatával: . A honosítók a kulcs-érték párok használatával honosítják az alkalmazást. A honosítás befejezése után létrehozhat egy új .resource.dll-t az új értékekből.

A kulcs-érték párok kulcsai olyan x:Uid értékek, amelyeket a fejlesztő az eredeti XAML-ben helyez el. Ezek az x:Uid értékek lehetővé teszik az API számára a fejlesztő és a honosító közötti változások nyomon követését és egyesítését a honosítás során. Ha például a fejlesztő a honosítás megkezdése után módosítja a felhasználói felületet, egyesítheti a fejlesztési módosítást a már befejezett honosítási munkával, így minimális fordítási munka elveszik.

Az alábbi ábrán egy tipikus honosítási munkafolyamat látható, amely az XAML BAML-formáján alapul. Ez a diagram feltételezi, hogy a fejlesztő angol nyelven írja az alkalmazást. A fejlesztő létrehozza és globalizálja a WPF-alkalmazást. A projektfájlban a fejlesztő <UICulture>en-US</UICulture> beállítja, hogy a rendszer építésekor egy nyelvsemleges fő-összesítő generálódjon egy mellék .resources.dll, amelyik tartalmazza az összes honosítható erőforrást. Másik megoldásként megtarthatja a forrásnyelvet a főszerelvényben, mert a WPF honosítási API-k támogatják a főszerelvényből való kinyeréseket. A létrehozási folyamat után az XAML a BAML-be lesz lefordítva. A kulturálisan semleges MyDialog.exe.resources.dll az angolul beszélő ügyfélnek szállítjuk.

A honosítási munkafolyamatot bemutató diagram.

A nem áthelyezett munkafolyamatot bemutató diagram.

Példák a WPF honosítására

Ez a szakasz példákat tartalmaz a honosított alkalmazásokra, amelyek segítenek megérteni, hogyan hozhat létre és honosíthat WPF-alkalmazásokat.

Példa a párbeszédpanel futtatására

Az alábbi ábrán a Futtatás párbeszédpanel minta kimenete látható.

Angol:

Képernyőkép egy Angol futtatás párbeszédpanelről.

Német:

Képernyőkép a német Futtatás párbeszédpanelről.

Globális futtatás párbeszédpaneljének tervezése

Ez a példa egy Futtatás párbeszédpanelt hoz létre a WPF és az XAML használatával. Ez a párbeszédpanel megegyezik a Microsoft Windows Start menüjében elérhető Futtatás párbeszédpanelel.

A globális párbeszédpanelek készítésének néhány fontos eleme:

Automatikus elrendezés

A Window1.xaml fájlban:

<Window SizeToContent="WidthAndHeight">

Az előző Ablak tulajdonság automatikusan átméretezi az ablakot a tartalom méretének megfelelően. Ez a tulajdonság megakadályozza, hogy az ablak levágja a honosítás után megnövekedő tartalmat; Eltávolítja a felesleges területet is, ha a tartalom mérete a honosítás után csökken.

<Grid x:Uid="Grid_1">

Uid tulajdonságokra van szükség ahhoz, hogy a WPF honosítási API-k megfelelően működjenek.

Ezeket a WPF honosítási API-k használják a felhasználói felület (UI) fejlesztése és honosítása közötti változások nyomon követésére. Uid a tulajdonságok lehetővé teszik a felhasználói felület újabb verziójának egyesítését a felhasználói felület régebbi honosításával. A Uid tulajdonságot parancssorban msbuild -t:updateuid RunDialog.csproj futtatva adhatja hozzá. Ez a tulajdonságok hozzáadásának Uid ajánlott módja, mivel a manuális hozzáadás általában időigényes és kevésbé pontos. A Uid futtatásával ellenőrizheti, hogy a msbuild -t:checkuid RunDialog.csproj tulajdonságok megfelelően vannak-e beállítva.

A felhasználói felület a Grid vezérlő használatával van strukturálva, amely hasznos vezérlő a WPF automatikus elrendezésének kihasználásához. Vegye figyelembe, hogy a párbeszédpanel három sorra és öt oszlopra van felosztva. A sor- és oszlopdefiníciók egyike sem rendelkezik rögzített méretűvel; Ezért az egyes cellákban elhelyezett felhasználói felületi elemek alkalmazkodhatnak a honosítás során a méret növekedéséhez és csökkenéséhez.

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

Az első két oszlop, ahol a Megnyitás: címke szerepel, és ComboBox a felhasználói felület teljes szélességének 10 százalékát használják.

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

Vegye figyelembe, hogy a példa a megosztott méretezési Gridfunkciót használja. Az utolsó három oszlop kihasználja ezt azáltal, hogy ugyanabban SharedSizeGroupaz oszlopban helyezik el magukat. Ahogy a tulajdonság nevétől elvárnánk, ez lehetővé teszi, hogy az oszlopok azonos méretűek. Tehát amikor a "Tallózás..." hosszabb "Durchsuchen..." karaktersorozatra van fordítva, az összes gomb szélessége megnövekszik, ahelyett, hogy lenne egy kis "OK" gomb és egy aránytalanul nagy "Durchsuchen..." gomb.

xml:lang

xml:lang="en-US"

Figyelje meg, hogy az xml:lang kezelés XAML-ben a felhasználói felület gyökérelemén található. Ez a tulajdonság egy adott elem és gyermekei kultúráját írja le. Ezt az értéket a WPF számos funkciója használja, és a honosítás során megfelelően módosítani kell. Ez az érték megváltoztatja, hogy milyen nyelvi szótárat használ a szavak elválasztására és helyesírás-ellenőrzésére. Emellett hatással van a számjegyek megjelenítésére és arra is, hogy a betűtípus tartalék rendszere hogyan választja ki a használni kívánt betűtípust. Végül a tulajdonság hatással van a számok megjelenítésére és az összetett szkriptekben írt szövegek alakításának módjára. Az alapértelmezett érték a "en-US".

Műholdas erőforrás-szerelvény létrehozása

A .csproj fájlban:

Szerkessze a .csproj fájlt, és adja hozzá a következő címkét egy feltétel nélküli <PropertyGroup>címkéhez:

<UICulture>en-US</UICulture>

Figyelje meg egy érték hozzáadását UICulture . Amikor ez egy érvényes CultureInfo értékre van állítva, például en-US, a projekt összeállítása egy műhold-összeállítást hoz létre, amelyben az összes honosítható erőforrás szerepel.

<Resource Include="RunIcon.JPG">

<Localizable>False</Localizable>

</Resource>

A RunIcon.JPG nem igényel honosítást, mert minden kultúrában ugyanúgy kell megjelennie. Localizable úgy van beállítva false , hogy a műholdas szerelvény helyett a nyelvsemleges főszerelvényben maradjon. Az összes nem fordítható erőforrás alapértelmezett értéke Localizable van állítva true-re.

A Futtatás párbeszédpanel honosítása

Szintaktikai elemzés

Az alkalmazás létrehozása után a honosítás első lépése a honosítható erőforrások elemzése a műholdas szerelvényből. A jelen témakör alkalmazásában használja a LocBaml mintaeszközt, amely a LocBaml eszközmintában található. Vegye figyelembe, hogy a LocBaml csak egy mintaeszköz, amely segít a honosítási folyamatnak megfelelő honosítási eszköz létrehozásának megkezdésében. A LocBaml használatával futtassa a következő parancsot az elemzéshez: LocBaml /parse RunDialog.resources.dll /out: hogy létrehozzon egy "RunDialog.resources.dll.CSV" fájlt.

Figyelmeztetés

A LocBaml eszköz csak a .NET-keretrendszerprojektekhez használható WPF-tel működik, a .NET-hez készült WPF-tel nem működik.

Lokalizálás

A fájl szerkesztéséhez használja a Unicode-ot támogató kedvenc CSV-szerkesztőt. Szűrje ki a "Nincs" honosítási kategóriával rendelkező összes bejegyzést. A következő bejegyzéseknek kell megjelenniük:

Erőforráskulcs Lokalizációs kategória Érték
Button_1:System.Windows.Controls.Button.$Content Gomb OKÉ
Button_2:System.Windows.Controls.Button.$Content Gomb Érvénytelenít
Button_3:System.Windows.Controls.Button.$Content Gomb Böngészik...
ComboBox_1:System.Windows.Controls.ComboBox.$Content Kombinált lista
TextBlock_1:System.Windows.Controls.TextBlock.$Content Szöveg Írja be egy program, mappa, dokumentum vagy internetes erőforrás nevét, és a Windows megnyitja az Ön számára.
TextBlock_2:System.Windows.Controls.TextBlock.$Content Szöveg Nyitott:
Window_1:System.Windows.Window.Title Cím Fuss!

Az alkalmazás német nyelvre történő honosításához a következő fordítások szükségesek:

Erőforráskulcs Lokalizációs kategória Érték
Button_1:System.Windows.Controls.Button.$Content Gomb OKÉ
Button_2:System.Windows.Controls.Button.$Content Gomb Rövidítés
Button_3:System.Windows.Controls.Button.$Content Gomb Durchsuchen...
ComboBox_1:System.Windows.Controls.ComboBox.$Content Kombinált lista
TextBlock_1:System.Windows.Controls.TextBlock.$Content Szöveg Geben Sie den Namen eines Programms, Ordners, Dokuments oder einer Internetresource an.
TextBlock_2:System.Windows.Controls.TextBlock.$Content Szöveg Megnyitás
Window_1:System.Windows.Window.Title Cím Fuss!

létrehozása

A honosítás utolsó lépése az újonnan honosított műholdas szerelvény létrehozása. Ez a következő LocBaml paranccsal hajtható végre:

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

Német Windows rendszeren, ha ez a resources.dll a főszerelvény melletti de-DE mappába kerül, ez az erőforrás automatikusan betöltődik a en-US mappában lévő helyett. Ha nem rendelkezik a Windows német verziójával ennek teszteléséhez, állítsa a kultúrát a használt Windows-kultúrára (például en-US), és cserélje le az eredeti erőforrás-DLL-t.

Műholdas erőforrás betöltése

MyDialog.exe en-US\MyDialog.resources.dll de-DE\MyDialog.resources.dll
Kód Eredeti angol nyelvű BAML Honosított BAML
Kulturálisan semleges erőforrások Egyéb források angol nyelven Egyéb, német nyelvre honosított erőforrások

A .NET automatikusan kiválasztja, melyik műholdas erőforrás assemblyt töltse be az alkalmazás Thread.CurrentUICulture alapján. Ez alapértelmezés szerint a Windows operációs rendszer kultúrája. Ha német Windowst használ, a de-DE\MyDialog.resources.dll fájl betöltődik. Ha angol Windowst használ, a en-US\MyDialog.resources.dll fájl betöltődik. Az alkalmazás végső tartalék erőforrását úgy állíthatja be, hogy megadja az NeutralResourcesLanguage attribútumot a projekt AssemblyInfo fájljában. Ha például a következőket adja meg:

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

akkor a en-US\MyDialog.resources.dll fájlt a német Windowsban használja, ha az alábbi fájlok egyike sem érhető el: de-DE\MyDialog.resources.dll vagy de\MyDialog.resources.dll.

A Microsoft Szaúd-Arábia kezdőlapja

Az alábbi ábrán egy angol és arab kezdőlap látható. A teljes mintát, amely ezeket a grafikákat állítja elő, lásd a Globalization Homepage Mintát.

Angol:

Képernyőkép egy angol kezdőlapról.

Arab nyelv:

Képernyőkép egy arab kezdőlapról.

Globális Microsoft-kezdőlap tervezése

A Microsoft Szaúd-Arábia webhelyének makettje a RightToLeft-nyelvekhez biztosított globalizációs funkciókat mutatja be. Az olyan nyelvek, mint a héber és az arab, jobbról balra olvasási sorrendtel rendelkeznek, ezért a felhasználói felület elrendezését gyakran teljesen másképp kell meghatározni, mint a balról jobbra író nyelvekben, például az angolban. A lokalizálás balról jobbra író nyelvről jobbról balra író nyelvre, vagy fordítva, komoly kihívást jelenthet. A WPF-et úgy tervezték, hogy az ilyen honosításokat sokkal egyszerűbbé tegye.

Áramlási irány

Homepage.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">

Figyelje meg a FlowDirection tulajdonságot a következőn Page: . Ha módosítja ezt a tulajdonságot RightToLeft , az megváltoztatja a FlowDirectionPage gyermekelemeket, így a felhasználói felület elrendezése jobbra-balra változik, ahogy egy arab felhasználó elvárná. Az öröklési viselkedés felülbírálható egy explicit FlowDirection elem megadásával bármely elemen. A FlowDirection tulajdonság bármely FrameworkElement vagy dokumentumhoz kapcsolódó elemen elérhető, és implicit értéke LeftToRight.

Figyelje meg, hogy a gyökér FlowDirection módosításakor még a háttérbeli színátmenetes kefék is megfelelően tükröződnek:

FlowDirection="LeftToRight"

Képernyőkép a színátmeneti folyamatról balról jobbra.

Folyásirány="JobbrólBalra"

Képernyőkép a színátmeneti folyamatról jobbról balra.

A rögzített dimenziók használatának elkerülése panelekhez és vezérlőkhöz

Tekintse át a Homepage.xaml webhelyet, és figyelje meg, hogy a teljes DockPanelfelhasználói felülethez megadott rögzített szélességen és magasságon kívül nincsenek más rögzített méretek. Kerülje a rögzített dimenziók használatát, hogy megakadályozza a honosított szöveg kivágását, amely hosszabb lehet, mint a forrásszöveg. A WPF-panelek és -vezérlők automatikusan átméreteződnek az általuk tartalmazott tartalom alapján. A legtöbb vezérlő minimális és maximális dimenzióval is rendelkezik, amelyeket további vezérlőkhöz (például MinWidth="20") állíthat be. Ezzel a lehetőséggel Grida relatív szélességeket és magasságokat is beállíthatja a "*" (például) használatával, Width="0.25*"vagy használhatja a cellaméret-megosztási funkciót.

Honosítási megjegyzések

Sok esetben előfordulhat, hogy a tartalom nem egyértelmű és nehezen lefordítható. A fejlesztő vagy tervező a honosítási megjegyzéseken keresztül további kontextust és megjegyzéseket adhat a honosítóknak. Az alábbi Localization.Comments például tisztázza a(z) |karakter használatát.

<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>

Ez a megjegyzés TextBlock_1 tartalmához lesz társítva, és a LocBaml eszköz esetében (lásd az alkalmazás honosítását) a kimeneti .csv fájl TextBlock_1 sorának 6. oszlopában látható:

Erőforráskulcs Kategória Olvasható Módosítható Megjegyzés Érték
TextBlock_1:System.Windows.Controls.TextBlock.$Content Szöveg IGAZ IGAZ Ezt a karaktert díszítő szabályként használják. |

A megjegyzések bármely elem tartalmára vagy tulajdonságára az alábbi szintaxissal helyezhetők el:

<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>

Honosítási attribútumok

A fejlesztőnek vagy a honosítási kezelőnek gyakran ellenőriznie kell, hogy a honosítók mit olvashatnak és módosíthatnak. Előfordulhat például, hogy nem szeretné, hogy a honosító lefordítsa a cég nevét vagy a jogi megfogalmazást. A WPF olyan attribútumokat biztosít, amelyek lehetővé teszik egy elem tartalmának vagy tulajdonságának olvashatóságának, módosíthatóságának és kategóriájának beállítását, amellyel a honosítási eszköz zárolhatja, elrejtheti vagy rendezheti az elemeket. További információért lásd Attributes. A minta alkalmazásában a LocBaml eszköz csak ezeknek az attribútumoknak az értékeit adja ki. A WPF-vezérlők mindegyike alapértelmezett értékekkel rendelkezik ezekhez az attribútumokhoz, de ön felülbírálhatja őket. Az alábbi példa például felülbírálja a tartalom alapértelmezett honosítási attribútumait TextBlock_1 , és a tartalmat olvashatónak, de nem módosíthatónak állítja be a honosítók számára.

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

Az olvashatóság és a módosíthatósági attribútumok mellett a WPF a gyakori felhasználói felületi kategóriák (LocalizationCategory) felsorolását is biztosítja, amelyek a honosítók számára több kontextust biztosítanak. A platformvezérlők WPF alapértelmezett kategóriái az XAML-ben is felülírhatók:

<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>

A WPF által biztosított alapértelmezett honosítási attribútumok kóddal is felülírhatók, így helyesen állíthatja be az egyéni vezérlők alapértelmezett értékeit. Például:

[Localizability(Readability = Readability.Readable, Modifiability=Modifiability.Unmodifiable, LocalizationCategory.None)]
public class CorporateLogo : TextBlock
{
    // ...
}

Az XAML-ben beállított példányonkénti attribútumok elsőbbséget élveznek az egyéni vezérlők kódjában beállított értékekkel szemben. Az attribútumokról és megjegyzésekről további információt a Honosítási attribútumok és megjegyzések című témakörben talál.

Betűtípus-tartalék és összetett betűtípusok

Ha olyan betűtípust ad meg, amely nem támogat egy adott kódponttartományt, a WPF automatikusan egy olyan betűtípusra fog visszaállni, amely a Windows\Fonts könyvtárban található Global User Interface.compositefont használatával történik. Az összetett betűtípusok ugyanúgy működnek, mint bármely más betűtípus, és explicit módon használhatók egy elem FontFamily beállításával (például FontFamily="Global User Interface"). A saját betűtípus-tartalékbeállítást saját összetett betűtípus létrehozásával és adott kódponttartományokhoz és nyelvekhez használandó betűtípus megadásával adhatja meg.

Az összetett betűtípusokkal kapcsolatos további információkért lásd: FontFamily.

A Microsoft kezdőlapjának honosítása

Az alkalmazás honosításához kövesse a Futtatás párbeszédpanel példájával megegyező lépéseket. Az arab nyelvhez készült honosított .csv fájl a Globalization Kezdőlap mintafájljában érhető el.