1*c3d31fe1SmrgNotes on the Free Translation Project 2*c3d31fe1Smrg************************************* 3*c3d31fe1Smrg 4*c3d31fe1Smrg Free software is going international! The Free Translation Project 5*c3d31fe1Smrgis a way to get maintainers of free software, translators, and users all 6*c3d31fe1Smrgtogether, so that will gradually become able to speak many languages. 7*c3d31fe1SmrgA few packages already provide translations for their messages. 8*c3d31fe1Smrg 9*c3d31fe1Smrg If you found this `ABOUT-NLS' file inside a distribution, you may 10*c3d31fe1Smrgassume that the distributed package does use GNU `gettext' internally, 11*c3d31fe1Smrgitself available at your nearest GNU archive site. But you do _not_ 12*c3d31fe1Smrgneed to install GNU `gettext' prior to configuring, installing or using 13*c3d31fe1Smrgthis package with messages translated. 14*c3d31fe1Smrg 15*c3d31fe1Smrg Installers will find here some useful hints. These notes also 16*c3d31fe1Smrgexplain how users should proceed for getting the programs to use the 17*c3d31fe1Smrgavailable translations. They tell how people wanting to contribute and 18*c3d31fe1Smrgwork at translations should contact the appropriate team. 19*c3d31fe1Smrg 20*c3d31fe1Smrg When reporting bugs in the `intl/' directory or bugs which may be 21*c3d31fe1Smrgrelated to internationalization, you should tell about the version of 22*c3d31fe1Smrg`gettext' which is used. The information can be found in the 23*c3d31fe1Smrg`intl/VERSION' file, in internationalized packages. 24*c3d31fe1Smrg 25*c3d31fe1SmrgQuick configuration advice 26*c3d31fe1Smrg========================== 27*c3d31fe1Smrg 28*c3d31fe1Smrg If you want to exploit the full power of internationalization, you 29*c3d31fe1Smrgshould configure it using 30*c3d31fe1Smrg 31*c3d31fe1Smrg ./configure --with-included-gettext 32*c3d31fe1Smrg 33*c3d31fe1Smrgto force usage of internationalizing routines provided within this 34*c3d31fe1Smrgpackage, despite the existence of internationalizing capabilities in the 35*c3d31fe1Smrgoperating system where this package is being installed. So far, only 36*c3d31fe1Smrgthe `gettext' implementation in the GNU C library version 2 provides as 37*c3d31fe1Smrgmany features (such as locale alias, message inheritance, automatic 38*c3d31fe1Smrgcharset conversion or plural form handling) as the implementation here. 39*c3d31fe1SmrgIt is also not possible to offer this additional functionality on top 40*c3d31fe1Smrgof a `catgets' implementation. Future versions of GNU `gettext' will 41*c3d31fe1Smrgvery likely convey even more functionality. So it might be a good idea 42*c3d31fe1Smrgto change to GNU `gettext' as soon as possible. 43*c3d31fe1Smrg 44*c3d31fe1Smrg So you need _not_ provide this option if you are using GNU libc 2 or 45*c3d31fe1Smrgyou have installed a recent copy of the GNU gettext package with the 46*c3d31fe1Smrgincluded `libintl'. 47*c3d31fe1Smrg 48*c3d31fe1SmrgINSTALL Matters 49*c3d31fe1Smrg=============== 50*c3d31fe1Smrg 51*c3d31fe1Smrg Some packages are "localizable" when properly installed; the 52*c3d31fe1Smrgprograms they contain can be made to speak your own native language. 53*c3d31fe1SmrgMost such packages use GNU `gettext'. Other packages have their own 54*c3d31fe1Smrgways to internationalization, predating GNU `gettext'. 55*c3d31fe1Smrg 56*c3d31fe1Smrg By default, this package will be installed to allow translation of 57*c3d31fe1Smrgmessages. It will automatically detect whether the system already 58*c3d31fe1Smrgprovides the GNU `gettext' functions. If not, the GNU `gettext' own 59*c3d31fe1Smrglibrary will be used. This library is wholly contained within this 60*c3d31fe1Smrgpackage, usually in the `intl/' subdirectory, so prior installation of 61*c3d31fe1Smrgthe GNU `gettext' package is _not_ required. Installers may use 62*c3d31fe1Smrgspecial options at configuration time for changing the default 63*c3d31fe1Smrgbehaviour. The commands: 64*c3d31fe1Smrg 65*c3d31fe1Smrg ./configure --with-included-gettext 66*c3d31fe1Smrg ./configure --disable-nls 67*c3d31fe1Smrg 68*c3d31fe1Smrgwill respectively bypass any pre-existing `gettext' to use the 69*c3d31fe1Smrginternationalizing routines provided within this package, or else, 70*c3d31fe1Smrg_totally_ disable translation of messages. 71*c3d31fe1Smrg 72*c3d31fe1Smrg When you already have GNU `gettext' installed on your system and run 73*c3d31fe1Smrgconfigure without an option for your new package, `configure' will 74*c3d31fe1Smrgprobably detect the previously built and installed `libintl.a' file and 75*c3d31fe1Smrgwill decide to use this. This might be not what is desirable. You 76*c3d31fe1Smrgshould use the more recent version of the GNU `gettext' library. I.e. 77*c3d31fe1Smrgif the file `intl/VERSION' shows that the library which comes with this 78*c3d31fe1Smrgpackage is more recent, you should use 79*c3d31fe1Smrg 80*c3d31fe1Smrg ./configure --with-included-gettext 81*c3d31fe1Smrg 82*c3d31fe1Smrgto prevent auto-detection. 83*c3d31fe1Smrg 84*c3d31fe1Smrg The configuration process will not test for the `catgets' function 85*c3d31fe1Smrgand therefore it will not be used. The reason is that even an 86*c3d31fe1Smrgemulation of `gettext' on top of `catgets' could not provide all the 87*c3d31fe1Smrgextensions of the GNU `gettext' library. 88*c3d31fe1Smrg 89*c3d31fe1Smrg Internationalized packages have usually many `po/LL.po' files, where 90*c3d31fe1SmrgLL gives an ISO 639 two-letter code identifying the language. Unless 91*c3d31fe1Smrgtranslations have been forbidden at `configure' time by using the 92*c3d31fe1Smrg`--disable-nls' switch, all available translations are installed 93*c3d31fe1Smrgtogether with the package. However, the environment variable `LINGUAS' 94*c3d31fe1Smrgmay be set, prior to configuration, to limit the installed set. 95*c3d31fe1Smrg`LINGUAS' should then contain a space separated list of two-letter 96*c3d31fe1Smrgcodes, stating which languages are allowed. 97*c3d31fe1Smrg 98*c3d31fe1SmrgUsing This Package 99*c3d31fe1Smrg================== 100*c3d31fe1Smrg 101*c3d31fe1Smrg As a user, if your language has been installed for this package, you 102*c3d31fe1Smrgonly have to set the `LANG' environment variable to the appropriate 103*c3d31fe1Smrg`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, 104*c3d31fe1Smrgand `CC' is an ISO 3166 two-letter country code. For example, let's 105*c3d31fe1Smrgsuppose that you speak German and live in Germany. At the shell 106*c3d31fe1Smrgprompt, merely execute `setenv LANG de_DE' (in `csh'), 107*c3d31fe1Smrg`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). 108*c3d31fe1SmrgThis can be done from your `.login' or `.profile' file, once and for 109*c3d31fe1Smrgall. 110*c3d31fe1Smrg 111*c3d31fe1Smrg You might think that the country code specification is redundant. 112*c3d31fe1SmrgBut in fact, some languages have dialects in different countries. For 113*c3d31fe1Smrgexample, `de_AT' is used for Austria, and `pt_BR' for Brazil. The 114*c3d31fe1Smrgcountry code serves to distinguish the dialects. 115*c3d31fe1Smrg 116*c3d31fe1Smrg The locale naming convention of `LL_CC', with `LL' denoting the 117*c3d31fe1Smrglanguage and `CC' denoting the country, is the one use on systems based 118*c3d31fe1Smrgon GNU libc. On other systems, some variations of this scheme are 119*c3d31fe1Smrgused, such as `LL' or `LL_CC.ENCODING'. You can get the list of 120*c3d31fe1Smrglocales supported by your system for your country by running the command 121*c3d31fe1Smrg`locale -a | grep '^LL''. 122*c3d31fe1Smrg 123*c3d31fe1Smrg Not all programs have translations for all languages. By default, an 124*c3d31fe1SmrgEnglish message is shown in place of a nonexistent translation. If you 125*c3d31fe1Smrgunderstand other languages, you can set up a priority list of languages. 126*c3d31fe1SmrgThis is done through a different environment variable, called 127*c3d31fe1Smrg`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' 128*c3d31fe1Smrgfor the purpose of message handling, but you still need to have `LANG' 129*c3d31fe1Smrgset to the primary language; this is required by other parts of the 130*c3d31fe1Smrgsystem libraries. For example, some Swedish users who would rather 131*c3d31fe1Smrgread translations in German than English for when Swedish is not 132*c3d31fe1Smrgavailable, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. 133*c3d31fe1Smrg 134*c3d31fe1Smrg In the `LANGUAGE' environment variable, but not in the `LANG' 135*c3d31fe1Smrgenvironment variable, `LL_CC' combinations can be abbreviated as `LL' 136*c3d31fe1Smrgto denote the language's main dialect. For example, `de' is equivalent 137*c3d31fe1Smrgto `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' 138*c3d31fe1Smrg(Portuguese as spoken in Portugal) in this context. 139*c3d31fe1Smrg 140*c3d31fe1SmrgTranslating Teams 141*c3d31fe1Smrg================= 142*c3d31fe1Smrg 143*c3d31fe1Smrg For the Free Translation Project to be a success, we need interested 144*c3d31fe1Smrgpeople who like their own language and write it well, and who are also 145*c3d31fe1Smrgable to synergize with other translators speaking the same language. 146*c3d31fe1SmrgEach translation team has its own mailing list. The up-to-date list of 147*c3d31fe1Smrgteams can be found at the Free Translation Project's homepage, 148*c3d31fe1Smrg`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" 149*c3d31fe1Smrgarea. 150*c3d31fe1Smrg 151*c3d31fe1Smrg If you'd like to volunteer to _work_ at translating messages, you 152*c3d31fe1Smrgshould become a member of the translating team for your own language. 153*c3d31fe1SmrgThe subscribing address is _not_ the same as the list itself, it has 154*c3d31fe1Smrg`-request' appended. For example, speakers of Swedish can send a 155*c3d31fe1Smrgmessage to `sv-request@li.org', having this message body: 156*c3d31fe1Smrg 157*c3d31fe1Smrg subscribe 158*c3d31fe1Smrg 159*c3d31fe1Smrg Keep in mind that team members are expected to participate 160*c3d31fe1Smrg_actively_ in translations, or at solving translational difficulties, 161*c3d31fe1Smrgrather than merely lurking around. If your team does not exist yet and 162*c3d31fe1Smrgyou want to start one, or if you are unsure about what to do or how to 163*c3d31fe1Smrgget started, please write to `translation@iro.umontreal.ca' to reach the 164*c3d31fe1Smrgcoordinator for all translator teams. 165*c3d31fe1Smrg 166*c3d31fe1Smrg The English team is special. It works at improving and uniformizing 167*c3d31fe1Smrgthe terminology in use. Proven linguistic skill are praised more than 168*c3d31fe1Smrgprogramming skill, here. 169*c3d31fe1Smrg 170*c3d31fe1SmrgAvailable Packages 171*c3d31fe1Smrg================== 172*c3d31fe1Smrg 173*c3d31fe1Smrg Languages are not equally supported in all packages. The following 174*c3d31fe1Smrgmatrix shows the current state of internationalization, as of May 2003. 175*c3d31fe1SmrgThe matrix shows, in regard of each package, for which languages PO 176*c3d31fe1Smrgfiles have been submitted to translation coordination, with a 177*c3d31fe1Smrgtranslation percentage of at least 50%. 178*c3d31fe1Smrg 179*c3d31fe1Smrg Ready PO files am az be bg ca cs da de el en en_GB eo es 180*c3d31fe1Smrg +-------------------------------------------+ 181*c3d31fe1Smrg a2ps | [] [] [] [] | 182*c3d31fe1Smrg aegis | () | 183*c3d31fe1Smrg anubis | | 184*c3d31fe1Smrg ap-utils | | 185*c3d31fe1Smrg bash | [] [] [] | 186*c3d31fe1Smrg batchelor | | 187*c3d31fe1Smrg bfd | [] [] | 188*c3d31fe1Smrg binutils | [] [] | 189*c3d31fe1Smrg bison | [] [] [] | 190*c3d31fe1Smrg bluez-pin | [] [] | 191*c3d31fe1Smrg clisp | | 192*c3d31fe1Smrg clisp | [] [] [] | 193*c3d31fe1Smrg coreutils | [] [] [] [] | 194*c3d31fe1Smrg cpio | [] [] [] | 195*c3d31fe1Smrg darkstat | () [] | 196*c3d31fe1Smrg diffutils | [] [] [] [] [] [] [] | 197*c3d31fe1Smrg e2fsprogs | [] [] | 198*c3d31fe1Smrg enscript | [] [] [] [] | 199*c3d31fe1Smrg error | [] [] [] [] [] | 200*c3d31fe1Smrg fetchmail | [] () [] [] [] [] | 201*c3d31fe1Smrg fileutils | [] [] [] | 202*c3d31fe1Smrg findutils | [] [] [] [] [] [] | 203*c3d31fe1Smrg flex | [] [] [] [] | 204*c3d31fe1Smrg gas | [] | 205*c3d31fe1Smrg gawk | [] [] [] [] | 206*c3d31fe1Smrg gcal | [] | 207*c3d31fe1Smrg gcc | [] [] | 208*c3d31fe1Smrg gettext | [] [] [] [] [] | 209*c3d31fe1Smrg gettext-runtime | [] [] [] [] [] | 210*c3d31fe1Smrg gettext-tools | [] [] | 211*c3d31fe1Smrg gimp-print | [] [] [] [] [] | 212*c3d31fe1Smrg gliv | | 213*c3d31fe1Smrg glunarclock | [] [] [] | 214*c3d31fe1Smrg gnucash | () [] | 215*c3d31fe1Smrg gnucash-glossary | [] () [] | 216*c3d31fe1Smrg gnupg | [] () [] [] [] [] | 217*c3d31fe1Smrg gpe-calendar | [] | 218*c3d31fe1Smrg gpe-conf | [] | 219*c3d31fe1Smrg gpe-contacts | [] | 220*c3d31fe1Smrg gpe-edit | | 221*c3d31fe1Smrg gpe-login | [] | 222*c3d31fe1Smrg gpe-ownerinfo | [] | 223*c3d31fe1Smrg gpe-sketchbook | [] | 224*c3d31fe1Smrg gpe-timesheet | | 225*c3d31fe1Smrg gpe-today | [] | 226*c3d31fe1Smrg gpe-todo | [] | 227*c3d31fe1Smrg gphoto2 | [] [] [] [] | 228*c3d31fe1Smrg gprof | [] [] | 229*c3d31fe1Smrg gpsdrive | () () () | 230*c3d31fe1Smrg grep | [] [] [] [] [] | 231*c3d31fe1Smrg gretl | [] | 232*c3d31fe1Smrg hello | [] [] [] [] [] [] | 233*c3d31fe1Smrg id-utils | [] [] | 234*c3d31fe1Smrg indent | [] [] [] [] | 235*c3d31fe1Smrg jpilot | [] [] [] [] | 236*c3d31fe1Smrg jwhois | [] | 237*c3d31fe1Smrg kbd | [] [] [] [] [] | 238*c3d31fe1Smrg ld | [] [] | 239*c3d31fe1Smrg libc | [] [] [] [] [] [] | 240*c3d31fe1Smrg libgpewidget | [] | 241*c3d31fe1Smrg libiconv | [] [] [] [] [] | 242*c3d31fe1Smrg lifelines | [] () | 243*c3d31fe1Smrg lilypond | [] | 244*c3d31fe1Smrg lingoteach | | 245*c3d31fe1Smrg lingoteach_lessons | () () | 246*c3d31fe1Smrg lynx | [] [] [] [] | 247*c3d31fe1Smrg m4 | [] [] [] [] | 248*c3d31fe1Smrg mailutils | [] [] | 249*c3d31fe1Smrg make | [] [] [] | 250*c3d31fe1Smrg man-db | [] () [] [] () | 251*c3d31fe1Smrg mysecretdiary | [] [] [] | 252*c3d31fe1Smrg nano | [] () [] [] [] | 253*c3d31fe1Smrg nano_1_0 | [] () [] [] [] | 254*c3d31fe1Smrg opcodes | [] [] | 255*c3d31fe1Smrg parted | [] [] [] [] [] | 256*c3d31fe1Smrg ptx | [] [] [] [] [] | 257*c3d31fe1Smrg python | | 258*c3d31fe1Smrg radius | | 259*c3d31fe1Smrg recode | [] [] [] [] [] [] | 260*c3d31fe1Smrg screem | | 261*c3d31fe1Smrg sed | [] [] [] [] [] | 262*c3d31fe1Smrg sh-utils | [] [] [] | 263*c3d31fe1Smrg sharutils | [] [] [] [] [] [] | 264*c3d31fe1Smrg sketch | [] () [] | 265*c3d31fe1Smrg soundtracker | [] [] [] | 266*c3d31fe1Smrg sp | [] | 267*c3d31fe1Smrg tar | [] [] [] [] | 268*c3d31fe1Smrg texinfo | [] [] [] [] | 269*c3d31fe1Smrg textutils | [] [] [] [] | 270*c3d31fe1Smrg tin | () () | 271*c3d31fe1Smrg util-linux | [] [] [] [] [] | 272*c3d31fe1Smrg vorbis-tools | [] [] [] | 273*c3d31fe1Smrg wastesedge | () | 274*c3d31fe1Smrg wdiff | [] [] [] [] | 275*c3d31fe1Smrg wget | [] [] [] [] [] [] [] | 276*c3d31fe1Smrg xchat | [] [] [] | 277*c3d31fe1Smrg xpad | | 278*c3d31fe1Smrg +-------------------------------------------+ 279*c3d31fe1Smrg am az be bg ca cs da de el en en_GB eo es 280*c3d31fe1Smrg 0 1 4 2 31 17 54 60 14 1 4 12 56 281*c3d31fe1Smrg 282*c3d31fe1Smrg et fa fi fr ga gl he hr hu id it ja ko 283*c3d31fe1Smrg +----------------------------------------+ 284*c3d31fe1Smrg a2ps | [] [] [] () () | 285*c3d31fe1Smrg aegis | | 286*c3d31fe1Smrg anubis | [] | 287*c3d31fe1Smrg ap-utils | [] | 288*c3d31fe1Smrg bash | [] [] | 289*c3d31fe1Smrg batchelor | [] | 290*c3d31fe1Smrg bfd | [] [] | 291*c3d31fe1Smrg binutils | [] [] | 292*c3d31fe1Smrg bison | [] [] [] [] | 293*c3d31fe1Smrg bluez-pin | [] [] [] [] | 294*c3d31fe1Smrg clisp | | 295*c3d31fe1Smrg clisp | [] | 296*c3d31fe1Smrg coreutils | [] [] [] [] | 297*c3d31fe1Smrg cpio | [] [] [] [] | 298*c3d31fe1Smrg darkstat | () [] [] [] | 299*c3d31fe1Smrg diffutils | [] [] [] [] [] [] [] | 300*c3d31fe1Smrg e2fsprogs | | 301*c3d31fe1Smrg enscript | [] [] | 302*c3d31fe1Smrg error | [] [] [] [] | 303*c3d31fe1Smrg fetchmail | [] | 304*c3d31fe1Smrg fileutils | [] [] [] [] [] | 305*c3d31fe1Smrg findutils | [] [] [] [] [] [] [] [] [] [] [] | 306*c3d31fe1Smrg flex | [] [] | 307*c3d31fe1Smrg gas | [] | 308*c3d31fe1Smrg gawk | [] [] | 309*c3d31fe1Smrg gcal | [] | 310*c3d31fe1Smrg gcc | [] | 311*c3d31fe1Smrg gettext | [] [] [] | 312*c3d31fe1Smrg gettext-runtime | [] [] [] [] | 313*c3d31fe1Smrg gettext-tools | [] | 314*c3d31fe1Smrg gimp-print | [] [] | 315*c3d31fe1Smrg gliv | () | 316*c3d31fe1Smrg glunarclock | [] [] [] [] | 317*c3d31fe1Smrg gnucash | [] | 318*c3d31fe1Smrg gnucash-glossary | [] | 319*c3d31fe1Smrg gnupg | [] [] [] [] [] [] [] | 320*c3d31fe1Smrg gpe-calendar | [] | 321*c3d31fe1Smrg gpe-conf | | 322*c3d31fe1Smrg gpe-contacts | [] | 323*c3d31fe1Smrg gpe-edit | [] [] | 324*c3d31fe1Smrg gpe-login | [] | 325*c3d31fe1Smrg gpe-ownerinfo | [] [] [] | 326*c3d31fe1Smrg gpe-sketchbook | [] | 327*c3d31fe1Smrg gpe-timesheet | [] [] [] | 328*c3d31fe1Smrg gpe-today | [] [] | 329*c3d31fe1Smrg gpe-todo | [] [] | 330*c3d31fe1Smrg gphoto2 | [] [] [] | 331*c3d31fe1Smrg gprof | [] [] | 332*c3d31fe1Smrg gpsdrive | () [] () () | 333*c3d31fe1Smrg grep | [] [] [] [] [] [] [] [] [] [] [] | 334*c3d31fe1Smrg gretl | [] | 335*c3d31fe1Smrg hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | 336*c3d31fe1Smrg id-utils | [] [] [] | 337*c3d31fe1Smrg indent | [] [] [] [] [] [] [] [] | 338*c3d31fe1Smrg jpilot | [] () | 339*c3d31fe1Smrg jwhois | [] [] [] [] | 340*c3d31fe1Smrg kbd | [] | 341*c3d31fe1Smrg ld | [] | 342*c3d31fe1Smrg libc | [] [] [] [] [] [] | 343*c3d31fe1Smrg libgpewidget | [] [] [] | 344*c3d31fe1Smrg libiconv | [] [] [] [] [] [] [] [] | 345*c3d31fe1Smrg lifelines | () | 346*c3d31fe1Smrg lilypond | [] | 347*c3d31fe1Smrg lingoteach | [] [] | 348*c3d31fe1Smrg lingoteach_lessons | | 349*c3d31fe1Smrg lynx | [] [] [] [] | 350*c3d31fe1Smrg m4 | [] [] [] [] | 351*c3d31fe1Smrg mailutils | | 352*c3d31fe1Smrg make | [] [] [] [] [] [] | 353*c3d31fe1Smrg man-db | [] () () | 354*c3d31fe1Smrg mysecretdiary | [] [] | 355*c3d31fe1Smrg nano | [] [] [] [] | 356*c3d31fe1Smrg nano_1_0 | [] [] [] [] | 357*c3d31fe1Smrg opcodes | [] [] | 358*c3d31fe1Smrg parted | [] [] [] | 359*c3d31fe1Smrg ptx | [] [] [] [] [] [] [] | 360*c3d31fe1Smrg python | | 361*c3d31fe1Smrg radius | | 362*c3d31fe1Smrg recode | [] [] [] [] [] [] | 363*c3d31fe1Smrg screem | | 364*c3d31fe1Smrg sed | [] [] [] [] [] [] [] [] | 365*c3d31fe1Smrg sh-utils | [] [] [] [] [] [] | 366*c3d31fe1Smrg sharutils | [] [] [] [] [] | 367*c3d31fe1Smrg sketch | [] | 368*c3d31fe1Smrg soundtracker | [] [] [] | 369*c3d31fe1Smrg sp | [] () | 370*c3d31fe1Smrg tar | [] [] [] [] [] [] [] [] [] | 371*c3d31fe1Smrg texinfo | [] [] [] [] | 372*c3d31fe1Smrg textutils | [] [] [] [] [] | 373*c3d31fe1Smrg tin | [] () | 374*c3d31fe1Smrg util-linux | [] [] [] [] () [] | 375*c3d31fe1Smrg vorbis-tools | [] | 376*c3d31fe1Smrg wastesedge | () | 377*c3d31fe1Smrg wdiff | [] [] [] [] [] | 378*c3d31fe1Smrg wget | [] [] [] [] [] [] [] [] | 379*c3d31fe1Smrg xchat | [] [] [] | 380*c3d31fe1Smrg xpad | | 381*c3d31fe1Smrg +----------------------------------------+ 382*c3d31fe1Smrg et fa fi fr ga gl he hr hu id it ja ko 383*c3d31fe1Smrg 20 1 15 73 14 24 8 10 30 31 19 31 9 384*c3d31fe1Smrg 385*c3d31fe1Smrg lg lt lv ms nb nl nn no pl pt pt_BR ro 386*c3d31fe1Smrg +----------------------------------------+ 387*c3d31fe1Smrg a2ps | [] [] () () () [] [] | 388*c3d31fe1Smrg aegis | () | 389*c3d31fe1Smrg anubis | [] [] | 390*c3d31fe1Smrg ap-utils | () | 391*c3d31fe1Smrg bash | [] | 392*c3d31fe1Smrg batchelor | | 393*c3d31fe1Smrg bfd | | 394*c3d31fe1Smrg binutils | | 395*c3d31fe1Smrg bison | [] [] [] [] | 396*c3d31fe1Smrg bluez-pin | [] | 397*c3d31fe1Smrg clisp | | 398*c3d31fe1Smrg clisp | [] | 399*c3d31fe1Smrg coreutils | [] | 400*c3d31fe1Smrg cpio | [] [] [] | 401*c3d31fe1Smrg darkstat | [] [] [] [] | 402*c3d31fe1Smrg diffutils | [] [] [] | 403*c3d31fe1Smrg e2fsprogs | | 404*c3d31fe1Smrg enscript | [] [] | 405*c3d31fe1Smrg error | [] [] | 406*c3d31fe1Smrg fetchmail | () () | 407*c3d31fe1Smrg fileutils | [] | 408*c3d31fe1Smrg findutils | [] [] [] [] | 409*c3d31fe1Smrg flex | [] | 410*c3d31fe1Smrg gas | | 411*c3d31fe1Smrg gawk | [] | 412*c3d31fe1Smrg gcal | | 413*c3d31fe1Smrg gcc | | 414*c3d31fe1Smrg gettext | [] | 415*c3d31fe1Smrg gettext-runtime | [] | 416*c3d31fe1Smrg gettext-tools | | 417*c3d31fe1Smrg gimp-print | [] | 418*c3d31fe1Smrg gliv | [] | 419*c3d31fe1Smrg glunarclock | [] | 420*c3d31fe1Smrg gnucash | | 421*c3d31fe1Smrg gnucash-glossary | [] [] | 422*c3d31fe1Smrg gnupg | | 423*c3d31fe1Smrg gpe-calendar | [] [] | 424*c3d31fe1Smrg gpe-conf | [] [] | 425*c3d31fe1Smrg gpe-contacts | [] | 426*c3d31fe1Smrg gpe-edit | [] [] | 427*c3d31fe1Smrg gpe-login | [] [] | 428*c3d31fe1Smrg gpe-ownerinfo | [] [] | 429*c3d31fe1Smrg gpe-sketchbook | [] [] | 430*c3d31fe1Smrg gpe-timesheet | [] [] | 431*c3d31fe1Smrg gpe-today | [] [] | 432*c3d31fe1Smrg gpe-todo | [] [] | 433*c3d31fe1Smrg gphoto2 | | 434*c3d31fe1Smrg gprof | [] | 435*c3d31fe1Smrg gpsdrive | () () () | 436*c3d31fe1Smrg grep | [] [] [] [] | 437*c3d31fe1Smrg gretl | | 438*c3d31fe1Smrg hello | [] [] [] [] [] [] [] [] [] | 439*c3d31fe1Smrg id-utils | [] [] [] | 440*c3d31fe1Smrg indent | [] [] [] | 441*c3d31fe1Smrg jpilot | () () | 442*c3d31fe1Smrg jwhois | [] [] [] | 443*c3d31fe1Smrg kbd | | 444*c3d31fe1Smrg ld | | 445*c3d31fe1Smrg libc | [] [] [] [] | 446*c3d31fe1Smrg libgpewidget | [] [] | 447*c3d31fe1Smrg libiconv | [] [] | 448*c3d31fe1Smrg lifelines | | 449*c3d31fe1Smrg lilypond | [] | 450*c3d31fe1Smrg lingoteach | | 451*c3d31fe1Smrg lingoteach_lessons | | 452*c3d31fe1Smrg lynx | [] [] | 453*c3d31fe1Smrg m4 | [] [] [] [] | 454*c3d31fe1Smrg mailutils | | 455*c3d31fe1Smrg make | [] [] | 456*c3d31fe1Smrg man-db | [] | 457*c3d31fe1Smrg mysecretdiary | [] | 458*c3d31fe1Smrg nano | [] [] [] [] | 459*c3d31fe1Smrg nano_1_0 | [] [] [] [] | 460*c3d31fe1Smrg opcodes | [] [] [] | 461*c3d31fe1Smrg parted | [] [] [] | 462*c3d31fe1Smrg ptx | [] [] [] [] [] [] [] | 463*c3d31fe1Smrg python | | 464*c3d31fe1Smrg radius | | 465*c3d31fe1Smrg recode | [] [] [] | 466*c3d31fe1Smrg screem | | 467*c3d31fe1Smrg sed | [] [] | 468*c3d31fe1Smrg sh-utils | [] | 469*c3d31fe1Smrg sharutils | [] | 470*c3d31fe1Smrg sketch | [] | 471*c3d31fe1Smrg soundtracker | | 472*c3d31fe1Smrg sp | | 473*c3d31fe1Smrg tar | [] [] [] [] [] [] | 474*c3d31fe1Smrg texinfo | [] | 475*c3d31fe1Smrg textutils | [] | 476*c3d31fe1Smrg tin | | 477*c3d31fe1Smrg util-linux | [] [] | 478*c3d31fe1Smrg vorbis-tools | [] [] | 479*c3d31fe1Smrg wastesedge | | 480*c3d31fe1Smrg wdiff | [] [] [] [] | 481*c3d31fe1Smrg wget | [] [] [] | 482*c3d31fe1Smrg xchat | [] [] | 483*c3d31fe1Smrg xpad | [] | 484*c3d31fe1Smrg +----------------------------------------+ 485*c3d31fe1Smrg lg lt lv ms nb nl nn no pl pt pt_BR ro 486*c3d31fe1Smrg 0 0 2 11 7 26 3 4 18 15 34 34 487*c3d31fe1Smrg 488*c3d31fe1Smrg ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW 489*c3d31fe1Smrg +-------------------------------------------+ 490*c3d31fe1Smrg a2ps | [] [] [] [] [] | 16 491*c3d31fe1Smrg aegis | () | 0 492*c3d31fe1Smrg anubis | [] [] | 5 493*c3d31fe1Smrg ap-utils | () | 1 494*c3d31fe1Smrg bash | [] | 7 495*c3d31fe1Smrg batchelor | | 1 496*c3d31fe1Smrg bfd | [] [] [] | 7 497*c3d31fe1Smrg binutils | [] [] [] | 7 498*c3d31fe1Smrg bison | [] [] | 13 499*c3d31fe1Smrg bluez-pin | | 7 500*c3d31fe1Smrg clisp | | 0 501*c3d31fe1Smrg clisp | | 5 502*c3d31fe1Smrg coreutils | [] [] [] [] [] | 14 503*c3d31fe1Smrg cpio | [] [] [] | 13 504*c3d31fe1Smrg darkstat | [] () () | 9 505*c3d31fe1Smrg diffutils | [] [] [] [] | 21 506*c3d31fe1Smrg e2fsprogs | [] | 3 507*c3d31fe1Smrg enscript | [] [] [] | 11 508*c3d31fe1Smrg error | [] [] [] | 14 509*c3d31fe1Smrg fetchmail | [] | 7 510*c3d31fe1Smrg fileutils | [] [] [] [] [] [] | 15 511*c3d31fe1Smrg findutils | [] [] [] [] [] [] | 27 512*c3d31fe1Smrg flex | [] [] [] | 10 513*c3d31fe1Smrg gas | [] | 3 514*c3d31fe1Smrg gawk | [] [] | 9 515*c3d31fe1Smrg gcal | [] [] | 4 516*c3d31fe1Smrg gcc | [] | 4 517*c3d31fe1Smrg gettext | [] [] [] [] [] [] | 15 518*c3d31fe1Smrg gettext-runtime | [] [] [] [] [] [] | 16 519*c3d31fe1Smrg gettext-tools | [] [] | 5 520*c3d31fe1Smrg gimp-print | [] [] | 10 521*c3d31fe1Smrg gliv | | 1 522*c3d31fe1Smrg glunarclock | [] [] [] | 11 523*c3d31fe1Smrg gnucash | [] [] | 4 524*c3d31fe1Smrg gnucash-glossary | [] [] [] | 8 525*c3d31fe1Smrg gnupg | [] [] [] [] | 16 526*c3d31fe1Smrg gpe-calendar | [] | 5 527*c3d31fe1Smrg gpe-conf | | 3 528*c3d31fe1Smrg gpe-contacts | [] | 4 529*c3d31fe1Smrg gpe-edit | [] | 5 530*c3d31fe1Smrg gpe-login | [] | 5 531*c3d31fe1Smrg gpe-ownerinfo | [] | 7 532*c3d31fe1Smrg gpe-sketchbook | [] | 5 533*c3d31fe1Smrg gpe-timesheet | [] | 6 534*c3d31fe1Smrg gpe-today | [] | 6 535*c3d31fe1Smrg gpe-todo | [] | 6 536*c3d31fe1Smrg gphoto2 | [] [] | 9 537*c3d31fe1Smrg gprof | [] [] | 7 538*c3d31fe1Smrg gpsdrive | [] [] | 3 539*c3d31fe1Smrg grep | [] [] [] [] | 24 540*c3d31fe1Smrg gretl | | 2 541*c3d31fe1Smrg hello | [] [] [] [] [] | 33 542*c3d31fe1Smrg id-utils | [] [] [] | 11 543*c3d31fe1Smrg indent | [] [] [] [] | 19 544*c3d31fe1Smrg jpilot | [] [] [] [] [] | 10 545*c3d31fe1Smrg jwhois | () () [] [] | 10 546*c3d31fe1Smrg kbd | [] [] | 8 547*c3d31fe1Smrg ld | [] [] | 5 548*c3d31fe1Smrg libc | [] [] [] [] | 20 549*c3d31fe1Smrg libgpewidget | | 6 550*c3d31fe1Smrg libiconv | [] [] [] [] [] [] | 21 551*c3d31fe1Smrg lifelines | [] | 2 552*c3d31fe1Smrg lilypond | [] | 4 553*c3d31fe1Smrg lingoteach | | 2 554*c3d31fe1Smrg lingoteach_lessons | () | 0 555*c3d31fe1Smrg lynx | [] [] [] [] | 14 556*c3d31fe1Smrg m4 | [] [] [] | 15 557*c3d31fe1Smrg mailutils | | 2 558*c3d31fe1Smrg make | [] [] [] [] | 15 559*c3d31fe1Smrg man-db | [] | 6 560*c3d31fe1Smrg mysecretdiary | [] [] | 8 561*c3d31fe1Smrg nano | [] [] [] | 15 562*c3d31fe1Smrg nano_1_0 | [] [] [] | 15 563*c3d31fe1Smrg opcodes | [] [] | 9 564*c3d31fe1Smrg parted | [] [] | 13 565*c3d31fe1Smrg ptx | [] [] [] | 22 566*c3d31fe1Smrg python | | 0 567*c3d31fe1Smrg radius | | 0 568*c3d31fe1Smrg recode | [] [] [] [] | 19 569*c3d31fe1Smrg screem | [] | 1 570*c3d31fe1Smrg sed | [] [] [] [] [] | 20 571*c3d31fe1Smrg sh-utils | [] [] [] | 13 572*c3d31fe1Smrg sharutils | [] [] [] [] | 16 573*c3d31fe1Smrg sketch | [] | 5 574*c3d31fe1Smrg soundtracker | [] | 7 575*c3d31fe1Smrg sp | [] | 3 576*c3d31fe1Smrg tar | [] [] [] [] [] | 24 577*c3d31fe1Smrg texinfo | [] [] [] [] | 13 578*c3d31fe1Smrg textutils | [] [] [] [] [] | 15 579*c3d31fe1Smrg tin | | 1 580*c3d31fe1Smrg util-linux | [] [] | 14 581*c3d31fe1Smrg vorbis-tools | [] | 7 582*c3d31fe1Smrg wastesedge | | 0 583*c3d31fe1Smrg wdiff | [] [] [] [] | 17 584*c3d31fe1Smrg wget | [] [] [] [] [] [] [] | 25 585*c3d31fe1Smrg xchat | [] [] [] | 11 586*c3d31fe1Smrg xpad | | 1 587*c3d31fe1Smrg +-------------------------------------------+ 588*c3d31fe1Smrg 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW 589*c3d31fe1Smrg 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913 590*c3d31fe1Smrg 591*c3d31fe1Smrg Some counters in the preceding matrix are higher than the number of 592*c3d31fe1Smrgvisible blocks let us expect. This is because a few extra PO files are 593*c3d31fe1Smrgused for implementing regional variants of languages, or language 594*c3d31fe1Smrgdialects. 595*c3d31fe1Smrg 596*c3d31fe1Smrg For a PO file in the matrix above to be effective, the package to 597*c3d31fe1Smrgwhich it applies should also have been internationalized and 598*c3d31fe1Smrgdistributed as such by its maintainer. There might be an observable 599*c3d31fe1Smrglag between the mere existence a PO file and its wide availability in a 600*c3d31fe1Smrgdistribution. 601*c3d31fe1Smrg 602*c3d31fe1Smrg If May 2003 seems to be old, you may fetch a more recent copy of 603*c3d31fe1Smrgthis `ABOUT-NLS' file on most GNU archive sites. The most up-to-date 604*c3d31fe1Smrgmatrix with full percentage details can be found at 605*c3d31fe1Smrg`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 606*c3d31fe1Smrg 607*c3d31fe1SmrgUsing `gettext' in new packages 608*c3d31fe1Smrg=============================== 609*c3d31fe1Smrg 610*c3d31fe1Smrg If you are writing a freely available program and want to 611*c3d31fe1Smrginternationalize it you are welcome to use GNU `gettext' in your 612*c3d31fe1Smrgpackage. Of course you have to respect the GNU Library General Public 613*c3d31fe1SmrgLicense which covers the use of the GNU `gettext' library. This means 614*c3d31fe1Smrgin particular that even non-free programs can use `libintl' as a shared 615*c3d31fe1Smrglibrary, whereas only free software can use `libintl' as a static 616*c3d31fe1Smrglibrary or use modified versions of `libintl'. 617*c3d31fe1Smrg 618*c3d31fe1Smrg Once the sources are changed appropriately and the setup can handle 619*c3d31fe1Smrgthe use of `gettext' the only thing missing are the translations. The 620*c3d31fe1SmrgFree Translation Project is also available for packages which are not 621*c3d31fe1Smrgdeveloped inside the GNU project. Therefore the information given above 622*c3d31fe1Smrgapplies also for every other Free Software Project. Contact 623*c3d31fe1Smrg`translation@iro.umontreal.ca' to make the `.pot' files available to 624*c3d31fe1Smrgthe translation teams. 625*c3d31fe1Smrg 626