iphone: как мне сделать так, чтобы мое приложение поддерживало два или более языков? - PullRequest
0 голосов
/ 10 сентября 2011

У меня есть приложение с английской версией.Я хочу, чтобы он также работал на французском языке.

Какие шаги мне нужно выполнить?или какой API или дополнительный код мне понадобится?

Любые примеры или учебники помогут мне больше.

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Вам нужно добавить локализуемые строки для всех языков. А также вам нужно добавить .lproj вместе с локализованным файлом для каждого языка, для которого вы хотите обеспечить поддержку.

Надеюсь, это поможет вам.

EDIT:

У меня есть некоторые из этих ссылок, полезных для вас.

http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/

http://adeem.me/blog/2009/05/09/tutorial-iphone-localization-in-xib-nib-files/

Как упростить локализацию iPhone?

http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial

Мне кажется, последний из http://www.raywenderlich.com - лучший, который я бы порекомендовал.

Надеюсь, это поможет вам.

Спасибо

0 голосов
/ 10 сентября 2011

Учебники хороши для начинающих, но вы должны рассмотреть следующие моменты, прежде чем начать:

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

  • Поэтому я предлагаю (хотя вначале это больше работает) программно установить метки и названия кнопок:

     mylabel.text = NSLocalizedString(@"text:", @"text:"); 
    
    [mybtn setTitle: NSLocalizedString(@"textbtn", @"textbtn") forState:UIControlStateNormal];
    
  • Затем используйте: genstrings -o en.lproj * .m, чтобы создать файл строк, который будет искать все эти NSLocalizedString и создать файл Localizable.strings в папке en.lproj

Если вы последуете этому совету, в будущем вам будет легче жить, хотя это пока не совсем удобно. Если вам нужно добавить новую NSLocalizedString (например, потому что у вас есть новая метка), вам нужно создать совершенно новый файл Localizable.strings. Убедитесь, что у вас есть резервная копия этого файла, в который вы переводите, иначе он будет перезаписан и потерян. Я еще не нашел хорошего решения, как создать строки для перевода ...

ps больше нет необходимости добавлять локализованные XIB-файлы ... в противном случае у вас будет несколько XIB-файлов, которых в первую очередь нужно избегать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...