With the console in zh, the organization / invitation surfaces mix untranslated English into otherwise Chinese screens. Collected in one pass over the sign-up → create workspace → invite → accept flow (2026-08-12):
| Where |
Shown |
Note |
| Invite user dialog, 角色 dropdown |
Delegated Admin |
siblings render 所有者 / 管理员 / 成员 |
| Members page, role badges |
Owner, Member |
the same roles are 所有者 / 成员 in the invite dropdown — inconsistent within one feature |
Invite dialog submitted by a member |
You are not allowed to invite users to this organization |
raw server message rendered as inline form error |
| Create workspace, slug already taken |
Organization already exists |
inline form error |
| Accept-invitation page, wrong recipient |
You are not the recipient of the invitation |
toast body under the translated title 接受失败 |
| Members / invitations rows |
aria-label = Member actions, Copy invitation link, Cancel invitation |
icon-only buttons — this is the only label a screen reader gets |
The last three are server-supplied strings echoed verbatim; they need a code→message mapping on the client (better-auth returns a stable code, e.g. YOU_ARE_NOT_ALLOWED_TO_INVITE_USERS_TO_THIS_ORGANIZATION), not a translation of the English text.
Filed as one issue because it is a single sweep over one feature area; split per surface if that suits the fix better.
Where
packages/app-shell/src/console/organizations/ (manage/MembersPage, manage/InvitationsPage, manage/InviteMemberDialog, manage/AcceptInvitationPage, OrganizationsPage create dialog).
Environment
Local dev server http://localhost:8080, multi-org enabled, zh locale. The server was started by the maintainer and its exact commit is not verified.
With the console in
zh, the organization / invitation surfaces mix untranslated English into otherwise Chinese screens. Collected in one pass over the sign-up → create workspace → invite → accept flow (2026-08-12):Delegated AdminOwner,MembermemberYou are not allowed to invite users to this organizationOrganization already existsYou are not the recipient of the invitationaria-label=Member actions,Copy invitation link,Cancel invitationThe last three are server-supplied strings echoed verbatim; they need a code→message mapping on the client (better-auth returns a stable
code, e.g.YOU_ARE_NOT_ALLOWED_TO_INVITE_USERS_TO_THIS_ORGANIZATION), not a translation of the English text.Filed as one issue because it is a single sweep over one feature area; split per surface if that suits the fix better.
Where
packages/app-shell/src/console/organizations/(manage/MembersPage,manage/InvitationsPage,manage/InviteMemberDialog,manage/AcceptInvitationPage,OrganizationsPagecreate dialog).Environment
Local dev server
http://localhost:8080, multi-org enabled, zh locale. The server was started by the maintainer and its exact commit is not verified.