Оформление одной заявки на разных языках - PullRequest
1 голос
/ 01 июня 2011

Как вы можете сделать одно приложение для нескольких языков?

Я слышал, что Apple отклоняет приложения, которые содержат только разные языки.Так как же вы можете изменить свои изображения, текст и значки для конкретной страны или языка?

Я отправил три приложения в App Store.Однако их различия были только в пределах языка (или языка / текста в изображениях).Вот почему двое из них были отклонены.Теперь я хотел бы подать одну заявку для всех стран / языков, которые я хотел бы поддержать.

Ответы [ 3 ]

3 голосов
/ 01 июня 2011

Локализация на разные языки полностью поддерживается и явно принята Apple.

Смотрите здесь: Интернационализация и локализация , и, в частности, в этом примере: Международные горы .

Вы не можете публиковать два приложения, если их единственным отличием является язык.Это противоречит положению в правилах App Store о создании приложений, которые функционально одинаковы.

Решение, на которое я указал вам: вы можете легко включить поддержку нескольких языков в один и тот же двоичный файл приложения.Итак, пойти на это ...

1 голос
/ 01 июня 2011

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

Однако, хорошим первым началом будет чтениедокумента Интернационализация программирования , так как он поможет вам добавить дополнительные строковые ресурсы и т. д. в ваше приложение.

0 голосов
/ 21 мая 2012

Apple поддерживает 33 языка. Вот список языков:

en, 
fr, 
it,
de,
ja,
nl,
es,
pt,
pt-PT,
da,
fi,
nb,
sv,
ko,
zh-Hans,
zh-Hant,
ru,
pl,
tr,
uk,
ar,
hr,
cs,
el,
he,
ro,
sk,
th,
id,
en-GB,
ca,
hu,
vi

Вы можете найти свой местный язык, используя этот код:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];

Теперь вы можете поставить условие if по своему желанию, например:

if ([currentLanguage isEqualToString:@"it"])
    imgView.image = [UIImage imageNamed:@"italy.jpg"];

if ([currentLanguage isEqualToString:@"en"])
    imgView.image = [UIImage imageNamed:@"america.jpg"];

if ([currentLanguage isEqualToString:@"fr"])
    imgView.image = [UIImage imageNamed:@"france.jpg"];

//Where imgView is an UIImageView declared globaly in viewcontroller.h part.
...