Estoy intentando traducir algunas partes de la web al valenciano, en concreto referentes al plugin "Charitable Pro" y en "Contact Form" la parte de "Adjuntar archivo".
Estoy usando Loco Translate como hice para la parte de Español pero no me está respondiendo. No sé si tendrá que ver con que haya cambiado el código de idioma del catalán en el Polylang.
Adjunto imágenes.
Contenido solo visible a usuarios registrados
Hola Betty,
Disculpa si no comprendo bien la consulta, lo que entiendo es que quieres modificar el idioma de catalan para el plugin de modo que cuando se seleccione el idioma de polylang a catalan muestre el texto correcto, en este caso loco translate te ayuda a traducir las cadenas de texto cuando tienes un idioma en concreto, es decir, todo tu sitio es español, y quieres que el formulario se muestre en español.
En el caso donde el sitio es multidioma lo cual veo tienes ahora esto no funciona, ten en cuenta que polylang te permite añadir idiomas a diferentes contenidos y cuando son cadenas de texto puedes añadir la traduccion desde las opciones del idioma → traducciones, sin embargo no veo que poylang no veo tenga una integración directa con este plugin, si veo que utilzan otro como translatepress → https://www.wpcharitable.com/multilingual-fundraising-campaigns-translatepress/
En este sentido ya que tienes la version puedes consultar con el soporte del plugin quien te puede indicar de forma precisa como solucionarlo → https://www.wpcharitable.com/pre-sales-support/
Un Saludo
Hola Betty.
Por favor dime la URL donde tienes en formulario y veremos si podemos hacer algo.
Un saludo
Hola Betty.
El problema está en que el texto no viene de un plugin o tema concreto, sinó que és generado directamente por el navegador. Por eso Loco Translate no lo puede modificar, porque no forma parte ningún archivo .po/.mo de WordPress.
Dicho esto, vamos a ver si tenemos suerte y podemos solucionarlo.
.- Accede a Fragmento de código -> Añadir nuevo.
.- Selecciona Fragmento de código JavaScript
.- Añade un título y este código:
document.addEventListener('DOMContentLoaded', function() {
const htmlLang = document.documentElement.lang || 'es';
const isValencia = htmlLang.startsWith('ca') || htmlLang === 'val';
let buttonTextDefault = 'Selecciona archivo'; // castellà
let buttonTextSelected = 'Archivo seleccionado';
let noFileText = 'Ningún archivo seleccionado';
if (isValencia) {
buttonTextDefault = 'Tria un fitxer';
buttonTextSelected = 'Fitxer seleccionat';
noFileText = 'Cap fitxer seleccionat';
}
document.querySelectorAll('.wpcf7-form input[type="file"]').forEach(function(input) {
input.style.opacity = '0';
input.style.position = 'absolute';
input.style.width = '100%';
input.style.height = '100%';
input.style.cursor = 'pointer';
var parent = input.parentElement;
if (!parent.querySelector('.custom-file-button')) {
var button = document.createElement('span');
button.className = 'custom-file-button';
button.textContent = buttonTextDefault;
var fileText = document.createElement('span');
fileText.className = 'custom-file-text';
fileText.textContent = noFileText;
var wrapper = document.createElement('div');
wrapper.className = 'custom-file-wrapper';
wrapper.style.position = 'relative';
wrapper.style.display = 'inline-block';
wrapper.appendChild(button);
wrapper.appendChild(fileText);
parent.insertBefore(wrapper, input);
wrapper.appendChild(input);
input.addEventListener('change', function() {
if (this.files.length > 0) {
button.textContent = buttonTextSelected;
fileText.textContent = this.files[0].name;
} else {
button.textContent = buttonTextDefault;
fileText.textContent = noFileText;
}
});
}
});
});
.- Activalo y lo guardas.
El segundo paso es añadir un poco de CSS:
.- Accede Apariencia -> personalizar -> Css Adicional y añade lo siguiente:
.custom-file-wrapper {
display: inline-block;
position: relative;
width: 100%;
max-width: 400px;
}
.custom-file-button {
display: inline-block;
padding: 10px 20px;
background:#AD1EAA;
color: white;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
user-select: none;
}
.custom-file-text {
margin-left: 15px;
color: #555;
font-style: italic;
}
.custom-file-wrapper input[type="file"] {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Borra la caché de todos los idiomas y lo revisas.
Un Saludo
Hola Betty,
Enhorabuena ha funcionado como necesitas, es un placer para nosotros siempre poder ayudarte.
No dudes en escribirnos si tienes cualquier otra consulta.
Un Saludo 😊