Ответ 1
Локализация не идеальна. Хотя элементы Cocoa UI поддерживают некоторую динамическую гибкость в их размере (флагов ausosizing), очень сложно организовать их в представлении, чтобы они могли размещать любой размер текста.
Как указывает Хэн-Чонг, это обычно означает, что для каждой локализации требуется некоторая корректировка макета. Apple поддерживает процесс, называемый инкрементной локализацией, с помощью инструмента под названием "ibtool", в комплекте с инструментами разработчика. Этот процесс далек от интуитивного и, кажется, имеет некоторые тонкие ошибки, но помогает сделать процесс проще, чем, скажем, отдельно, поддерживая 25 разных перьев вручную. Этот процесс по существу включает в себя изменения картографии, которые вы делаете в своем первичном наконечнике, на другие локализованные наконечники. Apple описывает процесс более подробно:
Чтобы избежать этого болезненного процесса, некоторые люди используют другой подход. Если вы нарушаете макет своих взглядов, вы можете достичь ситуации, когда каждый элемент пользовательского интерфейса вмещает самую большую локализованную строку. Используя возможности выравнивания текстовых полей и т.д., Вы можете таким образом упорядочить приемлемый макет, хотя дополнительный интервал, необходимый для локализации с наибольшими строками, часто вызывает макет меньшего размера для языка, строки которого коротки. Если вы примете такой подход, вам нужно сконструировать свои наконечники, чтобы класс контроллера заполнял элементы пользовательского интерфейса nib правильными локализованными строками во время выполнения.
Наконец, некоторые разработчики дошли до того, что применили свой собственный ретранслятор к элементам в наконечнике, оптимизировав их для размеров строк, которые были установлены на них. Это будет уточнением стратегии выше, где один ниб используется и управляется во время выполнения для достижения желаемого эффекта.