Porque en lugar de utilizar "
defines" mejor no utilizas 2 archivos igual a como lo estas haciendo.. pero utilizando arreglos.. por ej:
lang_es.php
Código PHP:
<?php
$idioma['lang']['titulo'] = "Pagina Titulo";
$idioma['lang']['encabezado'] = "Encabezado 1";
$idioma['lang']['etiqueta'] = "Etiqueta 1";
?>
lang_ga.php
Código PHP:
<?php
$idioma['lang']['titulo'] = "Paxina Titulo";
$idioma['lang']['encabezado'] = "Encabezado 1";
$idioma['lang']['etiqueta'] = "Etiqueta 1";
?>
y la forma de uso es similar a llamar una variable..
Código HTML:
<h2><?php echo $idioma['lang']['encabezado'] ?></h2>
<form name="" method="" action="">
<label for="txtalgo"><?php echo $idioma['lang']['etiqueta'] ?></label>
<input type="text" name="txtalgo" value="" />
</form>
Y por omision siempre haces "
include" uno de los archivos de lenguaje como default.. pero el usuario al cambiar mediante un combo o enlace al otro idioma refrescar la pagina y quizas con algun conficional cargar el lenguaje que se selecciono..
en mi humilde opinion.. muchos sitios hacen eso.. es mas facil..