If the port requires gettext, set
	USES= gettext, and the port will inherit
	a dependency on libintl.so from
	devel/gettext.  Other
	values for gettext usage are listed in
	USES=gettext.
A rather common case is a port using
	gettext and configure.
	Generally, GNU configure should be able
	to locate gettext automatically.
USES= gettext GNU_CONFIGURE= yes
If it ever fails to, hints at the location of
	gettext can be passed in
	CPPFLAGS and LDFLAGS using
	localbase as follows:
USES= gettext localbase:ldflags GNU_CONFIGURE= yes
Some software products allow for disabling
	NLS.  For example, through passing
	--disable-nls to
	configure.  In that case, the port must use
	gettext conditionally, depending on the
	status of the NLS option.  For ports of low
	to medium complexity, use this idiom:
GNU_CONFIGURE= yes OPTIONS_DEFINE= NLS OPTIONS_SUB= yes NLS_USES= gettext NLS_CONFIGURE_ENABLE= nls .include <bsd.port.mk>
Or using the older way of using options:
GNU_CONFIGURE=		yes
OPTIONS_DEFINE=		NLS
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MNLS}
USES+=			gettext
PLIST_SUB+=		NLS=""
.else
CONFIGURE_ARGS+=	--disable-nls
PLIST_SUB+=		NLS="@comment "
.endif
.include <bsd.port.mk>The next item on the to-do list is to arrange so that
	the message catalog files are included in the packing list
	conditionally.  The Makefile part of
	this task is already provided by the idiom.  It is explained
	in the section on advanced
	  pkg-plist practices.  In a
	nutshell, each occurrence of %%NLS%% in
	pkg-plist will be replaced by
	“@comment ” if NLS is
	disabled, or by a null string if NLS is enabled.
	Consequently, the lines prefixed by
	%%NLS%% will become mere comments in the
	final packing list if NLS is off; otherwise the prefix will
	be just left out.  Then insert
	%%NLS%% before each path to a message
	catalog file in pkg-plist.  For
	example:
%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo %%NLS%%share/locale/no/LC_MESSAGES/foobar.mo
In high complexity cases, more advanced techniques may be needed, such as dynamic packing list generation.
There is a point to note about installing message
	catalog files.  The target directories for them, which
	reside under
	LOCALBASE/share/locale,
	must not be created and removed by a port.  The most
	popular languages have their respective directories listed
	in
	PORTSDIR/Templates/BSD.local.dist.
	The directories for many other languages are governed by the
	devel/gettext port.
	Consult its pkg-plist and see whether
	the port is going to install a message catalog file for a
	unique language.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
    documentation may be
    sent to <freebsd-questions@FreeBSD.org>.
    Send questions about this document to <freebsd-doc@FreeBSD.org>.