A Tcl universal greeting - from a session on tkchat - [NEM] namespace eval universal { package require msgcat msgcat::mcset en "Good Morning!" msgcat::mcset de "Good Morning!" "Guten Morgen!" msgcat::mcset es_ES "Good Morning!" "\u00a1Buenas Man~anas!" msgcat::mcset fr_FR "Good Morning!" "Bonjour!" msgcat::mcset du_NL "Good Morning!" "Goedemorgen!" msgcat::mcset sv "Good Morning!" "God morgon!" msgcat::mcset en "Good Afternoon!" msgcat::mcset de "Good Afternoon!" "Guten Tag!" msgcat::mcset es_ES "Good Afternoon!" "\u00a1Buenas Tardes!" msgcat::mcset fr_FR "Good Afternoon!" "Bonne Apres-midi!" msgcat::mcset du_NL "Good Afternoon!" "Goedemiddag!" msgcat::mcset sv "Good Afternoon!" "God kv\u00e4ll!" proc greeting {} { set timeofday [expr {[clock format [clock seconds] -format %p]\ == "AM" ? "Morning" : "Afternoon"}] return [msgcat::mc "Good $timeofday!"] } } Add other languages. Also, I'm not sure if es_ES is the right code for Spanish. Rule of spanish greetings: * From sunrise till noon: Buenos Dias * From noon till sunset: Buenas tardes * From sundet till sunrise: Buenas noches '''US''' [AvL] (at least) in German business-life: * From about 11am till 3pm: "Mahlzeit" ;-) [RS] Similar in German: "Guten Morgen" until ~11:00; "Guten Tag" until ~17:00; "Guten Abend" after that. So one should maybe better switch on ranges of %H, instead of the binary %p... See [Time-dependent greetings] for refined versions. [Michael Schlenker] In some parts of northern germany, especially where i live, it's very easy. The universal greeting that can be used at all times is "Moin". ---- This seems terribly broken to me. For example, shouldn't the line msgcat::mcset de "Guten Morgen!" be msgcat::mcset de "Good Morning!" "Guten Morgen!" ? -- [CLN] - [RS] Right, was too much in a hurry, and more concerned with the ranges problem I wrote below. Thanks for the hint; fixed. [AvL] Why aren't the english originals stored in a local variable and reused ? I mean sthg like: set str "Good Morning!" msgcat::mcset en $str msgcat::mcset de $str "Guten Morgen!" msgcat::mcset ... $str "..." ---- Watch out for non-ASCII characters; the Wiki mangles them. :/ - ''[DKF]''