diff options
author | Wolfram Schneider <wosch@FreeBSD.org> | 2017-10-12 14:13:48 +0000 |
---|---|---|
committer | Wolfram Schneider <wosch@FreeBSD.org> | 2017-10-12 14:13:48 +0000 |
commit | 2539094cdb7057b866d87b115e856b7c50c6171a (patch) | |
tree | 02b04f249f688e4ef10633036fd9e8979875874f /share/mk/doc.docbook.mk | |
parent | b4ca2d0caf419b5f55b5887a9096977999416a50 (diff) | |
download | doc-2539094cdb7057b866d87b115e856b7c50c6171a.tar.gz doc-2539094cdb7057b866d87b115e856b7c50c6171a.zip |
refactor translation to a new make file "doc.translate.mk"
PR: 222939
Notes
Notes:
svn path=/head/; revision=51106
Diffstat (limited to 'share/mk/doc.docbook.mk')
-rw-r--r-- | share/mk/doc.docbook.mk | 70 |
1 files changed, 1 insertions, 69 deletions
diff --git a/share/mk/doc.docbook.mk b/share/mk/doc.docbook.mk index 9ce847d5ad..eed947e10e 100644 --- a/share/mk/doc.docbook.mk +++ b/share/mk/doc.docbook.mk @@ -317,75 +317,7 @@ ${DOC}.parsed.xml: ${SRCS} ${XML_INCLUDES} ${SED} -i '' -e 's|@@URL_RELPREFIX@@|../../../..|g' ${.TARGET} # translation ------------------------------------------------------- - -# Master English document -MASTERDOC_EN?= ${MASTERDOC:S/${LANGCODE}/en_US.ISO8859-1/} -TRAN_DIR?= ${MASTERDOC:H} -EN_DIR?= ${TRAN_DIR:S/${LANGCODE}/en_US.ISO8859-1/} -PO_LANG?= ${LANGCODE:C/\..*$//} -PO_CHARSET?= ${LANGCODE:tl:C/^.*\.//:S/^iso/iso-/:S/utf-8/UTF-8/} -CLEANFILES+= ${DOC}.translate.xml ${PO_LANG}.mo - -PO_CATALOG_FILES= file://${EN_DIR}/catalog-cwd.xml \ - file://${EN_DIR:H:H}/share/xml/catalog.xml \ - file://${DOC_PREFIX}/share/xml/catalog.xml \ - file://${LOCALBASE}/share/xml/catalog -.if defined(EXTRA_CATALOGS) -PO_CATALOG_FILES+= ${EXTRA_CATALOGS} -.endif -PO_XMLLINT= env XML_CATALOG_FILES="${PO_CATALOG_FILES}" ${PREFIX}/bin/xmllint - -# fix settings in PO file -IDSTR1= $$Free -IDSTR2= BSD$$ -POSET_CMD= ${SED} -i '' -e '1s,^,\#${IDSTR1}${IDSTR2}\${.newline},' \ - -e 's,^\(\"Language-Team:.*\\n\"\),\1\${.newline}\"Language: ${PO_LANG}\\n\",' \ - -e 's,^\"Content-Type: text/plain; charset=.*\\n,\"Content-Type: text/plain; charset=${PO_CHARSET}\\n,' - -.if ${.TARGETS:Mpo} || ${.TARGETS:Mtran} || ${.TARGETS:M${DOC}.translate.xml} - -MASTER_SRCS!= ${MAKE} -C ${EN_DIR} -V SRCS - -${DOC}.translate.xml: - @if [ "${TRAN_DIR}" == "${EN_DIR}" ]; then \ - ${ECHO} "build PO file in a non-English dir" ; \ - exit 1 ; \ - fi - # some SRCS files might need to be generated, make sure they exist - @${MAKE} -C ${EN_DIR} ${MASTER_SRCS} > /dev/null - # normalize the English original into a single file - @${PO_XMLLINT} --nonet --noent --valid --xinclude ${MASTERDOC_EN} > ${.TARGET}.tmp - # remove redundant namespace attributes - @${PO_XMLLINT} --nsclean ${.TARGET}.tmp > ${.TARGET} - @${RM} ${.TARGET}.tmp - @${MAKE} -C ${EN_DIR} clean > /dev/null - -po: ${PO_LANG}.po -.PHONY: po -${PO_LANG}.po: ${DOC}.translate.xml - @${ITSTOOL} -o ${PO_LANG}.po.tmp ${DOC}.translate.xml - @( if [ -f "${PO_LANG}.po" ]; then \ - echo "${PO_LANG}.po exists, merging" ; \ - ${MSGMERGE} -o ${PO_LANG}.po.new ${PO_LANG}.po ${PO_LANG}.po.tmp ; \ - ${MSGATTRIB} --no-obsolete -o ${PO_LANG}.po.new ${PO_LANG}.po ; \ - ${MV} ${PO_LANG}.po.new ${PO_LANG}.po ; \ - ${RM} ${PO_LANG}.po.tmp ${DOC}.translate.xml ; \ - else \ - ${ECHO} "${PO_LANG}.po created, please check and correct the settings in the header" ; \ - ${MV} ${PO_LANG}.po.tmp ${PO_LANG}.po ; \ - ${POSET_CMD} ${.TARGET} ; \ - fi ) - -${PO_LANG}.mo: ${PO_LANG}.po - @${MSGFMT} -o ${.TARGET} ${.ALLSRC} - -tran ${DOC}.xml: ${DOC}.translate.xml ${PO_LANG}.mo - @if [ "${TRAN_DIR}" = "${EN_DIR}" ]; then \ - ${ECHO} "build translation in a non-English dir" ; \ - exit 1 ; \ - fi - ${ITSTOOL} -l ${PO_LANG} -m ${PO_LANG}.mo -o ${DOC}.xml ${DOC}.translate.xml -.endif +.include "${DOC_PREFIX}/share/mk/doc.translate.mk" # XHTML ------------------------------------------------------------- |