¿La forma más eficiente de hacer archivo de idioma en PHP?

Preguntas actualizadas en lugar de hacer una nueva pregunta ...

Realmente quiero proporcionar algunos idiomas alternativos además del inglés en mi red social que estoy construyendo, esta será la primera vez que hago cualquier tipo de traducción de idiomas, así que tenga paciencia.
Estoy investigando, así que estoy al oído y abierto a las ideas, y tengo muchas preguntas. Estas son las preguntas.

1)
¿Qué significa i18n? Lo veo a menudo cuando busco la traducción de idiomas en SO?

2)
La mayoría de la gente dice usargettext PHP tiene una extensión o soporte para ello,
Bueno, lo he estado investigando y tengo una comprensión básica de ello, por lo que puedo decir, es mucho trabajo adicional para recorrer esta ruta,
Me refiero a codificar mi sitio para usar sus funciones, es decir;_ ('hola mundo estoy en inglés por ahora') si nogettext ('hola mundo estoy en inglés por ahora') no hay problema ya que cualquier ruta que vaya requerirá eso.
Pero luego tienes que instalar gettext en tu servidor y hacerlo funcionar,
luego use algunos editores especiales para crear archivos especiales y compilarlos, creo.

Suena como un dolor, entiendo que se supone que esta es la mejor ruta a seguir, bueno, todo el mundo parece decir que lo es.
Entonces, ¿alguien puede decirme por qué esta es la ruta a seguir?

3)
Realmente me gusta la simplicidad de este enfoque, solo construyendo una matriz de idiomas y escribiendo la frase que necesita en una función como la del ejemplo a continuación, simplemente incluiría un archivo con la matriz de idiomas adecuada.

Lo que realmente quiero saber es si este sería el método de mejor rendimiento en un sitio con mucho tráfico y bastante grande en comparación con el uso de gettext. Si es así, ¿puede explicar por qué?

<?PHP
//Have seperate language files for each language I add, this would be english file
function lang($phrase){
    static $lang = array(
        'NO_PHOTO' => 'No photo\'s available',
        'NEW_MEMBER' => 'This user is new'
    );
    return $lang[$phrase];
}
//Then in application where there is text from the site and not from users I would do something like this
echo lang('NO_PHOTO');  // No photo's available would show here
?>

* Algún código utilizado de la respuesta de brianreavis a continuación.

Respuestas a la pregunta(8)

Su respuesta a la pregunta