Mira si te es muy complicado usar getText y sus alias, puedes optar por hacer un sistema propio de traduccion usando enteros y una base de datos, donde tengas una tabla de idiomas:
idString - Entero PK Autonumerico
idLang - Entero FK
LangCode - Entero
LangString - Texto
Entonces por decir por alguna parte defines que idioma vas a usar (ejemplo Ingles = 1, entonces a la hora de imprimir un string envias un query, buscas por numero el string y lo imprimes, algo asi:
Código PHP:
function gettransText( $code, $lang ) {
$conn = mysql_connect();
mysql_select_db( $tuDb, $conn );
$query = "SELECT `LangString` FROM `textos` WHERE `idLang`=$lang AND `LangCode`=$code LIMIT 1";
$result = mysql_query( $query ) or die( mysql_error() );
$row = mysql_fetch_array( $result );
return $row[0];
}
Y asi imprimes todos tus textos, la ventaja de usar gettext es que automaticamente, hace cacheo y es muy rapido, al contrario de una version en una base de datos donde es mas lento el acceso por cada string.
Para contestar tu ultima pregunta, solo es cuestion de que tengas definido una variable de sesion, y cada que picas una banderita le envias el codigo y cambias tu variable de sesion que te define el idioma.
Salu2.