最近在研究mo。用php自动生成po文件,使用poedit编辑,保存的时候提示:
消息目录文档无法以消息目录文档设置中指定的'iso-8859-1'字符集保存
我看了下生成的po文件,格式确实是utf-8,所有的设置都是与正常的po文件一模一样,可就是一直有这个提示。
后来仔细分析了一下,原来问题出现在消息列表部分。我有一条消息的内容是空的:
# ./login.php : 0 msgid "" msgstr ""
删掉这条消息就正常了。正常的po文件格式应该是这样的:
# china. # Copyright (C) 2009-2010 THE china'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST t <t@126.com>, 2010. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: t <t@126.com>\n" "POT-Creation-Date: 2010-08-12 10:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: t <t@126.com>\n" "Language-Team: t <t@126.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: English\n" "X-Poedit-Country: CHINA\n" "X-Poedit-SourceCharset: UTF-8\n" # ./login.php : 30 msgid "非法登录" msgstr "非法登录"