Verschiedene Sprachen für eure APP ist in unserer globalen Welt sehr schnell ein Thema. Darum werden wir uns diesem Thema heute einmal widmen.
In meinem Beispiel gehe ich davon aus, dass Ihr eure APP in Deutsch (de) und Englisch (en) zur Verfügung stellen wollt.
Dafür solltet Ihr als "Vorbereitung" folgendes in eurer Windows Store APP einstellen:
- Die Default Sprache im App-Package festlegen (in diesem Fall “de”)
PROJECT->Store->Edit App Manifest - Wir wollen auch gleich den Applikationsnamen mehrsprachig machen.
Dafür müssen wir den “Display Name” (unter Application UI) und
den “Package Display Name” (unter Packaging) umsetzen (ms-resource: <BeliebigerName>)
- Einen neuen Ordner “Strings” anlegen
- In diesem Ordner 2 Unterordner: “de” und “en”
- In jedem der beiden Ordner eine Ressource-Datei (.resw) hinzufügen
Jetzt können wir schon mit dem Erfassen der Strings loslegen.
Zuerst sollten wir gleich einmal den Applikationsnamen anlegen, denn wenn wir momentanen kompilieren und ausführen wollen bekommen wir einen Fehler:
Error 28 Error : DEP0700 : Registration of the app failed. C:\XXXX\bin\Debug\AppX\AppxManifest.xml(12,6): error 0x80073B17: Cannot register the 7df75194-b967-4dde-aa0e-18db01a32f5f_1.0.0.0_neutral__fmdkx0crxm48p package because the following error was encountered while determining whether the ms-resource:AppDisplayName string resource could be localized: NamedResource Not Found.
. Check that the string resource is defined and that there is at least one instance defined in the resources.pri file contained in this package. (0x80073cf6)
Wir legen gleich mehrere String-Ressouren an und zwar folgende:
- Den Applikationsnamen - AppDisplayName
- Einen Text für ein TextControl - AppName.Text
- Einen Text für einen AppBarButton – den Text an einem AppBarButton würdet Ihr ja mit AutomationPeer.Name=”xxx” umsetzen, da AutomationPeer.Name ein Attached-Property ist, muss es voll qualifiziert werden…
Delete.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name
Dafür öffnet Ihr eure de/Resources.resw Datei und legt folgende Strings an
Verwenden könnt Ihr das Ganze dann in eurer APP so:
- Den Applikationsnamen im App Manifest (siehe oben)
Ihr könnt dan den deutschen Namen und den englischen Namen in eurem DashBoard reservieren
https://appdev.microsoft.com/StorePortals/de-DE/Developer/Catalog/AddProductName indem Ihr beide Namen anlegt - Den Text an z. B. einem TextBlock indem Ihr folgendes angebt: x:Uid="AppName"
- In einem AppBarButton funktioniert das dann genauso.
1 comment:
Post a Comment