2016-12-05 76 views
0

我有關於Xamarin Forms Picker控件(https://developer.xamarin.com/api/type/Xamarin.Forms.Picker/)的問題。看起來,iOS上的選取器右上角呈現的「完成」按鈕無法翻譯。Xamarin Forms Picker - iOS上的「完成」文本

爲了進一步說明這個問題,我附上了截圖。您還可以看到設備本身的語言對「完成」標籤沒有影響。你可以看到這個,因爲設備設置爲荷蘭語,可以通過查看圖像左上角的「Geen simkaart」文本來驗證。

我在API中丟失了什麼東西,還是有可能使用自定義渲染器翻譯文本?

的截圖:https://s15.postimg.org/hhbbd2w9n/IMG_0005_masked.png

回答

0

「完成」按鈕是一個UIBarButtonSystemItem.Done風格,這意味着它應該當您切換在iOS上的語言,您所提供的翻譯字符串在Localizable.strings按自動翻譯給在Xamarin文檔:https://developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/#platform

因此,在您的info.plist你會添加其他語言:

<key>CFBundleDevelopmentRegion</key> 
<string>en</string> 
<key>CFBundleLocalizations</key> 
<array> 
    <string>dk</string> 
</array> 

然後您需要添加的基本語言在Resources中有一個Base.lproj目錄。然後爲每個其他支持的語言添加一個<language>.lproj文件夾,在這種情況下爲dk.lproj

在這些文件夾的每個文件夾中新建一個名爲Localizable.strings的文件。然後添加密鑰格式語言:

"key"="localized-value"; 

基地將在CFBundleDevelopmentRegion定義爲您在Info.plist中添加的語言代碼。

我可能只是做系統按鈕,如完成,添加,刪除等對於其他按鈕和字符串我會使用Resx文件或類似的,它可以在您支持的平臺之間共享。