gpt4 book ai didi

php - 在 PHP 应用程序的 gettext 中使用多个域

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:54 27 4
gpt4 key购买 nike

域是指 gettext 域。我有这个代码

$domain = "default";
$locale = 'en_US';
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain($domain, 'my_path');
bind_textdomain_codeset($domain, 'UTF-8');
textdomain($domain);

所以它将使用 my_path/en_US/LC_MESSAGES/default.po

但我想使用超过 1 个文件,所以我可以override 覆盖 default.po 中的值使用另一个 po 文件,如 admin.po、blog.po 等

最佳答案

首先像这样定义所有您的域:

bindtextdomain('domain1', DIR_LOCALE);
bindtextdomain('domain2', DIR_LOCALE);
bindtextdomain('domain3', DIR_LOCALE);
textdomain('domain1'); // set default domain for _() function

现在如果你想从不同的域获取字符串,你可以使用 dgettext()dcgettext()(如果不是来自 LC_MESSAGES) 从不同的指定域中检索单个字符串。示例:

echo dgettext('domain2', "msgid");

关于php - 在 PHP 应用程序的 gettext 中使用多个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9668471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com