我正在使用Apples Photos Framework将PHAssetCollections加载到我的应用程序中。
我总是得到聪明的收藏的英文名字。例如,我得到的是“收藏夹”而不是“收藏夹”(瑞典语)。我以为localizedTitle属性将返回模拟器或iPhone运行的语言。 (在具有瑞典语和地区的iPhone上运行)。
有人遇到过这种情况么?
示例代码:
NSArray *collectionsFetchResults;
NSMutableArray *localizedTitles = [[NSMutableArray alloc] init];
PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
PHFetchResult *syncedAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum
subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:nil];
PHFetchResult *userCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];
// Add each PHFetchResult to the array
collectionsFetchResults = @[smartAlbums, userCollections, syncedAlbums];
for (int i = 0; i < collectionsFetchResults.count; i ++) {
PHFetchResult *fetchResult = collectionsFetchResults[i];
for (int x = 0; x < fetchResult.count; x ++) {
PHCollection *collection = fetchResult[x];
localizedTitles[x] = collection.localizedTitle;
NSLog(@"%@", collection.localizedTitle); //<= Always prints english names
}
}
最佳答案
之所以collection.localizedTitle
不返回任何其他语言的原因,是因为您的应用只有一个本地化版本,即English
。这绝对是一个Apple Bug,但是请按照以下步骤进行操作。
sv.lproj
文件夹之外,创建相关的文件夹en.lproj
。 更新
如果要在添加空白文本后轻松添加更多语言,可以通过选择“项目”来添加其他答案中显示的内容,然后在“本地化”部分中添加语言并再次选择空白文件,因为我们不想本地化其他文件。
希望对您有所帮助,如有疑问,请在这里提出。
干杯。