mirror of
https://github.com/Equicord/Equicord.git
synced 2025-03-05 08:49:53 -05:00
Remove Shavian From Translate+
We are back below 1.5mb
This commit is contained in:
parent
de726bb51b
commit
cc9495769f
3 changed files with 3 additions and 75291 deletions
File diff suppressed because it is too large
Load diff
|
@ -68,7 +68,6 @@ export const Languages = {
|
||||||
"ee": "Ewe",
|
"ee": "Ewe",
|
||||||
"tl": "Filipino",
|
"tl": "Filipino",
|
||||||
"tp": "Toki Pona",
|
"tp": "Toki Pona",
|
||||||
"sh": "Shavian",
|
|
||||||
"fi": "Finnish",
|
"fi": "Finnish",
|
||||||
"fr": "French",
|
"fr": "French",
|
||||||
"fy": "Frisian",
|
"fy": "Frisian",
|
||||||
|
|
|
@ -35,63 +35,18 @@ export interface TranslationValue {
|
||||||
text: string;
|
text: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const dictonary = /\b(?:leko|weka|pan|lete|linja|lipu|suli|nimi|akesi|misikeke|selo|ike|sijelo|sona|lili|pimeja|ante|jo|loje|telo|walo|kijetesantakalu|kasi|waso|wile|utala|lukin|sina|lape|ma|pilin|jasima|la|olin|pipi|meso|lawa|pi|pakala|oko|tan|ken|jaki|unpa|esun|seme|sitelen|len|kule|soko|open|ala|tenpo|lon|sinpin|pini|kokosila|mama|musi|monsi|mewika|taso|ona|mun|kiwen|tomo|mute|mi|nena|palisa|meli|laso|wawa|ale|kipisi|kulupu|ilo|lupa|nanpa|en|mu|jelo|kili|tonsi|moku|ni|kama|pu|poki|monsuta|sin|lasina|poka|soweli|sewi|elena|epiku|moli|pona|lanpan|alasa|anu|kute|uta|luka|suno|sama|awen|namako|suwi|noka|seli|mije|sike|jan|pali|tawa|inli|nasa|mani|wan|insa|nijon|nasin|kalama|ijo|toki|anpa|kala|kepeken|ko|kon|pana|tu|supa|kin|usawi|yupekosi)\b/gm;
|
||||||
|
|
||||||
function isTokiPona(string) {
|
function isTokiPona(string) {
|
||||||
const words = string.split(/\s+/);
|
const words = string.split(/\s+/);
|
||||||
|
|
||||||
const matches = string.match(/\b(?:leko|weka|pan|lete|linja|lipu|suli|nimi|akesi|misikeke|selo|ike|sijelo|sona|lili|pimeja|ante|jo|loje|telo|walo|kijetesantakalu|kasi|waso|wile|utala|lukin|sina|lape|ma|pilin|jasima|la|olin|pipi|meso|lawa|pi|pakala|oko|tan|ken|jaki|unpa|esun|seme|sitelen|len|kule|soko|open|ala|tenpo|lon|sinpin|pini|kokosila|mama|musi|monsi|mewika|taso|ona|mun|kiwen|tomo|mute|mi|nena|palisa|meli|laso|wawa|ale|kipisi|kulupu|ilo|lupa|nanpa|en|mu|jelo|kili|tonsi|moku|ni|kama|pu|poki|monsuta|sin|lasina|poka|soweli|sewi|elena|epiku|moli|pona|lanpan|alasa|anu|kute|uta|luka|suno|sama|awen|namako|suwi|noka|seli|mije|sike|jan|pali|tawa|inli|nasa|mani|wan|insa|nijon|nasin|kalama|ijo|toki|anpa|kala|kepeken|ko|kon|pana|tu|supa|kin|usawi|yupekosi)\b/gm) || [];
|
const matches = string.match(dictonary) || [];
|
||||||
|
|
||||||
const percentage = (matches.length / words.length) * 100;
|
const percentage = (matches.length / words.length) * 100;
|
||||||
|
|
||||||
return percentage >= 50;
|
return percentage >= 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
import { rawDictionary } from "../misc/dictionary";
|
|
||||||
|
|
||||||
function translateShavian(message) {
|
|
||||||
const dictionary = JSON.parse(rawDictionary);
|
|
||||||
|
|
||||||
const punctuationMap = {
|
|
||||||
'"': "\"",
|
|
||||||
"«": "\"",
|
|
||||||
"»": "\"",
|
|
||||||
",": ",",
|
|
||||||
"!": "!",
|
|
||||||
"?": "?",
|
|
||||||
".": ".",
|
|
||||||
"(": "(",
|
|
||||||
")": ")",
|
|
||||||
"/": "/",
|
|
||||||
";": ";",
|
|
||||||
":": ":"
|
|
||||||
};
|
|
||||||
|
|
||||||
let translated = "";
|
|
||||||
const words = message.split(/\s+/);
|
|
||||||
|
|
||||||
for (let word of words) {
|
|
||||||
let punctuationBefore = "", punctuationAfter = "";
|
|
||||||
|
|
||||||
if (word[0] in punctuationMap) {
|
|
||||||
punctuationBefore = punctuationMap[word[0]];
|
|
||||||
word = word.slice(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (word[word.length - 1] in punctuationMap) {
|
|
||||||
punctuationAfter = punctuationMap[word[word.length - 1]];
|
|
||||||
word = word.slice(0, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
translated += punctuationBefore;
|
|
||||||
|
|
||||||
if (word in dictionary) translated += dictionary[word];
|
|
||||||
else translated += word;
|
|
||||||
|
|
||||||
translated += punctuationAfter + " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
return translated.trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function translate(kind: "received" | "sent", text: string): Promise<TranslationValue> {
|
export async function translate(kind: "received" | "sent", text: string): Promise<TranslationValue> {
|
||||||
let output;
|
let output;
|
||||||
|
|
||||||
|
@ -116,11 +71,6 @@ export async function translate(kind: "received" | "sent", text: string): Promis
|
||||||
src: "tp",
|
src: "tp",
|
||||||
text: translate.translation[0]
|
text: translate.translation[0]
|
||||||
};
|
};
|
||||||
} else if (/[\u{10450}-\u{1047F}]+/u.test(text)) {
|
|
||||||
output = {
|
|
||||||
src: "sh",
|
|
||||||
text: translateShavian(text)
|
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
const [sourceLang, targetLang] = [settings.store[kind + "Input"], settings.store[kind + "Output"]];
|
const [sourceLang, targetLang] = [settings.store[kind + "Input"], settings.store[kind + "Output"]];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue