【问题标题】:What is bindtextdomain, textdomain in gettext?什么是bindtextdomain,gettext中的textdomain?
【发布时间】:2010-01-01 17:19:39
【问题描述】:

我一直在学习一些 gettext,但我无法掌握这两个功能。我一直想知道是否可以在用 PHP 编写的 APP 中使用多个翻译。例如,我有 1) 系统翻译 2) 扩展翻译 3) 主题翻译以将它们划分为不同的文件。我的问题是,如果我加载系统翻译,那么加载主题翻译会不会“未设置”?

感谢任何与 gettext 和 php 相关的链接。

谢谢

【问题讨论】:

    标签: php gettext php-gettext


    【解决方案1】:

    您可以随时在文本域之间轻松切换。例如:

    给定

    ./locale/en/LC_MESSAGES/template.po 
    

    内容

    msgid "foo"
    msgstr "foobar"
    

    ./locale/en/LC_MESSAGES/messages.po
    

    内容

    msgid "Basic test"
    msgstr "A basic test"
    

    您可以使用以下 PHP 代码从一个文本域切换到另一个文本域,然后再返回:

    <?php
    setlocale(LC_ALL, 'en_US.UTF-8');
    bindtextdomain ("messages", "./locale");
    bindtextdomain ("template", "./locale");
    
    textdomain ("messages");
    echo gettext("Basic test"), "\n";
    
    textdomain ("template");
    echo _("foo"), "\n";
    
    textdomain ("messages");
    echo gettext("Basic test"), "\n";
    

    【讨论】:

    • 谢谢,我想我对 gettext 有了很好的了解
    猜你喜欢
    • 2022-08-03
    • 2011-02-27
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多