summary refs log tree commit diff
path: root/po/doc/local.mk
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2018-03-02 23:05:28 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-04-19 21:30:30 +0200
commitb9fe8fd662180e64156d2b95a671242c20f0acfc (patch)
tree2ad838ee4cb3fe1d85619a759ea8838cd4ec66c5 /po/doc/local.mk
parent9490c411f0d9a0a9476cb7b0855f5c2461c49b38 (diff)
downloadguix-b9fe8fd662180e64156d2b95a671242c20f0acfc.tar.gz
gnu: doc: Allow documentation to be translated.
* po/doc/contributing.pot: New file.
* po/doc/guix.pot: New file.
* po/doc/local.mk: New file.
* Makefile.am: Include it. Add gettext command. Add silent rules for po4a.
* configure.ac: Look for po4a-translate and po4a-updatepo.
* doc/local.mk: Add rules to generate translated texi files.
(TRANSLATED_INFO): New variable.
(BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it.
* .gitignore: Add generated files.
Diffstat (limited to 'po/doc/local.mk')
-rw-r--r--po/doc/local.mk75
1 files changed, 75 insertions, 0 deletions
diff --git a/po/doc/local.mk b/po/doc/local.mk
new file mode 100644
index 0000000000..556dcf1636
--- /dev/null
+++ b/po/doc/local.mk
@@ -0,0 +1,75 @@
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+#
+# This file is part of GNU Guix.
+#
+# GNU Guix is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Guix is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+EXTRA_DIST =
+
+POT_OPTIONS = --package-name "guix" --package-version "$(VERSION)" \
+	          --copyright-holder "Ludovic Courtès" \
+			  --msgid-bugs-address "ludo@gnu.org"
+
+$(srcdir)/po/doc/guix.%.po: $(srcdir)/po/doc/guix.pot
+	@lang=`echo $$(basename "$@") | sed -e 's|^guix.||' -e 's|.po$$||'` ;\
+	if test -f "$@"; then \
+	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \
+	  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) $@ $<;; \
+	        *) \
+	          $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \
+	      esac; \
+	    }; \
+	  touch "$@"; \
+	else \
+	     echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+	     exit 1; \
+	fi
+
+$(srcdir)/po/doc/contributing.%.po: $(srcdir)/po/doc/contributing.pot
+	@lang=`echo $$(basename "$@") | sed -e 's|^contributing.||' -e 's|.po$$||'` ;\
+	if test -f "$@"; then \
+	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \
+	  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) $@ $<;; \
+	        *) \
+	          $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \
+	      esac; \
+	    }; \
+	  touch "$@"; \
+	else \
+	     echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+	     exit 1; \
+	fi
+
+$(srcdir)/po/doc/contributing.pot-update: doc/contributing.texi
+	$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
+		-p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS)
+	@touch "$$(echo $@ | sed 's|-update||')"
+
+$(srcdir)/po/doc/guix.pot-update: doc/guix.texi
+	$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
+		-p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS)
+	@touch "$$(echo $@ | sed 's|-update||')"
+
+doc-pot-update:
+	$(MAKE) $(srcdir)/po/doc/guix.pot-update
+	$(MAKE) $(srcdir)/po/doc/contributing.pot-update