fprintf

Could someone explain me the following fprintf format:

fprintf (stderr, _("Try `%s --help' for more information.\n"),
program_name);

Why just not use:

fprintf(stderr, "ry `%s --help' for more information.\n", program_name)

I mean what is _() does?

That's a shortcut for the "gettext()" call. This call is used in UNIX internationalization, to allow messages to be translated into another locale other than the one it was written in. Essentially, some ".po" files contain maps from the native-language string into another translation, such as German. Then, if a user has selected german as her locale, for instance, LANG=de-de, then gettext call returns the German version of the string.

GNU has a nice page about explaining it: gettext - GNU Project - Free Software Foundation