Pregunta

Creé un paquete de idioma para un sitio antes, pero no estoy seguro de si lo que estoy haciendo es el mejor método.

Básicamente, todo lo que tengo es un archivo con variables que definen constantes de cadena. Por lo general, un conjunto de matrices donde una matriz generalmente se refiere a elementos particulares del sitio.

Luego, el código del sitio solo incluye el archivo apropiado basado en un indicador y luego muestra el elemento de matriz apropiado.

¿Cuáles son algunas formas de hacer esto para reducir los dolores de cabeza de mantenimiento y el rendimiento?

¿Fue útil?

Solución

Sugiero usar Zend_Translate . Es de alguna manera una combinación de las otras sugerencias que la gente dejó aquí, solo que más mantenibles y mejor diseñadas.

Puede cambiar los adaptadores dependiendo de su preferencia (admite gettext, csv y muchos otros), no necesita definiciones o globales que contaminen su alcance global y está bien documentado.

Otros consejos

La mejor opción que podría tener, con PHP, es GetText , pero no todos los servidores lo tienen incorporado, por lo que puede ser un show stopper si está administrando su servidor.

Algunas de las formas más comunes de hacer esto son:

1) Use define ('SOME_STRING', 'Some string'); : simplemente tenga un archivo diferente relleno con estas definiciones para cada idioma. Esto es muy fácil y no tiene que usar "global" por todo el lugar.

2) Ajustar cadenas en una función: translate ('My String') : esto es más flexible, ya que puede analizar su código para crear listas de cadenas para traducir y agregar características como variables , p.ej translate ('Puedo contar hasta [número]', 10); (por supuesto, normalmente elige un nombre de función más corto, como " _ ")

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top