我使用文本加載資源,從文本文件不同的語言:無法加載特定國家的資源
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"txt"];
if(filePath) {
NSString *myText = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
}
作品非常好,我的語言特定資源,英語,德語等
但我也有一些特定國家的資源,如英國的英文文本,美國的英文文本,奧地利的德文文本等。
如果手機設置爲特定國家/地區,我預計這些資源會被加載(地區格式),但他們不。文件路徑將始終設置爲「純」語言文件夾中的文件。
因此,例如,我已myfile.txt複製的文件夾:
en.lproj
en-GB.lproj
en-US.lproj
但它總是加載一個在en.lproj
文件夾已經用Xcode中定位功能創建,都位於同一個文件夾中。
有點奇怪的是,由Xcode創建的這些文件夾用連字符做了單獨的語言和國家,但根據文檔,它應該是下劃線。我試圖手動將文件夾(帶有下劃線)複製到項目中,但它仍然不起作用。
我如何設法加載國家特定的文件?
感謝.....
我也使用.string文件加載字符串,但我的應用程序顯示一些多行文本,我覺得它更方便,每個文本保持爲每種語言一個單獨的文件。無論如何,當我嘗試輸入特定國家的文本時,它似乎不適用於.strings。 – user1349588 2012-04-23 21:24:55
我對iPhone的開發非常陌生,並且一直在使用這本書「Beginning IOS 5 Development。它說:」當本地化應用程序需要加載資源時(例如圖像,屬性列表或筆尖),應用程序會檢查用戶語言和地區,並查找與該設置相匹配的本地化文件夾。如果它找到一個,它將加載資源的本地化版本,而不是基本版本。「我將其解釋爲我將獲得特定於國家/地區的版本(就像它也在Java中那樣),但它似乎不起作用。 – user1349588 2012-04-23 21:31:36
我認爲這是錯誤的只有iOS語言設置中列出的語言才支持資源加載區域格式沒有出現,所以英國英語應該可以使用,但奧地利不適用德語在XCode中,您可以選擇一種語言如果你使用本地化控制,我相信你也只會在那裏看到一個德語版本。 – Clafou 2012-04-23 21:54:34