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 "
|
|
||||||
}
|
|
3
mailgo.d.ts
vendored
3
mailgo.d.ts
vendored
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
export type MailgoConfig = {
|
export type MailgoConfig = {
|
||||||
initEvent?: string;
|
initEvent?: string;
|
||||||
lang?: string;
|
defaultLang?: string;
|
||||||
|
forceLang?: boolean;
|
||||||
// TODO here mailgo configurations!
|
// 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
|
// links
|
||||||
const MAILTO = "mailto:";
|
const MAILTO = "mailto:";
|
||||||
const TEL = "tel:";
|
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
|
* the function that creates the mailgo elements in DOM
|
||||||
*/
|
*/
|
||||||
const mailgoInit = (mailgoConfig) => {
|
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
|
// mailgo mail
|
||||||
{
|
{
|
||||||
// modal
|
// modal
|
||||||
@ -93,7 +108,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||||||
gmail.href = DEFAULT_BTN_HREF;
|
gmail.href = DEFAULT_BTN_HREF;
|
||||||
gmail.classList.add("m-open");
|
gmail.classList.add("m-open");
|
||||||
gmail.classList.add("m-gmail");
|
gmail.classList.add("m-gmail");
|
||||||
gmail.appendChild(createTextNode("open in "));
|
gmail.appendChild(createTextNode(strings.open_in));
|
||||||
let gmailSpan = createElement(span);
|
let gmailSpan = createElement(span);
|
||||||
gmailSpan.className = "w-500";
|
gmailSpan.className = "w-500";
|
||||||
gmailSpan.appendChild(createTextNode("Gmail"));
|
gmailSpan.appendChild(createTextNode("Gmail"));
|
||||||
@ -105,7 +120,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||||||
outlook.href = DEFAULT_BTN_HREF;
|
outlook.href = DEFAULT_BTN_HREF;
|
||||||
outlook.classList.add("m-open");
|
outlook.classList.add("m-open");
|
||||||
outlook.classList.add("m-outlook");
|
outlook.classList.add("m-outlook");
|
||||||
outlook.appendChild(createTextNode("open in "));
|
outlook.appendChild(createTextNode(strings.open_in));
|
||||||
let outlookSpan = createElement(span);
|
let outlookSpan = createElement(span);
|
||||||
outlookSpan.className = "w-500";
|
outlookSpan.className = "w-500";
|
||||||
outlookSpan.appendChild(createTextNode("Outlook"));
|
outlookSpan.appendChild(createTextNode("Outlook"));
|
||||||
@ -165,7 +180,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||||||
telegram.classList.add("m-tg");
|
telegram.classList.add("m-tg");
|
||||||
// by default not display
|
// by default not display
|
||||||
telegram.style.display = "none";
|
telegram.style.display = "none";
|
||||||
telegram.appendChild(createTextNode("open in "));
|
telegram.appendChild(createTextNode(strings.open_in));
|
||||||
let telegramSpan = createElement(span);
|
let telegramSpan = createElement(span);
|
||||||
telegramSpan.className = "w-500";
|
telegramSpan.className = "w-500";
|
||||||
telegramSpan.appendChild(createTextNode("Telegram"));
|
telegramSpan.appendChild(createTextNode("Telegram"));
|
||||||
@ -177,7 +192,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||||||
wa.href = DEFAULT_BTN_HREF;
|
wa.href = DEFAULT_BTN_HREF;
|
||||||
wa.classList.add("m-open");
|
wa.classList.add("m-open");
|
||||||
wa.classList.add("m-wa");
|
wa.classList.add("m-wa");
|
||||||
wa.appendChild(createTextNode("open in "));
|
wa.appendChild(createTextNode(strings.open_in));
|
||||||
let waSpan = createElement(span);
|
let waSpan = createElement(span);
|
||||||
waSpan.className = "w-500";
|
waSpan.className = "w-500";
|
||||||
waSpan.appendChild(createTextNode("WhatsApp"));
|
waSpan.appendChild(createTextNode("WhatsApp"));
|
||||||
@ -189,7 +204,7 @@ const mailgoInit = (mailgoConfig) => {
|
|||||||
skype.href = DEFAULT_BTN_HREF;
|
skype.href = DEFAULT_BTN_HREF;
|
||||||
skype.classList.add("m-open");
|
skype.classList.add("m-open");
|
||||||
skype.classList.add("m-skype");
|
skype.classList.add("m-skype");
|
||||||
skype.appendChild(createTextNode("open in "));
|
skype.appendChild(createTextNode(strings.open_in));
|
||||||
let skypeSpan = createElement(span);
|
let skypeSpan = createElement(span);
|
||||||
skypeSpan.className = "w-500";
|
skypeSpan.className = "w-500";
|
||||||
skypeSpan.appendChild(createTextNode("Skype"));
|
skypeSpan.appendChild(createTextNode("Skype"));
|
||||||
|
11
src/i18n/i18n.js
Normal file
11
src/i18n/i18n.js
Normal file
@ -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";
|
import { MailgoConfig } from "../mailgo";
|
||||||
|
|
||||||
|
// i18n for mailgo
|
||||||
|
import i18n from "./i18n/i18n";
|
||||||
|
|
||||||
|
// default lang
|
||||||
|
const DEFAULT_LANG = "en";
|
||||||
|
|
||||||
// links
|
// links
|
||||||
const MAILTO: string = "mailto:";
|
const MAILTO: string = "mailto:";
|
||||||
const TEL: string = "tel:";
|
const TEL: string = "tel:";
|
||||||
@ -58,6 +64,23 @@ let gmail: HTMLLinkElement,
|
|||||||
* the function that creates the mailgo elements in DOM
|
* the function that creates the mailgo elements in DOM
|
||||||
*/
|
*/
|
||||||
const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
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
|
// mailgo mail
|
||||||
{
|
{
|
||||||
// modal
|
// modal
|
||||||
@ -139,7 +162,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
gmail.href = DEFAULT_BTN_HREF;
|
gmail.href = DEFAULT_BTN_HREF;
|
||||||
gmail.classList.add("m-open");
|
gmail.classList.add("m-open");
|
||||||
gmail.classList.add("m-gmail");
|
gmail.classList.add("m-gmail");
|
||||||
gmail.appendChild(createTextNode("open in "));
|
gmail.appendChild(createTextNode(strings.open_in));
|
||||||
let gmailSpan = createElement(span);
|
let gmailSpan = createElement(span);
|
||||||
gmailSpan.className = "w-500";
|
gmailSpan.className = "w-500";
|
||||||
gmailSpan.appendChild(createTextNode("Gmail"));
|
gmailSpan.appendChild(createTextNode("Gmail"));
|
||||||
@ -153,7 +176,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
outlook.href = DEFAULT_BTN_HREF;
|
outlook.href = DEFAULT_BTN_HREF;
|
||||||
outlook.classList.add("m-open");
|
outlook.classList.add("m-open");
|
||||||
outlook.classList.add("m-outlook");
|
outlook.classList.add("m-outlook");
|
||||||
outlook.appendChild(createTextNode("open in "));
|
outlook.appendChild(createTextNode(strings.open_in));
|
||||||
let outlookSpan = createElement(span);
|
let outlookSpan = createElement(span);
|
||||||
outlookSpan.className = "w-500";
|
outlookSpan.className = "w-500";
|
||||||
outlookSpan.appendChild(createTextNode("Outlook"));
|
outlookSpan.appendChild(createTextNode("Outlook"));
|
||||||
@ -227,7 +250,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
// by default not display
|
// by default not display
|
||||||
telegram.style.display = "none";
|
telegram.style.display = "none";
|
||||||
|
|
||||||
telegram.appendChild(createTextNode("open in "));
|
telegram.appendChild(createTextNode(strings.open_in));
|
||||||
let telegramSpan = createElement(span);
|
let telegramSpan = createElement(span);
|
||||||
telegramSpan.className = "w-500";
|
telegramSpan.className = "w-500";
|
||||||
telegramSpan.appendChild(createTextNode("Telegram"));
|
telegramSpan.appendChild(createTextNode("Telegram"));
|
||||||
@ -241,7 +264,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
wa.href = DEFAULT_BTN_HREF;
|
wa.href = DEFAULT_BTN_HREF;
|
||||||
wa.classList.add("m-open");
|
wa.classList.add("m-open");
|
||||||
wa.classList.add("m-wa");
|
wa.classList.add("m-wa");
|
||||||
wa.appendChild(createTextNode("open in "));
|
wa.appendChild(createTextNode(strings.open_in));
|
||||||
let waSpan = createElement(span);
|
let waSpan = createElement(span);
|
||||||
waSpan.className = "w-500";
|
waSpan.className = "w-500";
|
||||||
waSpan.appendChild(createTextNode("WhatsApp"));
|
waSpan.appendChild(createTextNode("WhatsApp"));
|
||||||
@ -255,7 +278,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
skype.href = DEFAULT_BTN_HREF;
|
skype.href = DEFAULT_BTN_HREF;
|
||||||
skype.classList.add("m-open");
|
skype.classList.add("m-open");
|
||||||
skype.classList.add("m-skype");
|
skype.classList.add("m-skype");
|
||||||
skype.appendChild(createTextNode("open in "));
|
skype.appendChild(createTextNode(strings.open_in));
|
||||||
let skypeSpan = createElement(span);
|
let skypeSpan = createElement(span);
|
||||||
skypeSpan.className = "w-500";
|
skypeSpan.className = "w-500";
|
||||||
skypeSpan.appendChild(createTextNode("Skype"));
|
skypeSpan.appendChild(createTextNode("Skype"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user