Skip to content

Commit

Permalink
added language pair verification
Browse files Browse the repository at this point in the history
  • Loading branch information
OverPoweredDev committed Jul 11, 2021
1 parent 623932a commit 0c796db
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 13 deletions.
8 changes: 6 additions & 2 deletions src/content/content.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ browser.runtime.onMessage.addListener(async function(request, sender, sendRespon
sourceLanguage = await getWebsiteLanguage();
}

await translateWebpage(sourceLanguage, settings.defaultLanguage);
sendResponse({});
if(verifyLangPairs(sourceLanguage, settings.defaultLanguage)) {
await translateWebpage(sourceLanguage, settings.defaultLanguage);
sendResponse({translated: true});
} else {
sendResponse({translated: false, problem: 'Invalid Language Pair'});
}
});

async function addHoverElements(settings) {
Expand Down
13 changes: 9 additions & 4 deletions src/lib/storage.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,27 @@ function saveGlobalSettings(settings) {
function getLangPairs() {
let langPairs = localStorage.getItem("apertium.langPairs");

if(langPairs === null) {
if (langPairs === null) {
let languageList = fetchLanguageList(getLangPairsEndpoint());
console.log(languageList)
createLanguagePairs(languageList);
return createLanguagePairs(languageList);
}

return JSON.parse(langPairs);
}

function verifyLangPairs(sourceLang, targetLang) {
let langPairs = getLangPairs().langPairs;
let langPairExists = (pair) => pair.sourceLanguage === sourceLang && pair.targetLanguage === targetLang
return langPairs.some(langPairExists)
}

async function fetchLanguageList(listPairURL) {
return fetch(listPairURL)
.then(response => response.json())
.then(data => data.responseData);
}

function createLanguagePairs(languageList){
function createLanguagePairs(languageList) {
let current = new Date();

let langPairs = {
Expand Down
13 changes: 6 additions & 7 deletions src/lib/translate.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ async function translateWebpage(sourceLanguage, targetLanguage) {
let transportDocument = createNewDocument(textElements);

let translatedDocument = await getTranslatedDocument(sourceLanguage, targetLanguage, transportDocument, 'transport.html');
console.log(translatedDocument);
}

function createNewDocument(nodeList) {
Expand Down Expand Up @@ -88,15 +89,13 @@ async function getTranslatedDocument(sourceLanguage, targetLanguage, file, filen
formData.append('langpair', langPair);
formData.append('file', file, filename)

fetch(getTranslateDocEndpoint(), {
let blob = await fetch(getTranslateDocEndpoint(), {
method: 'POST',
body: formData
})
.then(response => response.blob())
.then((blob) => {
console.log(blob);
download(blob, filename);
})
}).then(response => response.blob());

download(blob, filename);
return (await blob).text();
}

// everything below courtesy of https://gist.github.com/TinoDidriksen/c41c33ca5809ff297bf7b1608b3a41e2
Expand Down
2 changes: 2 additions & 0 deletions src/popup/popup.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ $("#translate-button").on('click', async function () {
let targetLanguage = await getTargetLanguage();
if (!targetLanguage || targetLanguage === 'select') return;

if(!verifyLangPairs(sourceLanguage, targetLanguage)) return;

getTranslation(translateInput, sourceLanguage, targetLanguage).then(translateOutput => {
$(".output-text-box").val(translateOutput);
});
Expand Down

0 comments on commit 0c796db

Please sign in to comment.