Δημιουργία και χρήση μεταφραστικής μνήμης
Σημείωση: Για παρακάτω κείμενο χρησιμοποιήθηκαν πληροφορίες
από τις σελίδες:
The KBabel Handbook - Chapter 5. Dictionaries,
Οδηγίες δημιουργίας και χρήσης μεταφραστικής μνήμης
του Νίκου Χαρονιτάκη, και
Χρήση μεταφραστικής μνήμης με παραδείγματα - GNOME
του Σίμου Ξενιτέλλη.
Η μεταφραστική μνήμη είναι ένα από τα ισχυρά χαρακτηριστικά του kbabel. Στην ουσία είναι μία βάση μεταφρασμένων μηνυμάτων (βασισμένη σε Berkeley Database, η οποία θα πρέπει να είναι ήδη εγκατεστημένη), που φτιάχνεται από το χρήστη και ανανεώνεται συνεχώς. Τα δεδομένα αυτά μπορεί στη συνέχεια να τα χρησιμοποιήσει για την εξαγωγή μηνυμάτων, είτε για την «πρόχειρη μετάφραση» ενός αρχείου pot ή για την αναζήτηση προτάσεων ή λέξεων κατά την επεξεργασία ενός αρχείου po, ενώ η αναζήτηση είναι εξαιρετικά γρήγορη.
Δημιουργία μεταφραστικής μνήμης
Η βάση μπορεί να δημιουργηθεί πολύ εύκολα μέσω του σχετικού παραθύρου, που είναι προσβάσιμο από το μενού 'Ρυθμίσεις / Ρύθμιση Λεξικού / Βάση δεδομένων μετάφρασης' του kbabel (έκδοση 1.10 - σε άλλες εκδόσεις ίσως υπάρχουν διαφορές). Στην καρτέλα 'Βάση δεδομένων' υπάρχουν οι επιλογές: 'Σάρωση ενός αρχείου PO', 'Σάρωση φακέλου' και 'Σάρωση φακέλου & υποφακέλων'.
Από αυτά είναι φανερό ότι τα αρχεία εισόδου μας θα είναι κάποια αρχεία po. Εδώ υπάρχουν δύο εναλλακτικές ως προς τα αρχεία που θα χρησιμοποιήσουμε.
- Χρήση του τοπικού αντιγράφου του SVN.
Η μέθοδος αυτή έχει το μειονέκτημα ότι ο χρήστης θα πρέπει να έχει στη διάθεσή του ένα ολοκληρωμένο και ενημερωμένο αντίγραφο του repository. Από την άλλη μεριά, αν κάποιος ούτως ή άλλως διατηρεί ένα αντίγραφο του SVN, δεν θα χρειαστεί να κάνει επιπλέον λήψη αρχείων.
Το μόνο που χρειάζεται να γίνει είναι η επιλογή του 'Σάρωση φακέλου & υποφακέλων' και η εισαγωγή του φακέλου όπου είναι αποθηκευμένα τα αρχεία po.
- Χρήση του αρχείου επιτομής po.
Η μέθοδος αυτή έχει το πλεονέκτημα ότι απαιτείται η λήψη ενός μόνο αρχείου, το οποίο είναι συμπιεσμένο με bzip2, και είναι ιδανική για χρήστες με 'αργή' σύνδεση. Αφού λοιπόν γίνει η λήψη του αρχείου 'el.messages.bz2' (δεσμός υπάρχει στη σελίδα Λήψη αρχείων) και η αποσυμπίεσή του, το αρχείο που θα προκείψει (el.messages) θα πρέπει να μετονομαστεί σε 'el.messages.po' (για να μπορέσει να το διαβάσει το kbabel).
Στη συνέχεια με επιλογή του 'Σάρωση ενός αρχείου PO', γίνεται η δημιουργία της βάσης.
Σημείωση- Το αρχείο el.messages θα μπορούσε να οριστεί σαν αρχείο επιτομής po, και να χρησιμοποιηθεί σαν τέτοιο. Όμως προτείνεται η εισαγωγή του στην μεταφραστική μνήμη αφού η αναζήτηση σε αυτήν είναι εξαιρετικά γρήγορη.
- Θα μπορούσε να γίνει εισαγωγή των αρχείων επιτομής po και των δύο κλάδων (stable και trank), ώστε να υπάρχει μεγαλύτερη ποικιλία μηνυμάτων στη μεταφραστική μνήμη.
Χρήση μεταφραστικής μνήμης
Η μεταφραστική μνήμη μπορεί να χρησιμοποιηθεί με δύο τρόπους.
α. Πρόχειρη μετάφραση αρχείου
Έστω ότι βλέπουμε στον 'Διαχειριστή καταλόγου' (catalogmanager), στο μενού 'Εργαλεία' ότι για το αρχείο kopete.pot του module kdenetwork δεν υπάρχει το αντίστοιχο po, και θέλουμε να αρχίσουμε τη μετάφρασή του.
- Ανοίγουμε το αρχείο κάνοντας διπλό κλικ πάνω του. Το αρχείο θα ανοίξει στο kbabel
- Επιλέγουμε 'Εργαλεία / Πρόχειρη μετάφραση...' και εμφανίζεται το σχετικό παράθυρο
- Στο πλαίσιο 'Επιλογές' θα πρέπει να είναι ενεργοποιημένα και τα δύο πεδία (δηλ. τα 'Σήμανση τροποποιημένων καταχωρήσεων ως ασαφείς' και 'Αρχικοποίηση καταχωρήσεων σχετικές με το KDE').
- Επίσης στο πεδίο 'Λεξικά / Χρήση:' φροντίζουμε να υπάρχει μόνο το 'Βάση δεδομένων μετάφρασης' και πατάμε 'Έναρξη'
- μετά από κάποιο χρονικό διάστημα, αφού ολοκληρωθεί η διαδικασία αυτόματης μετάφρασης του αρχείου, θα πάρουμε ένα μήνυμα με τα στατιστικά της μετάφρασης
- Αποθηκεύουμε το αρχείο στον κατάλογο kde-l10n/el/messages/kdenetwork με όνομα kopete.po και συνεχίζουμε τη μετάφρασή του κατά τα γνωστά.
Με αυτόν τον τρόπο επιτυγχάνουμε την συμπλήρωση των μηνυμάτων που υπάρχουν ήδη στη βάση, έστω κι αν αυτά σημειώνονται ως ασαφή, πράγμα που σημαίνει λιγότερη δουλειά για τον μεταφραστή.
Σημείωση
H παραπάνω μέθοδος μπορεί να χρησιμοποιηθεί και στην περίπτωση που
έχουμε ένα αρχείο με πολλά αμετάφραστα και ασαφή μηνύματα.
β. Μετάφραση μηνύματος ή τμήματος αυτού
Η παραπάνω διαδικασία παρότι είναι ιδιαίτερα χρήσιμη, έχει ένα μειονέκτημα: η επιτυχής εύρεση ενός μηνύματος στη μεταφραστική μνήμη προϋποθέτει 100% ταίριασμα των μηνυμάτων. Αυτό έχει ως αποτέλεσμα πολλά μηνύματα που θα μπορούσαν να συμπληρωθούν με τη χρήση αυτής της μεθόδου, να μένουν κενά.
Για το λόγο αυτό υπάρχουν στο kbabel τα ακόλουθα δύο υπομενού (στο μενού που εμφανίζεται με δεξί κλικ στην περιοχή 'Αρχική συμβολοσειρά (msgid):'):
- Αναζήτηση κειμένου / Βάση δεδομένων μετάφρασης
Πραγματοποιεί αναζήτηση ολόκληρου του μηνύματος στη μεταφραστική μνήμη και επιστρέφει όλα τα ταιριάσματα (άσχετα με το ποσοστό ταιριάσματος)
- Αναζήτηση επιλεγμένου κειμένου / Βάση δεδομένων μετάφρασης
Πραγματοποιεί αναζήτηση του επιλεγμένου τμήματος του μηνύματος στη μεταφραστική μνήμη και επιστρέφει όλα τα ταιριάσματα (άσχετα με το ποσοστό ταιριάσματος)
Στη συνέχεια ο χρήστης μπορεί να επιλέξει την αντιγραφή οποιουδήποτε ταιριάσματος (ή τμήματος αυτού) στο πεδίο 'Μεταφρασμένη συμβολοσειρά (msgstr):'