См. Раздел руководства по программированию ресурсов в разделе String Resources. Ключевой раздел для этой конкретной проблемы - «Форматирование строк».
Вы бы что-то вроде:
[NSString stringWithFormat:NSLocalizedString(@"%[email protected] and %[email protected]", @"two nouns combined by 'and'"),
subject.title, secondsubject.title];
%[email protected]
является расположение первой замены. Это позволяет переупорядочить текст. Тогда вы бы строковые файлы ресурсов, как:
английского языка:
/* two nouns combined by 'and' */
"%[email protected] and %[email protected]" = "%[email protected] and %[email protected]";
Испанский:
/* two nouns combined by 'and' */
"%[email protected] and %[email protected]" = "%[email protected] y %[email protected]";
Вы должны быть очень вдумчивый о таких комбинациях. Во-первых, вы никогда не сможете создать предложение из частей предложений в переводе. Вам почти всегда нужно переводить все сообщение за один раз. Я имею в виду, что вы не можете иметь одну строку, которая говорит @"I'm going to delete"
и другую строку, которая говорит @"%@ and %@"
, и склеить их вместе. Порядок слов слишком велик между языками.
Аналогичным образом сложные перечни вещей могут вызывать различные виды головных болей из-за различных правил соглашения. На некоторых языках существуют специальные правила множественного числа, гендерные соглашения и аналогичные вопросы. Как можно больше, сохраняйте свои сообщения простыми, короткими и статичными.
Но приведенные выше инструменты очень полезны для решения проблемы, которую вы обсуждаете. Подробнее см. В документах.
Это довольно хороший учебник: http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial –
Существует еще один хороший учебник [здесь] (http: // www.delitestudio.com/2012/09/11/how-to-internationalize-an-os-x-ios-app/). – DreamOfMirrors