README for ticktalk v3.0:

-------------------------------------------------------------------------------
Release notes for version 3.1 (differences from version 3.0):

o Added klingon version

-------------------------------------------------------------------------------
Release notes for version 3.0 (differences from version 2.0):

o Bug fix to kanji version

o Removed -language kanji and added -kanji flag to -language japanese

o Added swedish and -latin1 flag

o Added norwegian

o Added vietnamese

o Added italian

o Added babytalk (big hand is on the one and the little hand is on the two)

-------------------------------------------------------------------------------
Release notes for version 2.0 (differences from version 1.0):

o Supports additional languages: dutch, finnish, piglatin, spanish, japanese
  kanji, german

o Language selection done via -language flag rather than a distinct flag for
  each language

o Added more complete error messages

o Fixed a bug or two

-------------------------------------------------------------------------------
Ticktalk is a program to display the time in words in various languages.
Currently the languages supported are:
	English		(Art Mellor)
	French		(thanks to Kaveh Kardan)
	Afrikaans	(thanks to Linda Matthew)
	Dutch		(thanks to Richard van de Stadt and others)
	Finnish		(thanks to Vesa K|pp{)
	Pig Latin	(thanks to John 'Pig' Reardon)
			Note to non-english speakers:
			This is a coded jargon popular with children.
	Spanish		(thanks to Chris Hadley)
	Japenese	(thanks to Johan van der Werf)
			Uses ascii roomaji or kanji (JIS convention)
	German		(thanks to Jochen Linz)
	Swedish		(thanks to H}kan Lennest}l)
			Uses ascii or Latin1
	Norwegian	(thanks to Ole Arntzen)
			Uses ascii or Latin1
	VietNamese	(thanks to Kiem Ngo)
	Italian		(thanks to Massimo Dal Zotto)
	Baby Talk	(Art Mellor)
			'The Big Hand Is On The One And ...'
	Klingon		(thanks to Paul E. Black)

But I am making this program available in hopes of extending the capabilities
to include as many languages as possible (see below how to add languages
if you are interested).

To build:
	1. unshar the file (you've probably already done this):
		% sh file
	2. Take a quick look at the Makefile and change things as
	   necessary.
	3. set things up for the build:
		% make clean
	4. build 'em:
		% make all

This will give you 3 programs:
	1. ticktalk
		This program displays the time to the terminal
	2. xticktalk
		This program puts up an X window and displays the time
	3. testtalk
		This program prints all possible times (this is for testing,
		you can delete it if you're not adding languages)
To run:
	% ticktalk
	% xticktalk
	  (this one looks best with large fonts, e.g. :
	-fn -bitstream-charter-medium-r-normal--33-240-100-100-p-183-iso8859-1)

Both programs take a number of optional arguments:

usage: ticktalk  [-help] [-version] [-before] [-language <language>] \
        [-approximate] [-noampm] [-half (dutch)] [-kanji (japanese)]\
        [-latin1 (swedish/norwegian)] [hour(0-23) min(0-59)]
  where <language> is one of the following:
    english | french | afrikaans | dutch | finnish |
    piglatin | spanish | german | japanese | swedish
    norwegian | vietnamese | italian | babytalk | klingon
  Options:
  -help           Print this text
  -version        Print the current version and exit
  -before         Print time after the half hour as relative to next hour
  -approximate    Round time off to nearest 5 minutes
  -language <language>   The language to display the time in
  -noampm         Don't put am/pm on the time string (if present otherwise)
  -half           Alternate time mode for dutch
  -kanji          Uses kanji character set with japanese (e.g. with kterm)
  -latin1         Uses the Latin-1 character set with swedish/norwegian
  hour min        Print the time corresponding to hour:min
  With no arguments prints the current time to stdout

The ticktalk version with no additional arguments prints the current
time in words in the selected language to stdout, but if given 2 arguments 
representing hour and minute (as numbers) it will print that time to
stdout. E.g.
	% ticktalk 1 0
	One O'Clock am

The xticktalk version takes additional arguments:
	-update secs	The number of seconds to wait between updates (def 30)
	X Options	Standard X windows options (e.g. -fn, -display, etc.)

-------------------------------------------------------------------------------
Problems, complaints and compliments to: art@cayman.com
If you want to be added to a mailing list to receive updates as new languages
are added, send me mail and I will add you.
-------------------------------------------------------------------------------

Do you know another language? Do you want to be famous and go down in history
as having added that language to this program? Here's how to do it for language
'Newlanguage':


0. Now really, are you fluent? Please don't try to remember high school
	language class - I don't want to be flooded with flames from
	native speakers telling me the program is wrong :-)
1. Take a look at how 'Time2WordEnglish' and 'Number2WordEnglish' work.
2. Write the routine 'Time2WordNewlanguage' (you will probably need to
	also write 'Number2WordNewlanguage' to do this).
	Don't forget to do the right things for approximate and before flags.
3. Add a #define NEWLANGUAGE n to the file
4. Add the language to the list in 'Usage'
5. Add the flag -newlanguage to 'ProcessArgs'
6. Add case to 'Time2Word' for 'NEWLANGUAGE'
7. Use 'make testtalk' to test your code.
	% make testtalk
	% testtalk -newlanguage hour min
   will allow you to test individual times
	% testtalk -newlanguage
   will print all possible times to stdout. Redirect to a file or pipe
   to more to verify everything looks ok. Don't forget to test with
   the -before and -approximate flags!
8. Send me 'Time2WordNewlanguage' and 'Number2WordNewlanguage' and I will
   integrate your changes into the latest version and send out an update.
   Please also indicate your fluency: native,lived there,other
	My email address is art@cayman.com (617/494-1999)

   *PLEASE DON'T SEND DIFFS!* I am not archiving old versions so what you
	diff against and what I have may not be the same.

If anyone knows how to easily add languages that use different character
sets, please let me know (or better yet, add one and send me the code).