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