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/
53 lines
2.9 KiB
JSON
53 lines
2.9 KiB
JSON
{
|
|
"BULK_ACTION": {
|
|
"CONVERSATIONS_SELECTED": "{conversationCount} conversazioni selezionate",
|
|
"AGENT_SELECT_LABEL": "Seleziona un operatore",
|
|
"ASSIGN_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {conversationCount} {conversationLabel} a",
|
|
"UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?",
|
|
"GO_BACK_LABEL": "Torna indietro",
|
|
"ASSIGN_LABEL": "Assegna",
|
|
"NONE": "Nessuno",
|
|
"CLEAR_SELECTION": "Rimuovi",
|
|
"ASSIGN_AGENT_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {n} conversazione a {agentName}? | Sei sicuro di voler assegnare {n} conversazioni a {agentName}?",
|
|
"UNASSIGN_AGENT_CONFIRMATION_LABEL": "Sei sicuro di voler disassegnare {n} conversazione? | Sei sicuro di voler disassegnare {n} conversazioni?",
|
|
"YES": "Sì",
|
|
"CANCEL": "Annulla",
|
|
"SEARCH_INPUT_PLACEHOLDER": "Cerca",
|
|
"ASSIGN_AGENT_TOOLTIP": "Assegna operatore",
|
|
"ASSIGN_TEAM_TOOLTIP": "Assegna team",
|
|
"ASSIGN_SUCCESFUL": "Conversazioni assegnate correttamente.",
|
|
"ASSIGN_FAILED": "Impossibile assegnare le conversazioni. Riprova.",
|
|
"RESOLVE_SUCCESFUL": "Conversazioni risolte correttamente.",
|
|
"RESOLVE_FAILED": "Impossibile risolvere le conversazioni. Riprova.",
|
|
"ALL_CONVERSATIONS_SELECTED_ALERT": "Solo le conversazioni visibili in questa pagina sono selezionate.",
|
|
"AGENT_LIST_LOADING": "Caricamento operatori",
|
|
"UPDATE": {
|
|
"CHANGE_STATUS": "Cambia stato",
|
|
"SNOOZE_UNTIL": "Posticipa",
|
|
"UPDATE_SUCCESFUL": "Stato della conversazione aggiornato correttamente.",
|
|
"UPDATE_FAILED": "Impossibile aggiornare le conversazioni. Riprova."
|
|
},
|
|
"RESOLVE": {
|
|
"ALL_MISSING_ATTRIBUTES": "Impossibile risolvere le conversazioni a causa di attributi richiesti mancanti",
|
|
"PARTIAL_SUCCESS": "Alcune conversazioni necessitano di attributi richiesti per essere risolte, perciò sono state saltate"
|
|
},
|
|
"LABELS": {
|
|
"ASSIGN_LABELS": "Assegna etichette",
|
|
"NO_LABELS_FOUND": "Nessuna etichetta trovata",
|
|
"ASSIGN_SELECTED_LABELS": "Assegna etichette selezeionate",
|
|
"ASSIGN_SUCCESFUL": "Etichette assegnate correttamente.",
|
|
"ASSIGN_FAILED": "Impossibile assegnare le etichette. Riprova."
|
|
},
|
|
"TEAMS": {
|
|
"TEAM_SELECT_LABEL": "Seleziona team",
|
|
"NONE": "Nessuno",
|
|
"NO_TEAMS_AVAILABLE": "Non ci sono ancora team aggiunti a questo account.",
|
|
"ASSIGN_SELECTED_TEAMS": "Assegna team selezionato.",
|
|
"ASSIGN_TEAM_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {n} conversazione a {teamName}? | Sei sicuro di voler assegnare {n} conversazioni a {teamName}?",
|
|
"UNASSIGN_TEAM_CONFIRMATION_LABEL": "Sei sicuro di voler disassegnare {n} conversazione? | Sei sicuro di voler disassegnare {n} conversazioni?",
|
|
"ASSIGN_SUCCESFUL": "Team assegnati con successo.",
|
|
"ASSIGN_FAILED": "Impossibile assegnare il team. Riprova."
|
|
}
|
|
}
|
|
}
|