Necesito ayuda con la interpolación en i18n.
Estoy haciendo todo como está escrito en la documentación, pero sigo recibiendo un error.
i18next::interpolator: falló al pasar la variable what para interpolar {{what}} algún tipo de mierda.
Mi código:
<body> <span data-i18n="key" data-i18n-options='{ "what": "i18n"}'></span> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/8.1.0/i18next.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-i18next/1.2.0/jquery-i18next.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/i18next-http-backend@1.3.1/i18nextHttpBackend.min.js"></script> <script> i18next.use(window.i18nextHttpBackend).init({ debug: true, // url.com?lang=en | url.com?lang=ru lng: new URL(window.location.href).searchParams.get('lang') || 'en', optionsAttr: 'i18n-options', useOptionsAttr: true, backend: { loadPath: './i18n/{{lng}}.json', }, }, function(err, t) { jqueryI18next.init(i18next, $); $('[data-i18n]').localize(); }, ); </script> </body>en.json (al igual que cualquier otro idioma para la prueba):
{ "key": "{{what}} some kind of sht." }jquery.i18n doc: ingrese la descripción del enlace aquí | i18next doc: ingrese la descripción del enlace aquí
¿Qué ocurre?
Creo que está mezclando las opciones jqueryI18next.init con las opciones i18next.init .
optionsAttr y useOptionsAttr probablemente deberían establecerse en jqueryI18next.init .