+++
title = 'NLS+GNU - Τι-πώς-πού-πότε-γιατί;'
date = '1998-11-01T00:00:00Z'
description = ''
author = 'Νίκος Μαυρογιαννόπουλος'
issue = ['Magaz 09']
issue_weight = 4
+++

----------------------------------------------------------------------------------------------------------------------------------------------------------------

*Το NLS (National Language Support) είναι μια από τις πολλές προσπάθειες για να πείσουμε τον υπολογιστή (και τον εαυτό μας) να μιλήσει πολλές γλώσσες (στην
προκειμένη περίπτωση ελληνικά).*

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Όσο περνάει ο καιρός όλο και περισσότερα προγράμματα το υποστηρίζουν (με αποκορύφωμα την GNUlibc2). Έτσι μπορούμε να βλέπουμε ελληνικά σε όλα σχεδόν τα GNU
προγράμματα, που συμπληρώνουν τον linux πυρήνα. Τα προγράμματα αυτά για την μεταφρασή τους χρησιμοποιούν το gettext (Μερικά προγράμματα χρησιμοποιούν την
catgets). Εδώ θα επικεντρωθούμε στο GNU gettext.

Ήδη έχουνε μεταφραστεί τα gettext, file-utils, shar-utils,wget , tcsh, και sh-utils. Τις μεταφράσεις των προγράμματων μπορείτε να τις βρείτε στο
<ftp://chloe.cs.teiath.gr/pub/nls>.

**1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;**
---------------------------------------------------------------------------------------

**2. Πώς να μεταφράσετε ένα πρόγραμμα;**
--------------------------------------------------------------

**3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;**
--------------------------------------------------------------------------------------

**4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;**
---------------------------------------------------------------------------------


### [1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;]{#s1}

Προγράμματα που θα χρειαστούν: [Autoconf](ftp://prep.ai.mit.edu/pub/gnu/autoconf-2.12.tar.gz)\
[Gettext](ftp://prep.ai.mit.edu/pub/gnu/gettext-0.10.tar.gz)

Στο chloe υπάρχουν τα xxx-el.po αρχεία. Αυτά περιέχουν την ελληνική μετάφραση του προγράμματος, και όπως καταλαβαίνετε δεν αρκούν. Πρέπει να κατεβάσετε από
κάποιο mirror της gnu (ή από το δεύτερο cd του slackware, infomagic κλπ) το αντίστοιχο πρόγραμμα. Πχ για τα shar-utils (uuencode κλπ) το shar-utils-4.2.tar.gz.
Αφού το αποσυμπιέσετε και το βάλετε σε κάποιον κατάλογο, αντιγράψετε το shar-utils-4.2.el.po (μην ανησυχήσετε αν κάπου οι εκδόσεις δεν συμφωνούν) στον po/
κατάλογο σαν el.po. Ανοίξτε το configure.in στον κατάλογο του sharutils και προσθέστε στο ALL\_LINGUAS το \'el\'. Αυτό ήτανε. Τρέξτε το autoconf (Ναι, δυστυχώς
πρέπει να το έχετε μαζί με το gettext, αλλά υπάρχουν σε όλα τα mirror του GNU) και συνεχίστε την διαδικασία της εγκατάστασης έχοντας στην μεταβλητή
περιβάλλοντος LINGUAS την επιλογή \'el\' ,ώστε να προστεθούν μόνο τα ελληνικά (προσοχή τα νέα binaries συνήθως πάνε στο /usr/local/bin οπότε φροντίστε να
ανανεώσετε το PATH σας). Αν τρέξετε κάποιο νέο πρόγραμμα με nls και δείτε ότι δεν \'μιλάει\' ελληνικά, μην τρομάξετε. Το nls θα ενεργοποιηθεί μόνο αν έχετε
δηλώσει την LANG ίση με el (export LANG=el για bash).

\*Προσοχή: Η Glibc2 έχει(είχε) δύο ατέλειες. 1) Η ελληνική γλώσσα συμβολίζεται με gr αντί του el (iso639 country codes), και 2) το LC\_MESSAGES που δηλώνει τις
εκφράσεις yes-no έχει μόνο τα Ν/ν - Ο/ο (ενώ θα έπρεπε να έχει και τα y/Y - N/n). Ετσι για το πρώτο πρεπει να συνδέσετε τον κατάλογο el με τον gr στο
/usr/share/locale ή /usr/local/share/locale (ln -s /usr/share/locale/gr /usr/share/locale/el) . Για το LC\_MESSAGES μπορείτε να το αλλάξετε και μόνοι σας με
κάποιον κειμενογράφο, ή να κατεβάσετε την τελευταία έκδοση της glibc2 (+localedata) όπου έχει διορθωθεί.


