Initial commit: Add logistics and order_detail message types
Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled

- Add Logistics component with progress tracking
- Add OrderDetail component for order information
- Support data-driven steps and actions
- Add blue color scale to widget SCSS
- Fix node overflow and progress bar rendering issues
- Add English translations for dashboard components

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Liang XJ
2026-01-26 11:16:56 +08:00
commit 092fb2e083
7646 changed files with 975643 additions and 0 deletions

View File

@@ -0,0 +1,582 @@
{
"REPORT": {
"HEADER": "Razgovori",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.",
"DOWNLOAD_AGENT_REPORTS": "Preuzmi izveštaj o agentima",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme prvog odgovora je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme rešenja je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
},
"BOT_HANDOFF_COUNT": {
"NAME": "Handoff Count",
"DESC": "( Ukupno )"
},
"REPLY_TIME": {
"NAME": "Customer waiting time",
"TOOLTIP_TEXT": "Waiting time is {metricValue} (based on {conversationCount} replies)",
"DESC": ""
}
},
"DATE_RANGE_OPTIONS": {
"LAST_7_DAYS": "Poslednjih 7 dana",
"LAST_14_DAYS": "Poslednjih 14 dana",
"LAST_30_DAYS": "Poslednjih 30 dana",
"THIS_MONTH": "This month",
"LAST_MONTH": "Last month",
"LAST_3_MONTHS": "Poslednja 3 meseca",
"LAST_6_MONTHS": "Poslednjih 6 meseci",
"LAST_YEAR": "Poslednja godina",
"CUSTOM_DATE_RANGE": "Prilagođen opseg vremena"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberite opseg vremena"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Vrednost za grupisanje",
"DURATION_FILTER_LABEL": "Trajanje",
"GROUPING_OPTIONS": {
"DAY": "Dan",
"WEEK": "Nedelja",
"MONTH": "Mesec",
"YEAR": "Godina"
},
"GROUP_BY_DAY_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
}
],
"GROUP_BY_WEEK_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
},
{
"id": 2,
"groupBy": "Nedelja"
}
],
"GROUP_BY_MONTH_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
},
{
"id": 2,
"groupBy": "Nedelja"
},
{
"id": 3,
"groupBy": "Mesec"
}
],
"GROUP_BY_YEAR_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
},
{
"id": 2,
"groupBy": "Nedelja"
},
{
"id": 3,
"groupBy": "Mesec"
}
],
"BUSINESS_HOURS": "Radno vreme",
"FILTER_ACTIONS": {
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "Ništa nije pronađeno"
},
"PAGINATION": {
"RESULTS": "Showing {start} to {end} of {total} results",
"PER_PAGE_TEMPLATE": "{size} / page"
}
},
"AGENT_REPORTS": {
"HEADER": "Pregled agenata",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agents name to learn more.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.",
"DOWNLOAD_AGENT_REPORTS": "Preuzmi izveštaj o agentima",
"FILTER_DROPDOWN_LABEL": "Izaberi agenta",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme prvog odgovora je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme rešenja je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
},
{
"id": 4,
"name": "Poslednja godina"
},
{
"id": 5,
"name": "Prilagođen opseg vremena"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberite opseg vremena"
}
},
"LABEL_REPORTS": {
"HEADER": "Pregled oznaka",
"DESCRIPTION": "Track label performance with key metrics including conversations, response times, resolution times, and resolved cases. Click a label name for detailed insights.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.",
"DOWNLOAD_LABEL_REPORTS": "Preuzmi izveštaj o oznakama",
"FILTER_DROPDOWN_LABEL": "Izaberi oznaku",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme prvog odgovora je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme rešenja je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
},
{
"id": 4,
"name": "Poslednja godina"
},
{
"id": 5,
"name": "Prilagođen opseg vremena"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberite opseg vremena"
}
},
"INBOX_REPORTS": {
"HEADER": "Pregled prijemnih sandučića",
"DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.",
"DOWNLOAD_INBOX_REPORTS": "Preuzmi izveštaj o prijemnim sandučićima",
"FILTER_DROPDOWN_LABEL": "Izaberi prijemno sanduče",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme prvog odgovora je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme rešenja je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
},
{
"id": 4,
"name": "Poslednja godina"
},
{
"id": 5,
"name": "Prilagođen opseg vremena"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberite opseg vremena"
}
},
"TEAM_REPORTS": {
"HEADER": "Pregled tima",
"DESCRIPTION": "Get a snapshot of your teams performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.",
"DOWNLOAD_TEAM_REPORTS": "Preuzmi izveštaj o timu",
"FILTER_DROPDOWN_LABEL": "Izaberi tim",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme prvog odgovora je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosečno )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"TOOLTIP_TEXT": "Vreme rešenja je {metricValue} (zasnovano na {conversationCount} razgovora)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
},
{
"id": 4,
"name": "Poslednja godina"
},
{
"id": 5,
"name": "Prilagođen opseg vremena"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberite opseg vremena"
}
},
"CSAT_REPORTS": {
"HEADER": "Izveštaji zadovoljstva korisnika",
"NO_RECORDS": "Nema dostupnih odgovora o zadovoljstvu korisnika.",
"DOWNLOAD": "Preuzmite izveštaje o zadovoljstvu korisnika",
"DOWNLOAD_FAILED": "Failed to download CSAT Reports",
"FILTERS": {
"AGENTS": {
"PLACEHOLDER": "Izaberite agente"
}
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "Kontakt",
"AGENT_NAME": "Dodeljeni agent",
"RATING": "Ocena",
"FEEDBACK_TEXT": "Komentar povratne informacije"
}
},
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "Ukupno odgovora",
"TOOLTIP": "Ukupan broj prikupljenih odgovora"
},
"SATISFACTION_SCORE": {
"LABEL": "Ocena zadovoljstva",
"TOOLTIP": "Ukupan broj pozitivnih odgovora / Ukupan broj odgovora * 100"
},
"RESPONSE_RATE": {
"LABEL": "Procenat odgovora",
"TOOLTIP": "Ukupan broj odgovora / Ukupan broj poruka o zadovoljstvu korisnika * 100"
}
}
},
"BOT_REPORTS": {
"HEADER": "Bot Reports",
"METRIC": {
"TOTAL_CONVERSATIONS": {
"LABEL": "No. of Conversations",
"TOOLTIP": "Total number of conversations handled by the bot"
},
"TOTAL_RESPONSES": {
"LABEL": "Total Responses",
"TOOLTIP": "Total number of responses sent by the bot"
},
"RESOLUTION_RATE": {
"LABEL": "Resolution Rate",
"TOOLTIP": "Total number of conversations resolved by the bot / Total number of conversations handled by the bot * 100"
},
"HANDOFF_RATE": {
"LABEL": "Handoff Rate",
"TOOLTIP": "Total number of conversations handed off to agents / Total number of conversations handled by the bot * 100"
}
}
},
"OVERVIEW_REPORTS": {
"HEADER": "Pregled",
"LIVE": "Uživo",
"ACCOUNT_CONVERSATIONS": {
"HEADER": "Otvoreni razgovori",
"LOADING_MESSAGE": "Učitavanje metrike razgovora...",
"OPEN": "Otvoreni",
"UNATTENDED": "Nedodeljeni",
"UNASSIGNED": "Nedodeljen",
"PENDING": "Nerešen"
},
"CONVERSATION_HEATMAP": {
"HEADER": "Conversation Traffic",
"NO_CONVERSATIONS": "No conversations",
"CONVERSATION": "{count} conversation",
"CONVERSATIONS": "{count} conversations",
"DOWNLOAD_REPORT": "Download report"
},
"RESOLUTION_HEATMAP": {
"HEADER": "Resolutions",
"NO_CONVERSATIONS": "No conversations",
"CONVERSATION": "{count} conversation",
"CONVERSATIONS": "{count} conversations",
"DOWNLOAD_REPORT": "Download report"
},
"AGENT_CONVERSATIONS": {
"HEADER": "Razgovori prema agentima",
"LOADING_MESSAGE": "Učitavanje metrike agenata...",
"NO_AGENTS": "Nema razgovora po agentima",
"TABLE_HEADER": {
"AGENT": "Agent",
"OPEN": "Otvoreni",
"UNATTENDED": "Nedodeljeni",
"STATUS": "Status"
}
},
"TEAM_CONVERSATIONS": {
"ALL_TEAMS": "All Teams",
"HEADER": "Conversations by teams",
"LOADING_MESSAGE": "Loading team metrics...",
"NO_TEAMS": "There is no data available",
"TABLE_HEADER": {
"TEAM": "Tim",
"OPEN": "Otvoreni",
"UNATTENDED": "Nedodeljeni",
"STATUS": "Status"
}
},
"AGENT_STATUS": {
"HEADER": "Status agenta",
"ONLINE": "Dostupan",
"BUSY": "Zauzet",
"OFFLINE": "Nedostupan"
}
},
"DAYS_OF_WEEK": {
"SUNDAY": "Sunday",
"MONDAY": "Monday",
"TUESDAY": "Tuesday",
"WEDNESDAY": "Wednesday",
"THURSDAY": "Thursday",
"FRIDAY": "Friday",
"SATURDAY": "Saturday"
},
"SLA_REPORTS": {
"HEADER": "SLA Reports",
"NO_RECORDS": "SLA applied conversations are not available.",
"LOADING": "Loading SLA data...",
"DOWNLOAD_SLA_REPORTS": "Download SLA reports",
"DOWNLOAD_FAILED": "Failed to download SLA Reports",
"DROPDOWN": {
"ADD_FIlTER": "Add filter",
"CLEAR_ALL": "Clear all",
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "Ništa nije pronađeno",
"NO_FILTER": "No filters available",
"SEARCH": "Search filter",
"INPUT_PLACEHOLDER": {
"SLA": "SLA name",
"AGENTS": "Naziv agenta",
"INBOXES": "Naziv prijemnog sandučeta",
"LABELS": "Naziv oznake",
"TEAMS": "Naziv tima"
},
"SLA": "SLA Policy",
"INBOXES": "Prijemno sanduče",
"AGENTS": "Agent",
"LABELS": "Oznaka",
"TEAMS": "Tim"
},
"WITH": "with",
"METRICS": {
"HIT_RATE": {
"LABEL": "Hit Rate",
"TOOLTIP": "Percentage of SLAs created were completed successfully"
},
"NO_OF_MISSES": {
"LABEL": "Number of Misses",
"TOOLTIP": "Total SLA misses in a certain period"
},
"NO_OF_CONVERSATIONS": {
"LABEL": "Number of Conversations",
"TOOLTIP": "Total number of conversations with SLA"
}
},
"TABLE": {
"HEADER": {
"POLICY": "Policy",
"CONVERSATION": "Razgovor",
"AGENT": "Agent"
},
"VIEW_DETAILS": "View Details"
}
},
"SUMMARY_REPORTS": {
"INBOX": "Prijemno sanduče",
"AGENT": "Agent",
"TEAM": "Tim",
"LABEL": "Oznaka",
"AVG_RESOLUTION_TIME": "Avg. Resolution Time",
"AVG_FIRST_RESPONSE_TIME": "Avg. First Response Time",
"AVG_REPLY_TIME": "Avg. Customer Waiting Time",
"RESOLUTION_COUNT": "Broj rešenih",
"CONVERSATIONS": "Broj razgovora"
}
}