Получить строку базового языка обратно из NSLocalizedString
Мы используем NSLocalizedString
повсюду в нашем приложении и локализовать около 8 языков. English
является базовым языком, и у нас есть экземпляр, где локализованные слова сохраняются в базе данных. Тем не менее, у нас есть инструмент для их экспорта, и нам нужно преобразовать их обратно в базовый язык (английский) для этих терминов.
Есть ли NSLocalizedString
предоставить способ конвертировать локализованную строку обратно на базовый язык?
1 ответ
Какао не обеспечивает этого, и, в общем, это невозможно. Вполне возможно, что разные строки базового языка были переведены в идентичные строки на другом языке (либо потому, что они означают одно и то же, либо из-за омонимов). Так что не может быть уникальной обратной локализации.
В идеале вы должны использовать строки базового языка или внутренний код везде, кроме представления пользователю. Вы не должны хранить локализованные строки в базе данных.
Например, что если приложение создает запись в базе данных, когда действует один язык, пользователь закрывает ваше приложение, изменяет настройки языка системы и перезапускает ваше приложение. Теперь в базе данных есть запись, которая не соответствует ни термину базового языка, ни текущей локализации этого термина. Вам потребуется не только обратная локализация текущего языка, но и обратная локализация для всех языков, которые поддерживает ваше приложение.