Quiero agregar texto con javascript o jquery y traducirlo automáticamente.
Intenté por ejemplo:
let x = 'Cats'; $('#divToAppend').text(`{{ __('${x}') }}`)Cuando hago eso, el texto se agrega sin traducción.
{{ __('Cats') }}en el archivo blade, la traducción funciona.
¿Puede alguien ayudarme? Probé con {!! __('${x}') !!}, probé solo con javascript y sin jQUEry, pero nada cambia...
¡Gracias!
Blade es un motor de plantillas y las sentencias {{ ... }} son plantillas. Cuando se carga el sitio, esas plantillas se evaluarán en el lado del servidor para generar HTML simple que luego se envía al cliente. Cuando intenta agregar plantillas usando JavaScript en el lado del cliente, no funcionará porque el servidor no puede evaluarlas.
Si desea agregar una cadena traducida dentro de su JavaScript, debe almacenar todas las traducciones en el propio JavaScript y elegir la requerida o enviar una solicitud al servidor que le permite devolver la cadena traducida.
Puedes leer más sobre qué son las plantillas aquí .