A probléma gyökere az volt, hogy a fejlesztőkhöz valamikor az a téves információ jutott el, hogy magyarul nem használunk többes számot a fordításokban, holott igen.
Ezt az információt a program fordításának fejléce tartalmazza, amit az msginit vagy kbabel programok segítségével lehet automatikusan feltölteni. Eddig jórészt nem volt gond a tévedésből és nem is foglalkozott vele senki, mivel semmi nem vetette össze a fejléc információit a valóságban használt formákkal (eltekintve a KDE-től (?), ami egy nem túl elegáns hibaüzenettel kezelte a problémát), ám a legutóbbi kiadással bejött egy ellenőrzés és a Gettext a programok fordításakor elhasal azzal, hogy a fejléc (az ő közreműködésével kitöltött) infói és a használt többes számok száma nem egyezik. A következő verzió már nem fogja ezt a hibát tartalmazni (részletek ebben a szálban).
Természetesen a meglévő fordítások, ha használnak többes számot, a téves fejlécet tartalmazzák, ennek következtében a tar és coreutils fejlesztői a gettext frissítése után a fordítást azonnal parkolópályára állították.
A gyakorlati szinten fontos rész:
A meglévő fordítások fejléceit a meglepetések elkerülése érdekében át kell írni, ha az msginit (vagy ennek előtéteként a kbabel - a poedit és a gtranslator mentesek ettől a szolgáltatástól) a
"Plural-Forms: nplurals=1; plural=0;\n"
sort helyezte el a fájlban, a következőre:
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
Ezen kívül ajánlatos a 0.15-ös Gettextre frissíteni, a hibás fejlécű fordítások kiszűrése érdekében.
- kelemengabor blogja
- A hozzászóláshoz be kell jelentkezni
- 988 megtekintés