Adds support for --(enable|disable)-nls configure option.

This enables\disables the generation of language files and
sets the ENABLE_NLS define appropriately.

Default value is enabled to preserve current behavior.

--- src/configure.in
+++ src/configure.in
@@ -118,15 +118,22 @@
 ])
 AC_SUBST(LIBUTIL)
 
-AC_CHECK_HEADER(libintl.h, [
-	AC_SEARCH_LIBS(dgettext, intl, [
-		AC_DEFINE(ENABLE_NLS, 1,
-			[Define if translation functions should be used.])])])
-
-AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt)
+# Determine if NLS is desired and supported.
 po=
-if test x"$MSGFMT" != x; then
-	po=po
+AC_ARG_ENABLE([nls],
+AC_HELP_STRING([--disable-nls],
+               [Disable Native Language Support(NLS).]), ,
+               enableval=yes)
+if test "$enableval" = yes ; then
+        AC_CHECK_HEADER(libintl.h, [
+                AC_SEARCH_LIBS(dgettext, intl, [
+                        AC_DEFINE(ENABLE_NLS, 1,
+                                [Define if translation functions should be used.])])])
+
+        AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt)
+        if test x"$MSGFMT" != x; then
+                po=po
+        fi
 fi
 AC_SUBST(po)
 
