有人可以給我一個想法如何找到問題。 我有一個名爲「MyApp」的應用程序。我想將應用程序名稱本地化爲德語。我在主項目目錄中有一個目錄de.lproj。它包含一個文件Localizable.strings並且工作正常。 我添加了一個InfoPlist.strings文件,並在那裏我把:CFBundleDisplayName的本地化無法工作,無論我嘗試
CFBundleDisplayName =「Applikationsname」;
但它不會顯示已翻譯的名稱,它會保留在「MyApp」上。以下是我試過到目前爲止:
- 三重檢查拼寫和大小寫
- 清潔從設備上的所有
- 刪除應用程序,並在 模擬器 在模擬器
- 刪除用戶目錄
- 改變了英語應用在MyApp-Info.plist中的名稱 - 工作。
- 重讀任何我能找到的 蘋果文檔和大量的谷歌搜索,確認 它應該工作。
無論我嘗試過什麼,應用程序名稱都是MyApp-Info.plist中的一個。 我也是在應用程序委託記錄此:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
NSString *prodName = [info objectForKey:@"CFBundleDisplayName"];
NSLog(@"Product Name:%@",prodName);
NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]);
NSLog(@"Current language: %@", currentLanguage);
輸出是:
2010-12-08 12:51:00.886 MyApp[25148:207] Product Name:MyApp
2010-12-08 12:51:00.946 MyApp[25148:207] Current Locale: de_DE
2010-12-08 12:51:00.946 MyApp[25148:207] Current language: de
所以語言設置是正確的,但應用程序將無法讀取InfoPlist.strings文件? 任何想法如何從這裏繼續?
在此先感謝您的回覆。
Nicolas:我注意到了。我認爲當應用程序打開時(即接口),Base本地化爲默認啓動。你有沒有深入一點? – allaire 2016-12-04 15:42:42