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

php gettext无效解决

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

 代码:

$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无效解决” 的相关文章

监听viewcontroller进入后台

首先,要说明的是: ViewWillDisappear在进入后台的时候 不会 被触发 监听Home键进入后台: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResig...

如何通过程序清除蓝牙缓存的设备名称?

http://stackoverflow.com/questions/10793761/how-to-programmatically-clear-the-bluetooth-name-cache-in-android 现象: 一个已经配对过的蓝牙设备,修改名称之后,手机上显示的依旧是以前的名称,并...

Altium打印设置文件.OutJob修改

Altium打印设置文件.OutJob修改

对于打印设置来说,很多时候设置是几乎相同的,如果新建打印设置文件(通过【File】->【Smart PDF】),那么每次都要重复一些设置工作,相当的繁琐。我们可以通过拷贝之前别的project的.OutJob文件,来简化这些操作。需要注意的是,要对这个.OutJob文件进行修改,不然输出的文件...

Xcode:如何在plist中换行

参考资料:http://91r.net/ask/2035567.html 问题: 如何在plist中换行,尝试在末尾加入\n发现无效 解决办法: 1、自编代码将"\n"替换为"\\n" NSString *newString = [oldString stri...

金蝶K3 SQL报表更改子系统(路径)

金蝶K3 SQL报表更改子系统(路径)

金蝶K3 SQL路径是存储在 ICClassSQLReport 1、K3 BOS集成开发工具里 打开你SQL报表准备放入的子系统 比如,要放到【生产任务管理】里 从里面随便找个报表的名称,例如:拖期生产任务单 2、查询想要转移子系统的报表和第一步找的报表名称 我这里想转移【车间在制品存量】 sel...

MultiSelectListPreference 由于xml存在问题而崩溃

参考资料: http://stackoverflow.com/questions/28687681/multiselectlistpreference-crashes-with-dependency 问题描述: 添加了一个MultiSelectListPreference,然后一运行程序,就崩溃了。...

发表评论

访客

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