我正在试着看看将我的PHP网站翻译成其他语言的最佳方法是什么。我的网站目前是英文版,我知道我可以使用不同的语言变量设置创建不同的语言文件(例如en.php,pt.php,es.php等)。
但是,我读过使用* .po或* .pot文件可以更轻松地翻译网站。
是否有工具可以提取我网站上的所有英文文本,然后将其放入* .po文件中?
答案 0 :(得分:3)
PHP中的GetText
函数是使用多种语言的好方法。
首先是.po
,.mo
和.pot
:
.POT 便携式对象模板。这是从应用程序中提取文本时获得的文件。通常,您将此文件发送给翻译人员。
.PO 便携式对象。这是您从翻译人员处收到的文件。这是一个包含原始文本和翻译的文本文件。
.MO 机器对象。 MO文件包含与PO文件完全相同的内容。这两个文件的格式不同。虽然PO文件是一个文本文件,并且人们很容易阅读,但是MO文件被编译并且易于计算机阅读。您的Web服务器将使用MO文件显示翻译。
PHP中的用法
<?php
// Set language to German
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');
// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");
// Choose domain
textdomain("myPHPApp");
// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now
// Print a test message
echo gettext("Welcome to My PHP Application");
// Or use the alias _() for gettext()
echo _("Have a nice day");
?>
工具强>
我使用的工具是Poedit。这些工具允许您在POT中的新文本之间进行merdge,然后生成PO或MO文件。