Localization
Languages
We support 100+ languages (English, Arabic, Armenian, Bengali, Basque, Catala, Chinese, Czech, Danish, Dutch, Farsi, Finnish, French, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Lithuanian, Malay, Nepali, Norwegian (Bokmål), Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovene, Spanish, Swedish, Tagalog, Tamil, Thai, Turkish, Ukrainian, Afrikaans, Albanian, Aragonese, Asturian, Azerbaijani, Bashkir, Bavarian, Belarusian, Bishnupriya Manipuri, Bosnian, Breton, Bulgarian, Burmese, Cebuano, Chechen, Chuvash, Croatian, Estonian, Georgian, Gujarati, Haitian, Hebrew, Icelandic, Ido, Javanese, Kannada, Kazakh, Kirghiz, Latin, Latvian, Lombard, Low Saxon, Luxembourgish, Macedonian, Malagasy, Malayalam, Marathi, Minangkabau, Mongolian, Newar, Nowegian (Nynorsk), Occitan, Piedmontese, Punjabi, Scots, Serbo-Croatian, Sicilian, Slovak, South Azerbaijani, Sundanese, Swahili, Tajik, Tatar, Telugu, Urdu, Uzbek, Vietnamese, Volapük, Waray-Waray, Welsh, West Frisian, Western Punjabi, Yoruba) for the chatbot.
*All these may not be available for the localization of the entire product.
Chat Localization Setup
Modify the labels like "Start Conversation",etc by adding following labels in kommunicateSettings variable which is present in installation script of chat widget:
"labels": {
'input.message': 'Type your message...',
'conversations.title': 'Conversations',
'start.new': 'Start New Conversation',
'empty.messages': 'No messages yet!',
'no.more.messages': 'No more messages!',
'empty.conversations': 'No conversations yet!',
'no.more.conversations': 'No more conversations!',
'search.placeholder': 'Search...',
'location.placeholder': 'Enter a location',
'members.title': 'Members',
'typing': 'typing...',
'is.typing': 'is typing...',
'online': 'Online',
'offline': 'Offline',
'clear.messages': 'Clear Messages',
'delete': 'Delete',
'reply': 'Reply',
'location.share.title': 'Location Sharing',
'my.location': 'My Location',
'send': 'Send',
'send.message': 'Send Message',
'smiley': 'Emoji Picker',
'close': 'Close',
'edit': 'Edit',
'save': 'Save',
'file.attachment': 'Upload Attachment',
'file.attach.title': 'Attach File',
'last.seen': 'Last seen',
'last.seen.on': 'Last seen on',
'time.format.AM': 'AM',
'time.format.PM': 'PM',
'hour': ' hour',
'min': ' min',
'yesterday': 'yesterday',
'hours': ' hours',
'mins': ' mins',
'ago': 'ago',
'admin': 'Admin',
'user': 'User',
'member': 'Member',
'you': 'You',
'away': 'Away',
'closed.conversation.message': 'This conversation has been marked as resolved. If you have other queries, just send a message here or start a new conversation.',
'search.faq': 'Search in FAQs...',
'looking.for.something.else': 'Looking for something else?',
'no-faq-found': 'We are here to help.',
'talk.to.agent': 'Talk to an agent',
'how.to.reachout': 'How may we reach you?',
'email.error.alert': 'It seems you have entered an invalid email',
'conversation.rated': 'rated the conversation',
'char.limit.warn': 'Keep your message within 256 characters to help the bot understand easily',
'limit.remove': 'Remove',
'limit.characters': 'characters',
'limit.remaining': 'remaining',
'modern.nav.conversations': 'Conversations',
'modern.nav.faqs': 'FAQs',
'modern.nav.whatsnew': 'News',
'modern.nav.empty': 'Welcome',
'modern.nav.collapse': 'Minimize',
'modern.whatsnew.staytuned': 'Stay tuned for updates.',
'modern.whatsnew.readmore': 'Learn more',
'whatsnew.empty': "What's New coming soon.",
'search.contacts': 'Contacts',
'search.groups': 'Groups',
'mck.empty.welcome.eyebrow': 'Hello',
'mck.empty.welcome.title': 'How can we help you?',
'mck.empty.welcome.subtitle': 'We’re here to help you get instant answers.',
'mck.empty.welcome.cta': 'Send us a message',
'mck.empty.welcome.cta.continue': 'View conversations',
'file.uploading.wait': 'Please wait file is uploading.',
'file.size.limit.exceeded': 'File size cannot be more than $maxAttachmentSize MB',
'file.error.invalid': 'Invalid file.',
'file.error.tooLarge': 'File size exceeds maximum allowed size.',
'file.error.mimeMismatch': "File type doesn't match file content.",
'file.error.typeNotAllowed': 'File type is not allowed.',
'file.error.malicious': 'Malicious file content detected.',
'file.error.unauthorized': 'User session is required.',
'file.error.emptyFile': 'No file provided.',
'file.error.read': 'Unable to read file.',
'file.error.notFound': 'File not found for the given key.',
'file.error.validationFailed': 'File validation failed.',
'file.error.uploadFailed': 'File upload failed.',
'file.error.default': 'File upload failed.',
'mck.email.placeholder': 'Enter your email...',
'form.label.to': 'To:',
'form.label.userId': 'User ID',
'form.error.required': 'This is a required field',
'form.error.invalidValue': 'You have entered an invalid Value',
'location.coordinates.lat': 'Lat.:',
'location.coordinates.lon': 'Long.:',
'create.group.title': 'Create Group',
'add.members.title': 'Add Member',
'remove.member': 'Remove Member',
'change.role': 'Change Role',
'group.info.update': 'Update',
'group.info.updating': 'Updating...',
'add.group.icon': 'Add Group Icon',
'change.group.icon': 'Change Group Icon',
'group.deleted': 'Group has been deleted',
'group.title': 'Group Title',
'group.type': 'Group Type',
'group.create.submit': 'Creating Group...',
'group.chat.disabled': 'You are no longer part of this group!',
'blocked': 'You have blocked this user',
'block.user.alert': 'Are you sure you want to block this user?',
'unblock.user.alert': 'Are you sure you want to unblock this user?',
'exit.group.alert': 'Are you sure you want to exit this group?',
'remove.member.alert': 'Are you sure you want to remove this member?',
'forward': 'Forward',
'copy': 'Copy',
'block.user': 'Block User',
'unblock.user': 'Unblock User',
'group.info.title': 'Group Info',
'exit.group': 'Exit Group',
'moderator': 'Moderator',
'public': 'Public',
'private': 'Private',
'open': 'Open',
'user.delete': 'This user has been deleted',
'faq': 'FAQ',
'faq.search.noResults': 'No results found',
'faq.back.to.categories': 'Back to categories',
'faq-empty-state': 'NO ARTICLES TO SHOW',
'offline.msg':
'Uh oh! No internet connection. Please check your network settings and try again.',
'socket-disconnect.msg':'Error while syncing messages. Check your firewall settings or try again after some time.',
'business-hour.msg':'You have reached us outside our business hours. Our bot will handle your queries until the team is back online.',
'local.file.warning.description':'Conversation will not be updated in real-time as you are running the installation script from your local file system.',
'local.file.warning.learnMore': 'Learn more about this',
'offline.message.default': 'SET DEFAULT OFFLINE MESSAGE!',
'filter.conversation.list.RESOLVED_TAG': 'Resolved',
'rich.form.errorText': 'Please enter valid data',
'lead.collection': {
'email': 'Email',
'name': 'Name',
'phone': 'Contact Number',
'title': 'Conversations',
'heading': 'Before starting, we just need a few details so that we may serve you better',
'submit': 'Start Conversation',
},
'csat.rating': {
'CONVERSATION_RATED': 'You rated the conversation',
'RATE_CONVERSATION': 'Rate your conversation',
'CONVERSATION_REVIEW_PLACEHOLDER': 'Add a comment…',
'OTHER_QUERIES': 'Have other queries? ',
'RESTART_CONVERSATION': 'Restart this conversation',
'SUBMIT_RATING' : 'Submit your rating'
},
'conversation.header.dropdown': {
'CSAT_RATING_TEXT': 'Rate this conversation',
'USER_OVERIDE_VOICE_OUTPUT_ON': 'Turn on text to speech',
'USER_OVERIDE_VOICE_OUTPUT_OFF': 'Turn off text to speech',
},
'conversation.handoff': {
ASSIGN_TO: 'handing over conversation to',
},
'page.title.on.new.message': 'New message from ',
'emoji.hover.text': {
'poor': 'Poor',
'great': 'Great',
'average': 'Average'
},
'rich.message': {
'notification.preview' : 'Message'
},
'filter.conversation.list': {
'ALL_CONVERSATIONS': 'All conversations',
'ACTIVE_CONVERSATIONS': 'Active conversations',
'HIDE_RESOLVED': 'Hide resolved',
'SHOW_RESOLVED': 'Show resolved'
},
'faq.query.message': {
QUERY_REGARDING: 'Hi, I have a query regarding',
HELP_YOU: 'Can you help me out?',
},
'micOptions.dropup': {
VOICE_NOTE_TRIGGER: 'Send voice message',
VOICE_INPUT_TRIGGER: 'Speech to text',
},
'voiceInterface': {
speak: 'Click to Speak',
chat: 'Click to Chat',
back: 'Back',
repeatLastMsg: 'Hear response again',
},
'answerFeedback': {
helpful: 'Helpful',
notHelpful: 'Not Helpful',
},
'time.stamp': {
'sec.ago': 'sec ago',
'secs.ago': 'secs ago',
'min.ago': 'min ago',
'mins.ago': 'mins ago',
'hr.ago': 'hr ago',
'hrs.ago': 'hrs ago'
},
'voice.output': {
'location': {
'init': 'A location has been shared with you.',
'lat': 'Latitude is ',
'lon': 'and Longitude is '
},
'attachment': 'You have an attachment.'
},
'waiting.queue.message': {
'contact.name': 'In Queue...',
'header.text': 'In queue...',
'first.Part': 'You are currently',
'waiting.queue.number': '5',
'last.part':
' in the waiting queue, our agents will get back you shortly.',
}
}
Localization to change the language
To change the language of the widget, you can pass the following configuration in kommunicateSettings. You may define any number of languages. Based on the user’s browser or system locale, the widget will automatically pick the corresponding values from the defined language files.
customLabelLocales: {
en: {
'input.message': 'Type something...',
'conversations.title': 'Conversations',
'start.new': 'Start New',
},
hi: {
'input.message': 'हिंदी में कुछ लिखें......',
'conversations.title': 'वार्तालाप सूची',
'faq': 'प्रश्न',
'start.new': 'नयी वार्तालाप',
},
ar: {
'input.message': 'أرسل رسالتك إلينا...',
'start.new': 'ابدأ محادثة جديدة',
'conversations.title': 'المحادثات',
},
}
Example to use language localization
(function (d, m) {
/*---------------- Kommunicate settings start ----------------*/
var kommunicateSettings = {
"appId": "", // add your application id here
customLabelLocales: {
en: {'input.message': 'type someting...',
'conversations.title': 'conversation',
'start.new': 'start new',
'search.faq':'search faq',
'conversation.header.dropdown.CSAT_RATING_TEXT':"give rating",
'conversation.header.dropdown.FAQ':"FAQ",
'mck.empty.welcome.title':"How can we help you",
'mck.empty.welcome.eyebrow': "Hello",
'modern.nav.faqs': 'FAQ',
'modern.nav.whatsnew': 'news',
'modern.nav.empty': 'Welcome',
'modern.nav.collapse': 'minimize',
'modern.nav.conversations': 'conversations',
"form.error.invalidValue": "You have entered an invalid value...",
'csat.rating': {
SUBMIT_RATING: 'Submit Rating',
CONVERSATION_RATING_HEADING: 'Show Satisfaction',
},
},
hi: {'input.message': 'हिंदी में कुछ लिखें......',
'conversations.title': 'वार्तालाप सूची',
'faq': 'प्रश्न',
'start.new': 'नयी वार्तालाप',
'search.faq':'धुनों',
'conversation.header.dropdown.CSAT_RATING_TEXT':"शुजाव दो",
'conversation.header.dropdown.FAQ':"प्रश्न",
'mck.empty.welcome.title':"कैसे मदद की जाए",
'mck.empty.welcome.eyebrow': "नमस्कार",
'modern.nav.faqs': 'प्रश्न',
'modern.nav.whatsnew': 'समाचार',
'modern.nav.empty': 'स्वागत',
'modern.nav.collapse': 'नीचे क्रे',
'modern.nav.conversations': 'बातचीत',
"form.error.invalidValue": "आपने अमान्य मान दर्ज किया है",
'csat.rating': {
SUBMIT_RATING: 'शुजाव क्रे',
CONVERSATION_RATING_HEADING: 'संतुक्ति दिखाये',
},
}
}
};
/*----------------- Kommunicate settings end ------------------*/
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://widget.kommunicate.io/kommunicate-widget-3.0.min.js";
var h = document.getElementsByTagName("head")[0]; h.appendChild(s);
window.kommunicate = m; m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
Example
This example will change the text for pre chat lead collection screen :-
<script type="text/javascript">
(function(d, m){
/*---------------- Kommunicate settings start ----------------*/
var kommunicateSettings = {
"appId": "<APP_ID>", // add your application id here
"askUserDetails": ["name", "email", "phone"],
"labels": {
'lead.collection': {
'email':'Email',
'name':'Name',
'contactNumber':'Contact Number',
'heading':'Before starting, we just need a few details so that we may serve you better',
'submit':'Start Conversation',
}
}
};
/*----------------- Kommunicate settings end ------------------*/
var s = document.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = "https://widget.kommunicate.io/kommunicate-widget-3.0.min.js";
var h = document.getElementsByTagName("head")[0];
h.appendChild(s);
window.kommunicate = m;
m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
</script>