Feature: Introduce locale in web-widget SDK (#871)

* Introduce setLocale in SDK

Co-authored-by: Sojan <sojan@pepalo.com>
This commit is contained in:
Pranav Raj S 2020-05-17 16:15:53 +05:30 committed by GitHub
parent 2e8cd59a06
commit 59f4dd7ebe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 67 additions and 13 deletions

View file

@ -19,7 +19,7 @@ export default {
},
mounted() {
const { websiteToken, locale } = window.chatwootWebChannel;
Vue.config.lang = locale;
this.setLocale(locale);
if (IFrameHelper.isIFrame()) {
IFrameHelper.sendMessage({
@ -44,6 +44,7 @@ export default {
if (message.event === 'config-set') {
this.fetchOldConversations();
this.fetchAvailableAgents(websiteToken);
this.setLocale(message.locale);
} else if (message.event === 'widget-visible') {
this.scrollConversationToBottom();
} else if (message.event === 'set-current-url') {
@ -58,6 +59,8 @@ export default {
this.$store.dispatch('conversationLabels/destroy', message.label);
} else if (message.event === 'set-user') {
this.$store.dispatch('contacts/update', message);
} else if (message.event === 'set-locale') {
this.setLocale(message.locale);
}
});
@ -71,6 +74,12 @@ export default {
const container = this.$el.querySelector('.conversation-wrap');
container.scrollTop = container.scrollHeight;
},
setLocale(locale) {
const { enabledLanguages } = window.chatwootWebChannel;
if (enabledLanguages.some(lang => lang.iso_639_1_code === locale)) {
Vue.config.lang = locale;
}
},
},
};
</script>