我想弄清楚Xamarin.iOS上的本地化。我一般對本地化很陌生,但我們想要做的第一種語言是冰島語。如果你看看iOS設備本身的設置,冰島不是一種選擇。所以這是一個兩部分問題。Xamarin.iOS上的本地化
如何在我的應用程序中設置本地化?我是否像其他.net應用程序一樣進行本地化?或者,我需要iOS/Xamarin特有的東西。
一旦我實現了這個功能,我怎麼才能讓它選擇Icelandic作爲語言,因爲iOS沒有它作爲可用語言?
文檔似乎對這個主題很少見。
我想弄清楚Xamarin.iOS上的本地化。我一般對本地化很陌生,但我們想要做的第一種語言是冰島語。如果你看看iOS設備本身的設置,冰島不是一種選擇。所以這是一個兩部分問題。Xamarin.iOS上的本地化
如何在我的應用程序中設置本地化?我是否像其他.net應用程序一樣進行本地化?或者,我需要iOS/Xamarin特有的東西。
一旦我實現了這個功能,我怎麼才能讓它選擇Icelandic作爲語言,因爲iOS沒有它作爲可用語言?
文檔似乎對這個主題很少見。
How can I set up localization within my app?
的iOS都有自己的方法來處理本地化。對於每種語言,您需要在項目中創建一個名爲language.lproj
的文件夾,其中language
是ISO 639-1或ISO 639-2語言代碼。兩個字符ISO 639-1代碼是優選的(例如,en,de,fr,it,...)。您可以找到ISO 639-1和ISO 639-2代碼here的表格。
在新創建的文件夾,你需要創建一個名爲Localizable.strings
文件,在這裏你可以添加你要本地化您的字符串:
"stringToLocalize" = "This is the translation";
並指定一個本地化的字符串,例如一個UILabel
:
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的語言。我們的一個應用程序使用德語,意大利語和法語本地化。由於我們不需要英語,因此我們創建了en.lproj
文件夾,其中包含德語本地化。這種方式即使設備的語言設置爲英語,德語文本也會出現。也許你可以在你的應用中做這樣的事情。