检查Localizable.strings文件是否有效

Che*_*tan 37 localization objective-c ios ios7 swift

我正在以编程方式创建Localizable,strings文件.我从服务器下载文件并显示该文件的本地化.

但是如果文件中有一些错误,那么我的本地化不起作用.它向我展示了钥匙.如果在服务器上我编辑本地化文件,我添加字符串为

"HELLO_WORLD"=你好

这里,密钥是正确的,但值的格式不正确.格式应为

"HELLO_WORLD"="你好";

如果我的Localizable.strings文件不包含任何错误且有效,我如何在运行时以编程方式检查.

请帮忙

Ade*_*edt 79

plutil从终端使用:

plutil -lint Localizable.strings
Run Code Online (Sandbox Code Playgroud)


Jac*_*ley 29

除了@ Aderstedt的回答:

plutil -lint Localizable.strings确实有效,但你必须为每个版本的文件运行它.例如

  1. cd 进入你的项目根目录
  2. cd en.lproj - 您可以将其替换为您正在使用的任何本地化.
  3. plutil -lint Localizable.strings

当您运行第3步时,您将看到一个错误,告诉您文件有什么问题.或者你会被告知文件没问题

  • 你可以简单地运行`plutil -lint **/*.string`。 (3认同)

Pat*_*tru 9

如上所述plutil(属性列表实用程序)是一个很好的工具.plist,.strings可以在您手动编辑它们时验证它们和文件.您可以将它与其.strings结合应用于您的所有文件find.在您的项目目录中运行

find . -name *.strings -exec plutil -lint {} \;
Run Code Online (Sandbox Code Playgroud)

或使用

find . -path ./DerivedData -prune -o -name *.strings -exec plutil -lint {} \;
Run Code Online (Sandbox Code Playgroud)

如果你想排除你的DerivedData目录(我通常这样做).