Получить строку базового языка обратно из NSLocalizedString

Мы используем NSLocalizedString повсюду в нашем приложении и локализовать около 8 языков. English является базовым языком, и у нас есть экземпляр, где локализованные слова сохраняются в базе данных. Тем не менее, у нас есть инструмент для их экспорта, и нам нужно преобразовать их обратно в базовый язык (английский) для этих терминов.

Есть ли NSLocalizedString предоставить способ конвертировать локализованную строку обратно на базовый язык?

1 ответ

Какао не обеспечивает этого, и, в общем, это невозможно. Вполне возможно, что разные строки базового языка были переведены в идентичные строки на другом языке (либо потому, что они означают одно и то же, либо из-за омонимов). Так что не может быть уникальной обратной локализации.

В идеале вы должны использовать строки базового языка или внутренний код везде, кроме представления пользователю. Вы не должны хранить локализованные строки в базе данных.

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

Другие вопросы по тегам