, , . , , , , . , . , .
, , . , ; , , .
, . .
c : localization internationalization. , . . - //. , - ... , . , - , : "" () . , .
( i18n ), , , , .
, , .
, ; .
. , .
- locale. locale , . , locale . , locale- / / . , / - / / , / - / / .
locale - , :
 RedHat Linux (       Linux),
    
 locale:      C  (libc),       X
.            
 locale  .
     locale    ,  
    LANG.  ,  
   sh:
LANG=ru_SU export LANG
       ,  
 date.     ,    
 .
RedHat 5.x  KOI8-R locale   ru_SU,   
   .     ru_RU 
 locale   iso-8859-5 .
,          locale
  .  ,        (  
)   ru_SU locale,     
   POSIX .     ,
    ,        
    locale.    
     :
LANG=ru_SU LC_NUMERIC=POSIX export LANG LC_NUMERIC
 , . locale(7).
             Linux.    
,  Linux  libc   5.3.12,      
RedHat 4.1   locale.        
  Interneta (, ,    ).
 ,       locale,  
'locale -a'.         locale      
 libc.
   X,         
 locale.       (XFree86 3.3),  
    locale.        
 .     ,        ,
  /usr/lib/X11/locale/ (   ).  
 ,    ,    koi8-r    
iso8859-5..
locale , . , API, , locale. , , locale - , locale ( ).
 man setlocale(3):
locale,setlocale(LC_ALL, "" ), ,localeconv()locale -strcoll()strxfrm().
:
setlocale().       -  
  8-           , 
   ctype.h    limits.h,  
  signed/unsigned .
 ,       -  
      .  
            
:
    if (c >= 'A' && c <= 'Z') {
        ...
, locale
ctype.h.
strcoll()  strxfrm()  strcmp()    ,
 time(), localtime(),  strftime()     
,      ,   localeconv()     
    .
gettext() (Sun/POSIX ),    catgets()
(X/Open ).  .  
i18n
.
char.      wchar_t,  
 ,  ,     
Unicode. ANSI C       API.
, ( Voropay1 ) ( SingleUnix ).
, , ( i18n ) - .
, , . , ( ) . , , free !
    GNU                         
    .  Ulrich   Drepper
(drepper@ipd.info.uni-karlsruhe.de)      gettext.
     GNU ,   
prep.ai.mit.edu.
      ,  
              
  .                
,   ,  gettext     
 .
  :     gettext  
      GNU       
  ,         !  GNU  
,        locale  .
   ,     
   (   ,      ).  
,   :       .po
,            ,  
       .  
,     ,    
 !           Ulrich
Drepper (
drepper@ipd.info.uni-karlsruhe.de).