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 エンコーディングでエクスポートしますが、エクスポートされたファイルを何も変更しなくても、インポートできないことがわかりました。そこで何が起こっているか知っている人はいますか?または、私は何を間違っていますか?