[MPlayer-dev-eng] [PATCH] latest version of translated manpage installation

Andreas Hess jaska at gmx.net
Thu Feb 20 23:52:47 CET 2003


Hi,

hopefully someone applies this patch, even so Gabucino has some objections,
because the default behaviour doesn't install all manpages.


Latest version has the following features:

 - --language=ab,cd,ef and --language="ab cd ef" are supported, the list
   is now used as a fallback for possible message/gui translations
 - --language=all is supported
 - --language=ab,cd,ef,all and --language="ab cd ef all" are supported
   for all man pages, but different message/gui translations than en
 - $LINGUAS is honored
 - if no --language or $LINGUAS is given it defaults to en


Credits for ideas go out to (in no particular order):

Tobias Diedrich
Sylvain Petreolle
Dan Christiansen
Dominik Mierzejewski
Andriy N. Gritsenko

and everyone I've forgotten
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /cvsroot/mplayer/main/Makefile,v
retrieving revision 1.256
diff -u -r1.256 Makefile
--- Makefile	19 Feb 2003 17:26:59 -0000	1.256
+++ Makefile	20 Feb 2003 22:38:21 -0000
@@ -246,26 +246,23 @@
 	-ln -sf $(PRG) $(BINDIR)/gmplayer
 endif
 	if test ! -d $(MANDIR)/man1 ; then mkdir -p $(MANDIR)/man1; fi
-	$(INSTALL) -c -m 644 DOCS/en/mplayer.1 $(MANDIR)/man1/mplayer.1
-	@if [ -n "$(LANGUAGES)" ]; then \
-	    for i in $(LANGUAGES); do \
-		if [ -f DOCS/$$i/mplayer.1 ]; then \
-		    echo "Installing manual for language $$i" ; \
-		    mkdir -p $(MANDIR)/$$i/man1 ; \
-		    $(INSTALL) -c -m 644 DOCS/$$i/mplayer.1 $(MANDIR)/$$i/man1/mplayer.1 ; \
+	for i in $(LANGUAGES); do \
+		if test "$$i" = en ; then \
+			$(INSTALL) -c -m 644 DOCS/en/mplayer.1 $(MANDIR)/man1/mplayer.1 ; \
+		else \
+			mkdir -p $(MANDIR)/$$i/man1 ; \
+			$(INSTALL) -c -m 644 DOCS/$$i/mplayer.1 $(MANDIR)/$$i/man1/mplayer.1 ; \
 		fi ; \
-	    done ; \
-	fi
+	done
 ifeq ($(MENCODER),yes)
 	$(INSTALL) -m 755 $(INSTALLSTRIP) $(PRG_MENCODER) $(BINDIR)/$(PRG_MENCODER)
-	ln -sf mplayer.1 $(MANDIR)/man1/mencoder.1
-	@if [ -n "$(LANGUAGES)" ]; then \
-	    for i in $(LANGUAGES); do \
-		if [ -f DOCS/$$i/mplayer.1 ]; then \
-		    ln -sf mplayer.1 $(MANDIR)/$$i/man1/mencoder.1 ; \
+	for i in $(LANGUAGES); do \
+		if test "$$i" = en ; then \
+			ln -sf mplayer.1 $(MANDIR)/man1/mencoder.1 ; \
+		else \
+			ln -sf mplayer.1 $(MANDIR)/$$i/man1/mencoder.1 ; \
 		fi ; \
-	    done ; \
-	fi
+	done
 endif
 	@if test ! -d $(DATADIR) ; then mkdir -p $(DATADIR) ; fi
 	@if test ! -d $(DATADIR)/font ; then mkdir -p $(DATADIR)/font ; fi
Index: configure
===================================================================
RCS file: /cvsroot/mplayer/main/configure,v
retrieving revision 1.668
diff -u -r1.668 configure
--- configure	19 Feb 2003 17:26:59 -0000	1.668
+++ configure	20 Feb 2003 22:38:26 -0000
@@ -235,8 +235,12 @@
   --target=PLATFORM      target platform (i386-linux, arm-linux, etc)
   --enable-static        build a statically linked binary. Set further linking
                          options with --enable-static="-lslang -lncurses"
