working on i18n... (a lot to do...)

This commit is contained in:
Matteo Manzinello
2020-06-10 19:19:38 +02:00
parent 301ef64611
commit 13e8e9e828
6 changed files with 61 additions and 17 deletions

11
src/i18n/i18n.js Normal file
View File

@@ -0,0 +1,11 @@
export default {
languages: ["en", "it"],
translations: {
en: {
open_in: "open in ",
},
it: {
open_in: "apri con ",
},
},
};

View File

@@ -1,5 +1,11 @@
import { MailgoConfig } from "../mailgo";
// i18n for mailgo
import i18n from "./i18n/i18n";
// default lang
const DEFAULT_LANG = "en";
// links
const MAILTO: string = "mailto:";
const TEL: string = "tel:";
@@ -58,6 +64,23 @@ let gmail: HTMLLinkElement,
* the function that creates the mailgo elements in DOM
*/
const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
// default language
let lang = DEFAULT_LANG;
// translations
let translations: any = i18n.translations;
// if a default language is defined use it
if (
mailgoConfig.defaultLang &&
i18n.languages.includes(mailgoConfig.defaultLang)
) {
lang = mailgoConfig.defaultLang;
}
// strings
let strings: any = translations[lang];
// mailgo mail
{
// modal
@@ -139,7 +162,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
gmail.href = DEFAULT_BTN_HREF;
gmail.classList.add("m-open");
gmail.classList.add("m-gmail");
gmail.appendChild(createTextNode("open in "));
gmail.appendChild(createTextNode(strings.open_in));
let gmailSpan = createElement(span);
gmailSpan.className = "w-500";
gmailSpan.appendChild(createTextNode("Gmail"));
@@ -153,7 +176,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
outlook.href = DEFAULT_BTN_HREF;
outlook.classList.add("m-open");
outlook.classList.add("m-outlook");
outlook.appendChild(createTextNode("open in "));
outlook.appendChild(createTextNode(strings.open_in));
let outlookSpan = createElement(span);
outlookSpan.className = "w-500";
outlookSpan.appendChild(createTextNode("Outlook"));
@@ -227,7 +250,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
// by default not display
telegram.style.display = "none";
telegram.appendChild(createTextNode("open in "));
telegram.appendChild(createTextNode(strings.open_in));
let telegramSpan = createElement(span);
telegramSpan.className = "w-500";
telegramSpan.appendChild(createTextNode("Telegram"));
@@ -241,7 +264,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
wa.href = DEFAULT_BTN_HREF;
wa.classList.add("m-open");
wa.classList.add("m-wa");
wa.appendChild(createTextNode("open in "));
wa.appendChild(createTextNode(strings.open_in));
let waSpan = createElement(span);
waSpan.className = "w-500";
waSpan.appendChild(createTextNode("WhatsApp"));
@@ -255,7 +278,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
skype.href = DEFAULT_BTN_HREF;
skype.classList.add("m-open");
skype.classList.add("m-skype");
skype.appendChild(createTextNode("open in "));
skype.appendChild(createTextNode(strings.open_in));
let skypeSpan = createElement(span);
skypeSpan.className = "w-500";
skypeSpan.appendChild(createTextNode("Skype"));