Para traducir algunos valores dentro de un JSON grande (del italiano al ruso) y dividirlo en archivos más pequeños, he creado una página html + Javascript fuera de línea, para obtener una serie de archivos JSON en un zip (usando JSZip ). Pero las cadenas cirílicas no se muestran correctamente.
La página comienza desde un JSON almacenado en una variable, lo itera para encontrar ciertas claves, luego reasigna los valores relacionados con otros valores tomados de una matriz asociativa como esta:
var translations = {}; translations['Retro Armadio'] = 'Задняя сторона шкафа'; translations['Stagno'] = 'Водонепроницаемый'; translations['Zoccolo'] = 'Цоколь';Luego, la página codifica el JSON para mostrarlo en una etiqueta "previa" y genera el archivo zip con los JSON divididos usando JSZip:
var zip = new JSZip(); for (const key in bigJSON){ var currentJSON = JSON.stringify(bigJSON[key]); var currentFileName = key + "-ru.json"; zip.file(currentFileName, currentJSON); }Desafortunadamente, tanto dentro de la etiqueta "pre" como dentro del archivo zip, las cadenas cirílicas están dañadas. También intenté usar encodeURIComponent/decodeURIComponent, pero obtengo cadenas como esta: "Ð›Ð¸Ñ†ÐµÐ²Ð°Ñ Ñторона шкафа"
Para editar la página HTML estoy usando Notepad++ en UTF-8. Copio y pego las cadenas cirílicas de MS Excel.