working on i18n... (a lot to do...)
This commit is contained in:
parent
301ef64611
commit
13e8e9e828
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"open_in": "open in "
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"open_in": "apri con "
|
||||
}
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
export type MailgoConfig = {
|
||||
initEvent?: string;
|
||||
lang?: string;
|
||||
defaultLang?: string;
|
||||
forceLang?: boolean;
|
||||
// TODO here mailgo configurations!
|
||||
};
|
||||
|
||||
|
|
25
mailgo.js
25
mailgo.js
|
@ -1,3 +1,7 @@
|
|||
// i18n for mailgo
|
||||
import i18n from "./i18n/i18n";
|
||||
// default lang
|
||||
const DEFAULT_LANG = "en";
|
||||
// links
|
||||
const MAILTO = "mailto:";
|
||||
const TEL = "tel:";
|
||||
|
@ -22,6 +26,17 @@ let gmail, outlook, open, telegram, wa, skype, call, copyMail, copyTel;
|
|||
* the function that creates the mailgo elements in DOM
|
||||
*/
|
||||
const mailgoInit = (mailgoConfig) => {
|
||||
// default language
|
||||
let lang = DEFAULT_LANG;
|
||||
// translations
|
||||
let translations = i18n.translations;
|
||||
// if a default language is defined use it
|
||||
if (mailgoConfig.defaultLang &&
|
||||
i18n.languages.includes(mailgoConfig.defaultLang)) {
|
||||
lang = mailgoConfig.defaultLang;
|
||||
}
|
||||
// strings
|
||||
let strings = translations[lang];
|
||||
// mailgo mail
|
||||
{
|
||||
// modal
|
||||
|
@ -93,7 +108,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||
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"));
|
||||
|
@ -105,7 +120,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||
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"));
|
||||
|
@ -165,7 +180,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||
telegram.classList.add("m-tg");
|
||||
// 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"));
|
||||
|
@ -177,7 +192,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||
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"));
|
||||
|
@ -189,7 +204,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||
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"));
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
export default {
|
||||
languages: ["en", "it"],
|
||||
translations: {
|
||||
en: {
|
||||
open_in: "open in ",
|
||||
},
|
||||
it: {
|
||||
open_in: "apri con ",
|
||||
},
|
||||
},
|
||||
};
|
|
@ -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"));
|
||||
|
|
Loading…
Reference in New Issue