Repository navigation
Overview
v1.4.0 adds an interface language preference — Follow Sealos, 中文, or English — and completes the English copy for the whole interface, from the ticket pages and chats to the workflow editor, admin dialogs and shared editors. It also makes the AI-generated recall indexes of general knowledge follow the language of the knowledge itself. Chinese stays the default when no supported language is detected.
Highlights
Interface language preference
- Added a language selector in Settings with three options: Follow Sealos, 中文, and English. The choice is stored in the browser and applies to the interface right away.
- "Follow Sealos" uses the language reported by the Sealos desktop. If the host does not report a supported language, the browser language is used, and Chinese is the final fallback.
Localized interface copy
- The interface is now available in English across the ticket list and ticket details (user and staff, including the activity feed), chats and message lists, the workflow editor and its canvas nodes, the admin pages (knowledge, workflows, users), the settings dialogs, tables and analytics pages, the not-signed-in page, the JSON editor, the test chat, and the shared editor components such as the file attachment editor.
- Missing translation entries were filled in, including the ticket history types and the ticket categories shown in the activity feed.
- English copy uses "Lark" as the product name of the Feishu integration; the Chinese copy keeps 飞书.
Fixes and improvements
- Several places showed raw translation key names instead of text — for example
no_assigneesin the ticket sidebar,contact_infoand the other field labels of the staff hover card, andtktH.categoryin the activity feed. The Chinese interface was affected as well. - The "today" label in the analytics filter had no English value and fell back to Chinese in the English interface.
- When a request failed and the server returned a payload without a readable message, the interface showed
[object Object]. It now shows a localized failure message. - The prompt that generates general knowledge recall indexes carried no language rule, so indexes were generated in Chinese even for knowledge written in another language, and questions asked in that language were then unlikely to match them. The prompt now requires the indexes to use the language of the knowledge content, and states a length rule for English.
Maintenance
CLAUDE.mdwas rewritten as a repository-specific contributor and agent guide.
Upgrade notes
- No database migration is required for this release.
- No new environment variable is introduced by this release.
- Stored data, API shapes and business behavior are unchanged. The only server-side change is two added lines in the general knowledge index generation prompt; indexes that were generated before this release are not regenerated.
packages/i18nis also imported by the server: the English wording of the two Lark integration errors it returns (feishu_not_configured,feishu_identity_not_found) changed along with the rest of the English copy.- Known limitation: date and time formatting is not yet tied to the interface language. Relative times (for example "1 分钟前"), the absolute timestamps in the ticket sidebars, and the date divider in chats still use Chinese or the browser locale regardless of the selected language. This is planned for a follow-up release.
Container images
The release image was built and pushed to GitHub Container Registry.
ghcr.io/labring/tentix:latest
ghcr.io/labring/tentix:20260921-a8733f0e2e40b8508eef706364274fa8d0739dde
Validation
- Lint, type checking, and the production build passed in the pull request build checks.
- Type checking, the production build, and the container image push to GHCR passed as part of the release build on the merge commit.
- CodeQL analyses passed on the merge commit.
- No automated tests cover this change: the repository has no root test script and the frontend test setup contains no test files.
- Manual regression in a local development environment: language switching and the main flows were checked page by page.
Suggested verification
- In Settings, switch between Follow Sealos, 中文, and English, and confirm the interface follows immediately without a reload.
- Open a ticket detail page in English and confirm the right panel, the activity feed and the status labels are in English.
- Open the workflow editor in English and check the node cards and configuration panels, especially the RAG node, where the English labels are longer than the Chinese ones.
- Open Settings → User management → Create user in English and confirm the field labels and the validation messages are in English.
- Import an English document into general knowledge and confirm the generated recall indexes are in English; import a Chinese document and confirm the indexes are unchanged in style and language.
- On a narrow mobile screen, open a ticket in English and confirm the longer English labels are not cut off.