fbpx

Traducir MemberMouse - Avanzado

MemberMouse incluye soporte para localización, y por defecto carga una traducción al inglés de EE.UU. para su uso con el plugin. Es posible traducir la mayor parte del texto en el backend de MemberMouse al idioma de su elección utilizando la función de localización incorporada en WordPress. Esto es además de ser capaz de crear contenido de cara a los miembros en el idioma de su elección, con algunas excepciones. Éstas se detallan en la segunda parte de este artículo.

La forma más sencilla de añadir compatibilidad con idiomas adicionales es utilizar un plugin de localización y la función Traducir MemberMouse - Básico explica los pasos a seguir.

Pero si hay una personalización más específica que le gustaría lograr, también se puede añadir soporte mediante programación utilizando una pequeña cantidad de código. Aunque este código se puede colocar en muchos lugares diferentes, probablemente lo mejor sea crear un pequeño plugin dedicado a la traducción, que es lo que se demostrará en este artículo y se explicará con más detalle a continuación.

Traducir MemberMouse Backend - Avanzado

Para traducir el backend del inglés al idioma de su elección, necesitará crear un archivo de traducción o archivo de "Localización". El archivo que contiene esta traducción se anexa por .po / .mo, donde .po es el archivo editable y el .mo es la versión compilada.

Al definir una configuración adecuada, WordPress utilizará este archivo para hacer el trabajo basado en el idioma seleccionado. La localización mediante archivos .po / .mo es una forma básica de traducir la frase "x" a la frase "y" en el nuevo idioma respectivo.

Si se hace correctamente, podría tener algo como lo siguiente:

Inglés/Español Ejemplo:

"¿Cómo estás?" = "¿Cómo estás?"

Cómo funciona: Construcción de un fichero .po

El archivo .po es en realidad un simple archivo que realiza la traducción como se ha mencionado anteriormente. El archivo de idioma se nombra típicamente de la siguiente manera:

[text-domain]-[language-prefix]_[País].

text-domain: mm (Nuestro plugin tiene un dominio de texto de "mm" por defecto).

prefijo lingüístico: Lista de códigos lingüísticos

País: Lista de códigos de país

Ej. Si desea traducir al alemán y se encuentra en Alemania, el nombre del archivo sería: mm-de_DE

Un archivo básico típico puede tener el siguiente aspecto:

Archivo: mm-es_ES.po

msgid ""

msgstr ""

"Proyecto-Id-Versión: Spanish Version 1.0\n"

"POT-Creation-Date: \n"

"PO-Revision-Date: \n"

"Last-Translator: \n"

"Language-Team: MemberMouse \n"

"MIME-Version: 1.0\n"

"Content-Type: text/plain; charset=iso-8859-1\n"

"Content-Transfer-Encoding: 8bit\n" "Language: es_ES\n"

"X-Generator: Poedit 1.8.8\n"

"Plural-Formas: nplurals=2; plural=(n != 1);\n"

"X-Poedit-SourceCharset: UTF-8\n"

msgid "¿Cómo estás?"

msgstr "Como Estas?"

Como puede ver, el msgid es el texto a traducir y el msgstr es la frase traducida resultante.

Por encima de la traducción, sólo hay algunos metadatos que ayudan a definir el idioma y la versión.

Información adicional: Aquí encontrará información sobre las formas plurales: Formas plurales de Poedit

Configuración avanzada de la traducción

