[英]NSBundle preferredLocalizations doesn't return the most specific localization available
[英]NSBundle pathForResource doesn't work for subdirectory localization?
我看到了很多有關[NSBundle MainBundle] pathForResource
(是否使用inDirectory),但是我的情況似乎有所不同。
我的問題是:是的,如果沒有本地化,它對於子目錄中的任何文件都可以正常工作。 例如,當我使用時,它返回文件data/a/words.txt
的正確路徑
[[NSBundle mainBundle] pathForResource:@"words.txt" ofType:nil inDirectory:@"data/a"]
但是,在我對words.txt
本地化words.txt
,假設實際路徑變為: data/a/en.lproj/words.txt
,那么上面的代碼不再能找到該路徑。
我檢查了.app軟件包中的文件,並且該文件已被復制到正確的路徑(data/a/en.lproj)
,這只是代碼無法找到它的原因。
我正在使用XCode 5.1.1
pathForResource
是否應該自動查找文本?
嘗試將forLocalization
添加到pathForResource
,如下所示:
NSArray* availableLocalizations = [[NSBundle mainBundle] localizations];
NSArray* userPrefered = [NSBundle preferredLocalizationsFromArray:availableLocalizations forPreferences:[NSLocale preferredLanguages]];
NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"txt" inDirectory:@"data/a" forLocalization:[userPrefered objectAtIndex:0]];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.