2013-11-21 18 views
8

私はXamarin.iOSのローカリゼーションを解明しようとしています。私は一般的にローカリゼーションを始めましたが、私たちがしたい最初の言語はアイスランド語です。 iOSデバイス自体の設定を見ると、アイスランドは選択肢ではありません。これは2つの部分の質問です。Xamarin.iOSでのローカライゼーション

  1. アプリ内でローカリゼーションを設定するにはどうすればよいですか?私はほかの.netアプリと同じようにローカライズしていますか、またはiOS/Xamarinに固有の何かが必要です。

  2. これを実装したら、iOSには利用可能な言語がないため、言語としてアイスランド語を選択するにはどうすればよいですか?

このトピックについては、ドキュメントがスパースであるようです。

答えて

16

How can I set up localization within my app?

iOSがローカライズを処理するための独自の方法を持っています。各言語について、language.lprojという名前のプロジェクト内にフォルダを作成する必要があります。languageはISO 639-1またはISO 639-2の言語コードです。 2文字のISO 639-1コードが望ましい(例えば、en、de、fr、it、...)。 ISO 639-1とISO 639-2コードhereのテーブルがあります。

"stringToLocalize" = "This is the translation";

そしてUILabelに例えばローカライズされた文字列を割り当てるには:あなたがLocalizable.stringsという名前のファイルを作成する必要があり、ここにあなたがローカライズしたい、あなたの文字列を追加することができ、新しく作成したフォルダに

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

あなたも、拡張メソッド(anotherlabにクレジット)を作成することができます

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?

私は、iOSでの言語としてアイスランドを選択する方法があるとは思いません。 Googleのアプリの1つは、ドイツ語、イタリア語、フランス語の言語を使用しています。英語が必要ないので、en.lprojフォルダにドイツ語のローカリゼーションを作成しました。この方法では、デバイスの言語が英語に設定されていても、ドイツ語のテキストが表示されます。たぶんあなたはあなたのアプリでこれと同様のことをすることができます。