-  --language=xx          select a language (for translated messages/gui) [en]
-                         (Available: $LANGUAGES)
+  --language=list        a white space or comma separated list of languages
+                         for translated man pages, the first language is the
+                         primary and therefore used for translated messages
+                         and GUI (also the environment variable \$LINGUAS is
+                         honored) [en]
+                         (Available: $LANGUAGES all)
   --enable-shared-pp     install & use shared postprocessing lib
   --install-path=PATH    the path to a custom install program (useful if
                          your OS uses a GNU-incompatible install utility by
@@ -294,10 +298,6 @@
 done # for parm in ...
 
 
-# set up LANGUAGES
-test "$LINGUAS" || LINGUAS=`cd DOCS;/bin/ls -d ??` 2>/dev/null
-LANGUAGES=`echo $LINGUAS | sed 's/en//g' | sed 's/^ *//'`
-
 # 1st pass checking for vital options
 _install=install
 _ranlib=ranlib
@@ -1045,7 +1045,7 @@
 _zr=auto
 _bl=no
 _largefiles=no
-_language=en
+#_language=en
 _shm=auto
 _linux_devfs=no
 _i18n=auto
@@ -1269,7 +1269,7 @@
   --disable-sortsub) _sortsub=no ;;
 
   --language=*)
-    LINGUAS=`echo $ac_option | cut -d '=' -f 2`
+    _language=`echo $ac_option | cut -d '=' -f 2`
     ;;
   --with-libdvdnav=*)
     _dvdnavdir=`echo $ac_option | cut -d '=' -f 2`
@@ -1585,7 +1585,6 @@
 fi
 if test "$_i18n" = yes ; then
   _def_i18n='#define USE_I18N 1'
-#  LINGUAS='en' # force help_mp-en.h
 else
   _def_i18n='#undef USE_I18N'
 fi
@@ -1617,14 +1616,30 @@
 
 
 echocheck "language"
-test -z "$LINGUAS" && LINGUAS="en"
-if test -f "help/help_mp-${LINGUAS}.h" ; then
-  echores "using ${LINGUAS}"
-else
-  echores "${LINGUAS} not found, using en"
-  LINGUAS="en"
-fi
-_mp_help="help/help_mp-${LINGUAS}.h"
+test -z "$_language" && _language=$LINGUAS
+_language=`echo $_language | sed 's/,/ /g'`
+echo $_language | grep all > /dev/null || LANGUAGES=$_language
+for i in $_language ; do
+  test "$i" = all && i=en
+  if test -f "help/help_mp-${i}.h" ; then
+    _language=$i
+    break
+  else
+    echo -n "$i not found, "
+    _language=`echo $_language | sed "s/$i *//g"`
+  fi
+done
+test -z "$_language" && _language=en
+for i in $LANGUAGES ; do
+  if test -f "DOCS/$i/mplayer.1" ; then
+    LANGUAGES=`echo $LANGUAGES | sed "s/$i *//2" | sed 's/ *$//'`
+  else
+    LANGUAGES=`echo $LANGUAGES | sed "s/$i *//g" | sed 's/ *$//'`
+  fi
+done
+test -z "$LANGUAGES" && LANGUAGES=en
+echores "using $_language (man pages: $LANGUAGES)"
+_mp_help="help/help_mp-${_language}.h"
 test -f $_mp_help || die "$_mp_help not found"
 
 echocheck "enable sighandler"
@@ -4871,7 +4886,6 @@
 # -------- Generated by configure -----------
 
 LANG = C
-LINGUAS = $LINGUAS
 LANGUAGES = $LANGUAGES
 TARGET_OS = $system_name
 DESTDIR =
@@ -5525,7 +5539,17 @@
 
   Byte order: $_byte_order
   Optimizing for: $_optimizing
+
+  Languages:
+    Messages/GUI: $_language
+EOF
+
+echo -n "    Manual pages: $LANGUAGES"
+test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
+echo
   
+cat << EOF
+
   Enabled optional drivers:
     Input: $_inputmodules
     Codecs: $_codecmodules


More information about the MPlayer-dev-eng mailing list