gettext ¸¦ ÅëÇØ º¯È°µÉ message µéÀ» ´ã´Â message table À» ÀÛ¼ºÇÏ´Â ¿ä·ÉÀ» »ìÆìº»´Ù.
gettext´Â Á¤ÇØÁø message ¸¦ ¹Ì¸® Á¤ÇØÁø message ·Î ¹Ù²Ù¾î ÁÖ´Â ¿ªÇÒÀ» ÇÒ»ÓÀÌ´Ù. µû¶ó¼ ¿øº» message ¿Í À̰ÍÀÌ ¾î¶² message ·Î º¯È°µÉÁö¸¦ ³ªÅ¸³»¾î ÁÖ´Â table ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌÀÇ ÃʾÈÀÌ µÇ´Â°ÍÀÌ *.po ¿¡ ÇØ´çÇÏ´Â ÆÄÀÏÀÌ´Ù.
ÀÌ ÃʾÈÀ» Á÷Á¢ ÀÛ¼ºÇÒ¼öµµ ÀÖÁö¸¸ xgettext ¶ó´Â ÇÁ·Î±×·¥ÀÌ ±× ÃʾÈÀ» ¸¸µé¾î ÁØ´Ù.
# shell script xgettext Hello # C code xgettext Hello.c |
xgettext ¸¦ »ç¿ëÇÏ°í ³ª¸é messages.po ¶ó´Â ÆÄÀÏÀÌ »ý¼ºµÈ´Ù. ÀÌ´Â GNU version ÀÇ gettext ÀÎÁö ¾Æ´ÑÁö¿¡ µû¶ó ¾à°£ ´Ù¸£Áö¸¸ »À´ë´Â ºñ½ÁÇÏ´Ù. msgid ¿Í msgstr ÀÇ Â¦À¸·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç, msgid °¡ À§ ¿¹Á¦ ÇÁ·Î±×·¥ ¼Ó¿¡¼ gettext ·Î µÑ·¯½ÎÀÎ message µéÀÌ´Ù. ±×¸®°í msgstr ÀÌ º¯È°µÉ ¸Þ¼¼Áö¸¦ ´ã°Ô µÈ´Ù. xgettext ¸¦ ÇÏ°í ³ª¸é msgid µéÀÌ ¸ðµÎ ÃßÃâµÇ¸ç, »ç¿ëÀÚ´Â ´ÜÁö msgstr ºÎºÐÀÇ ºó°÷¸¸ ä¿öÁÖ¸é µÈ´Ù. ´ÙÀ½°ú °°ÀÌ Ã¤¿öº¸ÀÚ.
¾ÕÀýÀÇ ÇÁ·Î±×·¥µé¿¡¼ Hello ¿Í World! ¸¦ gettext °¡ º¯È¯Çϱâ À§Çؼ´Â ¾Æ·¡Ã³·³ ÀÛ¼ºÇÏ¸é µÈ´Ù.
msgid "Hello" msgstr "Çï·Î" msgid "World!" msgstr "¿ùµå!" |
ÀÌÁ¦ ÀÌ·¸°Ô ÀÛ¼ºµÈ ÆÄÀÏÀ» msgfmt ¶ó´Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© gettext °¡ ÀÌÇØÇÒ¼ö ÀÖ´Â ÆÄÀÏ·Î º¯È¯ÇÑ´Ù.
msgfmt -o Hello.mo messages.po |
Hello.mo ¶ó ÇÑ ÀÌÀ¯´Â ÇÁ·Î±×·¥ÀÇ À̸§°ú °°ÀÌ Çϱâ À§ÇؼÀÌ´Ù. ÀÌÁ¦ À̸¦ /usr/local/share/locale/ko/LC_MESSAGE/ ¾Æ·¡¿¡ ³Ö¾îµÎ¸é µÈ´Ù. Çѱ¹¾î·Î locale ÀÌ ¼³Á¤µÇ¾î ÀÖ´Ù¸é ...locale/ko/ ¾Æ·¡¸¦ ÂüÁ¶ÇÏ°Ô µÈ´Ù. ¸¸¾à ÇÁ¶û½º¾î·Î message translation À» ÇϰíÀÚ ÇÒ °æ¿ì¿¡´Â ÇØ´ç .po ÆÄÀÏÀÇ msgstr À» ºÒ¾î·Î ÀÛ¼ºÇÑ´Ù. ±×¸®°í À̸¦ msgfmt ·Î Hello.mo ·Î ¸¸µçÈÄ /usr/local/share/locale/fr/LC_MESSAGE/ ¾Æ·¡¿¡ ³Ö¾îµÎ¸é µÈ´Ù. ½Ã½ºÅÛ ·ÎÄÉÀÏ¿¡ µû¶ó ¿µ¾î, Çѱ¹¾î, ȤÀº ºÒ¾î message °¡ Ãâ·ÂµÈ´Ù.