lingva-scraper-update
Version:
Google Translate scraper for Lingva Translate
460 lines (459 loc) • 11.7 kB
TypeScript
import { languages, exceptions, mappings } from "./languages.json";
export declare const LanguageType: {
readonly SOURCE: "source";
readonly TARGET: "target";
};
export declare type LangType = typeof LanguageType[keyof typeof LanguageType];
export declare type LangCode<T extends LangType | void = void> = T extends LangType ? Exclude<keyof typeof languages, keyof typeof exceptions[T]> : keyof typeof languages;
export declare type LangCodeGoogle<T extends LangCode | LangType = LangCode> = T extends LangType ? Exclude<LangCode<T>, keyof typeof mappings["request"]> | keyof typeof mappings["response"] : Exclude<T, keyof typeof mappings["request"]> | keyof typeof mappings["response"];
/**
* Checks if the given code is a valid language code and infers its type correctly
* @param code - The hypothetical code to check
* @param [langType] - The type of language to check on
* @returns A boolean showing whether the code is valid or not
*/
export declare const isValidCode: <T extends LangType>(code: string | null | undefined, langType?: T | undefined) => code is LangCode<T>;
/**
* Changes invalid languages for a certain language type with the proper replacement
* @param langType - The type of language to check on
* @param langCode - A *Lingva* language code
* @returns A proper *Lingva* code for that language type
*/
export declare const replaceExceptedCode: <T extends LangType>(langType: T, langCode: LangCode) => LangCode<T>;
/**
* Maps a *Lingva* language code to a *Google* one
* @param langCode - A *Lingva* language code
* @returns The proper *Google* code for that language
*/
export declare const mapGoogleCode: <T extends "auto" | "id" | "hr" | "th" | "tr" | "so" | "zh" | "en" | "af" | "sq" | "am" | "ar" | "hy" | "as" | "ay" | "az" | "bm" | "eu" | "be" | "bn" | "bho" | "bs" | "bg" | "ca" | "ceb" | "ny" | "zh_HANT" | "co" | "cs" | "da" | "dv" | "doi" | "nl" | "eo" | "et" | "ee" | "tl" | "fi" | "fr" | "fy" | "gl" | "ka" | "de" | "el" | "gn" | "gu" | "ht" | "ha" | "haw" | "iw" | "hi" | "hmn" | "hu" | "is" | "ig" | "ilo" | "ga" | "it" | "ja" | "jw" | "kn" | "kk" | "km" | "rw" | "gom" | "ko" | "kri" | "ku" | "ckb" | "ky" | "lo" | "la" | "lv" | "ln" | "lt" | "lg" | "lb" | "mk" | "mai" | "mg" | "ms" | "ml" | "mt" | "mi" | "mr" | "mni-Mtei" | "lus" | "mn" | "my" | "ne" | "no" | "or" | "om" | "ps" | "fa" | "pl" | "pt" | "pa" | "qu" | "ro" | "ru" | "sm" | "sa" | "gd" | "nso" | "sr" | "st" | "sn" | "sd" | "si" | "sk" | "sl" | "es" | "su" | "sw" | "sv" | "tg" | "ta" | "tt" | "te" | "ti" | "ts" | "tk" | "ak" | "uk" | "ur" | "ug" | "uz" | "vi" | "cy" | "xh" | "yi" | "yo" | "zu">(langCode: T) => LangCodeGoogle<T>;
/**
* Maps a *Google* language code to a *Lingva* one
* @param langCode - A *Google* language code
* @returns The proper *Lingva* code for that language
*/
export declare const mapLingvaCode: <T extends LangType>(langCode: LangCodeGoogle<T>) => LangCode<T>;
export declare const languageList: {
all: {
auto: string;
af: string;
sq: string;
am: string;
ar: string;
hy: string;
as: string;
ay: string;
az: string;
bm: string;
eu: string;
be: string;
bn: string;
bho: string;
bs: string;
bg: string;
ca: string;
ceb: string;
ny: string;
zh: string;
zh_HANT: string;
co: string;
hr: string;
cs: string;
da: string;
dv: string;
doi: string;
nl: string;
en: string;
eo: string;
et: string;
ee: string;
tl: string;
fi: string;
fr: string;
fy: string;
gl: string;
ka: string;
de: string;
el: string;
gn: string;
gu: string;
ht: string;
ha: string;
haw: string;
iw: string;
hi: string;
hmn: string;
hu: string;
is: string;
ig: string;
ilo: string;
id: string;
ga: string;
it: string;
ja: string;
jw: string;
kn: string;
kk: string;
km: string;
rw: string;
gom: string;
ko: string;
kri: string;
ku: string;
ckb: string;
ky: string;
lo: string;
la: string;
lv: string;
ln: string;
lt: string;
lg: string;
lb: string;
mk: string;
mai: string;
mg: string;
ms: string;
ml: string;
mt: string;
mi: string;
/**
* Maps a *Lingva* language code to a *Google* one
* @param langCode - A *Lingva* language code
* @returns The proper *Google* code for that language
*/
mr: string;
"mni-Mtei": string;
lus: string;
mn: string;
my: string;
ne: string;
no: string;
or: string;
om: string;
ps: string;
fa: string;
pl: string;
pt: string;
pa: string;
qu: string;
ro: string;
ru: string;
sm: string;
sa: string;
gd: string;
nso: string;
sr: string;
st: string;
sn: string;
sd: string;
si: string;
sk: string;
sl: string;
so: string;
es: string;
su: string;
sw: string;
sv: string;
tg: string;
ta: string;
tt: string;
te: string;
th: string;
ti: string;
ts: string;
tr: string;
tk: string;
ak: string;
uk: string;
ur: string;
ug: string;
uz: string;
vi: string;
cy: string;
xh: string;
yi: string;
yo: string;
zu: string;
};
source: {
auto: string;
af: string;
sq: string;
am: string;
ar: string;
hy: string;
as: string;
ay: string;
az: string;
bm: string;
eu: string;
be: string;
bn: string;
bho: string;
bs: string;
bg: string;
ca: string;
ceb: string;
ny: string;
zh: string;
zh_HANT: string;
co: string;
hr: string;
cs: string;
da: string;
dv: string;
doi: string;
nl: string;
en: string;
eo: string;
et: string;
ee: string;
tl: string;
fi: string;
fr: string;
fy: string;
gl: string;
ka: string;
de: string;
el: string;
gn: string;
gu: string;
ht: string;
ha: string;
haw: string;
iw: string;
hi: string;
hmn: string;
hu: string;
is: string;
ig: string;
ilo: string;
id: string;
ga: string;
it: string;
ja: string;
jw: string;
kn: string;
kk: string;
km: string;
rw: string;
gom: string;
ko: string;
kri: string;
ku: string;
ckb: string;
ky: string;
lo: string;
la: string;
lv: string;
ln: string;
lt: string;
lg: string;
lb: string;
mk: string;
mai: string;
mg: string;
ms: string;
ml: string;
mt: string;
mi: string;
/**
* Maps a *Lingva* language code to a *Google* one
* @param langCode - A *Lingva* language code
* @returns The proper *Google* code for that language
*/
mr: string;
"mni-Mtei": string;
lus: string;
mn: string;
my: string;
ne: string;
no: string;
or: string;
om: string;
ps: string;
fa: string;
pl: string;
pt: string;
pa: string;
qu: string;
ro: string;
ru: string;
sm: string;
sa: string;
gd: string;
nso: string;
sr: string;
st: string;
sn: string;
sd: string;
si: string;
sk: string;
sl: string;
so: string;
es: string;
su: string;
sw: string;
sv: string;
tg: string;
ta: string;
tt: string;
te: string;
th: string;
ti: string;
ts: string;
tr: string;
tk: string;
ak: string;
uk: string;
ur: string;
ug: string;
uz: string;
vi: string;
cy: string;
xh: string;
yi: string;
yo: string;
zu: string;
};
target: {
auto: string;
af: string;
sq: string;
am: string;
ar: string;
hy: string;
as: string;
ay: string;
az: string;
bm: string;
eu: string;
be: string;
bn: string;
bho: string;
bs: string;
bg: string;
ca: string;
ceb: string;
ny: string;
zh: string;
zh_HANT: string;
co: string;
hr: string;
cs: string;
da: string;
dv: string;
doi: string;
nl: string;
en: string;
eo: string;
et: string;
ee: string;
tl: string;
fi: string;
fr: string;
fy: string;
gl: string;
ka: string;
de: string;
el: string;
gn: string;
gu: string;
ht: string;
ha: string;
haw: string;
iw: string;
hi: string;
hmn: string;
hu: string;
is: string;
ig: string;
ilo: string;
id: string;
ga: string;
it: string;
ja: string;
jw: string;
kn: string;
kk: string;
km: string;
rw: string;
gom: string;
ko: string;
kri: string;
ku: string;
ckb: string;
ky: string;
lo: string;
la: string;
lv: string;
ln: string;
lt: string;
lg: string;
lb: string;
mk: string;
mai: string;
mg: string;
ms: string;
ml: string;
mt: string;
mi: string;
/**
* Maps a *Lingva* language code to a *Google* one
* @param langCode - A *Lingva* language code
* @returns The proper *Google* code for that language
*/
mr: string;
"mni-Mtei": string;
lus: string;
mn: string;
my: string;
ne: string;
no: string;
or: string;
om: string;
ps: string;
fa: string;
pl: string;
pt: string;
pa: string;
qu: string;
ro: string;
ru: string;
sm: string;
sa: string;
gd: string;
nso: string;
sr: string;
st: string;
sn: string;
sd: string;
si: string;
sk: string;
sl: string;
so: string;
es: string;
su: string;
sw: string;
sv: string;
tg: string;
ta: string;
tt: string;
te: string;
th: string;
ti: string;
ts: string;
tr: string;
tk: string;
ak: string;
uk: string;
ur: string;
ug: string;
uz: string;
vi: string;
cy: string;
xh: string;
yi: string;
yo: string;
zu: string;
};
};