gettext (0.14.5) , FreeBSD 5.4 og UTF8 / ISO-8859-1

From: Christian Winther (none@neo--c.dk.lh.bsd-dk.dk)
Date: Sun 26 Jun 2005 - 00:38:03 CEST


From: "Christian Winther" <none@neo--c.dk.lh.bsd-dk.dk>
To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk>
Subject: gettext (0.14.5) , FreeBSD 5.4 og UTF8 / ISO-8859-1
Date: Sun, 26 Jun 2005 00:38:03 +0200

Jeg har igennem de sidste 6 måneder haft et problem med min gettext på mine
BSD maskiner.

Problemet består i at gettext konstant overskriver mit charset (ISO-8859-1)
til UTF8 når jeg opdater min .po fil ( har prøvet med --omit-header ) - men
den ændrer stadig mit charset til UTF8 - men hvis jeg f.eks. skiver da_DK
så kommer output korrekt ud (gennem PHP og til .po filen) - men den tilføjer
ikke nye gettext positioner fordi det ikke er et korrekt charset.

Jeg har sammensat et lille .sh script jeg bruger til at udføre opdateringer
af min .po fil og er som følger:

<!-- Start Snippet -->
#!/bin/sh

/usr/home/siteserv.dk/htdocs/locale/system/update-files.php > \
/usr/home/siteserv.dk/htdocs/locale/system/files

/usr/local/bin/xgettext \
        --debug \
        -F \
        -j \
        --from-code=ISO-8859-1 \
        --files-from=/usr/home/siteserv.dk/htdocs/locale/system/files \
        --language=PHP \
        --output=/usr/home/siteserv.dk/htdocs/locale/system/danish.po

/usr/local/bin/pico /usr/home/siteserv.dk/htdocs/locale/system/danish.po

/usr/local/bin/msgfmt \
      -o /usr/home/siteserv.dk/htdocs/locale/da_DK/LC_MESSAGES/messages.mo \
      -v \
      /usr/home/siteserv.dk/htdocs/locale/system/danish.po

<!-- End Snippet -->

Min .po fil ser således ud (Før jeg har kørt mit .sh) (relevant data)

<!-- Start Snippet -->
(...)
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

#: /usr/home/siteserv.dk/htdocs/template/cust/default/domain_free.php:13
msgid "The domain"
msgstr "Domænet"

(...)
<!-- End Snippet -->

Min .po fil ser således ud (Efter jeg har kørt mit .sh) (relevant data)

<!-- Start Snippet -->

"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: /usr/home/siteserv.dk/htdocs/template/cust/default/domain_free.php:13
msgid "The domain"
msgstr "DomÃÂænet"

<!-- End Snippet -->

Jeg fik en kammerat til at efterprøve den same fil på hans FreeBSD 4.x
maskine - og med gettext 0.13.1 - og han oplever ikke det samme problem -
det fungerer som det burde for ham.

Jeg har googlet rundt for at kunne finde et svar på dette - men uden held -
der er nogle der har haft samme problem - men der er ikke postet nogle
løsninger efterfølgende på disse poster.

Mvh.
Christian 'Jippi' Winther



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:50 CET