From: Christian Stimming <stimming@tuhh.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
"Shawn O. Pearce" <spearce@spearce.org>,
Brett Schwarz <brett_schwarz@yahoo.com>,
git@vger.kernel.org, Paul Mackerras <paulus@samba.org>
Subject: [PATCH] Add glossary that can be converted into a po file for each language.
Date: Mon, 23 Jul 2007 22:16:39 +0200 [thread overview]
Message-ID: <200707232216.40300.stimming@tuhh.de> (raw)
In-Reply-To: <7vabtpv43d.fsf@assigned-by-dhcp.cox.net>
Signed-off-by: Christian Stimming <stimming@tuhh.de>
---
Am Samstag, 21. Juli 2007 23:28 schrieb Junio C Hamano:
> >> I would suggest having one glossary file per language.
> >
> > Agreed. I propose to throw away the "add glossary" patch and I'll
> > resubmit, this time in a separate po/glossary/ directory, where each
> > language will get a po file for the glossary.
>
> Actually, I would even suggest that we should NOT have a
> separate glossary file at all, if gettext suite allows what I
> outline below.
>
> How about having it as a part of header comment in each of the
> xx.po file?
As I already wrote: Having a glossary in the header of the po file has
some (IMHO serious) drawbacks. For that reason I've pushed this patch
to the mob branch: It contains one tab-separated text file with the relevant
terms *plus their definition* (for now, pulled from
git/Documentation/glossary.txt). As an example, you also see the German
glossary translation - and having the definition available there as well (and
having it updated by running make update-po) is indeed a huge advantage.
po/glossary/Makefile | 9 ++
po/glossary/de.po | 151 ++++++++++++++++++++++++++++++++++++++
po/glossary/git-gui-glossary.txt | 34 +++++++++
po/glossary/txt-to-pot.sh | 48 ++++++++++++
4 files changed, 242 insertions(+), 0 deletions(-)
create mode 100644 po/glossary/Makefile
create mode 100644 po/glossary/de.po
create mode 100644 po/glossary/git-gui-glossary.txt
create mode 100755 po/glossary/txt-to-pot.sh
diff --git a/po/glossary/Makefile b/po/glossary/Makefile
new file mode 100644
index 0000000..749aa2e
--- /dev/null
+++ b/po/glossary/Makefile
@@ -0,0 +1,9 @@
+PO_TEMPLATE = git-gui-glossary.pot
+
+ALL_POFILES = $(wildcard *.po)
+
+$(PO_TEMPLATE): $(subst .pot,.txt,$(PO_TEMPLATE))
+ ./txt-to-pot.sh $< > $@
+
+update-po:: git-gui-glossary.pot
+ $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
diff --git a/po/glossary/de.po b/po/glossary/de.po
new file mode 100644
index 0000000..0d07f68
--- /dev/null
+++ b/po/glossary/de.po
@@ -0,0 +1,151 @@
+# Translation of git-gui glossary to German
+# Copyright (C) 2007 Shawn Pearce, et al.
+# This file is distributed under the same license as the git package.
+# Christian Stimming <stimming@tuhh.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: git-gui glossary\n"
+"PO-Revision-Date: 2007-07-23 22:07+0200\n"
+"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
+"Language-Team: German \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
+msgid ""
+"English Term (Dear translator: This file will never be visible to the user!)"
+msgstr "Deutsche Übersetzung"
+
+#. ""
+msgid "amend"
+msgstr "nachbessern (ergänzen)"
+
+#. ""
+msgid "annotate"
+msgstr "annotieren"
+
+#. "A 'branch' is an active line of development."
+msgid "branch [noun]"
+msgstr "Zweig"
+
+#. ""
+msgid "branch [verb]"
+msgstr "verzweigen"
+
+#. ""
+msgid "checkout [noun]"
+msgstr "Auscheck? Ausspielung? Abruf?"
+
+#. "The action of updating the working tree to a revision which was stored in the object database."
+msgid "checkout [verb]"
+msgstr "auschecken? ausspielen? abrufen?"
+
+#. "A single point in the git history."
+msgid "commit [noun]"
+msgstr "Übertragung (Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)"
+
+#. "The action of storing a new snapshot of the project's state in the git history."
+msgid "commit [verb]"
+msgstr "übertragen (senden?, übergeben?, einspielen?, einpflegen?, ablegen?)"
+
+#. ""
+msgid "diff [noun]"
+msgstr "Vergleich"
+
+#. ""
+msgid "diff [verb]"
+msgstr "vergleichen"
+
+#. "A fast-forward is a special typ of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
+msgid "fast forward merge"
+msgstr "Schnellzusammenführung"
+
+#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
+msgid "fetch"
+msgstr "anfordern (holen?)"
+
+#. "A collection of files. The index is a stored version of your working tree."
+msgid "index (in git-gui: staging area)"
+msgstr "Bereitstellung"
+
+#. "A successful merge results in the creation of a new commit representing the result of the merge."
+msgid "merge [noun]"
+msgstr "Zusammenführung"
+
+#. "To bring the contents of another branch into the current branch."
+msgid "merge [verb]"
+msgstr "zusammenführen"
+
+#. ""
+msgid "message"
+msgstr "Meldung (Nachricht?)"
+
+#. "Pulling a branch means to fetch it and merge it."
+msgid "pull"
+msgstr "übernehmen (ziehen?)"
+
+#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
+msgid "push"
+msgstr "ausliefern (hochladen? verschicken? schieben?)"
+
+#. ""
+msgid "redo"
+msgstr "wiederholen"
+
+#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
+msgid "repository"
+msgstr "Projektarchiv"
+
+#. ""
+msgid "reset"
+msgstr "zurücksetzen"
+
+#. ""
+msgid "revert"
+msgstr "revidieren (aufheben?, zurückkehren?)"
+
+#. "A particular state of files and directories which was stored in the object database."
+msgid "revision"
+msgstr "Version? Revision?"
+
+#. ""
+msgid "sign off"
+msgstr "abzeichnen (gegenzeichnen?, freizeichnen?, absegnen?)"
+
+#. ""
+msgid "staging area"
+msgstr "Bereitstellung"
+
+#. ""
+msgid "status"
+msgstr "Status"
+
+#. "A ref pointing to a tag or commit object"
+msgid "tag [noun]"
+msgstr "Markierung"
+
+#. ""
+msgid "tag [verb]"
+msgstr "markieren"
+
+#. "A regular git branch that is used to follow changes from another repository."
+msgid "tracking branch"
+msgstr "? Entfernter Zweig? Folgezweig?"
+
+#. ""
+msgid "undo"
+msgstr "rückgängig"
+
+#. ""
+msgid "update"
+msgstr "aktualisieren"
+
+#. ""
+msgid "verify"
+msgstr "überprüfen"
+
+#. "The tree of actual checked out files."
+msgid "working copy, working tree"
+msgstr "Arbeitskopie"
diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt
new file mode 100644
index 0000000..e079bb2
--- /dev/null
+++ b/po/glossary/git-gui-glossary.txt
@@ -0,0 +1,34 @@
+"English Term (Dear translator: This file will never be visible to the user!)" "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
+"amend" ""
+"annotate" ""
+"branch [noun]" "A 'branch' is an active line of development."
+"branch [verb]" ""
+"checkout [noun]" ""
+"checkout [verb]" "The action of updating the working tree to a revision which was stored in the object database."
+"commit [noun]" "A single point in the git history."
+"commit [verb]" "The action of storing a new snapshot of the project's state in the git history."
+"diff [noun]" ""
+"diff [verb]" ""
+"fast forward merge" "A fast-forward is a special typ of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
+"fetch" "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
+"index (in git-gui: staging area)" "A collection of files. The index is a stored version of your working tree."
+"merge [noun]" "A successful merge results in the creation of a new commit representing the result of the merge."
+"merge [verb]" "To bring the contents of another branch into the current branch."
+"message" ""
+"pull" "Pulling a branch means to fetch it and merge it."
+"push" "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
+"redo" ""
+"repository" "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
+"reset" ""
+"revert" ""
+"revision" "A particular state of files and directories which was stored in the object database."
+"sign off" ""
+"staging area" ""
+"status" ""
+"tag [noun]" "A ref pointing to a tag or commit object"
+"tag [verb]" ""
+"tracking branch" "A regular git branch that is used to follow changes from another repository."
+"undo" ""
+"update" ""
+"verify" ""
+"working copy, working tree" "The tree of actual checked out files."
diff --git a/po/glossary/txt-to-pot.sh b/po/glossary/txt-to-pot.sh
new file mode 100755
index 0000000..8a8f976
--- /dev/null
+++ b/po/glossary/txt-to-pot.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+# This is a very, _very_, simple script to convert a tab-separated
+# .txt file into a .pot/.po.
+# Its not clever but it took me 2 minutes to write :)
+# Michael Twomey <michael.twomey@ireland.sun.com>
+# 23 March 2001
+# with slight GnuCash modifications by Christian Stimming <stimming@tuhh.de>
+# 19 Aug 2001, 23 Jul 2007
+
+#check args
+if [ $# -eq 0 ]
+then
+ cat <<!
+Usage: `basename $0` git-gui-glossary.txt > git-gui-glossary.pot
+!
+ exit 1;
+fi
+
+GLOSSARY_CSV="$1";
+
+if [ ! -f "$GLOSSARY_CSV" ]
+then
+ echo "Can't find $GLOSSARY_CSV.";
+ exit 1;
+fi
+
+cat <<!
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: `date +'%Y-%m-%d %H:%M%z'`\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+!
+
+#Yes this is the most simple awk script you've ever seen :)
+awk -F'\t' '{if ($2 != "") print "#. "$2; print "msgid "$1; print "msgstr \"\"\n"}' \
+$GLOSSARY_CSV
--
1.5.2
next prev parent reply other threads:[~2007-07-23 20:19 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-19 17:33 [PATCH] Internationalization of git-gui Brett Schwarz
2007-07-20 5:04 ` Shawn O. Pearce
2007-07-20 8:56 ` Christian Stimming
2007-07-21 2:17 ` Shawn O. Pearce
2007-07-21 7:50 ` Christian Stimming
2007-07-21 8:03 ` Shawn O. Pearce
2007-07-21 12:33 ` [PATCH 1/5] " Christian Stimming
2007-07-21 12:34 ` [PATCH 2/5] " Christian Stimming
2007-07-21 12:36 ` [PATCH 3/5] " Christian Stimming
2007-07-21 12:37 ` Christian Stimming
2007-07-21 12:41 ` [PATCH 5/5] " Christian Stimming
2007-07-21 13:46 ` [PATCH 3/5] " David Kastrup
2007-07-21 16:27 ` Simon 'corecode' Schubert
2007-07-21 17:41 ` David Kastrup
2007-07-21 18:50 ` Translation process (was: [PATCH 3/5] Internationalization of git-gui) Christian Stimming
2007-07-21 19:27 ` German translations " Christian Stimming
2007-07-21 19:57 ` German translations David Kastrup
2007-07-22 13:16 ` Christian Stimming
2007-07-22 14:52 ` Edgar Toernig
2007-07-23 19:20 ` Christian Stimming
2007-07-21 20:09 ` David Kastrup
2007-07-22 7:47 ` [PATCH 3/5] Internationalization of git-gui Shawn O. Pearce
2007-07-22 8:05 ` Junio C Hamano
2007-07-22 12:16 ` Christian Stimming
2007-07-22 12:44 ` Johannes Schindelin
2007-07-22 12:57 ` Christian Stimming
2007-07-22 13:06 ` Johannes Schindelin
2007-07-22 7:45 ` [PATCH 2/5] " Shawn O. Pearce
2007-07-22 12:24 ` Christian Stimming
2007-07-21 14:22 ` [PATCH 1/5] " Johannes Schindelin
2007-07-21 19:41 ` Junio C Hamano
2007-07-21 19:50 ` Christian Stimming
2007-07-21 21:20 ` Johannes Schindelin
2007-07-21 21:28 ` Junio C Hamano
2007-07-21 21:35 ` Johannes Schindelin
2007-07-22 13:35 ` Christian Stimming
2007-07-22 14:29 ` Johannes Schindelin
2007-07-23 20:16 ` Christian Stimming [this message]
2007-07-24 1:48 ` [PATCH] Add glossary that can be converted into a po file for each language Junio C Hamano
2007-07-24 6:56 ` Junio C Hamano
2007-07-24 9:34 ` Christian Stimming
2007-07-21 21:12 ` [PATCH 1/5] Internationalization of git-gui Johannes Schindelin
2007-07-21 22:36 ` Junio C Hamano
2007-07-21 23:01 ` Johannes Schindelin
2007-07-22 7:38 ` Shawn O. Pearce
2007-07-23 19:23 ` Christian Stimming
2007-07-24 14:57 ` Shawn O. Pearce
2007-07-20 9:03 ` [PATCH] " Christian Stimming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200707232216.40300.stimming@tuhh.de \
--to=stimming@tuhh.de \
--cc=Johannes.Schindelin@gmx.de \
--cc=brett_schwarz@yahoo.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=paulus@samba.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).