Se o port requer o gettext
, defina USES=gettext
, e o port herdará a dependência libintl.so
do devel/gettext. Outros valores para uso do gettext
estão listados em USES=gettext
.
Um caso bastante comum é um port que utilize o gettext
e o configure
. Geralmente, o GNU configure
deve ser capaz de localizar o gettext
automaticamente.
USES= gettext GNU_CONFIGURE= yes
Se falhar, dicas da localização do gettext
podem ser informados por meio do CPPFLAGS
e LDFLAGS
do seguinte modo:
USES= gettext CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib GNU_CONFIGURE= yes
Alguns softwares permitem desabilitar o NLS. Por exemplo, passando --disable-nls
para o configure
. Nesse caso, o port deve usar gettext
condicionalmente, dependendo do status da opção NLS
. Para ports de baixa a média complexidade, use este idioma:
GNU_CONFIGURE= yes OPTIONS_DEFINE= NLS OPTIONS_SUB= yes NLS_USES= gettext NLS_CONFIGURE_ENABLE= nls .include <bsd.port.mk>
Ou usando a maneira antiga de usar opções:
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>
O próximo item na lista de tarefas a fazer é organizar de forma condicional os arquivos do catálogo de mensagens na lista de pacotes. A parte do Makefile
desta tarefa já é fornecida pela expressão idiomática. Isto é explicado na seção sobre práticas avançadas de pkg-plist
. Em poucas palavras, cada ocorrência de %%NLS%%
dentro de pkg-plist
será substituído por “@Comment
” se o NLS estiver desativado ou por uma cadeia nula se o NLS estiver ativado. Consequentemente, as linhas prefixadas por %%NLS%%
se tornarão meros comentários na lista de empacotamento final se o NLS estiver desativado; caso contrário, o prefixo será deixado de fora. Em seguida, insira %%NLS%%
antes de cada caminho para um arquivo de catálogo de mensagens em pkg-plist
. Por exemplo:
%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo %%NLS%%share/locale/no/LC_MESSAGES/foobar.mo
Em casos de alta complexidade, técnicas mais avançadas podem ser necessárias, como geração dinâmica de lista de empacotamento.
Há um ponto a ser observado sobre a instalação de arquivos de catálogo de mensagens. Os diretórios de destino para eles, que residem em LOCALBASE/share/locale
, não devem ser criados e removidos por um port. Os idiomas mais populares têm seus respectivos diretórios listados em PORTSDIR/Templates/BSD.local.dist
. Os diretórios para muitos outros idiomas são governados pelo port devel/gettext. Consulte o seu pkg-plist
e veja se o port vai instalar um arquivo de catálogo de mensagens para um idioma exclusivo.
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>.