загрузка изображений из правильного пакета при локализации раскадровок
Я пытаюсь добавить опцию для пользователя, чтобы переключаться между арабским и английским языками из приложения (без необходимости переустанавливать язык всего iPhone), мне удалось сделать это правильно, используя этот метод в AppDelegate .m файл:
-(void)switchTolanguage:(NSString *)lang{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:lang] forKey:@"AppleLanguages"];
NSBundle *bnd = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:lang ofType:@"lproj" ]];
UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:bnd];
UIViewController *initViewController = [storyBoard instantiateInitialViewController];
self.window.rootViewController = initViewController;
}
Я поставил дваUIButtons
на одном из контроллеров представления в приложении, чтобы проверить метод, и он работал хорошо: всеUILabels
, строки и т. д. в новой загруженной (локализованной) раскадровке отображаются с правильным выбранным языком, но содно исключение: новая загруженная раскадровка не берет (загружает) свои локализованные изображения, она берет изображения для старой раскадровки (старого пакета), т. е. если приложение в настоящее время работает на английском языке, а пользователь нажал кнопку, которая переключает язык на арабский , приложение появится с правильными арабскими элементами управления и строками, но с английскими изображениями, переключитесь обратно на английский, все будет в порядке (английские строки, метки и изображения ...)
вот как локализована моя раскадровка:
и вот как каждое изображение локализовано:
Как я могу загрузить правильные изображения пакета, когда пользователь переключает язык приложения?
ОБНОВИТЬ:
Вот ссылка для примера проекта, для которого я имею в виду, запустите образец, и вы заметите, что при изменении языка из приложения вы заметите, что изображение не изменяется ... и вы также заметите, что локализованная раскадровка не загружается правильное изображение в редакторе дизайна ...
Постскриптум не добавляйте комментарии о том, почему я использую такой сценарий для переключения языка, потому что это требование клиента.