我正在尝试了解将我的 PHP 网站翻译成其他语言的最佳方法是什么。我的网站目前是英文的,我知道我可以使用不同的语言变量设置创建不同的语言文件(例如 en.php、pt.php、es.php 等)。
但是,我了解到使用 *.po 或 *.pot 文件可以使翻译网站变得更容易。
有没有一种工具可以提取我网站中的所有英文文本,然后将其放入 *.po 文件中?
最佳答案
PHP 中的 GetText
函数是使用多种语言的好方法。
首先是.po
、.mo
和.pot
之间的区别:
.POT 可移植对象模板。这是从应用程序中提取文本时获得的文件。通常,您会将此文件发送给翻译人员。
.PO 可移植对象。这是您从译者处收到的文件。它是一个文本文件,包含原文和译文。
.MO 机器对象。 MO 文件包含与 PO 文件完全相同的内容。这两个文件的格式不同。 PO 文件是文本文件,易于人类阅读,而 MO 文件是经过编译的,易于计算机阅读。您的网络服务器将使用 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 中的新文本,然后生成 PO 或 MO 文件。
关于php - 如何将我的 PHP 网站设置为多语言网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26950894/