2013-11-21 13 views
8

Ich versuche, Lokalisierung auf Xamarin.iOS herauszufinden. Ich bin neu in der Lokalisierung im Allgemeinen, aber die erste Sprache, die wir machen wollen, ist Isländisch. Wenn Sie sich die Einstellungen für das iOS-Gerät selbst anschauen, ist Isländisch keine Option. Das ist also eine zweiteilige Frage.Lokalisierung auf Xamarin.iOS

  1. Wie kann ich die Lokalisierung in meiner App einrichten? Lokalisiere ich einfach auf die gleiche Weise wie andere .net-Apps..oder gibt es etwas, das für iOS/Xamarin spezifisch ist, das ich tun muss.

  2. Sobald ich dies implementiere, wie bekomme ich es, Isländisch als Sprache zu wählen, da iOS es nicht als verfügbare Sprache hat?

Die Dokumentation scheint zu diesem Thema spärlich zu sein.

Antwort

16

How can I set up localization within my app?

iOS hat seine eigene Art und Weise Lokalisierungen zu behandeln. Für jede Sprache müssen Sie einen Ordner in Ihrem Projekt mit dem Namen language.lproj erstellen, wobei language ISO 639-1 oder ISO 639-2 Sprachcode ist. Zwei Zeichen ISO 639-1-Codes sind bevorzugt (z.B. en, de, fr, it, ...). Sie finden eine Tabelle mit ISO 639-1 und ISO 639-2 Codes here.

In Ihrem neu erstellten Ordner benötigen Sie eine Datei Localizable.strings Namen erstellen und hier können Sie Ihre Zeichenfolgen hinzuzufügen, die Sie lokalisieren möchten:

"stringToLocalize" = "This is the translation";

und einen lokalisierten String zum Beispiel ein UILabel zuweisen :

UILabel label = new UILabel(); 
... 
label.Text = NSBundle.MainBundle.LocalizedString("stringToLocalize", null); 

Sie auch eine Erweiterungsmethode (Kredit zu anotherlab) erstellen:

public static class LocalizationExtensions 
{ 
    public static string t(this string translate) 
    { 
     return NSBundle.MainBundle.LocalizedString(translate, "", ""); 
    } 
} 

How do I get it to choose Icelandic as the language since iOS does not have it as an available language?

Ich glaube nicht, dass es eine Möglichkeit, Isländisch in iOS als eine Sprache zu wählen ist. Eine unserer Apps verwendet deutsche, italienische und französische Lokalisierungen. Da wir kein Englisch brauchen, haben wir Ordner mit deutschen Lokalisierungen darin erstellt. Auf diese Weise erscheinen auch deutsche Texte, auch wenn die Sprache des Geräts auf Englisch eingestellt ist. Vielleicht kannst du auch so etwas in deiner App machen.