Pues sí, yo llamo "plantillas de idioma" a los simples ficheros que llamo con un include.
Es muy simple, tengo un fichero por cada idioma y todos definen las mismas variables (con distinto contenido). Luego sólo necesito cargar la plantilla que corresponda utilizando la variable de idioma que use.
Ejemplo:
pagina.php: La página en sí misma
Código PHP:
<?
# $idioma contiene el idioma seleccionado.
include("idioma_$idioma.php");
echo <<<HMTL
<table>
<tr>
<td colspan="2" class="titulo">$t_titulo</td>
</tr>
<tr>
<td colspan="2" class="subtitulo"><img src="imagen.gif"></td>
</tr>
<tr>
<td colspan="2" class="subtitulo">$t_subtitulo</td>
</tr>
<tr>
<td class="texto">$t_texto1</td>
<td class="texto">$t_texto2</td>
</tr>
</table>
HTML;
?>
idioma_es.php: Plantilla en español
Código PHP:
<?
$t_titulo="Bienvenido a mi web";
$t_subtitulo="Mira lo que tenemos";
$t_texto1="Aquí hay un texto.";
$t_texto2="Aquí hay otro texto";
?>
Ahora faltaría crear las plantillas en los otros idiomas.