ÆÐÅ°ÁöÀÇ °ü¸®ÀÚ´Â ¸¹Àº Ã¥ÀÓÀÌ ÀÖ´Ù. ±× ÁßÀÇ ÇÑ °¡Áö´Â ±× ÆÐÅ°Áö°¡ ¼ö¸¹Àº Ç÷§Æû¿¡¼ ½±°Ô ¼³Ä¡µÉ °ÍÀÎÁö¸¦ È®ÀÎÇÏ°í, À§¿¡¼ ¾ð±ÞÇÑ (see section »ç¿ëÀÚÀÇ °üÁ¡) ¸¶¼úµéÀÌ ¼³Ä¡ÇÏ´Â »ç¶÷°ú ÃÖÁ¾ »ç¿ëÀڵ鿡°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ´Ù.
¹°·Ð GNU gettext
¸¦ ¹èÆ÷º»°ú °áÇÕÇÏ´Â ¹æ¹ýÀº ¸Å¿ì ¸¹°í, ÀÌ ÀåÀº
ÀϹÝÀûÀ¸·Î ÀÌ °æ¿ìµéÀ» ¸ðµÎ ´Ù·çÁö ¾Ê´Â´Ù. ´ë½Å¿¡ GNU Ç¥ÁØ, ȤÀº ±×º¸´Ù
ÁÁÀº Gnits Ç¥ÁØÀ» µû¸£´Â ¸¹Àº °ø°³ ¼ÒÇÁÆ®¿þ¾î¿¡ ƯÈ÷ ÀûÇÕÇÑ ÇÑ °¡Áö
Á¢±Ù¹æ¹ý¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. ¿Ö³ÄÇϸé GNU gettext
´Â Àüü GNU
ÇÁ·ÎÁ§Æ®¿Í, °¡´ÉÇÏ´Ù¸é ±× ¿ÜÀÇ °ø°³ ÆÐÅ°ÁöµéÀÇ ±¹Á¦È¸¦ µ½´Â °ÍÀÌ ±×
¸ñÀûÀ̱⠶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î °ü¸®ÀÚÀÇ °üÁ¡¿¡¼´Â ¸ðµç ÆÐÅ°Áö¿¡
`configure.in'ÀÌ ÀÖ°í, GNU Autoconf¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù.
±×·¸Áö¸¸, GNU gettext
´Â GNU Ç¥ÁØ°ú °ü½ÀÀ» µû¸£Áö ¾Ê´Â
°ø°³ ÆÐÅ°Áöµé¿¡°Ôµµ À¯¿ëÇÑ °ÍÀÌ »ç½ÇÀÌ´Ù. ÇÏÁö¸¸, ±×·¯ÇÑ ÆÐÅ°ÁöµéÀÇ
°ü¸®ÀÚµéÀº gettext
°¡ ±× »óȲ¿¡¼ Á¦´ë·Î µ¿ÀÛÇϵµ·Ï ¹èÆ÷ÆÇÀ»
¾î¶»°Ô Á¶Á÷ÇÏ´Â µ¥¿¡ ´ëÇÑ »ý°¢Çϰųª ÀǵµÇÒ ÇÊ¿ä°¡ ¾øÀ» Áöµµ ¸ð¸¥´Ù.
ºÐ¸íÈ÷, ¿ïŸ¸® ¹Ù±ù¿¡µµ ¸¹Àº ¼ÒÇÁÆ®¿þ¾îµéÀÌ ÀÖ´Ù.
gettext
ÀÇ ¹æ¹ýÀÌ ¾ÈÁ¤ÈµÇ°í ÀÖ´Ù°í Çصµ, °¢°¢ÀÇ gettext
¹öÀü »çÀÌ¿¡ ¾à°£ Á¶Á¤ÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î, ¹Ýµå½Ã °¢
¹öÀüÀÌ ¹Ù²ð ¶§¸¶´Ù °¡´ÉÇϸé ÀÌ ÀåÀÇ ³»¿ëÀ» ´Ù½Ã Àоî¾ß ÇÏ°í, º¯ÇÑ ³»¿ë¿¡
ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù.
¸î¸î °ø°³ ¼ÒÇÁÆ®¿þ¾îµéÀº ¸ðµç ÆÄÀÏÀÌ ÇÑ°³ÀÇ µð·ºÅ丮¿¡ Ç®¸®´Â tar
ÆÄÀÏ·Î ¹èÆ÷µÇ°í, ÀÌ·¯ÇÑ ÆÐÅ°Áö¸¦ Ç÷§(flat) ¹èÆ÷ÆÇÀ̶ó°í
ÇÑ´Ù. ±× ¿ÜÀÇ °ø°³ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°ÁöµéÀº ÇÑ´Ü°èÀÇ ¼ºêµð·ºÅ丮±¸Á¶¸¦
°¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î Texinfo ¾È³»¼´Â `doc/'À̶ó´Â
¼ºêµð·ºÅ丮¿¡ µé¾î ÀÖ°í, `lib/'¿¡´Â C ¶óÀ̺귯¸®¸¦ ´ëüÇϰųª
º¸ÃæÇϱâ À§ÇÑ ÇÔ¼öµéÀ» ´ã°í ÀÖ°í, `src/'¿¡´Â ±× ÆÐÅ°ÁöÀÇ ÁøÂ¥
¼Ò½ºÄڵ带 ´ã°í ÀÖ´Ù. ÀÌ ¹èÆ÷º»µéÀ» ³íÇ÷§(non-flat)À̶ó°í
ÇÑ´Ù.
Ç÷§ ¹èÆ÷º»¿¡ ´ëÇØ ¸¹Àº ¾ê±â¸¦ ÇÒ ¼ö°¡ ¾ø´Ù. Ç÷§ µð·ºÅ丮
±¸Á¶´Â »õ·Î¿î ¹öÀüÀÇ GNU gettext
·Î °»½ÅÇÏ´Â µ¥¿¡ ³Ê¹« ¾î·Æ´Ù´Â
´ÜÁ¡ÀÌ ÀÖ´Ù. ¶Ç, ¸¸¾à PO ÆÄÀÏÀÌ ¸¹Àº °æ¿ì, ±× ÇÑ°³ÀÇ µð·ºÅ丮¸¦
¾îÁö·´Èú ¿°·Á°¡ ÀÖ´Ù. ¶Ç, GNU gettext
¹èÆ÷º»ÀÇ libintl
¼Ò½ºÄÚµå´Â C ¼Ò½º, ¼Ð ½ºÅ©¸³Æ®, sed
½ºÅ©¸³Æ®¿Í º¹ÀâÇÑ ¸ÞÀÌÅ©ÆÄÀÏ
·êµéÀÌ µé¾î Àִµ¥, ÀÌ´Â Ç÷§ ±¸Á¶¿¡¼´Â ¸ÂÁö ¾Ê´Â °ÍµéÀÌ´Ù. ÀÌ·¯ÇÑ
ÀÌÀ¯·Î ³íÇ÷§ ¹æ½ÄÀ» »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù.
¾Æ¸¶µµ GNU gettext
ÀÚü°¡ ³íÇ÷§ ±¸Á¶¶ó¼ ¶§¹®ÀÎÁö, ¿ì¸®´Â ³íÇ÷§
±¸Á¶¿¡ ´õ ¸¹Àº °æÇèÀÌ ÀÖ°í, ³ª¸ÓÁö Àå¿¡¼ ¼³¸íµÉ ¹æ¹ýÀÌ´Ù. ¸î¸î
°ü¸®ÀÚ´Â ÀÌ ±âȸ¿¡ ÆÐÅ°Áö ±¸Á¶¸¦ ³íÇ÷§±¸Á¶·Î ¹Ù²Ü Áöµµ ¸ð¸¥´Ù.
GNU gettext
¸¦ ÆÐÅ°Áö¿¡ »ç¿ëÇϱâ À§Çؼ ÁغñÇØ¾ß ÇÒ ¸î °¡Áö ÀÛ¾÷ÀÌ
ÀÖ´Ù. ÀÌ ÀÛ¾÷Àº ¸»ÇÏÀÚ¸é ÀÌ ÀåÀÇ µÞºÎºÐ¿¡¼ ¼³¸íÇÒ ºÎºÐµéÀ» À§ÇÑ
ÀϹÝÀûÀÎ ÀÛ¾÷À̹ǷÎ, ¿©±â¿¡¼ ¼³¸íÇÑ´Ù.
gettextize
»ç¿ëÀ» ½ÃµµÇØ º¸±â Àü¿¡ ´Ù¸¥ ÆÐÅ°ÁöµéÀ» ¸ÕÀú ¼³Ä¡Çؾß
ÇÑ´Ù. ÃֽŠ¹öÀüÀÇ GNU m4
, GNU Autoconf¿Í GNU gettext
°¡
ÀÏ´Ü ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ°í, ±×·¸Áö ¾Ê´Ù¸é ¸ÕÀú ÀÌ ÆÐÅ°ÁöµéÀ»
¼³Ä¡ÇÑ´Ù. ÀÌ ÆÐÅ°ÁöµéÀ» ¼³Ä¡ÇÏ·Á°í ÇÑ´Ù¸é, GNU Autoconf°¡
configureµÇ±â Àü¿¡ GNU m4
°¡ ¿ÏÀüÈ÷ ¼³Ä¡µÇ¾î¾ß ÇÑ´Ù´Â °Í¿¡
À¯ÀÇÇÏÀÚ.
ÆÐÅ°Áö °ü¸®ÀÚÀÇ ÀÛ¾÷À» ´õ¿í ÆíÇÏ°Ô ÇØ ÁÖ±â À§Çؼ autoconf
ÆÐÅ°Áö°¡ ¼³°èµÇ°í ±¸ÇöµÇ¾î ÀÖ´Ù. GNU gettext
´Â ÀÌ µµ±¸¸¦
»ç¿ëÇϹǷÎ, `intl/'°ú `po/' µð·ºÅ丮ÀÇ `Makefile'µéÀº
automake
¿Í `libintl'À» »ç¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ ÀÛ¾÷À» ¸ðµÎ ¾Ë°í
ÀÖ´Ù.
ÀÌ ³× °³ÀÇ ÆÐÅ°Áö¸¸ÀÌ °ü¸®Àڷμ ÇÊ¿äÇÏ´Ù; ÆÐÅ°Áö ÀÚü¿Í »ç¿ëÀÚ´Â
»ç½Ç, ¹ø¿ªµÈ ¸Þ¼¼Áö¿Í ÇÔ²² ¼º°øÀûÀ¸·Î ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ°í »ç¿ëÇÏ´Â µ¥
ÀÖ¾î¼ GNU m4
, GNU Autoconf, GNU gettext
, ȤÀº GNU
automake
°¡ ÀüÇô ÇÊ¿ä¾ø´Ù. ÇÏÁö¤¿¤±¤¤, ÆÐÅ°Áö ³»¿¡ ±¹Á¦ÈµÈ ¼Ð
½ºÅ©¸³Æ®¸¦ Á¦°øÇÏ´Â °æ¿ì¿¡´Â ºÐ¸íÈ÷ ÇÊ¿äÇÏ´Ù: »ç¿ëÀÚ°¡ ¼Ð ½ºÅ©¸³Æ®ÀÇ
¹ø¿ª ¸Þ¼¼Áö¸¦ º¸·Á°í ÇÑ´Ù¸é GNU gettext
´Â »ç¿ëÀÚÀÇ ÄÄÇ»ÅÍ¿¡
¼³Ä¡µÇ¾î¾ß ÇÒ °ÍÀÌ´Ù.
PO ÆÄÀÏ Á¦Ãâ¿¡ ´ëÇÑ °ü¸®ÀÚÀÇ ÀÌ»óÀûÀÎ Çൿ¿¡ ´ëÇØ ¸î °¡Áö ÷°¡ÇÏ°í ½Í´Ù. °ü¸®ÀڷμÀÇ ¿ªÇÒÀº ±× Á¦Ãâ¹°ÀÌ ¹ø¿ª ÇÁ·ÎÁ§Æ®ÀÇ ÀûÀýÇÑ ¹ø¿ªÆÀÀ» ´ëÇ¥ÇÏ´ÂÁö È®ÀÎÇÏ´Â °ÍÀÌ°í (ÀǽÉÀÌ °¡¸é ±× Á¦Ãâ¹°À» `translation@iro.umontreal.ca'·Î º¸³»Áֱ⠹ٶõ´Ù), PO ÆÄÀÏ Çü½ÄÀÌ ½É°¢ÇÏ°Ô À§¹èµÇÁö ¾Ê¾Ò°í, ¼º°øÀûÀÎ ¼³Ä¡¸¦ ¹æÇØÇÏÁö ¾Ê´ÂÁö È®ÀÎÇÏ´Â °ÍÀÌ´Ù. ±×¸®°í ³ª¸ÓÁö ÀÏÀº ÀÌ PO ÆÄÀϵéÀ» ¹èÆ÷º»ÀÇ `po/' µð·ºÅ丮¿¡ ³Ö´Â °Í»ÓÀÌ´Ù.
°ü¸®Àڷνá, ¹ø¿ª¹®ÀÌ ÀûÇÕÇÏ°í, ¿ÏÀüÇÑÁö üũÇÒ Ã¥ÀÓÀº °¡Áú ÇÊ¿ä°¡ ¾ø´Ù. ±×¸®°í ¾ð¾îÀûÀÎ ¹®Á¦¿¡ ºüÁ®µéÁö ¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù. ¹ø¿ª ÇÁ·ÎÁ§Æ®ÀÇ ¹ø¿ª ÆÀÀº ±× ÀÚüÀûÀ¸·Î Àß µ¿ÀÛÇÏ°í ±×µéÀÇ ¾ð¾î ¼±Åÿ¡ ÀÖ¾î¼ ¹ø¿ªÆÀ¿¡ Ã¥ÀÓÀÌ ÀÖ´Ù. ¹ø¿ª ÆÀÀº °ü¸®ÀÚ¿¡ ÀÇÇØ µ¿ÀÛÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â »ç½ÇÀ» ¸í½ÉÇÏÀÚ. »ç¿ëÀڷκÎÅÍ ¾ð¾îÀûÀÎ ¹®Á¦¿¡ ´ëÇØ ÀûÀýÇÑ ¹ø¿ª ÆÀÀ¸·Î Àß ¾Ë·ÁÁÜÀ¸·Î½á ¹ø¿ª ÆÀÀ» µµ¿ï ¼ö ÀÖ´Ù. ¶Ç´Â »ç¿ëÀÚ¿¡°Ô ¾î¶»°Ô ±× ¹ø¿ªÆÀ¿¡ ¿¬¶ôÇÏ°í Âü¿©ÇÒ ¼ö ÀÖ´ÂÁö ¼³¸íÇؼ ¹ø¿ª ÆÀ¿¡ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Ù. °¡Àå °£´ÜÇÑ ¹æ¹ýÀº `ABOUT-NLS' ÆÄÀÏÀ» º¸³»ÁÖ´Â °ÍÀÌ´Ù.
°ü¸®ÀÚ´Â Àý´ë ¹ø¿ª ÆÀÀ» ¹«½ÃÇÑä PO ÆÄÀÏÀÇ ¹ö±× º¸°í¸¦ ó¸®Çؼ´Â ¾È µÈ´Ù. ¸¸¾à ¾î¶² ¹ø¿ªÀÚ°¡ ±× ¹ø¿ªÆÀ°ú ÀÇ°ßÀ» ¸ÂÃ߱⠾î·Á¿ü´Ù¸é, ±× ¹ø¿ªÀÚ°¡ °ü¸®ÀÚ¿Í ¹ø¿ª¹®À» Á÷Á¢ ¹«½ÃÇß´Ù´Â °ÍÀº ÀüÇô ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ¸¸¾à ¹«½¼ ¹®Á¦°¡ ÀÖ´Ù¸é ±× ÆÀÀÌ ±×µéÀÇ ¹®Á¦¸¦ ÇØ°áÇØ¾ß ÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ °ü¸®Àڷμ ¾î¶² ¹ø¿ªÆÀ¿¡ ¹®Á¦°¡ ÀÖ´Ù°í »ý°¢ÇÑ´Ù°í Çصµ, Àý´ë·Î ´ç½ÅÀÌ ±× ÆÀÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ·Á°í ÇÏÁö ¸»¶ó.
gettextize
ÇÁ·Î±×·¥ ½ÇÇàÇϱâ
¸î °³ÀÇ ÆÄÀÏÀº GNU gettext
¸¦ »ç¿ëÇØ ±¹Á¦ÈµÈ ¸ðµç ÆÐÅ°Áö¿¡¼
°øÅëÀûÀ¸·Î ÇÊ¿äÇÏ´Ù. ÆíÀǸ¦ À§ÇØ, gettext
ÇÁ·Î±×·¥Àº ¸ðµç ÆÄÀÏÀ»
´ç½ÅÀÇ ÆÐÅ°Áö¿¡ ¸Â°Ô ¼³Ä¡ÇØ ÁØ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÇ »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù:
gettextize [ option... ] [ directory ]
±×¸®°í ´ÙÀ½°ú °°Àº ¿É¼ÇÀÌ ÀÖ´Ù:
gettext
Äڵ带 »ç¿ëÇÒ ¼ö
ÀÖÁö¸¸, ÀÌ·¸°Ô ÇÏ¸é °ü¸®ÀÚ°¡ ¼Ò½º¿¡ Àû¿ëÇÏ´Â ¸î °¡Áö ¹æ¹ýµéÀ»
¹æÇØÇÒ ¼öµµ ÀÖ´Ù. gettextize
¸¦ ½ÇÇàÇÏ´Â °ÍÀº ½¬¿î ÀÏÀ̱⠶§¹®¿¡
º¹»ç¸¦ ÇÏ´Â µ¥ ¹®Á¦°¡ ¹ß»ýÇÏÁö´Â ¾øÀ» °ÍÀÌ´Ù.
¸¸¾à directory°¡ ÁÖ¾îÁø´Ù¸é, GNU gettext
¸¦ »ç¿ëÇÏ·Á°í
ÁغñÇÏ´Â ÆÐÅ°ÁöÀÇ ¸Ç À§ µð·ºÅ丮¸¦ ¸»ÇÑ´Ù. ¸¸¾à ÁÖ¾îÁöÁö ¾Ê¾Ò´Ù¸é ÇöÀç
µð·ºÅ丮°¡ ÆÐÅ°ÁöÀÇ ¸Ç À§ µð·ºÅ丮¶ó°í °¡Á¤ÇÑ´Ù.
gettextize
ÇÁ·Î±×·¥Àº ´ÙÀ½ ÆÄÀϵéÀ» Á¦°øÇÑ´Ù. ÇÏÁö¸¸, À̹Ì
Á¸ÀçÇÏ´Â ÆÄÀϵéÀº --force
(-f
) ¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾Ê´ÂÇÑ
µ¤¾î¾²Áö ¾ÊÀ» °ÍÀÌ´Ù.
gettextize
¸¦ ½ÇÇàÇؼ º¸´Ù ÃÖ½ÅÀÇ
`ABOUT-NLS' ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶Ç, ´õ ÃÖ½ÅÀÇ
`ABOUT-NLS'¸¦ ¹ø¿ª ÇÁ·ÎÁ§Æ®ÀÇ »çÀÌÆ®¿Í ´ëºÎºÐÀÇ GNU »çÀÌÆ®¿¡¼ ±¸ÇÒ
¼ö ÀÖ´Ù.
gettext
¹èÆ÷º»¿¡¼ ³ª¿Â `po/Makefile.in.in' ÆÄÀϸ¸À»
°¡Áö°í ÀÖ´Ù (ÆÄÀÏ À̸§¿¡ `.in'ÀÌ µÎ¹ø ÀÖ´Ù´Â °Í¿¡ À¯ÀÇÇÏÀÚ). ¸¸¾à
`po/' µð·ºÅ丮°¡ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é, ±× ¾È¿¡ µé¾î ÀÖ´Â ÆÄÀϵé°ú ÇÔ²²
±× µð·ºÅ丮´Â ±×´ë·Î º¸Á¸µÉ °ÍÀÌ´Ù. ±×¸®°í ¿ÀÁ÷ `Makefile.in.in'
ÆÄÀϸ¸ÀÌ µ¤¾î ¾º¿öÁú °ÍÀÌ´Ù.
gettext
¹èÆ÷º»ÀÇ `intl/'
µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ÆÄÀϵé·Î ¸¸µé¾îÁø´Ù. ¶Ç, ¸¸¾à
--force
(-f
) ¿É¼ÇÀÌ ÁÖ¾îÁø´Ù¸é, `intl/' µð·ºÅ丮´Â
ÀÏ´Ü ±ú²ýÀÌ Áö¿öÁú °ÍÀÌ´Ù.
¸¸¾à ½Ã½ºÅÛÀÌ ½Éº¼¸¯ ¸µÅ©¸¦ Áö¿øÇÑ´Ù¸é, gettextize
´Â ÆÐÅ°Áö·Î
ÆÄÀϵéÀ» º¹»çÇÏÁö ¾Ê°í, ´ë½Å¿¡ ½Éº¼¸¯ ¸µÅ©¸¸À» ¸¸µç´Ù. ÀÌ·¸°Ô Çϸé,
¸ðµç ÆÐÅ°Áö¿¡ ´ëÇؼ µ¿ÀÏÇÑ ÆÄÀϵé·Î µð½ºÅ© °ø°£À» ³¶ºñÇÏ´Â ÀÏÀÌ
¾ø¾îÁø´Ù. ¹èÆ÷º»ÀÇ tar
¾ÆÄ«À̺긦 ¸¸µé¶§ °£´ÜÈ÷ `-h' ¿É¼ÇÀ»
»ç¿ëÇÏ¸é ¹èÆ÷º»¿¡ °¢ ¸µÅ©°¡ ½ÇÁ¦·Î º¹»çµÉ °ÍÀÌ´Ù. Áï,
`Makefile.in'ÀÇ dist
Ÿ°Ù¿¡¼ tar
ÀÇ ¿É¼ÇÀ¸·Î
¹Ýµå½Ã `-h' ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
ÇÑ ÆÐÅ°Áö³»ÀÇ GNU gettext
±â´ÉµéÀ» Áö¿øÇϱâ À§ÇÑ ÃֽŠÆÄÀϵéÀÌ
`intl/'°ú `po/' ¼ºêµð·ºÅ丮·Î µé¾î°£´Ù´Â »ç½ÇÀº Àç¹ÌÀÖ´Â
ÀÏÀÌ´Ù. ÀÌ µÎ µð·ºÅ丮ÀÇ ´Ü ÇÑ °¡Áö Â÷ÀÌÁ¡Àº `intl/'Àº GNU
gettext
¸¦ »ç¿ëÇÏ´Â ¸ðµç ÆÐÅ°Áö¿¡¼ ¿ÏÀüÈ÷ µ¿ÀÏÇÏ°í, »õ·Ó°Ô
¸¸µé¾îÁø ÆÄÀϵéÀº `po/' µð·ºÅ丮¿¡ µé¾î°¡°í °¢ ÆÐÅ°Áö¸¶´Ù ´Ù¸£´Ù´Â
Á¡ÀÌ´Ù. `po/' µð·ºÅ丮ÀÇ `Makefile.in.in'Àº ÆÐÅ°Áö¸¶´Ù
µ¿ÀÏÇÏ´Ù. ¿Ö³ÄÇϸé `po/' µð·ºÅ丮´Â ±× µð·ºÅ丮¸¦ À§ÇØ ¸¸µé¾îÁø
`Makefile'À» ÇÊ¿ä·Î ÇÏ°í, ÆÐÅ°Áö¸¶´Ù µ¿ÀÏÇϵµ·Ï ¸¸µé¾îÁ³´Ù.
gettextize
¸¦ ÅëÇØ ÀÚµ¿À¸·Î ÷°¡µÈ ÆÄÀÏ ÀÌ¿Ü¿¡µµ, GNU
gettext
¸¦ Á¦´ë·Î »ç¿ëÇϱâ À§ÇØ °íÃÄ¾ß ÇÒ ÆÄÀϵéÀÌ ¸¹ÀÌ ÀÖ´Ù.
¸¸¾à ¸ÞÀÌÅ©ÆÄÀÏÀ» ¸¸µé°í, ÀÚµ¿À¸·Î ¼³Á¤ÇÏ´Â µ¥ ÀÖ¾î GNU standards¸¦
Ãæ½ÇÈ÷ µû¸¥´Ù¸é, ÀÌ ÀÛ¾÷Àº ´õ ½¬¿ï °ÍÀÌ´Ù. ¿©±â¿¡ °¢°¢À» À§ÇØ ¹«¾ùÀ»
¹Ù²ã¾ß ÇÏ´ÂÁö ¾²¿© ÀÖ´Ù.
ÀÚ, ¿©±â¿¡ ÆÄÀÏÀÇ ¸®½ºÆ®°¡ ÀÖ´Ù, °¢°¢ÀÇ ÆÄÀÏ ´ÙÀ½¿¡´Â ¹«¾ùÀ» °íÃľß
ÇÏ´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀÌ ÀÖ´Ù. ¸ÄÀº ¿¹´Â GNU gettext
0.10.39 ¹èÆ÷º» ÀÚü¿¡¼ ¹ßÃéµÇ¾ú´Ù. ½ÇÁ¦·Î GNU
gettext
ÆÐÅ°Áö´Â ÀÌ ÆÐÅ°ÁöÀÇ ±â´ÉÀ» »ç¿ëÇÏ´Â ÁÁÀº ¿¹ÀÌ°í, ÀÌ
±â´ÉÀÇ ÁÖ¿ä ±¸Çö¹°ÀÌ µÇµµ·Ï ¸¸µé¾î Á³À¸¹Ç·Î, GNU gettext
ÀÇ
¼Ò½ºÄڵ带 ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
`po/' µð·ºÅ丮´Â `POTFILES.in' À̶ó´Â ÆÄÀÏÀÌ µé¾î ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ÆÄÀÏÀº ÇÁ·Î±×·¥ ¼Ò½ºÁß¿¡¼ ¾î´À ÆÄÀÏÀÌ ¹ø¿ª Ç¥½ÃµÈ ¹®ÀÚ¿ÀÌ µé¾î ÀÖ´ÂÁö¸¦ ¾Ë·ÁÁØ´Ù. ¿©±â¿¡ ÀÌ ÆÄÀÏÀÇ ¿¹°¡ ÀÖ´Ù.:
# List of source files containing translatable strings. # Copyright (C) 1995 Free Software Foundation, Inc. # Common library files lib/error.c lib/getopt.c lib/xmalloc.c # Package source files src/gettext.c src/msgfmt.c src/xgettext.c
Çؽ¬(`#')·Î ½ÃÀ۵Ǵ ÁÖ¼®°ú ºó ÁÙÀº ¹«½ÃµÈ´Ù. ´Ù¸¥ ÁÙµéÀº ¹ø¿ªÇϵµ·Ï Ç¥½ÃÇØ ³õÀº ¹®ÀÚ¿ÀÌ µé¾î ÀÖ´Â ¼Ò½º ÆÄÀÏÀ» ¿°ÅÇØ ³õÀº °ÍÀÌ°í (see section ¼Ò½º Äڵ忡¼ ¾î¶»°Ô Ç¥½ÃÇϴ°¡), `POTFILE.in' ÆÄÀÏÀÇ À§Ä¡°¡ ¾Æ´Ï¶ó, Àüü ÆÐÅ°ÁöÀÇ ¸Ç À§ µð·ºÅ丮¿¡¼ºÎÅÍÀÇ »ó´ë °æ·Î¸¦ ¾´´Ù.
PACKAGE=gettext VERSION=0.10.39 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PACKAGE) AC_SUBST(VERSION)¹°·Ð, `gettext'¸¦ ´ç½ÅÀÇ ÆÐÅ°Áö À̸§À¸·Î ¹Ù²Ù°í, `0.10.39'¸¦ ±× ¹öÀü ¹øÈ£·Î ¹Ù²Û´Ù. ÀÌ À̸§Àº Á¤È®È÷ ´ç½ÅÀÇ ¹èÆ÷º»ÀÌ
tar
ÆÄÀÏ·Î ¹¿©Áú¶§ ³ªÅ¸³´Ù (¿©±â¼´Â
`gettext-0.10.39.tar.gz'ÀÌ µÈ´Ù).
ALL_LINGUAS
ÀÇ °ªÀ¸·Î ºóÄÀ¸·Î ±¸ºÐÇÏ°í µû¿ÈÇ¥¸¦ ¾º¿î
»ç¿ë°¡´ÉÇÑ ¾ð¾îÀÇ ¸®½ºÆ®¸¦ ÇÑÁÙ·Î ¾²¸é µÈ´Ù.
ALL_LINGUAS="de fr"ÀÌ ¿¹´Â µ¶ÀϾî¿Í ºÒ¾î PO ÆÄÀÏÀÌ »ç¿ë°¡´ÉÇÏ´Ù´Â ¶æÀ̹ǷÎ, ÀÌ ¾ð¾îµéÀÌ ÇöÀç ÀÌ ÆÐÅ°Áö¿¡¼ Áö¿øµÈ´Ù. ¸¸¾à ¼³Ä¡ÇÒ ¶§ ÀÌ ¾ð¾î ¸Þ¼¼Áö¸¦ ÀüºÎ ¼³Ä¡ÇÏ°í ½ÍÁö ¾Ê´Ù¸é, `configure.in'dml
ALL_LINGUAS
¸¦
°íÃļ´Â ¾È µÇ°í, LINGUAS
ȯ°æ º¯¼ö¸¦ »ç¿ëÇØ³Ä ÇÑ´Ù
(see section ¼³Ä¡ÇÏ´Â »ç¶÷À» À§ÇÑ ¸¶¼ú).
m4
¸ÅÅ©·ÎÀÌ´Ù. ´ÙÀ½ ÁÙÀ»
`configure.in'¿¡ ÷°¡Ç϶ó:
AM_GNU_GETTEXTconfigure½Ã¿¡ ÀÌ ¸ÅÅ©·Î ¶§¹®¿¡ ¼ö¸¹Àº üũ¸¦ ÇÏ°í ¿Â°® ÀϵéÀ» ÇÏÁö¸¸, ÀÌ ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â °Ç ¸Å¿ì °£´ÜÇÏ´Ù.
AC_OUTPUT
Àº ´ÙÀ½°ú °°ÀÌ
¼öÁ¤µÇ¾î¾ß ÇÑ´Ù:
AC_OUTPUT([ÀÌ¹Ì ÀÖ¾ú´ø config ÆÄÀϵé intl/Makefile po/Makefile.in], [ÀÌ¹Ì ÀÖ¾ú´ø action µé])
AC_OUTPUT
ÀÇ Ã¹¹øÀç ÀÎÀÚ¸¦ °íÄ¡´Â °ÍÀº AC_OUTPUT
ÀÌ
`intl/'°ú `po/' µð·ºÅ丮ÀÇ ÆÄÀϵéÀ» ġȯÇϵµ·Ï ÇÑ´Ù.
`.in'Àº `po/' µð·ºÅ丮¿¡¸¸ »ç¿ëµÈ´Ù´Â °Í¿¡ À¯ÀÇÇÏÀÚ. ¿Ö³ÄÇϸé
¹èÆ÷µÇ´Â ÆÄÀÏÀº ½ÇÁ¦·Î´Â `po/Makefile.in.in'À̱⠶§¹®ÀÌ´Ù.
GNU `config.guess'¿Í `config.sub' ÆÄÀÏÀ» ¹èÆ÷º»¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù. `intl/' µð·ºÅ丮°¡ ·ÎÄÉÀÏÀÇ ¹®ÀÚ ÀÎÄÚµùÀ» ¾Ë¾Æ³»´Â µ¥ Ç÷§Æû¿¡ ÀÇÁ¸ÀûÀÎ ±â´ÉµéÀÌ ÀÖÀ¸¹Ç·Î, Ç÷§ÆûÀÌ ¹«¾ùÀÎÁö¸¦ ¾Ë¾Æ³»´Â µ¥ ÀÌ ÆÄÀϵéÀÌ ÇÊ¿äÇÏ´Ù
`config.guess'¿Í `config.sub'ÀÇ ÃֽŠ¹öÀüÀ»
`ftp://ftp.gnu.org/pub/gnu/config/'¿¡¼ °¡Á®¿Ã ¼ö ÀÖ´Ù. ´ú ÃÖ½ÅÀÇ
¹öÀüµéÀº GNU automake
¿Í GNU libtool
ÆÐÅ°Áö¿¡µµ µé¾î ÀÖ´Ù.
º¸Åë, `config.guess'¿Í `config.sub' ÆÄÀϵéÀº ¹èÆ÷º»ÀÇ ¸Ç À§ µð·ºÅ丮¿¡ µé¾î ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ ÆÄÀϵéÀ» `install-sh', `ltconfig', `ltmain.sh', `mkinstalldirs', `mission'°ú °°Àº ¼³Á¤ °ü·Ã ÆÄÀϵé°ú ÇÔ²² ¼ºêµð·ºÅ丮¿¡ ³Ö´Â °Íµµ °¡´ÉÇÏ´Ù. ÇÊ¿äÇÑ ÀÏÀº ÆÄÀϵéÀ» ¿Å±â´Â °Í ÀÌ¿Ü¿¡ ´ÙÀ½ ÁÙÀ» `configure.in'¿¡ ÷°¡ÇÏ´Â °ÍÀÌ´Ù.
AC_CONFIG_AUX_DIR([subdir])
¸¸¾à ¹èÆ÷º»¿¡ `aclocal.m4' ÆÄÀÏÀÌ ¾ø´Ù¸é, °¡Àå °£´ÜÇÑ ¹æ¹ýÀº GNU
gettext
ÀÇ `m4/' µð·ºÅ丮¿¡¼ `codeset.m4',
`gettext.m4', `glibc21.m4', `iconv.m4',
`isc-posix.m4', `lcmessage.m4', `progtest.m4'¸¦ ÇÑ °³ÀÇ
ÆÄÀÏ·Î ¿¬°áÇÏ´Â °ÍÀÌ´Ù.
ÀÌ¹Ì `aclocal.m4' ÆÄÀÏÀÌ ÀÖ´Ù¸é, ¾Õ¿¡¼ ¸»ÇÑ ¸ÅÅ©·Î ÆÄÀϵéÀ»
`aclocal.m4'¿¡ ÇÕÃÄ ³Ö¾î¾ß ÇÑ´Ù. ¸¸¾à¿¡ ÀÌÀü ¹öÀüÀÇ GNU
gettext
¿¡¼ ¾÷±×·¹À̵åÇÒ °æ¿ì¿¡´Â,
¸ÅÅ©·Îµé(AM_GNU_GETTEXT
, AM_WITH_NLS
µî)À» ¹Ù²ã¾ß ÇÑ´Ù´Â
°Í¿¡ À¯ÀÇÇÏÀÚ. ÀÌ ¸ÅÅ©·ÎµéÀº GNU gettext
ÀÇ ¹öÀü¸¶´Ù Á¶±Ý¾¿
´Ù¸£´Ù. ¸ÅÅ©·ÎµéÀÇ ³»¿ëÀº ¿ì¸®°¡ ¿©·¯ °¡Áö ÀÌ»óÇÑ ½Ã½ºÅ۵鿡 ´ëÇÑ
°æÇèÀ» ½×À½¿¡ µû¶ó ¾ÕÀ¸·Î ´Þ¶óÁú ¼ö ÀÖ´Ù.
ÀÌ ¸ÅÅ©·ÎµéÀº ±¹Á¦È Áö¿ø ÇÔ¼ö¿Í °ü·Ã Á¤º¸µéÀ» üũÇÑ´Ù. ´ÙÇàÈ÷µµ
ÀÏ´Ü ¾ÈÁ¤ÈµÇ¸é, ÀÌ ¸ÅÅ©·ÎµéÀº ¾îÂ÷ÇÇ GNU gettext
¸¦ »ç¿ëÇÏ´Â ¸ðµç
ÇÁ·ÎÁ§Æ®¿¡¼ ¶È°°ÀÌ »ç¿ëµÉ °ÍÀ̱⠶§¹®¿¡, ±âº» Autoconf ¸ÅÅ©·Î·Î ÇÕÃÄÁú
¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌÀüÀÇ GNU gettext
¿¡¼´Â ENABLE_NLS
, HAVE_GETTEXT
±×¸®°í HAVE_LC_MESSAGES
, HAVE_STPCPY
, PACKAGE
±×¸®°í VERSION
À» `acconfig.h' ÆÄÀÏ¿¡ Áý¾î ³Ö¾î¾ß Çß´Ù.
´õÀÌ»ó ÀÌ·² ÇÊ¿ä°¡ ¾ø´Ù. ¿©·¯ºÐÀÇ ÆÐÅ°Áö°¡ `intl/' µð·ºÅ丮¿Í
µ¶¸³ÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê´Â ÇÑ `acconfig.h' ÆÄÀÏ¿¡¼ À̰͵éÀ» Áö¿ö
¹ö¸± ¼ö ÀÖ´Ù.
´ÙÀ½Àº ¸Ç À§ÀÇ ÁÖ¿ä `Makefile.in' ÆÄÀÏ¿¡ °íÃÄ¾ß ÇÒ ¸î °¡Áö »çÇ×µéÀÌ´Ù.
PACKAGE = @PACKAGE@ VERSION = @VERSION@
DISTFILES
Á¤ÀÇ¿¡ Ãß°¡ÇØ, ÀÌ ÆÄÀÏÀÌ °°ÀÌ
¹èÆ÷µÇµµ·Ï ÇÑ´Ù.
Makefile.in
¿¡¼ SUBDIRS
º¯¼ö¸¦ Á¤ÀÇÇؼ ³ªÁß¿¡
`dist:' Ÿ°Ù(target)¿¡¼ »ç¿ëµÇ·Ï ÇÏ¿´´Ù.
SUBDIRS = doc intl lib src @POSUB@make°¡
libintl.h
Çì´õ ÆÄÀÏÀ» »ç¿ëÇÏ´Â Äڵ尡 µé¾î ÀÖ´Â
µð·ºÅ丮µéº¸´Ù ¸ÕÀú intl
µð·ºÅ丮·Î ³»·Á°¡µµ·Ï ÇØ¾ß ÇÑ´Ù´Â °Í¿¡
À¯ÀÇÇÑ´Ù. ÀÌ·± ÀÌÀ¯·Î intl
À» lib
À̳ª src
º¸´Ù ¾Õ¿¡
½è´Ù.
ÀÌ ¹æ¹ýÀ» ´ç½ÅÀÇ ÆÐÅ°Áö¿¡ »ç¿ëÇϵµ·Ï ÇØ¾ß ÇÒ °ÍÀÌ´Ù.
distdir = $(PACKAGE)-$(VERSION) dist: Makefile rm -fr $(distdir) mkdir $(distdir) chmod 777 $(distdir) for file in $(DISTFILES); do \ ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \ done for subdir in $(SUBDIRS); do \ mkdir $(distdir)/$$subdir || exit 1; \ chmod 777 $(distdir)/$$subdir; \ (cd $$subdir && $(MAKE) $@) || exit 1; \ done tar chozf $(distdir).tar.gz $(distdir) rm -fr $(distdir)
ÁÖ¿ä `Makefile.in'¿¡ °¡ÇØÁ³´ø ¼öÁ¤»çÇ×ÀÌ ¼Ò½º µð·ºÅ丮ÀÇ `Makefile.in'¿¡µµ ÇÊ¿äÇÏ´Ù. ÀÌ µð·ºÅ丮´Â ¿©±â¿¡¼ `src/' ¼ºêµð·ºÅ丮¶ó°í °¡Á¤ÇÑ´Ù. ´ÙÀ½Àº `src/Makefile.in'¿¡ ¼öÁ¤ÇØ¾ß ÇÒ °ÍµéÀÇ ¸®½ºÆ®ÀÌ´Ù:
PACKAGE = @PACKAGE@ VERSION = @VERSION@
top_srcdir
°¡ Á¤ÀǵǾî ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
ÀÌ ÀÌ º¯¼ö´Â cpp
°¡ includeÇÏ´Â ÆÄÀÏÀ» À§ÇØ »ç¿ëµÉ °ÍÀÌ´Ù. ´ÙÀ½
ÁÙÀ» ÷°¡ÇÏ¸é µÈ´Ù.
top_srcdir = @top_srcdir@
subdirs
À» Á¤ÀÇÇÏ¸é ¸ðµç `Makefile.in'¿¡
ºñ½ÁÇÏ°Ô ÅëÀÏµÈ `dist:' Ÿ°Ù(target)À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½
¸®½ºÆ®¿¡¼, ¾Æ·¡ÀÇ `dist:' Ÿ°Ù(target)Àº ´ÙÀ½À» »ç¿ëÇÏ°í ÀÖ´Ù°í
°¡Á¤ÇÑ´Ù:
subdir = src
main
ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ bindtextdomain
ÇÔ¼ö¸¦ ºÒ·¯¾ß ÇÑ´Ù (see section gettext
¸¦ µ¿ÀÛ½ÃÅ°±â):
bindtextdomain (PACKAGE, LOCALEDIR);LOCALEDIRÀ» ÇÁ·Î±×·¥ÀÌ ¾Ëµµ·Ï ÇÏ·Á¸é ´ÙÀ½ ÁÙÀ» Makefile.in¿¡ ³Ö´Â´Ù:
datadir = @datadir@ localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
@datadir@
±âº»°ªÀº `$(prefix)/share'ÀÎ °Í¿¡ À¯ÀÇÇÑ´Ù.
±×·¯¹Ç·Î $(localedir)
ÀÇ ±âº»°ªÀº `$(prefix)/share/locale'ÀÌ
µÉ °ÍÀÌ´Ù.
@INTLLIBS@
À» ¶óÀ̺귯¸®·Î »ç¿ëÇÏ´ÂÁö
È®ÀÎÇÑ´Ù. ½¬¿î ¹æ¹ýÀº ´ÙÀ½°ú °°ÀÌ LIBS
¿¡ ÷°¡ÇÏ´Â °ÍÀÌ´Ù:
LIBS = @INTLLIBS@ @LIBS@GNU
gettext
·Î ±¹Á¦ÈµÈ ´ëºÎºÐÀÇ ÆÐÅ°Áö¿¡¼, `lib/' µð·ºÅ丮
¾È¿¡ ¸î °¡Áö º¸Á¶ ÇÔ¼öµéÀÌ µé¾î ÀÖ´Â °ÍÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. (ÃÖ¼ÒÇÑ
gettext
¶óÀ̺귯¸® ÀÚü°¡ ÇÊ¿ä·Î ÇÏ´Â ¸î °¡Áö ÇÔ¼ö´Â ÇÊ¿äÇÏ´Ù.)
ÇÏÁö¸¸ `libs/' µð·ºÅ丮ÀÇ ¸î¸î ÇÔ¼öµéÀº ¿ª½Ã ¹ø¿ªµÇ¾î¾ß ÇÏ´Â
¸Þ¼¼ÁöµéÀ» ´ã°í ÀÖ´Ù. À§ÀÇ ¿¹¿¡¼ ÀÌ º¸Á¶ ¶óÀ̺귯¸®(¿¹¸¦ µé¸é
`libsupport.a')¸¦ @INTLLIBS@
¿Í @LIBS@
»çÀÌ¿¡
³ÖÀ¸¸é ¾È µÈ´Ù´Â °Í¿¡ À¯ÀÇÇÏÀÚ. ´ë½Å¿¡ ´ÙÀ½°ú °°ÀÌ ½á¾ß ÇÑ´Ù.
LIBS = ../lib/libsupport.a @INTLLIBS@ ../lib/libsupport.a @LIBS@
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist: Makefile $(DISTFILES) for file in $(DISTFILES); do \ ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \ done
Go to the first, previous, next, last section, table of contents.