仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1337|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之PHP国际化成绩

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:32:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。   PHP的gettext用法  
gettext法式在Linux/Unix世界中很罕见,但常人平常利用的时机不多。它用来为使用法式添加国际化撑持。举个例子,假如一个法式中的字符串资本没有硬编码在法式源文件中,而是以一种言语包的文件存在的,那末就能够经由过程添加言语包文件来改动法式界面的言语。gettext就能够做这类事。
Windows下的PHP5中已带有了gettext扩大,Zend Server也以带有该扩大。在php.ini文件中将“extension=php_gettext.dll”后面的分号去失落,重启Apache,假如一切正常的话,在phpinfo()的输入中应当会有gettext一节。上面有一个复杂的“Hello World”的例子来看看若何用gettext来到达撑持多言语的目标。
创立一个PHP文件test.php,内容以下:
<?php
putenv(“LANG=zh_CN”);
setlocale(LC_ALL, ‘zh_CN’);
bindtextdomain(‘testz, ‘./locale’);
textdomain(‘test’);
echo gettext(‘Hello World!’);
?>
开首两行代码设置言语情况为’zh_CN’,也就是简体中文。bindtextdomain设置域test的目次为以后目次下的locale目次。textdomain(’text’)告知PHP注释器,gettext函数要去test域中去寻觅替换字符串。
在阅读器中翻开这个文件,可以看到了局为“Hello World”,只是原样输入罢了,由于还没有制造中文言语包。要让阅读器输入中文而不改动源法式,需求筹办两个文件,PO和MO文件。为了失掉这两个文件,需求利用xgettext和msgfmt两个法式。Windows用户可以去GnuWin32下载GetText软件包,外面就有这两个法式。
接着创立响应的目次布局。在test.php的目次下创立“locale\zh_CN\LC_MESSAGES”如许的目次。目次名zh_CN必定要和代码中的言语称号zh_CN不异。然后在号令提醒符下履行:
xgettext -d test test.php
“-d test”暗示domain为“test”,这会在以后目次下生成test.po这个文件。用文本编纂器翻开它,做以下修正:

“Content-Type: text/plain; charset=GB2312\n”
“Content-Transfer-Encoding: 8bit\n”
#: test.php:11
msgid “Hello World!”
msgstr “你好,世界!”
行将charset设置为中文编码“GB2312”,将响应的msgid中的英文字符串翻译成中文填入到上面的msgstr中。接上去用msgfmt生成MO文件。MO是一个二进制格局的文件,gettext从它外面提取字符串资本。在号令提醒符中履行以下号令可以从方才修正的PO文件失掉MO文件:
msgfmt -o test.mo test.po
最初将test.po和test.mo放在locale\zh_CN\LC_MESSAGES目次下,刷新阅读器,便可看到显示的是中文。
下载 GnuWin32 编译po mo东西,放入情况变量,cmd 下进入项目根目次,
分离履行 :xgettext -d hello hello.php   生成po文件
分离履行 :msgfmt -o hello.mo hello.po   生成mo文件
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。
活着的死人 该用户已被删除
沙发
发表于 2015-2-4 01:54:23 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-7 19:03:55 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
因胸联盟 该用户已被删除
地板
发表于 2015-3-1 03:33:33 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
金色的骷髅 该用户已被删除
5#
发表于 2015-3-10 12:26:03 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
再见西城 该用户已被删除
6#
发表于 2015-3-17 06:13:31 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-23 23:16:19 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
透明 该用户已被删除
8#
发表于 2015-3-27 18:09:34 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
9#
发表于 2015-4-5 01:07:33 | 只看该作者
当然这种网站的会员费就几十块钱。
蒙在股里 该用户已被删除
10#
发表于 2015-4-16 11:36:44 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
若相依 该用户已被删除
11#
发表于 2015-4-26 12:03:35 | 只看该作者
做为1门年轻的语言,php一直很努力。
若天明 该用户已被删除
12#
发表于 2015-4-28 02:01:25 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
第二个灵魂 该用户已被删除
13#
发表于 2015-5-6 17:11:02 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
乐观 该用户已被删除
14#
发表于 2015-6-13 00:28:51 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
飘飘悠悠 该用户已被删除
15#
发表于 2015-6-21 20:33:08 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
分手快乐 该用户已被删除
16#
发表于 2015-6-28 08:47:21 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
飘灵儿 该用户已被删除
17#
发表于 2015-7-6 00:28:45 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
精灵巫婆 该用户已被删除
18#
发表于 2015-7-8 02:44:59 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
深爱那片海 该用户已被删除
19#
 楼主| 发表于 2015-7-10 15:05:11 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
谁可相欹 该用户已被删除
20#
发表于 2015-7-25 00:51:08 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 18:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表