Saltar navegación

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 5:00 – 13:00 5:00 – 13:00 5:00 – 13:00 5:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Zona horaria del soporte: America/Argentina/Buenos_Aires (GMT-03:00)

Este tema contiene 1 respuesta, tiene 0 voces.

Última actualización por Otto hace 1 mes.

Asistido por: Otto.

Autor Publicaciones
mayo 14, 2025 a las 7:53 pm #17034278

eduardoM-5

Background of the issue:
Estoy intentando usar el plugin 'string translation' de WPML en mi sitio web local de desarrollo con Windows 11 a través de XAMPP. He creado un script en functions.php que genera y graba contenido en un archivo sin problemas, lo que indica que no es un error de Apache o de WordPress.

Symptoms:
Después de instalar el plugin 'string translation', WordPress muestra el error: 'Traducción de cadenas de WPML está intentado escribir los archivos .mo con traducciones en la carpeta: C:/Users/EduardoMateo/OneDrive - Exartia Auditores Informáticos, S.L/Work/SitiosWebApache/dev.compliance.exartia.net/wp-content/languages. Al parecer, esta carpeta no se puede escribir. La misma está impidiendo que la traducción de las cadenas aparezcan en el sitio web.' He comprobado los permisos de la carpeta y son correctos.

Questions:
¿Por qué WPML no puede escribir en la carpeta wp-content/languages a pesar de que los permisos son correctos?
¿Cómo puedo solucionar el problema para que las traducciones de cadenas aparezcan en el sitio web?

mayo 14, 2025 a las 8:21 pm #17034360

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

WPML String Translation muestra en tu instalación local (Windows 11 + XAMPP) el aviso de que no puede escribir archivos .mo en wp-content/languages, aunque el directorio parece tener permisos correctos. La ruta se encuentra dentro de una carpeta de OneDrive con espacios y caracteres especiales, lo que probablemente impide que el servicio Apache escriba y por ello las traducciones no se cargan en el sitio.

Te sugiero que pruebes lo siguiente:
❌ Por favor, antes que nada: haz un backup de tu sitio ❌

1.
La solución más sencilla, que me ha funcionado en numerosas ocasiones es eliminar la carpeta wp-content/languages y volver a crearla.

2.
Trasladar el sitio fuera de la carpeta OneDrive y regenerar archivos .mo
• Copia la instalación local a un directorio sin espacios ni caracteres especiales y que no esté sincronizado con OneDrive (p.ej. C:\DevSites\miweb)
• Actualiza wp-config.php si usas rutas absolutas o define define( 'WPMU_LANG_DIR', dirname( __FILE__ ) . '/wp-content/languages' ); con la nueva ruta
• Asegúrate de que el servicio Apache de XAMPP tiene permisos de lectura y escritura sobre la nueva carpeta (icacls ruta /grant ApacheUser:(OI)(CI)F)
• Ve a WPML → Soporte → Solución de problemas y pulsa Mostrar el cuadro de pre-generación de archivos MO → Generar archivos MO
• Borra caché de WPML y prueba las cadenas en el front-end

3.
Conceder permisos explícitos en Windows 11
• Ejecuta XAMPP como Administrador
• Click derecho en wp-content\languages, Propiedades → Seguridad → Editar
• Agrega el usuario que ejecuta Apache/PHP (normalmente NT SERVICE\Apache2.4 o SYSTEM) con control total
• Desmarca la casilla “Solo lectura” que añade OneDrive automáticamente y aplica a subcarpetas
• Reinicia Apache y, si el aviso persiste, utiliza el botón Generar archivos MO del apartado de troubleshooting

4.
Como último recurso para el sitio en desarrollo puedes desactivar escritura de .mo y usar la base de datos. Esto tiene una performance peor que la reescritura de las traducciones en archivos .mo, pero puede ayudarte para desbloquear el problema en desarrollo, no te lo recomiendo en producción (donde seguramente no tendrás este problema):
• En wp-config.php añade: define( 'WPML_ST_DISABLE_MO_WRITING', true );
• Esto obliga a WPML a servir las traducciones directamente desde la base de datos, evitando el requisito de escritura en disco
• Limpia la caché de WPML (WPML → Soporte → Limpieza y optimización de tablas de cadenas)
• Comprueba el front-end; si las cadenas aparecen, puedes dejar esta configuración para entornos locales y reactivarla en producción

Saludos cordiales,
Otto

El tema “[Cerrado] Error al intentar escribir en la carpeta «wp-content/languages»” está cerrado a nuevas respuestas.