2010-10-25 3 views
2

Мой файл Localizable.strings был каким-то образом поврежден, и я не знаю, как его восстановить.Localizable.strings woes

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

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

Localizable.strings: Conversion of string failed. The string is empty. 
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1 

Я подозреваю, что это проблема кодирования, но я не знаю, как это случилось (может быть, SVN виноват?), Ни как ее решить. Любые советы будут гораздо более оценены.

ответ

6

У меня есть проблемы с тем же файлом, который очень похож на ваш собственный. Что для меня происходит, так это то, что Xcode не знает правильного форматирования файла. Я часто получаю это при перестройке проекта, и я удаляю и повторно добавляю этот файл в проект Xcode. Когда я повторно добавляю файл, его кодировка становится чем-то вроде Western Roman, который не может отображать ничего, кроме ASCII.

Вот что мне делать, чтобы решить эту проблему:

  • В Xcode выберите Localizable.stings файл в группе & Файлы панели.

  • Получить информацию об этом файле.

  • На информационной панели выберите вкладку Общие.

  • На этой вкладке перейдите к кодировке файла и измените ее значение.

Последний шаг заключается в том, что трюк лежит, поскольку теперь вы должны угадать правильную кодировку. Я нахожу, что для большинства европейских языков работает «Unicode (UTF-8)». А для азиатских языков я нахожу, что «Unicode (UTF-16/32)» - это те, которые нужно попробовать.

+0

Помните, что нужно делать «Продукт» Чистым. – Gonzo

2

Убедитесь, что в файле-Get Info выбрано UTF-16. Если он не установлен или UTF-8 в качестве кодировки, вам нужно его изменить. Если у ваших символов есть пробелы между ними, вы выбираете «повторно интерпретировать» файл как UTF-16. Если в файле есть странные символы, вам необходимо их удалить.

2

Исключить проблему UTF-8, иногда вам по-прежнему приходится проверять содержимое в случае, если есть некоторые проблемы с синтаксисом.

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

"(. +?)" = "(. +?)";

+0

за исключением комментариев, таких как // и/* –

0

Это происходит со мной, когда есть недостающая цитата или что-то не так с файлом. Обычно, поскольку мои языковые файлы выполняются другим членом команды, он, как правило, забывает цитату или что-то еще. Обычно XCode показывает ошибку на этой строке, иногда она не делает и просто выдает ошибку «Поврежденные данные».

Дважды проверьте, если все ваши строки закрыты правильно в кавычках

3

Я только что эта ошибка, потому что я забыл точку с запятой. Понадобился время, чтобы понять это. Похоже на действительно неоднозначную ошибку компилятора, но исправление было простым.

0

Открыть файл в Xcode.

Щелкните правой кнопкой мыши в Навигаторе проектов.

Выберите Открыть как -> ASCII Список недвижимости

1

Вы можете использовать инструмент plutil командной строки. Без параметров или с опцией -lint он проверяет синтаксис файла, заданного как аргумент. Он расскажет вам точнее, где ошибка.