mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-09 17:40:09 +00:00
## 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)
62 lines
2.4 KiB
YAML
62 lines
2.4 KiB
YAML
# Description: Generates and updates translations for core ComfyUI components using OpenAI
|
|
name: 'i18n: Update Core'
|
|
|
|
on:
|
|
# Manual dispatch for urgent translation updates
|
|
workflow_dispatch:
|
|
# Only trigger on PRs to main/master - additional branch filtering in job condition
|
|
pull_request:
|
|
branches: [main]
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
update-locales:
|
|
# Branch detection: Only run for manual dispatch or version-bump-* branches from main repo
|
|
if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.head.repo.full_name == github.repository && startsWith(github.head_ref, 'version-bump-'))
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
token: ${{ secrets.PR_GH_TOKEN }}
|
|
|
|
# Setup playwright environment
|
|
- name: Setup ComfyUI Frontend
|
|
uses: ./.github/actions/setup-frontend
|
|
with:
|
|
include_build_step: true
|
|
- name: Setup ComfyUI Server
|
|
uses: ./.github/actions/setup-comfyui-server
|
|
with:
|
|
launch_server: true
|
|
- name: Setup Playwright
|
|
uses: ./.github/actions/setup-playwright
|
|
|
|
- name: Start dev server
|
|
# Run electron dev server as it is a superset of the web dev server
|
|
# We do want electron specific UIs to be translated.
|
|
run: pnpm dev:electron &
|
|
|
|
# Update locales, collect new strings and update translations using OpenAI, then commit changes
|
|
- name: Update en.json
|
|
run: pnpm collect-i18n
|
|
env:
|
|
PLAYWRIGHT_TEST_URL: http://localhost:5173
|
|
- name: Update translations
|
|
run: pnpm locale && pnpm fix-i18n-node-defs && pnpm format
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
- name: Commit updated locales
|
|
run: |
|
|
git config --global user.name 'github-actions'
|
|
git config --global user.email 'github-actions@github.com'
|
|
git fetch origin ${{ github.head_ref }}
|
|
# Stash any local changes before checkout
|
|
git stash -u
|
|
git checkout -B ${{ github.head_ref }} origin/${{ github.head_ref }}
|
|
# Apply the stashed changes if any
|
|
git stash pop || true
|
|
git add src/locales/
|
|
git diff --staged --quiet || git commit -m "Update locales"
|
|
git push origin HEAD:${{ github.head_ref }}
|