speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No subject


From: bogus
Subject: No subject
Date: Mon, 28 Jun 2010 07:45:32 -0000

po/POTFILES.in.

Documentation for translators is in README.translators.

The INSTALL file is updated with intltool reference.
---
 INSTALL            |    2 +-
 Makefile.am        |    2 +-
 README.translators |   88 +++++++++++++++++++++
 configure.in       |   17 ++++-
 po/LINGUAS         |    1 +
 po/Makefile.in.in  |  217 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 324 insertions(+), 3 deletions(-)
 create mode 100644 README.translators
 create mode 100644 po/LINGUAS
 create mode 100644 po/Makefile.in.in
 create mode 100644 po/POTFILES.in

diff --git a/INSTALL b/INSTALL
index 5f89a6b..5a7d174 100644
--- a/INSTALL
+++ b/INSTALL
@@ -17,6 +17,7 @@ We recommend to also install these packages:
  - PulseAudio (http://www.pulseaudio.org)
  - Festival (http://www.cstr.ed.ac.uk/projects/festival/)
  - Espeak (http://espeak.sourceforge.net/)
+ - Intltool 0.40.0+ (http://freedesktop.org/wiki/Software/intltool) for 
internationalization support.
 
 These packages are known to work with Speech Dispatcher:
  Software synthesizers:
@@ -238,4 +239,3 @@ Now the configure file should be created and you can 
proceed like with
 an ordinary instalation.
 
 
-    
diff --git a/Makefile.am b/Makefile.am
index 5353ce9..b7e507b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS= src config doc
+SUBDIRS= src config doc po
 
 EXTRA_DIST= ChangeLog NEWS TODO AUTHORS COPYING INSTALL README intl/*.c 
intl/*.h build.sh version.sh
 
diff --git a/README.translators b/README.translators
new file mode 100644
index 0000000..5e5269d
--- /dev/null
+++ b/README.translators
@@ -0,0 +1,88 @@
+This file contains instructions for translators to translate Speech Dispatcher
+interface to their languages.  Speech Dispatcher uses intltool[1] for its
+internationalization support.
+Intltool is a superset of gettext[2] so any
+translator used to gettext .po files can translate Speech Dispatcher
+the same way.
+If you're not familiar with gettext po files we recommend that you read the
+Gettext manual[2] before continuing. 
+
+== Requirements ==
+
+To translate Speech Dispatcher you need a git clone of speech dispatcher.
+If you are not reading this file from a git checkout
+please check the `INSTALL` file for detailed
+instructions.  You will also need intltool and gettext packages installed, as
+recommended on the `InSTALL` file.
+
+== Adding a new Language ==
+
+If your locale is not already supported by Speech Dispatcher you must create a
+new <locale>.po file and translate all contained messages. The following steps
+explain the process. 
+
+1. ON your Speech Dispatcher source directory change to the po directory.
+
+2. Create a pot template for Speech Dispatcher running:
+$ intltool-update -p
+This will create a file called Speech Dispatcher.pot with all translatable
+Speech Dispatcher messages. 
+
+3. Create the po template for the current system locale from Speech
+Dispatcher.pot running
+$ msginit
+And follow the prompts.  If you want to create
+a translation for a different locale please run
+$ msginit -l <locale>
+where <locale> is the locale's name.  This will create a <locale>.po file.
+msginit will fill in the po template header for you from your
+environment but we recommend to
+double-check that information.
+
+You may also copy the Speech Dispatcher.pot file to <locale>.po and fill in the
+header information yourself. 
+
+At this stage you can remove the Speech-Dispatcher.pot file since it is not
+needed anymore. 
+
+4. Open the file `LINGUAS` and add your locale name there.
+Please put one locale on each line and keep the file alphabetically sorted.
+
+5. Translate  all messages in <locale>.po and run make.  If you found errors
+reported by msgfmt about your <locale>.po file please correct them before
+continuing. 
+
+6. When you're done see the section about testing bellow. 
+
+== Updating an existing Translation == 
+
+When there are new Speech Dispatcher messages for translation or some messages
+are changed, you need to update your <locale.>.po file. 
+
+To update an existing po file wit new messages please run
+$ intltool-update <locale>
+Where <locale> is the locale po file to update.
+
+Then you can translate new messages and, if needed, update the ones gettext
+guessed wrong when updating the po file. 
+
+== Testing your Translation ==
+
+To confirm that your translation works, please install Speech Dispatcher with
+your translation included
+and test it with your system configured for your locale.
+
+We recommend you test with spd-say and spd-conf,
+since those are the tools with more translatable content.
+
+== Sending your Translation to Speech Dispatcher ==
+
+When you think your translation is ready
+to be included in Speech Dispatcher send the po file
+to our development mailling-list at
+speechd at lists.freebsoft.org 
+
+== References == 
+
+[1] Intltool: http://freedesktop.org/wiki/Software/intltool
+[2] Gettext Manual: http://www.gnu.org/software/gettext/manual/gettext.html
diff --git a/configure.in b/configure.in
index 1bd7cd9..392d6bd 100644
--- a/configure.in
+++ b/configure.in
@@ -2,6 +2,8 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(configure.in)
 
+
+
 AC_LANG(C)
 
 dnl progs
@@ -18,6 +20,15 @@ AC_ARG_ENABLE([python],
        [],
        [enable_python=check])
 
+#
+# Setup GETTEXT
+#
+GETTEXT_PACKAGE=speech-dispatcher
+AC_SUBST(GETTEXT_PACKAGE)
+AM_GLIB_GNU_GETTEXT
+IT_PROG_INTLTOOL([0.40.0])
+
+
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS(limits.h sys/ioctl.h sys/time.h unistd.h)
@@ -399,5 +410,9 @@ AC_SUBST(ERROR_CFLAGS)
 AC_SUBST(RPATH)
 AC_SUBST(RDYNAMIC)
 
-AC_OUTPUT([Makefile src/Makefile src/server/Makefile src/modules/Makefile 
src/c/Makefile src/c/api/Makefile src/c/clients/Makefile 
src/c/clients/say/Makefile src/c/clients/spdsend/Makefile src/tests/Makefile 
src/audio/Makefile src/audio/static_plugins.c config/Makefile 
config/modules/Makefile config/clients/Makefile doc/Makefile 
src/python/Makefile src/python/speechd/Makefile 
src/python/speechd_config/Makefile])
+# Path of installed localization files:
+localedir=${datadir}/locale
+AC_SUBST(localedir)
+
+AC_OUTPUT([Makefile src/Makefile src/server/Makefile src/modules/Makefile 
src/c/Makefile src/c/api/Makefile src/c/clients/Makefile 
src/c/clients/say/Makefile src/c/clients/spdsend/Makefile src/tests/Makefile 
src/audio/Makefile src/audio/static_plugins.c config/Makefile 
config/modules/Makefile config/clients/Makefile doc/Makefile 
src/python/Makefile src/python/speechd/Makefile 
src/python/speechd_config/Makefile po/Makefile.in])
 
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..16ff432
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1 @@
+# Keep this file sorted, one language per line.
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 0000000..cc8a222
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,217 @@
+# Makefile for program source directory in GNU NLS utilities package.
+# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper at gnu.ai.mit.edu>
+# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns at gmail.com>
+#
+# This file may be copied and used freely without restrictions.  It may
+# be used in projects which are not available under a GNU Public License,
+# but which still want to provide support for the GNU gettext functionality.
+#
+# - Modified by Owen Taylor <otaylor at redhat.com> to use GETTEXT_PACKAGE
+#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
+#
+# - Modified by jacob berkman <jacob at ximian.com> to install
+#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+#
+# - Modified by Rodney Dawes <dobey.pwns at gmail.com> for use with intltool
+#
+# We have the following line for use by intltoolize:
+# INTLTOOL_MAKEFILE
+
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
+datarootdir = @datarootdir@
+libdir = @libdir@
+DATADIRNAME = @DATADIRNAME@
+itlocaledir = $(prefix)/$(DATADIRNAME)/locale
+subdir = po
+install_sh = @install_sh@
+# Automake >= 1.8 provides @mkdir_p at .
+# Until it can be supposed, use the safe fallback:
+mkdir_p = $(install_sh) -d
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) 
$(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
+GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) 
$(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
+
+ALL_LINGUAS = @ALL_LINGUAS@
+
+PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" 
$(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
+
+USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; 
ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep 
\^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' 
'\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi)
+
+USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then 
LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then 
LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in 
$$LLINGUAS; do printf "$$lang "; done)
+
+POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf 
"$$lang.po "; done)
+
+DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
+EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
+
+POTFILES = \
+# This comment gets stripped out
+
+CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf 
"$$lang.gmo "; done)
+
+.SUFFIXES:
+.SUFFIXES: .po .pox .gmo .mo .msg .cat
+
+.po.pox:
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
+
+.po.mo:
+       $(MSGFMT) -o $@ $<
+
+.po.gmo:
+       file=`echo $* | sed 's,.*/,,'`.gmo \
+         && rm -f $$file && $(GMSGFMT) -o $$file $<
+
+.po.cat:
+       sed -f ../intl/po2msg.sed < $< > $*.msg \
+         && rm -f $@ && gencat $@ $*.msg
+
+
+all: all- at USE_NLS@
+
+all-yes: $(CATALOGS)
+all-no:
+
+$(GETTEXT_PACKAGE).pot: $(POTFILES)
+       $(GENPOT)
+
+install: install-data
+install-data: install-data- at USE_NLS@
+install-data-no: all
+install-data-yes: all
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $$dir; \
+         if test -r $$lang.gmo; then \
+           $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
+         else \
+           $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $(srcdir)/$$lang.gmo as" \
+                "$$dir/$(GETTEXT_PACKAGE).mo"; \
+         fi; \
+         if test -r $$lang.gmo.m; then \
+           $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
+           echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
+         else \
+           if test -r $(srcdir)/$$lang.gmo.m ; then \
+             $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
+               $$dir/$(GETTEXT_PACKAGE).mo.m; \
+             echo "installing $(srcdir)/$$lang.gmo.m as" \
+                  "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
+           else \
+             true; \
+           fi; \
+         fi; \
+       done
+
+# Empty stubs to satisfy archaic automake needs
+dvi info ctags tags CTAGS TAGS ID:
+
+# Define this as empty until I found a useful application.
+install-exec installcheck:
+
+uninstall:
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         rm -f 
$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+         rm -f 
$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+       done
+
+check: all $(GETTEXT_PACKAGE).pot
+       rm -f missing notexist
+       srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+       if [ -r missing -o -r notexist ]; then \
+         exit 1; \
+       fi
+
+mostlyclean:
+       rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
+       rm -f .intltool-merge-cache
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES stamp-it
+       rm -f *.mo *.msg *.cat *.cat.m *.gmo
+
+maintainer-clean: distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f Makefile.in.in
+
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       extra_dists="$(EXTRA_DISTFILES)"; \
+       for file in $$extra_dists; do \
+         test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
+       done; \
+       for file in $$dists; do \
+         test -f $$file || file="$(srcdir)/$$file"; \
+         ln $$file $(distdir) 2> /dev/null \
+           || cp -p $$file $(distdir); \
+       done
+
+update-po: Makefile
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       tmpdir=`pwd`; \
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         echo "$$lang:"; \
+         result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
+         if $$result; then \
+           if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; 
then \
+             rm -f $$tmpdir/$$lang.new.po; \
+            else \
+             if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+               :; \
+             else \
+               echo "msgmerge for $$lang.po failed: cannot move 
$$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+               rm -f $$tmpdir/$$lang.new.po; \
+               exit 1; \
+             fi; \
+           fi; \
+         else \
+           echo "msgmerge for $$lang.gmo failed!"; \
+           rm -f $$tmpdir/$$lang.new.po; \
+         fi; \
+       done
+
+Makefile POTFILES: stamp-it
+       @if test ! -f $@; then \
+         rm -f stamp-it; \
+         $(MAKE) stamp-it; \
+       fi
+
+stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
+              $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..e69de29
-- 
1.7.0.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]