当前位置:首页 > 技术心得 > 正文内容

php gettext无效解决

xjtudll3年前 (2023-04-08)技术心得6110

 代码:

$lang = 'en_US'; //linux不支持zh-Hans,所以gettext、php都不支持。使用locale -a可以看到os支持的语言文字国家地区码。putenv('LANGUAGE=' . $lang); //ubuntu 需要,centos不需要此行setlocale(LC_ALL, $lang . '.utf8'); //ubuntu 需要.utf8,centos可有可无$domain = 'strings';
bindtextdomain($domain, dirname(__FILE__) . '/locale');
bind_textdomain_codeset($domain , 'UTF-8');
textdomain($domain);
代码其实很简单,主要问题点:
1、setlocale记得写utf8,否则有的系统就没效果;
2、确保有这个语言,比如Windows里有cn,但是Linux里就没有cn,只有zh_CN
3、注意翻译文件路径($domain对应了mo的文件名)
目录为en_US,如下:|     |---
|     |---en_US
|     |    |---LC_MESSAGES
|     |    |          |---strings.mo 
 
 
 群晖支持的语言:

 描述文字


扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/654/

标签: PHP
分享给朋友:

“php gettext无效解决” 的相关文章

如何判断一个正整数是不是2的幂

估计用递归的方法大家都知道,就不赘述了 这里使用一个更简单的方法。 若一个正整数是2的幂,则这个数在计算中的表示肯定是以下形式:0x00...1000...B省略号表示若干个0.问题就转变为一个等价的命题:如何判断给定的一个正整数是如0x00...1000...B这种形式(二进制表示式中只有唯一...

如何给程序添加超大图标(EXE大尺寸图标)

如何给程序添加超大图标(EXE大尺寸图标)

要点:1、制作多分辨率ICON文件2、清空图标缓存,使图标文件生效 自己写的程序,如果更换了图标,编译出来,超大图标显示就会发现图标并没有跟着放大。那么问题来了,就换个图标效果就不同了,很明显时图标有问题。用eXeScope打开vs2013编译出来的MFC对话框程序可以看到如下图:这不止一...

线反转法行列键盘扫描

线反转法行列键盘扫描

    行列键盘的学习是单片机学习的必经之路,可是对于初学者来说学习起来并不容易。书上的资料不多,或是说明不细,亦或太复杂不易理解。而线反转法行列键盘扫描简单易懂,非常适合初学者学习,也可作为程序开发之用。    了解行...

Xcode Warning: Multiple build commands for output file /xxx 解决

Xcode Warning: Multiple build commands for output file /xxx 解决

 现象: 编译后有如下警告: [WARN]Warning: Multiple build commands for output file /xxx 解决步骤如下: 1、选择你的工程 2、选择target 3、点击 Build Phases 4、展开...

TM87系列Mask Option

TM87系列Mask Option

1 Power Source 电源来源 A:...

Altium Designer:将Sch.Lib和Pcb.Lib库文件整合成.intlib库文件

Altium Designer:将Sch.Lib和Pcb.Lib库文件整合成.intlib库文件

参考资料: http://www.51hei.com/bbs/dpj-39220-1.html 每个.intlib (integrated library) 需包含 .pcblib (建封装) 和 .schlib (路线图) 两个文件。 (1) 创建 .intlib (file ->...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。