From aglover Thu Jan  5 11:50:45 1995
Received: by clio.acorn.co.uk (5.51/Ai1.6)
	id AA18078; Thu, 5 Jan 95 11:50:44 GMT
Received: by mars.acorn.co.uk (5.51/Ap1.4)
	id AA25896; Thu, 5 Jan 95 11:50:43 GMT
X-Account: 745
Date: Thu, 05 Jan 95 11:53:42 GMT
From: aglover (Alan Glover)
To: aideen
Subject: About VProtect and Internationalisation
Auto-Acknowledge-To: aglover (Alan Glover)
Message-Id: <2F0BDDC6@aglover>
Status: R

Aideen,

Here are some notes for reference about VProtect's message handling -
it's a little convoluted (and prone to false bug reports about not
being internationalised).

The reason it's so hairy is that the -same binary- is expected to work
on any OS from 2.00 up to Black, and to fully adapt automatically to a
German environment !

Anyway, here's roughly what happens. Hopefully this will just carry on
working, but it could be useful to know...

- read the territory number, register a German file for territories 7
  and 35, and register a UK one otherwise. The UK one will also get
  registered if an error occurs.
  
- check for an OS >= 3.20 (German) to decide whether internationalised
  help & syntax is functional. If it is, it then self-modifies its own
  module header to indicate that it has tokenised help/syntax (having
  this word set on earlier OS versions causes the kernel to reject the
  module!)
  
- if all the above fails, give up and use hard-wired text in the
  module for both help/syntax and other text  
                   
Using ModSqz means that the module actually won't work on RISC OS 2.00
because the module unsqueezing code wasn't introduced until 2.01 (the
OS for the A540), however this is not a problem since people shouldn't
be moving this particular version onto RISC OS 2.00 machines. If that
assumption's wrong - don't ModSqz it! 

Hope this is useful...

Alan
 

