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 ] \ [-approximate] [-noampm] [-half (dutch)] [-kanji (japanese)]\ [-latin1 (swedish/norwegian)] [hour(0-23) min(0-59)] where 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 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).