Localizable.strings горе - PullRequest
       3

Localizable.strings горе

2 голосов
/ 26 октября 2010

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

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

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

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 виноват?) И как ее решить. Любые советы будут гораздо более ценными.

Ответы [ 7 ]

6 голосов
/ 26 октября 2010

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

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

  • В Xcode выберите файл Localizable.stings на панели «Группы и файлы».

  • Выполните Get Info для этого файла.

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

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

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

3 голосов
/ 04 февраля 2012

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

2 голосов
/ 10 сентября 2011

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

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

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

2 голосов
/ 13 ноября 2010

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

1 голос
/ 29 января 2014

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

0 голосов
/ 17 января 2014

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

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

Выбрать Открыть как -> Список свойств ASCII

0 голосов
/ 24 ноября 2011

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

Проверьте, все ли строки правильно заключены в кавычки

...