2012-05-07 4 views
9

Я разрабатываю приложение, которое, помимо прочего, будет воспроизводить большой аудиофайл (30 МБ).Принудительная локализация, которая будет использоваться для цели

Я хочу отправить приложение в App Store в нескольких странах. Звуковой файл отличается для каждой целевой страны, остальная часть приложения остается той же (хотя и локализована).

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

Я также локализовал ресурсы (Images и Localized.strings), чтобы упростить их поддержку.

Предположим, что я построил свою цель для Швеции, я хочу включить только шведскую локализацию, чтобы приложение всегда показывало шведский язык (который соответствует звуковому файлу).

Вот и вопрос: * Как исключить все локализации из цели или заставить цель ТОЛЬКО использовать определенную локализацию, независимо от настроек телефона?

+0

Вы можете проверить: http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language –

ответ

0

На основании вашего комментария в ответ на Lvsti (где вы говорите, что причина, по которой вы это делаете, заключается в том, что переводы на некоторых ваших языках еще не закончены, но вы хотите освободить то, что у вас есть), возможно, в качестве альтернативы чтобы удалить все соответствующие файлы локализации или возиться со своими настройками сборки, вы можете попробовать отредактировать список языков в своем проекте XCode? Это не для цели, а для каждого проекта, но это может позволить вам исключить языки, которые вы не хотите в своей сборке. См. Раздел «Локализация» в настройках вашего проекта (есть маленький значок, который вы можете использовать для удаления языка).

enter image description here

+0

На данный момент это хороший способ опустить незавершенные локализации. Оптимально эта настройка была на цель, но, может быть, в будущем! Благодаря! –

0

Я думаю, вы могли бы вытащить его из идя в:

Target Settings => Информация => Добавить новую строку под названием Локализации => Добавить новый элемент в массиве с видом язык, который вы хотите (я думаю, что по умолчанию английский)

Я не проверял его, просто дайте мне знать, если он сработает.

+1

Я попробовал, что, к сожалению приложение по-прежнему отображается на английском языке (мой язык телефона - английский): –

0

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

cp "$PROJECT_DIR/Audio/$TARGETNAME.mp3" "$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/audio.mp3" 

который, например, будет скопируйте/переименуйте «Swedish.mp3» в «audio.mp3», непосредственно доступный из пакета.

+0

Это подход, который я использую прямо сейчас для аудиофайла. Мне просто интересно, если не возможно использовать встроенные инструменты локализации XCode, поскольку упрощает управление файлами (редактируйте локализованные xib-файлы и т. Д.). Кажется, все, что мне нужно, - это способ жесткого кодирования языка, используемого для конкретной цели. Ваше предложение - маршрут, который я возьму, если не найду лучшего метода :-) * Пересечение пальцев * PS. Как вы вставляете разрывы строк здесь? Кажется, два пространства для меня не подходят? –

+0

Я понимаю, что локализация предназначена для предоставления различных версий resouce в пределах одной и той же цели, что вынуждает Xcode отбрасывать локализации, которые в противном случае обнаруживает, на самом деле не имеет смысла ... – Lvsti

+0

Да, но я имею в виду, что вы должны хотя бы быть в состоянии сказать ему не использовать определенные локализации, даже если есть папка с именем локали. У меня есть 2 перевода, которые еще не закончены в моем приложении, 3 других, которые готовы для магазина приложений. Но поскольку два незавершенных перевода могут быть автоопределены и использованы, я не могу отправить свое приложение, прежде чем я получу перевод от переводчика (или удалю работу, которую я сделал до сих пор в файлах nib, и начинаю все сначала). переводы). Надеюсь, я что-то упустил! –

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