php gettext·½Ê½ÊµÏÖUTF 8¹ú¼Ê»¯¶àÓïÑÔ(i18n)
½ü
À´Ëæ×Åi18n(¹ú¼Ê»¯)µÄÖð½¥±ê×¼»¯£¬ÎÒÒ²À´½²Ò»½²ÔÚPHPÖÐÈçºÎʵÏÖ¹ú¼Ê»¯Ö§³Ö¡£¸úÆäËû³ÌÐòÓïÑÔÒ»Ñù£¬ÔÚ PHP Ò²¿ÉÒÔÀûÓà gettext
Ì×¼þд×÷ i18n ³ÌÐò£¬ÊµÏÖ NLS(Native Language Support) ¹ú¼Ê»¯Ö§³Ö£¬¾ßÌåÇë²Î¿¼¹Ù·½Îĵµ(
http://www.gnu.org/software/gettext/manual/gettext.html
)
ÕâÀïÎÒÃÇÖ÷Òª½éÉÜwindowƽ̨ÏÂʹÓÃphpµÄÀ©Õ¹gettextʵÏÖ³ÌÐòµÄ¹ú¼Ê»¯¡£
gettext¼ò½é£º
GNU
gettextÊÇ·ÒëÏîÄ¿µÄÖØÒªÒ»²½£¬ËüÌṩÁËÒ»¸ö¹¤×÷¿ò¼Ü£¬ÓÉһЩ¼¯³ÉµÄ¹¤¾ßºÍÎĵµ×é³É£¬°ïÖú³ÌÐòÔ±¡¢·ÒëÈËÔ±ºÍ×îÖÕÓû§ÊµÏÖ³ÌÐòµÄ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£ÓÃ
GettextµÄ·½Ê½ÊµÏÖ¶àÓïÑԵõ½Á˹㷺µÄÖ§³Ö£¬ÖøÃûµÄBLOG³ÌÐòwordpressµÄ¹ú¼Ê»¯¾ÍÊÇÓõÄGNU gettext¡£
´óÖÂÔÀí£º
GNU
gettextʹÓÃPO»òMOÎļþÀ´ÊµÏÖ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£POµÄÒâ˼ÊÇPortable
Object£¬ÊÇÒ»ÖÖÎı¾½á¹¹£¬¿ÉÒÔ·½±ãµÄÓÉÈËÃÇÔĶÁºÍÐ޸ġ£MOÊÇMachine
ObjectµÄ¼òд£¬MOÎļþÊÇPOÎļþµÄ¶þ½øÖÆÐÎ̬¡£Ò»°ãÀ´Ëµ£¬Ò»¸öPO»òMOÎļþ¶ÔÓ¦ÓÚÒ»ÖÖÓïÑÔ£¬Èç¹ûÒ»¸ö³ÌÐòÒªÖ§³Ö¶àÖÖÓïÑÔ£¬Ã¿Ò»ÖÖÓïÑÔ¶¼ÐèÒª×Ô¼º
µÄPO»òMOÎļþ¡£
¿ªÊ¼Ó¦Óãº
²½ÖèÒ»£º´î½¨»·¾³(·þÎñÆ÷ÒѾÍê³É£¬»·¾³ÒѾ´î½¨ºÃÁË)
1¡£Ê×ÏȲ鿴ÄãµÄphpÀ©Õ¹Ä¿Â¼ÏÂÊÇ·ñÓÐphp_gettext.dllÕâ¸öÎļþ£¬Èç¹ûûÓУ¬Õâ¾ÍÐèÒªÄãÏÂÔØÒ»¸ö»òÊÇ´ÓÆäËûµØ·½¿½±´Ò»¸ö£¬È»ºó·Åµ½phpÀ©Õ¹Ä¿Â¼¡£
2¡£´ò¿ªphp.ini£¬²éÕÒ”;extension=php_gettext.dll“ £¬È»ºóÈ¥³ý×¢ÊÍ£¬ÖØÆôapache¡£
ÈôÒ»ÇÐ˳Àû£¬¾Í¿ÉÒÔÔÚ phpinfo() Öп´µ½ gettext ×ÖÑù£¬ÖÁ´Ë·þÎñÆ÷»·¾³ÅäÖÃÍê±Ï¡£
²½Öè¶þ£º¼ÙÈçÎÒÃÇÒª·Òëtest.phpÒ³ÃæÀïµÄhello word!Õâ¾ä»°¡£
±à¼test.php£¬½«Òª·Òë µÄÎÄ×ÖÓÃgettextº¯Êý°üº¬£¬±íʾÕâЩ±»°üº¬µÄÎÄ×ÖÊÇÐèÒªÓÃÀ´·ÒëµÄ¡£
view plain
copy to clipboard
print
?
<?
include_once
(
'inc/setLan.php'
);
$domain
=
'test'
;
bindtextdomain
(
$domain
,
"locale/"
);
//ÉèÖÃij¸öÓòµÄmoÎļþ·¾¶
bind_textdomain_codeset($domain
,
'UTF-8'
);
//ÉèÖÃmoÎļþµÄ±àÂëΪUTF-8
textdomain($domain
);
//ÉèÖÃgettext()º¯Êý´ÓÄĸöÓòÈ¥ÕÒmoÎļþ
?>
<html>
<head>
<meta http-equiv="Content-Type"
&
Ïà¹ØÎĵµ£º
ÔÚphpÖмÆËãʱ¼ä²îÓÐʱºòÊǼþÂé·³µÄÊÂ!²»¹ýÖ»ÒªÄãÕÆÎÕÁËÈÕÆÚʱ¼äº¯ÊýµÄÓ÷¨ÄÇÕâЩҲ¾Í±äµÄ¼òµ¥ÁË:
Ò»¸ö¼òµ¥µÄÀý×Ó¾ÍÊǼÆËã½èÊéµÄÌìÊý,ÕâÐèÒªphp¸ù¾ÝÿÌìµÄÈÕÆÚ½øÐмÆËã,ÏÂÃæ¾ÍÀ´Ì¸Ì¸ÊµÏÖÕâÖÖÈÕÆÚ¼ÆËãµÄ¼¸ÖÖ·½·¨:
(1) Èç¹ûÓÐÊý¾Ý¿â¾ÍºÜÈÝÒ×ÁË!ÈôÊÇMSSQL¿ÉÒÔʹÓô¥·¢Æ÷!ÓÃרÃżÆËãÈÕÆÚ²îµÄº¯Êýdatediff()±ã¿É ......
Ò»¡¢ÒýÂÛ
PHP,Ò»ÃÅ×î½ü¼¸ÄêÐËÆðµÄwebÉè¼Æ½Å±¾ÓïÑÔ,ÓÉÓÚËüµÄÇ¿´óºÍ¿ÉÉìËõÐÔ,½ü¼¸ÄêÀ´µÃµ½³¤×ãµÄ·¢Õ¹,phpÏà±È´«Í³µÄaspÍøÕ¾,ÔÚËÙ¶ÈÉÏÓоø¶ÔµÄÓÅÊÆ,Ïëmssqlת6ÍòÌõÊý¾ÝphpÈçÐèÒª40Ãë,asp²»ÏÂ2·ÖÖÓ.µ«ÊÇ,ÓÉÓÚÍøÕ¾µÄÊý¾ÝÔ½À´Ô½¶à,ÎÒÃÇ¿ÊÇóÄܸü¿ìËٵĵ÷ÓÃÊý¾Ý,²»±ØҪÿ´Î¶¼´ÓÊý¾Ý¿âµô,ÎÒÃÇ¿ÉÒÔ´ÓÆäËûµÄµØ·½,±È·½Ò»¸öÎļþ,»òÕßij¸ ......
PHPÖ§³Ö8ÖÖÔʼÀàÐÍ£¬ÆäÖаüÀ¨£º
4ÖÖ±êÁ¿ÀàÐÍ£ºboolean(²¼¶ûÐÍ)¡¢integer(ÕûÐÍ)¡¢float(¸¡µãÐÍ)¡¢string(×Ö·ûÐÍ)£»
2ÖÖ¸´ºÏÀàÐÍ£ºarray(Êý×é)¡¢object(¶ÔÏó)£»
2ÖÖÌØÊâÀàÐÍ£ºresource(×ÊÔ´)¡¢NULL
Äú¿ÉÄÜ»¹»á¶Áµ½Ò»Ð©¹ØÓÚ“Ë«¾«¶È£¨double£©”ÀàÐ͵IJο¼¡£Êµ¼ÊÉÏ double ºÍ float ÊÇÏàͬµÄ£¬ÓÉÓÚһЩÀúÊ·µÄÔ ......
ÔÚÎÒÃǵÄÍøÕ¾Éè¼Æ¹ý³ÌÖУ¬¾³£»áÓõ½¶àÌõ¼þ²éѯ£¬±¾ÎĵÄÔ´ÂëÊÇÒ»¸ö¶þÊÖ·¿ÎݲéѯµÄÀý×Ó¡£ÔÚ±¾ÀýÖУ¬ÎÒÃÇҪʵÏÖÄܹ»Í¨¹ýµØÀíλÖã¬ÎïÒµÀàÐÍ£¬·¿Îݼ۸ñ£¬·¿ÎÝÃæ»ý¼°ÐÅÏ¢·¢²¼ÈÕÆڵȶà¸öÌõ¼þ²éѯµ½¿Í»§ËùÐèµÄ×ÊÁÏ¡£
²éѯÎļþ£¨search.php£©
Ò»¡¢Éú³É²éѯÓï¾ä£º
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
<?
$conn=mysql_connect("localhost", ......
PHP»º´æ´úÂë
ºÃµÄÒ³Ã滺´æ´úÂ룬¿ÉÒÔ¼õÇáCPUºÍMYSQL¸ºµ£¡£Ê¹ÓÃÇ°£¬ÏÈÔÚ¸ùĿ¼´´½¨“cache”Îļþ¼Ð£¬È»ºóÔËÐÐ1.php£¬µÚÒ»´ÎÔËÐк͵ڶþ´ÎÔËÐÐËٶȲîÒìºÜ´ó¡£»¶ÓÊìϤPHPµÄÅóÓÑʹÓúÍÌáÒâ¼û¡£
ʹÓ÷½·¨:(Çë±£´æΪtemp.php)
<?php
include('arrcache.php');
$cache = new ArrCache('cache',5,'txt');
......