Я использую локализацию в своем приложении, но по какой-то причине некоторые из строк (не все из них) не будут транслироваться, вместо этого я вижу ключ. Я попытался проверить, найдет ли приложение файлы локализации, выполнив следующие действия:
NSString *enPath = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSString *hePath = [[NSBundle mainBundle] pathForResource:@"he" ofType:@"lproj"];
NSString *ruPath = [[NSBundle mainBundle] pathForResource:@"ru" ofType:@"lproj"];
NSString *esPath = [[NSBundle mainBundle] pathForResource:@"es" ofType:@"lproj"];
NSString *frPath = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
NSString *arPath = [[NSBundle mainBundle] pathForResource:@"ar" ofType:@"lproj"];
И ни один из них не равен нулю.
Я проверил имя файла локализации и Localizable.strings
, как и должно быть.
Также проверяется, существует ли ключ внутри файлов Localizable.strings
.
Я также пробовал:
- Пустой кэш
- Очистка всех целей
- Удалить папку с исходными данными
- Restart
- Reset симулятор
- Преобразование в UTF-16
- Удалите все файлы локализации и заново создайте их.
Также попытался сделать все, что находится в этом вопросе.
Важно сказать, что это не просто проблема симулятора/кэша. Он также показывает на устройствах, которые загружают приложение. (У меня есть учетная запись Enterprise).
Что еще я могу сделать, чтобы идентифицировать или исправить проблему?