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;
|
||||
};
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -1,13 +1,18 @@
|
||||
import { MailgoConfig } from "mailgo";
|
||||
import {
|
||||
MailgoConfig,
|
||||
MailgoTranslations,
|
||||
MailgoTranslation,
|
||||
MailgoI18n,
|
||||
} from "mailgo";
|
||||
|
||||
// i18n for mailgo
|
||||
const i18n = require("../i18n/i18n.json");
|
||||
const i18n: MailgoI18n = require("../i18n/i18n.json");
|
||||
|
||||
// mailgo scss
|
||||
const mailgoCSS = require("./mailgo.scss").toString();
|
||||
const mailgoCSS: string = require("./mailgo.scss").toString();
|
||||
|
||||
// default lang
|
||||
const DEFAULT_LANG = "en";
|
||||
const DEFAULT_LANG: string = "en";
|
||||
|
||||
// links
|
||||
const MAILTO: string = "mailto:";
|
||||
@ -71,7 +76,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
||||
let lang = DEFAULT_LANG;
|
||||
|
||||
// translations
|
||||
let translations: any = i18n.translations;
|
||||
let translations: MailgoTranslations = i18n.translations;
|
||||
|
||||
// if a default language is defined use it
|
||||
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 (!mailgoConfig?.forceLang) {
|
||||
// keep the lang from html
|
||||
let htmlLang = document.documentElement.lang;
|
||||
let htmlLang: string = document.documentElement.lang;
|
||||
|
||||
// if there are translations...
|
||||
if (i18n.languages.includes(htmlLang)) {
|
||||
@ -90,8 +95,8 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => {
|
||||
}
|
||||
|
||||
// strings
|
||||
let defaultStrings: any = translations[DEFAULT_LANG];
|
||||
let strings: any = translations[lang];
|
||||
let defaultStrings: MailgoTranslation = translations[DEFAULT_LANG];
|
||||
let strings: MailgoTranslation = translations[lang];
|
||||
|
||||
// mailgo mail
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user