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

Re: Patch (was Re: [RFR] po://nlme/po/R-de.po)



On Fri, May 08, 2009 at 10:06:07AM +0200, Chris Leick wrote:
> Da dies mein erster Versuch eines Patches ist, sende ich ihn zuerst mal  
> an diese Liste, damit "erfahrene Patcher" es auf Fehler abklopfen. (Ich  
> möchte schließlich nicht die Entwickler verärgern.)

Ja, richtig so!

> -------------
> Package: nlme
> Version: 3.1.90-1
> Severity: minor
> Tags: Patch
>
> Hi,
>
> The following patch should fix some errors and oddities. I've found them while translating /nlme/po/R-nlme.pot.

Lass das "/nlme/" weg. Solch einen Pfad gibt es nirgends und das Paket nlme
hast du schon erwähnt.

> There are three strings with the same meaning:
> R/corStruct.R:  stop("Initial value of nugget ratio must be between 0 and 1")
> R/corStruct.R:  stop("Initial value of nugget ratio must be in (0,1)")
> R/corStruct.R:  stop("Initial value of nugget ratio must be between 0 and 1")

Und warum erwähnst du das? Weil:

These strings need to be translated independently and it is possible to
reduce these to a single string to reduce translators work.

> -----------cut here -----start--------
>
> --- corStruct.R 2008-02-11 15:05:14.000000000 +0100
> +++ corStruct.R.orig    2009-05-08 09:32:56.000000000 +0200

Oops, ist corStruct.R.orig wirklich die ursprüngliche Datei und corStruct.R
deine Korrektur? Dann hast du die Parameter von diff verwechselt, es sollte
diff -u orig neu > meinPatch heißen.

Diesen Patch solltest du am besten auch anhängen und nicht inline einbinden.

> @@ -2144,7 +2144,7 @@
>        }
>       }
>       if ((val[2] <= 0) || (val[2] >= 1)) {
> -       stop("Initial value of nugget ratio must be in (0,1)")
> +       stop("Initial value of nugget ratio must be between 0 and 1")
>       }
>     } else {                           # only range parameter
>       if (length(val) != 1) {

> -----------cut here -----end--------

Arbeite nicht mit "cut here", sondern kombiniere die Änderungen für die drei
Zeichenketten in einem Patch. Dazu kannst du die einzelnen Patches einfach
aneinanderhängen oder besser noch diff rekursiv mit Option -r aufrufen.

Diese Patches solltest du dann testen, indem du sie auf ein unverändertes
Quellcodepaket mit patch -p1 -i patchFile anwendest. Wenn du Lust hast,
danach am besten das Paket aus dem Quellcode bauen (ist einfach!):

$ cd nlme-3.1.90-1
# apt-get build-dep nlme
# apt-get install build-essential dpkg-dev fakeroot
$ dpkg-buildpackage -rfakeroot -us -uc
# dpkg -i ../*.deb

> missing word (twice):

Dies sollte ein anderer Patch werden, da er einen richtigen Fehler
korrigiert und nicht wie oben nur etwas konsistent macht.

> Concatenation of multiple parts of a string to simplify translations:

Ebenso ein separater Patch.

> --- lme.R       2009-05-08 09:56:51.000000000 +0200
> +++ lme.R.orig  2009-05-08 09:59:44.000000000 +0200
> @@ -197,9 +197,9 @@
>                      "and \"correlation\""))
>         }
>         if (corQ < lmeQ) {
> -          warning(paste("Cannot use smaller level of grouping for",
> -                        "\"correlation\" than for \"random\". Replacing",
> -                        "the former with the latter."))
> +          warning("Cannot use smaller level of grouping for\n",
> +                        "\"correlation\" than for \"random\". Replacing\n",
> +                        "the former with the latter.")

Heh, hast du das getestet? Ich glaube nicht, dass warning() mehrere durch
Kommata getrennte Parameter akzeptiert, oder doch? Auch ob das paste() beim
Zusammenfügen Zeilenumbrüche einfügt, war nur eine Vermutung von mir.
Eventuell auch nicht.

Was aber definitiv gehen sollte, ist:

warning("Cannot use smaller level of grouping for\n\"correlation\" than for \"random\". Replacing\nthe former with the latter.")

d.h. alles auf einer Zeile (eventuell ohne \n). Das könnte zwar den internen
Formatierungsrichtlinien widersprechen, ist aber definitiv besser als zuvor.
Eventuell geht auch:

warning("Cannot use "
"smaller level of grouping "
...
)

Solche Änderungen würde ich nur nach einem Test schicken. Ich bin aber
sicher, dass kriegst du schnell hin.

> +          warning("Cannot use smaller level of grouping for\n",
> +                        "\"correlation\" than for \"random\". Replacing\n",
> +                        "the former with the latter.")

Gehört mit in den letzten Patch.

> -    stop ("starting values for the fixed component are not the correct length")
> +    stop ("starting values for the fixed component are not of the correct length")

Mit dem anderen ähnlichen Patch kombinieren.

Sonst sieht es gut aus! Du solltest aber auch noch erläutern, warum du auf
das paste() verzichten willst, nämlich wegen der nahezu unmöglichen
Übersetzung.

Jens


Reply to: