Официально рекомендуемый метод для локализации XIB/Storyboard заключается в создании файлов .xib и .storyboard внутри xx.lproj(где xx - это два идентификатор языка письма) для каждой локализации, которую вы хотите поддерживать.
Это создает проблему, потому что у вас есть несколько файлов, которые во многих случаях используют один и тот же пользовательский интерфейс, которые подвержены изменениям. Если вы хотите перепроектировать пользовательский интерфейс для одного вида, вам придется делать это несколько раз (хуже, если вы ввели локализованные строковые значения в самом xib). Это противоречит принципу DRY.
Кажется более эффективным вызвать NSLocalizedString()
там, где он вам нужен, и просто использовать один XIB или Storyboard для одной базовой локализации.
Итак, почему (не) я создаю локализованные файлы XIB/Storyboard?