Dost prapodivna debata. Sam jsem tedka podobny problem resil. Oznacovat texty ciselnym ID je mozne na malem webu jinak se v tom casem stratite. Vetsina aplikaci pouziva alespon kretke retezce.
Ja jsem ale radsi sahnul k predkompilovanym jazykovym mutacim. Mam pro kazdy jazyk samostatny soubor prekladu, v trochu hard kor podobe (jako $pole['text skriptu']='text prekladu') tento text staci jen natahnout, spustit pres eval() a mate nadherne naplnene pole. Pak jen spustite skriptik pro preklad stranek (s trochou otimalizace, bude prekladat jen co bylo skutecne zmeneno) a mate dve, tri a vice jazykovych mutaci.
V pripade webgamesy, kde je nekolik klikset kliknuti do minuty vam bude procesor a db server vdecny za to ze ho zbytecne nezatezujete.