我有一个关于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>这就是他妈的吗?ibtool以UTF-16编码导出数据,事实证明,即使我不更改导出文件中的任何内容,ibtool也无法将数据导入回来。有人知道这是怎么回事吗?或者我做错了什么?
发布于 2013-10-02 17:40:06
ibtool在文件参数语法上过于挑剔。在ibtool 5.0中甚至更糟。查看/复制我的Radar on this。
让它为我工作的唯一方法(假设您的en本地化提供了主XIB)是:
cd <project folder>
ibtool --strings-file fr.lproj/SomeXib.strings --write fr.lproj/SomeXib.xib en.lproj/SomeXib.xib不要添加任何引号或"..“等路径名,因为ibtool在这种情况下可能会失败。
https://stackoverflow.com/questions/4396644
复制相似问题