AppController.h AppController.m BUGS BUGS BUGS BUGS BUGS BUGS ChangeLog Doxyfile.am Doxyfile.global FAQ.html GNU_Gettext.html GNU_Gettext_GettextResourceManager.html GNU_Gettext_GettextResourceSet.html GNUmakefile GNUmakefile GettextResource.html Hello.h Hello.java Hello.java Hello.java Hello.java Hello.m INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LINGUAS LocaleAliases Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.am Makefile.common Makevars Makevars Makevars Makevars Makevars Makevars Makevars Makevars POTFILES.in POTFILES.in POTFILES.in POTFILES.in POTFILES.in POTFILES.in POTFILES.in POTFILES.in README README README Test15.class Test15.java TestAWT.class TestAWT.class TestAWT.java TestAWT.java acinclude.m4.in af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po af.po allclasses-frame.html am_edit ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po ast.po autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autoclean.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autogen.sh autopoint.1.html autosprintf_all.html begin.html bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bg.po bind_textdomain_codeset.3.html bindtextdomain.3.html ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po ca.po compile conf.change.pl config.guess config.pl config.sub configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.ac configure.in.bot.end configure.in.in configure.in.min cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po cs.po csharpcomp.m4 csharpcomp.sh.in csharpexec-test.exe csharpexec.m4 csharpexec.sh.in cvs-clean.pl cvs.sh da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po da.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po de.po debianrules depcomp deprecated-list.html detect-autoconf.sh el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po el.po envsubst.1.html eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po eo.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po es.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fi.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po fr.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po ga.po gettext.1.html gettext.3.html gettext_1.html gettext_10.html gettext_11.html gettext_12.html gettext_13.html gettext_14.html gettext_15.html gettext_16.html gettext_17.html gettext_18.html gettext_19.html gettext_2.html gettext_20.html gettext_21.html gettext_22.html gettext_23.html gettext_24.html gettext_25.html gettext_26.html gettext_27.html gettext_28.html gettext_29.html gettext_3.html gettext_30.html gettext_4.html gettext_5.html gettext_6.html gettext_7.html gettext_8.html gettext_9.html gettext_abt.html gettext_fot.html gettext_toc.html gettextize.1.html gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gl.po gnome-gnorba-check.m4 gnome-gnorba-check.m4 gnome-gnorba-check.m4 gnome-orbit-check.m4 gnome-orbit-check.m4 gnome-orbit-check.m4 gnome.m4 gnome.m4 gnome.m4 gtk--.m4 gtk.m4 hello-1.pl.in hello-2.pl.in hello.awk hello.c hello.c hello.c hello.cc hello.cc hello.cc hello.cc hello.cc hello.cs hello.cs hello.desktop.in.in hello.gresource.xml hello.gschema.xml hello.jl.in hello.lisp.in hello.m hello.m hello.pas hello.php hello.py.in hello.scm hello.sh hello.st.in hello.tcl hello.tcl hello.ui hello.ycp hellowindow.cc hellowindow.h help-doc.html hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hr.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po hu.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po id.po index-all.html index.html index.html install-sh installpaths it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po it.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po ja.po javacomp.m4 javacomp.sh.in javaexec.m4 javaexec.sh.in ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po ky.po libtool.m4.in ltmain.sh lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po lv.po main.m missing mkinstalldirs ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po ms.po msgattrib.1.html msgcat.1.html msgcmp.1.html msgcomm.1.html msgconv.1.html msgen.1.html msgexec.1.html msgfilter.1.html msgfmt.1.html msggrep.1.html msginit.1.html msgmerge.1.html msgunfmt.1.html msguniq.1.html mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po mt.po namespaces.html nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po nb.po ngettext.1.html ngettext.3.html nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nl.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po nn.po overview-tree.html package-frame.html package-list package-summary.html package-tree.html packages.html pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pl.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po pt_BR.po qt.m4 recode-sr-latin.1.html ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ro.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po ru.po serialized-form.html sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sk.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sl.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sq.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po sr.po stylesheet.css sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po sv.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po ta.po textdomain.3.html tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tr.po tutorial.html uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po uk.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po vi.po wxwidgets.m4 xgettext.1.html ylwrap zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_CN.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_HK.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po zh_TW.po

Makefile.am

# Example for use of GNU gettext.
# This file is in the public domain.
#
# Makefile configuration - processed by automake.

# List of files which contain translatable strings.
POTFILES = \
  hello.py.in

# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)

# These options get passed to xgettext.
XGETTEXT_OPTIONS =

# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
# package.  (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.)  Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright.  The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = Yoyodyne, Inc.

# This tells whether or not to prepend "GNU " prefix to the package
# name that gets inserted into the header of the $(DOMAIN).pot file.
# Possible values are "yes", "no", or empty.  If it is empty, try to
# detect it automatically by scanning the files in $(top_srcdir) for
# "GNU packagename" string.
PACKAGE_GNU = no

# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
#   in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
#   understood.
# - Strings which make invalid assumptions about notation of date, time or
#   money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = bug-gettext@gnu.org

# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used.  It is usually empty.
EXTRA_LOCALE_CATEGORIES =

# These options get passed to msgmerge.
# Useful options are in particular:
#   --previous            to keep previous msgids of translated messages,
#   --quiet               to reduce the verbosity.
MSGMERGE_OPTIONS = --quiet

# These options get passed to msginit.
# If you want to disable line wrapping when writing PO files, add
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
# MSGINIT_OPTIONS.
MSGINIT_OPTIONS =

MSGMERGE = @MSGMERGE@
MSGMERGE_UPDATE = @MSGMERGE@ --update
MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
MSGINIT = msginit
MSGCONV = msgconv
MSGFILTER = msgfilter

# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
POTFILES_DEPS = @POTFILES_DEPS@

# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
POFILES = @POFILES@
# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo)
GMOFILES = @GMOFILES@
# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update)
UPDATEPOFILES = @UPDATEPOFILES@
# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop)
DUMMYPOFILES = @DUMMYPOFILES@

# This is computed as
# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo)
CATALOGS = @CATALOGS@

SUFFIXES = .po .gmo .sed .sin .nop .po-create .po-update

# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
# The GNU Coding Standards say in
# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>:
#   "GNU distributions usually contain some files which are not source files
#    ... . Since these files normally appear in the source directory, they
#    should always appear in the source directory, not in the build directory.
#    So Makefile rules to update them should put the updated files in the
#    source directory."
# Therefore we put these files in the source directory, not the build directory.

# During .po -> .gmo conversion, take into account the most recent changes to
# the .pot file. This eliminates the need to update the .po files when the
# .pot file has changed, which would be troublesome if the .po files are put
# under version control.
$(GMOFILES): $(srcdir)/$(DOMAIN).pot
.po.gmo:
	@lang=`echo $* | sed -e 's,.*/,,'`; \
	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
	echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
	cd $(srcdir) && \
	rm -f $${lang}.gmo && \
	$(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \
	$(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \
	mv t-$${lang}.gmo $${lang}.gmo && \
	rm -f $${lang}.1po

.sin.sed:
	sed -e '/^#/d' $< > t-$@
	mv t-$@ $@


all-local: all-local-@USE_NLS@

all-local-yes: $(srcdir)/stamp-po
all-local-no:

# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
# we don't want to bother translators with empty POT files). We assume that
# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).

# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS
# have been loosely updated. Its purpose is that when a developer or translator
# checks out the package from a version control system, and the $(DOMAIN).pot
# file is not under version control, "make" will update the $(DOMAIN).pot and
# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This
# timestamp would not be necessary if updating the $(CATALOGS) would always
# touch them; however, the rule for $(POFILES) has been designed to not touch
# files that don't need to be changed.
$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
	test ! -f $(srcdir)/$(DOMAIN).pot || \
	  test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
	@test ! -f $(srcdir)/$(DOMAIN).pot || { \
	  echo "touch $(srcdir)/stamp-po" && \
	  echo timestamp > $(srcdir)/stamp-poT && \
	  mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \
	}

# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
# otherwise packages like GCC can not be built if only parts of the source
# have been downloaded.

# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
# The determination of whether the package xyz is a GNU one is based on the
# heuristic whether some file in the top level directory mentions "GNU xyz".
# If GNU 'find' is available, we avoid grepping through monster files.
$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed
	package_gnu="$(PACKAGE_GNU)"; \
	test -n "$$package_gnu" || { \
	  if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
	         LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU $(PACKAGE)' /dev/null '{}' ';' 2>/dev/null; \
	       else \
	         LC_ALL=C grep -i 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null; \
	       fi; \
	     } | grep -v 'libtool:' >/dev/null; then \
	     package_gnu=yes; \
	   else \
	     package_gnu=no; \
	   fi; \
	}; \
	if test "$$package_gnu" = "yes"; then \
	  package_prefix='GNU '; \
	else \
	  package_prefix=''; \
	fi; \
	if test -n '$(MSGID_BUGS_ADDRESS)'; then \
	  msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
	else \
	  msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
	fi; \
	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
	      --add-comments=TRANSLATORS: \
	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
	      --msgid-bugs-address="$$msgid_bugs_address" \
	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
	      $(POTFILES) \
	    ;; \
	  *) \
	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
	      --add-comments=TRANSLATORS: \
	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
	      --package-name="$${package_prefix}$(PACKAGE)" \
	      --package-version='$(VERSION)' \
	      --msgid-bugs-address="$$msgid_bugs_address" \
	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
	      $(POTFILES) \
	    ;; \
	esac
	test ! -f $(DOMAIN).po || { \
	  if test -f $(srcdir)/$(DOMAIN).pot-header; then \
	    sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
	    cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \
	    rm -f $(DOMAIN).1po \
	    || exit 1; \
	  fi; \
	  if test -f $(srcdir)/$(DOMAIN).pot; then \
	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
	    sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
	    if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
	    else \
	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
	      mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
	    fi; \
	  else \
	    mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
	  fi; \
	}

# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
# every "make" invocation, only create it when it is missing.
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
$(srcdir)/$(DOMAIN).pot:
	$(MAKE) $(DOMAIN).pot-update

# This target rebuilds a PO file if $(DOMAIN).pot has changed.
# Note that a PO file is not touched if it doesn't need to be changed.
$(POFILES): $(srcdir)/$(DOMAIN).pot
	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
	if test -f "$(srcdir)/$${lang}.po"; then \
	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
	  cd $(srcdir) \
	    && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
	           0.1[6-7] | 0.1[6-7].*) \
	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
	           *) \
	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
	         esac; \
	       }; \
	else \
	  $(MAKE) $${lang}.po-create; \
	fi


