本地化需求
1,字符串本地化
2,app名稱本地化
3,storyboard中的控件的title本地化
如何實現本地化
1,project配置,支持國際化
PROJECT-》info-》Localizations中 add不同的語種。
2,創建本地化文件
創建空文件,取名Localizable, File->New->File, 選擇Strings File
Info.plist從InfoPlist.strings中讀取。
Localizable.strings
其它命名的Table Name.strings
3,編輯key-value顯示內容
InfoPlist.strings
Localizable.strings
其它命名的Table Name.strings
xx.storyboard
對Localizable.Strings進行本地化:菜單-》View-》Utilities-》Show File Inspector , 選擇對應的文件, 在File Inspector-》 Localization ,點擊Localize按鈕,彈出窗口“Do you want to localize this file?”, 選擇對應的語種
localize this file,則自動創建了其它語言的strings文件。
編輯不同的Strings文件,設置顯示的字段。例如:
CFBundleDisplayName = "喝咯_第一個";
4, 讀取本地化的字符串
localizedStringForKey:value:table:
默認的table名稱是Localizable,對應本地化文件為Localizable.strings
NSLocalizedString
NSLocalizedStringFromTable
NSLocalizedStringWithDefaultValue
NSLocalizedStringFromTableInBundle
默認的value與key名稱相同。例如:[[NSBundle mainBundle] localizedStringForKey:@"label_title" value:@"" table:@"Localizable"]
如果label_title沒有定義,則返回key同名的label_title
5,app名稱本地化
Info.plist增加Application has localized display name 設置值為YES
創建空文件,文件名為InfoPlist.strings
在不同的InfoPlist.strings文件中增加顯示字段CFBundleDisplayName = "喝咯";
6,bundle資源包