=== modified file 'configure.in' --- configure.in 2008-07-11 19:32:10 +0000 +++ configure.in 2008-07-23 11:33:48 +0000 @@ -3694,6 +3694,23 @@ fi fi +dnl Squid now has limited locale handling ... +DO_TRANSLATE="yes" +AC_ARG_WITH(po2html, +[ --without-po2html Translation toolkit is required to auto-build translated + error pages. If it is not present this option can be used + to run the 'make dist' target without translating. + A drop-in bundle of pre-translated files is available from + http://www.squid-cache.org/Versions/v3/HEAD/ +], +[ if test "$enableval" != "yes" ; then + echo "Disabling Translation Toolkit dependency" + DO_TRANSLATE="no" + fi +]) +AC_SUBST(DO_TRANSLATE) + + dnl Need the debugging version of malloc if available XTRA_OBJS='' if test "$ac_cv_lib_malloc_main" = "yes" ; then === modified file 'errors/update-pot.sh' --- errors/update-pot.sh 2008-07-15 12:11:23 +0000 +++ errors/update-pot.sh 2008-07-23 11:33:48 +0000 @@ -1,4 +1,4 @@ -#/bin/sh +#!/bin/sh # # Update the core dictionary file from the basic templates # Useful if any template has altered. @@ -25,11 +25,12 @@ ) >dictionary.pot # Update all existing dictionaries with the new content ... -for f in `ls -1 ./*.po` ; do - -# NP: this does not yet fully work. Old dictionaries upgrading still needs a little work. - -# msgmerge --verbose -s --no-wrap -o ${f}.new ${f} dictionary.pot - - # TODO check that the merge actually removes translations which are now obsolete??? -done +#for f in `ls -1 ./*.po` ; do +# +# +## NP: this does not yet fully work. Old dictionaries upgrading still needs a little work. +# +## msgmerge --verbose -s --no-wrap -o ${f}.new ${f} dictionary.pot +# +# # TODO check that the merge actually removes translations which are now obsolete??? +#done === modified file 'errors/Makefile.am' --- errors/Makefile.am 2008-02-24 19:10:30 +0000 +++ errors/Makefile.am 2008-07-28 00:34:37 +0000 @@ -10,6 +10,12 @@ DEFAULT_ERROR_DIR = $(errordir) +# List of automated translations possible: +TRANSLATIONS = \ + en + +# Legacy language contributions... +# INSTALL_LANGUAGES = @ERR_LANGUAGES@ LANGUAGES = \ Armenian \ @@ -53,14 +59,30 @@ for f in $(srcdir)/$$l/ERR_*; do \ echo "$(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \ $(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \ - done \ + done; \ + done; \ + for l in $(TRANSLATIONS) templates; do \ + if test -d $(srcdir)/$$l; then \ + $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l && \ + for f in $(srcdir)/$$l/ERR_*; do \ + echo "$(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \ + $(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \ + done; \ + fi \ done uninstall-local: - @for l in $(INSTALL_LANGUAGES); do \ - for f in $(srcdir)/$$l/ERR_*; do \ - rm -f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l/`basename $$f`; \ - done \ + @ for l in $(INSTALL_LANGUAGES); do \ + for f in $(srcdir)/$$l/ERR_*; do \ + rm -f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l/`basename $$f`; \ + done; \ + done; \ + for l in $(TRANSLATIONS) templates; do \ + if test -d $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; then \ + for f in $(srcdir)/$$l/ERR_*; do \ + rm -f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l/`basename $$f`; \ + done; \ + fi \ done # undocumented hack. You can use this target to create multi-lingual @@ -70,6 +92,10 @@ # # by Andres Kroonmaa # +# UPDATE: this hack completely breaks HTML standards and with the addition +# of language translations is now largely obsolete. +# It will be removed without notice at some future date. +# addlang: all -@if test -d $(srcdir)/$(ADDLANG); then \ if test -d $(DEFAULT_ERROR_DIR)/$(DESTLANG); then \ @@ -85,7 +111,7 @@ fi dist-hook: - @ for lang in $(LANGUAGES); do \ + for lang in $(LANGUAGES); do \ if test "$$lang" = .; then :; else \ test -d $(distdir)/$$lang \ || mkdir $(distdir)/$$lang \ @@ -93,4 +119,28 @@ cp -p $(srcdir)/$$lang/ERR_* $(distdir)/$$lang \ || exit 1; \ fi; \ - done + done; \ + if test "$(DO_TRANSLATE)" = "yes" ; then \ + translate; \ + fi + +translate: + for lang in $(TRANSLATIONS); do \ + test -d $$lang || rm -r $$lang; \ + mkdir $$lang; \ + test -d $(distdir)/$$lang \ + || mkdir $(distdir)/$$lang \ + || exit 1; \ + cd $$lang; \ + for f in `ls -1 ../templates`; do \ + echo "po2html -i ../$$lang.po -t ../templates/$$f"; \ + po2html -i ../$$lang.po -t ../templates/$$f \ + | sed -r s/\>\ \ ?\\\n\$$f || exit 1; \ + done; \ + cd ..; \ + cp -p $(srcdir)/$$lang/ERR_* $(distdir)/$$lang \ + || exit 1; \ + done + +all: + translate