Каким должен быть лучший способ локализации проекта iOS?

StackOverflow https://stackoverflow.com/questions/9332342

Вопрос

Я нашел два способа включить локализацию для проекта iOS:

  1. Создание локализованных файлов .xib
  2. Создание локализованных файлов .string.

Я так много прочитал об обеих методологиях, даже попробовал оба способа.Но какой из них лучше использовать и почему?Пожалуйста, направьте меня.

Это было полезно?

Решение

Первый выбор - правильный путь. Причина номер 1 в том, что не все языки имеют одинаковую длину. Немецкий язык обычно «шире», чем английский, тогда как китайский - «более узкий» язык. Это означает, что если ваш UIButton имеет размеры 100 x 37 пикселей на английском языке, он должен быть 130 x 37 пикселей на немецком языке и около 70 x 37 пикселей для китайской версии. При создании локализованных строковых файлов у вас нет этих более тонких элементов управления. Обратной стороной является то, что если вы редактируете XIB (например, добавляете еще одну кнопку), вам необходимо добавить его ко всем XIB. Обходной путь состоит в том, чтобы разработать один XIB для самого широкого языка и использовать локализованные строковые файлы, но тогда ваш пользовательский интерфейс не будет выглядеть безупречно. В конце концов, все сводится к «отточенному пользовательскому интерфейсу для пользователя» и «дополнительному времени на разработку», и вы должны принять это решение.

Во-вторых, некоторые языки, например арабский, написаны справа налево, и вам нужно настроить макет XIB, чтобы это отразить. (Может быть, если это форма, UILabel идет справа, а UITextFields слева?)

Другие советы

Действительно, это зависит от обстоятельств.Обычно я получаю и то, и другое.Когда макет действительно имеет значение, у меня будут отдельные файлы .xib.Но с одним файлом .strings работать намного удобнее.

(И нет, настройку ширины в большинстве случаев не идеальное решение.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top