Раскадровка / XIB и лучшие практики локализации - PullRequest
19 голосов
/ 13 января 2012

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

Это создает проблему, потому что у вас есть несколько файлов, которые во многих случаях имеют один и тот же пользовательский интерфейс, которые подвержены изменениям. Если вы хотите изменить дизайн пользовательского интерфейса для одного представления, вам придется делать это несколько раз (хуже, если вы вводите локализуемые строковые значения в самой XIB). Это идет вразрез с принципом СУХОЙ.

Кажется, гораздо эффективнее звонить NSLocalizedString() там, где вам это нужно, и просто использовать один XIB или раскадровку для одной базовой локализации.

Итак, почему (не) я должен создавать локализованные файлы XIB / Storyboard?

Ответы [ 11 ]

0 голосов
/ 08 февраля 2012

Каждое место, куда я смотрю, говорит о том, что вам нужно реплицировать весь xib-файл для каждого экземпляра локализации, даже если вы на самом деле хотели только скопировать текст и скопировать текст на другом языке для каждого экземпляра локализации.

Если кто-либо знает способ репликации только видимого пользователем текста xib (на другом языке) без репликации всего файла xib для каждого языка, сообщите нам об этом.

...