NSLocalizedString
является частью решения локализации от Apple.AMLocalizedString
- это пользовательская реализация локализации Aggressive Mediocrity .
Я рекомендую придерживаться NSLocalizedString
, если вы действительно не знаете, что вам нужно больше функций и что они имеет смысл .Например, я думаю, что переключение языка внутри приложения во время выполнения (что может сделать решение AM) является ошибкой, которая с большей вероятностью может сбить пользователя с толку.Представьте, что у вас будет одно приложение на французском, другое на немецком, другое на английском.Где ты это изменишь?С обычной локализацией Apple пользователь знает, как и где ее изменить: в настройках языка iPhone.Но тогда, возможно, есть важный и правильный вариант использования для переключения языка во время выполнения приложения, в этом случае NSLocalizedString
будет недостаточно.