WordPress中文论坛 - WordPress Chinese Forums

 找回密码
 注册
推荐网站:HOSTUCAN主机点评网
查看: 18096|回复: 15

解决中文版zh_CN.mo不被调用的问题 [复制链接]

助理站务

技术支持

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11

金钱
1437 WPB
积分
2029
发表于 2006-5-5 18:18:49 |显示全部楼层
在有些PHP环境下,多语言可能不被调用,经过尝试,用以下方法解决:

参考《解决后台语言问题,中文回来》
困扰很久的问题,就是在本机上安装WordPress2.0.2 中文版前后台很正常,而在虚拟主机上安装后,后台为默认的en文,参考下文后,方知是PHP的BUG问题:

    如果你的 WordPress Language 是預設的 English, 就沒問題, 無論你用哪一版的 PHP. 但如果你中文化 WordPress, PHP 4.x 沒問題, 但 PHP 5.x 就不怎麼高興啦. Again, 用 PHP 4.x版鐵沒錯的啦. 如果你真的要是, 可以參考以下的解決方案. 但我沒試過, 不曉得行不行.
http://www.fredfred.net/skriker/index.php?p=84
在 gettext.php 檔中:
重新定義 $MAGIC1 和 $MAGIC2 如下
// $MAGIC1 = (int)0×950412de;
$MAGIC1 = (int)-1794895138;
// $MAGIC2 = (int)0xde120495;
$MAGIC2 = (int)-569244523;

打开gettext.php 后发现就是如此设置,后来按照如下方式修改,一切正常:

// $MAGIC1 = (int)0×950412de; //bug in PHP 5
    $MAGIC1 = 2500072158;
    // $MAGIC2 = (int)0xde120495; //bug
    $MAGIC2 = 3725722773;
Hostucan主机点评

助理站务

WordPress爱好者

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11

金钱
109 WPB
积分
1139
发表于 2006-9-5 15:11:21 |显示全部楼层

大家经常问的一个问题

这是大家经常遇到的一个问题,在某些主机中,存在php5的BUG,大家按上面文章说明试一下,看能否解决问题。

欢迎高手们继续拍砖。
分享就是快乐!

使用道具 举报

Rank: 1

金钱
0 WPB
积分
13
发表于 2006-10-12 21:05:07 |显示全部楼层
试过了,还是不行,在IIS装的php5

使用道具 举报

Rank: 3Rank: 3Rank: 3

金钱
15 WPB
积分
640
发表于 2006-10-13 07:48:07 |显示全部楼层
php5存在很多bug 还是用4吧
我买了个hostgator 的主机,希望能够找人一起合租。有兴趣的Q我 26307102

使用道具 举报

Rank: 1

金钱
0 WPB
积分
13
发表于 2006-10-13 09:20:22 |显示全部楼层
server不是我个人的,本地没问题的,apache+php5

我想理解的是为为什么不直接做出wordpress的中文版本(后台),这样也免去了调用mo语言文件的问题。

用英文其实也行

使用道具 举报

Rank: 8Rank: 8

金钱
1484 WPB
积分
4166
发表于 2006-11-9 03:45:56 |显示全部楼层
原帖由 逍遥云 于 2006-10-13 09:20 发表
server不是我个人的,本地没问题的,apache+php5

我想理解的是为为什么不直接做出wordpress的中文版本(后台),这样也免去了调用mo语言文件的问题。

用英文其实也行

一看就是没本地化过文件的,你做一次就知道它的痛苦了

使用道具 举报

Rank: 1

金钱
0 WPB
积分
13
发表于 2006-12-14 20:45:22 |显示全部楼层
原帖由 cqcrz 于 2006-11-9 03:45 AM 发表

一看就是没本地化过文件的,你做一次就知道它的痛苦了

你教下怎么汉化
我只需要汉化部分内容就好了

使用道具 举报

Rank: 2Rank: 2

金钱
0 WPB
积分
34
发表于 2007-3-22 09:24:16 |显示全部楼层
我在512j.com上也出现这个问题,客服说是WordPress2.0.2 中文版不支持mysql 5.0

使用道具 举报

Rank: 2Rank: 2

金钱
2 WPB
积分
30
发表于 2007-5-31 18:11:18 |显示全部楼层
以下解决方法引用自WordPress Support,原帖在这里

解决方法1

In
/wp-includes/gettext.php
Chage this:

// $MAGIC1 = (int)0x950412de; //bug in PHP 5
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;

For this

// $MAGIC1 = (int)0x950412de; //bug in PHP 5
$MAGIC1 = 2500072158;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = 3725722773;


使用如上方法仍不能解决问题的,可以使用以下方法试一下

解决方法2

Try this. Get your original gettext.php file, then find entry:

if ($magic == ($MAGIC1 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {

Replace by:

if ($magic == $MAGIC1) {
$this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {

The solution was described there: http://wordpress.dk/forum/topic/19

It is working for me. WordPress 2.1.3 php 5.2.1

[ 本帖最后由 opiater 于 2007-5-31 06:15 PM 编辑 ]

使用道具 举报

Rank: 1

金钱
0 WPB
积分
21
发表于 2007-7-3 13:30:41 |显示全部楼层
我使用了无效.... wP 2.2.1  php5.

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|网站合作|WordPress中文论坛 - CNWP ( 鲁ICP备05045147号 )

GMT+8, 2012-2-4 15:34 , Processed in 0.071729 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部