Menuda madrugada me pegué ayer, y al cabo ahora mismo acabo de terminar (bueno, más o menos) el soporte para que SMC pueda localizarse en condiciones. Y sí, otra vez he tenido que copiar de WordPress, en buena medida.

Resulta que yo venía usando hasta hoy la herramienta de que se vale WordPress para su localización, o sea, la estupenda PHP Gettext, pero, digamos que hay dos formas de usar dicha herramienta (por lo menos) y yo venía haciéndolo de una manera que, si bien funcionaba, no iba a servir para localizar SMC.

¿Por qué? Pues porque nomás era posible contar con un archivo ".mo", que contuviera las cadenas traducidas para un determinado lenguaje, para todo el conjunto de SMC. Pero SMC soporta "temas"... y en un futuro tal vez hasta "plugins"...

Y ahí estaba el problema. O el comienzo de los problemas, mejor dicho. WordPress hace también aquí las cosas bastante bien, y permite que cada tema y cada plugin aporte su propio archivo de localización, de modo que pudiera usarse este, además del archivo de localización "principal", por decirlo así.

Al cabo he conseguido, como digo, copiando de como lo hace WordPress, que SMC cuente con uno o más archivos de localización (siempre habrá uno sólo en uso, el del lenguaje establecido), y también tenga en cuenta que un tema pueda aportar su propio archivo de localización.

La diferencia ahora con WordPress estriba en que en SMC es posible cambiar el lenguaje en tiempo de ejecución, es decir, no se basa sólo en cierta constante que ha de definirse, sino que el lenguaje en uso se guarda en una cookie, de donde puede recuperarse cuando se establece un determinado archivo de localización.

Pero hasta con esto estoy mosca... ¿por qué? Pues porque es algo demasiado sencillo de implementar... y en WordPress no lo han hecho... y no me explico cómo es posible, puesto que a mí me parece "una buena cosa" que se pueda cambiar el lenguaje del sitio web en tiempo de ejecución.

Sin embargo, acaso esté obviando algo... precisamente, el motivo por el cual en WordPress no se opta por este mecanismo, y el lenguaje se define mediante cierta constante de configuración, y, hasta donde yo llego, no es posible cambiarlo en tiempo de ejecución.

No sé. El caso es que después de bastantes problemas he conseguido más o menos lo que quería, y, lo único que siento es que SMC al cabo va a convertirse en una mala copia de WordPress... veremos a ver en qué acaba todo esto. De momento me divierto con ello, y voy avanzando, así que lo que dure, dure...