ÓÃ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
¡¡
Ïà¹ØÎĵµ£º
¼Ì³ÐÊÇÃæÏò¶ÔÏó×îÖØÒªµÄÌØµãÖ®Ò»£¬¾ÍÊÇ¿ÉÒÔʵÏÖ¶ÔÀàµÄ¸´Óá£
ͨ¹ý“¼Ì³Ð”Ò»¸öÏÖÓеÄÀ࣬¿ÉÒÔʹÓÃÒѾ¶¨ÒåµÄÀàÖеķ½·¨ºÍÊôÐÔ¡£
¼Ì³Ð¶ø²úÉúµÄÀà½Ð×ö×ÓÀà¡£
±»¼Ì³ÐµÄÀ࣬½Ð×ö¸¸À࣬Ҳ±»³ÉΪ³¬Àà¡£
PHPÊǵ¥¼Ì³ÐµÄ£¬Ò»¸öÀàÖ»¿ÉÒԼ̳ÐÒ»¸ö¸¸À࣬µ«Ò»¸ö¸¸ÀàÈ´¿ÉÒÔ±»¶à¸ö×ÓÀàËù¼Ì³Ð¡£
´Ó×ÓÀàµÄ½Ç¶È¿´£¬Ëü“ ¼ ......
µ¥¼þģʽҪ½â¾öµÄÎÊÌâ¾ÍÊÇ“ÈçºÎÈÃÕâ¸öÀàÖ»ÓÐÒ»¸öʵÀý”¡£
ÎÒÃǵÄwebÓ¦ÓÃÖУ¬´óÁ¿Ê¹ÓÃÁËÊý¾Ý¿âÁ¬½Ó£¬Èç¹û·´¸´½¨Á¢ÓëÊý¾Ý¿âµÄÁ¬½Ó±ØÈ»ÏûºÄ¸ü¶àµÄϵͳ×ÊÔ´¡£
ÎÒÃÇÈçºÎ½â¾öÕâ¸öÎÊÌ⣬½¨Á¢Î¨Ò»µÄÊý¾Ý¿âÁ¬½ÓÊDZØÒªµÄ·½Ê½¡£
ÎÒÃÇÓÖÈçºÎÖªµÀÓëÕâ¸öÊý¾Ý¿âµÄÁ¬½ÓÊÇ·ñÒѾ½¨Á¢£¿ »¹ÊÇÐèÒªÏÖÔÚ½¨Á¢£¿
µ¥¼þģʽ¿ÉÒÔ½â¾öÕ ......
ÔÚPHP5ÀàÖмÌÐøÊ¹ÓÃconsÐÞÊγ£Á¿¡£ÎÒÃÇʹÓÃconst¶¨ÒåÒ»¸ö³£Á¿£¬¶¨ÒåµÄÕâ¸ö³£Á¿²»Äܱ»¸Ä±ä¡£ÔÚPHP5ÖÐconst¶¨ÒåµÄ³£Á¿Ó붨Òå±äÁ¿µÄ·½·¨²»Í¬£¬²»ÐèÒª¼Ó$ÐÞÊηû¡£ const PI = 3.14£» ÕâÑù¾Í¿ÉÒÔ¡£
¶øÊ¹ÓÃconst ¶¨ÒåµÄ³£Á¿Ãû³ÆÒ»°ã¶¼´óд£¬ÕâÊÇÒ»¸öÔ¼¶¨£¬ÔÚÈκÎÓïÑÔÖж¼ÊÇÕâÑù¡£
Èç¹û¶¨ÒåµÄ³£Á¿Óɶà¸öµ¥´Ê×é³É£¬Ê¹Óà _ Á¬½Ó£¬ ......
³éÏóÀàµÄÓ¦ÓþÍÊǵäÐ͵ÄÄ£°æÄ£Ê½£¬ÏÈÉùÃ÷Ò»¸ö²»Äܱ»ÊµÀý»¯µÄÄ£°æ£¬ÔÚ×ÓÀàÖÐÈ¥ÒÀÕÕÄ£°æÊµÏÖ¾ßÌåµÄÓ¦Óá£
Ä£°æÄ£Ê½ÊµÀý
ÎÒÃÇдÕâÑùÒ»¸öÓ¦Óãº
ÒøÐмÆËãÀûÏ¢£¬¶¼ÊÇÀûÂʳËÒÔ±¾½ðºÍ´æ¿îʱ¼ä£¬µ«¸÷ÖÖ´æ¿î·½Ê½¼ÆËãÀûÂʵķ½Ê½²»Í¬£¬ËùÒÔ£¬ÔÚÕË»§Õâ¸öÀàµÄÏà¹Ø·½·¨Àֻ´î³öËã·¨µÄ¹Ç¼Ü£¬µ«²»¾ßÌåʵÏÖ¡£¾ßÌåʵÏÖÓɸ÷¸ö×ÓÀàÀ´Íê³É¡ ......
½Ó¿Ú(interface)ÊdzéÏó·½·¨ºÍ¾²Ì¬³£Á¿¶¨ÒåµÄ¼¯ºÏ¡£
½Ó¿ÚÊÇÒ»ÖÖÌØÊâµÄ³éÏóÀ࣬ÕâÖÖ³éÏóÀàÖÐÖ»°üº¬³éÏó·½·¨ºÍ¾²Ì¬³£Á¿¡£
½Ó¿ÚÖÐûÓÐÆäËüÀàÐ͵ÄÄÚÈÝ¡£
½Ó¿ÚµÄ¶¨Òå
ÎÒÃÇÏÈд½Ó¿ÚµÄ¶¨Ò壬ºóÃæ¼¸½ÚÔÙ½éÉܽӿڵÄÒâÒå¡£
ÏÂÃæµÄÀý×ÓÊǽӿڵÄÒ»¸ö¼òµ¥Ð´·¨¡£
<?php
interface ½Ó¿ÚÃû
{
}
?>
ÏÂÃæµÄÀý×Ó¶¨ÒåÁËÒ»¸ö½Ó ......