diff --git a/doc/Makefile.am b/doc/Makefile.am index 500e33af..a79d68cf 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,7 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = build sk cs ru +SUBDIRS = build @MANLANGDIRS@ +DIST_SUBDIRS = build cs ru sk dist_man_MANS = \ geticonset.1 \ diff --git a/doc/build/Translations.texi b/doc/build/Translations.texi index 427aec2c..b2faa437 100644 --- a/doc/build/Translations.texi +++ b/doc/build/Translations.texi @@ -448,6 +448,31 @@ You may find some information on working with @code{po} file in the @uref{https://www.gnu.org/software/gettext/manual/html_node/Editing.html,GNU gettext documentation}. +@c --------------------------------------------------------------------- Translate the Man Pages --- +@section Translate the Man Pages + +You may want to extend the translation to the documentation that is provided to users in the form +of Unix @i{man pages}. +The sources of the man pages are located in the @file{doc/} directory; +the translation should be placed in the directory @file{doc/@i{lang}/} with the same file name. + +The directory will also need a file @file{Makefile.am} which provides the list of man pages to be +included in the distribution package and to be installed. +You can probably get inspiration from an existing one from another language; +if you do not feel confident about it do not hesitate to ask on the project's mailing list +(@value{emailsupport}), either for help or to ask someone to make it for you. + +Please note that although most man pages sources are directly in man page format +(@emph{nroff}, the file extension being a number), a few of them are processed by a script +(those with the @file{.in} extension, like @file{wmaker.in}). +This is done because in some case we want the man page to reflect the actual compilation options. + +You may not want to bother with this hassle, in which case you can simply name your translation +file with the @file{.1} and remove the special @code{@@keyword@@} marks. +If you are sure you want to keep that processing but do not feel confident about hacking the +@file{Makefile.am} do not hesitate to ask on the project's mailing list (@value{emailsupport}). + + @c ------------------------------------------------------------------------- Checking the Result --- @section Checking the Result diff --git a/m4/wm_i18n.m4 b/m4/wm_i18n.m4 index eb742e6c..307481e3 100644 --- a/m4/wm_i18n.m4 +++ b/m4/wm_i18n.m4 @@ -70,6 +70,7 @@ AS_IF([test "x$LINGUAS" != "x"], wmaker_locales=" m4_esyscmd([ls po/ | sed -n '/po$/{s,.po,,;p}' | tr '\n' ' '])" wprefs_locales=" m4_esyscmd([ls WPrefs.app/po/ | sed -n '/po$/{s,.po,,;p}' | tr '\n' ' '])" util_locales=" m4_esyscmd([ls util/po/ | sed -n '/po$/{s,.po,,;p}' | tr '\n' ' '])" + man_locales=" m4_esyscmd([ls doc/ | grep '^[a-z][a-z]\(_[A-Z][A-Z]\)*$' | tr '\n' ' '])" # If the LINGUAS is specified as a simple '*', then we enable all the languages # we know. This is not standard, but it is useful is some cases @@ -80,7 +81,7 @@ AS_IF([test "x$LINGUAS" != "x"], for lang in $LINGUAS; do found=0 wm_missing="" - m4_foreach([REGION], [WINGs, wmaker, WPrefs, util], + m4_foreach([REGION], [WINGs, wmaker, WPrefs, util, man], [AS_IF([echo "$[]m4_tolower(REGION)[]_locales" | grep " $lang " > /dev/null], [m4_toupper(REGION)MOFILES="$[]m4_toupper(REGION)MOFILES $lang.mo" found=1], @@ -96,12 +97,17 @@ AS_IF([test "x$LINGUAS" != "x"], [AC_MSG_WARN([locale $lang is not supported in $wm_missing])]) ], [AC_MSG_WARN([locale $lang is not supported at all, ignoring])]) done + # + # Post-processing the names for the man pages because we are not expecting + # a "po" file but a directory name in this case + MANLANGDIRS="`echo $MANMOFILES | sed -e 's,\.mo,,g' `" ], [INTLIBS="" WINGSMOFILES="" WMAKERMOFILES="" WPREFSMOFILES="" UTILMOFILES="" + MANLANGDIRS="" supported_locales=" disabled"]) dnl dnl The variables that are used in the Makefiles: @@ -110,6 +116,7 @@ AC_SUBST([WINGSMOFILES])dnl AC_SUBST([WMAKERMOFILES])dnl AC_SUBST([WPREFSMOFILES])dnl AC_SUBST([UTILMOFILES])dnl +AC_SUBST([MANLANGDIRS])dnl ])