¸ñÂ÷
Zend_Locale
(Àº)´Â,
"ÇϳªÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» ¿Â ¼¼»ó¿¡¼ »ç¿ëÇÏ·Á¸é ¾î¶»°Ô Çϸé ÁÁÀ» °ÍÀÔ´Ï´Ù?"
±×·¸´Ù°í ÇÏ´Â Áú¹®¿¡ ´ëÇÑ Ã¼Á¦ Ãø¿¡¼ÀÇ È¸´äÀÔ´Ï´Ù.´ëºÎºÐÀÇ »ç¶÷Àº
"°£´Ü¾ß.Ãâ·Â ³»¿ëÀ» ¸î°³ÀÇ ¾ð¾î·Î ¹ø¿ªÇϸé ÁÁ¾Æ."
ÀÌ·¸°Ô ¸»ÇϰÚÁö¿ä.
±×·¯³ª, ´ÜÁö ´ÜÁö ÇÁ·¹ÀÌÁ ´Ù¸¥ ¾ð¾î¿¡ ¿Å°Ü³õÀ» »Ó(¸¸Å)À̶ó°í ÇÑ ´Ü¼øÇÑ ¹ø¿ª Å×À̺í·Î´Â ºÒÃæºÐÇÕ´Ï´Ù.
¿¹¸¦ µé¾î ¼º°ú À̸§ÀÇ Â÷·Ê³ª °æÄª, ±×¸®°í ¼öÄ¡³ª ÀÏÀÚ, ½Ã°¢, ÅëȵîÀÇ ¼½ÄÀº,
Áö¿ª¿¡ ÀÇÇØ¼ ´Ù¸¨´Ï´Ù.
Áö¿ªÈ (Localization)
»Ó¸¸ÀÌ ¾Æ´Ï°í,
±¹Á¦È (Internationalization)
µµ ÇÊ¿äÇÕ´Ï´Ù.À̰͵éÀº, °¢°¢ L10N
¹× I18N
(ÀÌ)¶ó°í »ý·«ÇØÁö±âµµ ÇÕ´Ï´Ù.±¹Á¦È¶õ, ±× ½Ã½ºÅÛÀ» ƯÁ¤ÀÇ À¯Àú Áý´ÜÀÇ
(¾ð¾î, Áö¿ª, ¼öÄ¡ ¼½Ä, À繫 ±Ô¾à, ÀÏÀÚ ½Ã°¢ ¼½ÄµîÀÇ)
¿ä±¸¿¡ °ü°è¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
Áö¿ªÈ¶õ, ƯÁ¤ÀÇ Áý´ÜÀÇ ¿ä±¸¿¡ ´ëÀÀÇϱâ À§Çؼ,
½Ã½ºÅÛ¿¡ ¸í½ÃÀûÀÎ ¼Æ÷Æ®¸¦ Ãß°¡ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î ¾ð¾îÀÇ ¹ø¿ªÀ̳ª, °¢Áö¿ªÀÇ ±Ô¾à (º¹¼öÇüÀÇ Ãë±ÞÇØ, ÀÏÀÚ, ½Ã°¢, ÅëÈ, À̸§,
±âÈ£, ÁÙ¼ À¯¼øÇÑ) ÇÏÁö¸¸ ÇØ´çÇÕ´Ï´Ù.
L10N
(¿Í)°ú I18N
(Àº)´Â, ¼·Î ¼·Î º¸¿ÏÇÏ´Â °Í ÀÔ´Ï´Ù.
Zend Framework ±×·³, ¸î°³ÀÇ ÄÄÆÛ³ÍÆ®¸¦ Á¶ÇÕÇÏ´Â °ÍÀ¸·Î
ÀÌ·¯ÇÑ ¼Æ÷Æ®¸¦ Á¦°øÇϰí ÀÖ½À´Ï´Ù.¿¹¸¦ µé¾î Zend_Locale,Zend_Date,
Zend_Measure,Zend_Translate,Zend_Currency ±×¸®°í Zend_TimeSync
±×·¸´Ù°í ÇÏ´Â ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù.
![]() |
Zend_Locale (¿Í)°ú setLocale() |
---|---|
PHP ÀÇ ¹®¼
¿¡´Â,
|
Áö¿ªÈ¶õ, ¾î´À ¾îÇø®ÄÉÀÌ¼Ç (ȤÀº Ȩ ÆäÀÌÁö) ÇÏÁö¸¸, ´Ù¾çÇÑ ¾ð¾î¸¦ À̾߱âÇÏ´Â À¯Àú¿¡ ÀÇÇØ¼ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª, ¾Æ½Ã´Â Åë°úÇØ, Áö¿ªÈ¿Í´Â ´ÜÁö ¹®ÀÚ¿À» ¹ø¿ªÇÒ »ÓÀÌ ¾Æ´Õ´Ï´Ù. ÀÌÇÏ¿Í °°Àº ³»¿ëÀÌ Æ÷ÇԵ˴ϴÙ.
Zend_Locale
-
´Ù¸¥ ZF ÄÄÆÛ³ÍÆ®¿¡ ÀÖ¾î¼ÀÇ Áö¿ªÈ ¼Æ÷Æ®·Î ´ëÀÀÇϰí ÀÖ´Â ·ÎÄÉÀÏÀÇ ¿¬±¸ ÃÖÁ¾ ´Ü°è°¡ µË´Ï´Ù.
Zend_Translate
- ¹®ÀÚ¿À» ¹ø¿ªÇÕ´Ï´Ù.
Zend_Date
- ÀÏÀÚ³ª ½Ã°¢À» Áö¿ªÈÇÕ´Ï´Ù.
Zend_Calendar
-
͏°´õ¸¦ Áö¿ªÈÇÕ´Ï´Ù (žç·Â ÀÌ¿ÜÀÇ ´Þ·Âµµ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù).
Zend_Currency
- Åëȸ¦ Áö¿ªÈÇÕ´Ï´Ù.
Zend_Locale_Format
- Áö¿ªÈ µÈ ¼öÄ¡ÀÇ ÆÛ½º ¹× »ý¼ºÀ» ½Ç½ÃÇÕ´Ï´Ù.
Zend_Locale_Data
-
±¹¸íÀ̳ª ¾ð¾î¸í, ±×¸®°í
CLDR ¿¡ ÀÖ´Â ´Ù¾çÇÑ ³»¿ë
¿¡ ´ëÇØ¼, °¢Áö¿ªÀÇ Ç¥ÁØ ¹®ÀÚ¿À» ÃëµæÇÕ´Ï´Ù.
TODO
- Localization of collations
ÄÄÇ»ÅÍÀÇ À¯Àú´Â ¸ðµÎ,(´«Ä¡Ã¤Áö ¸øÇÒÁöµµ ¸ð¸¨´Ï´Ù¸¸) ·ÎÄÉÀÏÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
Áö¿ªÈ¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì´Â,
Åë»óÀº ¾Ï¹¬ÀûÀ¸·Î ƯÁ¤ÀÇ ·ÎÄÉÀÏ (±× ¾îÇø®ÄÉÀ̼ÇÀÇ ÀÛÀÚÀÇ ·ÎÄÉÀÏ)
(À»)¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
Ŭ·¡½º³ª ÇÔ¼ö°¡ Áö¿ªÈ µÇ°í ÀÖ´Â °ÍÀ», ¿©±â¿¡¼´Â
·ÎÄÉÀÏ¿¡ ´ëÀÀÇϰí ÀÖ´Ù
(À¸)·Î ÇÕ´Ï´Ù.
±× À¯Àú°¡ ¾î´À Áö¿ª¿¡ ÀÖ´ÂÁö¸¦, ¾î¶»°Ô ÄÚµå·Î ¾Æ´Â °ÍÀԴϱî?
·ÎÄÉÀÏ ¹®ÀÚ¿ ȤÀº ·ÎÄÉÀÏÀ» ³ªÅ¸³»´Â ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇϰí,
Zend_Locale
¹× ±× ¼ºê Ŭ·¡½º´Â À¯Àú°¡ Èñ¸ÁÇÏ´Â ¾ð¾î ¹× Áö¿ªÀ» ¾Ð´Ï´Ù.
ÀÌ Á¤º¸¿¡ ÀǰÅÇϰí, ¿Ã¹Ù¸¥ ¼½Äȳª Á¤±ÔÈ, ±Ô¾àÀ» Àû¿ëÇÕ´Ï´Ù.
·ÎÄÉÀÏ ½Äº°ÀÚ¿¡ Æ÷ÇԵǴ Á¤º¸´Â, À¯ÀúÀÇ ¾ð¾î¿Í
Áö¸®»óÀÇ Áö¿ª (¿¹¸¦ µé¾î ÀÚÅà ȤÀº ±Ù¹«Ã³°¡ ¼ÓÇÏ´Â ÁÖ µî) ÀÔ´Ï´Ù.
Zend Framework ÇÏÁö¸¸ »ç¿ëÇÏ´Â ·ÎÄÉÀÏ ½Äº° ¹®ÀÚ¿Àº,
±¹Á¦ÀûÀ¸·Î Á¤Àǵǰí ÀÖ´Â ¾ð¾î¿Í Áö¿ªÀÇ ¾àĪÀ¸·Î,
language_REGION
±×·¸´Ù°í ÇÏ´Â Çü½ÄÀÔ´Ï´Ù.
¾ð¾î ¹× Áö¿ªÀº, ¾î´ÀÂÊÀ̳ª 2 ¹®ÀÚÀÇ ASCII ¹®ÀÚ¿ÀÌ µË´Ï´Ù.
¹Ì±¹ÀÇ À¯ÀúÀÇ ¾ð¾î´Â ¿µ¾î
, ±×¸®°í Áö¿ªÀº ¹Ì±¹
ÀÔ´Ï´Ù.°Å±â¼, ·ÎÄÉÀÏ ½Äº°ÀÚ´Â "en_US" µË´Ï´Ù.
µ¶ÀÏÀÇ À¯ÀúÀÇ ¾ð¾î´Â µ¶ÀÏ
, ±×¸®°í Áö¿ªÀº µ¶ÀÏ
ÀÔ´Ï´Ù.°Å±â¼, ·ÎÄÉÀÏ ½Äº°ÀÚ´Â "de_DE" µË´Ï´Ù.
·ÎÄÉÀÏ ¹× Áö¿ªÀÇ Æí¼ºÀÇ Á¤ÀÇ ³¡³ À϶÷
(À»)¸¦ Âü°í¿¡,Zend Framework ±×¸®°í »ç¿ëÇÏ´Â ·ÎÄÉÀÏÀ» ¼±ÅÃÇսôÙ.
·Ê 22.1. ƯÁ¤ÀÇ ·ÎÄÉÀÏÀÇ ¼±ÅÃ
<?php
require_once 'Zend_Locale';
$locale = new Zend_Locale('de_DE'); // µ¶ÀϾî _ µ¶ÀÏ
¹Ì±¹¿¡ »ç´Â µ¶ÀÏÀÎÀº, ¾ð¾î´Â µ¶ÀϾî
±×¸®°í Áö¿ªÀº ¹Ì±¹
(À¸)·Î ÇÏ°í ½ÍÀ»Áöµµ ¸ð¸¨´Ï´Ù.±×·¯³ª, ÀÌ·¯ÇÑ ºñÇ¥ÁØÀÇ Æí¼ºÀº,
"·ÎÄÉÀÏ" (À¸)·Î¼´Â Á÷Á¢ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê½À´Ï´Ù.
±× ´ë½Å¿¡, ¸¸¾à ¹«È¿ÀÎ Á¶ÇÕÀÌ »ç¿ëµÇ¸é,
ÀÚµ¿ÀûÀ¸·Î Áö¿ª Äڵ带 Àß¶ó ¹ö¸± ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î "de_IS" ÇÏ "de" ¿¡ Àß¶ó ¹ö¸± ¼ö ÀÖ¾î"xh_RU" ÇÏ "xh"
¿¡ Àß¶ó ¹ö¸± ¼ö ÀÖ½À´Ï´Ù.ÀÌ·¯ÇÑ Æí¼ºÀº ¹«È¿À̱⠶§¹®ÀÔ´Ï´Ù.
°Ô´Ù°¡ ¾ð¾î Äڵ尡 ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì (·Ê "zz_US")
(ÀÌ)³ª Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â, µðÆúÆ®ÀÇ "root" ·ÎÄÉÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
"root" ·ÎÄÉÀÏ¿¡¼´Â µðÆúÆ®·Î¼
±¹Á¦ÀûÀ¸·Î ÀÎÁöµÇ°í ÀÖ´Â ÀÏÀÚ, ½Ã°¢, ¼öÄ¡, Åë°úµîÀ» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.
ÀÌ Àß¶ó¹ö¸² 󸮴Â, ¿ä±¸µÈ Á¤º¸ÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÕ´Ï´Ù.
¾ð¾î¿Í Áö¿ªÀÇ Æí¼º¾È¿¡´Â,
ƯÁ¤ÀÇ ÇüÅÂÀÇ µ¥ÀÌÅÍ (¿¹¸¦ µé¾î ÀÏÀÚ) ±×·³ À¯È¿ÇÏ´Ù ±×·¯³ª
´Ù¸¥ ÇüÅ (¿¹¸¦ µé¾î ÅëÈ) ±×·³ ¹«È¿¶ó°í ÇÏ´Â °ÍÀÌ Àֱ⠶§¹®ÀÔ´Ï´Ù.
°ú°ÅÀÇ ¿ª»ç¿¡´Â ÁÖÀÇÇսôÙ.ZF ÄÄÆÛ³ÍÆ®´Â, Áö±Ý±îÁö ´Ù¾çÇÑ Àå¼Ò¿¡¼ º¯°æµÇ¾î ¿Â °ú°ÅÀÇ Å¸ÀÓ Á¸¿¡ ´ëÇØ¼´Â ´ëÀÀÇÏÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î ÀÌ À϶÷Ç¥ (À»)¸¦ ºÁ ÁÖ¼¼¿ä.ƯÁ¤ÀÇ Áö¿ªÀÌ ¼¸ÓŸÀÓÀ» ä¿ëÇÒÁö³ª, ¾î´À ŸÀÓ Á¸¿¡ ¼ÓÇÒ±î µîÀº, ¶§ÀÇ Á¤ºÎ¿¡ ÀÇÇØ¼ ¸î¹øÀ̳ª º¯°æµÇ°í ÀÖ½À´Ï´Ù. µû¶ó¼, ÀÏÀÚÀÇ °è»êÀ» ÇàÇÒ ¶§ , ZF ÄÄÆÛ³ÍÆ®´Â ÀÌ·¯ÇÑ º¯°æ¿¡´Â ´ëÀÀÇÏÁö ¾Ê½À´Ï´Ù. ±× ´ë½Å¿¡, Çö½ÃÁ¡ÀÇ ¼¸ÓŸÀÓ ´ëÀÀ, Çö½ÃÁ¡ÀÇ Å¸ÀÓ Á¸¿¡ ´ëÀÀÇÑ ¿Ã¹Ù¸¥ ½Ã°¢À» »ç¿ëÇÕ´Ï´Ù.
´ëºÎºÐÀÇ °æ¿ì´Â,new Zend_Locale()
(À¸)·Î Çϸé ÀÚµ¿ÀûÀ¸·Î ¿Ã¹Ù¸¥ ·ÎÄÉÀÏÀ» ¼±ÅÃÇÕ´Ï´Ù.
À̰ÍÀº À¯ÀúÀÇ À¥ ºê¶ó¿ìÀú·ÎºÎÅÍ º¸³»Á® ¿Â Á¤º¸¸¦ ±âÃÊ·Î ÆÇ´ÜÇÕ´Ï´Ù.
±×·¯³ª,new Zend_Locale(Zend_Locale::ENVIRONMENT)
(À»)¸¦ »ç¿ëÇϸé, ÀÌÇÏ¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) È£½ºÆ® ¼¹öÀÇ È¯°æ ¼³Á¤À¸·ÎºÎÅÍ Á¤º¸¸¦ ÃëµæÇÏ°Ô µË´Ï´Ù.
·Ê 22.2. ·ÎÄÉÀÏÀÇ ÀÚµ¿ ¼±ÅÃ
<?php
require_once 'Zend/Locale.php';
$locale = new Zend_Locale();
$locale1 = new Zend_Locale(Zend_Locale::BROWSER); // µðÆúÆ®ÀÇ °Åµ¿À¸·Î, À§¿Í °°½À´Ï´Ù
$locale2 = new Zend_Locale(Zend_Locale::ENVIRONMENT); // È£½ºÆ® ¼¹ö»óÀÇ ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù
$locale3 = new Zend_Locale(Zend_Locale::FRAMEWORK); // üÁ¦ ¾îÇø®ÄÉÀ̼ÇÀÇ µðÆúÆ® ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù
Zend_Locale
ÇÏÁö¸¸ ·ÎÄÉÀÏÀÇ ÀÚµ¿ ¼±Åÿ¡ »ç¿ëÇÏ´Â °Ë»ö ¾Ë°í¸®ÁòÀº,
3Á¾·ùÀÇ Á¤º¸¸¦ ±âÃÊ·Î ÇØ¼ ÀÖ½À´Ï´Ù.
const Zend_Locale::BROWSER
-
À¯ÀúÀÇ À¥ ºê¶ó¿ìÀú´Â, ¸®Äù½ºÆ® ½Ã¿¡ Á¤º¸¸¦ ¼Û½ÅÇÕ´Ï´Ù.À̰ÍÀº,
PHP ÀÇ ±Û·Î¹ú º¯¼ö HTTP_ACCEPT_LANGUAGE
±×¸®°í ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ëÀÀÇÏ´Â ·ÎÄÉÀÏÀÌ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ENVIRONMENT
¿¡ ÀÇÇÑ °Ë»öÀ» ½Ç½ÃÇØ, ±×·±µ¥µµ ¾ÈµÇ¸é ÃÖÈÄ´Â
FRAMEWORK
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
const Zend_Locale::ENVIRONMENT
-
PHP (Àº)´Â, È£½ºÆ® ¼¹öÀÇ ·ÎÄÉÀÏÀ»
setlocale()
ÇÔ¼ö·Î ÃëµæÇÕ´Ï´Ù.
´ëÀÀÇÏ´Â ·ÎÄÉÀÏÀÌ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â FRAMEWORK ¿¡ ÀÇÇÑ °Ë»öÀ» ½Ç½ÃÇØ,
±×·±µ¥µµ ¾ÈµÇ¸é ÃÖÈÄ´Â BROWSER (À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
const Zend_Locale::FRAMEWORK
-
Zend Framework ÇÏÁö¸¸ ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ±¸Á¶°¡ Á¤ÇØÁö¸é
(¿¹Á¤µÇ¾î ÀÖ½À´Ï´Ù¸¸, ÇöÀç´Â ¾ÆÁ÷ ¾ø½À´Ï´Ù),
ÀÌ Á¤¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î µðÆúÆ® ¼³Á¤À» ¼±ÅÃÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
´ëÀÀÇÏ´Â ·ÎÄÉÀÏÀÌ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ENVIRONMENT
¿¡ ÀÇÇÑ °Ë»öÀ» ½Ç½ÃÇØ, ±×·±µ¥µµ ¾ÈµÇ¸é ÃÖÈÄ´Â
BROWSER
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
Zend_Locale
±×·³, ÇÑÃþ ´õ 3 °³ÀÇ ·ÎÄÉÀÏÀ» ÁغñÇϰí ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ ·ÎÄÉÀÏÀº, ¾îµò°¡ ƯÁ¤ÀÇ ¾ð¾î³ª Áö¿ªÀ» ³ªÅ¸³»´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù.
À̰͵éÀº "ÀÚµ¿" ·ÎÄÉÀÏ, Áï
getDefault()
¸Þ¼Òµå¿Í °°Àº ±â´ÉÀ» ÇÏ´Â °ÍÀÔ´Ï´Ù.
±×·¯³ª, ÀνºÅϽº¸¦ ÀÛ¼ºÇϰųª¶ó°í ÇÑ ºÒÇÊ¿äÇÑ ÀÛ¾÷ÀÌ ºÒÇÊ¿äÇÏ°Ô µË´Ï´Ù.
ÀÌ·¯ÇÑ "ÀÚµ¿" ·ÎÄÉÀÏÀº, Ç¥ÁØÀÇ ·ÎÄÉÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â °÷(Áß)À̶ó¸é
¾îµð¼¿¡¼µµ »ç¿ë °¡´ÉÇϰí, ¹®ÀÚ¿·Î ÁöÁ¤ÇÏ°Ô µË´Ï´Ù.
À̰ÍÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î, ºê¶ó¿ìÀú°¡ Á¦°øÇÏ´Â ·ÎÄÉÀÏ Á¤º¸µîÀ» Àß ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
ÀÌÇÏÀÇ 3 °³ÀÇ ·ÎÄÉÀÏÀº, °¢°¢ ¹Ì¹¦ÇÏ°Ô ´Ù¸¥ ±â´ÉÀ» ÇÕ´Ï´Ù.
'browser'
- Zend_Locale
(Àº)´Â, À¯Àú°¡ »ç¿ëÇÏ´Â À¥ ºê¶ó¿ìÀú°¡ Á¦°øÇÏ´Â Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù.
À̰ÍÀº,PHP ÀÇ ±Û·Î¹ú º¯¼ö HTTP_ACCEPT_LANGUAGE
±×¸®°í ÃëµæÇÕ´Ï´Ù.
ºê¶ó¿ìÀú°¡ º¹¼öÀÇ ·ÎÄÉÀÏÀ» ÁöÁ¤ÇØ ÀÖ´Â °æ¿ì´Â,
Zend_Locale
(Àº)´Â ÃÖÃʷΠã¾Æ³½ ·ÎÄÉÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
ºê¶ó¿ìÀú°¡ ·ÎÄÉÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê°Å³ª,
ȤÀº Ä¿¸àµå ¶óÀÎÀ¸·ÎºÎÅÍ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϰųª ÇßÀ» °æ¿ì´Â,
´ë½Å¿¡ ÀÚµ¿ ·ÎÄÉÀÏ 'environment'
(À»)¸¦ »ç¿ëÇØ ±× °á°ú¸¦ µ¹·ÁÁÝ´Ï´Ù.
'environment'
- Zend_Locale
(Àº)´Â,
¼¹ö°¡ Á¦°øÇÏ´Â Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù.À̰ÍÀº,PHP ÀÇ ³»ºÎ ÇÔ¼ö
setlocale()
±×¸®°í ÃëµæÇÕ´Ï´Ù.
º¹¼öÀÇ ·ÎÄÉÀÏÀ» ÁöÁ¤ÇØ ÀÖ´Â °æ¿ì´Â,
Zend_Locale
(Àº)´Â ÃÖÃʷΠã¾Æ³½ ·ÎÄÉÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
¼¹ö°¡ ·ÎÄÉÀÏÀ» ÁöÁ¤Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â,
´ë½Å¿¡ ÀÚµ¿ ·ÎÄÉÀÏ 'browser'
(À»)¸¦ »ç¿ëÇØ ±× °á°ú¸¦ µ¹·ÁÁÝ´Ï´Ù.
'auto'
- Zend_Locale
(Àº)´Â,
°¡´ÉÇÑ ÇÑ ¹æ¹ýÀ¸·Î ·ÎÄÉÀÏÀ» °ËÃâÇÏ·Á°í ÇÕ´Ï´Ù.
¿ì¼± ÃÖÃÊ·Î À¯Àú°¡ ÁöÁ¤ÇÏ´Â ·ÎÄÉÀÏÀ» ã¾Æ,
°Å±â¿¡ ½ÇÆÐÇϸé È£½ºÆ®ÀÇ ·ÎÄÉÀÏÀ» ã½À´Ï´Ù.
·ÎÄÉÀÏÀÇ °ËÃâ¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â ¿¹¿Ü¸¦ ½½·Î¿ì ÇØ, ÀÚµ¿ °ËÃâ¿¡ ½ÇÆÐÇÑ °ÍÀ» ÅëÁöÇÕ´Ï´Ù.
·Ê 22.3. ÀÚµ¿ ·ÎÄÉÀÏÀÇ »ç¿ë¹ý
<?php
require_once 'Zend/Locale.php';
require_once 'Zend/Date.php';
// ÀÚµ¿ °ËÃâ ¾øÀ½
//$locale = new Zend_Locale(Zend_Locale::BROWSER);
//$date = new Zend_Date($locale);
// ÀÚµ¿ °ËÃâ ºÙ¾î ÀÖ´Â
$date = new Zend_Date('auto');
ȯ°æ¿¡ µû¶ó¼´Â, ·ÎÄÉÀÏÀÇ ÀÚµ¿ °ËÃâÀ» ÇÒ ¼ö ¾ø´Â °Íµµ ÀÖ½À´Ï´Ù. Ä¿¸àµå ¶óÀÎÀ¸·ÎºÎÅÍÀÇ ¸®Äù½ºÆ®¸¦ ¹Þ¾ÒÀ» °æ¿ì³ª ¸®Äù½ºÆ®¿øÀÇ ºê¶ó¿ìÀú¿¡ ¾ð¾î°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ±×¸®°í ¼¹ö»óÀÇ ·ÎÄÉÀÏÀÌ 'C' ȤÀº ±× ¿ÜÀÇ ÇÁ·ÎÇÁ¶óÀÌ¿¡Å¸¸®ÀÎ ·ÎÄÉÀÏÀ̱⵵ ÇÑ °æ¿ì µîÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ °æ¿ì´Â,Zend_Locale
(Àº)´Â Åë»óÀº ¿¹¿Ü¸¦ ½½·Î¿ì ÇØ ÀÚµ¿ °ËÃâ¿¡ ½ÇÆÐÇÑ °ÍÀ» ³ªÅ¸³» º¸ÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ »óȲ¿¡ÀÇ ´ëÀÀ¹æ¾È¹ýÀº 2ÅëÀÖ½À´Ï´Ù.
»õ·Î¿î ·ÎÄÉÀÏÀ» ¼öµ¿À¸·Î ¼³Á¤Çϵ簡, ȤÀº µðÆúÆ®ÀÇ ·ÎÄÉÀÏÀ» Á¤ÀÇÇÒ±îÀÔ´Ï´Ù.
·Ê 22.4. ·ÎÄÉÀÏÀÇ ¿¹¿Ü ó¸®
<?php
// ±âµ¿ ÆÄÀϳ»¿¡¼
require_once 'Zend/Locale.php';
try {
$locale = new Zend_Locale('auto');
} catch (Zend_Locale_Exception $e) {
$locale = new Zend_Locale('de');
}
// ¸ðµ¨/ÄÜÆ®·Ñ·¯³»¿¡¼
$date = new Zend_Date($locale);
ÀÌ ¹æ¹ý¿¡´Â Å« ¹®Á¦Á¡ÀÌ ÀÖ½À´Ï´Ù.Zend_Locale
(À»)¸¦ »ç¿ëÇÏ´Â ¸ðµç Ŭ·¡½º³»¿¡¼, ·ÎÄÉÀÏ ¿ÀºêÁ§Æ®¸¦ ¼³Á¤ÇÏ°Ô µË´Ï´Ù.
º¹¼öÀÇ Å¬·¡½º¸¦ »ç¿ëÇϰí ÀÖ´Â °æ¿ì µî, À̰ÍÀº ¸Å¿ì ±ÍÂú½À´Ï´Ù.
Zend Framework ¸±¸®½º 1.1 ÀÌÈÄ¿¡¼´Â, ´õ ´É¼÷ÇÑ »ç¿ë ¹æ¹ýÀÌ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.
µðÆúÆ®ÀÇ ·ÎÄÉÀÏÀ», Á¤Àû ¸Þ¼Òµå setDefault()
±×¸®°í ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹°·Ð, ¹ÌÁöÀÇ ·ÎÄÉÀÏÀ̳ª ºÒ¿ÏÀüÇÑ ·ÎÄÉÀÏÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ìµµ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
setDefault()
(Àº)´Â,Zend_Locale
(À»)¸¦ »ç¿ëÇϴ Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇϱâ Àü¿¡ ÃÖÃÊ·Î ÄÝ ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÚ¼¼ÇÑ °ÍÀº, ´ÙÀ½ÀÇ ¿¹¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
·Ê 22.5. µðÆúÆ®ÀÇ ·ÎÄÉÀÏÀÇ ¼³Á¤
<?php
// ±âµ¿ ÆÄÀϳ»¿¡¼
require_once 'Zend/Locale.php';
Zend_Locale::setDefault('de');
// ¸ðµ¨/ÄÜÆ®·Ñ·¯³»¿¡¼
$date = new Zend_Date();
·ÎÄÉÀÏÀ» °ËÃâÇÒ ¼ö ¾ø¾ú´ø °æ¿ì´Â, ÀÚµ¿ÀûÀ¸·Î ·ÎÄÉÀÏ de (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. ¹ß°ßµÇ¾úÀ» °æ¿ì´Â, ±× ·ÎÄÉÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
ZF ±×·³, ·ÎÄÉÀÏ ´ëÀÀÀÇ Å¬·¡½º´Â Zend_Locale
(À»)¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.±×¸®°í, À§¿¡¼ ¼³¸íÇÑ °Íó·³ ÀÚµ¿ÀûÀ¸·Î ·ÎÄÉÀÏÀ» ¼±ÅÃÇÕ´Ï´Ù.
¿¹¸¦ µé¾î,ZF ÀÇ À¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î Zend_Date
(À»)¸¦ »ç¿ëÇØ ÀÏÀÚ¸¦ ÀÛ¼ºÇϸé, ¾Æ¹«°Íµµ ·ÎÄÉÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ
À¯ÀúÀÇ À¥ ºê¶ó¿ìÀúÀÇ ¼³Á¤À¸·ÎºÎÅÍ ·ÎÄÉÀÏ Á¤º¸¸¦ ÃëµæÇØ ±×°ÍÀ» »ç¿ëÇÕ´Ï´Ù.
·Ê 22.6. ÀÏÀÚÀÇ µðÆúÆ®°¡, À¥ÀÇ À¯ÀúÀÇ ·ÎÄÉÀÏÀÌ µÇ´Â ¿¹
<?php
require_once 'Zend/Date.php';
$date = new Zend_Date('2006',Zend_Date::YEAR);
ÀÌ µðÆúÆ®¸¦ µ¡¾²±âÇØ, ·ÎÄÉÀÏ ´ëÀÀÀÇ ZF ÄÄÆÛ³ÍÆ®·Î À¥ »çÀÌÆ®ÀÇ ¹æ¹®ÀÚÀÇ ¼³Á¤¿¡ °ü°è¾øÀÌ Æ¯Á¤ÀÇ ·ÎÄÉÀÏÀ» ÁöÁ¤ÇÏ·Á¸é , constructor¡¡ ¡¡ ÀÇ 3¹øÂ°ÀÇ Àμö·Î ·ÎÄÉÀÏÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
·Ê 22.7. µðÆúÆ®ÀÇ ·ÎÄÉÀÏ ¼±ÅÃÀÇ ¿À¹ö¶óÀ̵å(override)
<?php
require_once 'Zend/Date.php';
require_once 'Zend/Measure/Temperature.php';
$usLocale = new Zend_Locale('en_US');
$date = new Zend_Date('2006',Zend_Date::YEAR, $usLocale);
$temp = new Zend_Measure_Temperature('100,10', Zend_Measure::TEMPERATURE, $usLocale);
¸¹Àº ¿ÀºêÁ§Æ®·Î ¸ðµÎ µ¿ÀÏÇÑ µðÆúÆ® ·ÎÄÉÀÏÀ» »ç¿ëÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ°í ÀÖ´Â °æ¿ì´Â, ±×°ÍÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤Çϸé, ¸Åȸ µðÆúÆ® ·ÎÄÉÀÏÀ» °Ë»öÇÏ´Â °Í¿¡ ÀÇÇÑ´Ù ¿À¹öÇìµå¸¦ ȸÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
·Ê 22.8. µðÆúÆ®ÀÇ ·ÎÄÉÀÏÀ» »ç¿ëÇÒ ¶§ÀÇ ÆÛÆ÷¸Õ½ºÀÇ ÃÖÀûÈ
<?php
require_once 'Zend/Date.php';
require_once 'Zend/Measure/Temperature.php';
$locale = new Zend_Locale();
$date = new Zend_Date('2006', Zend_Date::YEAR, $locale);
$temp = new Zend_Measure_Temperature('100,10', Zend_Measure::TEMPERATURE, $locale);
¿É¼Ç 'precision' ÀÇ °ªÀ» »ç¿ëÇϰí, ÀÚ¸®¼öÀÇ Àý¾àÇØ ȤÀº È®ÀåÀ» ½Ç½ÃÇÕ´Ï´Ù.
'-1' (À»)¸¦ ÁöÁ¤Çϸé, °ªÀÇ ¼Ò¼ö ºÎºÐÀÇ ÀÚ¸®¼ö¸¦ º¯°æÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù.
¿É¼Ç 'locale' (Àº)´Â, ¼öÄ¡³ª ÀÏÀÚ¸¦ ÆÛ½º ÇÒ ¶§ÀÇ ´Ü¶ô ¹®ÀÚ³ª ¿ù¸íÀ» ÆÇ´ÜÇϱâ À§Çؼ »ç¿ëÇÕ´Ï´Ù.
¿É¼Ç 'format_type' ±×·³,CLDR/ISO ÀÏÀÚ ¼½Ä ÁöÁ¤ ÅäÅ« ¹× PHP
ÀÇ date() ±×¸®°í »ç¿ëÇÏ´Â ÅäÅ«ÀÇ ¾î´À ÂÊÀ» »ç¿ëÇÏ´ÂÁö¸¦ ¼±ÅÃÇÕ´Ï´Ù.
¿É¼Ç 'fix_date' (Àº)´Â, ¹«È¿ÀÎ Çü½ÄÀÇ ÀÏÀÚ¿¡ ´ëÇÑ ÀÚµ¿ ¼öÁ¤ 󸮸¦ À¯È¿ ȤÀº ¹«È¿·Î ÇÕ´Ï´Ù.
¿É¼Ç 'number_format' (Àº)´Â,toNumber()
±×¸®°í »ç¿ëÇÏ´Â µðÆúÆ®ÀÇ ¼öÄ¡ ¼½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù
(ÀÚ¼¼ÇÑ °ÍÀº Ç×22.3.2. ¡¸¼öÄ¡ÀÇ Áö¿ªÈ¡¹ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ).
'date_format' ¿É¼ÇÀ¸·Î µðÆúÆ®ÀÇ ÀÏÀÚ ¼½Ä ¹®ÀÚ¿À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª,setOptions() ±×¸®°í 'date_format' (À»)¸¦ ÁöÁ¤ÇÑ ´ÙÀ½¿¡ getDate() (ÀÌ)³ª checkdateFormat() ±×¸®°í getTime() (À»)¸¦ »ç¿ëÇÒ ¶§ ÃæºÐÈ÷ ÁÖÀÇÇսôÙ. ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ ±× ·ÎÄÉÀÏÀÇ µðÆúÆ®ÀÇ ÀÏÀÚ ¼½Ä¿¡¼ »ç¿ëÇÏ·Á¸é array('date_format' => null, 'locale' => $locale) (À»)¸¦ ¸Þ¼ÒµåÀÇ ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
·Ê 22.9. ÀÏÀÚÀÇ µðÆúÆ®¸¦, À¥ À¯ÀúÀÇ ¿Ã¹Ù¸¥ ·ÎÄÉÀÏ·Î ¼³Á¤ÇÑ´Ù
<?php
require_once 'Zend/Locale.php';
Zend_Locale_Format::setOptions(array('locale' => 'en_US', 'fix_date' => true, 'format_type' => 'php'));
·ÎÄÉÀÏÀÇ Ç¥ÁØÀÇ Á¤ÀǸ¦ »ç¿ëÇÏ´Â °æ¿ì´Â, ¿É¼Ç Zend_Locale_Format::STANDARD (À»)¸¦ ÁöÁ¤ÇÕ´Ï´Ù.date_format ¿¡ Zend_Locale_Format::STANDARD (À»)¸¦ ¼³Á¤Çϸé, ½ÇÁ¦·Î ¼³Á¤µÇ¾î ÀÖ´Â ·ÎÄÉÀÏÀÇ Ç¥ÁØ Á¤ÀǸ¦ »ç¿ëÇÕ´Ï´Ù. À̰ÍÀ» number_format (À¸)·Î ¼³Á¤Çϸé, ÀÌ ·ÎÄÉÀÏÀÇ Ç¥ÁØ ¼öÄ¡ ¼½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ¶Ç,locale (À¸)·Î ¼³Á¤Çϸé, ÀÌ È¯°æ ȤÀº ºê¶ó¿ìÀúÀÇ Ç¥ÁØÀÇ ·ÎÄÉÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
·Ê 22.10. setOptions() (À¸)·ÎÀÇ STANDARD ÀÇ »ç¿ë
<?php
require_once 'Zend/Locale.php';
Zend_Locale_Format::setOptions(array('locale' => 'en_US', 'date_format' => 'dd.MMMM.YYYY'));
// ±Û·Î¹ú ¼³Á¤ÀÇ ÀÏÀÚ ¼½ÄÀ» ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù
$date = Zend_Locale_Format::getDate('2007-04-20, array('date_format' => Zend_Locale_Format::STANDARD);
// Ç¥ÁØ ·ÎÄÉÀÏÀÇ ±Û·Î¹ú ¼³Á¤
Zend_Locale_Format::setOptions(array('locale' => Zend_Locale_Format::STANDARD, 'date_format' => 'dd.MMMM.YYYY));
Zend_Locale
¹× ±× ¼ºê Ŭ·¡½º¸¦ °í¼ÓÈÇÏ·Á¸é ,
Zend_Cache
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.Zend_Locale
(À»)¸¦ »ç¿ëÇϰí ÀÖ´Â °æ¿ì´Â, Á¤Àû ¸Þ¼Òµå Zend_Locale::setCache($cache)
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.Zend_Locale_Format
(À»)¸¦ °í¼ÓÈÇÏ·Á¸é ,
¿É¼Ç cache
(À»)¸¦
Zend_Locale_Format::setOptions(array('cache' => $adapter));
(¿Í)°ú °°ÀÌ ÁöÁ¤ÇÕ´Ï´Ù.¾çÂÊ ¸ðµÎÀÇ Å¬·¡½º¸¦ »ç¿ëÇϰí ÀÖ´Â °æ¿ì´Â Zend_Locale
¿¡°Ô¸¸ ij½¬¸¦ ¼³Á¤ÇÕ´Ï´Ù.±×·¸°Ô ÇÏÁö ¾ÊÀ¸¸é
µ¥ÀÌÅͰ¡ ÀÌÁßÀ¸·Î ij½¬µÇ¾î ¹ö¸®°Ô µË´Ï´Ù.