Do not use AttemptSemaphore() from RawPutChar(), since it may be called
[cake.git] / tools / FlexCat / FlexCat.history
blobab21044b7b6be39a8bb7a193477d1081f02d49ad
2                                F L E X C A T
4   ========================================================================
6             The ultimate catalog processor and source generator
8                    by Jochen Wiedmann and Marcin Orlowski
10       e-mail: carlos@amiga.com.pl   WWW: http://amiga.com.pl/flexcat/
12   ========================================================================
14   NOTE: Since release 2.4, FlexCat comes with some examples (FlexCat_Demos)
15         of how-to-make-localized-stuff. Unfortunately I am unable to 
16         provide examples for any programming language that FlexCat now
17         supports, so if you think you could write some well-commented
18         (english please) HelloWorld examples you would be gladly welcomed.
19         Tutorials and other add-ons are also highly needed!
21   ========================================================================
24   * v2.4 (28.11.99) - FlexCat is now portable! Thanks to Hardcode.sd{tm}
25                       unique technology you can now try to compile FlexCat
26                       under any OS (both Big and Little Endians are
27                       supported). Read developer.readme for details.
29                     - sometimes garbage could be written instead of
30                       $VER: string (when $TODAY feature was used) due
31                       to memory block being free'd before write.
33                     - added ##rem command to .sd file handling. As you
34                       have probably guessed, it's just remark. The goal
35                       (at least for me) is that ##rem lines won't appear
36                       in result source code, creaded out of the .sd file.
38                     - added manual catalog open/close for compilers that
39                       do not handle autoinit/exit functions
41                     - Updated french translation (Herve Dupont
42                       <herve.dupont@nordnet.fr>)
44                     - Added NOSPACE switch, to avoid extra space char
45                       usually used by FlexCat to separate comment
46                       mark ';' from the main comment text
48                     - Source descriptor for HSPascal by Artur Karpunin
49                       <woody8@kki.net.pl> is now available.
51                     - New archive "FlexCat_Demos" full ;-) of example
52                       source codes for various programming languages
53                       C, HSPascal and ARexx examples are recently
54                       available.
56                     - Content of "Contribution" drawer is now moved to
57                       "FlexCat_Demos" archive.
59                     - Added detailed tutoral (in polish for now) about
60                       the whole localization process (incl. examples)
63   * v2.3 (19.05.99) - "Trailing ellipsis" detector was broken (Marco
64                       De Vitis <marco.dvv@flashnet.it>)
66                     - Seems I updated the english manual for v2.2, but
67                       forgot to create .guide file out of texinfo.
69                     - Fixed manual to say "1999" instead of "1998", and
70                       fixed #?.cd file to show proper arguments when
71                       help ("?") is requested (Herve Dupont
72                       <herve.dupont@nordnet.fr>)
74                     - Spanish translation by Sergio Martín Rodríguez
75                       <smartin@kaos.es> and Tomás J. Cantó
76                       <tjcanto@redestb.es>
79   * v2.2 (14.04.99) - FlexCat can now copy "***NEW***" markers (or other
80                       specified) from old #?.ct file to new one, while
81                       upgrading #?.ct file (FlexCat CD CT newctfile CT).
82                       It should now be fearless to upgrade your all not
83                       yet finished translations. Due to this feature two
84                       new options appeared (available in prefs as well):
85                       COPYMSGNEW/S (specify if you want to activate this
86                       feature - to avoid possible problems its turned off
87                       by default), OLDMSGNEW/K - the string that marks
88                       new strings in old #?.ct file (by default "***NEW***"
89                       so you don't need to specify it unless you change
90                       MSG_NEW too). NOTE: FlexCat automatically appends
91                       "; " to the string!  (Christian Hattemer
92                       <Chris@heaven.riednet.wh.tu-darmstadt.de>)
94                       Long awaited check for trailing ellipsis is now
95                       implemented
97                       FlexCat now expands the above feature, and checks
98                       for trailing spaces, as it appears to be the most
99                       overlooked trailing character ever
101                       Added missing #endif is source code, disallowing
102                       easy StormC or non-amiga compilations (Christian
103                       Hattemer)
105                       Every line of original string that FlexCat puts
106                       into created #?.ct file is now prefixed by "; ".                      
107                       Previously, only first line had space between
108                       semicolon and the main text (Christian Hattemer)
110                       Source descriptors and other FlexCat related
111                       goodies for StormC by Christian Hattemer
112                       are now available from any Aminet mirror
113                       (dev/c/Storm_FlexCat.lha) or from his homepage:
114                       http://www.riednet.wh.tu-darmstadt.de/~chris/
116                       New translations: slowensko  - Damir Arh
117                       <damir.arh@guest.arnes.si>
119                       Updated catalogs: svenska - Magnus Holmgren
120                       <lear@algonet.se>, srpski - Ljubomir Jankovic
121                       <lurch@beotel.yu>, nederlands - Leon Woestenberg
122                       <leon@stack.nl>, deutsch - Christian Hattemer
123                       <Chris@heaven.riednet.wh.tu-darmstadt.de>
124                       
125                       English manual updated to match latest changes.
128   * v2.1 (11.10.98) - New source descriptor for E programmers (E32e.sd)
129                       by Sven Steiniger <ss37@irz301.inf.tu-dresden.de>
131                       Fixed problem C:Version had with FlexCat (due
132                       to many internal $VERsion strings, THAT one, wasn't
133                       first the one in the executable file).
135                       SDDIR path defined in FlexCat.prefs was always
136                       ignored. Fixed (Magnus Holmgren).
138                       Improved FLUSH function. Now it flushes catalogs
139                       only (Magnus Holmgren).
141                       FlexCat adds now one space character, while writting
142                       "old" strings in #?.ct file, as CatComp did.
144                       Source code released - See source readme file for
145                       more details
148   * v2.0 (25.02.98) - Unfortunately, 2.0 does not mean the break thru
149                       technologies implemented here. It is just the next
150                       version numer FlexCat should have...
152                       Added a workaround for problems some people may
153                       encounter while creating catalogs for languages
154                       with corrupted converstion table (part of #?.language
155                       file). FlexCat uses utility.library function to convert
156                       ##language name to lowercase, which leads to
157                       wrong strings with e.g. czech environment.
158                       Use NOLANGTOLOWER (CLI and prefs) to tell FlexCat
159                       to not to lowercase the name (but remember to keep
160                       it lowercased manually!).
162                       FlexCat now uses buffered IO operations.
163                       That may increase the overall speed of FlexCat,
164                       however it's not the must, so you can use
165                       NOBUFFEREDIO switch to fall back to previous
166                       poll mode. Please test the overall performance,
167                       and tell me the results. The IO buffer is now
168                       2048 bytes large.
170                       While creating new #?.ct file FlexCat puts contents
171                       of Language system variable if possible as the
172                       #langauge argument.
174                       Fixed bug causing random memory writes under
175                       some, but very rare, circumstances.
177                       ARexx.sd source descriptor added thanks to
178                       Kai Norhausen <kn@tribal.line.org>
180                       Users' stuff added. Look at the contents of
181                       the "Contribution" drawer!
183                       Renumbered the version of catalog files. Most
184                       recent catalog version is 2.0. Older and outdated
185                       are 1.x.
187                       French catalog updated. Thanks to Julien `GiZmO' Wilk
188                       <wilkj@esiee.fr>
190                       Finnish translation updated by Mika Lundell
191                       <c71829@uwasa.fi>
193                       Nederlans translation by Leon Woestenberg
194                       <leon@stack.nl>
196                       Norsk translation thanks to Eivind Olsen
197                       <eivindo@bgnett.no>
199                       Italian catalog updated by Luca Nora
200                       <ln546991@silab.dsi.unimi.it> and Giovanni
201                       Addabbo <gaddabbo@imar.it>
203                       Portugese translation updated by Frederico
204                       Borges <famb@mail.telepac.pt> and
205                       Alexandre Gabriel <chryse@mail.telepac.pt>
207                       The new spanish translation by Marcos Broc
208                       <amiga187@arrakis.es> and Samuel Aguilera
209                       <slyguy@mx2.redestb.es>
211                       Croatian translation by Mladen Ili¹inoviæ
212                       <milisino@jagor.srce.hr>
215   * V1.9 (01.08.97) - Now you can use special $TODAY attribute
216                       in your $VER string. While creating catalog,
217                       $TODAY will be replaced by current date (note,
218                       only 1st occurance will be processed). If you
219                       want your version strings to always be recent
220                       dated type: $VER: FlexCat.catalog 3.0 ($TODAY)
221                       NOTE: This string is CASESENSITIVE!
223                       FlexCat preferences added. To define your own
224                       defaults, set the environmental variable
225                       "flexcat.prefs" with the contents matching
226                       following template: "SDDIR/K,MSG_NEW/K,
227                       WARNCTGAPS/S,NOOPTIM/S,FILL/S,FLUSH/S,NOBEEP/S,
228                       QUIET/S". Note FlexCat is using ReadArgs()
229                       to parse the preferences, thus place all the
230                       items in one line.
232                       If you use FlexCat for #?.ct updating, you
233                       probably were missing any additional markers
234                       to let you easily find the new strings. Now
235                       you get them. By default the "***NEW***", 
236                       is used, but you may configure it using
237                       FlexCat preferences.
239                       QUIET switch used to suppress error messages.
240                       Fixed.
242                       New C source descriptor Cat2h_?.sd. Read
243                       the manual or Lib/Cat2h.readme for more
244                       information.
246                       Version of updated catalogs bumped to 2.5
248                       Portugese translation of program catalog, thanks
249                       to Frederico Borges <famb@mail.telepac.pt> and
250                       Alexandre Gabriel <chryse@mail.telepac.pt>
252                       Swedish translation of FlexCat manual,
253                       thanks to Magnus Holmgren <lear@algonet.se>
255                       Spanish translation reworked by
256                       Marcos Broc <amiga187@arrakis.es> and 
257                       Samuel Aguilera <slyguy92@arrakis.es>
259                       Now FlexCat does DisplayBeep() when any error
260                       or warning happen (but don't worry, it's smart
261                       enough, so you won't experience any Beep() bombing ;).
262                       By using NOBEEP switch you can shut it up.
264                       Previous releases had problems with comment lines
265                       ending with \'s, which made FlexCat think it's multiline
266                       string. Now it is not as dumb to get fooled any longer.
268                       You can now use octal, decimal and hexadecimal
269                       (e.g 0x20) digits for all FlexCat digital arguments
270                       (like ##version) as well as for (ID/MIN/MAX),
271                       ##codeset and others.
273                       FLUSH switch added. By using it all unused
274                       catalogs (but also libraries, fonts, devices etc) will
275                       be flushed from memory, whenever new catalog is
276                       written. So note: FLUSH works only with CATALOG switch
277                       (it means while compiling new catalog).
279                       New C source descriptors: catcomp_h.sd creates
280                       source (almost) identical to CatComp's ones, but
281                       expanded for multicatalog support. With this
282                       descriptor you can handle more than one catalog
283                       in your program harmless.  NOTE:  for compatibility
284                       reasons, other descriptors remain unchanged (however
285                       additional, multicatalog versions may appear
286                       in next release).
288                       FlexCat does not accept empty ##language argument
289                       any longer.
291                       FILL switch. This feature is highly useful for the
292                       translators, and probably for them only. Normally,
293                       when you're working on the new translation, some
294                       of the strings remains untranslated due the work
295                       is just in progress. Unfortunately all catalog
296                       tools write all these empty strings into the catalog
297                       file, which will cause empty buttons, menus or simmilar
298                       things to appear whenever you check your unfinished
299                       translation with the program, which isn't nice effect.
300                       Using FILL you may force FlexCat to ignore all empty
301                       translations (strings from #?.ct file) and instead
302                       to write original string (from #?.cd) to the catalog.
303                       That prevents you from watching empty GUI etc.
304                       NOTE: this option is only for testing purposes.
305                       Final catalogs should always be created without FILL
306                       switch used!
308                       English manual is now up-to-date.
310                       Added %a, %t and %z operands for source
311                       descriptors. See (probably english and
312                       swedish only, for now) manual for detailed
313                       information
315   * V1.8 (17.02.97) - Fixed bug causing bad octal digits
316                       handling. Now FlexCat differs \0333
317                       from \333 and treats it as [ESC][3].
318                       It will also correctly handle octal
319                       numbers shorter than 3 digis, e.g. \33
320                       will be taken as \033.
321                       Be careful as \333 will not be taken
322                       as [ESC][3] as it's valid single octal
323                       number!
324   
325                       NOOPTIM switch added
327                       Now FlexCat is able to handle and parse
328                       texts like "This is a test\\" without
329                       any problems, which previously drive
330                       such strings to be badly taken as multiline
331                       text (due to trailing '\'). Now FlexCat
332                       is smart enough (CatComp is still not ;-)
333                       to fight with it.
335                       Added support for string IDs incrementors
336                       defined as (+VALUE//).
338                       Now allows you to create CT file even
339                       CD contains neither ##version nor ##rcsid
340                       In that case creates default header as
341                       CatComp does. (the "Missing catalog
342                       translation version... " message should
343                       now be read as warning not as error message).
345                       QUIET switch added
347                       Additional catalogs by members of
348                       Amiga Translators' Organization
349                       <http://ato.vapor.com/>:
351                       - Serbian catalog file by Ljubomir Jankovic
352                         <lurch@afrodita.rcub.bg.ac.yu>
354                       - Czech translation by Vit Sindlar
355                         <xsindl00@stud.fee.vutbr.cz>
357                       - Svedish translation by Magnus Holmgren
358                         <lear@algonet.se> and Hjalmar Wikholm
359                         <hjalle@canit.se>
361                       - Finnish translation updated by Mika Lundell
362                         <c71829@uwasa.fi>
364                       - Italian translation reworked by Luca Nora
365                         <ln546991@silab.dsi.unimi.it> and
366                         Giovanni Addabbo <gaddabbo@imar.net>
369   * V1.7              Added "#rcsid" and "#name".
371                       Fixed 2 Enforcer hits, which appeared,
372                       if the ct file had gaps.
374   * V1.6              Removed GetString() calls due to the new
375                       C source descriptions.
377   * V1.5              Added WARNCTGAPS option.
378                       Added #chunk to catalog translations.
380   * V1.4              Added the Environment variable FLEXCAT_SDDIR.
381                       Uses AutoC_c.sd and AutoC_h.sd now and is thus
382                       compilable by Dice and SAS/C only.
384                       Fixed a problem in stringtype Oberon:
385                       Binary characters should be like \000 and
386                       not \0.
388                       Fixed a problem in stringtype E:
389                       \e was written as \033.
391                       Added %f* (source description filename) and %o*
392                       (source filename) to source descriptions.
394   * V1.3              Fixed a bug that caused FlexCat to hang if a
395                       catalog translation was updated and a string
396                       was missing in the catalog description.
398                       Fixed a bug that caused FlexCat to create
399                       invalid catalogs probably. (Seems like the
400                       locale.library expects a completely different
401                       behaviour in padding version and language
402                       strings and the real catalog strings.)
403   
404                       Added %e to source descriptions.
406   * V1.2              Fixed a bug in the E source generator: " was
407                       converted into \" and ' was not converted.
409   * V1.1              Fixed two bugs: FlexCat didn't notice, if an
410                       ID was defined twice (C-Compiler did later.) and
411                       using language strings like français did not work
412                       because of the the accented char. Introduced E
413                       support. (Thanks Lionel Vintenat)
415   * V1.01             Fixed a bug: The length of the source string
416                       was used to check for the stringlen instead of
417                       the real stringlen.
420   * v1.0 (31.06.93) - initial release
422                          ------------------------
424         $Id$