Contents
Αρχεία .po
Οι μεταφράσεις της διεπαφής χρήστη (μενού κτλ) αλλά και της βοήθειας της εφαρμογής γίνονται με την επεξεργασία αρχείων απλού κειμένου με κατάληξη .po. Ένα αρχείο .po περιέχει μια λίστα από τα μηνύματα του προγράμματος, και κενά διαστήματα για να τοποθετήσουμε τη μετάφραση μας. Εδώ θα αναλύσουμε με λεπτομέριες τη δομή αυτών των αρχείων. Στην πράξη, οι μεταφραστές χρησιμοποποιουν βοηθητικά προγράμματα για τη μετάφραση και έτσι έρχονται ελάχιστα σε επαφή με τη μορφή αυτών των αρχείων.
Επικεφαλίδα αρχείου
Στην κορυφή κάθε τέτοιου αρχείου υπάρχει μια επικεφαλίδα.
Παράδειγμα:
msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2007-07-22 04:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n"
Αυτή η επικεφαλίδα θα έχει ήδη τιμές στα διαφορα πεδία της αν κάποιος πριν από εμάς έχει ασχοληθεί με την μετάφραση του πακέτου. Αν είμαστε οι πρώτοι που θα επεξεργαστούμε το αρχείο, τότε πρέπει να βάλουμε μερικές τιμές στα πεδία της
|
Αν χρησιμοποιούμε ένα απλό επεξεργαστή κειμένου τότε αλλάζουμε τα παρακάτω:
"Project-Id-Version:el\n" "Last-Translator: ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΜΑΣ <ηλ.διεύθυνση μας>\n" "Language-Team: Greek <team@gnome.gr>\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
- Στο project-Id-Version δίνουμε την ονομασία el (οποιοδήποτε όνομα είναι εντάξει)
- Στο Last-Translator δίνουμε το όνομα μας και την ηλ.διεύθυνση μας
- Στο Language-Team δίνουμε το όνομα της γλώσσας μας και την διεύθυνση της ομάδας μας
- Προσθέτουμε και την γραμμή "Plural-Forms: nplurals=2; plural=(n != 1);\n" η οποία είναι απαραίτητη όταν το πρόγραμμα χρησιμοποιεί μηνύματα με φόρμες ενικού/πληθυντικού.
Τα υπολοιπα πεδία τα αφήνουμε όπως έχουν.
|
Μηνύματα
Απλό μήνυμα
Παράδειγμα μεταφρασμένου μηνύματος:
msgid "Description" msgstr "Περιγραφή"
Το ίδιο μήνυμα πριν μεταφραστεί:
msgid "Description" msgstr ""
Μήνυμα c-format
#, c-format msgid "GConf error: %s" msgstr "Σφάλμα GConf: %s"
Αυτού του τύπου τα μηνύματα περιέχουν κείμενο που θα το συμπληρώσει μόνο του το πρόγραμμα όταν θα τρέξει (σε αυτή την περίπτωση είναι το %s που δεν πρέπει να τροποποιεί ή να αφαιρεί ο μεταφραστής)
Μήνυμα fuzzy
#, fuzzy msgid "Process" msgstr "Διεργασίες"
Τα μηνύματα με την ένδειξη "fuzzy" δηλώνουν ότι χρειάζονται διόρθωση γιατί είτε έχουν τοποθετηθεί εκεί αυτόματα από κάποια μεταφραστική μνήμη χωρις να τα ελέγξει ανθρώπινο μάτι, είτε γιατί ο προηγούμενος μεταφραστής δεν ήταν σίγουρος για την καταλληλότητα της μετάφρασης και άφησε μια μετάφραση ως πρόταση ή για περαιτέρω διόρθωση.
Μήνυμα με πληθυντικό (plural form)
#, c-format msgid "Delete this profile?\n" msgid_plural "Delete these %d profiles?\n" msgstr[0] "Διαγραφή αυτού του προφίλ;\n" msgstr[1] "Διαγραφή αυτών των %d προφίλ;\n"
Αυτό το μήνυμα περιέχει δυο προτάσεις για μετάφραση. Η μια είναι για τον ενικό και η άλλη για τον πληθυντικό.
Μήνυμα με underscore (σύμβολο_)
msgid "_Help" msgstr "_Βοήθεια"
Ο χαρακτήρας underscore χρησιμοποιείται για να καθορίσει τις συντομεύσεις πληκτρολογίου που θα χρησιμοποιηθούν με το πρόγραμμα. Για παράδειγμα για το μενού "_Βοήθεια", κάποιος χρήστης της εφαρμογής αντί να χρησιμοποιήσει το ποντίκι, μπορεί να πάει στο μενού με το πληκτρολόγιο πατώντας ALT - Β. Αν ήταν "Β_οήθεια" θα πατούσε ALT - O.
Στην ελληνική μετάφραση ενός μηνύματος που περιέχει underscrore δεν το διατηρούμε αναγκαστικά στην ίδια θέση με το αντίστοιχο αγγλικό μήνυμα αλλά στην βέλτιστη τοποθεσία για εμάς. Προσπαθούμε να βάλουμε το underscrore στο ελληνικό γράμμα που βρίσκετε στην ίδιο πλήκτρο με το αντίστοιχο αγγλικό γράμμα. Παράδειγμα: "_Paste" -> "Ε_πικόλληση". Δε βάζουμε ποτέ underscore μπροστά από τονισμένο χαρακτήρα. Αν δεν υπάρχει αντιστοιχία ανάμεσα σε ελληνικό και αγγλικό χαρακτήρα, βάζουμε το underscore εκεί που νομίζουμε πως είναι καλύτερα. Αν αλλάξουμε το πλήκτρο που χρησιμοποιείται από το αγγλικό μήνυμα, ελέγχουμε πως δεν υπάρχει άλλο στοιχείο μενού στο ίδιο μενού της εφαρμογής που να χρησιμοποιεί το ίδιο πλήκτρο συντόμευσης.
Μήνυμα με context
Σε ορισμένα μηνύματα υπάρχει μια σύντομη επεξήγηση που περιγράφει πως πρόκειται να χρησιμοποιηθεί το μήνυμα από την εφαρμογή έτσι ώστε να μεταφραστεί κατάλληλα. Η περιγραφή αυτή υπάρχει στο msgctxt:
#: gtk/gtkprintoperation.c:1509 msgctxt "print operation status" msgid "Printing" msgstr "Γίνεται εκτύπωση"
Γραμμές σχολίων
Το αρχείο po μπορεί να περιέχει γραμμές που ξεκινούν με το χαρακτήρα **#**. Αυτές οι γραμμές συνήθως περιέχουν οδηγίες από τους προγραμματιστές για το πώς πρέπει να μεταφραστούν κάποια ειδικά μηνύματα ή σχόλια μεταφραστών.
Παράδειγματα:
#. To translators: Here, "It" is either like "Work Week View: July #. 10th - July 14th, 2006." or "Day View: Thursday July 13th, 2006."
# translation of el.po to Greek # Greek translation of evolution. # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # 19Jan2003. kostas updated translation, translated 1525 messages, remaining 1327 and 610 fuzzy
Ακόμα τα σχόλια χρησιμοποιούνται από τους προγραμματιστές για να δείξουν από πιο σημείο του κώδικα προέρχεται το μήνυμα:
#: ../a11y/addressbook/ea-addressbook-view.c:94 #: ../a11y/addressbook/ea-addressbook-view.c:103 #: ../a11y/addressbook/ea-minicard-view.c:179 msgid "evolution addressbook" msgstr "βιβλίο διευθύνσεων evolution"
Εδώ βλέπουμε ότι αυτό το μήνυμα υπάρχει σε 3 αρχεία κώδικα και τις αντίστοιχες γραμμές σε κάθε αρχείο.
Ξεπερασμένα μηνύματα (#~)
Τα μηνύματα που έχουν μπροστά τους χαρακτήρες #~ δείχνουν μηνύματα που χρησιμοποιούσε μια παλαιότερη έκδοση του προγράμματος και τώρα έχουν ξεπεραστεί. Αυτά τα μηνύματα δεν μεταφράζονται και μπορούμε να τα σβήσουμε αν θέλουμε. Γενικά δεν επηρεάζουν σε τίποτα την μετάφραση.
|
Παράδειγμα:
#~ msgid "Error adding `%s' to environment, continuing." #~ msgstr "Σφάλμα προσθήκης `%s' στο περιβάλλον, συνέχεια."
Ακεραιότητα αρχείου
Για να ελέγξουμε την ακεραιότητα του αρχείου εκτελούμε την παρακάτω εντολή σε τερματικό (πρέπει να έχουμε εγκαταστήσει τα εργαλεία gettext στο σύστημα μας)
msgfmt -cv -o /dev/null el.po
Αν το αρχείο είναι εντάξει θα εμφανιστεί ένα μήνυμα που θα μας πληροφορεί πόσα μηνύματα είναι μεταφρασμένα:
1142 translated messages, 2 fuzzy translations, 10 untranslated messages.
Αν δεν είναι εντάξει τότε θα μας πληροφορεί για το σφάλμα και σε ποιά γραμμή του αρχείου βρίσκεται:
el.po:72: τέρμα-γραμμής (eol) στο αλφαριθμητικό msgfmt: found 1 fatal error</code> αυτό το λάθος έγινε γιατί αφαιρέθηκε (κατά λάθος) ένα εισαγωγικό από το μήνυμα: <code>#: ../data/browser.xml.h:3 msgid "Black msgstr "Μαύρο"
Λήψη αρχείων po
Μετάβαση στη σελίδα http://l10n.gnome.org/languages/el
Επιλέγουμε την τελευταία έκδοση του GNOME που αναπτύσσεται (development) ή κάποια άλλη ομάδα περιφεριακών εφαρμογών όπως το fifth-toe και extras.
|
Η σελίδα με τα στατιστικά χωρίζεται σε 2 στήλες. Η μια έχει τα αρχεία τεκμηρίωσης (δεξιά) και η άλλη τα αρχεία της διεπαφής (αριστερά). Επιλέγουμε το πρόγραμμα για το οποίο θέλουμε να κατεβάσουμε το αρχείο μετάφρασης po και αριστερά από το ονομα του υπάρχει το εικονίδιο . Κάνουμε κλικ πάνω στο εικονίδιο και εμφανίζεται μέσα στον περιηγητή ιστοσελίδων το αρχείο. Από το μενού του Firefox (File-Αρχείο) επιλέγουμε "αποθήκευση ως" και το αποθηκεύμε στον υπολογιστή μας.
|