Was tun, wenn's beim SVN update Konflikte gibt?
Burkhard Lück
lueck at hube-lueck.de
Mon Nov 8 23:27:28 CET 2010
Am Montag, 8. November 2010, um 22:17:23 schrieb Gerhard Stengel:
> Hallo,
>
> ich habe mal auf meinen KDevelop4/stable Ordner ein SVN update losgelassen,
> da ja schon einiges eingecheckt wurde. Allerdings sind jetzt in ein paar
> anderen .po-Dateien Konflikte entstanden. Warum ist das so?
Weil Subversion und alle anderen Versionsverwaltungssysteme für
Übersetzungskataloge (gettext- / po-Dateien) nur bedingt geeignet sind.
Für das Gettextsystem ist nur Status der Nachricht, msgctxt und msgid
maßgebend; und hier spielt noch nicht einmal die Formatierung oder die
Reihenfolge der Statusangaben eine Rolle.
Du kannst eine msgid aus vielen Wörten in eine Zeile schreiben oder auch für
jedes Wort eine eigene Zeile benutzen.
Solange jedes Wort oder der ganz lange Satz aus vielen Wörtern nur in Kommata
(") eingeschlossen ist, sind für das dann für Gettext gleiche msgid's (das ist
jetzt ein kleines bißchen vereinfacht - ich wills nicht zu kompliziert machen
- aber im Prinzip korrekt).
Auch die Reihenfolge der Nachrichten in der po_datein sind für Gettext
unwichtig, ob die Nachricht samt Übersetzung am Anfangoder Ende oder in der
Mitte steht, das ist egal.
Versionsverwaltungssysteme verstehen sowas natürlich nicht, die sehen po-
Dateien als Textdateien, in denen jede Änderung bedeutsam ist.
> An den
> Übersetzungen werkele ja nur ich im Moment herum, glaube ich. Kann es
> sein, dass (ein Entwickler) das Skript Messages.sh aufruft?
Das (Nachrichten via Messages.sh extrahieren und mit den vorhandenen
Übersetzungen 'mergen') macht Scripty einmal am Tag für trunk + stable.
Wenn jetzt ein Entwickler am Quelltext im 'String Freeze' arbeitet, fügt er
zum Beispiel neuen Code ein oder ändert vorhanden Code, aber nicht die
Nachrichten, das ist nicht erlaubt.
Damit wird auch Text in der po-Datei geändert (z. B. Zeilennummer der
Nachricht im Code. Nachricht in andere Datei verschoben...).
Es gibt noch viele weitere Ursachen, die zu einer Änderung von Text in der po-
Datei führen, die zu übersetzenden Nachrichten aber nicht verändern, daher im
'String Freeze' erlaubt und für Gettext und die Übersetzung bedeutungslos
sind.
Diese bedeutungslosen Textänderungen verstehen Versionsverwaltungssysteme wie
SVN nicht, daher deine Konflikte, die für Gettext nicht existieren.
> Soll ich
> versuchen, die po-Dateien wieder zu mergen und sie wieder ins Review-Board
> stellen, damit der checkin dann geschmeidiger geht?
>
"Im Prinzip" ja, das hängt aber von der Zahl der Konflikte ab. Bei der Doku (da
verstehen Versionsverwaltungssysteme noch weniger als bei der GUI) benuzte ich
zum Patchen immer die alte Version, gegen die der Diff fürs Reviewboard
erstellt wurde.
--
Burkhard Lück
More information about the kde-i18n-de
mailing list