<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/0.15.99.2">
</HEAD>
<BODY>
On Τετ, 2001-10-31 at 22:06, Nikos Niktaris wrote:
<PRE><FONT COLOR="#737373">> </FONT>
<FONT COLOR="#737373">> Σίμο γεια σου,</FONT>
<FONT COLOR="#737373">> </FONT>
<FONT COLOR="#737373">> Είπα να μην τα περιμένω όλα έτοιμα ακολούθησα τις οδηγίες σου από το e-mail</FONT>
<FONT COLOR="#737373">> που έστειλες για το po-toys.</FONT>
<FONT COLOR="#737373">> </FONT>
<FONT COLOR="#737373">> Όλα καλά αλλά....</FONT>
<FONT COLOR="#737373">> </FONT>
<FONT COLOR="#737373">> όταν του δίνω την εντολή :</FONT>
<FONT COLOR="#737373">> po-make-memory.sh --memory memory --language el --cleanup --add-obsolete</FONT>
<FONT COLOR="#737373">> po/*.pο</FONT>
<FONT COLOR="#737373">> μου βγάζει :</FONT>
<FONT COLOR="#737373">> which: no msghack in (/usr/X11R6/bin:/usr/local/bin:/bin:/usr/bin)</FONT>
<FONT COLOR="#737373">> Error: 'msghack' is missing.</FONT></PRE>
Εξαρτάται από την έκδοση του gettext που έχεις.
<BR>
Η έκδοση που παρέχει η RedHat σε μορφή RPM παρέχει το πρόγραμμα msghack. Ας κοιτάξω το gettext-0.10.40.tar.gz (τελευταία έκδοση):
<BR>
<BR>
% tar tvfz gettext-0.10.40.tar.gz | grep msghack
<BR>
Exit 1
<BR>
%
<BR>
<BR>
Δεν υπάρχει στην κανονική έκδοση του gettext.
<BR>
Τί διανομή έχεις;
<BR>
<PRE><FONT COLOR="#737373">> </FONT>
<FONT COLOR="#737373">> και μετά:</FONT>
<FONT COLOR="#737373">> invalid multibyte sequence</FONT></PRE>
Α. Ίσως να προέρχεται από την απουσία του msghack
<BR>
Β. Ίσως να προέρχεται από την αποτυχία μετατροπής μεταξύ UTF-8/iso8859-7.
<BR>
1) Σε Unicode, οι χαρακτήρες αναπαριστώνται (ορθογραφία;) με περισσότερα από ένα byte. 2) Τα προγράμματα του gettext έχουν την συνήθεια να μορφοποιούν τις γραμμές msgstr με αποτέλεσμα να
<BR>
κόβουν τις γραμμές στο μέσον ενός χαρακτήρα Unicode.
<BR>
Παράδειγμα:
<BR>
msgstr "xxuuddjjssllaaoosskkooddppllwwkkqqa"
<BR>
"akkccjjsskkddiieekkww"
<BR>
<BR>
Ο χαρακτήρας "aa" έχει κοπεί άσχημα και το πρόγραμμα μετατροπής από Unicode σε iso8859-7 σου βγάζει μήνυμα για μη
<BR>
έγκυρη ακολουθία πολλαπλών byte.
<BR>
C. Ο χαρακτήρας άνω-τελεία δεν υπάρχει στο iso-8859-7 ενώ
<BR>
υπάρχει ως Unicode χαρακτήρας. Αν το αρχείο .po (iso8859-7) έχει την άνω τελεία, τότε δεν μπορεί να μεταφραστεί σε Unicode.
<BR>
Στην περίπτωση αυτή αντικαθιστούμε την άνω τελεία με κόμμα.
<BR>
<BR>
(Από τα παραπάνω, το "Β" πρέπει να είναι. Πήρα όμως την ευκαιρία να
<BR>
πω περισσότερα...:).
<BR>
<BR>
σίμος
</BODY>
</HTML>