Cómo encontrar traducciones que faltan en su plugin o tema de WordPress

Si algunas partes de su plugin o tema aparecen sin traducir después de usar PTC, utilice esta guía para comprobar si la cadena forma parte de su proyecto y si WordPress está cargando el archivo correcto.

Compruebe si la cadena está disponible en PTC

Desde el panel de control de PTC, vaya a la pestaña Traducciones y busque la cadena original. Si no la ve, PTC no la ha recibido. Esto suele significar una de las siguientes cosas:

  • La cadena falta en su archivo POT

Si su archivo POT no incluye todas las cadenas traducibles, vuelva a crearlo utilizando WP-CLI. A continuación, siga los pasos de nuestra guía de internacionalización de temas y plugins de WordPress desde el principio.

  • El texto no está envuelto en una función GetText

Asegúrese de que todo el texto traducible esté envuelto en __() o _e() y utilice el dominio de texto correcto.

Ejemplo:

__('Hello, world!', 'your-plugin');

Para obtener más detalles, consulte el Paso 2 de nuestra guía de traducción de temas y plugins de WordPress.

  • Las cadenas de JavaScript no se marcaron como traducibles

Si su plugin incluye texto traducible en JavaScript:

  1. Vaya a PTC → Ajustes y haga clic en Archivos supervisados. Edite el archivo de recursos correspondiente y active “¿Es este un proyecto de WordPress con JavaScript localizable?”
Cómo indicar a PTC que su producto incluye texto traducible en Javascript

Esto indica a PTC que escanee los archivos JavaScript en busca de cadenas traducibles. Regenerará las traducciones y creará una nueva solicitud de combinación con los archivos actualizados.

  1. Asegúrese de que WordPress sepa dónde cargar los archivos de traducción .json creados por PTC.

Si los archivos .json se colocan dentro del directorio /languages/ de su plugin o tema, llame a wp_set_script_translations() con la ruta correcta.

Para plugins:

wp_set_script_translations( 'script-handle', 'text-domain', plugin_dir_path( __FILE__ ) . 'languages' );

Para temas:

wp_set_script_translations( 'script-handle', 'text-domain', get_template_directory() . '/languages' );

Esto indica explícitamente a WordPress que cargue los archivos .json desde la carpeta de su plugin o tema.

Confirme que WordPress está cargando sus archivos de traducción

Si su cadena traducida aparece en PTC pero no se muestra en su plugin o tema, es posible que WordPress no esté cargando el archivo .mo correcto.

  1. Verifique que su dominio de texto esté cargado

Si su proyecto utiliza varios dominios de texto o plugins integrados, asegúrese de que cada uno se cargue correctamente utilizando load_plugin_textdomain() o load_theme_textdomain().

Cada dominio de texto debe coincidir con el que se utiliza en los nombres de los archivos de traducción y en su exportación de PTC.

  1. Prevent Community Translations from Overriding Your MO Files

De forma predeterminada, WordPress da prioridad a los archivos de traducción almacenados en /wp-content/languages/.
Si su plugin o tema tiene traducciones proporcionadas por la comunidad en WordPress.org, esos archivos pueden sobrescribir los archivos .mo incluidos con su proyecto.

Para evitar que esto suceda, añada un pequeño fragmento que le indique a WordPress que utilice sus archivos de traducción.

Asegúrese de que la nomenclatura del archivo MO coincide con las expectativas de WordPress

WordPress espera diferentes convenciones de nomenclatura para los archivos .mo dependiendo de dónde los almacene.

  • Si sus archivos de traducción están dentro de la carpeta de su tema, utilice:

{locale}.mo
Ejemplo
: de_DE.mo (junto con de_DE.po)

  • Si colocó los archivos en el directorio global de idiomas de WordPress (wp-content/languages/themes/), utilice:

{text-domain}-{locale}.mo
Ejemplo
: my-theme-de_DE.mo (junto con my-theme-de_DE.po)

Ir arriba