-1
我试图从gettext的创建ICU4C file的.po与sed
这样的脚本文件:转换.po文件到ICU4C .txt文件
/^#/ d /* delete comments */
:a;/"$/{N;s/"\n"//;ba} /* merge quoted lines in loop */
/^msgid /s/msgid (.*)/\1/ /* convert msgids */
s/msgstr "(.*)"/\{ "\1" }/ /* convert msgstrs */
而且它已经工作得很好(忽略复数形式),但由于某些原因,它不会转换最后一个msgid/msgstr对,除非我不合并两次引号。但是,其他东西的语法会变得错误。有任何想法吗?不必使用sed
。
那些ICU文件是genrb
接受的唯一的文件,我想在PHP中使用ResourceBundle。
我相信''N'之后,你可能会在模式空间中有'quoteline \ nmsgid',只有'msgid'在模式空间的开头才会匹配'^'。它匹配'\ 0msgid'而不是'\ nmsgid' – stevesliva