[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] man://manpages-l10n/regex.7.po (1/2)



Hoi,

ich bin auf diese Diskussion aufmerksam gemacht worden. Zwar habe
ich nicht viel Erfahrung mit Uebersetzungen, aber ich kenne mich
mit REs gut aus, darum will ich versuchen, bei dieser ja doch recht
schwierigen Uebersetzung zu unterstuetzen. Ich hoffe, dass meine
Kommentare und Vorschlaege die Arbeit erleichtern.


[2023-05-03 15:47] Christoph Brinkhaus <c.brinkhaus@t-online.de>
>
> Am Tue, May 02, 2023 at 11:19:08AM +0200 schrieb Christoph Brinkhaus:
> > Am Sun, Apr 30, 2023 at 07:03:06PM +0200 schrieb Helge Kreutzmann:
> 
> Nochmal Hallo,
> 
> die Zeilen von meinem letzten Beitrag weiter unten habe ich gelöscht.
> Ich habe einen Vorschlag bekommen, den ich unten Vorstelle. 
> 
> > [...]
> > 
> > > Die Handbuchseite ist auch inhaltlich trickiger. Insbesondere das
> > > Konzept und die Übersetzung des Begriffs „collating element“ ist mir
> > > schwer gefallen. Im ersten Anlauf habe ich „Zuordnungselement“
> > > genommen, aber Wikipedia gitb folgendes:
> > > https://en.wikipedia.org/wiki/Collation_(disambiguation)
> > > In library, information and computer science, collation is the process
> > > of assembling written information into a standard order.
> > > 
> > > Das Konzept wird auch etwas (mehr) in 
> > > https://www.gnu.org/software/gnulib/manual/html_node/Collating-Elements-vs_002e-Characters.html
> > > erklärt.
> > > 
> > > Daher überlege ich, ggf. „Sortierelement“ zu verwenden.
> 
> Der Hinweis bezieht sich auf die deutschen Uebersetzung des
> Standardwerks von Friedl.
> 
> Dort wird folgenderemassen übersetzt:
> „collating element“  : Kollationselement
> „collating sequence“ : Kollationssequenz
> 
> Weil ich die Begriffe noch nie gelesen oder gehört habe habe ich
> zusätzlich gesucht und folgendes gefunden:
> 
> Die Begriffe werden im Wörterbuch wie unten genauso übersetzt:
> https://glosbe.com/en/de/collation%20sequence
> 
> Kollationselement wird auch in einer deutschen Übersetzung der Tcl/Tk
> Dokumentation verwendet.
> https://runebook.dev/de/docs/tcl_tk/tclcmd/re_syntax.htm
> 
> Beide Begriffe werden in einer _schwedischen_ po Vorlage werwendet:
> https://sources.debian.org/data/main/g/glibc/2.28-8/po/sv.po
> 
> #: locale/programs/ld-collate.c:441
> #, c-format
> msgid "`%.*s' already defined as collating symbol"
> msgstr "\"%.*s\" redan definierad som ett kollationssymbol"
> 
> #: locale/programs/ld-collate.c:448
> #, c-format
> msgid "`%.*s' already defined as collating element"
> msgstr "\"%.*s\" redan definierad som ett kollationselement"
> 
> Das scheint also zu passen. Wie ist eure Meinung?

Eine wirklich gute, also sowohl inhaltlich treffende als auch
begriffsnahe, Uebersetzung kenne ich nicht. Collation ist die
Sortierreihenfolge/Sortierordnung, also z.B. dass `ä' nach `a'
kommt.

Ich denke, man muss sich entscheiden, ob man eher wortnaeher
uebersetzt (also fuer eine Person, die vielleicht nur ein bisschen
Englisch kann und sich ueber den deutschen Text das englische
Original erschliesst) oder ob die Uebersetzung moeglichst fluessig
deutsch klingen soll. Da es sich hier um eine moeglichst exakte
technische Zusammenfassung der RE-Definition von POSIX handelt,
wuerde ich wohl eher zu ersterem tendieren. Laien werden die Seite
kaum lesen und Profis werden moeglichst viel Uebereinstimmung mit
dem englischen Original wuenschen, denke ich mir.


Hier nun allerlei Kommentare, zu verschiedenen Stellen. Sie sind
IMO nicht vollstaendig in sich stimmig. Dazu muesste man dann den
gesamten Text nochmal am Stueck lesen, ob er stimmig wirkt.


