Next: Mmap, Previous: System Functions, Up: Writing C [Contents]
GNU¤Ï¤¢¤ë¥×¥í¥°¥é¥à¤Î¥á¥Ã¥»¡¼¥¸¤òÍÍ¡¹¤Ê¸À¸ì¤ËËÝÌõ¤¹¤ë¤Î¤òÍÆ°×¤Ë¤¹¤ëGNU gettext¤È¸Æ¤Ð¤ì¤ë¥é¥¤¥Ö¥é¥ê¤ò»ý¤Ã¤Æ¤¤¤ë¡£¤¢¤é¤æ¤ë¥×¥í¥°¥é¥à¤Ç¤³¤Î¥é¥¤¥Ö ¥é¥ê¤ò»È¤¦¤Ù¤¤À¡£¥á¥Ã¥»¡¼¥¸¤¬¥×¥í¥°¥é¥à¤Ë¸½¤ì¤ë¤È¤¡¢¤½¤ì¤é¤Ë±Ñ¸ì¤ò»È¤¤ ¤Ê¤µ¤¤¡£¤½¤·¤Æ¡¢¤½¤ì¤é¤ò¾¤Î¸À¸ì¤ËËÝÌõ¤¹¤ë¤¿¤á¤ÎÊýË¡¤ògettext¤ÇÄ󶡤·¤Ê ¤µ¤¤¡£
GNU gettext¤Î»ÈÍѤÏËÝÌõ¤¬É¬Íפ«¤â¤·¤ì¤Ê¤¤¡¢¤½¤ì¤¾¤ì¤Îʸ»úÎó¤Î¼þ¤ê¤Ë
gettext
¥Þ¥¯¥í¤Î¸Æ¤Ó½Ð¤·¤òÉÕ¤±¤ë¤³¤È¤ò´Þ¤à —¼¡¤Î¤è¤¦¤Ë¡£
printf (gettext ("Processing file `%s'..."));
¤³¤¦¤¹¤ë¤È¡¢GNU gettext¤¬Ê¸»úÎó"Processing file `%s'..."
¤òËÝÌõ¤µ
¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ÇÃÖ¤´¹¤¨¤é¤ì¤ë¡£
°ìÅÙ¥×¥í¥°¥é¥à¤¬gettext¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤¿¤é¡¢ËÝÌõ¤¬É¬Íפʿ·¤·¤¤Ê¸»úÎó¤ò
²Ã¤¨¤ë¤È¤¡¢gettext
¤Ø¤Î¸Æ¤Ó½Ð¤·¤ò½ñ¤¯ÃÏÅÀ¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤Ç¤ÎGNU gettext¤Î»ÈÍѤϡ¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¥Æ¥¥¹ ¥ÈÎΰè̾¤ò»ØÄꤹ¤ë¤³¤È¤ò´Þ¤à¡£¥Æ¥¥¹¥ÈÎΰè̾¤Ï¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎËÝÌõ¤ò¾ ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎËÝÌõ¤ÈʬΥ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£Ä̾¥Æ¥¥¹¥ÈÎΰè̾¤Ï¥Ñ¥Ã¥±¡¼ ¥¸¤Î̾Á°¤ÈƱ¤¸¤Ç¤¢¤ë¤Ù¤¤À —Î㤨¤Ð¡¢GNU file utility¤Î¤¿¤á¤Ë ‘fileutils’¤¬»È¤ï¤ì¤ë¡£
gettext¤¬¾å¼ê¤¯Æ¯¤¯¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Ã±¸ì¤äʸ¤Î¹½Â¤¤Ë²¾Äê¤òÀߤ±¤ë¥³¡¼¥É ¤ò½ñ¤«¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤µ¤¤¡£Ê¸¤ÎÀµ³Î¤Ê¥Æ¥¥¹¥È¤¬¥Ç¡¼¥¿¤Ë¤è¤Ã¤ÆÊѤï¤ë¤Î¤è¤¦ ¤Ë¤·¤¿¤¤¤È¤¡¢¾ò·ïÉÕ¤±¤é¤ì¤¿Ã±¸ì¤ä¶ç¤òñ°ì¤Îʸ̮¹½À®¤Ë²¡¤·¹þ¤à¤è¤ê¤â¡¢¤½ ¤ì¤¾¤ì´°Á´¤Êʸ¤ò´Þ¤àÆó¤Ä°Ê¾å¤Îʸ»úÎóÄê¿ô¤ò»È¤¤¤Ê¤µ¤¤¡£
¤³¤ì¤¬¤ä¤ë¤Ù¤¤Ç¤Ï¤Ê¤¤¤â¤Î¤ÎÎã¤À¡£
printf ("%d file%s processed", nfiles, nfiles != 1 ? "s" : "");
¤³¤ÎÎã¤ÎÌäÂê¤ÏÊ£¿ô·Á¤¬‘s’¤ò²Ã¤¨¤ë¤³¤È¤Ç¹Ô¤ï¤ì¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¤³¤È¤À¡£¤â ¤·½ñ¼°Ê¸»úÎó¤Ëgettext¤òŬÍѤ¹¤ë¤Ê¤é¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥á¥Ã¥»¡¼¥¸¤¬°Û¤Ê¤ëñ¸ì ¤ò»È¤¦¤³¤È¤¬¤Ç¤¤ë¤¬¡¢
printf (gettext ("%d file%s processed"), nfiles, nfiles != 1 ? "s" : "");
Ê£¿ô·Á¤¬‘s’¤ò»È¤¦¤è¤¦¤Ë¤Ê¤ª¶¯À©¤µ¤ì¤Æ¤¤¤ë¡£¤³¤ì¤¬¤è¤êÎɤ¤ÊýË¡¤À¡£
printf ((nfiles != 1 ? "%d files processed" : "%d file processed"), nfiles);
¤³¤Î¤ä¤êÊý¤Ç¡¢Æó¤Ä¤Îʸ»úÎ󤽤줾¤ì¤ËÆÈΩ¤·¤Ægettext¤òŬÍѤǤ¤ë¡£
printf ((nfiles != 1 ? gettext ("%d files processed") : gettext ("%d file processed")), nfiles);
¤³¤¦¤¹¤ë¤È¡¢“file”¤È¤¤¤¦Ã±¸ì¤ÎÊ£¿ô·Á¤òºî¤ë¡¢¤¤¤«¤Ê¤ëÊýË¡¤Ç¤â¼Â¸½¤Ç¤¡¢ “processed”¤ËÂФ·¤Æ¡¢Ã±¸ì¤¬°ìÃפ·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¸À¸ì¤ò°·¤¦¤³¤È¤â¤Ç¤¤ë¡£
Ʊ¤¸¤è¤¦¤ÊÌäÂê¤Ï¼¡¤Î¥³¡¼¥É¤Çʸ̮¤Î¹½Â¤¤Î¿å½à¤Ç¸½¤ì¤ë¡£
printf ("# Implicit rule search has%s been done.\n", f->tried_implicit ? "" : " not");
¤³¤Î¥³¡¼¥É¤Ëgettext
¸Æ¤Ó½Ð¤·¤òÍ¿¤¨¤Æ¤â¡¢¤¹¤Ù¤Æ¤Î¸À¸ì¤ÇÀµ¤·¤¤·ë²Ì¤ò
ÆÀ¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¤Ê¤¼¤Ê¤é¡¢¤¤¤¯¤Ä¤«¤Î¸À¸ì¤ÇÈÝÄê¤ÏÊ¸Ãæ¤Ë°ì¤Ä¤è¤ê¤â¤¿
¤¯¤µ¤ó¤Î¾ì½ê¤Çñ¸ì¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ë¤«¤é¤À¡£ÂоÈŪ¤Ë¡¢gettext
¸Æ¤Ó
½Ð¤·¤ÎÄɲäϡ¢¤â¤·¤½¤Î¥³¡¼¥É¤¬¼¡¤Î¤è¤¦¤Ë»Ï¤Þ¤ë¤Ê¤é¡¢´Êñ¤Ë¹Ô¤¨¤ë¡£
printf (f->tried_implicit ? "# Implicit rule search has been done.\n", : "# Implicit rule search has not been done.\n");