Hola
En shop.estetizar.es
Me distéis un código para snipes hace unos días para cambiar textos en inglés de la página, va genial pero hay algunos textos que no funcionan bien, os muestro algunos a ver si hay algún error
Muchas gracias de antemano
Adjunto imagenes para que se vea los errores
Código completo
function change_multiple_texts( $translated ) {
$text = array(
'Log In' => 'Iniciar sesión',
'You have Registroed successfully, please login with the created credentials' => 'Se ha registrado correctamente, inicie sesión con las credenciales creadas',
'Already have an account?' => '¿Ya tienes una cuenta?',
'Username*' => 'Usuario*',
'Password*' => 'Contraseña*',
'Repeat Contraseña*' => 'Repita la contraseña*',
'Register' => 'Registro',
'Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our' => 'Sus datos personales se utilizarán para respaldar su experiencia en este sitio web, para administrar el acceso a su cuenta y para otros fines descritos en nuestra',
'privacy policy' => 'política de privacidad',
'User with that name already exists' => 'El nombre de usuario ya existe',
'Remember me' => 'Recuerdame',
'Account' => 'Cuenta',
'Profile' => 'Perfil',
'Edit Profile' => 'Editar Perfil',
'Log Out' => 'Cerrar sesión',
'GO SHOP' => 'EXPLORAR LOS PRODUCTOS',
'No vouchers available yet.' => 'Aún no hay vales disponibles.',
'Lost your password?' => '¿Perdiste tu contraseña?',
'Don’t have an account?' => '¿No tienes una cuenta?',
'Username already exists' => 'El usuario ya existe',
'You have Registroed successfully, please login with the created credentials' => 'Te has registrado correctamente, inicia sesión con las credenciales creadas',
'CREATE AN ACCOUNT' => 'CREAR CUENTA',
'NEW PASSWORD' => 'NUEVA CONTRASEÑA',
'VOUCHERS' => 'TARJETAS REGALO',
'Number' => 'Número',
'SELECT OPTIONS' => 'SELECCIONAR OPCIONES',
'Expires' => 'Caduca',
'Never' => 'Nunca',
"Field 'De:' is required." => "El campo 'De:' es obligatorio.",
"Field 'Para:' is required." => "El campo 'Para:' es obligatorio.",
'DOWNLOAD' => 'DESCARGAR',
'We have sent you an email' => 'Acabamos de enviarte un email',
"Whoops, we're still preparing your voucher! It will be ready shortly and will be sent in a separate email." => '¡Vaya, todavía estamos preparando tu bono! Estará listo en breve y se enviará en un correo electrónico aparte',
'Wrong username or password.' => 'Usuario o contraseña incorrectos',
);
$translated = str_ireplace( array_keys( $text ), $text, $translated );
return $translated;
}
add_filter( 'gettext', 'change_multiple_texts', 20 );
Códigos que me fallan
"Field 'De:' is required." => "El campo 'De:' es obligatorio.",
"Field 'Para:' is required." => "El campo 'Para:' es obligatorio.",
'CREATE AN ACCOUNT' => 'CREAR CUENTA',
'Don’t have an account?' => '¿No tienes una cuenta?',
Contenido solo visible a usuarios registrados
Hola, Marta
¿Solo te fallan los que tienen una comilla simple ' dentro de comillas dobles " en la sentencia a traducir?
Lo digo porque podría ser un fallo de ese script o snippet que no está "escapando" correctamente las comillas simples dentro de dobles o que simplemente no las admite.
Escapar caracteres: https://www.ibm.com/docs/es/iis/11.5?topic=manager-escaping-characters
Como usas Loco Translate ¿has probado a buscar esas cadenas concretas con el plugin de traducciones y modificarlas?
Quedo pendiente de tus indicaciones para seguir ayudándote. 😊
Hola
Si solo me pasa con esas, creo también que es algo de la comilla simple
He buscado en Loco translate y no encuentro esos textos
Muchas gracias
Hola, Marta
Deberías probar esas cadenas, en el script o snippet, pero escapándolas.
Por ejemplo:
"Field \'De:\' is required." => "El campo \'De:\' es obligatorio.",
Prueba primero con una sola y verifica si se aplica el cambio. No olvides limpiar la caché para comprobar que el cambio se aplica.
Quedo pendiente de tus indicaciones para seguir ayudándote. 😊
Hola
Nada me sigue diciendo lo mismo, lo siento
Mil gracias!
Hola Marta,
Verifica con esto:
'Don’t have an' => 'No tienes una',
'Create an' => 'Crear una',
Con respecto a la parte del producto como lo ha creado? necesitamos que nos comentes para ver si es posible por medio del propio loco translate.
Un saludo 🖐️
Hola, Marta
Prueba con esto:
'Field ’De:’ is required.'' => 'El campo ’De:’ es obligatorio.',
Quedo pendiente de tus indicaciones para seguir ayudándote. 😊
Hola
Nada sigue igual
Gracias!
Hola, Marta
¿Y si lo pones sin comilla simple?
'Field De: is required.' => 'El campo De: es obligatorio.',
Todo el problema está en las comillas y por eso se trata de buscar la forma de escaparlas en esas cadenas para que no rompan la cadena y deje de traducirse.
Otra opción sería descomponiendo la cadena hasta cada comilla simple.
Saludos 🙂
Hola
Nada sigue igual, pero en el otro ejemplo si que me fue bien
'Don’t have an' => 'No tienes una',
'Create an' => 'Crear una',
Hola Marta,
Esto es por lo que te comente, puedes indicarnos que plugin estás utilizando para agregar esta función de para y de en los productos. Creo que no alcanzaste a verlo cuando te lo solicite en mi mensaje donde te indique los códigos que te funcionaron.
Puedes verificar también con plugins como:
https://wordpress.org/plugins/real-time-find-and-replace/
Con el puedes verificar a nivel de base de datos hacer el cambio pero tienes que ser exacta en muchos casos con lo que escribes, trata de cambiar el texto tal cual se muestra.
Un saludo 🖐️
Hola
Utilizo code snippes
Voy a instalar ese plugin a ver
Muchas gracias
Que tal Marta,
Dejamos la consulta abierta y quedamos atentos a tus comentarios
Saludos!
Hola
con este plugin genial me lo ha cambiado
Mil gracias!