Frontend (.vue, .js, .ts):
- All Chinese in HTML comments, JS comments, CSS comments translated
- All hardcoded Chinese UI strings (titles, alerts, console errors) translated
- The few remaining Chinese fragments in Step2EnvSetup.vue (4) and
Step4Report.vue (77) are intentional: stage-name identifiers that
must match what the backend emits, and LLM-output parser patterns
that match Chinese section headers in the LLM response.
Backend (Python):
- All # comments, """ and ''' docstrings translated
- All log/print/raise/error message strings translated
- All LLM system prompts (ONTOLOGY_SYSTEM_PROMPT, _PROMPT, _INSTRUCTION,
_TEMPLATE, _TASK_PROMPT, _EXTRACTOR, _PLANNER, _REPORTER, _SUMMARY,
_OUTLINE, _SYNTHESIS, _REWRITE, _SEARCH_PROMPT, _INTERVIEW, _REFLECTION,
_REACT, _ROLE, _CONTEXT, _GUIDELINES, _AGENT, _MESSAGE, _EXAMPLE,
_SYNTHESIZER, _WRITER, _CRITIQUE, _REVISION, _FEEDBACK, _PERSONA,
_FORMAT, _JUDGE, _ROUTER, _SECTION_PLANNER, _PARSER, _EXTRACT,
_RATIONALE variables) translated
- stage-name string literals in zep_graph_memory_updater.py (return
values used as Zep episode content) translated
- LLM-output parser patterns in zep_tools.py and report_agent.py
(e.g. text.match(/分析问题:/) and section headers like
'### 【关键事实】') kept as Chinese, because they match the
LLM's output format.
i18n:
- locales/zh.json: kept as source of truth for Chinese strings
- locales/en.json: kept (was already a complete English translation)
- locales/nl.json: NEW — full Dutch (Nederlands) translation of
en.json (633 leaf keys, all interpolation placeholders preserved)
- locales/languages.json: added 'nl' entry with label 'Nederlands'
and llmInstruction 'Antwoord in het Nederlands.'
Frontend i18n config:
- frontend/src/i18n/index.js: default locale changed from 'zh' to 'nl',
fallback locale from 'zh' to 'en'. Dutch is now the default UI
language; English is the fallback.
Misc:
- package.json: description translated
- docker-compose.yml: inline comment translated
- README.md / README-ZH.md / locales/zh.json / locales/languages.json:
Chinese content intentionally preserved (bilingual readme pointers
and language-metadata source of truth)
Files: 59 changed, +6810 / -6102
Co-authored-by: hermes <hermes@profikid.nl>
- Eliminated unnecessary warnings suppression related to multiprocessing resource tracking in `run.py` and `run_parallel_simulation.py`, streamlining the code and reducing potential confusion.
- This change enhances clarity in logging by allowing relevant warnings to be displayed during execution, improving traceability and debugging capabilities.
- Added signal handling to gracefully manage shutdown events across simulation scripts, ensuring proper cleanup of resources.
- Introduced a global shutdown event to allow simulations to respond to termination signals, improving robustness.
- Suppressed warnings related to multiprocessing resource tracking to avoid unnecessary log clutter during execution.
- Updated cleanup logic in `SimulationRunner` and `ZepGraphMemoryManager` to prevent redundant calls and ensure efficient resource management.
- Enhanced logging to provide clearer feedback during shutdown processes, improving traceability.
- Updated `run.py` to conditionally print startup information only in the reloader process to avoid duplicate logs in debug mode.
- Modified `__init__.py` to log startup and completion messages based on the reloader process condition.
- Added warnings suppression in `graph_builder.py` for Pydantic v2 regarding Field usage.
- Revised `ontology_generator.py` to enforce strict design guidelines for entity types and relationships, ensuring compliance with new requirements.
- Improved logging behavior in `logger.py` to prevent log propagation to the root logger, avoiding duplicate outputs.