En todas partes en SO cuando se trata de hacer una aplicación multilingüe en PHP, todos dicen que gettext es la mejor manera de hacerlo. Solo quiero saber por qué?¿Qué tiene de bueno gettext para los archivos de idioma?
Al igual que lo que hace que este método a continuación, menos eficiente que el uso de gettext?
<?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
?>
Por lo que respecta al rendimiento, ¿cree que utilizar una función con una matriz o constantes para los archivos de idioma sería tan rápido o tan bueno en el rendimiento como usar gettext? Mi aplicación es bastante grande pero siempre será un proyecto privado donde soy el único que necesita editarlo, para mí sería más fácil no tener que configurar gfettext y asegurarme de que el servidor lo tiene instalado y en ejecución. Pero si hay CUALQUIER ganancia en el rendimiento al usar gettext, entonces probablemente pondría más esfuerzo en seguir esa ruta. – JasonDavis
Realmente no sé sobre interpretaciones (esto: http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/ ¿podría ser útil?) - - pero su implementación tiene muchos otros problemas que lo que dije en mi respuesta; por ejemplo: no hay plural, toda una gran matriz para analizar y mantener en la memoria –
GRACIAS ese enlace es exactamente lo que he estado buscando, es algo viejo pero sigue siendo lo que quiero, un benchtest sin que yo tenga que hacerlo (solo porque no sé cómo configurar gettext aún) – JasonDavis