install-data-local: install-data-local-@USE_NLS@
install-data-local-no: all-local
install-data-local-yes: all-local
	@catalogs='$(CATALOGS)'; \
	for cat in $$catalogs; do \
	  cat=`basename $$cat`; \
	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
	  dir=$(localedir)/$$lang/LC_MESSAGES; \
	  $(MKDIR_P) $(DESTDIR)$$dir; \
	  if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
	  $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
	  echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
	    if test -n "$$lc"; then \
	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
	         for file in *; do \
	           if test -f $$file; then \
	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
	           fi; \
	         done); \
	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
	      else \
	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
	          :; \
	        else \
	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
	        fi; \
	      fi; \
	      rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
	    fi; \
	  done; \
	done

installdirs-local: installdirs-local-@USE_NLS@
installdirs-local-no:
installdirs-local-yes:
	@catalogs='$(CATALOGS)'; \
	for cat in $$catalogs; do \
	  cat=`basename $$cat`; \
	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
	  dir=$(localedir)/$$lang/LC_MESSAGES; \
	  $(MKDIR_P) $(DESTDIR)$$dir; \
	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
	    if test -n "$$lc"; then \
	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
	         for file in *; do \
	           if test -f $$file; then \
	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
	           fi; \
	         done); \
	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
	      else \
	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
	          :; \
	        else \
	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
	        fi; \
	      fi; \
	    fi; \
	  done; \
	done

uninstall-local: uninstall-local-@USE_NLS@
uninstall-local-no:
uninstall-local-yes:
	catalogs='$(CATALOGS)'; \
	for cat in $$catalogs; do \
	  cat=`basename $$cat`; \
	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
	  for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
	    rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
	  done; \
	done

html ID:

MOSTLYCLEANFILES =
MOSTLYCLEANFILES += remove-potcdate.sed
MOSTLYCLEANFILES += stamp-poT
MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
MOSTLYCLEANFILES += *.o

MAINTAINERCLEANFILES = $(DOMAIN).pot stamp-po $(GMOFILES)

EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES)

# Hidden from automake, but really activated. Works around an automake-1.5 bug.
#distdir: distdir1
distdir1:
	$(MAKE) update-po
	$(MAKE) $(srcdir)/stamp-po
	@if test -f $(srcdir)/$(DOMAIN).pot; then \
	  for file in $(DOMAIN).pot stamp-po; do \
	    if test -f $$file; then d=.; else d=$(srcdir); fi; \
	    cp -p $$d/$$file $(distdir)/$$file || exit 1; \
	  done; \
	else \
	  case $(XGETTEXT) in \
	    :) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because a suitable 'xgettext' program was not found in PATH." 1>&2;; \
	    *) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because 'xgettext' found no strings to extract. Check the POTFILES and the XGETTEXT_OPTIONS in the Makefile.am file." 1>&2;; \
	  esac; \
	fi

update-po: Makefile
	$(MAKE) $(DOMAIN).pot-update
	test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
	$(MAKE) update-gmo

# General rule for creating PO files.

.nop.po-create:
	@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
	echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
	exit 1

# General rule for updating PO files.

.nop.po-update:
	@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
	tmpdir=`pwd`; \
	echo "$$lang:"; \
	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
	cd $(srcdir); \
	if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
	         $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
	       0.1[6-7] | 0.1[6-7].*) \
	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
	       *) \
	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
	     esac; \
	   }; then \
	  if cmp $$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; \
	      exit 1; \
	    fi; \
	  fi; \
	else \
	  echo "msgmerge for $$lang.po failed!" 1>&2; \
	  rm -f $$tmpdir/$$lang.new.po; \
	fi

$(DUMMYPOFILES):

update-gmo: Makefile $(GMOFILES)
	@: