Internacionalización en PHP

Actualmente estoy investigando los mejores métodos para integrari18n en proyectos.

Hay varios métodos que he pensado para hacer esto, primero es un esquema de base de datos para almacenar las cadenas y la configuración regional relevante, pero el problema con esto es que no sería tan fácil seleccionar las cadenas, porque no me gustaría realizar preguntas como entonces:

SELECT text FROM locales WHERE locale = 'en_GB' AND text_id = 245543

O

SELECT text FROM locales WHERE locale = 'en_GB' AND text_primary = 'hello'

El siguiente método sería almacenarlos en archivos comolocales/en_gb/login/strings.php y luego intente acceder a ellos a través de una clase específicamente desarrollada así:

$Language = Registry::Construct('Language',array('en_GB'));
echo $Language->login->strings->hello;

El problema con esto es que tendría que construir un sistema que actualizara estos archivos a través de un panel de administración, lo que lleva mucho tiempo, no solo construir el sistema para administrar las cadenas sino también administrar las cadenas a medida que el sitio crece

¿Qué otros métodos existen que serán beneficiosos para un sistema grande?¿Hay alguna forma automatizada de hacer 'Traducción' como tal?¿Debo seguir con un método de base de datos y crear un sistema para que los usuarios traduzcan cadenas con calificación / sugieran una mejor versión?¿Qué sistemas has probado en el pasado? ¿Debería investigarlos o evitarlos por completo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta