
                               F L E X C A T

  ========================================================================

            The ultimate catalog processor and source generator

                   by Jochen Wiedmann and Marcin Orlowski

      e-mail: carlos@amiga.com.pl   WWW: http://amiga.com.pl/flexcat/

  ========================================================================

  * v2.2 (14.04.99) - FlexCat can now copy "**NEW**" markers (or other
                      specified) from old #?.ct file to new one, while
                      upgrading #?.ct file (FlexCat CD CT newctfile CT).
                      It should now be fearless to upgrade your all not
                      yet finished translations. Due to this feature two
                      new options appeared (available in prefs as well):
                      COPYNEWs/S (specify if you want to activate this
                      feature - to avoid possible problems its turned off
                      by default), OLD_MSG_NEW/K - the string that marks
                      new strings in old #?.ct file (by default "**NEW**"
                      so you don't need to specify it unless you change
                      MSG_NEW too). NOTE: FlexCat automatically appends
                      "; " to the string!  (Christian Hattemer
                      <Chris@heaven.riednet.wh.tu-darmstadt.de>)

                      Long awaited check for trailing ellipsis is now
                      implemented

                      FlexCat now expands the above feature, and checks
                      for trailing spaces, as it appears to be the most
                      overlooked trailing character ever

                      Added missing #endif is source code, disallowing
                      easy StormC or non-amiga compilations (Christian
                      Hattemer)

                      Every line of original string that FlexCat puts
                      into created #?.ct file is now prefixed by "; ".                      
                      Previously, only first line had space between
                      semicolon and the main text (Christian Hattemer)

                      Source descriptors and other FlexCat related
                      goodies for StormC by Christian Hattemer
                      are now available from any Aminet mirror
                      (dev/c/Storm_FlexCat.lha) or from his homepage:
                      http://www.riednet.wh.tu-darmstadt.de/~chris/

                      New translations: slowensko  - Damir Arh
                      <damir.arh@guest.arnes.si>

                      Updated catalogs: svenska - Magnus Holmgren
                      <lear@algonet.se>, srpski - Ljubomir Jankovic
                      <lurch@beotel.yu>, nederlands - Leon Woestenberg
                      <leon@stack.nl>, deutsch - Christian Hattemer
                      <Chris@heaven.riednet.wh.tu-darmstadt.de>
                      
                      English manual updated to match latest changes.


  * v2.1 (11.10.98) - New source descriptor for E programmers (E32e.sd)
                      by Sven Steiniger <ss37@irz301.inf.tu-dresden.de>

                      Fixed problem C:Version had with FlexCat (due
                      to many internal $VERsion strings, THAT one, wasn't
                      first the one in the executable file).

                      SDDIR path defined in FlexCat.prefs was always
                      ignored. Fixed (Magnus Holmgren).

                      Improved FLUSH function. Now it flushes catalogs
                      only (Magnus Holmgren).

                      FlexCat adds now one space character, while writting
                      "old" strings in #?.ct file, as CatComp did.

                      Source code released - See source readme file for
                      more details


  * v2.0 (25.02.98) - Unfortunately, 2.0 does not mean the break thru
                      technologies implemented here. It is just the next
                      version numer FlexCat should have...

                      Added a workaround for problems some people may
                      encounter while creating catalogs for languages
                      with corrupted converstion table (part of #?.language
                      file). FlexCat uses utility.library function to convert
                      ##language name to lowercase, which leads to
                      wrong strings with e.g. czech environment.
                      Use NOLANGTOLOWER (CLI and prefs) to tell FlexCat
                      to not to lowercase the name (but remember to keep
                      it lowercased manually!).

                      FlexCat now uses buffered IO operations.
                      That may increase the overall speed of FlexCat,
                      however it's not the must, so you can use
                      NOBUFFEREDIO switch to fall back to previous
                      poll mode. Please test the overall performance,
                      and tell me the results. The IO buffer is now
                      2048 bytes large.

                      While creating new #?.ct file FlexCat puts contents
                      of Language system variable if possible as the
                      #langauge argument.

                      Fixed bug causing random memory writes under
                      some, but very rare, circumstances.

                      ARexx.sd source descriptor added thanks to
                      Kai Norhausen <kn@tribal.line.org>

                      Users' stuff added. Look at the contents of
                      the "Contribution" drawer!

                      Renumbered the version of catalog files. Most
                      recent catalog version is 2.0. Older and outdated
                      are 1.x.

                      French catalog updated. Thanks to Julien `GiZmO' Wilk
                      <wilkj@esiee.fr>

                      Finnish translation updated by Mika Lundell
                      <c71829@uwasa.fi>

                      Nederlans translation by Leon Woestenberg
                      <leon@stack.nl>

                      Norsk translation thanks to Eivind Olsen
                      <eivindo@bgnett.no>

                      Italian catalog updated by Luca Nora
                      <ln546991@silab.dsi.unimi.it> and Giovanni
                      Addabbo <gaddabbo@imar.it>

                      Portugese translation updated by Frederico
                      Borges <famb@mail.telepac.pt> and
                      Alexandre Gabriel <chryse@mail.telepac.pt>

                      The new spanish translation by Marcos Broc
                      <amiga187@arrakis.es> and Samuel Aguilera
                      <slyguy@mx2.redestb.es>

                      Croatian translation by Mladen Ili¹inoviæ
                      <milisino@jagor.srce.hr>


  * V1.9 (01.08.97) - Now you can use special $TODAY attribute
                      in your $VER string. While creating catalog,
                      $TODAY will be replaced by current date (note,
                      only 1st occurance will be processed). If you
                      want your version strings to always be recent
                      dated type: $VER: FlexCat.catalog 3.0 ($TODAY)
                      NOTE: This string is CASESENSITIVE!

                      FlexCat preferences added. To define your own
                      defaults, set the environmental variable
                      "flexcat.prefs" with the contents matching
                      following template: "SDDIR/K,MSG_NEW/K,
                      WARNCTGAPS/S,NOOPTIM/S,FILL/S,FLUSH/S,NOBEEP/S,
                      QUIET/S". Note FlexCat is using ReadArgs()
                      to parse the preferences, thus place all the
                      items in one line.

                      If you use FlexCat for #?.ct updating, you
                      probably were missing any additional markers
                      to let you easily find the new strings. Now
                      you get them. By default the "***NEW***", 
                      is used, but you may configure it using
                      FlexCat preferences.

                      QUIET switch used to suppress error messages.
                      Fixed.

                      New C source descriptor Cat2h_?.sd. Read
                      the manual or Lib/Cat2h.readme for more
                      information.

                      Version of updated catalogs bumped to 2.5

                      Portugese translation of program catalog, thanks
                      to Frederico Borges <famb@mail.telepac.pt> and
                      Alexandre Gabriel <chryse@mail.telepac.pt>

                      Swedish translation of FlexCat manual,
                      thanks to Magnus Holmgren <lear@algonet.se>

                      Spanish translation reworked by
                      Marcos Broc <amiga187@arrakis.es> and 
                      Samuel Aguilera <slyguy92@arrakis.es>

                      Now FlexCat does DisplayBeep() when any error
                      or warning happen (but don't worry, it's smart
                      enough, so you won't experience any Beep() bombing ;).
                      By using NOBEEP switch you can shut it up.

                      Previous releases had problems with comment lines
                      ending with \'s, which made FlexCat think it's multiline
                      string. Now it is not as dumb to get fooled any longer.

                      You can now use octal, decimal and hexadecimal
                      (e.g 0x20) digits for all FlexCat digital arguments
                      (like ##version) as well as for (ID/MIN/MAX),
                      ##codeset and others.

                      FLUSH switch added. By using it all unused
                      catalogs (but also libraries, fonts, devices etc) will
                      be flushed from memory, whenever new catalog is
                      written. So note: FLUSH works only with CATALOG switch
                      (it means while compiling new catalog).

                      New C source descriptors: catcomp_h.sd creates
                      source (almost) identical to CatComp's ones, but
                      expanded for multicatalog support. With this
                      descriptor you can handle more than one catalog
                      in your program harmless.  NOTE:  for compatibility
                      reasons, other descriptors remain unchanged (however
                      additional, multicatalog versions may appear
                      in next release).

                      FlexCat does not accept empty ##language argument
                      any longer.

                      FILL switch. This feature is highly useful for the
                      translators, and probably for them only. Normally,
                      when you're working on the new translation, some
                      of the strings remains untranslated due the work
                      is just in progress. Unfortunately all catalog
                      tools write all these empty strings into the catalog
                      file, which will cause empty buttons, menus or simmilar
                      things to appear whenever you check your unfinished
                      translation with the program, which isn't nice effect.
                      Using FILL you may force FlexCat to ignore all empty
                      translations (strings from #?.ct file) and instead
                      to write original string (from #?.cd) to the catalog.
                      That prevents you from watching empty GUI etc.
                      NOTE: this option is only for testing purposes.
                      Final catalogs should always be created without FILL
                      switch used!

                      English manual is now up-to-date.

                      Added %a, %t and %z operands for source
                      descriptors. See (probably english and
                      swedish only, for now) manual for detailed
                      information

  * V1.8 (17.02.97) - Fixed bug causing bad octal digits
                      handling. Now FlexCat differs \0333
                      from \333 and treats it as [ESC][3].
                      It will also correctly handle octal
                      numbers shorter than 3 digis, e.g. \33
                      will be taken as \033.
                      Be careful as \333 will not be taken
                      as [ESC][3] as it's valid single octal
                      number!
  
                      NOOPTIM switch added

                      Now FlexCat is able to handle and parse
                      texts like "This is a test\\" without
                      any problems, which previously drive
                      such strings to be badly taken as multiline
                      text (due to trailing '\'). Now FlexCat
                      is smart enough (CatComp is still not ;-)
                      to fight with it.

                      Added support for string IDs incrementors
                      defined as (+VALUE//).

                      Now allows you to create CT file even
                      CD contains neither ##version nor ##rcsid
                      In that case creates default header as
                      CatComp does. (the "Missing catalog
                      translation version... " message should
                      now be read as warning not as error message).

                      QUIET switch added

                      Additional catalogs by members of
                      Amiga Translators' Organization
                      <http://ato.vapor.com/>:

                      - Serbian catalog file by Ljubomir Jankovic
                        <lurch@afrodita.rcub.bg.ac.yu>

                      - Czech translation by Vit Sindlar
                        <xsindl00@stud.fee.vutbr.cz>

                      - Svedish translation by Magnus Holmgren
                        <lear@algonet.se> and Hjalmar Wikholm
                        <hjalle@canit.se>

                      - Finnish translation updated by Mika Lundell
                        <c71829@uwasa.fi>

                      - Italian translation reworked by Luca Nora
                        <ln546991@silab.dsi.unimi.it> and
                        Giovanni Addabbo <gaddabbo@imar.net>


  * V1.7              Added "#rcsid" and "#name".

                      Fixed 2 Enforcer hits, which appeared,
                      if the ct file had gaps.

  * V1.6              Removed GetString() calls due to the new
                      C source descriptions.

  * V1.5              Added WARNCTGAPS option.
                      Added #chunk to catalog translations.

  * V1.4              Added the Environment variable FLEXCAT_SDDIR.
                      Uses AutoC_c.sd and AutoC_h.sd now and is thus
                      compilable by Dice and SAS/C only.

                      Fixed a problem in stringtype Oberon:
                      Binary characters should be like \000 and
                      not \0.

                      Fixed a problem in stringtype E:
                      \e was written as \033.

                      Added %f* (source description filename) and %o*
                      (source filename) to source descriptions.

  * V1.3              Fixed a bug that caused FlexCat to hang if a
                      catalog translation was updated and a string
                      was missing in the catalog description.

                      Fixed a bug that caused FlexCat to create
                      invalid catalogs probably. (Seems like the
                      locale.library expects a completely different
                      behaviour in padding version and language
                      strings and the real catalog strings.)
  
                      Added %e to source descriptions.

  * V1.2              Fixed a bug in the E source generator: " was
                      converted into \" and ' was not converted.

  * V1.1              Fixed two bugs: FlexCat didn't notice, if an
                      ID was defined twice (C-Compiler did later.) and
                      using language strings like français did not work
                      because of the the accented char. Introduced E
                      support. (Thanks Lionel Vintenat)

  * V1.01             Fixed a bug: The length of the source string
                      was used to check for the stringlen instead of
                      the real stringlen.


  * v1.0 (31.06.93) - initial release
