Entiendo que lo que preguntas es lo que se llama Internacionalización:
http://www.w3.org/International/articles/language-tags/
Para la Localización:
http://www.iso.org/iso/country_codes...code_lists.htm
Pero no conozco nada ni nadie que implemente la internacionalización tal como la W3C dice... :S No conozco ejemplos sobre esto en PHP :S Una verdadera lástima.
Respecto a las templates... bueno existen muchos sistemas de templates, SMARTY por ejemplo, pero realmente prefiero uno artesanal... Lo que se suele hacer cuando se crea algo con MVC... con las vistas. Estas 4 páginas me parecen especialmente buenas para aprender:
http://blog.richard.com.ve/2007/mvc-en-php5-la-vista/
http://web2development.blogspot.com/
http://www.phpit.net/article/simple-mvc-php5/5/ (Ojo.. es la quinta página del artículo)
http://www.jourmoly.com.ar/introducc...segunda-parte/
En cuanto a las sesiones... Mejor que yo no te diga nada. ^^