【问题标题】:How can I setup my PHP website as a multilingual site? [closed]如何将我的 PHP 网站设置为多语言网站? [关闭]
【发布时间】:2015-01-13 01:52:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: php multilingual po


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      相关资源
      最近更新 更多