1Version 0.17 - November 2007 2 3* License: 4 The gettext related programs and tools are now licensed under the GPL 5 version 3, instead of the GPL version 2. The libintl library continues 6 to be licensed under LGPL. 7 8* PO file format: 9 The Project-Id-Version field in the header entry may now already be filled 10 in the POT file. In this case, the translators don't need to fill it in. 11 xgettext has new options --package-name and --package-version that allow 12 to specify the package name and version from a Makefile. 13 14* Colorized PO files: 15 The msgcat program has new options --color and --style that produce a 16 colorized PO file output, where keywords, strings, comments, or format 17 directives can be highlighted. See the documentation section 18 "Highlighting parts of PO files" for more info. 19 20* gettextize now has a --po-dir option that allows several PO directories to 21 be updated all together. 22 23* Programming languages support: 24 - Contexts (msgctxt) are now also supported for Java and C#. 25 - C# with Qt: The support for Qt format strings has been updated for Qt 4. 26 - C++ with KDE: 27 xgettext has a new option --kde that triggers the recognition and marking 28 of KDE 4 format strings. 29 30* Autoconf macros: 31 - A new macro AM_XGETTEXT_OPTION can be used as an alternative to modifying 32 po/Makevars. 33 34* libgettextpo library: 35 - New functions are available for querying the list of supported format 36 types. 37 - The functions po_message_comments and po_message_extracted_comments 38 return a multiline string where each line no longer starts with a redundant 39 space. The leading space in every comment line is now stripped while 40 reading the PO file. 41 - Conversely, when you pass a multiline string to the function 42 po_message_set_comments or po_message_set_extracted_comments, you normally 43 don't pass a space at the beginning of each line, because such spaces are 44 no longer trimmed during output. 45 46* Documentation: 47 - The "Users" chapter has been completely rewritten. 48 - New section "Highlighting parts of PO files". 49 - A complete example showing the use of GNU gettext in Java with the Qt/Jambi 50 GUI toolkit has been added. 51 52Version 0.16.1 - November 2006 53 54* Bug fix in the gettext.m4 autoconf macros. 55 56Version 0.16 - October 2006 57 58* Interoperability with automake-1.10. 59 60* msgmerge has a new option --previous that has the effect of saving the 61 previous msgid of message when making them fuzzy. These previous msgids are 62 stored in the resulting PO file, using a pseudo-comment syntax like this: 63 64 #, fuzzy 65 #| msgid "too many arguments" 66 msgid "too few arguments" 67 msgstr "trop d'arguments" 68 69 The translator then only needs to compare the previous and the current 70 msgid ("too many arguments" and "too few arguments"), and infer which 71 parts of the translation she needs to change. 72 73 msgattrib has a new option --clear-previous that removes these #| lines. 74 75* msgmerge is faster now on CPUs with multiple execution units, if compiled 76 with GCC 4.2 or newer. 77 78* msgcmp now ignores fuzzy and untranslated messages in the PO file. 79 Previously it considered fuzzy and untranslated messages the same way as 80 translated messages, which was hardly useful. The previous behaviour can 81 be obtained through the options --use-fuzzy --use-untranslated. 82 83* gettextize, when invoked without --intl option, now installs only the .m4 84 files that are needed: gettext.m4, iconv.m4, lib-ld.m4, lib-link.m4, 85 lib-prefix.m4, nls.m4, po.m4, progtest.m4. 86 87* gettextize no longer creates symbolic links by default; it makes file copies 88 instead. The option --copy is removed. You can get back the flawed 89 symlinking behaviour by specifying the --symlink option. 90 91* Autoconf macros: 92 - The gettext autoconf macros now require autoconf 2.52 or newer and 93 GNU m4 1.4.5 or newer. 94 - A new autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is added. It allows to 95 specify the presence of an intl/ subdirectory outside the AM_GNU_GETTEXT 96 invocation. 97 - A new autoconf macro AM_GNU_GETTEXT_NEED is added. It allows to specify 98 the requirements relating to the GNU gettext implementation outside the 99 AM_GNU_GETTEXT invocation. 100 101* The libgettextpo library no longer exports symbols that could clash with 102 symbols of the application that uses it. 103 104* Vastly improved French translations. Thanks to Christophe Combelles. 105 106Version 0.15 - July 2006 107 108* GUI program support: 109 - PO files can now contain messages constrained to a certain context. 110 Most often such a context is a menu, dialog or panel identification. 111 The syntax in the PO file is 112 msgctxt "context" 113 msgid "original" 114 msgstr "translation" 115 - The xgettext program can be told through the --keyword flag which 116 function/macro argument has the role of a context. It also supports 117 the GNOME glib convention to specify the context and original string 118 in the same string literal: "context|original". 119 - The (non-public) include file gettext.h defines macros pgettext, dpgettext 120 etc. that take a context argument. 121 For more information, see the node "Contexts" in the manual. 122 123* msgfmt's format string checking is now stricter in the presence of plural 124 forms. For example, in German, with nplurals=2 and plural=(n != 1), 125 the translation 126 127 #, c-format 128 msgid "%d fatal error" 129 msgid_plural "%d fatal errors" 130 msgstr[0] "ein fataler Fehler" 131 msgstr[1] "fatale Fehler" 132 133 was earlier considered valid and now gives an error when "msgfmt --check" 134 is used: 135 "number of format specifications in 'msgid' and 'msgstr[1]' does not match" 136 137* msggrep has a new option -v/--invert-match that acts like grep's -v option. 138 139* msggrep has a new option -X/--extracted-comment that allows to search for a 140 pattern in the extracted comments. 141 142* xgettext's --keyword option now allows to specify an extracted comment on the 143 command line, rather than in program's source code. 144 145* msgmerge is much faster now, when using a large compendium. 146 147* A new program recode-sr-latin is provided, that converts Serbian text from 148 the Cyrillic script to the Latin script. 149 The command "msgfilter recode-sr-latin" can be used to convert a Serbian 150 Cyrillic PO file (sr.po) to a Serbian Latin PO file (sr@latin.po). 151 152* Programming languages support: 153 154 - C++ with Boost: 155 xgettext has a new option --boost that triggers the recognition and marking 156 of boost::format strings. 157 158 - Python: 159 xgettext now recognizes the source encoding from a "coding:" comment 160 among the first two lines. The default encoding is now ASCII, no longer 161 ISO-8859-1. 162 163* libgettextpo library: 164 - The error handler type passed to po_file_read(), po_file_write(), 165 po_message_check_format() has changed. 166 This is an incompatible change: Programs using the library *must* update 167 their code. 168 Binary compatibility is guaranteed, however. 169 170* The 'mkinstalldirs' shell script is no longer needed and no longer installed 171 by gettextize. 172 173* Portability: 174 - Building on mingw is now supported. 175 - Building shared libraries (--enable-shared) on Cygwin and mingw is now 176 supported. 177 178* Interoperability with expat version 2.0.0. 179 180* Documentation: 181 A complete example showing the use of GNU gettext with the wxWidgets GUI 182 toolkit has been added. 183 184* The gettext autoconf macros now assume 'aclocal' from automake 1.8 or newer. 185 186Version 0.14.6 - June 2006 187 188* Updated the meaning of 'gcc-internal-format' to match GCC 4.1. 189 190Version 0.14.5 - May 2005 191 192* Updated the meaning of 'gcc-internal-format' to match GCC 4.0. 193 194Version 0.14.4 - April 2005 195 196* The gettext autoconf macros will now work with the forthcoming g++ 4.0. 197* Fix improved detection of the locale on MacOS X. 198 199Version 0.14.3 - March 2005 200 201* Usability improvements in gettextize and autopoint. 202 203* Programming languages support: 204 - Scheme: 205 Use the GNU guile definition of format strings. 206 207Version 0.14.2 - February 2005 208 209* Improved detection of the locale on MacOS X. 210 211* The gettext autoconf macros now require autoconf 2.50 or newer. 212 213* Programming languages support: 214 215 - Scheme: 216 xgettext now also supports Scheme. Best used with guile 1.7 or newer. 217 218* msggrep is much faster now. 219 220* libgettextpo library: 221 - New functions for constructing PO files in memory and writing them to 222 files. 223 - The error handling is now customizable. 224 225* Documentation: 226 227 - New tutorial document, written by Gora Mohanty. 228 - New FAQ document. 229 - New documentation sections: Scheme, Release Management. 230 231* Bug fixes for Turkish and Estonian locales. 232 233* Security fixes. 234 235Version 0.14 - January 2004 236 237* Programming languages support: 238 239 - C#: 240 241 xgettext now also supports C#. 242 243 New library: GNU.Gettext.dll contains the runtime for using GNU gettext 244 message catalogs in C#. 245 246 msgfmt can create (and msgunfmt can dump) message catalogs for C#. 247 248* Special feature for Farsi (Persian): Translators can insert an 'I' flag 249 into numeric format directives in format strings. Its effect is that, on 250 glibc systems, the number is generated with the locale dependent set of 251 special digits instead of the usual ASCII digits. 252 253* Documentation: 254 255 - New documentation section: C#. 256 - Complete examples illustrating the use of gettext in C# (in text mode and 257 in Forms applications) have been added. 258 259 - New documentation section: Preparing Library Sources. 260 261* Special advice for Norwegian users: The language code for Norwegian 262 bokm��l changed from 'no' to 'nb' recently (in 2003). During the transition 263 period, while some message catalogs for this language are installed under 264 'nb' and some older ones under 'no', it's recommended for Norwegian users to 265 set the LANGUAGE environment variable to 'nb:no' so that both newer and 266 older translations are used. 267 268Version 0.13.1 - December 2003 269 270* Bug fixes in the testsuite and in the examples. 271 272Version 0.13 - November 2003 273 274* Programming languages support: 275 276 - Shell: 277 278 xgettext now also supports shell scripts. It recognizes invocations of 279 the programs 'gettext', 'ngettext', the functions 'eval_gettext', 280 'eval_ngettext', as well as the deprecated GNU bash builtin syntax $"...". 281 New function library: 282 gettext.sh - shell functions for internationalized shell scripts. 283 New program: 284 envsubst - substitutes environment variables in shell format strings. 285 286 - Perl: 287 288 xgettext now also supports Perl. 289 290 - PHP: 291 292 "xgettext --language=PHP" now supports the plural handling functions 293 ngettext, dngettext, dcngettext (introduced in PHP 4.2.0). 294 295 - ObjectiveC: 296 297 "xgettext --language=ObjectiveC" now supports the @"..." string syntax, 298 the NSLocalizedString function and the ObjectiveC specific format strings. 299 300 All the tools that manipulate PO files can work with .strings files 301 as well, if given the --stringtable-input and/or --stringtable-output 302 option. To create a .strings file from a PO or POT file, use 303 "msgcat --stringtable-output". To create a PO or POT file from a 304 .strings file, use "xgettext". 305 306 - GCC-source: 307 308 xgettext's --language option now supports the value "GCC-source". This 309 is like --language=C, except that in this mode, xgettext recognizes the 310 special kind of format strings used in the GCC sources and marks them 311 as 'gcc-internal-format'. 312 313 - C++ with Qt: 314 315 xgettext has a new option --qt that triggers the recognition and marking 316 of Qt format strings. 317 318 msgfmt has a new option --qt that generates binary message catalogs in 319 Qt's .qm format. 320 321* Data formats support: 322 323 - Glade: 324 xgettext now also supports Glade version 2. 325 326* xgettext has a more reliable detection of format strings. It now 327 recognizes format strings depending on their position, for example as the 328 second argument of fprintf(), regardless whether the literal string contains 329 format directives. This behaviour can be customized through the --flag 330 option. 331 332* libgettextpo library: 333 334 - New functions for testing the obsolete/fuzzy/*-format flags of a message. 335 - New convenience functions for extracting and analyzing the header entry. 336 337* Portability: 338 339 - C format strings with positions, as they arise when a translator needs to 340 reorder a sentence, are now supported on all platforms. On those few 341 platforms (NetBSD and Woe32) for which the native printf()/fprintf()/... 342 functions don't support such format strings, replacements are provided 343 through <libintl.h>. 344 345 - A new configuration option --disable-libasprintf allows to build all of 346 gettext except libasprintf; this is necessary on platforms for which 347 libtool cannot create shared libraries with C++ code. 348 349* Documentation: 350 351 - Complete examples illustrating the use of gettext, including program 352 sources, Makefile and autoconf infrastructure, have been added. They 353 cover the following programming languages: 354 C (text mode, GNOME) 355 C++ (text mode, Qt, KDE, GNOME) 356 ObjectiveC (text mode, GNUstep, GNOME) 357 Shell (text mode) 358 Python (text mode) 359 Lisp (text mode) 360 librep (text mode) 361 Smalltalk (text mode) 362 Java (text mode, AWT, Swing) 363 awk (text mode) 364 Pascal (text mode) 365 YCP (libyui) 366 Tcl (text mode, Tk) 367 Perl (text mode) 368 PHP (text mode) 369 370Version 0.12.1 - May 2003 371 372* Bug fixes. 373 374Version 0.12 - May 2003 375 376* The gettext package is now separated into two subpackages: 377 - gettext-runtime: Runtime libraries and programs. 378 - gettext-tools: Tools and documentation for developers and translators. 379 The 'gettext-runtime' package is very small and should be installed on every 380 system that has users who desire to use internationalization. Whereas the 381 'gettext-tools' package is only for developers and translators. 382 383* The po/Makevars file has a new field MSGID_BUGS_ADDRESS, which program 384 maintainers should fill in, to help feedback from the translators to the 385 program maintainers. 386 xgettext, accordingly, has a new option --msgid-bugs-address. 387 388* Programming languages support: 389 390 - C++ 391 392 A new C++ class, called gnu::autosprintf, makes it possible to use 393 C format strings in C++. This is needed for proper internationalization 394 of C++ programs. 395 396 - Java 397 398 All the tools that manipulate PO files can work with .properties files 399 as well, if given the --properties-input and/or --properties-output 400 option. To create a .properties file from a PO or POT file, use 401 "msgcat --properties-output". 402 403 - Smalltalk 404 405 xgettext now also supports Smalltalk. 406 407 - PHP 408 409 xgettext now also supports PHP. 410 411 - Python 412 413 "xgettext --language=Python" now supports the plural handling functions 414 ngettext, dngettext, ungettext (introduced in Python 2.3). 415 416 - A new autoconf macro AM_PO_SUBDIRS is added. It is like AM_GNU_GETTEXT, 417 for packages written in other languages than C/C++. 418 419* A new library libgettextpo, with public header file "gettext-po.h", 420 provides functions for reading PO files into memory. It is useful for 421 applying PO files to areas not covered by the GNU gettext programs. 422 New documentation section: 423 - Writing your own programs that process PO files. 424 425* New documentation sections: 426 - Prioritizing messages: How to determine which messages to translate first. 427 - Names: Marking Proper Names for Translation. 428 429* xgettext now supports msgid strings in other encodings than ASCII. 430 xgettext has a new option --from-code that specifies the encoding of the 431 source files. The resulting POT files are UTF-8 encoded. 432 433* Tools for translators: 434 435 - msgmerge has a new option -N/--no-fuzzy-matching that inhibits the fuzzy 436 search for untranslated messages. 437 438 - msgattrib has new options --only-file and --ignore-file that cause the 439 specified attribute manipulation to apply to selected messages only. 440 441* Compatibility with automake-1.7. 442 443* In documentation section po/LINGUAS: 444 - Document the optional "languages" en@quot and en@boldquot. 445 446* New configuration option --enable-relocatable. See the INSTALL file for 447 details. 448 449Version 0.11.5 - August 2002 450 451* Bug fixes in the gettext.m4 autoconf macros. 452 453Version 0.11.4 - July 2002 454 455* The tools now know about the ISO C 99 <inttypes.h> format string directive 456 macros PRId64, PRIxMAX etc. 457 458Version 0.11.3 - July 2002 459 460* New program: 461 autopoint - copies standard gettext infrastructure 462 463* The documentation makes it clear that 'gettextize' is a wizard and 464 migration tool. 465 466* gettextize has a new option --dry-run. 467 468* Improved portability to Solaris, OSF/1 and Linux/libc5. 469 470* Improved interoperability with GCC 3.1. 471 472* New documentation sections: 473 - CVS Issues 474 - mkinstalldirs 475 - config.h.in 476 477Version 0.11.2 - April 2002 478 479* Bug fixes in the gettext.m4 autoconf macros. 480 481* New documentation section: 482 - Preparing Translatable Strings 483 484Version 0.11.1 - March 2002 485 486* xgettext now also supports Python, Tcl, Awk and Glade. 487 488* msgfmt can create (and msgunfmt can dump) Tcl message catalogs. 489 490* msggrep has a new option -C that allows to search for strings in translator 491 comments. 492 493* Bug fixes in the gettext.m4 autoconf macros. 494 495Version 0.11 - January 2002 496 497* New programs: 498 msgattrib - attribute matching and manipulation on message catalog, 499 msgcat - combines several message catalogs, 500 msgconv - character set conversion for message catalog, 501 msgen - create English message catalog, 502 msgexec - process translations of message catalog, 503 msgfilter - edit translations of message catalog, 504 msggrep - pattern matching on message catalog, 505 msginit - initialize a message catalog, 506 msguniq - unify duplicate translations in message catalog. 507 508* msgfmt can create (and msgunfmt can dump) Java ResourceBundles. 509 510* xgettext now also supports Lisp, Emacs Lisp, librep, Java, ObjectPascal, 511 YCP. 512 513* The tools now know about format strings in languages other than C. 514 They recognize new message flags named lisp-format, elisp-format, 515 librep-format, smalltalk-format, java-format, python-format, ycp-format. 516 When such a flag is present, the msgfmt program verifies the consistency 517 of the translated and the untranslated format string. 518 519* The msgfmt command line options have changed. Option -c now also checks 520 the header entry, a check which was previously activated through -v. 521 Option -C corresponds to the compatibility checks previously activated 522 through -v -v. Option -v now only increases verbosity and doesn't 523 influence whether msgfmt succeeds or fails. A new option 524 --check-accelerators is useful for GUI menu item translations. 525 526* msgcomm now writes its results to standard output by default. The options 527 -d/--default-domain and -p/--output-dir have been removed. 528 529* Manual pages for all the programs have been added. 530 531* PO mode changes: 532 - New key bindings for 'po-previous-fuzzy-entry', 533 'po-previous-obsolete-entry', 'po-previous-translated-entry', 534 'po-previous-untranslated', 'po-undo', 'po-other-window', and 535 'po-select-auxiliary'. 536 - Support for merging two message catalogs, based on msgcat and ediff. 537 538* A fuzzy attribute of the header entry of a message catalog is now ignored 539 by the tools, i.e. it is used even if marked fuzzy. 540 541* gettextize has a new option --intl which determines whether a copy of the 542 intl directory is included in the package. 543 544* The Makefile variable @INTLLIBS@ is deprecated. It is replaced with 545 @LIBINTL@ (in projects without libtool) or @LTLIBINTL@ (in projects with 546 libtool). 547 548* New packaging hints for binary package distributors. See file PACKAGING. 549 550* New documentation sections: 551 - Manipulating 552 - po/LINGUAS 553 - po/Makevars 554 - lib/gettext.h 555 - autoconf macros 556 - Other Programming Languages 557 558Version 0.10.40 - September 2001 559 560* The libintl library is now covered by the GNU LGPL. The tools are still 561 covered by the GNU GPL. 562 563Version 0.10.39 - July 2001 564 565* This is a bug-fix release. 566 567* Now uses libtool-1.4. Linking with the libintl shared library is easier. 568 569* The autoconf macros now work with both autoconf-2.13 and autoconf-2.50. 570 571Version 0.10.38 - May 2001 572 573* This is a bug-fix release. 574 575* Manual pages for the GNU libintl library functions have been added. 576 577Version 0.10.37 - April 2001 578 579This is a bug-fix release. 580 581Version 0.10.36 - March 2001, by Ulrich Drepper and Bruno Haible 582 583* General plural handling. New functions ngettext, dngettext, dcngettext. 584 585* Locales which differ only in the character encoding, for example ja_JP and 586 ja_JP.UTF-8, can now share the same message catalogs. gettext converts 587 the messages to the appropriate character encoding on the fly. 588 589* The tools now correctly process PO files in CJK encodings. 590 591* Support for non-GNU gettext has been dropped. Previously, on Solaris, the 592 system's gettext was used (unless --with-included-gettext was specified), 593 which led to problems with PO files that were not 100% translated. 594 595* Support for the catgets wrapper has been dropped. This means that gettext 596 now always supports the LANGUAGE environment variable, message inheritance, 597 automatic charset conversion etc. 598 599* Support for the old Linux specific .msg catalog format has been dropped. 600 601* When the included GNU libintl is installed (i.e. on GNU platforms, when 602 the configure option --with-included-gettext is given, or on non-GNU 603 platforms, when the configure option --disable-nls is not given), it is 604 also installed as a shared library, unless the configure option 605 --disable-shared is given. 606 607* PO mode changes: 608 609** PO mode does not use recursive edit anymore, many edits may be worked on 610 simultaneously in a single PO file. 611 612** PO mode may handle many translation files at once while correlating related 613 entries, for helping multilingual or cultured translators. 614 615** On recent Emacses, PO mode automatically use proper fonts when available. 616 617** PO mode supports marking of C++ sources. 618 619** highlights original message while editing the translation 620 621** PO mode has commands to mail messages to teams or to the translation 622 coordinator, with automatic inclusion of the current PO file. 623 624Version 0.10.35 - April 1998, by Ulrich Drepper 625 626* by default the emulation of gettext using the catgets() functions of 627 the C library is not selected anymore. GNU gettext has so many nice 628 extensions that this became unreasonable. Using --with-catgets the 629 emulation still can be requested. 630 631* extend xgettext program to handle other file formats other than C/C++. 632 For now it also handles PO file. Using this feature one can concatenate 633 arbitrary PO files. 634 635* Tcl module with gettext interface 636 637* Korean translation by Bang Jun Young 638 639* xgettext writes to stdout when default domain name is set to - 640 641* codeset name normalization 642 643* msgmerge program now has all features tupdate has (and more). 644 tupdate itself will be removed soon 645 646* po/Makefile.in.in now uses msgmerge instead of tupdate 647 648* escape notation in .po files are only used when explicitly selected 649 650* changed interface of msgunfmt to conform to GNU coding standard 651 652* msgmerge now knows how to handle obsolete entries. If a formerly obsolete 653 entry is used again msgmerge will find it 654 655* better implementation of comment extraction in xgettext. 656 657* better C format string implementation. The xgettext will classify 658 strings as being a format string, or not, in the .po file. The 659 programmer can override the decision explicitly for each string 660 by specifying `xgettext:c-format' and `xgettext:no-c-format' 661 respectively in a C comment preceding the string. 662 663* msgmerge program now always produces output. Fuzzy or non-existing 664 translations are no reason for holding back the result. 665 666* reasonable header entry format implemented 667 668* Norwegian translation by Karl Anders ���gard 669 670* Configure command line option `--with-gnu-gettext' is renamed to 671 `--with-included-gettext' 672 673* gettextize now can determine whether the aclocal.m4 of the project 674 is sufficent 675 676* use automake for Makefile.in generation 677 678* by default now only c-format is emitted in xgettext. If using the new 679 --debug option one can enable printing possible-c-format to see who 680 decided about the string: xgettext or the programmer 681 682* the installed libintl.h file no longer depends on HAVE_LOCALE_H being 683 defined. After running configure we know whether this file exists. 684 685* wrapping of lines in PO file output finally enabled. 686 A new special comment no-wrap prevents wrapping. 687 688* add --statistics option to msgfmt to get information about number of 689 translated, untranslated, and fuzzy messages 690 691* change behaviour of --verbose option to msgfmt. This no longer 692 causes the check on the messages to be performed. The check for leading 693 and trailing \n is always performed and the check of the format specifiers 694 is performed when --check is given. 695 696* shared library support based On Gord Matzigkeit's libtool package 697 698* msgcomm program by Peter Miller to extract messages shared by input 699 files 700 701* many more translations. 702 703Version 0.10 - December 1995, by Ulrich Drepper 704 705* implement --shell-script option for gettext program 706 707* implement object-oriented, lazy message handling :-) 708 Consult the manual for more/any information 709 710* implement locale name aliasing, similar to the one used 711 in the X Window System 712 713* support for GNU gettext sources in central place to support 714 use in development environments of other projects 715 716* implement CEN syntax for environment variable values 717 718* msgcmp program to find matches in two .po files 719 720* programs now have exit status != 0 if errors occured 721 722* libintl.a is now selfcontained and can be used without context in 723 other projects (even on systems missing alloca) 724 725* gettextize now automatically runs config.status 726 727* swedish message catalog 728 729* new options for xgettext: -D/--directory to change in specified directory 730 before processing the input files and -f/--files-from to specify file from 731 which the names of the input files are read. 732 The later option in necessary for large projects such as GNU C Library. 733 734* new programs msgmerge and msgunfmt by Peter Miller. The code of the other 735 programs is now also much cleaner. 736 737Version 0.9 - August 1995, by Ulrich Drepper 738 739* again many improvements on the manual 740 741* norwegian message catalog 742 743* compilation now works with --disable-nls 744 745* better checks 746 747Version 0.8 - July 1995, by Ulrich Drepper 748 749* much improved manual (although still far from being complete) 750 751* improved PO mode; it now can prepare C sources for use with gettext 752 by marking translatable strings 753 754* better support for sparse System V systems 755 756* check goal (kind of) 757 758* more input tests and warnings 759 760* better support for integration in other packages 761 762* many bugs fixed 763 764Version 0.7 - June 1995, by Ulrich Drepper 765 766* New GNU package providing functionality to internationalize and 767localize other programs. 768 769* Implementation of the Uniforum(*) proposal for internationalization 770on top of X/Open(*) style catgets functions. 771 772* Complete implementation of the Uniforum functions for system 773lacking either of them or those who which to have a different 774implementation with many advantages. 775 776* Implementation of the three tools for message catalog handling 777described in the Uniforum. 778 779* Emacs po-mode for handling portable message object files which are 780the basis of the work of the package. 781 782 783(*) Some history: The POSIX working groups have so far been unable to 784agree on one set of message catalog handling functions for the C Library. 785For now there are competing proposals, one by the Uniforum group, led by 786Sun, and the other by X/Open. Although the latter is surely implemented 787on more systems, it is not perceived as the clear leader. 788