Files
trainingstagebuch/frontend/package.json
Torsten Schulz (local) eb54b4f7cf
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 45s
feat(i18n): add scripts for locale translation and patching
- Implemented `fill-de-extended-gaps.js` to fill missing billing/orders keys in de-extended from de.
- Created `fill-i18n-deep.py` for deep translation of locale JSONs using deep-translator with fallback options.
- Added `fill-i18n-locales.js` to translate locale JSONs and write overrides for untranslated keys.
- Introduced `fix-en-leaks.py` to translate keys that still match the en-US merge, addressing English leaks.
- Developed `patch-de-ch-swiss.js` to replace 'ß' with 'ss' in de-CH.json without deleting existing entries.
- Created `patch-en-gb-au.js` to apply UK/AU spelling corrections in en-GB and en-AU locales.
- Added shell scripts `run-fix-en-leaks.sh` and `run-i18n-deep-fill.sh` for sequential execution of translation tasks.
- Implemented `update-i18n-todo-stats.js` to update statistics in the I18N_TODO.md file based on translation completeness.
2026-05-15 15:52:54 +02:00

65 lines
1.8 KiB
JSON

{
"name": "frontend",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview",
"i18n:audit": "node scripts/audit-i18n.js",
"i18n:status": "node scripts/translation-status.js",
"i18n:fill": "node ../scripts/fill-i18n-locales.js --all --delay 500",
"i18n:fill:deep": "PYTHONUNBUFFERED=1 ../scripts/.venv-i18n/bin/python -u ../scripts/fill-i18n-deep.py --all --delay 0.2",
"i18n:fix-leaks": "PYTHONUNBUFFERED=1 ../scripts/.venv-i18n/bin/python -u ../scripts/fix-en-leaks.py",
"i18n:fix-leaks:all": "bash ../scripts/run-fix-en-leaks.sh",
"i18n:completeness": "node ../scripts/check-i18n-completeness.js",
"i18n:update-todo": "node ../scripts/update-i18n-todo-stats.js"
},
"dependencies": {
"axios": "^1.7.3",
"core-js": "^3.8.3",
"crypto-js": "^4.2.0",
"html2canvas": "^1.4.1",
"jspdf": "^4.0.0",
"jspdf-autotable": "^5.0.2",
"node-cron": "^4.2.1",
"pdfjs-dist": "^5.6.205",
"socket.io-client": "^4.8.1",
"sortablejs": "^1.15.3",
"vue": "^3.2.13",
"vue-i18n": "^9.14.5",
"vue-multiselect": "^3.0.0",
"vue-router": "^4.4.0",
"vuex": "^4.1.0"
},
"devDependencies": {
"@vitalets/google-translate-api": "^9.2.1",
"@vitejs/plugin-vue": "^6.0.2",
"eslint": "^9.39.1",
"eslint-plugin-vue": "^9.0.0",
"sass": "^1.77.8",
"sass-loader": "^14.2.1",
"vite": "^7.2.4"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "@babel/eslint-parser"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"not ie 11"
]
}