Short: 2.0 - Flexible catalogs (C, Asm, Oberon, E, ARexx, Modula...) Author: Marcin Orlowski Uploader: Marcin Orlowski Type: dev/misc Version: 2.0 WWW: http://amiga.com.pl/flexcat/ INFO ---------- FlexCat creates catalogs and the source to handle them. The difference between FlexCat and KitCat, CatComp and some others is, that FlexCat is designed to produce any source you want: any programming language, any individual needs should be satisfied. However, FlexCat is not more difficult to use. This sounds like a contradiction. FlexCat's solution is to use template files, the so called "source descriptions". Ready to use examples for Assembler, C, C++, E, Oberon and Modula-2 are distributed, additionally an example for supporting catalogs on Workbench 2.0. Any other examples are welcome. Archives ---------- Since release 2.0, the FlexCat distribiution is splitted into the smaller archives. They are (in order of importance): FlexCat.lha - Latest FlexCat, user contribitions, english manual and foreign catalog files FlexCat_0x0.lha - patches for 020, 040 and 060 versions of FlexCat (PPC makes no sense here. I checked that). FlexCat_XtraDocs.lha - FlexCat's guide in non english languages. Currently Svenska, Espanol and Deutsch are provided FlexCat_CatSrc.lha - #?.cd and #?.ct files for existing translations and #?.texinfo documents If you just want to use FlexCat, the 1st archive is all you need. If you want to have CPU optimised binaries, take both 1st and 2nd and patch the original release. If you want to read translated manual, get the 3rd one. If you want to make the translation take the 4th one (but I suggesto to join the Amiga Translators' Organisation first!) Changes since previous release: ------------------------------- * v2.0 (25.02.98) - Unfortunately, 2.0 does not meanw 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 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 was 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 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 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