# HG changeset patch # User Tobias Bell <tobias.b...@gmail.com> # Date 1234695834 -3600 # Node ID d9bff6e1db62a8a488eb9fc92024e4a815da5db5 # Parent c2e962bdcc377b61f09bfbf545781c6ae3ea9621 i18n: Add German translation
diff --git a/i18n/de.po b/i18n/de.po new file mode 100644 --- /dev/null +++ b/i18n/de.po @@ -0,0 +1,8973 @@ +# German translations for Mercurial package +# German messages for Mercurial. +# Copyright (C) 2009 THE Mercurial'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Mercurial package. +# tobias <tobias.b...@gmail.com>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: Mercurial VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-03-08 13:35+0100\n" +"PO-Revision-Date: 2009-03-08 19:28+0100\n" +"Last-Translator: Tobias Bell <tobias.b...@gmail.com>\n" +"Language-Team: German\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" + +#, python-format +msgid " (default: %s)" +msgstr " (default: %s)" + +msgid "OPTIONS" +msgstr "OPTIONEN" + +msgid "COMMANDS" +msgstr "BEFEHLE" + +msgid " options:\n" +msgstr " Optionen:\n" + +#, python-format +msgid "" +" aliases: %s\n" +"\n" +msgstr "" +" Aliase: %s\n" +"\n" + +msgid "return tuple of (match function, list enabled)." +msgstr "" + +#, python-format +msgid "acl: %s not enabled\n" +msgstr "acl: %s nicht aktiviert\n" + +#, python-format +msgid "acl: %s enabled, %d entries for user %s\n" +msgstr "acl: %s aktiviert, %d Einträge für Nutzer %s\n" + +#, python-format +msgid "config error - hook type \"%s\" cannot stop incoming changesets" +msgstr "" + +#, python-format +msgid "acl: changes have source \"%s\" - skipping\n" +msgstr "" + +#, python-format +msgid "acl: user %s denied on %s\n" +msgstr "" + +#, python-format +msgid "acl: access denied for changeset %s" +msgstr "" + +#, python-format +msgid "acl: user %s not allowed on %s\n" +msgstr "" + +#, python-format +msgid "acl: allowing changeset %s\n" +msgstr "" + +msgid "" +"allow user-defined command aliases\n" +"\n" +"To use, create entries in your hgrc of the form\n" +"\n" +"[alias]\n" +"mycmd = cmd --args\n" +msgstr "" +"Erlaube benutzerdefiniert Befehls-Aliase\n" +"\n" +"Um sie zu nutzen, erzeuge Einträge folgender Form in deiner hgrc\n" +"\n" +"[alias]\n" +"mycmd = cmd --args\n" + +msgid "" +"defer command lookup until needed, so that extensions loaded\n" +" after alias can be aliased" +msgstr "" + +#, python-format +msgid "*** [alias] %s: command %s is unknown" +msgstr "*** [alias] %s: Befehl %s ist unbekannt" + +#, python-format +msgid "*** [alias] %s: command %s is ambiguous" +msgstr "*** [alias] %s: Befehl %s ist zweideutig" + +#, python-format +msgid "*** [alias] %s: circular dependency on %s" +msgstr "*** [alias] %s: zirkuläre Abhängigkeit auf %s" + +#, python-format +msgid "*** [alias] %s: no definition\n" +msgstr "*** [alias] %s: nicht definiert\n" + +msgid "" +"mercurial bookmarks\n" +"\n" +"Mercurial bookmarks are local moveable pointers to changesets. Every\n" +"bookmark points to a changeset identified by its hash. If you commit a\n" +"changeset that is based on a changeset that has a bookmark on it, the\n" +"bookmark is forwarded to the new changeset.\n" +"\n" +"It is possible to use bookmark names in every revision lookup (e.g. hg\n" +"merge, hg update).\n" +"\n" +"The bookmark extension offers the possiblity to have a more git-like " +"experience\n" +"by adding the following configuration option to your .hgrc:\n" +"\n" +"[bookmarks]\n" +"track.current = True\n" +"\n" +"This will cause bookmarks to track the bookmark that you are currently on, " +"and\n" +"just updates it. This is similar to git's approach of branching.\n" +msgstr "" +"Mercurial bookmarks\n" +"\n" +"Mercurial Lesezeichen sind lokale mitwandernde Verweise auf changesets. " +"Jedes\n" +"Lesezeichen verweist auf ein changeset identifiziert durch seinen hash. Wenn " +"du ein changeset\n" +"commitest, dass auf einem changeset mit Lesezeichen basiert, wird dieses " +"Lesezeichen\n" +"auf das neue changeset angehoben.\n" +"\n" +"Die Namen von Lesezeichen können bei jedem Verweis auf Revisionen genutzt " +"werden (z.B. hg\n" +"merge, hg update).\n" +"\n" +"Die Lesezeichen Erweiterung ermöglicht eine git-ähnliche Nutzung\n" +"durch Zufügen folgender Konfigurationseinträge in deiner .hgrc:\n" +"\n" +"[bookmarks]\n" +"track.current = True\n" +"\n" +"Dies veranlasst bookmarks das aktuelle Lesezeichen nachzuverfolgen, und\n" +"nur dieses zu aktualisieren. Dies ähnelt gits Umgang mit branches.\n" + +msgid "" +"Parse .hg/bookmarks file and return a dictionary\n" +"\n" +" Bookmarks are stored as {HASH}\\s{NAME}\\n (localtags format) values\n" +" in the .hg/bookmarks file. They are read by the parse() method and\n" +" returned as a dictionary with name => hash values.\n" +"\n" +" The parsed dictionary is cached until a write() operation is done.\n" +" " +msgstr "" + +msgid "" +"Write bookmarks\n" +"\n" +" Write the given bookmark => hash dictionary to the .hg/bookmarks file\n" +" in a format equal to those of localtags.\n" +"\n" +" We also store a backup of the previous state in undo.bookmarks that\n" +" can be copied back on rollback.\n" +" " +msgstr "" + +msgid "" +"Get the current bookmark\n" +"\n" +" If we use gittishsh branches we have a current bookmark that\n" +" we are on. This function returns the name of the bookmark. It\n" +" is stored in .hg/bookmarks.current\n" +" " +msgstr "" + +msgid "" +"Set the name of the bookmark that we are currently on\n" +"\n" +" Set the name of the bookmark that we are on (hg update <bookmark>).\n" +" The name is recoreded in .hg/bookmarks.current\n" +" " +msgstr "" + +msgid "" +"mercurial bookmarks\n" +"\n" +" Bookmarks are pointers to certain commits that move when\n" +" commiting. Bookmarks are local. They can be renamed, copied and\n" +" deleted. It is possible to use bookmark names in 'hg merge' and 'hg\n" +" update' to update to a given bookmark.\n" +"\n" +" You can use 'hg bookmark NAME' to set a bookmark on the current\n" +" tip with the given name. If you specify a revision using -r REV\n" +" (where REV may be an existing bookmark), the bookmark is set to\n" +" that revision.\n" +" " +msgstr "" + +msgid "a bookmark of this name does not exist" +msgstr "Es existiert kein Lesezeichen mit diesem Namen" + +msgid "a bookmark of the same name already exists" +msgstr "Ein Lesezeichen mit diesem Namen existiert bereits" + +msgid "new bookmark name required" +msgstr "Ein neuer Name für das Lesezeichen muss übergeben werden" + +msgid "bookmark name required" +msgstr "Ein Name für das Lesezeichen muss übergeben werden" + +msgid "bookmark name cannot contain newlines" +msgstr "Ein Lesezeichenname darf keine Zeilenumbrüche enthalten" + +msgid "a bookmark cannot have the name of an existing branch" +msgstr "" +"Ein Lesezeichen darf nicht denselben Namen wie eine existierende Verzweigung " +"haben" + +msgid "" +"Strip bookmarks if revisions are stripped using\n" +" the mercurial.strip method. This usually happens during\n" +" qpush and qpop" +msgstr "" + +msgid "" +"Add a revision to the repository and\n" +" move the bookmark" +msgstr "" + +msgid "Merge bookmarks with normal tags" +msgstr "" + +msgid "" +"Set the current bookmark\n" +"\n" +" If the user updates to a bookmark we update the .hg/bookmarks.current\n" +" file.\n" +" " +msgstr "" + +msgid "force" +msgstr "erzwinge" + +msgid "revision" +msgstr "Revision" + +msgid "delete a given bookmark" +msgstr "" + +msgid "rename a given bookmark" +msgstr "" + +msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]" +msgstr "" + +msgid "" +"Bugzilla integration\n" +"\n" +"This hook extension adds comments on bugs in Bugzilla when changesets\n" +"that refer to bugs by Bugzilla ID are seen. The hook does not change bug\n" +"status.\n" +"\n" +"The hook updates the Bugzilla database directly. Only Bugzilla " +"installations\n" +"using MySQL are supported.\n" +"\n" +"The hook relies on a Bugzilla script to send bug change notification " +"emails.\n" +"That script changes between Bugzilla versions; the 'processmail' script " +"used\n" +"prior to 2.18 is replaced in 2.18 and subsequent versions by\n" +"'config/sendbugmail.pl'. Note that these will be run by Mercurial as the " +"user\n" +"pushing the change; you will need to ensure the Bugzilla install file\n" +"permissions are set appropriately.\n" +"\n" +"Configuring the extension:\n" +"\n" +" [bugzilla]\n" +" host Hostname of the MySQL server holding the Bugzilla database.\n" +" db Name of the Bugzilla database in MySQL. Default 'bugs'.\n" +" user Username to use to access MySQL server. Default 'bugs'.\n" +" password Password to use to access MySQL server.\n" +" timeout Database connection timeout (seconds). Default 5.\n" +" version Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 " +"and\n" +" later, '2.18' for Bugzilla versions from 2.18 and '2.16' for\n" +" versions prior to 2.18.\n" +" bzuser Fallback Bugzilla user name to record comments with, if\n" +" changeset committer cannot be found as a Bugzilla user.\n" +" bzdir Bugzilla install directory. Used by default notify.\n" +" Default '/var/www/html/bugzilla'.\n" +" notify The command to run to get Bugzilla to send bug change\n" +" notification emails. Substitutes from a map with 3 keys,\n" +" 'bzdir', 'id' (bug id) and 'user' (committer bugzilla " +"email).\n" +" Default depends on version; from 2.18 it is\n" +" \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %" +"(user)s\".\n" +" regexp Regular expression to match bug IDs in changeset commit " +"message.\n" +"
On 2009-03-08, Tobias Bell <tobias.b...@googlemail.com> wrote:
> +msgid "" > +"mercurial bookmarks\n" > +"\n" > +"Mercurial bookmarks are local moveable pointers to changesets. Every\n" > +"bookmark points to a changeset identified by its hash. If you commit a\n" > +"changeset that is based on a changeset that has a bookmark on it, the\n" > +"bookmark is forwarded to the new changeset.\n"
Hi. I still think we should discuss if we like to translate terms like changests before we push that to crew. As I pointed out: we might want to do it the same way as subversion and gitk as this will make translations more consistent between revision control systems and users will have a better user experience. Both subverison and gitk translate terms like changeset, so I would vote to also translate them.
If we agree to not translate them, they should be at least written with an capital first letter.
> On 2009-03-08, Tobias Bell <tobias.b...@googlemail.com> wrote: >> +msgid "" >> +"mercurial bookmarks\n" >> +"\n" >> +"Mercurial bookmarks are local moveable pointers to changesets. Every\n" >> +"bookmark points to a changeset identified by its hash. If you commit a\n" >> +"changeset that is based on a changeset that has a bookmark on it, the\n" >> +"bookmark is forwarded to the new changeset.\n"
> Hi. I still think we should discuss if we like to translate terms like > changests before we push that to crew. As I pointed out: we might want > to do it the same way as subversion and gitk as this will make > translations more consistent between revision control systems and > users will have a better user experience. Both subverison and gitk > translate terms like changeset, so I would vote to also translate > them.
I have also attempted to translate them in the Danish translation. Judging from the translation dictionaries in the Chinese and Japanese translations, the translators for those languages have done the same.
We could put the German translation in as it is now and then you can send a patch when you've figured out a good translation for these words?
-- Martin Geisler
VIFF (Virtual Ideal Functionality Framework) brings easy and efficient SMPC (Secure Multiparty Computation) to Python. See: http://viff.dk/.
> On 2009-03-08, Tobias Bell <tobias.b...@googlemail.com> wrote: >> +msgid "" >> +"mercurial bookmarks\n" >> +"\n" >> +"Mercurial bookmarks are local moveable pointers to changesets. Every\n" >> +"bookmark points to a changeset identified by its hash. If you commit a\n" >> +"changeset that is based on a changeset that has a bookmark on it, the\n" >> +"bookmark is forwarded to the new changeset.\n"
> Hi. I still think we should discuss if we like to translate terms like > changests before we push that to crew. As I pointed out: we might want > to do it the same way as subversion and gitk as this will make > translations more consistent between revision control systems and users > will have a better user experience. Both subverison and gitk translate > terms like changeset, so I would vote to also translate them.
I agree. Here are some terms I found
repository - Projektarchiv branch - Zweig/Verzweigung commit - Version to commit - übertragen (ins Archiv) merge - zusammenführen
Some words seem unique to Mercurial. I havent't found translations in git-gui or subversion
Tobias Bell <tobias.b...@googlemail.com> writes: > # HG changeset patch > # User Tobias Bell <tobias.b...@gmail.com> > # Date 1234695834 -3600 > # Node ID d9bff6e1db62a8a488eb9fc92024e4a815da5db5 > # Parent c2e962bdcc377b61f09bfbf545781c6ae3ea9621 > i18n: Add German translation
Thanks for the update. There are a problem with one of the strings on line 7828:
msgid "use 'hg resolve' to retry unresolved file merges\n" msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
The translation should also end with a newline, otherwise msgfmt refuses to process the file:
msgfmt -v -o locale/de/LC_MESSAGES/hg.mo i18n/de.po -c i18n/de.po:7828: `msgid' and `msgstr' entries do not both end with '\n' msgfmt: found 1 fatal error 174 translated messages, 1606 untranslated messages. error: command 'msgfmt' failed with exit status 1
Another problem is the spelling of nouns like 'changeset' etc. I think they should be translated into German like they are in the other translations. Failing that, they should at least be written with a capital like other German nouns.
Could you fix this and resend the patch?
I'll be away from the 12th to 22nd of March, so if you send it in that period someone else should apply it. Thanks!
-- Martin Geisler
VIFF (Virtual Ideal Functionality Framework) brings easy and efficient SMPC (Secure Multiparty Computation) to Python. See: http://viff.dk/.
Martin Geisler wrote: > David Soria Parra <s...@gmx.net> writes:
> > On 2009-03-08, Tobias Bell <tobias.b...@googlemail.com> wrote: > >> +msgid "" > >> +"mercurial bookmarks\n" > >> +"\n" > >> +"Mercurial bookmarks are local moveable pointers to changesets. Every\n" > >> +"bookmark points to a changeset identified by its hash. If you commit a\n" > >> +"changeset that is based on a changeset that has a bookmark on it, the\n" > >> +"bookmark is forwarded to the new changeset.\n"
> > Hi. I still think we should discuss if we like to translate terms like > > changests before we push that to crew. As I pointed out: we might want > > to do it the same way as subversion and gitk as this will make > > translations more consistent between revision control systems and > > users will have a better user experience. Both subverison and gitk > > translate terms like changeset, so I would vote to also translate > > them.
> I have also attempted to translate them in the Danish translation. > Judging from the translation dictionaries in the Chinese and Japanese > translations, the translators for those languages have done the same.
Hi, I'm translator of Japanese message file.
I think that (my) Japanese translation does not treat technical terms like "changeset" as you think.
# "you think" is not what you think, but appearance of it for me :-)
I used not "translation in meaning" but "translation in pronunciation".
It is re-writting in Japanese characters, but is only semi-mechanical substitution from alphabets to Japanese characters.
Today in Japan, almost all of technical terms in software are translated in such way.
For example, term "commit" and "rollback" are translated in such way not only for configuration management field but also for DBMS field.
So, introducing "translation in meaning" may cause decrease of user experience in Japan, because beginner user can not look explanation resources up by search engine or in paper books.
# sorry, I'm just checking "Translating Jargon" thread from Sat Feb 7
> Tobias Bell <tobias.b...@googlemail.com> writes:
>> # HG changeset patch >> # User Tobias Bell <tobias.b...@gmail.com> >> # Date 1234695834 -3600 >> # Node ID d9bff6e1db62a8a488eb9fc92024e4a815da5db5 >> # Parent c2e962bdcc377b61f09bfbf545781c6ae3ea9621 >> i18n: Add German translation
> Thanks for the update. There are a problem with one of the strings on > line 7828:
> msgid "use 'hg resolve' to retry unresolved file merges\n" > msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
If the rest of the translation is equally confusing, it shouldn't be accepted.
Georg
-- Thus spake the Lord: Thou shalt indent with four spaces. No more, no less. Four shall be the number of spaces thou shalt indent, and the number of thy indenting shall be four. Eight shalt thou not indent, nor either indent thou two, excepting that thou then proceed to four. Tabs are right out.
>> msgid "use 'hg resolve' to retry unresolved file merges\n" >> msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
> If the rest of the translation is equally confusing, it shouldn't be accepted.
You're right. This is far from perfect. We started a patch queue on Bitbucket (http://bitbucket.org/tobidope/i18n-german-translation) to improve the quality. How would you translate the sentence "to retry unresolved file merges"?
Am 10.3.2009 schrieb "Tobias Bell" <tobias.b...@googlemail.com>:
>Hello Georg
>>>  msgid "use 'hg resolve' to retry unresolved file merges\n" >>>  msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
>> If the rest of the translation is equally confusing, it shouldn't be accepted.
>You're right. This is far from perfect. We started a patch queue on >Bitbucket (http://bitbucket.org/tobidope/i18n-german-translation) to >improve the quality. How would you translate the sentence "to retry >unresolved file merges"?
"Nutze 'hg resolve', um die Zusammenführung der vorherig ungelösten Dateizusammenführungen / Zusammenführungskonflikte erneut zu versuchen." Wäre mein Vorschlag :).
> Am 10.3.2009 schrieb "Tobias Bell" <tobias.b...@googlemail.com>:
>>Hello Georg
>>>>  msgid "use 'hg resolve' to retry unresolved file merges\n" >>>>  msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
>>> If the rest of the translation is equally confusing, it shouldn't be accepted.
>>You're right. This is far from perfect. We started a patch queue on >>Bitbucket (http://bitbucket.org/tobidope/i18n-german-translation) to >>improve the quality. How would you translate the sentence "to retry >>unresolved file merges"?
> "Nutze 'hg resolve', um die Zusammenführung der vorherig ungelösten > Dateizusammenführungen / Zusammenführungskonflikte erneut zu > versuchen." Wäre mein Vorschlag :).
"Nutze" klingt seltsam für mein Ohr. "Verwende" fände ich besser:
"Verwende `hg resolve`, um die Zusammenführung erneut zu versuchen."
I would simply skip the "unresolved" part here for the sake of brevity. -parren
>> Am 10.3.2009 schrieb "Tobias Bell" <tobias.b...@googlemail.com>:
>>>Hello Georg
>>>>>  msgid "use 'hg resolve' to retry unresolved file merges\n" >>>>>  msgstr "Nutze 'hg resolve', um nicht zusammengeführte Dateien erneut zu versuchenn"
>>>> If the rest of the translation is equally confusing, it shouldn't be accepted.
>>>You're right. This is far from perfect. We started a patch queue on >>>Bitbucket (http://bitbucket.org/tobidope/i18n-german-translation) to >>>improve the quality. How would you translate the sentence "to retry >>>unresolved file merges"?
> "Nutze" klingt seltsam für mein Ohr. "Verwende" fände ich besser:
> "Verwende `hg resolve`, um die Zusammenführung erneut zu versuchen."
> I would simply skip the "unresolved" part here for the sake of brevity. > -parren