Если для вашего порта требует gettext
,
просто установите переменную USE_GETTEXT
в
значение yes
, и в ваш порт добавится зависимость
от devel/gettext
. Кроме того,
в USE_GETTEXT
можно установить требуемую версию
библиотеки libintl
, основного компонента
gettext
, но такой механизм лучше не использовать.
Ваш порт должен работать и с текущей версией
devel/gettext
.
Довольно распространенным случаем является использование в
порте gettext
и configure
.
Как правило, GNU configure
способен находить
gettext
автоматически. Если он все же не
сможет это сделать, то подсказки для размещения
gettext
можно передать через переменные окружения
CPPFLAGS
и LDFLAGS
:
Of course, the code can be more compact if there are no
more flags to pass to configure
:
Некоторые программные продукты позволяют отключать NLS,
к примеру через передачу параметра --disable-nls
сценарию configure
. В этом случае, ваш порт
должен использовать gettext
в зависимости от
статуса переключателя WITHOUT_NLS
.
Для портов небольшой или средней сложности вы можете полагаться
на следующую идиому:
Следующий пункт в вашем списке дел разобраться, чтобы файлы
каталога сообщения включались в список упаковки по условию. Часть,
входящая в Makefile
, уже обеспечена этой
идиомой. Остальное объясняется в главе
продвинутые практики pkg-plist
. Вкратце,
каждое вхождение %%NLS%%
в
pkg-plist
будет заменено на
«@comment
», если NLS выключен,
или пустой строкой, если включен. В результате строки,
предваряемые %%NLS%%
, станут комментариями
в итоговом листе упаковки, если NLS выключен; иначе, префикс будет
просто удален. Всё, что вам нужно, это вставить
%%NLS%%
перед каждым путем к файлу каталога
сообщений в pkg-plist
. Например:
В особо сложных случаях вам понадобиться использовать более продвинутые техники, чем данный рецепт, такие как динамические списки упаковки.
Существует момент, который следует учитывать при установке
файлов каталогов сообщений. Целевые каталоги для размещения,
расположенные под
,
редко когда должны создаваться и удаляться вашим портом. Для
наиболее популярных языков имеются собственные каталоги,
перечисленные в LOCALBASE
/share/locale/etc/mtree/BSD.local.dist
;
таким образом, они включены в основную систему. Каталоги для
множества других языков управляются с помощью порта devel/gettext
. Возможно, вам понадобиться
обратить внимание на его pkg-plist
и
посмотреть, куда ваш порт собирается установить файлы каталогов
сообщений для единственного в своем роде языка.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.