Short: 2.0 - Flexible catalogs (C, Asm, Oberon, E, ARexx, Modula...) Author: Marcin Orlowski Uploader: Marcin Orlowski Version: 2.0 Type: dev/misc 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 ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 2628 1138 56.6% 24-Feb-98 22:42:40 +FlexCat.catalog 2732 1151 57.8% 24-Feb-98 22:42:38 +FlexCat.catalog 3374 1496 55.6% 24-Feb-98 22:42:42 +FlexCat.catalog 3040 1236 59.3% 24-Feb-98 22:42:36 +FlexCat.catalog 637 303 52.4% 15-Feb-98 20:36:32 +ato.readme 2992 1373 54.1% 24-Feb-98 22:42:40 +FlexCat.catalog 3362 1555 53.7% 24-Feb-98 22:42:40 +Flexcat.catalog 3238 1406 56.5% 24-Feb-98 22:42:42 +FlexCat.catalog 3072 1423 53.6% 24-Feb-98 22:42:40 +flexcat.catalog 3456 1650 52.2% 24-Feb-98 23:46:10 +FlexCat.catalog 3924 1615 58.8% 24-Feb-98 22:42:38 +FlexCat.catalog 2390 1164 51.2% 24-Feb-98 22:42:38 +FlexCat.catalog 2908 1296 55.4% 24-Feb-98 22:42:38 +FlexCat.catalog 3276 1512 53.8% 24-Feb-98 22:42:40 +FlexCat.catalog 3008 1366 54.5% 24-Feb-98 22:42:38 +FlexCat.catalog 3246 1587 51.1% 24-Feb-98 22:42:36 +FlexCat.catalog 1344 656 51.1% 02-Oct-97 23:45:54 +Flex_Arexx 1797 1114 38.0% 02-Oct-97 23:17:52 +Flex_Arexx.info 3024 1086 64.0% 02-Oct-97 23:04:32 +LMake 1932 1063 44.9% 10-Aug-97 14:26:24 +LMake.info 3132 1295 58.6% 02-Oct-97 23:10:18 +LMake.readme 3122 2360 24.4% 15-Aug-97 18:07:10 +LMake.readme.info 62039 20029 67.7% 24-Feb-98 22:46:08 +FlexCat_english.guide 464 241 48.0% 25-May-97 15:47:24 +FlexCat_english.guide.info 1886 838 55.5% 08-Nov-94 11:17:16 +AmigaOberon.sd 1009 572 43.3% 01-Oct-97 13:51:18 +ARexx.sd 2746 1123 59.1% 05-Mar-97 15:52:28 +AutoC_c.sd 511 258 49.5% 07-Nov-94 22:24:44 +AutoC_h.sd 2247 824 63.3% 07-Nov-94 22:26:22 +AztecAs_asm.sd 383 180 53.0% 07-Nov-94 22:28:10 +AztecAs_i.sd 3272 1267 61.2% 13-Jul-94 22:16:24 +C++_CatalogF.cc 1319 671 49.1% 07-Nov-94 22:15:02 +C++_CatalogF.h 506 242 52.1% 07-Nov-94 22:29:42 +C++_cc.sd 739 376 49.1% 18-May-97 11:57:52 +C++_h.sd 5422 1916 64.6% 13-Jan-96 19:08:48 +C_c.sd 5300 1856 64.9% 08-Nov-94 20:46:40 +C_c_V20.sd 1624 689 57.5% 08-Nov-94 20:47:38 +C_c_V21.sd 733 365 50.2% 10-May-95 00:53:40 +C_h.sd 1511 796 47.3% 25-May-97 23:25:04 +Cat2h.readme 1573 735 53.2% 25-May-97 05:44:22 +Cat2h_c.sd 367 187 49.0% 25-May-97 05:43:52 +Cat2h_h.sd 2363 747 68.3% 27-May-97 10:59:34 +CatComp_h.sd 1501 628 58.1% 07-Nov-94 22:16:04 +E21b.sd 1953 750 61.5% 07-Nov-94 22:16:14 +E30b.sd 483 272 43.6% 07-Nov-94 22:28:38 +Modula2Def.sd 2118 827 60.9% 07-Nov-94 22:28:50 +Modula2Mod.sd 2074 878 57.6% 08-Nov-94 11:17:34 +Oberon-A.sd 1684 747 55.6% 07-Nov-94 22:29:06 +Oberon_V38.sd 1683 743 55.8% 07-Nov-94 22:29:14 +Oberon_V39.sd 2293 840 63.3% 07-Nov-94 22:25:56 +SASasm_a.sd 370 175 52.7% 07-Nov-94 22:28:26 +SASasm_i.sd 632 278 56.0% 25-May-97 15:47:24 Docs.info 33220 19341 41.7% 24-Feb-98 23:46:44 FlexCat 13367 4417 66.9% 24-Feb-98 22:31:08 FlexCat.history 10442 3836 63.2% 24-Feb-98 23:29:42 FlexCat.readme -------- ------- ----- --------- -------- 229468 96489 57.9% 25-Feb-98 19:04:50 55 files