NOTA: A continuación se detallan pasos avanzados que requerirán tiempo, esfuerzo y planificación:

  1. Descargar MemberMouse - El primer paso es obtener el última versión de MemberMouse. Esto le pedirá que guarde un archivo zip llamado membermouse.zip. Coloque este archivo en una ubicación conocida a la que tenga acceso de lectura y escritura.

  2. Crear una carpeta para el nuevo plugin - El siguiente paso es crear una carpeta/directorio en el sistema de archivos local para guardar los archivos que crearemos para nuestro nuevo plugin. La carpeta puede tener cualquier nombre. Para este ejemplo usaremos el nombre membermouse-translation.

  3. Descomprimir el plugin MemberMouse - Una vez creada la carpeta "membermouse-translation", localice el complemento MemberMouse descargado en el paso 1 y descomprímalo en una ubicación conocida. El proceso de descompresión creará una carpeta llamada "membermouse"..

  4. Copie los archivos de idioma en la carpeta del nuevo plugin - Dentro de la carpeta "membermouse" que se creó anteriormente, habrá otra carpeta llamada "languages". Esta carpeta debe copiarse en la carpeta "membermouse-translation".

  5. Descargar la aplicación Poedit - Poedit es una aplicación gratuita utilizada para editar archivos de traducción para aplicaciones que utilizan gettext (como WordPress). La última versión puede descargarse desde aquí: POEdit Descargar  

  6. Crear una nueva traducción - Abra la aplicación Poedit, elija "Crear nueva traducción" en la pantalla principal y seleccione el archivo membermouse.po de la carpeta membermouse-translation/languages.



  7. Seleccione el idioma al que desea traducir - En el siguiente cuadro de diálogo que aparece, seleccione el idioma para el que desea crear una traducción (Nota: si sólo desea personalizar algunas de las etiquetas en inglés, seleccione English(US) en el menú desplegable).



  8. Traducir campos de texto deseados - Al seleccionar el idioma deseado, se abrirá una ventana con todo el texto disponible para traducir en una zona desplegable. Seleccione los elementos que desee traducir y, en el cuadro de texto "Traducción", escriba el texto traducido.



     
  9. Guardar la nueva traducción - Cuando esté satisfecho con su traducción, vaya al menú Archivo, elija "Guardar como" y guarde el nuevo .po para su idioma en la carpeta de idiomas.

    El formato de este archivo es muy importante, debe ser "membermouse-.po".

    Afortunadamente, Poedit rellenará previamente el campo de nombre de archivo con la configuración regional correcta para el idioma seleccionado, por lo que sólo tiene que añadir "membermouse-" delante. Por ejemplo, para inglés(US), Poedit rellenará previamente el campo de nombre de archivo con "en_US.po", así que añadiendo "membermouse-" se obtiene el nombre de archivo "membermouse-en_US.po".

    Una vez introducido correctamente el nombre del archivo, guarde el nuevo archivo .po en la carpeta membermouse-translation/languages. Si el idioma es English(US), le preguntará si desea sobrescribir el archivo .po existente, responda afirmativamente.

    Brian Kurtz


    Una vez guardado el archivo .po, vaya al menú Archivo y seleccione "Compilar a .mo". Cree un archivo .mo en membermouse-translation/languages con el mismo nombre que el archivo .po, con la extensión cambiada a .mo.

    Por ejemplo, si utiliza English(US), cree un archivo .mo llamado "membermouse-en_US.mo".




      

  10. Crear el archivo principal del plugin - Cree un archivo en la carpeta membermouse-translation llamado membermouse-translation.php.

    El código que se colocará en este archivo es en su mayor parte código repetitivo del plugin de WordPress, con un bloque especial añadido para sustituir la traducción creada en el paso anterior cuando MemberMouse intente cargar sus archivos de traducción.

    Añade el siguiente código al archivo:

    <?php
    /*
    Plugin Name: MemberMouse Translation
    Plugin URI: http://www.membermouse.com/
    Description: A translation for MemberMouse
    Version: 1.0
    */
    function membermouse_translation_override_load_textdomain($mofile, $domain)
    {
    if ('membermouse' === $domain) {
    return plugin_dir_path(__FILE__).'languages/membermouse-
    en_US.mo'; }
    return $mofile;
    }
    add_filter( 'load_textdomain_mofile','membermouse_translation_override_load
    _textdomain', 10, 2 );



  11.  Modificar el código según sea necesario - Si el archivo .mo de la nueva traducción es diferente al del archivo membermouse-translation.php, modifique la línea que dice


    return plugin_dir_path(__FILE__).'languages/membermouse-es_US.mo';


    y cambie "membermouse-en_US.mo" para que coincida con el archivo .mo creado en el paso 7.

  12. Comprima e instale el nuevo plugin - Cree un archivo zip comprimido llamado "membermouse-translation.zip" que contenga la carpeta "membermouse-translation" y su contenido.

    Este zip es ahora un plugin de WordPress totalmente funcional que puede instalarse para anular la traducción predeterminada.

    Sólo tiene que instalar este plugin actualizado siguiendo los mismos pasos que se indican en el artículo Instalación de MemberMouse
Traducir el contenido destinado a los afiliados

La mayoría de las cosas con las que sus clientes interactuarán a través de su sitio web y portal de miembros se pueden traducir, ya que la mayor parte del contenido de cara al cliente que MemberMouse crea es simplemente texto HTML que se puede modificar a través del editor de WordPress.

En versiones antiguas de MemberMouse anteriores a la 3.0.6, hay algunos casos en los que los elementos no se pueden traducir o requieren más codificación que cambiar el HTML para traducirlos. Siempre que ha sido posible, hemos sugerido otros métodos para traducir estos elementos.

Versión 2.0 a 3.0.5 - Elementos traducibles con codificación adicional:

1. Mensajes de error generados por MemberMouse o mensajes de error recibidos de terceros, como el proveedor de servicios de pago.

Si tienes conocimientos técnicos, puedes personalizar este mensaje para que aparezca en otro idioma. La dirección Personalizar los mensajes de error en la página de pago proporciona información adicional sobre cómo hacerlo. Observará en este artículo que puede traducir los mensajes de error de terceros sólo si conoce el mensaje de error específico recibido del tercero que desea traducir.

2. Descripción del precio del producto. Una opción sería utilizar el SmartTag Order_Decision para definir descripciones alternativas para productos específicos.  

Para cada producto para el que desee incluir una traducción, puede añadir una línea directamente debajo de la SmartTag™ (o sustituir la SmartTag™ toda junta si incluye una para cada producto) utilizando la SmartTag™ para filtrar la descripción por ID:

[MM_Order_Decision productId='#']
Su descripción traducida del precio del producto aquí
[/MM_Order_Decision] 

Otra solución sería crear páginas de pago personalizadas específicas para cada producto y sustituir la etiqueta inteligente MM_Form_Data name='productPriceDescription' por un texto en su idioma que describa el precio de ese producto. En Crear una página de pago personalizada proporciona información adicional sobre cómo hacerlo.

3. El mensaje de procesamiento de pagos en la página de pago que aparece después de que un cliente haya enviado su pedido. Puede personalizar este mensaje para que aparezca en otro idioma siguiendo la información proporcionada en Personalizar el mensaje de procesamiento de la página de pago

Dado que los mensajes procedentes de proveedores externos, como proveedores de servicios de pago, se reciben y MemberMouse los muestra directamente en la pantalla, si no conoce el mensaje de error específico del proveedor externo, no podrá traducirlo.

¿Le ha resultado útil este artículo?

Artículos relacionados