Karl Ove Hufthammer wrote:
Onsdag 14. november 2007 skreiv Axel Bojer:
Forøvrig finner jeg masse feil i ulike filer som jeg ikke forstår noe av, for når jeg går til den linja msgfmt -c melder om, så ser jeg en helt vanlig streng der som ikke ser det minste ødelagt ut. Kan det være noe med ulike versjoner av gettext e.l.?
Forøvrig: Jeg gikk til rett linje, da jeg da bare sjekket en og en fil, så det nedenfor er uavhengig av dette :-)
Det kunne vore det, men det er det ikkje. Uansett bør du oppdatera til gettext 0.17, som handterer sjekk av fleirtalstekstar og KDE-tekstar betre.
Hmm, ser jeg har 0.16.1, ja. Oppdatere til en annen gettext er ikke bare bare, antar jeg, og jeg bruker siste versjon av Kubuntu, som ellers har ganske nye pakker for det meste :-/
msgfmt -c extragear-*/* extragear-base/akregator_konqplugin.po:4: duplisert definisjon av melding... extragear-addons/desktop_extragear-addons_kopete_skype.po:3: ...this is the location of the first definition msgfmt: (null): warning: PO file header missing or invalid warning: charset conversion will not work msgfmt: fant 2 fatale feil
msgfmt handterer ikkje fleire filer slik du trur. Dei vert i praksis slegne saman til éi fil, som er grunnen til feilmeldinga om duplikatmeldingar.
Kommandoen du er ute etter er: find . -name '*.po' | while read fil; do msgfmt -c -o /dev/null $fil; done
Ok, jeg fant en annen en i mellomtiden: for x in $(ls *); do msgfmt -c $x; done
Og denne finn fleire alvorlige feil. Eg vil verken oppdatera eller senda inn .po-filene før desse er retta.
Klarer du å rette dem? Jeg prøvde å se, men ser ingen syntaksfeil jeg gjenkjenner. Kan det være henvisningene som er feil? I den ene fila så jeg at disse var helt ulike (altså a la, men ikke presist: #: libs/dimg/loaders/pngsettings.cpp:83 istedenfor #: libs/dimg/loaders/pngsettings.cpp:73 som jeg fant i en tidligere innsjekket versjon.)
Vet ikke helt hvorfor dette har oppstått, uansett gjaldt akkurat det vel bare en fil, såvidt jeg kan huske.
Eksempel 2:
Stort sett melder msgfmt bare om «Parse error», f.eks:
kdebase/konqueror.po:687:1: parse error (+ en rekke med andre linjenummer)
Hos meg heiter det «syntaksfeil» (eg brukar vel dansk gettext), og er heilt riktig. Omsettinga har ikkje rett format samanlikna med originalteksten, og må rettast.
Hva er feil? Og hvordan rettes dette?
PS: I tilfelle jeg skulle ha klart å slette / glemme å legge inn igjen et strengepar (msgid+msgstr), da gjenskaper vel svn dette ved neste automatiske oppdatering?
Ja, msgid vert gjenoppretta. Omsettinga må du laga på nytt.
Av den ene strengen mener du vel?
Hilsen Axel