fix: add post-processing script to fix i18n nodeDefs array corruption (#8718)

## Summary
@lobehub/i18n-cli (GPT-4.1) converts numeric-keyed objects like {"0":
{...}, "1": {...}} into JSON arrays with null gaps, which
crashes vue-i18n path resolution. 

Add a post-processing step that converts arrays back to objects after
translation.

## Screenshots (if applicable)
before


https://github.com/user-attachments/assets/44e81790-feae-405b-b2c4-098b06a98785


after


https://github.com/user-attachments/assets/5d1bd836-c923-437a-aca0-7ebd4d8acb89
<img width="2703" height="1083" alt="image"
src="https://github.com/user-attachments/assets/370a2eb0-c46d-4901-a23a-ab3002a9660d"
/>

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8718-fix-add-post-processing-script-to-fix-i18n-nodeDefs-array-corruption-3006d73d365081dab020fea997ec4c0a)
by [Unito](https://www.unito.io)
This commit is contained in:
Terry Jia
2026-02-07 21:19:37 -05:00
committed by GitHub
parent 6535138e0b
commit 828323e263
5 changed files with 70 additions and 3 deletions

View File

@@ -23,6 +23,7 @@
"dev": "nx serve",
"devtools:pycheck": "python3 -m compileall -q tools/devtools",
"format:check": "oxfmt --check",
"fix-i18n-node-defs": "tsx scripts/fix-i18n-node-defs.ts",
"format": "oxfmt --write",
"json-schema": "tsx scripts/generate-json-schema.ts",
"knip:no-cache": "knip",