如何将我的PHP网站设置为多语言网站?

时间:2014-11-15 21:25:20

标签: php multilingual po

我正在试着看看将我的PHP网站翻译成其他语言的最佳方法是什么。我的网站目前是英文版,我知道我可以使用不同的语言变量设置创建不同的语言文件(例如en.php,pt.php,es.php等)。

但是,我读过使用* .po或* .pot文件可以更轻松地翻译网站。

是否有工具可以提取我网站上的所有英文文本,然后将其放入* .po文件中?

1 个答案:

答案 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文件。