Skip Navigation
Expand
Modifying message strings in the Web Chat widget
Answer ID 12817   |   Last Review Date 04/23/2024

How do I modify the message strings used in the Web Chat widget?
Can I rename the fields on the pre launch form?

Environment
Chat / Engagement Engine
Oracle B2C Service 23A and higher
Web Chat for Service component version 22.12 (minimum required version)
 
Resolution
Web Chat for Service has specific text messages to support the chat or conversational interaction between the agent/bot and the end-user. You can easily configure these messages using Engagement Engine so that they are consistent with the tone of voice for your organization.
 
Modify the text string of the messages
 
You can modify the text messages used in the Web Chat widget via Engagement Engine.
  • Create a new Web Chat component or edit an existing one
  • Click menu Functionality Configuration in the Web Chat component setup screen
  • Select property Custom Strings (I18n)
  • Find the translation key values for your specific locale in the JSON
Note: When you add the Custom Strings property, example translation key-value fields for a specific locale are shown as an example, 'en' is provided as default. 
You can add the translation key value fields for the languages you want to support with chat.  You can download the CustomStrings.json in case you want to export all the strings and have them translated by your agency.
 
Example Custom Strings available in the widget:

{
    "en": {
        "agent": "Agent",
        "agentAbsentMessage": "The agent you were talking with is having connectivity problems. Please give us some time to resolve the problem.",
        "agentAttachmentDownloaded": "The agent has shared this file: {0} ({1} KB)",
        "agentAttachmentDownloading": "The agent is sending you an attachment, please wait...",
        "agentLeftChatMessage": "{0} has left the chat.",
        "agentMessage": "{0} says",
        "attachmentAudioFallback": "Your browser does not support embedded audio. However you can {0}download it{/0}.",
        "attachmentVideoFallback": "Your browser does not support embedded video. However you can {0}download it{/0}.",
        "attachment_audio": "Audio attachment",
        "attachment_file": "File attachment",
        "attachment_image": "Image attachment",
        "attachment_video": "Video attachment",
        "audioResponseOff": "Turn audio response on",
        "audioResponseOn": "Turn audio response off",
        "avatarAgent": "Agent icon",
        "avatarBot": "Bot icon",
        "avatarUser": "User icon",
        "card": "Card {0}",
        "cardImagePlaceholder": "Card image",
        "cardNavNext": "Next card",
        "cardNavPrevious": "Previous card",
        "chatTitle": "Chat",
        "clear": "Clear conversation",
        "clientGreetingAgent": "Hello, my name is {0}, how can I help you?",
        "clientGreetingBot": "Hello, I'm chatbot {0}, how can I help you?",
        "close": "Minimize widget",
        "closing": "Closing",
        "connected": "Connected",
        "connecting": "Connecting",
        "connectionFailureMessage": "Sorry, the assistant is unavailable right now. If the issue persists, contact your help desk.",
        "connectionRetryLabel": "Try Again",
        "defaultGreetingMessage": "Hey, Nice to meet you! Allow me a moment to get back to you.",
        "defaultSorryMessage": "I'm sorry. I can't get you the right content. Please try again.",
        "defaultWaitMessage": "I'm still working on your request. Thank you for your patience!",
        "disconnected": "Disconnected",
        "download": "Download",
        "editFieldErrorMessage": "Field input is invalid",
        "editFormErrorMessage": "Some of the fields need your attention",
        "endConversation": "End Conversation",
        "endConversationConfirmMessage": "Are you sure you want to end the conversation?",
        "endConversationDescription": "This will also clear your conversation history.",
        "errorSpeechInvalidUrl": "ODA URL for connection is not set. Please pass \"URI\" parameter during SDK initialization.",
        "errorSpeechMultipleConnection": "Another voice recognition is ongoing. Can't start a new one.",
        "errorSpeechTooMuchTimeout": "The voice message is too long to recognize and generate text.",
        "errorSpeechUnavailable": "To allow voice messaging, update your browser settings to enable access to your microphone.",
        "errorSpeechUnsupportedLocale": "The locale set for voice recognition is not supported. Please use a valid locale in \"speechLocale\" setting.",
        "holidayMessage": "It is currently a holiday.",
        "imageViewerClose": "Close image viewer",
        "imageViewerOpen": "Open image viewer",
        "inputPlaceholder": "Type a message",
        "itemIterator": "Item {0}",
        "languageSelectDropdown": "Select chat language",
        "language_ar": "Arabic",
        "language_de": "German",
        "language_detect": "Detect Language",
        "language_en": "English",
        "language_es": "Spanish",
        "language_fr": "French",
        "language_hi": "Hindi",
        "language_it": "Italian",
        "language_nl": "Dutch",
        "language_pt": "Portuguese",
        "launchButtonText": "Chat with me?",
        "linkField": "Click on the highlighted text to open Link for {0}",
        "locationSharedMessage": "The location has been shared: {0}, {1}",
        "networkWarningMessage": "Trying to recover from an unexpected network issue.",
        "noAgentsMessage": "There are no agents available to chat with you right now. Please try again later.",
        "noResultText": "No more results",
        "noSpeechTimeout": "The voice could not be detected to perform recognition.",
        "noText": "No",
        "offTheRecordOffButtonLabel": "Disable off the record",
        "offTheRecordOffMessage": "The following messages are recorded",
        "offTheRecordOnButtonLabel": "Enable off the record",
        "offTheRecordOnMessage": "The following messages are off the record",
        "openMap": "Open Map",
        "outOfHoursMessage": "You are currently trying to access a chat agent outside available chat hours. Please try again later.",
        "plfApplicationClassificationLabel": "Application classification",
        "plfAssigneeIdLabel": "Assignee",
        "plfBadEmailMessage": "Provide a valid email address",
        "plfBusinessUnitOrgIdLabel": "Business unit",
        "plfCancelChatLabel": "Cancel",
        "plfCategoryIdLabel": "Product Category",
        "plfChatPriorityLabel": "Chat priority",
        "plfContactIdLabel": "Contact",
        "plfEmailLabel": "Email",
        "plfFirstNameLabel": "First Name",
        "plfIncidentSeverityCodeLabel": "Incident severity",
        "plfIncidentTypeLabel": "Incident type",
        "plfInventoryItemIdLabel": "Inventory Item",
        "plfInventoryOrgIdLabel": "Inventory Organization",
        "plfLastNameLabel": "Last Name",
        "plfMissingLabel": "Add a label in i18n for this field",
        "plfNoLabel": "No",
        "plfOrganizationIdLabel": "Organization",
        "plfProductGroupIdLabel": "Product Group",
        "plfProductIdLabel": "Product",
        "plfQueueIdLabel": "Queue",
        "plfRequiredFieldMessage": "Provide a value for this field",
        "plfServiceRequestNumberLabel": "Service Request",
        "plfStartChatLabel": "Start Chat",
        "plfStripeCodeLabel": "Stripe code",
        "plfSubjectLabel": "Subject",
        "plfYesLabel": "Yes",
        "postConversationMessage": "Please take this survey to help us improve.",
        "postConversationMessageLinkButtonLabel": "Take Survey",
        "postConversationPrintButtonLabel": "Print Conversation",
        "previousChats": "End of previous conversation",
        "queueWaitMessage": "Queueing\nPosition in queue: {0}\nAverage wait time: {1}\nExpected wait time: {2}",
        "ratingStar": "Rate {0} star",
        "recognitionTextPlaceholder": "Speak your message",
        "relTimeDay": "{0}d ago",
        "relTimeHr": "{0}hr ago",
        "relTimeMin": "{0}min ago",
        "relTimeMoment": "A few seconds ago",
        "relTimeMon": "{0}mth ago",
        "relTimeNow": "Now",
        "relTimeYr": "{0}yr ago",
        "requestLocation": "Requesting location",
        "requestLocationDeniedPermission": "To allow sharing your location, update your browser settings to enable access to your location. You can also type in the location instead.",
        "requestLocationDeniedTimeout": "It is taking too long to get your location. Please try sharing it again, or else type it in.",
        "requestLocationDeniedUnavailable": "Your current location is unavailable. Please try sharing it again, or else type it in.",
        "retryMessage": "Try again",
        "send": "Send message",
        "sensitiveInformationMessage": "The following message is send off the record because sensitive data is found in it",
        "sessionEndedAbnormallyMessage": "Something went wrong and this conversation has ended.",
        "sessionEndedByAgentConcludedMessage": "The agent has concluded this conversation.",
        "sessionEndedByTimeoutMessage": "This conversation has timed out.",
        "sessionEndedMessage": "This conversation has ended.",
        "shareAudio": "Share Audio",
        "shareFailureMessage": "Sorry, sharing is not available on this device.",
        "shareFile": "Share File",
        "shareLocation": "Share Location",
        "shareVisual": "Share Image/Video",
        "showOptions": "Show Options",
        "skillMessage": "Skill says",
        "speak": "Speak a message",
        "splitTextLessButtonLabel": "Show less",
        "splitTextMoreButtonLabel": "Show more",
        "systemPostConversationCloseButtonLabel": "Minimize Widget",
        "systemPostConversationMessage": "Do you want to start a new conversation?",
        "systemPostConversationStartButtonLabel": "Start New Conversation",
        "typingIndicator": "Waiting for response",
        "upload": "Share popup",
        "uploadFailed": "Upload Failed.",
        "uploadFileSizeLimitExceeded": "File size should not be more than {0}MB.",
        "uploadFileSizeZeroByte": "Files of size zero bytes can't be uploaded.",
        "uploadUnsupportedFileType": "Unsupported file type.",
        "userMessage": "I say",
        "utteranceGeneric": "Message from skill.",
        "webViewAccessibilityTitle": "In-widget WebView to display links",
        "webViewClose": "Done",
        "webViewErrorInfoDismiss": "Dismiss",
        "webViewErrorInfoText": "Don't see the page? {0}Click here{/0} to open it in a browser.",
        "yesText": "Yes"
    }
}
  • Overwrite "message string text" with your desired text
    Example for changing the label of the launch button:
    "launchButtonText": "Chat with me?",  →  "launchButtonText": "Live Chat",
  • If you want to add a custom field to the pre launch form and you want to rename the field, you can add the custom field to the message strings JSON with the syntax "customfieldLabel": "Membership ID",
    Example: add "membership_idLabel": "Membership ID",
  • Save and Publish the Web Chat component