new translations types
This commit is contained in:
parent
cbd3228650
commit
02da2af846
2
dist/mailgo.dark.min.js.map
vendored
2
dist/mailgo.dark.min.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/mailgo.min.js.map
vendored
2
dist/mailgo.min.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
27
mailgo.d.ts
vendored
27
mailgo.d.ts
vendored
@ -10,5 +10,32 @@ declare module "mailgo" {
|
|||||||
forceLang?: boolean;
|
forceLang?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type MailgoTranslation = {
|
||||||
|
open_in?: string;
|
||||||
|
cc_?: string;
|
||||||
|
bcc_?: string;
|
||||||
|
subject_?: string;
|
||||||
|
body_?: string;
|
||||||
|
gmail?: string;
|
||||||
|
outlook?: string;
|
||||||
|
telegram?: string;
|
||||||
|
whatsapp?: string;
|
||||||
|
skype?: string;
|
||||||
|
call?: string;
|
||||||
|
open?: string;
|
||||||
|
_default?: string;
|
||||||
|
_as_default?: string;
|
||||||
|
copy?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type MailgoTranslations = {
|
||||||
|
[language: string]: MailgoTranslation;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type MailgoI18n = {
|
||||||
|
languages: string[];
|
||||||
|
translations: MailgoTranslations;
|
||||||
|
};
|
||||||
|
|
||||||
export default function mailgo(mailgoConfig?: MailgoConfig): void;
|
export default function mailgo(mailgoConfig?: MailgoConfig): void;
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
import { MailgoConfig } from "mailgo";
|
import {
|
||||||
|
MailgoConfig,
|
||||||
|
MailgoTranslations,
|
||||||
|
MailgoTranslation,
|
||||||
|
MailgoI18n,
|
||||||
|
} from "mailgo";
|
||||||
|
|
||||||
// i18n for mailgo
|
// i18n for mailgo
|
||||||
const i18n = require("../i18n/i18n.json");
|
const i18n: MailgoI18n = require("../i18n/i18n.json");
|
||||||
|
|
||||||
// mailgo scss
|
// mailgo scss
|
||||||
const mailgoCSS = require("./mailgo.scss").toString();
|
const mailgoCSS: string = require("./mailgo.scss").toString();
|
||||||
|
|
||||||
// default lang
|
// default lang
|
||||||
const DEFAULT_LANG = "en";
|
const DEFAULT_LANG: string = "en";
|
||||||
|
|
||||||
// links
|
// links
|
||||||
const MAILTO: string = "mailto:";
|
const MAILTO: string = "mailto:";
|
||||||
@ -71,7 +76,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
let lang = DEFAULT_LANG;
|
let lang = DEFAULT_LANG;
|
||||||
|
|
||||||
// translations
|
// translations
|
||||||
let translations: any = i18n.translations;
|
let translations: MailgoTranslations = i18n.translations;
|
||||||
|
|
||||||
// if a default language is defined use it
|
// if a default language is defined use it
|
||||||
if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {
|
if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {
|
||||||
@ -81,7 +86,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
// if is defined <html lang=""> use it!
|
// if is defined <html lang=""> use it!
|
||||||
if (!mailgoConfig?.forceLang) {
|
if (!mailgoConfig?.forceLang) {
|
||||||
// keep the lang from html
|
// keep the lang from html
|
||||||
let htmlLang = document.documentElement.lang;
|
let htmlLang: string = document.documentElement.lang;
|
||||||
|
|
||||||
// if there are translations...
|
// if there are translations...
|
||||||
if (i18n.languages.includes(htmlLang)) {
|
if (i18n.languages.includes(htmlLang)) {
|
||||||
@ -90,8 +95,8 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// strings
|
// strings
|
||||||
let defaultStrings: any = translations[DEFAULT_LANG];
|
let defaultStrings: MailgoTranslation = translations[DEFAULT_LANG];
|
||||||
let strings: any = translations[lang];
|
let strings: MailgoTranslation = translations[lang];
|
||||||
|
|
||||||
// mailgo mail
|
// mailgo mail
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user