Development history

VersionChanges
V2.4
(28.11.99)
  • FlexCat is now portable! Thanks to Hardcode.sd{tm} unique technology you can now try to compile FlexCat under any OS (both Big and Little Endians are supported).
  • sometimes garbage could be written instead of $VER: string (when $TODAY feature was used) due to memory block being free'd before write.
  • added ##rem command to .sd file handling. As you have probably guessed, it's just remark. The goal (at least for me) is that ##rem lines won't appear in result source code, creaded out of the .sd file.
  • added manual catalog open/close for compilers that do not handle autoinit/exit functions
  • Updated french translation (Herve Dupont)
  • Added NOSPACE switch, to avoid extra space char usually used by FlexCat to separate comment ';' from the main comment text
  • Source descriptor for HSPascal by Content of "Contribution" drawer is now moved to "FlexCat_Demos" archive.
  • Added detailed tutoral (in polish for now) about the whole localization process (incl. examples)
V2.3
(19.05.99)
  • "Trailing ellipsis" detector was broken (Marco De Vitis)
  • Seems I updated the english manual for v2.2, but forgot to create .guide file out of texinfo.
  • Fixed manual to say "1999" instead of "1998", and fixed #?.cd file to show proper arguments when help ("?") is requested (Sergio Martín Rodríguez and Tomás J. Cantó
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 )
  • 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
  • Updated catalogs: svenska - Magnus Holmgren, srpski - Ljubomir Jankovic, nederlands - Leon Woestenberg, deutsch - Christian Hattemer
  • English manual updated to match latest changes.
V2.1
(11.10.98)
  • New source descriptor for E programmers (E32e.sd) by Sven Steiniger
  • 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 locale.library related stuff only (catalogs too ;-) only (Magnus Holmgren).
  • Source code released - See source readme file for more details.
V2.0
(25.02.98)
  • Unfortunately, 2.0 does not means 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
  • 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
  • Finnish translation updated by Mika Lundell
  • Nederlans translation by Leon Woestenberg
  • Norsk translation thanks to Eivind Olsen
  • Italian catalog updated by Luca Nora and Giovanni Addabbo
  • Portugese translation updated by Frederico Borges and Alexandre Gabriel
  • The new spanish translation by Marcos Broc and Samuel Aguilera
  • Croatian translation by Mladen Ili¹inoviæ
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 own defaults, set the environmental variable "flexcat.prefs" with the contents matching following template (FlexCat uses ReadArgs() parsing for the preferences, thus place all items in one line):"SDDIR/K,MSG_NEW/K,WARNCTGAPS/S,NOOPTIM/S,FILL/S, FLUSH/S,NOBEEP/S,QUIET/S"
  • If you use FlexCat to update your #?.ct file (basing on new #?.cd and old #?.ct files), news strings will be marked with additional string for better searching. By default it's "***NEW***", 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 and Alexandre Gabriel
  • Swedish translation of FlexCat manual, thanks to Magnus Holmgren
  • Spanish translation reworked by Marcos Broc and Samuel Aguilera
  • Now FlexCat does DisplayBeep() when any error or warning appear (don't worry, it's smart enough, so don't afraid of Beep bombing ;). By using NOBEEP switch you can shut it up.
  • Fixed problems with #?.ct comments lines with trailing \'s being incorrectly taken as multiline string
  • FlexCat now accepts octal, decimal and hexadecimal arguments for internal commands (like ##version) as well as for (ID/MIN/MAX), ##codeset and others.
  • FLUSH switch added. Using it cause all unused catalogs (libraries, fonts, devices etc) to be flushed from memory. 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 per application. NOTE: for compatibility reasons, other descriptors remain unchanged (however additional, multicatalog versions may appear in next release).
  • Doesn't accept empty ##language argument any longer.
  • Added FILL switch. This feature is highly useful for the translators. Normally, while working on the translation you got some strings still empty as you are working on them. But it obvious you want to check currently translated strings. Unfortunately all catalog creators including FlexCat write all empty strings too, which cause empty buttons or simmilar things to happen. Switch to forbid empty strings is not a good solution because prevents you from having such if you need. Also some bad written program may requre all strings to be in the catalog (even empty) e.g. due to lack of built-in strings. Using FILL option you force FlexCat to write source string (from #?.cd file) everytime it catch translation to be empty or be not present at all. NOTE: this is only for testing purposes. Final catalogs should always be created with no FILL switch used!
  • English manual is now up-to-date.
  • Added %a, %t and %z operands for source descriptors see (probably english 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
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
  • initial release