| Am Sun, Apr 30, 2023 at 07:03:06PM +0200 schrieb Helge Kreutzmann:
|
| # German translation of manpages
| # This file is distributed under the same license as the manpages-l10n package.
| # Copyright © of this file:
| # Helge Kreutzmann <debian@helgefjell.de>, 2023.
| msgid ""
| msgstr ""
| "Project-Id-Version: manpages-l10n 4.18.1\n"
| "POT-Creation-Date: 2023-02-20 20:24+0100\n"
| "PO-Revision-Date: 2023-04-29 16:15+0200\n"
| "Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
| "Language-Team: German <debian-l10n-german@lists.debian.org>\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"


| # FIXME I<egrep> → B<egrep>(1)
| #. type: Plain text
| #: archlinux debian-bullseye debian-unstable fedora-38 fedora-rawhide
| #: mageia-cauldron opensuse-leap-15-5 opensuse-tumbleweed
| msgid ""
| "Regular expressions (\"RE\"s), as defined in POSIX.2, come in two forms: "
| "modern REs (roughly those of I<egrep>; POSIX.2 calls these \"extended\" "
| "REs)  and obsolete REs (roughly those of B<ed>(1); POSIX.2 \"basic\" REs).  "
| "Obsolete REs mostly exist for backward compatibility in some old programs; "
| "they will be discussed at the end.  POSIX.2 leaves some aspects of RE syntax "
| "and semantics open; \"\\*(dg\" marks decisions on these aspects that may not "
| "be fully portable to other POSIX.2 implementations."
| msgstr ""
| "Reguläre Ausdrücke (»RA«), wie sie in POSIX.2 definiert sind, kommen in zwei "
| "Formen:

Vorschlag: ``gibt es in zwei Arten''

