Ellhnikes Metafraseis NLS (Greek NLS translations)
  Simos 3enitellhs, S.Xenitellis@rhbnc.ac.uk
  v0.9, 21 Aygoustoy 1999

  Ayto to keimeno perigrafei thn prospa8eia ejellhnismou twn GNU pro­
  grammatwn.  Ta GNU programmata (dhladh ta perissotera programmata
  efarmogwn poy apantwntai synh8ws se Unix systhmata opws ls, mutt, kde,
  gnome) exoyn th dynatothta na yposthrijoyn glwsses ektos twn agglikwn
  me ena aplo kai diafanes gia to xrhsth tropo. To paron asxoleitai me
  osa aforoun th metafrash sta ellhnika.
  ______________________________________________________________________

  Table of Contents





















































  1. Eisagwgh

     1.1 Istoria Ana8ewrhsewn
     1.2 Ti einai to "NLS";

  2. Ektash toy NLS

     2.1 Se ti epipedo briskontai oi alles glwsses;
     2.2 Poia leitoyrgika systhmata yposthrizoyn to NLS;
     2.3 Epigrammatika, pws leitoyrgei to NLS;
     2.4 Poia programmata yposthrizoyn NLS;
     2.5 Stoxos twn metafrasewn

  3. NLS sthn prajh

     3.1 Paradeigma xrhshs toy NLS
     3.2 To dokimasa alla den doyleuei!
     3.3 Me poio(poioys) tropoys ka8orizetai h glwssa me thn opoia emfanizontai ta mhnumata enos systhmatos;
     3.4 Metaptwsh glwsswn se periptwsh apoysias metafrasewn
     3.5 Programmatistikes plhrofories

  4. Diadikasia ths metafrashs

     4.1 Einai epiponh h ergasia ths metafrashs twn mhnymatwn;
     4.2 Plhroforiaka, ena programma poy yposthrizei NLS pws moiazei;
     4.3 Poia einai ta programmata poy boh8oun th metafrash kai pws leitoyrgoun;
        4.3.1 Paketo gettext
        4.3.2 Programma
        4.3.3 Programma
        4.3.4 Loipa programmata

  5. Epilogh ellhnikwn lejewn kai ekfrasewn

     5.1 Pws 8a mporouse na metafrastei to p.x. "Broken pipe"; "Spasmenh swlhna";
     5.2 LEXIS
     5.3 Ellhnikh bibliografia

  6. Organwsh metafrasewn

     6.1 Prosonta metafrastwn
     6.2 Analhch metafrasewn
     6.3 Odhgies metafrashs
     6.4 Nomikes leptomereies
     6.5 Poioi einai oi basikoi logoi metafrashs twn mhnymatwn sta ellhnika;

  7. Trexoysa katastash twn metafrasewn

  8. Ekkremothtes

     8.1 Loipa programmata poy perimenoyn ellhnikh metafrash

  9. Dia8esimoi ana8ewrhtes

  10. Ellhnikes metafraseis stis ekdoseis Linux

  11. PO arxeia

  12. Epikoinwnia

     12.1 Poios einai o trexon ypeu8ynos twn ellhnikwn metafrasewn;


  ______________________________________________________________________



  1.  Eisagwgh


  1.1.  Istoria Ana8ewrhsewn


  ·  v0.1 - 09 Ianoyarioy 1999 - Simos 3enitellhs - Arxikh Ekdosh

  ·  v0.2 - 24 Ianoyarioy 1999 - Simos 3enitellhs - Mikres allages

  ·  v0.3 - 14 Febroyarioy 1999 - Simos 3enitellhs - Mikres allages

  ·  v0.4 - 24 Febroyarioy 1999 - Simos 3enitellhs - Prwth dhmosieysh
     sto Hellug (http://www.hellug.gr)

  ·  v0.5 - 15 Ioynioy 1999 - Simos 3enitellhs - Genikh ana8ewrhsh,
     pros8hkh KDE, Gnome

  ·  v0.6 - 22 Ioynioy 1999 - Simos 3enitellhs - Dior8wseis apo thn
     anadrash, pros8hkh newn metafrasewn

  ·  v0.7 - 24 Ioylioy 1999 - Simos 3enitellhs - Pros8hkh newn
     metafrasewn, pros8hkh listas programmatwn dia8esimwn gia metafrash,
     pros8hkh plhroforiwn gia to Lyx, pros8hkh listas me dia8esimoys
     ana8ewrhtes, pros8hkh listas me ekkremothtes, trexoysa yposthrijh
     ellhnikwn apo ekdoseis toy Linux, mikres dior8wseis

  ·  v0.8 - 25 Ioylioy 1999 - Simos 3enitellhs - Mikres allages

  ·  v0.9 - 21 Aygoustoy 1999 - Simos 3enitellhs - Pros8hkh topo8esias
     shadow utils


  1.2.  Ti einai to "NLS";

  To NLS (National Language Support) einai mia dynatothta poy mporei na
  prosferei ena programma outws wste na kanei dynath thn emfanish olwn
  twn mhnymatwn kai symbolwn poy blepei o telikos xrhsths sthn topikh
  toy glwssa.  Dhladh, prosferei poluglwssh yposthrijh sta programmata
  me ena arketa boliko kai diafanes tropo.  Ektos apo ta mhnumata,
  mporei na xrhsimopoih8ei gia thn apeikonish ths topikhs nomismatikhs
  monadas, ths topikhs wras, toy topikou symboloy diaxwrismou toy
  akeraioy meros apo to dekadiko kai alla.  Sto paron ejetazoyme to
  tmhma poy afora th metafrash twn mhnymatwn sta ellhnika.


  2.  Ektash toy NLS



  2.1.  Se ti epipedo briskontai oi alles glwsses;

  Oi perissotero diadedomenes glwsses briskontai se polu kalo epipedo
  oson afora thn plhrothta kai thn poiothta twn metafrasewn.  Akoma,
  yparxei yposthrijh apo glwsses poy den einai arketa synh8ismenes opws
  ta slobenika.  Enhmerwtika, polu kalh doyleia yparxei gia ta gallika,
  ta germanika, ta finlandika, ta ispanika kai ta polwnezika.  H tash
  ayth th stigmh einai oi diafores glwsses mikrhs embeleias na
  prosti8entai sth lista, kyriws logw ths anagnwrishs poy exei dex8ei to
  Linux poy einai kurios xrhsths twn programmatwn poy yposthrizoyn NLS.


  2.2.  Poia leitoyrgika systhmata yposthrizoyn to NLS;

  To leitoyrgiko susthma Linux einai kurios xrhsths twn programmatwn poy
  yposthrizoyn NLS.  To Linux <http://www.linux.gr> apartizetai apo
  programmata efarmogwn poy diati8entai me thn adeia dia8eshs GNU
  <http://www.gnu.org>. To logismiko ayto, yposthrizei kata bash to NLS.
  Ektos apo to Linux, ta perissotera leitoyrgika systhmata Unix h tupoy-
  Unix mporoun na yposthrijoyn NLS.


  2.3.  Epigrammatika, pws leitoyrgei to NLS;

  Gia ta perissotera programmata, h yposthrijh ginetai me to paketo
  gettext.  Sto paketo ayto perilambanontai mia biblio8hkh sthn opoia
  syndeetai (link) to ekastote programma sth fash ths metaglwttishs. Sto
  idio to programma, prosti8entai merikes entoles ths biblio8hkhs. Oi
  entoles aytes elegxoyn metablhtes toy periballontos poy ka8orizoyn th
  glwssa kai antika8istoun ta mhnumata me ta metafrasmena mhnumata.


  2.4.  Poia programmata yposthrizoyn NLS;

  8a xwrisoyme ta programmata se kathgories.


  1. Epishma GNU programmata

     H metafrash twn programmatwn aytwn organwnetai apo to GNU
     Translation Project to opoio exei stenes sxeseis me to FSF (Free
     Software Foundation). Ta pio basika programmata enos systhmatos
     Unix kaluptontai edw. To gegonos oti ta programmata einai epishma
     GNU shmainei oti ta atoma poy apostelloyn metafraseis, prepei na
     dhlwnoyn eggraptws oti symfwnoun me thn adeia dia8eshs GNU. Akoma,
     oi metafraseis ka8e glwssas prepei na exoyn ena ypeu8yno poy na
     organwnei th diadikasia. Aytes oi nomikes idiaiterothtes, an kai
     fainontai oti apo8arrunoyn tis metafraseis, einai anagkaies gia thn
     or8h xrhsh ths adeias dia8eshs GNU apo nomikhs pleyras.


  2. Anepishma GNU programmata

     Enas shmantikos ari8mos programmatwn, poy oi programmatistes toys
     epilegoyn na dia8esoyn me thn adeia dia8eshs GNU, yposthrizoyn NLS.
     Gia ayta ta programmata, arkei h apostolh ths metafrashs stoys
     idioys toys programmatistes gia na th symperilaboyn.  Edw anhkoyn
     kai ta grafika periballonta KDE kai Gnome, wstoso gia ayta
     pros8etoyme duo nees kathgories logw ths megalhs shmasias toys.


  3. KDE

     To grafiko periballon KDE <http://www.kde.org> apartizetai apo ena
     shmantiko ari8mo programmatwn ta opoia yposthrizoyn NLS. To KDE
     einai polu dhmofiles kai yparxei megalh anagkh na yparxei mia
     plhrhs, trexoysa kai akribhs yposthrijh ellhnikwn.


  4. Gnome

     To grafiko periballon Gnome <http://www.gnome.org>, apartizetai,
     opws to KDE, apo ena shmantiko ari8mo programmatwn programmatwn poy
     yposthrizoyn NLS.  To Gnome arxizei na diadidetai kai anamenetai na
     paijei ena shmantiko rolo san ena grafiko periballon gia systhmata
     Unix.


  2.5.  Stoxos twn metafrasewn

  Epi8ymoume stis metafraseis na petuxoyme toys parakatw stoxoys

  ·  akribeia sth metafrash twn mhnymatwn sth topikh glwssa

  ·  plhrothta ths metafrashs

  ·  poiothta ths metafrashs

  ·  omoiogeneia ths metafrashs kai metaju metafrasewn

  ·  enhmerothta twn metafrasewn metaju ekdosewn


  3.  NLS sthn prajh



  3.1.  Paradeigma xrhshs toy NLS


  Koitajte sto katalogo


       RedHat-6.0: /usr/share/locale (pros ejakribwsh)



       RedHat-5.x: /usr/share/locale



       RedHat-4.x: /usr/share/locale (pros ejakribwsh)



       Open Linux 2.2: /usr/share/locale (pros ejakribwsh)



       SuSe 6.x: /usr/share/locale (pros ejakribwsh)



       Slackware 4.0: /usr/share/locale (pros ejakribwsh)



       Debian 2.x: /usr/share/locale (pros ejakribwsh)


  sto susthma sas gia diagrammata poy aforoun tis yposthrizomenes xwres.
  8a breite sigoyra gallika, ispanika, germanika, ollandika klp.

  Proxwrhste sto ypokatalogo es kai meta LC_MESSAGES, dhladh
  /usr/share/es/LC_MESSAGES/ kai estw oti briskete to "fileutils.mo".
  Tote, exete yposthrijh gia ispanika sto ls, mkdir ktl.  (An exete
  ypokatalogo el gia ellhnika kai to antistoixo arxeio sto susthma sas,
  mporeite na xrhsimopoihsete to lektiko ayto anti toy es).

  Trejte


  ·  setenv LANGUAGE es     (gia osoys exoyn floio tcsh h symbato me
     csh) h

  ·  export LANGUAGE es     (gia osoys exoyn floio bash h symbato me sh)


  Twra trejte "ls --help" kai 8a deite ispanika mhnumata!


  3.2.  To dokimasa alla den doyleuei!


  Se ayth thn kathgoria mporei na briskontai oi xrhstes me palia ekdosh
  toy Linux.

  Sto susthma sas mporei na yparxoyn perissoteroi katalogoi me
  plhrofories gia metafraseis programmatwn (katalogoi locale). To sunolo
  twn katalogwn poy elegxontai, orizetai me th metablhth periballontos
  NLSPATH.  Panta yparxoyn kapoioi katalogoi poy to susthma ereyna ej
  orismou, oi opoioi exoyn proka8oristei sth basikh biblio8hkh toy
  systhmatos sas, th libc. Dokimaste "strace -o output.log ls --help"
  kai meta "grep open output.log" gia na deite poy caxnei to susthma.
  Meta ka8oriste analoga to NLSPATH.


  3.3.  Me poio(poioys) tropoys ka8orizetai h glwssa me thn opoia emfan­
  izontai ta mhnumata enos systhmatos;

  Mesw metablhtwn periballontos. Gia kapoio logo, yparxei enas ari8mos
  apo metablhtes poy kanoyn sxedon thn idia doyleia. H metablhth poy
  fainete na xrhsimopoioun oi perissoteroi xrhstes einai h LANG, me th
  morfh


  ·  setenv LANG el     (gia osoys exoyn floio tcsh h symbato me csh) h

  ·  export LANG=el     (gia osoys exoyn floio bash h symbato me sh)

  Diaforetika, yparxei h metablhth LANGUAGE, h opoia exei proteraiothta
  enanti ths LANG.

  Gia ta systhmata me glibc 2.1 (ayth th stigmh RedHat 6.0), o xrhsths
  mporei na ektelesei (pros ejakribwsh)

  ·  setenv LANG greek     (gia osoys exoyn floio tcsh h symbato me csh)
     h

  ·  export LANG=greek     (gia osoys exoyn floio bash h symbato me sh)


  3.4.  Metaptwsh glwsswn se periptwsh apoysias metafrasewn

  Trejte

  ·  setenv LANGUAGE 'it:fr'     (gia osoys exoyn floio tcsh h symbato
     me csh) h

  ·  export LANGUAGE='it:fr'     (gia osoys exoyn floio bash h symbato
     me sh)

  Se oles tis periptwseis, yparxei h telikh metaptwsh sthn agglikh.


  3.5.  Programmatistikes plhrofories

  To parakatw yliko proerxetai apo to Niko Mayrogiannopoylo
  <mailto:nmav@hellug.gr>.

  Mias kai to nls xrhsimopoieitai olo kai perissotero sta nea
  programmata (idiaitera ayta poy apoteloun to GNU susthma), einai
  anagkaio na kanoyme mia perigrafh ths diadikasias poy xreiazetai gia
  na to enswmatwsoyme kai sta dika mas programmata.
  H adeia toy gettext gia ta kommatia poy 8a enswmatwsoyme sto programma
  mas einai h GNU LGPL poy den mas periorizei ston ka8orismo ths adeias
  toy programmatos mas. Koitajte thn pantws gia na deite an eiste
  symbatoi(!).

  As prosperasoyme omws ta "typika" kai as perasoyme sto chto. Ta
  programmata poy 8a xreiastoume einai ta GNU autoconf kai gettext-0.10,
  kai briskontai sto pio kontino gnu mirror.

  Edw 8a prospa8hsoyme na pros8esoyme yposthrijh e8nikhs/topikhs glwssas
  (nls) se ena programma grammeno se C. As doume ena aplo programma, poy
  typwnei thn wra sthn o8onh:

  ______________________________________________________________________
  #include <stdio.h>
  #include <time.h>

  main ()
  {
          time_t tv;

          printf( "The time is: " );
          time(&tv);
          printf ( "%s",ctime(&tv) );

  }
  ______________________________________________________________________



  H wra opws kai to mhnyma typwnetai sta agglika. Epeidh h metafrash
  prepei na ginei genika - dhladh to idio programma na trexei kai sta
  germanika kai sta ellhnika kai se opoiadhpote allh glwssa - den
  metafrazoyme ap'ey8eias to keimeno. Xrhsimopoioume ta localedata kai
  th biblio8hkh intl ths C biblio8hkhs.

  As xrhsimopoihsoyme ta localedata (topika dedomena) gia thn wra.

  To idio programma twra ginetai:



























  ______________________________________________________________________
  #include <stdio.h>
  #include <time.h>
  #include <locale.h>

  main ()
  {
          struct tm *tp;
          char buf[80];
          time_t date;

  /* 8etei to locale sumfwna me thn metablhth periballontos LANG h LANGUAGE
   * Gia ta ellhnika prepei na einai el (ISO639) */
          setlocale (LC_TIME, ""); /* Gia thn wra kai mono */

          printf( "The time is: " );

          time(&date);

  /* Metatrepei thn wra ekfrash poy syndeetai me thn zwnh wras */
          tp = localtime(&date);
          strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp);

  /* ektypwnei thn wra */
          printf ("%s\n",buf);

  }
  ______________________________________________________________________



  H wra twra 8a typw8ei sthn morfh: Tet Noe  11 22:44:29 +0200 1998 me
  ellhnikous xarakthres opws blepete(an LANG=el h gr gia tis palies
  glibc2).  Gi'ayto jexaste to ctime kai asxolh8eite me to strftime().


  Se periptwsh poy den eidate ellhnikous xarakthres elegjte an sto
  /usr/share/locale/el yparxoyn ta aparaithta arxeia. An den yparxoyn
  promh8eyteite ena neo localedata - symperilambanetai synh8ws sthn libc
  h egkatasthste to tarball poy brisketai sto ftp://argeas.cs-
  net.gr/pub/unix/linux/GREEK/locale.glibc2.el.tar.gz <ftp://argeas.cs-
  net.gr/pub/unix/linux/GREEK/locale.glibc2.el.tar.gz>


  Gia thn metafrash twn mhnymatwn, poy einai kai h kyrioterh idiothta
  toy NLS xrhsimopoieitai o ejhs tropos:




















  ______________________________________________________________________
  #include <stdio.h>
  #include <time.h>
  #include <locale.h>
  #include <libintl.h> /* arxeio ths GNU libc */

  main ()
  {
          struct tm *tp;
          char buf[80];
          time_t date;

  /* pera apo to LC_ALL yparxoyn ta LC_TIME, LC_MESSAGES klp, ta opoia
   * prosdiorizoyn ep'akribws ti metafraseis 8a xrhsimopoihsoyme.
   */
          setlocale (LC_ALL, "");

          bindtextdomain ("my_time", "/usr/share/locale");
          textdomain ("my_time");

          printf( gettext("The time is: ") );

          time(&date);
          tp = localtime(&date);
          strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp);

          printf ("%s\n",buf);

  }
  ______________________________________________________________________



  Oi entoles bindtextdomain() kai textdomain() aforoun thn nls
  biblio8hkh (libintl) kai thn plhroforoun oti h metafrash toy
  programmatos brisketai sto my_time.mo ston katalogo
  /usr/share/locale/XX, opoy XX h glwssa toy xrhsth (ka8orizetai apo thn
  metablhth LANG h LANGUAGE).

  Epeidh polles fores to na grafoyme gettext(...) einai epipono gia
  polla mhnumata, xrhsimopoioume to:

  ______________________________________________________________________
          #define _(Text) gettext(Text) /* stis epikefalides */

          printf( _("The time is: ") );
  ______________________________________________________________________


  To programma den 8a leitoyrghsei akomh me ellhnika. Xreiazetai akomh
  th dhmioyrgia toy .po arxeioy. Ayto einai sxetika aplo an ginei me to
  programma xgettext (apo to paketo GNU gettext).

  Gia to sygkekrimeno programma h ejodos toy xgettext einai: (suntajh
  "xgettext my_time.c")











  ______________________________________________________________________
  # messages.po
  # SOME DESCRIPTIVE TITLE.
  # Copyright (C) YEAR Free Software Foundation, Inc.
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  #
  #, fuzzy
  msgid ""
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "POT-Creation-Date: 1998-11-11 22:52+0200\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=CHARSET\n"
  "Content-Transfer-Encoding: ENCODING\n"

  #: c.c:16
  msgid "The time is: "
  msgstr ""

  #end of messages.po
  ______________________________________________________________________


  kai edw metonomazoyme to messages.po se el.po, pros8etontas taytoxrona
  sto msgstr thn metafrash, px:

  ______________________________________________________________________
  msgstr "H wra einai: "
  ______________________________________________________________________




  Teleytaio melhma toy programmatisth einai na metatrecei ayto to .po
  arxeio se .mo h .gmo morfh. Ayto epitygxanetai me to programma msgfmt
  (apo to GNU gettext pali).

  ______________________________________________________________________
  px msgfmt el.po -o el.gmo
  ______________________________________________________________________


  kai meta na antigrafei sto /usr/share/locale/el/LC_MESSAGES/ to el.gmo
  san my_time.mo (ayta ta teleytaia kalo einai na ginoyn mesw kapoioy
  makefile).


  To shmantikotero twra einai na aytomatopoihsoyme ayth th diadikasia.
  Ayto epitygxanetai me to GNU autoconf. As ftiajoyme ena configure.in
  poy 8a elegxei kata poso yparxei yposthrijh nls apo thn libc kai ka8ws
  kai toy strftime.  (gia kaluteres diamorfwseis koitajte sto:
  http://teamball.sdsu.edu/doc/texi/gettext_toc.html
  <http://teamball.sdsu.edu/doc/texi/gettext_toc.html>)


  Gia na aplopoihsoyme ta pragmata 8ewroume thn ejhs diamorfwsh twn
  arxeiwn toy programmatos: (estw oti to programma einai sto /xxx) ston
  katalogo /xxx/

  configure.in: Xreiazetai gia to autoconf (deite parakatw)
  config.h.in : (deite parakatw)


  ston katalogo /xxx/src/

  my_time.c   : To programma



  ston katalogo /xxx/po/

  my_time.pot :  Ayto einai to messages.po poy dhmioyrgeitai apo to
                 xgettext aplws metonomasmeno
  el.po       :  To my_time.pot metafrasmeno sta ellhnika
  POTFILES.in :  Edw pros8etete ola ta .c arxeia sto src poy xrhsimopoioun
                 to gettext. px:
                 /xxx/src/my_time.c



  Arkei twra na antigracete apo to paketo gettext-0.10 ta po/Makefile.in
  ston katalogo toy programmatos /xxx/po/ , olo ton katalogo intl/ ston
  /xxx/intl/ kai ta ABOUT-NLS, aclocal.m4 ston /xxx .


  Pame twra ston prwtarxiko katalogo toy programmatos mas (/xxx) kai as
  ftiajoyme to configure.in apo to opoio 8a prokucei to gnwsto(;) script
  configure.


  ______________________________________________________________________
  # configure.in for my_time.c
  AC_INIT()
  AC_CONFIG_HEADER(config.h)

  AC_PROG_CC
  AC_PATH_PROG(MAKE,make)
  AC_PROG_INSTALL

  VERSION=1.0
  PROGRAMS="my_time"

  AC_PREFIX_DEFAULT(/usr/local)
  AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
  AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
  AC_SUBST(PACKAGE)
  AC_SUBST(VERSION)
  AC_SUBST(PROGRAMS)

  dnl yposthrizoyme ellhnika (to el einai apo to iso639 poy prepei na
  dnl xrhsimopoieitai gia thn endeijh glwssas stis metafraseis sumfwna me to
  dnl egxeiridio to gettext.)
  ALL_LINGUAS="el"

  dnl Gia to gettext 0.10.
  ud_GNU_GETTEXT

  AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)

  AC_FUNC_STRFTIME

  AC_OUTPUT([Makefile src/Makefile intl/Makefile po/Makefile.in
  [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])

  #end of configure.in
  ______________________________________________________________________



  kai amesws meta dhmioyrgoume ena config.h.in (einai bash toy arxeioy
  config.h poy 8a symperilambanetai sto programma mas. H dhmioyrgia toy
  config.h ginetai apo to script configure.)  To config.h.in 8a
  periexei:


  ______________________________________________________________________
  # config.h.in for my_time.c
  /* To onoma toy paketoy (8a xrhsimopoih8ei gia to textdomain) */
  #undef PACKAGE
  #undef VERSION

  /* strftime */
  #undef HAVE_STRFTIME
  #undef ENABLE_NLS

  #end of config.h.in
  ______________________________________________________________________




  To Makefile.in gia to programma (to Makefile dhmioyrgeitai epishs
  aytomata apo to configure), prepei na exei se genikes grammes ta:

  ______________________________________________________________________
  # Makefile.in
  CC      = @CC@
  LIBS    = @LIBS@
  CCOPTS  = @CFLAGS@ -I. -I..
  LN      = @LN_S@
  INSTALL = @INSTALL@
  prefix  = @prefix@
  exec_prefix  = @prefix@
  datadir = $(prefix)/lib
  bin     = $(prefix)/bin
  localedir = $(datadir)/locale
  DEFS    = -DLOCALEDIR=\"$(localedir)\"
  SUBDIRS = @INTLSUB@ src @POSUB@
  MAKE    = @MAKE@
  INSTALL = @INSTALL@

  #Ean o kwdikas sas den einai ston src/ katalogo xreiazetai orismenes allages
  all:
          @for subdir in $(SUBDIRS); do \
                  echo making all in $$subdir; \
                  (cd $$subdir && $(MAKE) all) \
                  || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
          done && test -z "$$fail"

  install:
          @$(INSTALL) my_time $(bin)
          @$(MAKE) -C po/ install

  # end of makefile.in
  ______________________________________________________________________










  ______________________________________________________________________
  # src/Makefile.in
  # Edw oi epikefalides einai peripoy idies me prin:
  CC      = @CC@
  LIBS    = @LIBS@
  CCOPTS  = @CFLAGS@ -I../intl -I. -I..
  LN      = @LN_S@
  INSTALL = @INSTALL@
  prefix  = @prefix@
  exec_prefix  = @prefix@
  datadir = $(prefix)/lib
  localedir = $(datadir)/locale
  DEFS    = -DLOCALEDIR=\"$(localedir)\"

  all: my_time

  my_time: my_time.o
          $(CC) $(OBJECTS) -o ../my_time $(LIBDIRS) $(LIBS)

  my_time.o: my_time.c
          $(CC) -c my_time.c $(CCOPTS) $(DEFS)

  #end of src/Makefile.in
  ______________________________________________________________________



  To programma twra 8a ginei:






































  ______________________________________________________________________
  # src/my_time.c

  #include <stdio.h>
  #include <time.h>
  #include <config.h> /* h "config.h" an den balete to -I. sto Makefile */

  #ifdef ENABLE_NLS
  #include <libintl.h>
  #endif

  main ()
  {
  #ifdef HAVE_STRFTIME
          struct tm *tp;
          char buf[80];
          time_t date;
  #else
          time_t tv;
  #endif


  #ifdef ENABLE_NLS
          setlocale (LC_ALL, "");
          bindtextdomain (PACKAGE, LOCALEDIR);
          textdomain (PACKAGE);
  # define _(Text) gettext(Text)
  #else
  # define _(Text) (Text)
  #endif


          printf( _("The time is: ") );

  #ifdef HAVE_STRFTIME_H
          time(&date);
          tp = localtime(&date);
          strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp);
          printf ("%s\n",buf);
  #else
          time(&tv);
          printf ( "%s",ctime(&tv) );
  #endif

  }

  #end of src/my_time.c
  ______________________________________________________________________



  Twra trexoyme to autoconf poy dhmioyrgei to configure script. An ola
  phgan kala exoyme ena programma poy milaei jenes glwsses!

  To parapanw keimeno einai mia eisagwgh mono sto 8ema. Den einai se
  kamia periptwsh plhres, an 8elete parapanw plhrofories symboyleyteite
  ta egxeiridia twn programmatwn autoconf, gettext.  Perissotera gia to
  gettext (kai thn xrhsh toy me to autoconf) sto:
  http://teamball.sdsu.edu/doc/texi/gettext_toc.html
  <http://teamball.sdsu.edu/doc/texi/gettext_toc.html>


  4.  Diadikasia ths metafrashs



  4.1.  Einai epiponh h ergasia ths metafrashs twn mhnymatwn;

  Den einai arketa epiponh. To mono epipono meros einai h arxikh
  metafrash oloy toy ogkoy twn mhnymatwn. Epeita, me thn kykloforia newn
  ekdosewn toy idioy programmatos, arkei h metafrash twn newn mhnymatwn,
  poy einai synh8ws liga ston ari8mo.  Yparxoyn eidika ergaleia poy
  briskoyn ta mhnumata poy exoyn allajei metaju twn ekdosewn kai ta
  emfanizoyn gia metafrash.


  4.2.  Plhroforiaka, ena programma poy yposthrizei NLS pws moiazei;

  O programmatisths grafei ta mhnumata ws ejhs:


  ______________________________________________________________________
  ...
  /* Merikes grammes kwdika gia arxikopoihsh toy systhmatos NLS */
  ...

  /* Second: Login with proper USER/PASS sequence.  */

  printf( _("connected!\n") );

  ...
  ______________________________________________________________________



  Dhladh perikleiei ta mhnumata poy apaitoun metafrash me _( ).  Se olo
  to diasthma ths anaptyjhs toy programmatos, o programmatisths den
  asxoleitai me to susthma NLS para mono na perikleiei me _() to
  mhnumata poy blepei o xrhsths. To programma doyleuei ws exei.

  Epeita, o programmatisths trexei ena boh8htiko programma poy
  sygkentrwnei ta mhnumata poy perikleiontai se _() se ena arxeio. Sto
  arxeio ayto einai poy epembainei gia na pros8esei th metafrash twn
  mhnymatwn.  Epeita, me allo boh8htiko programma, to prwto arxeio
  metatrepetai se mia dyadikh morfh poy mporei na xrhsimopoih8ei apo to
  ektelesimo. Sthn ektelesh toy, to programma anazhta mia metablhth
  periballontos gia thn epilogh ths glwssas emfanishs twn mhnymatwn.
  Bash ths glwssas, xrhsimopoiei kai ta analoga mhnumata.  An ta
  mhnumata den einai paronta, tote xrhsimopoiei ta agglika, ta opoia
  periexontai sto idio to ektelesimo programma.


  4.3.  Poia einai ta programmata poy boh8oun th metafrash kai pws
  leitoyrgoun;



  4.3.1.  Paketo gettext

  Ta programmata poy boh8oun thn organwsh ths metafrashs einai apo to
  paketo gettext, kai 8a to breite se ola ta kala GNU mirror sites.
  Trexoysa ekdosh: 0.10.XX kai th stigmh poy grafetai ayto isxuei XX=35
  kai gettext-0.10.35.tar.gz
  <http://www.iro.umontreal.ca/contrib/po/gettext-0.10.35.tar.gz>


  Ta perissotera programmata ylopoioun to NLS me to paketo gettext.
  Yparxoyn kapoia alla poy yposthrizoyn mia palioterh texnikh, thn
  catgets. 8a milhsoyme mono gia gettext.



  4.3.2.  Programma xgettext


  Eisodos: arxeia *.c h *.h me alfari8mhtika ths morfhs _("blah blah").

  Ejodos:  arxeio keimenoy *.pot me ta alfari8mhtika pros metafrash.

  To arxeio *.pot einai to arxeio ypodeigma, poy 8a epairne kapoios
  metafrasths ellhnikwn kai 8a to antegrafe se el.po. Sto arxeio el.po
  ginetai h metafrash.

  Se ola ta paketa me yposthrijh "gettext", yparxei enas ypokatalogos
  po/ poy periexei to arxeio ypodeigma "programma.pot", to opoio einai
  keno apo metafrasmena mhnumata. Taytoxrona, gia tis yposthrizomenes
  glwsses yparxoyn antistoixa arxeia *.po, opws de.po, fr.po, nl.po poy
  einai antigrafa toy arxikou arxeioy ypodeigmatos .pot me symplhrwmenes
  tis metafraseis.


  4.3.3.  Programma msgfmt


  Eisodos: arxeia *.po (portable object)

  Ejodos:  arxeia *.mo (machine object)


  To arxeio .mo einai ekeino poy 8a topo8eth8ei sto katalogo
  /usr/share/locale/el/LC_MESSAGES gia na oloklhrw8ei h egkatastash.


  4.3.4.  Loipa programmata


  Alla programmata toy paketoy gettext einai


  ·  msgmerge, ejypnh synenwsh duo .po arxeiwn

  ·  msgcomm, euresh koinwn mhnymatwn duo .po arxeiwn

  ·  msgcmp, sugkrish duo .po arxeiwn

  ·  msgunfmt, metatroph toy .mo se .po


  5.  Epilogh ellhnikwn lejewn kai ekfrasewn

  Einai shmantiko na yparxei mia omoiogeneia sto apotelesma twn
  metafrasewn.  Gia ayto to logo, Xrhsh orwn poy proteinoyn egkyres
  phges, opws ELOT, EPY, metafrasmena biblia plhroforikhs sta ellhnika
  (p.x. Leitoyrgika systhmata toy A.S.Tanenbaum) kai prohgoumenes
  metafraseis.



  5.1.  Pws 8a mporouse na metafrastei to p.x. "Broken pipe"; "Spasmenh
  swlhna";

  Me ejypnh epilogh twn orwn, mporoume na lusoyme tetoia problhmata.  H
  Ellhnikh glwssa einai gnwsto oti einai arketa plousia.  Enas kaluteros
  oros gia to parapanw paradeigma 8a htan "Diakopeisa swlhnwsh".




  5.2.  LEXIS

  To LEXIS <http://server.hellug.gr/lexis/> einai ena lejiko me
  ellhnikes metafraseis agglikwn ennoiwn poy xrhsimopoiountai sth
  Plhroforikh.


  5.3.  Ellhnikh bibliografia


  ·  Asfaleia stis Texnologies Plhroforiwn & Epikoinwniwn - Ennoiologikh
     8emeliwsh (Ekdoseis Newn Texnologiwn)

  ·  Leitoyrgika Systhmata I (metafrash toy biblioy toy A.Tannembaum apo
     to E.K.P.A.;)(pros ejakribwsh)

  ·  E.P.Y.(pros symplhrwsh)


  6.  Organwsh metafrasewn



  6.1.  Prosonta metafrastwn

  Ta atoma poy toys endiaferei h metafrash prepei na exoyn

  ·  eyxeria sthn ellhnikh glwssa

  ·  kalh gnwsh orwn ths plhroforikhs

  ·  empeiria me to logismiko pros metafrash

  Ginetai analhch ths basikhs metafrashs toy programmatos kai ena
  deutero atomo asxoleitai me th diadikasia ths ana8ewrhshs (reviewing).
  8ewroume th diadikasia ths ana8ewrhshs shmantikh gia thn ychlh
  poiothta ths metafrashs.


  6.2.  Analhch metafrasewn

  Molis epilejete to paketo poy 8elete na metafrasete, epikoinwneite me
  ton trexonta ypeu8yno twn metafrasewn kai sas apodidete o ana8ewrhths
  ths metafrashs. Afou oloklhrwsete th metafrash, o ana8ewrhths thn
  elegxei kai sas stelnei pisw sxolia kai protaseis gia allagh.  Bash
  twn stoixeiwn aytwn, prokuptei mia telikh ekdosh h opoia apostellete
  pros symperilhch sto paketo logismikou. Gia tis mellontikes ekdoseis
  toy paketoy mporeite na stelnete katey8eian tis ananewmenes
  metafraseis.


  6.3.  Odhgies metafrashs

  O metafrasths prepei na metafrasei ta mhnumata poy briskontai se ena
  arxeio me onoma po/programma.pot sto paketo toy programmatos.  To
  sygkekrimeno arxeio exei th morfh



               msgid "Connecting to %s:%hu... "
               msgstr ""





  Opote pros8etoyme sto pedio msgstr thn ellhnikh metafrash, dhladh:


  ·  msgid "Connecting to %s:%hu... "

  ·  msgstr "Sundesh me %s:%hu... "

  Perissoteres odhgies mporeite na breite sto GNU Translation Project
  <http://www.iro.umontreal.ca/contrib/po>


  6.4.  Nomikes leptomereies

  Sthn periptwsh poy metafrazete ena programma poy anhkei sta Epishma
  GNU Programmata, prepei na apokyrrujete ola ta dikaiwmata
  ekmetalleyshs. Ayto ginetai me thn apostolh toy legomenoy DISCLAIMER
  <http://www.iro.umontreal.ca/contrib/po/doc/>. Gia perissoteres
  plhrofories, epikoinwnhste me ton ypeu8yno twn metafrasewn gia
  perissoteres plhrofories. Deite ``Ypeu8ynos metafrasewn''

  Ta atoma ths ellhnikhs metafrastikhs omadas, ta opoia exoyn ektelesei
  thn prohgoumenh diadikasia einai


  ·  Xrhstos Anastasioy <mailto:chanas@cs.teiath.gr>

  ·  Nikos Mayrogiannopoylos <mailto:nmav@i-net.paiko.gr>

  ·  Kosmas Mpenekos <mailto:kosmega@teiath.gr>

  ·  Simos 3enitellhs <mailto:S.Xenitellis@rhbnc.ac.uk>

  ·  Giannhs Spanos <mailto:yspanos@hotmail.com>


  6.5.  Poioi einai oi basikoi logoi metafrashs twn mhnymatwn sta ellh­
  nika;


  1. O ejellhnismos enisxuei ta epixeirhmata gia xrhsh toy Linux sth
     deyteroba8mia kai tritoba8mia ekpaideysh.

  2. Oi newteres dianomes toy Linux 8a periexoyn ej orismou ta ellhnika
     mhnumata kai 8a yposthrizoyn en genei ta ellhnika.

  3. Ka8ierwnontai nte fakto oi ellhnikoi oroi sth plhroforikh.

  4. Enisxuontai oi diaforoi klwnoi toy Unix poy exoyn basikh yposthrijh
     Ellhnikwn opws Solaris.

  5. O ejellhnismos einai kati poy prepei na ginei gia na einai plhres
     to Linux. Gia osoys einai arnhtika diakeimenoi, skefteite oti einai
     san na doyleuete se ena oiko logismikou (software house) kai kai na
     dia8etete to programma xwris na balete arxeia boh8eias dioti kaneis
     den ta diabazei.

  6. Gia na xrhsimopoih8ei to Linux sthn ekpaideysh, einai shmantiko
     proson na einai ejellhnismeno. Kai ayto, eite gia toys diagwnismous
     plhroforikhs, eite gia toys ma8htes me dyskolia sta agglika.


  7.  Trexoysa katastash twn metafrasewn


  ·  Epishma GNU programmata

     1. enscript, metafrash Manwlhs Loyrakhs
        <mailto:lourakis@csd.uch.gr>, ana8ewrhsh Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>

     2. fileutils, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     3. gettext, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     4. grep, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     5. hello, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     6. libc, metafrash Nikos Mayrogiannopoylos <mailto:nmav@hellug.gr>,
        ana8ewrhsh Simos 3enitellhs <mailto:S.Xenitellis@rhbnc.ac.uk>

     7. m4, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     8. recode, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     9. sharutils, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     10.
        sh-utils, metafrash Nikos Mayrogiannopoylos
        <mailto:nmav@hellug.gr>, ana8ewrhsh keno

     11.
        sed, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     12.
        textutils, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     13.
        wget, metafrash Simos 3enitellhs
        <mailto:S.Xenitellis@rhbnc.ac.uk>, ana8ewrhsh keno

     Perissoteres plhrofories Pinakas metafrasewn #1
     <http://www.iro.umontreal.ca/contrib/po/doc/matrix.texi>, Pinakas
     metafrasewn #2 <http://www.iro.umontreal.ca/contrib/po/trans/el/>



  ·  Anepishma GNU programmata

     1. mutt, metafrash Fanhs Dokianakhs <mailto:ph04169@cc.uoi.gr>,
        ana8ewrhsh Simos 3enitellhs <mailto:S.Xenitellis@rhbnc.ac.uk>

     2. shadow, metafrash Nikos Mayrogiannopoylos
        <mailto:nmav@hellug.gr>, ana8ewrhsh keno

     3. windowmaker, metafrash Papagrhgorioy Nikolaos
        <mailto:papanikos@usa.net>, ana8ewrhsh keno

     4. lyx, metafrash Menelaos Magklhs <mailto:maglis@otenet.gr>,
        ana8ewrhsh keno, plhrofories Ellhnikh Selida Lyx
        <http://users.otenet.gr/~maglis/lyx>


  ·  KDE

     1. basika mhnumata KDE, metafrash 8eodwros Soldatos
        <mailto:theodore@eexi.gr>, ana8ewrhsh keno

     Perissoteres plhrofories Pinakas metafrasewn KDE
     <http://www.kde.org/i18n.html>




  ·  Gnome

     Perissoteres plhrofories Pinakas metafrasewn Gnome
     <http://www.gnome.org/i18n/status.shtml>


  8.  Ekkremothtes


  8.1.  Loipa programmata poy perimenoyn ellhnikh metafrash


  1. Mhnumata egkatastashs RedHat, RedHat <http://www.redhat.com>

  2. Mhnumata egkatastashs SuSE, SuSE <http://www.suse.com>

  3. Fortify, Fortify <http://www.fortify.net/localization.html>, xrhsh
     systhmatos diaforetikou apo NLS

  4. freetype, FreeType font rendering engine <http://www.freetype.org>

  5. rpm, RPM, package manager <http://www.redhat.com>

  6. Squid, Squid 2 Cache Proxy Server <http://squid.nlanr.net>

  7. Console tools, Console-tools
     <http://www.multimania.com/ydirson/en/lct/l10n.html>



  9.  Dia8esimoi ana8ewrhtes



  ·  Menelaos Maglhs <mailto:maglis@otenet.gr>

  ·  Nikos Mayrogiannopoylos <mailto:nmav@i-net.paiko.gr>

  ·  Simos 3enitellhs <mailto:S.Xenitellis@rhbnc.ac.uk>

  Opoios einai dia8esimos na syneisferei ws ana8ewrhths metafrasewn, na
  epikoinwnhsei me ton ``ypeu8yno metafrasewn'' gia thn pros8hkh toy/ths
  sth lista.


  10.  Ellhnikes metafraseis stis ekdoseis Linux


  ·  RedHat Linux 5.2


     1. WindowMaker



  ·  RedHat Linux 6.0


     1. WindowMaker

     2. fileutils

     3. grep

     4. KDE, ekdosh 1.1

     5. libc


  ·  OpenLinux 2.2


     1. fileutils, ekdosh 4.0-b6

     2. KDE, ekdosh 1.1


  ·  SuSE Linux 6.2 (pros symplhrwsh)



  11.  PO arxeia




  1. Epishma GNU programmata

     Epishma GNU programmata
     <http://www.iro.umontreal.ca/contrib/po/trans/el/>



  2. Anepishma GNU programmata



  ·  Lyx, Lyx <http://users.otenet.gr/~maglis/lyx/elpo>

  ·  Mutt, mutt, international version <http://www.mutt.org>

  ·  Shadow suite, shadow-suite
     <http://linux.forthnet.gr/pub/linux/shadow>

  ·  WindowMaker, WindowMaker
     <http://www.windowmaker.org/ftp/pub/beta/srcs/WindowMaker-0.60.0.tar.gz>



  3. KDE <http://www.kde.org/messages/el.messages>



  4. Gnome

     keno





  12.  Epikoinwnia


  12.1.  Poios einai o trexon ypeu8ynos twn ellhnikwn metafrasewn;

  Ypeu8ynos gia tis metafraseis twn Epishmwn GNU Programmatwn sthn
  Ellhnikh glwssa einai o Simos 3enitellhs
  <mailto:S.Xenitellis@rhbnc.ac.uk> (S.Xenitellis@rhbnc.ac.uk). Gia
  otidhpote plhroforia, steilte e-mail.

  Gia ta Anepishma GNU Programmata, syntonisths einai ekeinos twn
  Epishmwn Metafrasewn.

  Gia to grafiko periballon KDE, ypeu8ynos einai o 8eodwros I. Soldatos
  <mailto:theodore@eexi.gr>.

  Gia to grafiko periballon Gnome, syntonisths einai o Simos 3enitellhs
  <mailto:S.Xenitellis@rhbnc.ac.uk>. Gia to Gnome den yparxoyn mexri
  ayth th stigmh ellhnikes metafraseis. To logismiko ayto brisketai se
  anaptyjh kai ta antistoixa arxeia mhnymatwn allazoyn arketa syxna.
  Pisteuoyme oti sto ameso mellon prepei na jekinhsei h metafrash kai
  sthn perioxh ayth.