如何在UIDatePicker
的日期和時間模式中本地化標籤「today」?本地化UIDatePicker「今日」標籤
我需要俄語,所以我給自己定UIDatePicker
區域,設置區域和語言在設備設置中,設置「本地化本土發展區」和「本地化」財產info.plist
以「儒」,但它並沒有任何區別 - 所有月份和日期標籤都是俄語,但「今天」標籤仍然是「今天」。
如何在UIDatePicker
的日期和時間模式中本地化標籤「today」?本地化UIDatePicker「今日」標籤
我需要俄語,所以我給自己定UIDatePicker
區域,設置區域和語言在設備設置中,設置「本地化本土發展區」和「本地化」財產info.plist
以「儒」,但它並沒有任何區別 - 所有月份和日期標籤都是俄語,但「今天」標籤仍然是「今天」。
問題通過創建本地化資源.xib解決(只需將本地化IB添加到使用datePicker的.xib中,除此之外別無其他)。
有人可以解釋爲什麼嗎?
是的,有兩個組件來本地化。第一個是你的strings.lproj,它包含你的每種語言的鍵值對,第二個,同樣重要的是本地化的xib或故事板。這兩個文件通過Xcode自動相互鏈接。所以,你需要一個ru.lproj localizable.strings文件以及一個本地化的俄羅斯Xib文件。
有了下面的代碼在日期選擇器中的所有文本的幫助下得到了本地化,包括字符串「今天」:
//Localizing the datepicker
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:NSLocalizedString(@"en_US",nil)];
datePicker.locale = locale;
datePicker.calendar.locale = locale;
這裏我使用NSLocalizedString取代「EN_US」(鍵)用適當的區域設置標識符(值)。這與對應Localizable.strings文件針對特定的語言環境/語言的幫助下完成的,你需要添加:
/*==== Locale identifier ====*/
"en_US"="it_IT";
我在這裏使用過意大利語(意大利語)。
Here _datepicker.calendar.locale = locale; _是多餘的 –