|  moderne RA (ungefähr die von B<egrep>(1); POSIX.2 nennt sie "
| "»erweiterte« RA) und veraltete RA (ungefähr die von B<ed>(1); gemäß POSIX.2 "
| "»einfache« RA). Veraltete RA existieren hauptsächlich zur "
| "Rückwärtskompatibilität in einigen alten Programmen; sie werden am Ende "
| "beschrieben. POSIX.2 lässt einige Aspekte der RA-Syntax und -Semantik offen; "
| "»\\(dg« markiert Entscheidungen zu diesen Aspekten, die nicht vollständig "
| "portabel zu anderen POSIX.2-Implementierungen sein können."


| #. type: Plain text
| #: archlinux debian-unstable fedora-38 fedora-rawhide mageia-cauldron
| msgid ""
| "A piece is an I<atom> possibly followed by a single\\*(dg \\[aq]*\\[aq], "
| "\\[aq]+\\[aq], \\[aq]?\\[aq], or I<bound>.  An atom followed by "
| "\\[aq]*\\[aq] matches a sequence of 0 or more matches of the atom.  An atom "
| "followed by \\[aq]+\\[aq] matches a sequence of 1 or more matches of the "
| "atom.  An atom followed by \\[aq]?\\[aq] matches a sequence of 0 or 1 "
| "matches of the atom."
| msgstr ""
| "Ein Stück ist ein I<Atom>, möglicherweise gefolgt von einem einzelnen\\(dg "
| "»*«, »+«, »?« oder einer I<Begrenzung>.

``Beschraenkung'' finde ich hier etwas treffender, finde ich, weil es
hierbei um eine beschraenkte Anzahl von Wiederholungen geht. (Muss
dann natuerlich auch im weiteren Text geaendert werden.)

| Ein Atom, auf das ein »*« folgt, "
| "stimmt mit einer Sequenz von 0 oder mehr Übereinstimmungen mit diesem Atom "
| "überein. Ein Atom, auf das ein »+« folgt, stimmt mit einer Sequenz von 1 "
| "oder mehr Übereinstimmungen mit diesem Atom überein. Ein Atom, auf das ein "
| "»?« folgt, stimmt mit einer Sequenz von 0 oder 1 Übereinstimmungen mit "
| "diesem Atom überein."
| 
| #. type: Plain text
| #: archlinux debian-unstable fedora-38 fedora-rawhide mageia-cauldron
| msgid ""
| "A I<bound> is \\[aq]{\\[aq] followed by an unsigned decimal integer, "
| "possibly followed by \\[aq],\\[aq] possibly followed by another unsigned "
| "decimal integer, always followed by \\[aq]}\\[aq].  The integers must lie "
| "between 0 and B<RE_DUP_MAX> (255\\*(dg) inclusive, and if there are two of "
| "them, the first may not exceed the second.  An atom followed by a bound "
| "containing one integer I<i> and no comma matches a sequence of exactly I<i> "
| "matches of the atom.  An atom followed by a bound containing one integer "
| "I<i> and a comma matches a sequence of I<i> or more matches of the atom.  An "
| "atom followed by a bound containing two integers I<i> and I<j> matches a "
| "sequence of I<i> through I<j> (inclusive) matches of the atom."
| msgstr ""
| "Eine I<Begrenzung> ist »{« gefolgt von einer vorzeichenlosen Dezimalzahl, "

Hier fehlt die Ganzzahligkeit. Am korrektesten waere wohl:
``vorzeichenlose Ganzzahl in Dezimaldarstellung''.

``Dezimalzahl'' waere missverstaendlich, denn siehe:

	Unter einer Dezimalzahl versteht man

	- Eine Zahl im Dezimalsystem, das als Basis die Zahl 10 verwendet
	- Eine in „Kommaschreibweise“ geschriebene Kommazahl, also 0,5
	  statt 1⁄2 – siehe Nachkommastelle

	https://de.wikipedia.org/wiki/Dezimalzahl

Die zweite Bedeutung muss unbedingt vermieden werden, da gerade im
Deutschen das Komma als Dezimaltrenner vorkommt, was hier aber
keinesfalls so gedeutet werden darf. Hier ist das Komma ein
Separator. Konkret sieht das ja beispielsweise so aus: a{2,3}

| "möglicherweise gefolgt von »,«, möglicherweise gefolgt von einer weiteren "
| "vorzeichenlosen Dezimalzahl, immer gefolgt von »}«. Die ganzen Zahlen müssen "
| "zwischen 0 und B<RE_DUP_MAX> (255\\(dg) einschließlich liegen und falls es "
| "davon zwei gibt, darf die erste die zweite nicht übersteigen.

``... darf die erste nicht groesser als die zweite sein.''
(einfachere Sprache)

| Ein Atom, auf "
| "das eine Begrenzung folgt, die eine Ganzzahl I<i> und kein Komma enthält, "
| "stimmt auf eine Sequenz von genau I<i> Übereinstimmungen des Atoms überein. "
| "Ein Atom, auf das eine Begrenzung folgt, die eine Ganzzahl I<i> und ein "
| "Komma enthält, stimmt auf eine Sequenz von I<i> oder mehr Übereinstimmungen "
| "des Atoms überein. Ein Atom, auf das eine Begrenzung folgt, die zwei "
| "Ganzzahlen I<i> und I<j> enthalten, stimmt auf eine Sequenz von I<i> bis "
| "einschließlich I<j> Übereinstimmungen des Atoms überein."
| 
| #. type: Plain text
| #: archlinux debian-unstable fedora-38 fedora-rawhide mageia-cauldron
| msgid ""
| "An atom is a regular expression enclosed in \"I<()>\" (matching a match for "
| "the regular expression), an empty set of \"I<()>\" (matching the null "
| "string)\\*(dg, a I<bracket expression> (see below), \\[aq].\\[aq] (matching "
| "any single character), \\[aq]\\[ha]\\[aq] (matching the null string at the "
| "beginning of a line), \\[aq]$\\[aq] (matching the null string at the end of "
| "a line), a \\[aq]\\e\\[aq] followed by one of the characters \"I<\\[ha].[$()|"
| "*+?{\\e>\" (matching that character taken as an ordinary character), a "
| "\\[aq]\\e\\[aq] followed by any other character\\*(dg (matching that "
| "character taken as an ordinary character, as if the \\[aq]\\e\\[aq] had not "
| "been present\\*(dg), or a single character with no other significance "
| "(matching that character).  A \\[aq]{\\[aq] followed by a character other "
| "than a digit is an ordinary character, not the beginning of a bound\\*(dg.  "
| "It is illegal to end an RE with \\[aq]\\e\\[aq]."
| msgstr ""
| "Ein Atom ist ein regulärer Ausdruck, der in »I<()>« eingeschlossen ist (der "
| "eine Übereinstimmung mit dem regulären Ausdruck darstellt), eine leere Menge "
| "aus »I<()>« (der mit der leeren Zeichenkette übereinstimmt)\\(dg, ein "
| "I<Klammerausdruck> (siehe unten),

``Klammerausdruck'' ist etwas unguenstig im Deutschen. Im
Englischen gibt es drei verschiedene Begriffe fuer die drei
Klammerarten: parentheses (), brackets [], braces {}. Im Deutschen
bezeichnet Klammern alle drei. Ich denke, da ``Klammerausdruck''
uneindeutig ist, wird in der deutschen Uebersetzung von Friedls
``Regulaere Ausdruecke'' (O'Reilly) fuer ``bracket expression'' die
etwas ungenaue aber pragmatischere hilfreichere Bezeichnung
``Zeichenklasse'' verwendet. Aus meiner Sicht kann man beide Wege
gehen. Ich wollte es vor allem der Vollstaendigkeit halber
erwaehnen.

| ».« (das mit einem einzelnen Zeichen "
| "übereinstimmt), »\\[ha]« (das mit der leeren Zeichenkette am Zeilenanfang "
| "übereinstimmt), »$« (das mit der leeren Zeichenkette am Zeilenende "
| "übereinstimmt), einem »\\e« gefolgt von einem der Zeichen »I<\\[ha].[$()|*+?"
| "{\\e>« (das mit diesem Zeichen, das als normales Zeichen betrachtet wird, "
| "übereinstimmt), einem »\\e« gefolgt von einem normalen Zeichen\\(dg (das mit "
| "dem Zeichen als normales Zeichen übereinstimmt, als ob »\\e« nicht vorhanden "
| "wäre\\(dg) oder einem einzelnen Zeichen mit keiner weiteren Bedeutung (was "
| "mit diesem Zeichen übereinstimmt). Ein »{« gefolgt von einem Zeichen, das "
| "keine Ziffer ist, ist ein normales Zeichen, nicht der Anfang einer "
| "Begrenzung\\(dg. Es ist verboten, einen RA mit »\\e« abzuschließen."

| #. type: Plain text
| #: archlinux debian-unstable fedora-38 fedora-rawhide mageia-cauldron
| msgid ""
| "A I<bracket expression> is a list of characters enclosed in \"I<[]>\".  It "
| "normally matches any single character from the list (but see below).  If the "
| "list begins with \\[aq]\\[ha]\\[aq], it matches any single character (but "
| "see below) I<not> from the rest of the list.  If two characters in the list "
| "are separated by \\[aq]-\\[aq], this is shorthand for the full I<range> of "
| "characters between those two (inclusive) in the collating sequence, for "
| "example, \"I<[0-9]>\" in ASCII matches any decimal digit.  It is "
| "illegal\\*(dg for two ranges to share an endpoint, for example, \"I<a-c-"
| "e>\".  Ranges are very collating-sequence-dependent, and portable programs "
| "should avoid relying on them."
| msgstr ""
| "Ein I<Klammerausdruck> ist eine Liste von Zeichen, die in »I<[]>« "
| "eingeschlossen sind. Er stimmt normalerweise mit einem einzelnen Zeichen aus "
| "der Liste überein (siehe aber nachfolgend). Falls die Liste mit einem "
| "»\\[ha]« beginnt, stimmt er mit jedem einzelnen Zeichen (siehe aber "
| "nachfolgend) überein, das I<nicht> in der Liste ist. Falls zwei Zeichen in "
| "der Liste durch ein »-« getrennt sind, ist dies eine Abkürzung für den "
| "vollständigen I<Bereich> der Zeichen zwischen diesen zwei (einschließlich) "

Besser ``den ganzen Bereich'' statt ``den vollstaendigen Bereich''.

| "in der Zuordnungssequenz,

Ich wuerde hier ``Sortierordnung'' schreiben, denn das ist es was
inhaltlich gemeint ist. (Das betrifft weitere Stellen im Text.)

| beispielsweise stimmt »I<[0-9]>« in ASCII mit "
| "jeder dezimale Ziffer überein.

``dezimalen'' (mit `n')

| Es ist verboten\\(dg, dass zwei Bereiche den "
| "gleichen Endpunkt haben, beispielsweise »I<a-c-e>«. Bereiche hängen stark "
| "von der Zuordnungssequenz ab und portierbare Programme sollten vermeiden, "
| "davon abzuhängen."

| # FIXME Collating eher Sortieren statt Zuordnen
| # https://www.gnu.org/software/gnulib/manual/html_node/Collating-Elements-vs_002e-Characters.html
| #. type: Plain text
| #: archlinux debian-bullseye debian-unstable fedora-38 fedora-rawhide
| #: mageia-cauldron opensuse-leap-15-5 opensuse-tumbleweed
| msgid ""
| "Within a bracket expression, a collating element (a character, a "
| "multicharacter sequence that collates as if it were a single character, or a "
| "collating-sequence name for either)  enclosed in \"I<[.>\" and \"I<.]>\" "
| "stands for the sequence of characters of that collating element.  The "
| "sequence is a single element of the bracket expression's list.  A bracket "
| "expression containing a multicharacter collating element can thus match more "
| "than one character, for example, if the collating sequence includes a \"ch\" "
| "collating element, then the RE \"I<[[.ch.]]*c>\" matches the first five "
| "characters of \"chchcc\"."
| msgstr ""
| "Innerhalb eines Klammerausdrucks steht ein Zuordnungselement (ein Zeichen, "
| "eine Multizeichensequenz,

Besser ``Mehrzeichensequenz'' um die Verwechslung mit ``Multibyte''
zu vermeiden.

| das zuordnet, also ob es ein einzelnes Zeichen "

``... das so geordnet/einsortiert wird, als ob es ...''

Geordnet und sortiert scheinen mir hier gleich gut zu sein.

| "wäre oder ein Zuordnungs-Sequenzname für eines davon), das in »I<[.>« und "
| "»I<.]>« eingeschlossen ist, für die Zeichensequenz des Zuordnungselements. "
| "Die Sequenz ist ein einzelnes Element der Klammerausdruckliste.

``Die Sequenz gilt als einzelnes Element der Zeichenklasse.'' waere
klarer und direkter. ;-) Wenn ``Zeichenklasse'' hier unerwuenscht
ist, dann ``Klammerausdrucksliste'' (mit `s').

| Eine "
| "Klammerausdruckliste, die ein Multizeichen-Zuordnungselement enthält, kann "
| "daher mit mehr als einem Zeichen übereinstimmen, falls beispielsweise die "
| "Zuordnungssequenz ein Zuordnungslement »ch« enthält, dann stimmt der RA "
| "»I<[[.ch.]]*c>« auf die ersten fünf Zeichen von »chchcc«."

``dann stimmt der ... mit den ... ueberein''


| #. type: Plain text
| #: archlinux debian-unstable fedora-38 fedora-rawhide mageia-cauldron
| #: opensuse-tumbleweed
| msgid ""
| "Within a bracket expression, a collating element enclosed in \"I<[=>\" and "
| "\"I<=]>\" is an equivalence class, standing for the sequences of characters "
| "of all collating elements equivalent to that one, including itself.  (If "
| "there are no other equivalent collating elements, the treatment is as if the "
| "enclosing delimiters were \"I<[.>\" and \"I<.]>\".)  For example, if o and "
| "\\(^o are the members of an equivalence class, then \"I<[[=o=]]>\", "
| "\"I<[[=\\(^o=]]>\", and \"I<[o\\(^o]>\" are all synonymous.  An equivalence "
| "class may not\\*(dg be an endpoint of a range."
| msgstr ""
| "Innerhalb eines Klammerausdrucks ist ein in »I<[=>« und »I<=]>« "
| "eingeschlossenes Zuordnungselement eine Äquivalenzklasse, die für eine "
| "Abfolge von Zeichen aller Zuordnungselement steht, die äquivalent zu dieser "

``...elemente ... zu diesem''

| "sind, einschließlich iher selbst.

``einschliesslich ihm selbst'' (gemeint ist das Zuordnungselement)

| (Falls es keine anderen äquivalenten "
| "Zuordnungselemente gibt, erfolgt die Behandlung also ob die Begrenzer »I<[."
| ">« und »I<.]>« wären.) Falls beispielsweise o und \\(^o die Mitglieder einer "
| "Äquivalenzklasse wären, dann wären »I<[[=o=]]>«, »I<[[=\\(^o=]]>« und "
| "»I<[o\\(^o]>« alle synonym. Eine Äquivalenzklasse darf nicht\\(dg der "
| "Endpunkt eines Bereichs sein."


meillo


Reply to: