diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-07-30 10:47:14 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-07-30 10:47:14 +0200 |
commit | f3181db7c364e4f91d68fb987164402dc33f68ce (patch) | |
tree | b3af7e9de477006c2ba0fe623c95030f344ef3b3 /po | |
download | anastasis-gtk-f3181db7c364e4f91d68fb987164402dc33f68ce.tar.gz anastasis-gtk-f3181db7c364e4f91d68fb987164402dc33f68ce.tar.bz2 anastasis-gtk-f3181db7c364e4f91d68fb987164402dc33f68ce.zip |
folding history in preparation of GNU Anastasis-gtk v0.0.0 release
Diffstat (limited to 'po')
-rw-r--r-- | po/.gitignore | 3 | ||||
-rw-r--r-- | po/ChangeLog | 16 | ||||
-rw-r--r-- | po/LINGUAS | 1 | ||||
-rw-r--r-- | po/Makefile.in.in | 475 | ||||
-rw-r--r-- | po/Makevars | 41 | ||||
-rw-r--r-- | po/POTFILES.in | 45 | ||||
-rw-r--r-- | po/Rules-quot | 58 | ||||
-rw-r--r-- | po/anastasis-gtk.pot | 605 | ||||
-rw-r--r-- | po/boldquot.sed | 10 | ||||
-rw-r--r-- | po/de.po | 607 | ||||
-rw-r--r-- | po/en@boldquot.header | 25 | ||||
-rw-r--r-- | po/en@quot.header | 22 | ||||
-rw-r--r-- | po/insert-header.sin | 23 | ||||
-rw-r--r-- | po/quot.sed | 6 | ||||
-rw-r--r-- | po/remove-potcdate.sin | 19 | ||||
-rw-r--r-- | po/stamp-po | 1 |
16 files changed, 1957 insertions, 0 deletions
diff --git a/po/.gitignore b/po/.gitignore new file mode 100644 index 0000000..7c04dd6 --- /dev/null +++ b/po/.gitignore @@ -0,0 +1,3 @@ +POTFILES +Makevars.template +remove-potcdate.sed diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..9c69735 --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,16 @@ +2015-05-18 gettextize <bug-gnu-gettext@gnu.org> + + * Makefile.in.in: Upgrade to gettext-0.19.3. + * Rules-quot: Upgrade to gettext-0.19.3. + +2010-06-02 gettextize <bug-gnu-gettext@gnu.org> + + * Makefile.in.in: Upgrade to gettext-0.17. + * Rules-quot: New file, from gettext-0.17. + * boldquot.sed: New file, from gettext-0.17. + * en@boldquot.header: New file, from gettext-0.17. + * en@quot.header: New file, from gettext-0.17. + * insert-header.sin: New file, from gettext-0.17. + * quot.sed: New file, from gettext-0.17. + * remove-potcdate.sin: New file, from gettext-0.17. + diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..7673daa --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1 @@ +de diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..65184f6 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,475 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu> +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. +# +# Origin: gettext-0.19 +GETTEXT_MACRO_VERSION = 0.19 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SED = @SED@ +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot +POFILESDEPS_yes = $(POFILESDEPS_) +POFILESDEPS_no = +POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) + +DISTFILESDEPS_ = update-po +DISTFILESDEPS_yes = $(DISTFILESDEPS_) +DISTFILESDEPS_no = +DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(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, stamp-po is a nop (i.e. a phony target). + +# 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 via CVS, and the $(DOMAIN).pot file is not in CVS, +# "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. +stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT 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) $(srcdir)/POTFILES.in 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 'GNU @PACKAGE@' \ + /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep '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)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; 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: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_prefix}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + 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): $(POFILESDEPS) + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${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-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @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 + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-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 + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-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 + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +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 stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +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$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$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-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -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) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# 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/Makevars b/po/Makevars new file mode 100644 index 0000000..c1d8583 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# 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 = Anastasis SARL + +# 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-anastasis@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 = diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..0b2b38a --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,45 @@ +src/anastasis/anastasis-gtk_about.c +src/anastasis/anastasis-gtk_action.c +src/anastasis/anastasis-gtk_attributes.c +src/anastasis/anastasis-gtk_backup.c +src/anastasis/anastasis-gtk.c +src/anastasis/anastasis-gtk_dispatch.c +src/anastasis/anastasis-gtk_handle-auth-delete-button-clicked.c +src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c +src/anastasis/anastasis-gtk_handle-backup-button-clicked.c +src/anastasis/anastasis-gtk_handle-challenge-code.c +src/anastasis/anastasis-gtk_handle-challenge-question.c +src/anastasis/anastasis-gtk_handle-challenge-row-activated.c +src/anastasis/anastasis-gtk_handle-continent-selected.c +src/anastasis/anastasis-gtk_handle-core-secret-changed.c +src/anastasis/anastasis-gtk_handle-country-activated.c +src/anastasis/anastasis-gtk_handle-country-unselected.c +src/anastasis/anastasis-gtk_handle-currency-changed.c +src/anastasis/anastasis-gtk_handle-identity-changed.c +src/anastasis/anastasis-gtk_handle-main-window-back-clicked.c +src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c +src/anastasis/anastasis-gtk_handle-method-email.c +src/anastasis/anastasis-gtk_handle-method-post.c +src/anastasis/anastasis-gtk_handle-method-question.c +src/anastasis/anastasis-gtk_handle-method-sms.c +src/anastasis/anastasis-gtk_handle-method-video.c +src/anastasis/anastasis-gtk_handle-payqr-selection-changed.c +src/anastasis/anastasis-gtk_handle-policy-version-changed.c +src/anastasis/anastasis-gtk_handle-recovery-button-clicked.c +src/anastasis/anastasis-gtk_handle-secret-buttons.c +src/anastasis/anastasis-gtk_helper.c +src/anastasis/anastasis-gtk_io.c +src/anastasis/os_installation.c +contrib/anastasis_gtk_auth_add_email.glade +contrib/anastasis_gtk_auth_add_post.glade +contrib/anastasis_gtk_auth_add_question.glade +contrib/anastasis_gtk_auth_add_sms.glade +contrib/anastasis_gtk_auth_add_video.glade +contrib/anastasis_gtk_challenge_code.glade +contrib/anastasis_gtk_challenge_question.glade +contrib/anastasis_gtk_edit_providers.glade +contrib/anastasis_gtk_main_window.glade +contrib/anastasis_gtk_open_file_dialog.glade +contrib/anastasis_gtk_open_secret_dialog.glade +contrib/anastasis_gtk_save_file_dialog.glade +contrib/anastasis_gtk_save_secret_dialog.glade diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 0000000..9dc9630 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,58 @@ +# This file, Rules-quot, can be copied and used freely without restrictions. +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ + | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ + $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ + $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; 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 "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/anastasis-gtk.pot b/po/anastasis-gtk.pot new file mode 100644 index 0000000..7d443c9 --- /dev/null +++ b/po/anastasis-gtk.pot @@ -0,0 +1,605 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Anastasis SARL +# This file is distributed under the same license as the anastasis-gtk package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: anastasis-gtk 0.0.0\n" +"Report-Msgid-Bugs-To: bug-anastasis@gnu.org\n" +"POT-Creation-Date: 2021-04-11 18:21+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/anastasis/anastasis-gtk_action.c:1153 +#: src/anastasis/anastasis-gtk_action.c:1233 +#: src/anastasis/anastasis-gtk_action.c:2048 +#, c-format +msgid "Failed to initialize QR-code pixbuf for `%s'\n" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1492 +msgid "challenge solved" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1494 +msgid "make payment" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1496 +msgid "unexpected reply" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1498 +msgid "read hint" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1500 +msgid "read feedback" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1502 +msgid "open link" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1504 +msgid "wait, provider failed" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1506 +msgid "challenge unknown" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1508 +msgid "wait, tries exceeded" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1959 +#, c-format +msgid "" +"%s\n" +"Price: %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2162 +msgid "INTERNAL ERROR: could not parse state" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2171 +#, c-format +msgid "Hint (#%u): %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2202 +msgid "ERROR: failed to parse server JSON instructions" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2369 +msgid "question" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2371 +msgid "sms" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2373 +msgid "post" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2375 +msgid "email" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:213 +msgid "available" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:219 +#, c-format +msgid "Network failure: %s (#%u)" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:227 +#, c-format +msgid "HTTP %s (%u): %s (#%u)" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-email.c:182 +#, c-format +msgid "e-mail address %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-post.c:83 +#, c-format +msgid "postal address %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-sms.c:162 +#, c-format +msgid "phone number %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-policy-version-changed.c:114 +msgid "This action will reset all of your challenge solving progress!" +msgstr "" + +#: src/anastasis/anastasis-gtk_io.c:195 +msgid "This will write your secret to disk in cleartext!" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:18 +msgid "" +"License should be loaded here at runtime from the license file (no need to " +"copy the whole GPL in here...)." +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:111 +msgid "Developed by" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:143 +msgid "Documented by" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:176 +msgid "Translated by" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:209 +msgid "Artwork by" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:254 +msgid "Credits" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:269 +msgid "License" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_email.glade:69 +msgid "Email address:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_email.glade:123 +msgid "Add email authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:81 +msgid "_Full name:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:122 +msgid "_Street:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:162 +msgid "_City:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:202 +msgid "_Postcode:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:242 +msgid "Countr_y:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:291 +msgid "Add post authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:20 +#: contrib/anastasis_gtk_challenge_code.glade:20 +#: contrib/anastasis_gtk_challenge_question.glade:20 +msgid "Cancel" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:33 +#: contrib/anastasis_gtk_challenge_code.glade:33 +#: contrib/anastasis_gtk_challenge_question.glade:33 +msgid "OK" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:78 +msgid "Security _question:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:139 +msgid "_Answer:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:184 +msgid "Add security question authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:69 +msgid "Phone number:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:86 +msgid "+41123456789" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:122 +msgid "Add sms authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_video.glade:77 +msgid "Choose a photo:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_video.glade:136 +msgid "Add video authentication" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:76 +msgid "Challenge:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:131 +msgid "Code sent to:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:189 +msgid "Enter the code:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:206 +msgid "A-" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:234 +msgid "Security token challenge" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:94 +msgid "Security question:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:152 +msgid "Answer:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:196 +msgid "Solve secuity question challenge" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:103 +#: contrib/anastasis_gtk_main_window.glade:1389 +msgid "Provider URL:" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:123 +#: contrib/anastasis_gtk_main_window.glade:161 +#: contrib/anastasis_gtk_main_window.glade:1440 +msgid "https://" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:193 +msgid "URL" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:204 +#: contrib/anastasis_gtk_main_window.glade:1527 +msgid "Status" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:224 +msgid "Known providers" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:262 +msgid "Add Anastasis provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:199 +msgid "_File" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:223 +msgid "_Help" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:324 +msgid "Backup" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:328 +msgid "Begin fresh backup process" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:345 +msgid "Continue from file with saved Anastasis state" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:358 +msgid "Restore" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:362 +msgid "Begin secret recovery process" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:381 +msgid "What do you want to do?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:429 +msgid "Continent" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:468 +msgid "Country" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:505 +msgid "Currencies" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:533 +msgid "" +"These questions determine which personal attributes we can ask you for, and " +"which backup providers could be used." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:538 +msgid "Where do you live? In which currencies do you want to pay?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:577 +msgid "Full name:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:593 +msgid "Max Mustermann" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:621 +msgid "Birthdate:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:667 +msgid "Birthplace:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:681 +msgid "Earth" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:709 +msgid "AHV number:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:726 +msgid "756.1222.3425.89" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:755 +msgid "Steuerliche Identifikationsnummer:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:771 +msgid "12345678912" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:796 +msgid "" +"Falls vorhanden sollte diese Nummer auf jeden Fall angegeben werden. Nur " +"Beamte, Selbstständige und andere Personen die keine " +"Rentenversicherungsnummer haben sollten dieses Feld leer lassen." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:801 +msgid "Sozialversicherungsnummer (optional):" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:817 +msgid "14230460S534" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:847 +msgid "Social security number:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:863 +msgid "000-00-0000" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:893 +msgid "Who are you?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:941 +msgid "SMS" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:957 +msgid "Email" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:972 +msgid "Question" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:988 +msgid "Post" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1003 +msgid "Video" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1021 +msgid "Which authorization method should be added?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1070 +#: contrib/anastasis_gtk_main_window.glade:1249 +#: contrib/anastasis_gtk_main_window.glade:1640 +msgid "Type" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1086 +#: contrib/anastasis_gtk_main_window.glade:1549 +msgid "Details" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1106 +msgid "Authorization methods configured so far:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1127 +msgid "Add provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1196 +msgid "Configure authorization methods!" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1237 +#: contrib/anastasis_gtk_main_window.glade:1628 +msgid "Policy" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1260 +#: contrib/anastasis_gtk_main_window.glade:1538 +#: contrib/anastasis_gtk_main_window.glade:1652 +msgid "Cost" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1273 +#: contrib/anastasis_gtk_main_window.glade:1663 +#: contrib/anastasis_gtk_main_window.glade:2054 +msgid "Provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1286 +msgid "Expiration" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1309 +msgid "Review recovery policies" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1388 +msgid "" +"This is the URL of the provider from which we downloaded the recovery " +"document." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1400 +msgid "" +"This is the version of the backup at the provider. By default, the latest " +"available backup version is obtained." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1401 +msgid "Backup version:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1413 +msgid "0" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1496 +#: contrib/anastasis_gtk_main_window.glade:1583 +msgid "" +"Here you can see your progress in satisfying authorization challenges and " +"possible next steps." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1506 +msgid "#" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1588 +msgid "Challenge status:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1618 +#: contrib/anastasis_gtk_main_window.glade:1684 +msgid "" +"This table shows possible ways to recover the secret. For each policy, the " +"challenges that must still be satisfied are listed." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1689 +msgid "Recovery policies:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1711 +msgid "Select challenge to recover secret:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1750 +msgid "Enter as text:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1795 +msgid "Use file input:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1841 +msgid "Provide secret to backup:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1879 +msgid "Please pay with GNU Taler:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1916 +msgid "Payment QR Code" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1929 +msgid "Taler Pay URI" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1974 +msgid "Payment required:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2013 +msgid "Your backup is complete." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2029 +msgid "Backups were made at the following providers:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2067 +msgid "Version" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2079 +msgid "Expiration time" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2115 +msgid "Your secret was recovered:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2146 +msgid "" +"The secret is shown here in Crockford Base32 encoding. When copying to the " +"clipboard or saving to file, it will be decoded first." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2166 +msgid "Copy secret to clipboard" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2183 +msgid "Save secret to file" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2263 +msgid "Success!" +msgstr "" diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 0000000..4b937aa --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“[1m/g +s/”/[0m”/g +s/‘/‘[1m/g +s/’/[0m’/g diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..6ea3756 --- /dev/null +++ b/po/de.po @@ -0,0 +1,607 @@ +# English translations for anastasis-gtk package. +# Copyright (C) 2020 Anastasis SARL +# This file is distributed under the same license as the anastasis-gtk package. +# Christian Grothoff <grothoff@gnunet.org>, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: anastasis-gtk unknown\n" +"Report-Msgid-Bugs-To: bug-anastasis@gnu.org\n" +"POT-Creation-Date: 2021-04-11 18:21+0200\n" +"PO-Revision-Date: 2020-08-30 01:12+0200\n" +"Last-Translator: \n" +"Language-Team: English\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/anastasis/anastasis-gtk_action.c:1153 +#: src/anastasis/anastasis-gtk_action.c:1233 +#: src/anastasis/anastasis-gtk_action.c:2048 +#, c-format +msgid "Failed to initialize QR-code pixbuf for `%s'\n" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1492 +msgid "challenge solved" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1494 +msgid "make payment" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1496 +msgid "unexpected reply" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1498 +msgid "read hint" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1500 +msgid "read feedback" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1502 +msgid "open link" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1504 +msgid "wait, provider failed" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1506 +msgid "challenge unknown" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1508 +msgid "wait, tries exceeded" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:1959 +#, c-format +msgid "" +"%s\n" +"Price: %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2162 +msgid "INTERNAL ERROR: could not parse state" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2171 +#, c-format +msgid "Hint (#%u): %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2202 +msgid "ERROR: failed to parse server JSON instructions" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2369 +msgid "question" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2371 +msgid "sms" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2373 +msgid "post" +msgstr "" + +#: src/anastasis/anastasis-gtk_action.c:2375 +msgid "email" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:213 +msgid "available" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:219 +#, c-format +msgid "Network failure: %s (#%u)" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c:227 +#, c-format +msgid "HTTP %s (%u): %s (#%u)" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-email.c:182 +#, c-format +msgid "e-mail address %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-post.c:83 +#, c-format +msgid "postal address %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-method-sms.c:162 +#, c-format +msgid "phone number %s" +msgstr "" + +#: src/anastasis/anastasis-gtk_handle-policy-version-changed.c:114 +msgid "This action will reset all of your challenge solving progress!" +msgstr "" + +#: src/anastasis/anastasis-gtk_io.c:195 +msgid "This will write your secret to disk in cleartext!" +msgstr "" + +#: contrib/anastasis_gtk_about_window.glade:18 +msgid "" +"License should be loaded here at runtime from the license file (no need to " +"copy the whole GPL in here...)." +msgstr "" +"License should be loaded here at runtime from the license file (no need to " +"copy the whole GPL in here...)." + +#: contrib/anastasis_gtk_about_window.glade:111 +msgid "Developed by" +msgstr "Developed by" + +#: contrib/anastasis_gtk_about_window.glade:143 +msgid "Documented by" +msgstr "Documented by" + +#: contrib/anastasis_gtk_about_window.glade:176 +msgid "Translated by" +msgstr "Translated by" + +#: contrib/anastasis_gtk_about_window.glade:209 +msgid "Artwork by" +msgstr "Artwork by" + +#: contrib/anastasis_gtk_about_window.glade:254 +msgid "Credits" +msgstr "Credits" + +#: contrib/anastasis_gtk_about_window.glade:269 +msgid "License" +msgstr "License" + +#: contrib/anastasis_gtk_auth_add_email.glade:69 +msgid "Email address:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_email.glade:123 +msgid "Add email authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:81 +msgid "_Full name:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:122 +msgid "_Street:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:162 +msgid "_City:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:202 +msgid "_Postcode:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:242 +msgid "Countr_y:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_post.glade:291 +msgid "Add post authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:20 +#: contrib/anastasis_gtk_challenge_code.glade:20 +#: contrib/anastasis_gtk_challenge_question.glade:20 +msgid "Cancel" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:33 +#: contrib/anastasis_gtk_challenge_code.glade:33 +#: contrib/anastasis_gtk_challenge_question.glade:33 +msgid "OK" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:78 +msgid "Security _question:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:139 +msgid "_Answer:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_question.glade:184 +msgid "Add security question authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:69 +msgid "Phone number:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:86 +msgid "+41123456789" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_sms.glade:122 +msgid "Add sms authentication" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_video.glade:77 +msgid "Choose a photo:" +msgstr "" + +#: contrib/anastasis_gtk_auth_add_video.glade:136 +msgid "Add video authentication" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:76 +msgid "Challenge:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:131 +msgid "Code sent to:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:189 +msgid "Enter the code:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:206 +msgid "A-" +msgstr "" + +#: contrib/anastasis_gtk_challenge_code.glade:234 +msgid "Security token challenge" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:94 +msgid "Security question:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:152 +msgid "Answer:" +msgstr "" + +#: contrib/anastasis_gtk_challenge_question.glade:196 +msgid "Solve secuity question challenge" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:103 +#: contrib/anastasis_gtk_main_window.glade:1389 +msgid "Provider URL:" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:123 +#: contrib/anastasis_gtk_main_window.glade:161 +#: contrib/anastasis_gtk_main_window.glade:1440 +msgid "https://" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:193 +msgid "URL" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:204 +#: contrib/anastasis_gtk_main_window.glade:1527 +msgid "Status" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:224 +msgid "Known providers" +msgstr "" + +#: contrib/anastasis_gtk_edit_providers.glade:262 +msgid "Add Anastasis provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:199 +msgid "_File" +msgstr "_File" + +#: contrib/anastasis_gtk_main_window.glade:223 +msgid "_Help" +msgstr "_Help" + +#: contrib/anastasis_gtk_main_window.glade:324 +msgid "Backup" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:328 +msgid "Begin fresh backup process" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:345 +msgid "Continue from file with saved Anastasis state" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:358 +msgid "Restore" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:362 +msgid "Begin secret recovery process" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:381 +msgid "What do you want to do?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:429 +msgid "Continent" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:468 +msgid "Country" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:505 +msgid "Currencies" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:533 +msgid "" +"These questions determine which personal attributes we can ask you for, and " +"which backup providers could be used." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:538 +msgid "Where do you live? In which currencies do you want to pay?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:577 +msgid "Full name:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:593 +msgid "Max Mustermann" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:621 +msgid "Birthdate:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:667 +msgid "Birthplace:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:681 +msgid "Earth" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:709 +msgid "AHV number:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:726 +msgid "756.1222.3425.89" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:755 +msgid "Steuerliche Identifikationsnummer:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:771 +msgid "12345678912" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:796 +msgid "" +"Falls vorhanden sollte diese Nummer auf jeden Fall angegeben werden. Nur " +"Beamte, Selbstständige und andere Personen die keine " +"Rentenversicherungsnummer haben sollten dieses Feld leer lassen." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:801 +msgid "Sozialversicherungsnummer (optional):" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:817 +msgid "14230460S534" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:847 +msgid "Social security number:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:863 +msgid "000-00-0000" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:893 +msgid "Who are you?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:941 +msgid "SMS" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:957 +msgid "Email" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:972 +msgid "Question" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:988 +msgid "Post" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1003 +msgid "Video" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1021 +msgid "Which authorization method should be added?" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1070 +#: contrib/anastasis_gtk_main_window.glade:1249 +#: contrib/anastasis_gtk_main_window.glade:1640 +msgid "Type" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1086 +#: contrib/anastasis_gtk_main_window.glade:1549 +msgid "Details" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1106 +msgid "Authorization methods configured so far:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1127 +msgid "Add provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1196 +msgid "Configure authorization methods!" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1237 +#: contrib/anastasis_gtk_main_window.glade:1628 +msgid "Policy" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1260 +#: contrib/anastasis_gtk_main_window.glade:1538 +#: contrib/anastasis_gtk_main_window.glade:1652 +msgid "Cost" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1273 +#: contrib/anastasis_gtk_main_window.glade:1663 +#: contrib/anastasis_gtk_main_window.glade:2054 +msgid "Provider" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1286 +msgid "Expiration" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1309 +msgid "Review recovery policies" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1388 +msgid "" +"This is the URL of the provider from which we downloaded the recovery " +"document." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1400 +msgid "" +"This is the version of the backup at the provider. By default, the latest " +"available backup version is obtained." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1401 +msgid "Backup version:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1413 +msgid "0" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1496 +#: contrib/anastasis_gtk_main_window.glade:1583 +msgid "" +"Here you can see your progress in satisfying authorization challenges and " +"possible next steps." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1506 +msgid "#" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1588 +msgid "Challenge status:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1618 +#: contrib/anastasis_gtk_main_window.glade:1684 +msgid "" +"This table shows possible ways to recover the secret. For each policy, the " +"challenges that must still be satisfied are listed." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1689 +msgid "Recovery policies:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1711 +msgid "Select challenge to recover secret:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1750 +msgid "Enter as text:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1795 +msgid "Use file input:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1841 +msgid "Provide secret to backup:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1879 +msgid "Please pay with GNU Taler:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1916 +msgid "Payment QR Code" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1929 +msgid "Taler Pay URI" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:1974 +msgid "Payment required:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2013 +msgid "Your backup is complete." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2029 +msgid "Backups were made at the following providers:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2067 +msgid "Version" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2079 +msgid "Expiration time" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2115 +msgid "Your secret was recovered:" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2146 +msgid "" +"The secret is shown here in Crockford Base32 encoding. When copying to the " +"clipboard or saving to file, it will be decoded first." +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2166 +msgid "Copy secret to clipboard" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2183 +msgid "Save secret to file" +msgstr "" + +#: contrib/anastasis_gtk_main_window.glade:2263 +msgid "Success!" +msgstr "" diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 0000000..fedb6a0 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 0000000..a9647fc --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 0000000..b26de01 --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 0000000..0122c46 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000..2436c49 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp |