Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > b64a0ed9abef7306f12de680983610ea > files > 11

howto-text-el-2006-5mdv2010.0.noarch.rpm

  ÅëëçíéêÝò ÌåôáöñÜóåéò NLS (Greek NLS translations)
  Óßìïò ÎåíéôÝëëçò, S.Xenitellis@rhbnc.ac.uk
  v0.9, 21 Áõãïýóôïõ 1999

  Áõôü ôï êåßìåíï ðåñéãñÜöåé ôçí ðñïóðÜèåéá åîåëëçíéóìïý ôùí GNU
  ðñïãñáììÜôùí.  Ôá GNU ðñïãñÜììáôá (äçëáäÞ ôá ðåñéóóüôåñá ðñïãñÜììáôá
  åöáñìïãþí ðïõ áðáíôþíôáé óõíÞèùò óå Unix óõóôÞìáôá üðùò ls, mutt, kde,
  gnome) Ý÷ïõí ôç äõíáôüôçôá íá õðïóôçñßîïõí ãëþóóåò åêôüò ôùí áããëéêþí
  ìå Ýíá áðëü êáé äéáöáíÝò ãéá ôï ÷ñÞóôç ôñüðï. Ôï ðáñüí áó÷ïëåßôáé ìå
  üóá áöïñïýí ôç ìåôÜöñáóç óôá åëëçíéêÜ.
  ______________________________________________________________________

  Table of Contents





















































  1. ÅéóáãùãÞ

     1.1 Éóôïñßá ÁíáèåùñÞóåùí
     1.2 Ôé åßíáé ôï "NLS";

  2. ¸êôáóç ôïõ NLS

     2.1 Óå ôé åðßðåäï âñßóêïíôáé ïé Üëëåò ãëþóóåò;
     2.2 Ðïéá ëåéôïõñãéêÜ óõóôÞìáôá õðïóôçñßæïõí ôï NLS;
     2.3 ÅðéãñáììáôéêÜ, ðþò ëåéôïõñãåß ôï NLS;
     2.4 Ðïéá ðñïãñÜììáôá õðïóôçñßæïõí NLS;
     2.5 Óôü÷ïò ôùí ìåôáöñÜóåùí

  3. NLS óôçí ðñÜîç

     3.1 ÐáñÜäåéãìá ÷ñÞóçò ôïõ NLS
     3.2 Ôï äïêßìáóá Üëëá äåí äïõëåýåé!
     3.3 Ìå ðïéï(ðïéïõò) ôñüðïõò êáèïñßæåôáé ç ãëþóóá ìå ôçí ïðïßá åìöáíßæïíôáé ôá ìçíýìáôá åíüò óõóôÞìáôïò;
     3.4 ÌåôÜðôùóç ãëùóóþí óå ðåñßðôùóç áðïõóßáò ìåôáöñÜóåùí
     3.5 ÐñïãñáììáôéóôéêÝò ðëçñïöïñßåò

  4. Äéáäéêáóßá ôçò ìåôÜöñáóçò

     4.1 Åßíáé åðßðïíç ç åñãáóßá ôçò ìåôÜöñáóçò ôùí ìçíõìÜôùí;
     4.2 ÐëçñïöïñéáêÜ, Ýíá ðñüãñáììá ðïõ õðïóôçñßæåé NLS ðùò ìïéÜæåé;
     4.3 Ðïéá åßíáé ôá ðñïãñÜììáôá ðïõ âïçèïýí ôç ìåôÜöñáóç êáé ðùò ëåéôïõñãïýí;
        4.3.1 ÐáêÝôï gettext
        4.3.2 Ðñüãñáììá
        4.3.3 Ðñüãñáììá
        4.3.4 ËïéðÜ ðñïãñÜììáôá

  5. ÅðéëïãÞ åëëçíéêþí ëÝîåùí êáé åêöñÜóåùí

     5.1 Ðùò èá ìðïñïýóå íá ìåôáöñáóôåß ôï ð.÷. "Broken pipe"; "ÓðáóìÝíç óùëÞíá";
     5.2 LEXIS
     5.3 ÅëëçíéêÞ âéâëéïãñáößá

  6. ÏñãÜíùóç ìåôáöñÜóåùí

     6.1 Ðñïóüíôá ìåôáöñáóôþí
     6.2 ÁíÜëçøç ìåôáöñÜóåùí
     6.3 Ïäçãßåò ìåôÜöñáóçò
     6.4 ÍïìéêÝò ëåðôïìÝñåéåò
     6.5 Ðïéïé åßíáé ïé âáóéêïß ëüãïé ìåôÜöñáóçò ôùí ìçíõìÜôùí óôá åëëçíéêÜ;

  7. ÔñÝ÷ïõóá êáôÜóôáóç ôùí ìåôáöñÜóåùí

  8. Åêêñåìüôçôåò

     8.1 ËïéðÜ ðñïãñÜììáôá ðïõ ðåñéìÝíïõí åëëçíéêÞ ìåôÜöñáóç

  9. ÄéáèÝóéìïé áíáèåùñçôÝò

  10. ÅëëçíéêÝò ìåôáöñÜóåéò óôéò åêäüóåéò Linux

  11. PO áñ÷åßá

  12. Åðéêïéíùíßá

     12.1 Ðïéïò åßíáé ï ôñÝ÷ïí õðåýèõíïò ôùí åëëçíéêþí ìåôáöñÜóåùí;


  ______________________________________________________________________



  1.  ÅéóáãùãÞ


  1.1.  Éóôïñßá ÁíáèåùñÞóåùí


  ·  v0.1 - 09 Éáíïõáñßïõ 1999 - Óßìïò ÎåíéôÝëëçò - Áñ÷éêÞ ¸êäïóç

  ·  v0.2 - 24 Éáíïõáñßïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÌéêñÝò áëëáãÝò

  ·  v0.3 - 14 Öåâñïõáñßïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÌéêñÝò áëëáãÝò

  ·  v0.4 - 24 Öåâñïõáñßïõ 1999 - Óßìïò ÎåíéôÝëëçò - Ðñþôç äçìïóßåõóç
     óôï Hellug (http://www.hellug.gr)

  ·  v0.5 - 15 Éïõíßïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÃåíéêÞ áíáèåþñçóç,
     ðñïóèÞêç KDE, Gnome

  ·  v0.6 - 22 Éïõíßïõ 1999 - Óßìïò ÎåíéôÝëëçò - Äéïñèþóåéò áðü ôçí
     áíÜäñáóç, ðñïóèÞêç íÝùí ìåôáöñÜóåùí

  ·  v0.7 - 24 Éïõëßïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÐñïóèÞêç íÝùí
     ìåôáöñÜóåùí, ðñïóèÞêç ëßóôáò ðñïãñáììÜôùí äéáèÝóéìùí ãéá ìåôÜöñáóç,
     ðñïóèÞêç ðëçñïöïñéþí ãéá ôï Lyx, ðñïóèÞêç ëßóôáò ìå äéáèÝóéìïõò
     áíáèåùñçôÝò, ðñïóèÞêç ëßóôáò ìå åêêñåìüôçôåò, ôñÝ÷ïõóá õðïóôÞñéîç
     åëëçíéêþí áðü åêäüóåéò ôïõ Linux, ìéêñÝò äéïñèþóåéò

  ·  v0.8 - 25 Éïõëßïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÌéêñÝò áëëáãÝò

  ·  v0.9 - 21 Áõãïýóôïõ 1999 - Óßìïò ÎåíéôÝëëçò - ÐñïóèÞêç ôïðïèåóßáò
     shadow utils


  1.2.  Ôé åßíáé ôï "NLS";

  Ôï NLS (National Language Support) åßíáé ìéá äõíáôüôçôá ðïõ ìðïñåß íá
  ðñïóöÝñåé Ýíá ðñüãñáììá ïýôùò þóôå íá êÜíåé äõíáôÞ ôçí åìöÜíéóç üëùí
  ôùí ìçíõìÜôùí êáé óõìâüëùí ðïõ âëÝðåé ï ôåëéêüò ÷ñÞóôçò óôçí ôïðéêÞ
  ôïõ ãëþóóá.  ÄçëáäÞ, ðñïóöÝñåé ðïëýãëùóóç õðïóôÞñéîç óôá ðñïãñÜììáôá
  ìå Ýíá áñêåôÜ âïëéêü êáé äéáöáíÝò ôñüðï.  Åêôüò áðü ôá ìçíýìáôá,
  ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí áðåéêüíéóç ôçò ôïðéêÞò íïìéóìáôéêÞò
  ìïíÜäáò, ôçò ôïðéêÞò þñáò, ôïõ ôïðéêïý óõìâüëïõ äéá÷ùñéóìïý ôïõ
  áêÝñáéïõ ìÝñïò áðü ôï äåêáäéêü êáé Üëëá.  Óôï ðáñüí åîåôÜæïõìå ôï
  ôìÞìá ðïõ áöïñÜ ôç ìåôÜöñáóç ôùí ìçíõìÜôùí óôá åëëçíéêÜ.


  2.  ¸êôáóç ôïõ NLS



  2.1.  Óå ôé åðßðåäï âñßóêïíôáé ïé Üëëåò ãëþóóåò;

  Ïé ðåñéóóüôåñï äéáäåäïìÝíåò ãëþóóåò âñßóêïíôáé óå ðïëý êáëü åðßðåäï
  üóïí áöïñÜ ôçí ðëçñüôçôá êáé ôçí ðïéüôçôá ôùí ìåôáöñÜóåùí.  Áêüìá,
  õðÜñ÷åé õðïóôÞñéîç áðü ãëþóóåò ðïõ äåí åßíáé áñêåôÜ óõíçèéóìÝíåò üðùò
  ôá óëïâÝíéêá.  ÅíçìåñùôéêÜ, ðïëý êáëÞ äïõëåéÜ õðÜñ÷åé ãéá ôá ãáëëéêÜ,
  ôá ãåñìáíéêÜ, ôá öéíëáíäéêÜ, ôá éóðáíéêÜ êáé ôá ðïëùíÝæéêá.  Ç ôÜóç
  áõôÞ ôç óôéãìÞ åßíáé ïé äéÜöïñåò ãëþóóåò ìéêñÞò åìâÝëåéáò íá
  ðñïóôßèåíôáé óôç ëßóôá, êõñßùò ëüãù ôçò áíáãíþñéóçò ðïõ Ý÷åé äå÷èåß ôï
  Linux ðïõ åßíáé êýñéïò ÷ñÞóôçò ôùí ðñïãñáììÜôùí ðïõ õðïóôçñßæïõí NLS.


  2.2.  Ðïéá ëåéôïõñãéêÜ óõóôÞìáôá õðïóôçñßæïõí ôï NLS;

  Ôï ëåéôïõñãéêü óýóôçìá Linux åßíáé êýñéïò ÷ñÞóôçò ôùí ðñïãñáììÜôùí ðïõ
  õðïóôçñßæïõí NLS.  Ôï Linux <http://www.linux.gr> áðáñôßæåôáé áðü
  ðñïãñÜììáôá åöáñìïãþí ðïõ äéáôßèåíôáé ìå ôçí Üäåéá äéÜèåóçò GNU
  <http://www.gnu.org>. Ôï ëïãéóìéêü áõôü, õðïóôçñßæåé êáôÜ âÜóç ôï NLS.
  Åêôüò áðü ôï Linux, ôá ðåñéóóüôåñá ëåéôïõñãéêÜ óõóôÞìáôá Unix Þ
  ôýðïõ-Unix ìðïñïýí íá õðïóôçñßîïõí NLS.


  2.3.  ÅðéãñáììáôéêÜ, ðþò ëåéôïõñãåß ôï NLS;

  Ãéá ôá ðåñéóóüôåñá ðñïãñÜììáôá, ç õðïóôÞñéîç ãßíåôáé ìå ôï ðáêÝôï
  gettext.  Óôï ðáêÝôï áõôü ðåñéëáìâÜíïíôáé ìéá âéâëéïèÞêç óôçí ïðïßá
  óõíäÝåôáé (link) ôï åêÜóôïôå ðñüãñáììá óôç öÜóç ôçò ìåôáãëþôôéóçò. Óôï
  ßäéï ôï ðñüãñáììá, ðñïóôßèåíôáé ìåñéêÝò åíôïëÝò ôçò âéâëéïèÞêçò. Ïé
  åíôïëÝò áõôÝò åëÝã÷ïõí ìåôáâëçôÝò ôïõ ðåñéâÜëëïíôïò ðïõ êáèïñßæïõí ôç
  ãëþóóá êáé áíôéêáèéóôïýí ôá ìçíýìáôá ìå ôá ìåôáöñáóìÝíá ìçíýìáôá.


  2.4.  Ðïéá ðñïãñÜììáôá õðïóôçñßæïõí NLS;

  Èá ÷ùñßóïõìå ôá ðñïãñÜììáôá óå êáôçãïñßåò.


  1. Åðßóçìá GNU ðñïãñÜììáôá

     Ç ìåôÜöñáóç ôùí ðñïãñáììÜôùí áõôþí ïñãáíþíåôáé áðü ôï GNU
     Translation Project ôï ïðïßï Ý÷åé óôåíÝò ó÷Ýóåéò ìå ôï FSF (Free
     Software Foundation). Ôá ðéï âáóéêÜ ðñïãñÜììáôá åíüò óõóôÞìáôïò
     Unix êáëýðôïíôáé åäþ. Ôï ãåãïíüò üôé ôá ðñïãñÜììáôá åßíáé åðßóçìá
     GNU óçìáßíåé üôé ôá Üôïìá ðïõ áðïóôÝëëïõí ìåôáöñÜóåéò, ðñÝðåé íá
     äçëþíïõí åããñÜðôùò üôé óõìöùíïýí ìå ôçí Üäåéá äéÜèåóçò GNU. Áêüìá,
     ïé ìåôáöñÜóåéò êÜèå ãëþóóáò ðñÝðåé íá Ý÷ïõí Ýíá õðåýèõíï ðïõ íá
     ïñãáíþíåé ôç äéáäéêáóßá. ÁõôÝò ïé íïìéêÝò éäéáéôåñüôçôåò, áí êáé
     öáßíïíôáé üôé áðïèáññýíïõí ôéò ìåôáöñÜóåéò, åßíáé áíáãêáßåò ãéá ôçí
     ïñèÞ ÷ñÞóç ôçò Üäåéáò äéÜèåóçò GNU áðü íïìéêÞò ðëåõñÜò.


  2. Áíåðßóçìá GNU ðñïãñÜììáôá

     ¸íáò óçìáíôéêüò áñéèìüò ðñïãñáììÜôùí, ðïõ ïé ðñïãñáììáôéóôÝò ôïõò
     åðéëÝãïõí íá äéáèÝóïõí ìå ôçí Üäåéá äéÜèåóçò GNU, õðïóôçñßæïõí NLS.
     Ãéá áõôÜ ôá ðñïãñÜììáôá, áñêåß ç áðïóôïëÞ ôçò ìåôÜöñáóçò óôïõò
     ßäéïõò ôïõò ðñïãñáììáôéóôÝò ãéá íá ôç óõìðåñéëÜâïõí.  Åäþ áíÞêïõí
     êáé ôá ãñáöéêÜ ðåñéâÜëëïíôá KDE êáé Gnome, ùóôüóï ãéá áõôÜ
     ðñïóèÝôïõìå äýï íÝåò êáôçãïñßåò ëüãù ôçò ìåãÜëçò óçìáóßáò ôïõò.


  3. KDE

     Ôï ãñáöéêü ðåñéâÜëëïí KDE <http://www.kde.org> áðáñôßæåôáé áðü Ýíá
     óçìáíôéêü áñéèìü ðñïãñáììÜôùí ôá ïðïßá õðïóôçñßæïõí NLS. Ôï KDE
     åßíáé ðïëý äçìïöéëÝò êáé õðÜñ÷åé ìåãÜëç áíÜãêç íá õðÜñ÷åé ìéá
     ðëÞñçò, ôñÝ÷ïõóá êáé áêñéâÞò õðïóôÞñéîç åëëçíéêþí.


  4. Gnome

     Ôï ãñáöéêü ðåñéâÜëëïí Gnome <http://www.gnome.org>, áðáñôßæåôáé,
     üðùò ôï KDE, áðü Ýíá óçìáíôéêü áñéèìü ðñïãñáììÜôùí ðñïãñáììÜôùí ðïõ
     õðïóôçñßæïõí NLS.  To Gnome áñ÷ßæåé íá äéáäßäåôáé êáé áíáìÝíåôáé íá
     ðáßîåé Ýíá óçìáíôéêü ñüëï óáí Ýíá ãñáöéêü ðåñéâÜëëïí ãéá óõóôÞìáôá
     Unix.


  2.5.  Óôü÷ïò ôùí ìåôáöñÜóåùí

  Åðéèõìïýìå óôéò ìåôáöñÜóåéò íá ðåôý÷ïõìå ôïõò ðáñáêÜôù óôü÷ïõò

  ·  áêñßâåéá óôç ìåôÜöñáóç ôùí ìçíõìÜôùí óôç ôïðéêÞ ãëþóóá

  ·  ðëçñüôçôá ôçò ìåôÜöñáóçò

  ·  ðïéüôçôá ôçò ìåôÜöñáóçò

  ·  ïìïéïãÝíåéá ôçò ìåôÜöñáóçò êáé ìåôáîý ìåôáöñÜóåùí

  ·  åíçìåñüôçôá ôùí ìåôáöñÜóåùí ìåôáîý åêäüóåùí


  3.  NLS óôçí ðñÜîç



  3.1.  ÐáñÜäåéãìá ÷ñÞóçò ôïõ NLS


  ÊïéôÜîôå óôï êáôÜëïãï


       RedHat-6.0: /usr/share/locale (ðñïò åîáêñßâùóç)



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



       RedHat-4.x: /usr/share/locale (ðñïò åîáêñßâùóç)



       Open Linux 2.2: /usr/share/locale (ðñïò åîáêñßâùóç)



       SuSe 6.÷: /usr/share/locale (ðñïò åîáêñßâùóç)



       Slackware 4.0: /usr/share/locale (ðñïò åîáêñßâùóç)



       Debian 2.x: /usr/share/locale (ðñïò åîáêñßâùóç)


  óôï óýóôçìÜ óáò ãéá äéáãñÜììáôá ðïõ áöïñïýí ôéò õðïóôçñéæüìåíåò ÷þñåò.
  Èá âñåßôå óßãïõñá ãáëëéêÜ, éóðáíéêÜ, ãåñìáíéêÜ, ïëëáíäéêÜ êëð.

  Ðñï÷ùñÞóôå óôï õðïêáôÜëïãï es êáé ìåôÜ LC_MESSAGES, äçëáäÞ
  /usr/share/es/LC_MESSAGES/ êáé Ýóôù üôé âñßóêåôå ôï "fileutils.mo".
  Ôüôå, Ý÷åôå õðïóôÞñéîç ãéá éóðáíéêÜ óôï ls, mkdir êôë.  (Áí Ý÷åôå
  õðïêáôÜëïãï el ãéá åëëçíéêÜ êáé ôï áíôßóôïé÷ï áñ÷åßï óôï óýóôçìÜ óáò,
  ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï ëåêôéêü áõôü áíôß ôïõ es).

  TñÝîôå


  ·  setenv LANGUAGE es     (ãéá üóïõò Ý÷ïõí öëïéü tcsh Þ óõìâáôü ìå
     csh) Þ

  ·  export LANGUAGE es     (ãéá üóïõò Ý÷ïõí öëïéü bash Þ óõìâáôü ìå sh)


  Ôþñá ôñÝîôå "ls --help" êáé èá äåßôå éóðáíéêÜ ìçíýìáôá!


  3.2.  Ôï äïêßìáóá Üëëá äåí äïõëåýåé!


  Óå áõôÞ ôçí êáôçãïñßá ìðïñåß íá âñßóêïíôáé ïé ÷ñÞóôåò ìå ðáëéÜ Ýêäïóç
  ôïõ Linux.

  Óôï óýóôçìÜ óáò ìðïñåß íá õðÜñ÷ïõí ðåñéóóüôåñïé êáôÜëïãïé ìå
  ðëçñïöïñßåò ãéá ìåôáöñÜóåéò ðñïãñáììÜôùí (êáôÜëïãïé locale). Ôï óýíïëï
  ôùí êáôáëüãùí ðïõ åëÝã÷ïíôáé, ïñßæåôáé ìå ôç ìåôáâëçôÞ ðåñéâÜëëïíôïò
  NLSPATH.  ÐÜíôá õðÜñ÷ïõí êÜðïéïé êáôÜëïãïé ðïõ ôï óýóôçìá åñåõíÜ åî
  ïñéóìïý, ïé ïðïßïé Ý÷ïõí ðñïêáèïñéóôåß óôç âáóéêÞ âéâëéïèÞêç ôïõ
  óõóôÞìáôüò óáò, ôç libc. ÄïêéìÜóôå "strace -o output.log ls --help"
  êáé ìåôÜ "grep open output.log" ãéá íá äåßôå ðïõ øÜ÷íåé ôï óýóôçìá.
  ÌåôÜ êáèïñßóôå áíÜëïãá ôï NLSPATH.


  3.3.  Ìå ðïéï(ðïéïõò) ôñüðïõò êáèïñßæåôáé ç ãëþóóá ìå ôçí ïðïßá
  åìöáíßæïíôáé ôá ìçíýìáôá åíüò óõóôÞìáôïò;

  ÌÝóù ìåôáâëçôþí ðåñéâÜëëïíôïò. Ãéá êÜðïéï ëüãï, õðÜñ÷åé Ýíáò áñéèìüò
  áðü ìåôáâëçôÝò ðïõ êÜíïõí ó÷åäüí ôçí ßäéá äïõëåéÜ. Ç ìåôáâëçôÞ ðïõ
  öáßíåôå íá ÷ñçóéìïðïéïýí ïé ðåñéóóüôåñïé ÷ñÞóôåò åßíáé ç LANG, ìå ôç
  ìïñöÞ


  ·  setenv LANG el     (ãéá üóïõò Ý÷ïõí öëïéü tcsh Þ óõìâáôü ìå csh) Þ

  ·  export LANG=el     (ãéá üóïõò Ý÷ïõí öëïéü bash Þ óõìâáôü ìå sh)

  ÄéáöïñåôéêÜ, õðÜñ÷åé ç ìåôáâëçôÞ LANGUAGE, ç ïðïßá Ý÷åé ðñïôåñáéüôçôá
  Ýíáíôé ôçò LANG.

  Ãéá ôá óõóôÞìáôá ìå glibc 2.1 (áõôÞ ôç óôéãìÞ RedHat 6.0), ï ÷ñÞóôçò
  ìðïñåß íá åêôåëÝóåé (ðñïò åîáêñßâùóç)

  ·  setenv LANG greek     (ãéá üóïõò Ý÷ïõí öëïéü tcsh Þ óõìâáôü ìå csh)
     Þ

  ·  export LANG=greek     (ãéá üóïõò Ý÷ïõí öëïéü bash Þ óõìâáôü ìå sh)


  3.4.  ÌåôÜðôùóç ãëùóóþí óå ðåñßðôùóç áðïõóßáò ìåôáöñÜóåùí

  TñÝîôå

  ·  setenv LANGUAGE 'it:fr'     (ãéá üóïõò Ý÷ïõí öëïéü tcsh Þ óõìâáôü
     ìå csh) Þ

  ·  export LANGUAGE='it:fr'     (ãéá üóïõò Ý÷ïõí öëïéü bash Þ óõìâáôü
     ìå sh)

  Óå üëåò ôéò ðåñéðôþóåéò, õðÜñ÷åé ç ôåëéêÞ ìåôÜðôùóç óôçí áããëéêÞ.


  3.5.  ÐñïãñáììáôéóôéêÝò ðëçñïöïñßåò

  Ôï ðáñáêÜôù õëéêü ðñïÝñ÷åôáé áðü ôï Íßêï Ìáõñïãéáííüðïõëï
  <mailto:nmav@hellug.gr>.

  Ìéáò êáé ôï nls ÷ñçóéìïðïéåßôáé üëï êáé ðåñéóóüôåñï óôá íÝá
  ðñïãñÜììáôá (éäéáßôåñá áõôÜ ðïõ áðïôåëïýí ôï GNU óýóôçìá), åßíáé
  áíáãêáßï íá êÜíïõìå ìéá ðåñéãñáöÞ ôçò äéáäéêáóßáò ðïõ ÷ñåéÜæåôáé ãéá
  íá ôï åíóùìáôþóïõìå êáé óôá äéêÜ ìáò ðñïãñÜììáôá.
  Ç Üäåéá ôïõ gettext ãéá ôá êïììÜôéá ðïõ èá åíóùìáôþóïõìå óôï ðñüãñáììÜ
  ìáò åßíáé ç GNU LGPL ðïõ äåí ìáò ðåñéïñßæåé óôïí êáèïñéóìü ôçò Üäåéáò
  ôïõ ðñïãñÜììáôüò ìáò. ÊïéôÜîôå ôçí ðÜíôùò ãéá íá äåßôå áí åßóôå
  óõìâáôïß(!).

  Áò ðñïóðåñÜóïõìå üìùò ôá "ôõðéêÜ" êáé áò ðåñÜóïõìå óôï øçôü. Ôá
  ðñïãñÜììáôá ðïõ èá ÷ñåéáóôïýìå åßíáé ôá GNU autoconf êáé gettext-0.10,
  êáé âñßóêïíôáé óôï ðéï êïíôéíü gnu mirror.

  Åäþ èá ðñïóðáèÞóïõìå íá ðñïóèÝóïõìå õðïóôÞñéîç åèíéêÞò/ôïðéêÞò ãëþóóáò
  (nls) óå Ýíá ðñüãñáììá ãñáììÝíï óå C. Áò äïýìå Ýíá áðëü ðñüãñáììá, ðïõ
  ôõðþíåé ôçí þñá óôçí ïèüíç:

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

  main ()
  {
          time_t tv;

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

  }
  ______________________________________________________________________



  Ç þñá üðùò êáé ôï ìÞíõìá ôõðþíåôáé óôá áããëéêÜ. ÅðåéäÞ ç ìåôÜöñáóç
  ðñÝðåé íá ãßíåé ãåíéêÜ - äçëáäÞ ôï ßäéï ðñüãñáììá íá ôñÝ÷åé êáé óôá
  ãåñìáíéêÜ êáé óôá åëëçíéêÜ êáé óå ïðïéáäÞðïôå Üëëç ãëþóóá - äåí
  ìåôáöñÜæïõìå áð'åõèåßáò ôï êåßìåíï. ×ñçóéìïðïéïýìå ôá localedata êáé
  ôç âéâëéïèÞêç intl ôçò C âéâëéïèÞêçò.

  Áò ÷ñçóéìïðïéÞóïõìå ôá localedata (ôïðéêÜ äåäïìÝíá) ãéá ôçí þñá.

  Ôï ßäéï ðñüãñáììá ôþñá ãßíåôáé:



























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

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

  /* ÈÝôåé ôï locale óýìöùíá ìå ôçí ìåôáâëçôÞ ðåñéâÜëëïíôïò LANG Þ LANGUAGE
   * Ãéá ôá åëëçíéêÜ ðñÝðåé íá åßíáé el (ISO639) */
          setlocale (LC_TIME, ""); /* Ãéá ôçí þñá êáé ìüíï */

          printf( "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);

  }
  ______________________________________________________________________



  Ç þñá ôþñá èá ôõðùèåß óôçí ìïñöÞ: Ôåô ÍïÝ  11 22:44:29 +0200 1998 ìå
  åëëçíéêïýò ÷áñáêôÞñåò üðùò âëÝðåôå(áí LANG=el Þ gr ãéá ôéò ðáëéÝò
  glibc2).  Ãé'áõôü îå÷Üóôå ôï ctime êáé áó÷ïëçèåßôå ìå ôï strftime().


  Óå ðåñßðôùóç ðïõ äåí åßäáôå åëëçíéêïýò ÷áñáêôÞñåò åëÝãîôå áí óôï
  /usr/share/locale/el õðÜñ÷ïõí ôá áðáñáßôçôá áñ÷åßá. Áí äåí õðÜñ÷ïõí
  ðñïìçèåõôåßôå Ýíá íÝï localedata - óõìðåñéëáìâÜíåôáé óõíÞèùò óôçí libc
  Þ åãêáôáóôÞóôå ôï tarball ðïõ âñßóêåôáé óôï 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>


  Ãéá ôçí ìåôÜöñáóç ôùí ìçíõìÜôùí, ðïõ åßíáé êáé ç êõñéüôåñç éäéüôçôá
  ôïõ NLS ÷ñçóéìïðïéåßôáé ï åîÞò ôñüðïò:




















  ______________________________________________________________________
  #include <stdio.h>
  #include <time.h>
  #include <locale.h>
  #include <libintl.h> /* áñ÷åßï ôçò GNU libc */

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

  /* ðÝñá áðï ôï LC_ALL õðÜñ÷ïõí ôá LC_TIME, LC_MESSAGES êëð, ôá ïðïßá
   * ðñïóäéïñßæïõí åð'áêñéâþò ôé ìåôáöñÜóåéò èá ÷ñçóéìïðïéÞóïõìå.
   */
          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);

  }
  ______________________________________________________________________



  Ïé åíôïëÝò bindtextdomain() êáé textdomain() áöïñïýí ôçí nls
  âéâëéïèÞêç (libintl) êáé ôçí ðëçñïöïñïýí üôé ç ìåôÜöñáóç ôïõ
  ðñïãñÜììáôïò âñßóêåôáé óôï my_time.mo óôïí êáôÜëïãï
  /usr/share/locale/XX, üðïõ ×× ç ãëþóóá ôïõ ÷ñÞóôç (êáèïñßæåôáé áðï ôçí
  ìåôáâëçôÞ LANG Þ LANGUAGE).

  ÅðåéäÞ ðïëëÝò öïñÝò ôï íá ãñÜöïõìå gettext(...) åßíáé åðßðïíï ãéá
  ðïëëÜ ìçíýìáôá, ÷ñçóéìïðïéïýìå ôï:

  ______________________________________________________________________
          #define _(Text) gettext(Text) /* óôéò åðéêåöáëßäåò */

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


  Ôï ðñüãñáììá äåí èá ëåéôïõñãÞóåé áêüìç ìå åëëçíéêÜ. ×ñåéÜæåôáé áêüìç
  ôç äçìéïõñãßá ôïõ .po áñ÷åßïõ. Áõôü åßíáé ó÷åôéêÜ áðëü áí ãßíåé ìå ôï
  ðñüãñáììá xgettext (áðü ôï ðáêÝôï GNU gettext).

  Ãéá ôï óõãêåêñéìÝíï ðñüãñáììá ç Ýîïäïò ôïõ xgettext åßíáé: (óýíôáîç
  "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
  ______________________________________________________________________


  êáé åäþ ìåôïíïìÜæïõìå ôï messages.po óå el.po, ðñïóèÝôïíôáò ôáõôü÷ñïíá
  óôï msgstr ôçí ìåôÜöñáóç, ð÷:

  ______________________________________________________________________
  msgstr "Ç þñá åßíáé: "
  ______________________________________________________________________




  Ôåëåõôáßï ìÝëçìá ôïõ ðñïãñáììáôéóôÞ åßíáé íá ìåôáôñÝøåé áõôü ôï .po
  áñ÷åßï óå .mo Þ .gmo ìïñöÞ. Áõôü åðéôõã÷Üíåôáé ìå ôï ðñüãñáììá msgfmt
  (áðü ôï GNU gettext ðÜëé).

  ______________________________________________________________________
  ð÷ msgfmt el.po -o el.gmo
  ______________________________________________________________________


  êáé ìåôÜ íá áíôéãñáöåß óôï /usr/share/locale/el/LC_MESSAGES/ ôï el.gmo
  óáí my_time.mo (áõôÜ ôá ôåëåõôáßá êáëü åßíáé íá ãßíïõí ìÝóù êÜðïéïõ
  makefile).


  Ôï óçìáíôéêüôåñï ôþñá åßíáé íá áõôïìáôïðïéÞóïõìå áõôÞ ôç äéáäéêáóßá.
  Áõôü åðéôõã÷Üíåôáé ìå ôï GNU autoconf. Áò öôéÜîïõìå Ýíá configure.in
  ðïõ èá åëÝã÷åé êáôÜ ðüóï õðÜñ÷åé õðïóôÞñéîç nls áðü ôçí libc êáé êáèþò
  êáé ôïõ strftime.  (ãéá êáëýôåñåò äéáìïñöþóåéò êïéôÜîôå óôï:
  http://teamball.sdsu.edu/doc/texi/gettext_toc.html
  <http://teamball.sdsu.edu/doc/texi/gettext_toc.html>)


  Ãéá íá áðëïðïéÞóïõìå ôá ðñÜãìáôá èåùñïýìå ôçí åîÞò äéáìüñöùóç ôùí
  áñ÷åßùí ôïõ ðñïãñÜììáôïò: (Ýóôù üôé ôï ðñüãñáììá åßíáé óôï /xxx) óôïí
  êáôÜëïãï /xxx/

  configure.in: ×ñåéÜæåôáé ãéá ôï autoconf (äåßôå ðáñáêÜôù)
  config.h.in : (äåßôå ðáñáêÜôù)


  óôïí êáôÜëïãï /xxx/src/

  my_time.c   : Ôï ðñüãñáììá



  óôïí êáôÜëïãï /xxx/po/

  my_time.pot :  Áõôü åßíáé ôï messages.po ðïõ äçìéïõñãåßôáé áðï ôï
                 xgettext áðëþò ìåôïíïìáóìÝíï
  el.po       :  Ôï my_time.pot ìåôáöñáóìÝíï óôá åëëçíéêÜ
  POTFILES.in :  Åäþ ðñïóèÝôåôå üëá ôá .c áñ÷åßá óôï src ðïõ ÷ñçóéìïðïéïýí
                 ôï gettext. ð÷:
                 /xxx/src/my_time.c



  Áñêåß ôþñá íá áíôéãñÜøåôå áðï ôï ðáêÝôï gettext-0.10 ôá po/Makefile.in
  óôïí êáôÜëïãï ôïõ ðñïãñÜììáôüò /xxx/po/ , üëï ôïí êáôÜëïãï intl/ óôïí
  /xxx/intl/ êáé ôá ABOUT-NLS, aclocal.m4 óôïí /xxx .


  ÐÜìå ôþñá óôïí ðñùôáñ÷éêü êáôÜëïãï ôïõ ðñïãñÜììáôüò ìáò (/xxx) êáé áò
  öôéÜîïõìå ôï configure.in áðï ôï ïðïßï èá ðñïêýøåé ôï ãíùóôü(;) 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 õðïóôçñßæïõìå åëëçíéêÜ (ôï el åßíáé áðï ôï iso639 ðïõ ðñÝðåé íá
  dnl ÷ñçóéìïðïéåßôáé ãéá ôçí Ýíäåéîç ãëþóóáò óôéò ìåôáöñÜóåéò óýìöùíá ìå ôï
  dnl åã÷åéñßäéï ôï gettext.)
  ALL_LINGUAS="el"

  dnl Ãéá ôï 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
  ______________________________________________________________________



  êáé áìÝóùò ìåôÜ äçìéïõñãïýìå Ýíá config.h.in (åßíáé âÜóç ôïõ áñ÷åßïõ
  config.h ðïõ èá óõìðåñéëáìâÜíåôáé óôï ðñüãñáììÜ ìáò. Ç äçìéïõñãßá ôïõ
  config.h ãßíåôáé áðï ôï script configure.)  Ôï config.h.in èá
  ðåñéÝ÷åé:


  ______________________________________________________________________
  # config.h.in for my_time.c
  /* Ôï üíïìá ôïõ ðáêÝôïõ (èá ÷ñçóéìïðïéçèåß ãéá ôï textdomain) */
  #undef PACKAGE
  #undef VERSION

  /* strftime */
  #undef HAVE_STRFTIME
  #undef ENABLE_NLS

  #end of config.h.in
  ______________________________________________________________________




  Ôï Makefile.in ãéá ôï ðñüãñáììá (ôï Makefile äçìéïõñãåßôáé åðßóçò
  áõôüìáôá áðï ôï configure), ðñÝðåé íá Ý÷åé óå ãåíéêÝò ãñáììÝò ôá:

  ______________________________________________________________________
  # 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@

  #ÅÜí ï êþäéêáò óáò äåí åßíáé óôïí src/ êáôÜëïãï ÷ñåéÜæåôáé ïñéóìÝíåò áëëáãÝò
  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
  # Åäþ ïé åðéêåöáëßäåò åßíáé ðåñßðïõ ßäéåò ìå ðñéí:
  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
  ______________________________________________________________________



  Ôï ðñüãñáììá ôþñá èá ãßíåé:






































  ______________________________________________________________________
  # src/my_time.c

  #include <stdio.h>
  #include <time.h>
  #include <config.h> /* Þ "config.h" áí äåí âÜëåôå ôï -I. óôï 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
  ______________________________________________________________________



  Ôþñá ôñÝ÷ïõìå ôï autoconf ðïõ äçìéïõñãåß ôï configure script. Aí üëá
  ðÞãáí êáëÜ Ý÷ïõìå Ýíá ðñüãñáììá ðïõ ìéëÜåé îÝíåò ãëþóóåò!

  Ôï ðáñáðÜíù êåßìåíï åßíáé ìéá åéóáãùãÞ ìüíï óôï èÝìá. Äåí åßíáé óå
  êáìéÜ ðåñßðôùóç ðëÞñåò, áí èÝëåôå ðáñáðÜíù ðëçñïöïñßåò óõìâïõëåõôåßôå
  ôá åã÷åéñßäéá ôùí ðñïãñáììÜôùí autoconf, gettext.  Ðåñéóóüôåñá ãéá ôï
  gettext (êáé ôçí ÷ñÞóç ôïõ ìå ôï autoconf) óôï:
  http://teamball.sdsu.edu/doc/texi/gettext_toc.html
  <http://teamball.sdsu.edu/doc/texi/gettext_toc.html>


  4.  Äéáäéêáóßá ôçò ìåôÜöñáóçò



  4.1.  Åßíáé åðßðïíç ç åñãáóßá ôçò ìåôÜöñáóçò ôùí ìçíõìÜôùí;

  Äåí åßíáé áñêåôÜ åðßðïíç. Ôï ìüíï åðßðïíï ìÝñïò åßíáé ç áñ÷éêÞ
  ìåôÜöñáóç üëïõ ôïõ üãêïõ ôùí ìçíõìÜôùí. ¸ðåéôá, ìå ôçí êõêëïöïñßá íÝùí
  åêäüóåùí ôïõ ßäéïõ ðñïãñÜììáôïò, áñêåß ç ìåôÜöñáóç ôùí íÝùí ìçíõìÜôùí,
  ðïõ åßíáé óõíÞèùò ëßãá óôïí áñéèìü.  ÕðÜñ÷ïõí åéäéêÜ åñãáëåßá ðïõ
  âñßóêïõí ôá ìçíýìáôá ðïõ Ý÷ïõí áëëÜîåé ìåôáîý ôùí åêäüóåùí êáé ôá
  åìöáíßæïõí ãéá ìåôÜöñáóç.


  4.2.  ÐëçñïöïñéáêÜ, Ýíá ðñüãñáììá ðïõ õðïóôçñßæåé NLS ðùò ìïéÜæåé;

  Ï ðñïãñáììáôéóôÞò ãñÜöåé ôá ìçíýìáôá ùò åîÞò:


  ______________________________________________________________________
  ...
  /* ÌåñéêÝò ãñáììÝò êþäéêá ãéá áñ÷éêïðïßçóç ôïõ óõóôÞìáôïò NLS */
  ...

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

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

  ...
  ______________________________________________________________________



  ÄçëáäÞ ðåñéêëåßåé ôá ìçíýìáôá ðïõ áðáéôïýí ìåôÜöñáóç ìå _( ).  Óå üëï
  ôï äéÜóôçìá ôçò áíÜðôõîçò ôïõ ðñïãñÜììáôïò, ï ðñïãñáììáôéóôÞò äåí
  áó÷ïëåßôáé ìå ôï óýóôçìá NLS ðáñÜ ìüíï íá ðåñéêëåßåé ìå _() ôï
  ìçíýìáôá ðïõ âëÝðåé ï ÷ñÞóôçò. Ôï ðñüãñáììá äïõëåýåé ùò Ý÷åé.

  ¸ðåéôá, ï ðñïãñáììáôéóôÞò ôñÝ÷åé Ýíá âïçèçôéêü ðñüãñáììá ðïõ
  óõãêåíôñþíåé ôá ìçíýìáôá ðïõ ðåñéêëåßïíôáé óå _() óå Ýíá áñ÷åßï. Óôï
  áñ÷åßï áõôü åßíáé ðïõ åðåìâáßíåé ãéá íá ðñïóèÝóåé ôç ìåôÜöñáóç ôùí
  ìçíõìÜôùí.  ¸ðåéôá, ìå Üëëï âïçèçôéêü ðñüãñáììá, ôï ðñþôï áñ÷åßï
  ìåôáôñÝðåôáé óå ìéá äõáäéêÞ ìïñöÞ ðïõ ìðïñåß íá ÷ñçóéìïðïéçèåß áðü ôï
  åêôåëÝóéìï. Óôçí åêôÝëåóç ôïõ, ôï ðñüãñáììá áíáæçôÜ ìéá ìåôáâëçôÞ
  ðåñéâÜëëïíôïò ãéá ôçí åðéëïãÞ ôçò ãëþóóáò åìöÜíéóçò ôùí ìçíõìÜôùí.
  ÂÜóç ôçò ãëþóóáò, ÷ñçóéìïðïéåß êáé ôá áíÜëïãá ìçíýìáôá.  Áí ôá
  ìçíýìáôá äåí åßíáé ðáñüíôá, ôüôå ÷ñçóéìïðïéåß ôá áããëéêÜ, ôá ïðïßá
  ðåñéÝ÷ïíôáé óôï ßäéï ôï åêôåëÝóéìï ðñüãñáììá.


  4.3.  Ðïéá åßíáé ôá ðñïãñÜììáôá ðïõ âïçèïýí ôç ìåôÜöñáóç êáé ðùò
  ëåéôïõñãïýí;



  4.3.1.  ÐáêÝôï gettext

  Ôá ðñïãñÜììáôá ðïõ âïçèïýí ôçí ïñãÜíùóç ôçò ìåôÜöñáóçò åßíáé áðü ôï
  ðáêÝôï gettext, êáé èá ôï âñåßôå óå üëá ôá êáëÜ GNU mirror sites.
  ÔñÝ÷ïõóá Ýêäïóç: 0.10.XX êáé ôç óôéãìÞ ðïõ ãñÜöåôáé áõôü éó÷ýåé ××=35
  êáé gettext-0.10.35.tar.gz
  <http://www.iro.umontreal.ca/contrib/po/gettext-0.10.35.tar.gz>


  Ôá ðåñéóóüôåñá ðñïãñÜììáôá õëïðïéïýí ôï NLS ìå ôï ðáêÝôï gettext.
  ÕðÜñ÷ïõí êÜðïéá Üëëá ðïõ õðïóôçñßæïõí ìéá ðáëéüôåñç ôå÷íéêÞ, ôçí
  catgets. Èá ìéëÞóïõìå ìüíï ãéá gettext.



  4.3.2.  Ðñüãñáììá xgettext


  Åßóïäïò: áñ÷åßá *.c Þ *.h ìå áëöáñéèìçôéêÜ ôçò ìïñöÞò _("blah blah").

  ¸îïäïò:  áñ÷åßï êåéìÝíïõ *.pot ìå ôá áëöáñéèìçôéêÜ ðñïò ìåôÜöñáóç.

  Ôï áñ÷åßï *.pot åßíáé ôï áñ÷åßï õðüäåéãìá, ðïõ èá Ýðáéñíå êÜðïéïò
  ìåôáöñáóôÞò åëëçíéêþí êáé èá ôï áíôÝãñáöå óå el.po. Óôï áñ÷åßï el.po
  ãßíåôáé ç ìåôÜöñáóç.

  Óå üëá ôá ðáêÝôá ìå õðïóôÞñéîç "gettext", õðÜñ÷åé Ýíáò õðïêáôÜëïãïò
  po/ ðïõ ðåñéÝ÷åé ôï áñ÷åßï õðüäåéãìá "ðñüãñáììá.pot", ôï ïðïßï åßíáé
  êåíü áðü ìåôáöñáóìÝíá ìçíýìáôá. Ôáõôü÷ñïíá, ãéá ôéò õðïóôçñéæüìåíåò
  ãëþóóåò õðÜñ÷ïõí áíôßóôïé÷á áñ÷åßá *.po, üðùò de.po, fr.po, nl.po ðïõ
  åßíáé áíôßãñáöá ôïõ áñ÷éêïý áñ÷åßïõ õðïäåßãìáôïò .pot ìå óõìðëçñùìÝíåò
  ôéò ìåôáöñÜóåéò.


  4.3.3.  Ðñüãñáììá msgfmt


  Åßóïäïò: áñ÷åßá *.po (portable object)

  ¸îïäïò:  áñ÷åßá *.mo (machine object)


  Ôï áñ÷åßï .mo åßíáé åêåßíï ðïõ èá ôïðïèåôçèåß óôï êáôÜëïãï
  /usr/share/locale/el/LC_MESSAGES ãéá íá ïëïêëçñùèåß ç åãêáôÜóôáóç.


  4.3.4.  ËïéðÜ ðñïãñÜììáôá


  ¶ëëá ðñïãñÜììáôá ôïõ ðáêÝôïõ gettext åßíáé


  ·  msgmerge, Ýîõðíç óõíÝíùóç äýï .po áñ÷åßùí

  ·  msgcomm, åýñåóç êïéíþí ìçíõìÜôùí äýï .po áñ÷åßùí

  ·  msgcmp, óýãêñéóç äýï .po áñ÷åßùí

  ·  msgunfmt, ìåôáôñïðÞ ôïõ .mo óå .po


  5.  ÅðéëïãÞ åëëçíéêþí ëÝîåùí êáé åêöñÜóåùí

  Åßíáé óçìáíôéêü íá õðÜñ÷åé ìéá ïìïéïãÝíåéá óôï áðïôÝëåóìá ôùí
  ìåôáöñÜóåùí.  Ãéá áõôü ôï ëüãï, ×ñÞóç üñùí ðïõ ðñïôåßíïõí Ýãêõñåò
  ðçãÝò, üðùò ÅËÏÔ, ÅÐÕ, ìåôáöñáóìÝíá âéâëßá ðëçñïöïñéêÞò óôá åëëçíéêÜ
  (ð.÷. ËåéôïõñãéêÜ óõóôÞìáôá ôïõ A.S.Tanenbaum) êáé ðñïçãïýìåíåò
  ìåôáöñÜóåéò.



  5.1.  Ðùò èá ìðïñïýóå íá ìåôáöñáóôåß ôï ð.÷. "Broken pipe"; "ÓðáóìÝíç
  óùëÞíá";

  Ìå Ýîõðíç åðéëïãÞ ôùí üñùí, ìðïñïýìå íá ëýóïõìå ôÝôïéá ðñïâëÞìáôá.  Ç
  ÅëëçíéêÞ ãëþóóá åßíáé ãíùóôü üôé åßíáé áñêåôÜ ðëïýóéá.  ¸íáò êáëýôåñïò
  üñïò ãéá ôï ðáñáðÜíù ðáñÜäåéãìá èá Þôáí "Äéáêïðåßóá óùëÞíùóç".




  5.2.  LEXIS

  Ôï LEXIS <http://server.hellug.gr/lexis/> åßíáé Ýíá ëåîéêü ìå
  åëëçíéêÝò ìåôáöñÜóåéò áããëéêþí åííïéþí ðïõ ÷ñçóéìïðïéïýíôáé óôç
  ÐëçñïöïñéêÞ.


  5.3.  ÅëëçíéêÞ âéâëéïãñáößá


  ·  ÁóöÜëåéá óôéò Ôå÷íïëïãßåò Ðëçñïöïñéþí & Åðéêïéíùíéþí - ÅííïéïëïãéêÞ
     Èåìåëßùóç (Åêäüóåéò ÍÝùí Ôå÷íïëïãéþí)

  ·  ËåéôïõñãéêÜ ÓõóôÞìáôá É (ìåôÜöñáóç ôïõ âéâëßïõ ôïõ Á.Tannembaum áðü
     ôï Å.Ê.Ð.Á.;)(ðñïò åîáêñßâùóç)

  ·  Å.Ð.Õ.(ðñïò óõìðëÞñùóç)


  6.  ÏñãÜíùóç ìåôáöñÜóåùí



  6.1.  Ðñïóüíôá ìåôáöñáóôþí

  Ôá Üôïìá ðïõ ôïõò åíäéáöÝñåé ç ìåôÜöñáóç ðñÝðåé íá Ý÷ïõí

  ·  åõ÷Ýñéá óôçí åëëçíéêÞ ãëþóóá

  ·  êáëÞ ãíþóç üñùí ôçò ðëçñïöïñéêÞò

  ·  åìðåéñßá ìå ôï ëïãéóìéêü ðñïò ìåôÜöñáóç

  Ãßíåôáé áíÜëçøç ôçò âáóéêÞò ìåôÜöñáóçò ôïõ ðñïãñÜììáôïò êáé Ýíá
  äåýôåñï Üôïìï áó÷ïëåßôáé ìå ôç äéáäéêáóßá ôçò áíáèåþñçóçò (reviewing).
  Èåùñïýìå ôç äéáäéêáóßá ôçò áíáèåþñçóçò óçìáíôéêÞ ãéá ôçí õøçëÞ
  ðïéüôçôá ôçò ìåôÜöñáóçò.


  6.2.  ÁíÜëçøç ìåôáöñÜóåùí

  Ìüëéò åðéëÝîåôå ôï ðáêÝôï ðïõ èÝëåôå íá ìåôáöñÜóåôå, åðéêïéíùíåßôå ìå
  ôïí ôñÝ÷ïíôá õðåýèõíï ôùí ìåôáöñÜóåùí êáé óáò áðïäßäåôå ï áíáèåùñçôÞò
  ôçò ìåôÜöñáóçò. Áöïý ïëïêëçñþóåôå ôç ìåôÜöñáóç, ï áíáèåùñçôÞò ôçí
  åëÝã÷åé êáé óáò óôÝëíåé ðßóù ó÷üëéá êáé ðñïôÜóåéò ãéá áëëáãÞ.  ÂÜóç
  ôùí óôïé÷åßùí áõôþí, ðñïêýðôåé ìéá ôåëéêÞ Ýêäïóç ç ïðïßá áðïóôÝëëåôå
  ðñïò óõìðåñßëçøç óôï ðáêÝôï ëïãéóìéêïý. Ãéá ôéò ìåëëïíôéêÝò åêäüóåéò
  ôïõ ðáêÝôïõ ìðïñåßôå íá óôÝëíåôå êáôåõèåßáí ôéò áíáíåùìÝíåò
  ìåôáöñÜóåéò.


  6.3.  Ïäçãßåò ìåôÜöñáóçò

  Ï ìåôáöñáóôÞò ðñÝðåé íá ìåôáöñÜóåé ôá ìçíýìáôá ðïõ âñßóêïíôáé óå Ýíá
  áñ÷åßï ìå üíïìá po/ðñüãñáììá.pot óôï ðáêÝôï ôïõ ðñïãñÜììáôïò.  Ôï
  óõãêåêñéìÝíï áñ÷åßï Ý÷åé ôç ìïñöÞ



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





  Oðüôå ðñïóèÝôïõìå óôï ðåäßï msgstr ôçí åëëçíéêÞ ìåôÜöñáóç, äçëáäÞ:


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

  ·  msgstr "Óýíäåóç ìå %s:%hu... "

  Ðåñéóóüôåñåò ïäçãßåò ìðïñåßôå íá âñåßôå óôï GNU Translation Project
  <http://www.iro.umontreal.ca/contrib/po>


  6.4.  ÍïìéêÝò ëåðôïìÝñåéåò

  Óôçí ðåñßðôùóç ðïõ ìåôáöñÜæåôå Ýíá ðñüãñáììá ðïõ áíÞêåé óôá Åðßóçìá
  GNU ÐñïãñÜììáôá, ðñÝðåé íá áðïêõññýîåôå üëá ôá äéêáéþìáôá
  åêìåôÜëëåõóçò. Áõôü ãßíåôáé ìå ôçí áðïóôïëÞ ôïõ ëåãüìåíïõ DISCLAIMER
  <http://www.iro.umontreal.ca/contrib/po/doc/>. Ãéá ðåñéóóüôåñåò
  ðëçñïöïñßåò, åðéêïéíùíÞóôå ìå ôoí õðåýèõíï ôùí ìåôáöñÜóåùí ãéá
  ðåñéóóüôåñåò ðëçñïöïñßåò. Äåßôå ``Õðåýèõíïò ìåôáöñÜóåùí''

  Ôá Üôïìá ôçò åëëçíéêÞò ìåôáöñáóôéêÞò ïìÜäáò, ôá ïðïßá Ý÷ïõí åêôåëÝóåé
  ôçí ðñïçãïýìåíç äéáäéêáóßá åßíáé


  ·  ×ñÞóôïò Áíáóôáóßïõ <mailto:chanas@cs.teiath.gr>

  ·  Íßêïò Ìáõñïãéáííüðïõëïò <mailto:nmav@i-net.paiko.gr>

  ·  ÊïóìÜò ÌðåíÝêïò <mailto:kosmega@teiath.gr>

  ·  Óßìïò ÎåíéôÝëëçò <mailto:S.Xenitellis@rhbnc.ac.uk>

  ·  ÃéÜííçò Óðáíüò <mailto:yspanos@hotmail.com>


  6.5.  Ðïéïé åßíáé ïé âáóéêïß ëüãïé ìåôÜöñáóçò ôùí ìçíõìÜôùí óôá
  åëëçíéêÜ;


  1. Ï åîåëëçíéóìüò åíéó÷ýåé ôá åðé÷åéñÞìáôá ãéá ÷ñÞóç ôïõ Linux óôç
     äåõôåñïâÜèìéá êáé ôñéôïâÜèìéá åêðáßäåõóç.

  2. Ïé íåþôåñåò äéáíïìÝò ôïõ Linux èá ðåñéÝ÷ïõí åî ïñéóìïý ôá åëëçíéêÜ
     ìçíýìáôá êáé èá õðïóôçñßæïõí åí ãÝíåé ôá åëëçíéêÜ.

  3. Êáèéåñþíïíôáé íôå öÜêôï ïé åëëçíéêïß üñïé óôç ðëçñïöïñéêÞ.

  4. Åíéó÷ýïíôáé ïé äéÜöïñïé êëþíïé ôïõ Unix ðïõ Ý÷ïõí âáóéêÞ õðïóôÞñéîç
     Åëëçíéêþí üðùò Solaris.

  5. Ï åîåëëçíéóìüò åßíáé êÜôé ðïõ ðñÝðåé íá ãßíåé ãéá íá åßíáé ðëÞñåò
     ôï Linux. Ãéá üóïõò åßíáé áñíçôéêÜ äéáêåßìåíïé, óêåöôåßôå üôé åßíáé
     óáí íá äïõëåýåôå óå Ýíá ïßêï ëïãéóìéêïý (software house) êáé êáé íá
     äéáèÝôåôå ôï ðñüãñáììá ÷ùñßò íá âÜëåôå áñ÷åßá âïÞèåéáò äéüôé êáíåßò
     äåí ôá äéáâÜæåé.

  6. Ãéá íá ÷ñçóéìïðïéçèåß ôï Linux óôçí åêðáßäåõóç, åßíáé óçìáíôéêü
     ðñïóüí íá åßíáé åîåëëçíéóìÝíï. Êáé áõôü, åßôå ãéá ôïõò äéáãùíéóìïýò
     ðëçñïöïñéêÞò, åßôå ãéá ôïõò ìáèçôÝò ìå äõóêïëßá óôá áããëéêÜ.


  7.  ÔñÝ÷ïõóá êáôÜóôáóç ôùí ìåôáöñÜóåùí


  ·  Åðßóçìá GNU ðñïãñÜììáôá

     1. enscript, ìåôÜöñáóç Ìáíþëçò ËïõñÜêçò
        <mailto:lourakis@csd.uch.gr>, áíáèåþñçóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>

     2. fileutils, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     3. gettext, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     4. grep, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     5. hello, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     6. libc, ìåôÜöñáóç Íßêïò Ìáõñïãéáííüðïõëïò <mailto:nmav@hellug.gr>,
        áíáèåþñçóç Óßìïò ÎåíéôÝëëçò <mailto:S.Xenitellis@rhbnc.ac.uk>

     7. m4, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     8. recode, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     9. sharutils, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     10.
        sh-utils, ìåôÜöñáóç Íßêïò Ìáõñïãéáííüðïõëïò
        <mailto:nmav@hellug.gr>, áíáèåþñçóç êåíü

     11.
        sed, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     12.
        textutils, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     13.
        wget, ìåôÜöñáóç Óßìïò ÎåíéôÝëëçò
        <mailto:S.Xenitellis@rhbnc.ac.uk>, áíáèåþñçóç êåíü

     Ðåñéóóüôåñåò ðëçñïöïñßåò Ðßíáêáò ìåôáöñÜóåùí #1
     <http://www.iro.umontreal.ca/contrib/po/doc/matrix.texi>, Ðßíáêáò
     ìåôáöñÜóåùí #2 <http://www.iro.umontreal.ca/contrib/po/trans/el/>



  ·  Áíåðßóçìá GNU ðñïãñÜììáôá

     1. mutt, ìåôÜöñáóç ÖÜíçò ÄïêéáíÜêçò <mailto:ph04169@cc.uoi.gr>,
        áíáèåþñçóç Óßìïò ÎåíéôÝëëçò <mailto:S.Xenitellis@rhbnc.ac.uk>

     2. shadow, ìåôÜöñáóç Íßêïò Ìáõñïãéáííüðïõëïò
        <mailto:nmav@hellug.gr>, áíáèåþñçóç êåíü

     3. windowmaker, ìåôÜöñáóç Ðáðáãñçãïñßïõ Íéêüëáïò
        <mailto:papanikos@usa.net>, áíáèåþñçóç êåíü

     4. lyx, ìåôÜöñáóç ÌåíÝëáïò ÌáãêëÞò <mailto:maglis@otenet.gr>,
        áíáèåþñçóç êåíü, ðëçñïöïñßåò ÅëëçíéêÞ Óåëßäá Lyx
        <http://users.otenet.gr/~maglis/lyx>


  ·  KDE

     1. âáóéêÜ ìçíýìáôá KDE, ìåôÜöñáóç Èåüäùñïò ÓïëäÜôïò
        <mailto:theodore@eexi.gr>, áíáèåþñçóç êåíü

     Ðåñéóóüôåñåò ðëçñïöïñßåò Ðßíáêáò ìåôáöñÜóåùí KDE
     <http://www.kde.org/i18n.html>




  ·  Gnome

     Ðåñéóóüôåñåò ðëçñïöïñßåò Ðßíáêáò ìåôáöñÜóåùí Gnome
     <http://www.gnome.org/i18n/status.shtml>


  8.  Åêêñåìüôçôåò


  8.1.  ËïéðÜ ðñïãñÜììáôá ðïõ ðåñéìÝíïõí åëëçíéêÞ ìåôÜöñáóç


  1. Ìçíýìáôá åãêáôÜóôáóçò RedHat, RedHat <http://www.redhat.com>

  2. Ìçíýìáôá åãêáôÜóôáóçò SuSE, SuSE <http://www.suse.com>

  3. Fortify, Fortify <http://www.fortify.net/localization.html>, ÷ñÞóç
     óõóôÞìáôïò äéáöïñåôéêïý áðü 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.  ÄéáèÝóéìïé áíáèåùñçôÝò



  ·  ÌåíÝëáïò ÌáãëÞò <mailto:maglis@otenet.gr>

  ·  Íßêïò Ìáõñïãéáííüðïõëïò <mailto:nmav@i-net.paiko.gr>

  ·  Óßìïò ÎåíéôÝëëçò <mailto:S.Xenitellis@rhbnc.ac.uk>

  ¼ðïéïò åßíáé äéáèÝóéìïò íá óõíåéóöÝñåé ùò áíáèåùñçôÞò ìåôáöñÜóåùí, íá
  åðéêïéíùíÞóåé ìå ôïí ``õðåýèõíï ìåôáöñÜóåùí'' ãéá ôçí ðñïóèÞêç ôïõ/ôçò
  óôç ëßóôá.


  10.  ÅëëçíéêÝò ìåôáöñÜóåéò óôéò åêäüóåéò Linux


  ·  RedHat Linux 5.2


     1. WindowMaker



  ·  RedHat Linux 6.0


     1. WindowMaker

     2. fileutils

     3. grep

     4. KDE, Ýêäïóç 1.1

     5. libc


  ·  OpenLinux 2.2


     1. fileutils, Ýêäïóç 4.0-b6

     2. KDE, Ýêäïóç 1.1


  ·  SuSE Linux 6.2 (ðñïò óõìðëÞñùóç)



  11.  PO áñ÷åßá




  1. Åðßóçìá GNU ðñïãñÜììáôá

     Åðßóçìá GNU ðñïãñÜììáôá
     <http://www.iro.umontreal.ca/contrib/po/trans/el/>



  2. Áíåðßóçìá GNU ðñïãñÜììáôá



  ·  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

     êåíü





  12.  Åðéêïéíùíßá


  12.1.  Ðïéïò åßíáé ï ôñÝ÷ïí õðåýèõíïò ôùí åëëçíéêþí ìåôáöñÜóåùí;

  Õðåýèõíïò ãéá ôéò ìåôáöñÜóåéò ôùí Åðßóçìùí GNU ÐñïãñáììÜôùí óôçí
  ÅëëçíéêÞ ãëþóóá åßíáé ï Óßìïò ÎåíéôÝëëçò
  <mailto:S.Xenitellis@rhbnc.ac.uk> (S.Xenitellis@rhbnc.ac.uk). Ãéá
  ïôéäÞðïôå ðëçñïöïñßá, óôåßëôå e-mail.

  Ãéá ôá Áíåðßóçìá GNU ÐñïãñÜììáôá, óõíôïíéóôÞò åßíáé åêåßíïò ôùí
  Åðßóçìùí ÌåôáöñÜóåùí.

  Ãéá ôï ãñáöéêü ðåñéâÜëëïí KDE, õðåýèõíïò åßíáé ï Èåüäùñïò É. ÓïëäÜôïò
  <mailto:theodore@eexi.gr>.

  Ãéá ôï ãñáöéêü ðåñéâÜëëïí Gnome, óõíôïíéóôÞò åßíáé ï Óßìïò ÎåíéôÝëëçò
  <mailto:S.Xenitellis@rhbnc.ac.uk>. Ãéá ôï Gnome äåí õðÜñ÷ïõí ìÝ÷ñé
  áõôÞ ôç óôéãìÞ åëëçíéêÝò ìåôáöñÜóåéò. Ôï ëïãéóìéêü áõôü âñßóêåôáé óå
  áíÜðôõîç êáé ôá áíôßóôïé÷á áñ÷åßá ìçíõìÜôùí áëëÜæïõí áñêåôÜ óõ÷íÜ.
  Ðéóôåýïõìå üôé óôï Üìåóï ìÝëëïí ðñÝðåé íá îåêéíÞóåé ç ìåôÜöñáóç êáé
  óôçí ðåñéï÷Þ áõôÞ.