Re: [team-gnome-gr] Μνεία μεταφρασ τών
- From: Simos Xenitellis <simos lists googlemail com>
- To: manolis kapcom gr
- Cc: team lists gnome gr
- Subject: Re: [team-gnome-gr] Μνεία μεταφρασ τών
- Date: Wed, 17 Nov 2010 01:02:28 +0200
2010/11/16 Εμμανουήλ Καπερνάρος
<manolis kapcom gr>
Στις 16/11/2010 08:33 μμ, ο/η Simos Xenitellis έγραψε:
2010/11/16 Εμμανουήλ Καπερνάρος <manolis kapcom gr>:
Στις 16/11/2010 05:55 μμ, ο/η Simos Xenitellis έγραψε:
2010/11/16 Εμμανουήλ Καπερνάρος <manolis kapcom gr>:
Στις 15/11/2010 11:19 μμ, ο/η Εμμανουήλ Καπερνάρος έγραψε:
Στις 15/11/2010 10:56 μμ, ο/η Simos Xenitellis έγραψε:
2010/11/15 Εμμανουήλ Καπερνάρος <manolis kapcom gr>:
Παρατήρησα στο Banshee πηγαίνοντας "Βοήθεια>Περί>Μνεία>Μετάφραση από>", ότι
κάποια ονόματα μεταφραστών όπως και της ελληνικής γλώσσας, τα βγάζει με
ερωτηματικά "?????? ?????". Σε τι οφείλεται; Μπορούμε να το διορθώσουμε;
Μανώλη,
Το αρχείο με τα ονόματα των μεταφραστών είναι το
http://git.gnome.org/browse/banshee/tree/src/Core/Banshee.Core/Resources/translators.xml
Το αρχείο είναι σωστά σε UTF-8, οπότε το πρόβλημα είναι στο κώδικα και
στο πως διαβάζει το .xml.
Οι εντολές που διαβάζουν το translators.xml είναι
XmlDocument doc = new XmlDocument ();
doc.LoadXml (AssemblyResource.GetFileContents
("translators.xml"));
Δε φαίνεται κάτι στραβό.
Οπότε, μπορείς να ελέγξεις στο
https://bugzilla.gnome.org/browse.cgi?product=banshee
αν το πρόβλημα έχει ήδη αναφερθεί; Αν όχι, τότε κάνε μια αναφορά σφάλματος.
Το πρόβλημα είναι ότι ο κώδικας του Banshee εμφανίζει τους μεταφραστές
ως κείμενο ASCII, αντί για UTF-8.
Σίμος
ΟΚ το ελέγχω και θα ενημερώσω.
--
Μανώλης
Συγκεκριμένα το xml αρχείο που βλέπουμε εμείς με ερωτηματικά είναι το
http://git.gnome.org/browse/banshee/tree/src/Core/Banshee.Core/Resources/translators.xml?h=stable-1.8
μιας και στο 10.10 έχουμε το Banshee 1.8.
Βρήκα ένα παλιό bug report και έκανα ένα σχόλιο.
https://bugzilla.gnome.org/show_bug.cgi?id=506556
Πριν κάνω το σχόλιο δοκίμασα το Banshee σε Ubuntu 9.10, 10.04, Linux Mint
Debian Edition και openSUSE.
Όλα έχουν την 1.6 του Banshee.
Το openSUSE όμως δεν είχε πρόβλημα και εμφάνιζε κανονικά τους χαρακτήρες.
Στο bug report λένε πως το έχουν λύσει με μια τροποποίηση σε ένα Makefile.
Μήπως δε γίνεται με το σωστό τρόπο το compile στο Ubuntu και στο Mint?
Παρεμπίπτοντος η κάθε διανομή κάνει μόνη της compile και packaging ή τα
παίρνουν πακεταρισμένα από το Debian?
Προσπάθησα να το κάνω compile μόνος μου αλλά είχα σφάλματα.. θα το
ξαναπροσπαθήσω..
Μπορείς να δεις τον πηγαίο κώδικα του εγκατεστημένου banshee με
apt-get source banshee
Από το επίραμμα/'patch',
http://bugzilla-attachments.gnome.org/attachment.cgi?id=114732
μπορούμε να διαπιστώσουμε αν η έκδοση του Debian/Ubuntu διαθέτει την
προσθήκη.
Δοκίμασέ το.
Για τη μεταγλώττιση του banshee, πρέπει να βάλεις τις εξαρτήσεις για
μεταγλώττιση.
Αυτό το κάνεις με μια εντολή,
sudo apt-get build-dep banshee
Δοκιμάζεις να μεταγλωττίσεις. Για τη δημιουργία του translators.xml το
Banshee τρέχει ένα μικρό
αυτόνομο πρόγραμμα C#. Κατά το επίραμμα, είναι το TranslatorExtractor.cs.
Σίμος
Σίμο χάρη στη βοήθειά σου εντόπισα το πρόβλημα!
Το Makefile δεν ήταν ακριβώς ίδιο στο κώδικα που έχει το Ubuntu.
Έβαλα σε σχόλιο τη γραμμή που ήταν λάθος και πρόσθεσα αυτή από το patch:
$(TRANSLATOR_EXTRACTOR_ASSEMBLY): TranslatorExtractor.cs
if [ "x$(top_srcdir)" = "x$(top_builddir)" ]; then \
# $(MCS) -out:$@ $< && LC_ALL=en_US.UTF-8 $(MONO) $@
$(top_builddir)/po > \
$(MCS) -out:$@ $< && LC_ALL=en_US.utf8 $(MONO) $@ $(top_builddir)/po
\
$(top_srcdir)/src/Core/Banshee.Core/Resources/translators.xml; \
fi;
Έκανα μεταγλώττιση και τα ονόματα εμφανίστηκαν σωστά στη Μνεία! :)
Το περίεργο είναι ότι το πρόγραμμα δεν ήταν εξελληνισμένο μετά.. ίσως είναι
άσχετο αυτό οκ..
Όπως καταλαβαίνω, η αλλαγή που έκανες είναι από en_US.UTF-8 σε
en_US.utf8. Έτσι δεν είναι;
ναι αυτό έκανα
Παλαιότερα οι διανομές χρησιμοποιούσαν τη μορφή '.UTF-8' και τώρα
βλέπω στο Ubuntu το '.utf8'.
Πάντως, όταν θέτω
export LANG el_GR.UTF-8
gedit
ή
export LANG el_GR.utf8
gedit
έχω το ελληνικό gedit, οπότε και τα δύο λειτουργούν. Είναι πιθανό με
το mono να μην καταλαβαίνει ότι αυτά τα δύο είναι ίδια;
και το banshee ελληνικό εμφανίζεται και με el_GR.UTF-8 και με
el_GR.utf8 όταν τρέχω το εγκατεστημένο όπως έκανες με το gedit.
απλώς όταν τρέχω το
~/banshee/bin/Banshee.exe που
μεταγλώττισα εγώ, βγαίνει αγγλικό.. κάτι κάνω εγώ λάθος μάλλον.
Για να βγαίνει το Banshee που μεταγλώττισες αγγλικό, τότε είναι πιθανό για κάποιο λόγο να μη βρίσκει τις μεταφράσεις. Μπορείς να τρέξεις το Banshee με π.χ.
strace -f -o output.txt ./Banshee.exe
Στο output.txt θα καταγραφούν οι προσπάθειες για άνοιγμα αρχείων, οπότε με π.χ.
grep '^open(' output.txt
ή
grep locale output.txt
μπορείς να δεις αν ψάχνει πραγματικά για την ελληνική μετάφραση, και που ψάχνει.
To patch το βλέπω περασμένο και στα 3 από τα παραπάνω. Το ότι κάνει αναφορά στο LC_ALL=en_US.UTF-8 σημαίνει ότι το patch είναι περασμένο.
Έτρεξα την εντολή apt-get source banshee (λαμβάνει το 1.6) και είδα ότι υπάρχει το «LC_ALL=en_US.UTF-8»
.
Μπορείς να επιβεβαιώσεις ότι δεν υπάρχει αναφορά για LC_ALL=en_US.UTF-8
στο δικό σου apt-get source;
Κανονικά, UTF-8 == utf8.
Από περιέργεια λοιπόν μεταγλωττίζω το 1.9 χωρίς να διορθώσω το λάθος
και λειτουργεί κανονικά!
Το δοκίμασα και με την αλλαγή σε utf8 και έπαιξε πάλι.. αλλά
τέλοσπάντων δεν χρειάζεται..
Το ζήτημα με το en_US.utf8 / en_US.UTF-8 είναι ότι πρέπει να έχει το locale ο 'build server' του Debian ή Ubuntu για να δουλέψει σωστά. Κατά τη μεταγλώττιση πρέπει να υπάρχει το συγκεκριμένο locale.
Οπότε κατέβασα και το 1.8 από το git για να συγκρίνουμε όμοια
πράγματα και παίζει και εκεί χωρίς να κάνω τη διόρθωση!
Συγκεκριμένα τη μεταγλώττιση την κάνω ως εξής:
- Για το πηγαίο κώδικα από το ubuntu:
apt-get source banshee
cd banshee-1.8.0
./configure --disable-ipod #πετάει
σφάλματα με το ipod
make
- Για το πηγαίο κώδικα από το git:
cd banshee
git checkout origin/stable-1.8
./autogen.sh --disable-ipod
./configure --disable-ipod
make -i #βάζω -i για να αγνοεί κάτι
σφάλματα του mono που δεν καταλαβαίνω :P
και τρέχω όπως είπα παραπάνω το
bin/Banshee.exe
Δύο ίδιες εκδόσεις λοιπόν (1.8) η μία από το git.gnome και η άλλη
από το ubuntu συμπεριφέρονται διαφορετικά.
Πως συνεχίζουμε;
Αν κατάλαβα καλά, όταν εσύ μεταγλωττίζεις το translators.xml είναι μια χαρά. Το πακέτο που μεταγλωττίστηκε από το Debian/Ubuntu έχει το πρόβλημα. Οπότε το πιο πιθανό είναι ο build server να μην έχει το locale 'en_US.UTF-8'.
Σίμος
υ.γ.
Με 'git blame build/Makefile.am' μπορείς να δεις πότε μπήκε η διόρθωση με το locale.
Συγκεκριμένα,
7d736c2a (Iain Lane 2009-10-10 21:39:48 +0100 22) $(MCS) -out:$@ $< && LC_ALL=en_US.UTF-8 $(MONO) $@ $(top_builddir)/po
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]