在制作Drupal多语言网站的时候,使用.po文件来进行翻译,这个翻译的过程一般是通过Google翻译加人工纠正,然后复制到.po文件中,再导入到Drupal网站中。
从Google翻译的界面复制翻译结果到.po文件来比较麻烦,以前是需要逐条复制粘贴,很花费时间,现在想到搞个小工具来合并From和To,并加上msgid与msgstr到一起,方便整体复制粘贴。
使用步骤:
- 先在Google翻译中进行多行翻译,纠正、改善;
- 然后复制到2个输入框From和To中;
- 按“提交”按钮,在2个输入框的下方得到输出结果;
- 输出框中的内容可以复制出来,粘贴到.po文件中。
注意事项:
- 2个输入框行数要一样、中间不要有空白行;
- 2个输入框最后一行是一个空白行。
\n"; print "
| msgid与msgstr合并后的输出框: $n 合并行数:$count$n 按ctrl-a全选,按ctrl-c复制 | 
 
      
评论1
还可以做成一个单独的PHP程序运行
下面是单独的PHP程序:
<?php /* * 合并msgid.txt与msgstr.txt到msgid_msgstr.txt中 * 请注意:2个输入文件行数要一样、不要有空白行,且全部需要用UTF-8 Unix格式,输出也是一样的格式 * James Qi 2013-8-14 */ $file_msgid="msgid.txt"; $file_msgstr="msgstr.txt"; $file_msgid_msgstr="msgid_msgstr.txt"; $fp_msgid=fopen($file_msgid,"r"); $fp_msgstr=fopen($file_msgstr,"r"); $fp_msgid_msgstr=fopen($file_msgid_msgstr,"w"); $count=0; while(!(feof($fp_msgid))) { $line_msgid=fgets($fp_msgid); $line_msgstr=fgets($fp_msgstr); if ($line_msgid=="" && $line_msgstr=="") { break; } $count++; print "line=$count\n"; print "line_msgid=\n$line_msgid"; print "line_msgstr=\n$line_msgstr"; $output='msgid "'; $output.=substr($line_msgid,0,-1); $output.='"'; $output.="\n"; $output.='msgstr "'; $output.=substr($line_msgstr,0,-1); $output.='"'; $output.="\n\n"; fputs($fp_msgid_msgstr,$output); print "output=\n$output"; } fclose($fp_msgid); fclose($fp_msgstr); fclose($fp_msgid_msgstr); print "\n----------\ntotal=$count\n"; ?>