Preguntas actualizado en lugar de hacer una nueva pregunta ...¿La forma más eficiente de hacer un archivo de idioma en PHP?
Realmente quiero dar algunos lenguajes alternativos aparte de inglés en mi sitio de red social que estoy construyendo, esta será mi primera vez haciendo cualquier tipo de traducción de idiomas así que por favor tengan paciencia conmigo.
Estoy investigando, así que estoy abierto y abierto a las ideas y ya tengo mucho aquí son las preguntas.
1)
¿Qué significa i18n, lo veo a menudo cuando la investigación de traducción de idiomas en el SO?
2)
La mayoría dice que el uso gettext PHP tiene una extensión o apoyo a la misma,
así he estado investigando y tengo una comprensión básica de la misma, por lo que yo puedo decir que es una gran cantidad de trabajo extra para seguir esta ruta,
Me refiero a la codificación de mi sitio para usar sus funciones; _ ('hola mundo estoy en inglés por ahora') o bien gettext ('hello world estoy en inglés por ahora') no es un problema ya que cualquier ruta que vaya requerirá eso.
Pero luego tienes que instalar gettext en tu servidor y ponerlo en funcionamiento,
y luego usar algunos editores especiales para crear archivos especiales y compilarlos, ¿no?
Suena como un dolor, comprendo que esta se supone que es la mejor ruta, bueno, todos parecen decir que sí.
Entonces, ¿alguien puede decirme por qué este es el camino a seguir?
3)
me gusta mucho la simplicidad de este enfoque, sólo la construcción de una matriz de la lengua y llamando a la frase que usted necesita en una función similar al ejemplo siguiente , A continuación, basta con incluir un archivo con el lenguaje apropiado formación.
Lo que realmente quiero saber es si este sería el método de rendimiento menos eficaz en un sitio de mucho tráfico y bastante grande en comparación con el uso de gettext, y 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 continuación
Sabe que no tiene que usar _ en una matriz, pero sí, probablemente debería usar las extensiones de php en lugar de hacer las suyas propias. – SeanJA