Ситуация с локализацией не идеальна. Хотя элементы пользовательского интерфейса Какао поддерживают некоторую динамическую гибкость в своих размерах (флаги ausosizing), очень трудно расположить их в виде, чтобы они могли вместить текст любого размера.
Как отмечает Хенг-Чонг, это обычно означает, что для каждой локализации требуется некоторая корректировка раскладки. Apple поддерживает процесс, называемый инкрементальной локализацией, с помощью инструмента под названием «ibtool», который поставляется вместе с инструментами разработчика. Процесс далеко не интуитивен и, похоже, имеет некоторые тонкие ошибки, но он помогает сделать процесс проще, чем, скажем, отдельное обслуживание 25 различных перьев вручную. По сути, этот процесс включает в себя отображение изменений, которые вы вносите в свой основной перо, на другие локализованные перья. Apple описывает процесс более подробно:
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
Чтобы избежать этого болезненного процесса, некоторые люди используют другой подход. Если вы компрометируете компоновку ваших представлений, вы можете достичь ситуации, когда каждый элемент пользовательского интерфейса вмещает наибольшую локализованную строку. Используя возможности выравнивания текстовых полей и т. Д., Вы можете таким образом организовать приемлемый макет, хотя дополнительный интервал, требуемый для локализации с самыми большими строками, часто приводит к неидеальному макету для языка, строки которого являются самыми короткими. Если вы воспользуетесь этим подходом, вам нужно спроектировать свои кончики так, чтобы класс контроллера заполнял элементы интерфейса перья правильными локализованными строками во время выполнения.
Наконец, некоторые разработчики зашли так далеко, что применили свое собственное ретрансляцию к элементам в кончике, оптимизируя их под размеры строк, которые были на них установлены. Это было бы уточнением вышеприведенной стратегии, когда один и тот же кончик используется и управляется во время выполнения для достижения желаемого эффекта.