Guía para traducir un string con PHP — Esteve Castells

No hay mal que por bien no venga y gracias al hackeo de mi antiguo site, he tenido que actualizar el theme y en general el diseño, por consiguiente, he cogido ganas para darle caña al blog que lo tengo muy olvidado.

Permitidme también felicitaros el año, antes que nada. ¡Que todos vuestros objetivos se cumplan!

Pero vamos a lo que toca: ayer creando esta web me puse a traducir los strings con Loco Translate, un plugin que va muy bien para dicha tarea, pero sirve solo para los que vienen bien indicados en el theme en los ficheros POT, PO y MO.

Por desgracia algunos (muchos) temas de WordPress siempre tienen algún error y se dejan alguna parte que no se puede traducir con el plugin (o en su defecto, en los ficheros POT, PO y MO)

Hay varias opciones, pero la que más me gusta a mi es una que no es la mejor para la optimización a nivel de performance: avisados quedáis.

Traducir strings a lo cutre con PHP

Con PHP se pueden hacer maravillas, lástima que no tenga conocimientos más avanzados ya que tengo conocidos que han creado auténticas maravillas para automatizar todo tipo de cosas.

En este caso se trata de un pequeño snippet de código en el que introduciremos en la primera parte (dónde pone Read More) el texto que queremos traducir, y en la segunda parte, la traducción de dicho texto.

Ejemplo de string en la home de mi site que no puedo traducir con los ficheros de language

No tiene mucho más misterio, yo este texto lo pongo en el functions.php, pero podéis ponerlo en cualquier parte que se ejecute el código en cada página y os debería de funcionar.

//Traducir string que no deja add_filter('gettext', 'translate_reply'); add_filter('ngettext', 'translate_reply'); function translate_reply($translated) { $translated = str_ireplace('Read More', 'Leer más', $translated); return $translated;

}

Y hasta aquí el post de hoy. Corto pero breve, no recomiendo usar este método si no se necesita, y tampoco se puede usar dos veces (para traducir dos strings), porque petará vuestro site.

¡Un saludo y hasta pronto!

Originally published at estevecastells.com on January 9, 2017.

Written by

Global Growth, SEO & Tech

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store