почему ibtool не может импортировать файл строк UTF-16 в nib? - PullRequest
2 голосов
/ 09 декабря 2010

У меня очень странная проблема с ibtool и локализацией: Я использовал эту команду для экспорта файлов строк:

ibtool --export-strings-file XibLoc.strings SomeXib.xib

Затем я попытался импортировать строки в Xib-файл для создания локализованной версии:

ibtool --strings-file XibLoc.strings --write NewXib.xib SomeXib.xib

Это довольно стандартный метод локализации xib, однако он выдает ошибку:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.ibtool.errors</key>
    <array>
        <dict>
            <key>description</key>
            <string>The stringsfile XibLoc.strings does not appear to contain valid data for UTF-16 string encoding.</string>
        </dict>
    </array>
</dict>
</plist>

Так WTF это? ibtool экспортирует данные в кодировке UTF-16 и оказывается, что не может импортировать их обратно, даже если я ничего не изменяю в экспортированном файле. Кто-нибудь знает, что там происходит? Или что я делаю не так?

1 Ответ

1 голос
/ 02 октября 2013

ibtool слишком требователен к синтаксису аргумента файла. В ibtool 5.0 стало еще хуже. Смотрите / обманите мой радар на этом .

Единственный способ заставить его работать на меня (при условии, что ваша en локализация обеспечивает мастер XIB):

cd <project folder>
ibtool --strings-file fr.lproj/SomeXib.strings --write fr.lproj/SomeXib.xib en.lproj/SomeXib.xib

Не добавляйте кавычки или ".." и т. Д. В имена путей, так как в этом случае может произойти сбой ibtool.

...