A Tcl universal greeting - from a session on tkchat - [NEM] namespace eval universal { package require msgcat msgcat::mcset en "Good Morning!" msgcat::mcset de "Guten Morgen!" msgcat::mcset es_ES "Good Morning!" "��¡Buenas Man~anas!" msgcat::mcset fr_FR "Good Morning!" "Bonjour!" msgcat::mcset du_NL "Good Morning!" "Goedemorgen!" msgcat::mcset en "Good Afternoon!" msgcat::mcset de "Guten Tag!" msgcat::mcset es_ES "Good Afternoon!" "��������������¡Buenas Tardes!" msgcat::mcset fr_FR "Good Afternoon!" "Bonne Apres-midi!" msgcat::mcset du_NL "Good Afternoon!" "Goedemiddag!" 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'''