Как изменить язык системных оповещений из приложения - PullRequest
0 голосов
/ 29 июня 2019

Я работаю над приложением, и клиенты хотят, чтобы оно было полностью локализовано. У нас есть несколько файлов Localizable.strings и InfoPlist.strings для каждого поддерживаемого языка. В приложении есть возможность менять язык приложения "на лету". (Это делается путем связывания другого пакета с выбранным языком) с основным пакетом. Поэтому, когда приложение вызывает [NSBundle.mainBundle localizedStringForKey:value:table:], оно фактически ссылается на пакет с выбранным пользователем языком.)

Здесь наступают плохие последствия. Оповещения о разрешении системы (запросы на использование местоположения, использование камеры и т. Д.) Не локализуются на языке, выбранном в приложении, но локализуются на предпочтительном языке из iOS Настройки.

Так, например, если пользователь выбрал английский язык в качестве предпочтительного языка в настройках, но в нашем приложении он выбрал французский, все приложение будет на французском языке, кроме системных предупреждений, которые будут на английском языке.

Есть ли способ это исправить? Я имею в виду, программно выбрать, какой языковой системный сигнал тревоги следует считать предпочтительным?

Причина отклонения Apple: Модальные оповещения вашего приложения на английском языке, но основным языком вашего приложения является французский. Чтобы помочь пользователям понять, почему ваше приложение запрашивает доступ к определенной функции, модальные оповещения вашего приложения должны быть на том же языке, что и остальная часть вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...