### [2. Πώς να μεταφράσετε ένα πρόγραμμα;]{#s2}

Γιατί εγώ; θα αναρωτιέστε μερικοί. Δικαιολογίες για να μην μεταφράσετε υπάρχουν πολλές:) Εγώ απλώς σας παροτρύνω να μην προτιμάτε το μασημένο φαϊ, προτιμήστε να
συμμετάσχετε στην εξέλιξη του λειτουργικού που επιλέξατε (και μπορείτε γιατί είναι το GNU/Linux!). Ούτε ούτε το GNU ούτε ο Stallman ούτε ο Linus μπορούν να σας
προσφέρουν το linux στα ελληνικά, μόνο εσείς μπορείτε! Δοκιμάστε. Η διαδικασία είναι απλή. Kάθε νέο GNU πρόγραμμα που περιέχει το ABOUT-NLS υποστηρίζει NLS, και
είναι απλό για κάποιον να το μεταφράσει. Αρκεί να κοιτάξει τον po/ κατάλογο. Εκεί υπάρχουν (πάλι για παράδειγμα παίρνω τα shar-utils) τα sharutils.pot fr.po
de.po κλπ\... Το sharutils.pot περιέχει όλα τα μηνύματα του προγράμματος μέσα σε ένα δήλωση msgid και έχει κενή την msgstr. Όπως θα δείτε από τα άλλα .po το
msgstr είναι το πεδίο που θα τοποθετηθεί η μετάφραση. Πχ.

----------------------------------------------------------------------------------------------------------------------------------------------------------------

    #: src/chgrp.c:117
    #, c-format
    msgid "group of %s changed to %s\n"
    msgstr "Η ομάδα του %s άλλαξε σε %s.\n"

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Συμβουλευτήτε και τις γαλλικές μεταφράσεις (fr.po) αφού το συντακτικό τους είναι ίδιο με το ελληνικό (ή μάλλον το αντίθετο:). Οι δηλώσεις με \# αγνοούνται μόνο
όταν υπάρχει κενό μετά τον χαρακτήρα \#. Δηλαδή οι δηλώσεις που βλέπετε παραπάνω δεν μπορούν ούτε και πρέπει να αλλάξουν. Aφού το μεταφράσετε το sharutils.pot
σώστε το σαν el.po (η διαδικασία από εδώ και πέρα είναι ίδια με παραπάνω).


### [3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;]{#s3}

Ξέρουν; Πολλές φορές χρησιμοποιούμε αγγλικές έννοιες χωρίς να ξέρουμε τι ακριβώς σημαίνουν στα ελληνικά, δηλαδή τις χρησιμοποιούμε εμπειρικά, για παράδειγμα
proxy server, verbose mode κλπ. Ο νέος χρήστης δεν είναι ούτε τόσο έμπειρος, ούτε θέλει να ανατρέχει από λεξικό σε λεξικό για να δει τι σημαίνει το buffer.
Επίσης μην ξεχνάμε και τους μη γνώστες της αγγλικής (και δεν είναι λίγοι), γιατί πρέπει να τους αποτρέπουμε από τους υπολογιστές (εδώ από το linux); Ο
υπολογιστής πρέπει να μάθει την γλώσσα μας, όχι εμείς την δική του.


### [4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;]{#s4}

Ο [Σίμος Ξενιτέλης](mailto:simos@teiath.gr). Σε αυτόν πρέπει να στέλνετε τις μετάφρασεις GNU προγράμματων. Για οτιδήποτε άλλο μπορείτε να επικοινωνήσετε [μαζί
μου](mailto:nmav@i-net.paiko.gr).

ΥΓ. Για τους μέλλοντες μεταφραστές: Για κάθε πρόβλημα συμβουλευτήτε το (προσχέδιο) λεξικό που υπάρχει στο <http://linux.airtour.gr/grlinux/vocabulary.txt>

Παραπομπές: <ftp://chloe.cs.teiath.gr/pub/nls/greek-linux-users.html>\
<ftp://prep.ai.mit.edu/pub/gnu/ABOUT-NLS>

