Files
gochat/frontend/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json
T
rogee 321c61aaae Vendor Chatwoot Vue 3 frontend into frontend/
Copy the Chatwoot (v4.14.0) frontend runnable subset into frontend/ for
customization:
- app/javascript/ (Vue SPA: dashboard, widget, sdk, portal, superadmin)
- app/views/ (ERB templates for vite-plugin-ruby entrypoint resolution)
- app/helpers/, app/assets/ (Rails view helpers, static assets)
- enterprise/ (Enterprise edition frontend overlay)
- config/vite.json, vite.config.ts, bin/vite (Vite-Rails toolchain)
- package.json, pnpm-lock.yaml, tailwind/postcss/eslint configs
- Gemfile, Gemfile.lock (vite_rails gem for bin/vite binstub)

Excluded Rails backend: controllers, models, services, jobs, mailers,
policies, db, lib, spec, public, node_modules.

Update references to the new frontend location:
- .gitignore: exclude frontend build artifacts (node_modules, tmp, packs),
  keep frontend/bin/ and frontend/vendor/ via negation
- backend/scripts/parity_frontend_smoke.sh: CHATWOOT_DIR default
  reference/chatwoot -> ../frontend
- backend/scripts/parity_frontend_browser_smoke.mjs: same default update
- AGENTS.md: add frontend section with Rails/Vite coupling notes
- README: architecture tree includes frontend/
2026-07-07 14:56:01 +08:00

53 lines
2.7 KiB
JSON

{
"BULK_ACTION": {
"CONVERSATIONS_SELECTED": "已选择 {conversationCount} 个对话",
"AGENT_SELECT_LABEL": "选择客服代表",
"ASSIGN_CONFIRMATION_LABEL": "您确定要将 {conversationCount} 个 {conversationLabel} 分配给",
"UNASSIGN_CONFIRMATION_LABEL": "您确定要取消分配 {conversationCount} 个 {conversationLabel} 吗?",
"GO_BACK_LABEL": "返回",
"ASSIGN_LABEL": "分配",
"NONE": "啥都没有",
"CLEAR_SELECTION": "清除",
"ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?",
"UNASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?",
"YES": "是",
"CANCEL": "取消",
"SEARCH_INPUT_PLACEHOLDER": "搜索",
"ASSIGN_AGENT_TOOLTIP": "分配客服代表",
"ASSIGN_TEAM_TOOLTIP": "分配一个团队",
"ASSIGN_SUCCESFUL": "对话分配成功.",
"ASSIGN_FAILED": "分配对话失败。请再试一次。",
"RESOLVE_SUCCESFUL": "成功将对话标记为已解决.",
"RESOLVE_FAILED": "解决对话失败。请再试一次。",
"ALL_CONVERSATIONS_SELECTED_ALERT": "仅选择了此页面上可见的对话。",
"AGENT_LIST_LOADING": "正在加载客服代表",
"UPDATE": {
"CHANGE_STATUS": "更改状态",
"SNOOZE_UNTIL": "推迟",
"UPDATE_SUCCESFUL": "对话状态更新成功。",
"UPDATE_FAILED": "更新对话失败。请再试一次。"
},
"RESOLVE": {
"ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes",
"PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped"
},
"LABELS": {
"ASSIGN_LABELS": "分配标签",
"NO_LABELS_FOUND": "未找到标签",
"ASSIGN_SELECTED_LABELS": "分配指定的标签",
"ASSIGN_SUCCESFUL": "已成功分配标签.",
"ASSIGN_FAILED": "分配标签失败。请再试一次。"
},
"TEAMS": {
"TEAM_SELECT_LABEL": "选择团队",
"NONE": "啥都没有",
"NO_TEAMS_AVAILABLE": "此帐户尚未添加团队。",
"ASSIGN_SELECTED_TEAMS": "分配选定的团队。",
"ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?",
"UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?",
"ASSIGN_SUCCESFUL": "团队分配成功。",
"ASSIGN_FAILED": "分配团队失败。请再试一次。"
}
}
}