2016-09-12 5 views
0

Я разрабатываю приложение для электронной коммерции. Первоначально приложение находится на английском языке, и теперь я хочу преобразовать его в китайский и французский языки. Я упомянул this linkКак перевести приложение на другой язык в iOS?

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

ответ

0

Если текст получил действительно динамический (то есть нет возможности заранее знать, какие возможны варианты), нет никакого способа сделать это. Если вы знаете, каковы возможности, вы вставляете переводы так же, как и для статического текста, и сервер посылает ключ локализации. Это схема, используемая iOS для перевода уведомлений.

(Вы могли бы теоретически использовать перевод API, такие как Google Translate, но имеет много недостатков и несколько расквитаться.)

1

Вы можете использовать этот код. И в проекте вы можете добавить локализации в info.plist.Hope это поможет вам. Спасибо

NSLocale* curentLocale = [NSLocale currentLocale]; 
namearray=[NSMutableArray arrayWithObjects:NSLocalizedString(@"Hellokey1",@""),NSLocalizedString(@"Hellokey2",@""),NSLocalizedString(@"Hellokey3",@""),NSLocalizedString(@"Hellokey4",@""),NSLocalizedString (@"Hellokey5",@""),NSLocalizedString(@"Hellokey6",@""),NSLocalizedString(@"Hellokey7",@""),NSLocalizedString(@"Hellokey8",@""),NSLocalizedString(@"Hellokey9",@""),NSLocalizedString(@"Hellokey10",@""),NSLocalizedString(@"Hellokey11",@""),NSLocalizedString(@"Hellokey12",@""),NSLocalizedString(@"Hellokey13",@""),NSLocalizedString(@"Hellokey14",@""),NSLocalizedString(@"Hellokey15",@""),NSLocalizedString(@"Hellokey16",@""),NSLocalizedString(@"Hellokey17",@""),NSLocalizedString(@"Hellokey18",@""),NSLocalizedString(@"Hellokey19",@""),NSLocalizedString(@"Hellokey20",@""),NSLocalizedString(@"Hellokey21",@""),NSLocalizedString(@"Hellokey22",@""),NSLocalizedString(@"Hellokey23",@""),NSLocalizedString(@"Hellokey24",@""),NSLocalizedString(@"Hellokey25",@""),NSLocalizedString(@"Hellokey26",@""),NSLocalizedString(@"Hellokey27",@""),nil]; 

    [curentLocale displayNameForKey:NSLocaleIdentifier 
          value:[curentLocale localeIdentifier]]; 
// NSString *path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"]; 
// NSLog(@"path:%@",path); 
    NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0]; 
+0

@kaur, используя приведенный выше код, он применим к динамическим данным? –

+0

Я использую это для статических данных. –

+0

есть ли альтернатива для динамического? –

Смежные вопросы