Der erste Schritt um eine Windows 8-App zu lokalisieren ist die Verwendung von mehrsprachigen Strings. Wie das geht, möchte ich ganz kurz darstellen:
- Deutsche Ressourcen-Datei im Projekt anlegen:
Strings/de/Resources.resw
- Englische Ressourcen-Datei im Projekt anlegen:
Strings/en/Resources.resw
- Ressourcen hinzufügen, Beispiel: Name „AppName.Text“ mit Value „Meine App“ (Wichtig: Das
.Text
muss angegeben werden, damit die Ressource als Text genutzt werden kann) - Ressource verwenden:
<TextBlock x:Uid="AppName" />
Um die Lokalisierung zu testen, muss die bevorzugte Sprache unter Systemsteuerung\Zeit, Sprache und Region\Sprache
umgestellt werden.
Mit C# können auch Lokalisierungen benutzt werden. Allerdings darf dann der „Name“ nicht mehr „AppName.Text“ heißen (in der Datei Resources.resw
), sondern nur noch „AppName“.
Beispiel
ResourceLoader loader = new Windows.ApplicationModel.Resources.ResourceLoader(); string text = loader.GetString("AppName"); |
Hi,
If you’re interested to localize web software, PC software, mobile software or any other type of software, I warmly recommend a new l10n tool that my team recently developed and will probably make your work a lot faster and easier: http://poeditor.com/
POEditor is intuitive and collaborative and has a lot of useful features to help your translations management process, which you can find enlisted on our website.
You can import from multiple localization file formats (like pot, po, xls, xlsx, strings, xml, resx, properties) or just use our REST API.
Feel free to try it out and recommend it to developers and everyone who might find it useful.
Danke für den Code.
Ich möchte noch eine Kleinigkeit ergänzen. Das .Text gilt nur für TextBlöcke. Für Buttons muss bspws. Content benutzt werden.
Empfehlenswert:
http://blog.rsuter.com/?p=439
Generierung der statischen Resource-Klasse in WinRT…