ÓÃphp gettext¿âÀ´¿ª·¢¶àÓïÑÔϵͳ
ͨ³£ÈËÃÇд³ÌÐòʱ¶¼Êǽ«ÎÄ×ÖдËÀÔÚ³ÌÐòÀïµÄ£¬±ÈÈ磺echo "Hello
World!";
£¬¼ÙÈçÒª¸Ä³ÉËü¹úÓïÑÔ£¬Ð´¹ú¼Ê»¯³ÌÐò£¬¾ÍÒªÖð¸ö´ò¿ª½øÐÐÐ޸쬳ÌÐò½Ï¶Ìʱ»¹ÐУ¬Èô³ÌÐòÓÐÉÏÍòÉõÖÁ¸ü¶à£¬¸ÄÆðÀ´¾Í²»ÊÇÄÇôÈÝÒ×ÁË¡£½üÀ´Ëæ×Åi18nµÄÖð½¥±ê
×¼»¯£¬ÎÒÒ²À´½²Ò»½²ÔÚPHPÖÐÈçºÎʵÏÖ¹ú¼Ê»¯Ö§³Ö¡£¸úÆäËû³ÌÐòÓïÑÔÒ»Ñù£¬ÔÚ PHP Ò²¿ÉÒÔÀûÓà gettext Ì×¼þд×÷ i18n ³ÌÐò£¬ÊµÏÖ
NLS(Native Language Support) ¹ú¼Ê»¯Ö§³Ö¡£
ʵÏÖÁ÷³Ì£º³ÌÐòÉè¼ÆÕßÔÚ³ÌÐòÂëÖÐдÈëËùÒªÏÔʾµÄÐÅÏ¢£¬ÔÚÔËÐгÌÐòʱ²¢²»»áÖ±½ÓÏÔʾ³ÌÐòÉè¼ÆÊ¦ËùдµÄÐÅÏ¢£¬¶ø»áÏÈÈ¥ÕÒÒ»¸öËùÉèÖÃÓïϵµÄÐÅÏ¢µµ¡£Èç¹ûδÕÒµ½£¬²Å»áÈ¥ÏÔʾ³ÌʽÂëÖеÄÐÅÏ¢¡£
¡¡¡¡Ò»¡¢°²×°ÉèÖÃgettextÌ×¼þ£º
windowsϵͳ:
¡¡¡¡1¡¢´ò¿ªphp.iniµµ£¬²éÕÒextension=php_gettext.dll£¬È¥µôÇ°ÃæµÄ“;”
¡¡¡¡2¡¢±£´æ£¬È»ºórestart server¡£
¡¡¡¡ÈôÒ»ÇÐ˳Àû£¬¾Í¿ÉÒÔÔÚ phpinfo() Öп´µ½ gettext ×ÖÑù£¬ÖÁ´ËÒÑÉèÖÃÍê±Ï¡£
¶þ¡¢php_gettext.dllÌ×¼þÀïÓкü¸¸öº¯Ê½£¬¾ßÌåÇë¿´Ïà¹ØµÄmanual¡£ÔÚÕâÀïÎÒÃÇÖ»ÓüÇס3¸öº¯Ê½¾ÍÐÐÁË£¬ÈçÏ£º
string bindtextdomain ( string domain, string directory)
string textdomain ( string text_domain)
string gettext ( string message)
¡¡¡¡Èý¡¢Ð´×÷i18n³ÌÐò£º
<?php
// ³£¹æµÄ³ÌÐò
echo
"Hello World!"
);
?>
ÏÂÃæÊÇ i18n ³ÌÐò£ºhello.php
<?php
// I18N ³ÌÐò·¶Àý¿ªÊ¼
define
(
'PACKAGE'
,
'hello'
);
// ¶¨ÒåÒªÓõÄmoÎļþÃû³Æ£¬³£¹æÀ´Ëµ£¬ÎÒÃǶ¼°ÑPACKAGEµÄÃû³Æ¶¨ÒåºÍ³ÌÐòÃû³ÆÏàͬ¡£
putenv
(
'LANG=zh_CN'
);
setlocale
(
LC_ALL
,
'zh_CN'
);
// Ö¸¶¨ÒªÓõÄÓïϵ£¬È磺en_US¡¢zh_CN¡¢zh_TW
bindtextdomain
(
PACKAGE
,
'e:/phpbulo.com/language'
);
textdomain
(
PACKAGE
);
// The .mo file searched is:
// e:/phpbulo.com/language/zh_CN/LC_MESSAGES/hello.mo
echo
gettext
(
"Hello World!"
);
?>
¡¡¡¡ÔÚIEÖÐÊäÈ룺http://localhost/hello.php£¬Êä³ö½á¹ûΪ£º“Hello World!”
¡¡¡¡note£º°´ÕÕ GNU package ÀïÃæµÄϰ¹ß£¬¿ÉÒÔʹÓà _(...) À´´úÌæ gettext(...) £¬ÕâÑù¾Í¿ÉÒÔÉÙ´òºÜ¶à gettext ÁË¡£
¡¡¡¡ËÄ¡¢½ÓÏÂÀ´ÉèÖÃgettext poµµ£º
¡¡¡¡1¡¢´´½¨Ä¿Â¼½á¹¹£¬ÈçÏÂËùʾ£º
¡¡¡¡¡¡¡¡bindtextdomain's dir
¡¡¡¡¡¡¡¡¡¡¡¡/language
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/LC_MESSAGES
¡¡
Ïà¹ØÎĵµ£º
Ò³ÃæµÄÖØ¶¨Ïò£¬ËãÊǺܳ£ÓõŦÄÜÁË¡£ÏÂÃæÕªÂ¼³£ÓõÄ3ÖÖ·½·¨£º
<?php
¡¡¡¡if (isset($url))
¡¡¡¡{
¡¡¡¡Header("HTTP/1.1 303 See Other");
¡¡¡¡Header("Location: $url");
¡¡¡¡exit; //from www.kjsc.com.cn
¡¡¡¡}
¡¡¡¡?>
¡¡¡¡×¢Òâһϣ¬"Localtion:"ºóÃæÓÐÒ»¸ö¿Õ¸ñ¡£
¡¡¡¡¶ ......
Èç¹û´Ó¸¸Àà¼Ì³ÐµÄ·½·¨²»ÄÜÂú×ã×ÓÀàµÄÐèÇ󣬿ÉÒÔ¶ÔÆä½øÐиÄд£¬Õâ¸ö¹ý³Ì½Ð·½·¨µÄ¸²¸Ç£¨override£©£¬Ò²³ÆÎª·½·¨µÄÖØÐ´¡£
µ±¶Ô¸¸ÀàµÄ·½·¨½øÐÐÖØÐ´Ê±£¬×ÓÀàÖеķ½·¨±ØÐëºÍ¸¸ÀàÖжÔÓ¦µÄ·½·¨¾ßÓÐÏàͬµÄ·½·¨Ãû³Æ£¬ÔÚPHP5Öв»ÏÞÖÆÊäÈë²ÎÊýÀàÐÍ¡¢²ÎÊýÊýÁ¿ºÍ·µ»ØÖµÀàÐÍ¡££¨ÕâµãºÍJAVA²»Í¬£©
×ÓÀàÖеĸ²¸Ç·½·¨²»ÄÜʹÓñȸ¸ÀàÖб»¸² ......
final---ÓÃÓÚÀà¡¢·½·¨Ç°¡£
finalÀà---²»¿É±»¼Ì³Ð¡£
final·½·¨---²»¿É±»¸²¸Ç¡£
finalÀ಻Äܱ»¼Ì³Ð¡£
Èç¹ûÎÒÃDz»Ï£ÍûÒ»¸öÀà±»¼Ì³Ð£¬ÎÒÃÇʹÓÃfinalÀ´ÐÞÊÎÕâ¸öÀà¡£
ÓÚÊÇÕâ¸öÀཫÎÞ·¨±»¼Ì³Ð¡£
±ÈÈçÎÒÃÇÉ趨µÄMathÀà£¬Éæ¼°ÁËÎÒÃÇÒª×öµÄÊýѧ¼ÆËã·½·¨£¬ÕâЩË㷨ҲûÓбØÒªÐ޸ģ¬Ò²Ã»ÓбØÒª±»¼Ì³Ð£¬ÎÒÃǰÑËüÉèÖóÉfinalÀàÐÍ¡£ ......
¶à̬Õâ¸ö¸ÅÄÔÚJavaÖÐÖ¸µÄÊDZäÁ¿¿ÉÒÔÖ¸ÏòµÄ¶ÔÏóµÄÀàÐÍ£¬¿ÉÊDZäÁ¿ÉùÃ÷ÀàÐ͵Ä×ÓÀà¡£¶ÔÏóÒ»µ©´´½¨£¬ËüµÄÀàÐÍÊDz»±äµÄ£¬¶à̬µÄÊDZäÁ¿¡£ÔÚPHP5ÖУ¬±äÁ¿µÄÀàÐÍÊDz»È·¶¨µÄ£¬Ò»¸ö±äÁ¿¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊýÖµ¡¢×Ö·û´®¡¢¶ÔÏó¡¢×ÊÔ´µÈ¡£ÎÒÃÇÎÞ·¨ËµPHP5Öжà̬µÄÊDZäÁ¿¡£
ÎÒÃÇÖ»ÄÜ˵ÔÚPHP5ÖУ¬¶à̬ӦÓÃÔÚ·½·¨²ÎÊýµÄÀàÐÍÌáʾλÖá£
Ò» ......
<?php
/*
* -------------------------------------------------
* Author : Fanglor
* Email : Fanlor@163.com
* Url : www.skyleft.com
* Date : 2009-10-13
* -------------------------------------------------
*/
function arr_foreach ($arr) {
if (!is_array ($arr)) {
return fa ......