我对 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 编码导出数据,结果发现即使我什至没有更改导出文件中的任何内容,它也无法将其导入回来。有谁知道那里发生了什么?或者我做错了什么?