-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtradutor.html
More file actions
73 lines (64 loc) · 2.07 KB
/
tradutor.html
File metadata and controls
73 lines (64 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Translation App</title>
</head>
<body>
<textarea id="textareaFrom" placeholder="Enter text to translate"></textarea>
<select class="selectFrom">
<!-- Options will be inserted dynamically by JavaScript -->
</select>
<select class="selectTo">
<!-- Options will be inserted dynamically by JavaScript -->
</select>
<button id="btnTranslate">Translate</button>
<br>
<textarea id="textareaTo" placeholder="Translated text"></textarea>
<script>
const textareaFrom = document.querySelector("#textareaFrom");
const textareaTo = document.querySelector("#textareaTo");
const btnTranslate = document.querySelector("#btnTranslate");
const selects = document.querySelectorAll("select");
const countries = {
"en-GB": "Inglês",
"es-ES": "Espanhol",
"pt-BR": "Português",
"zh-CN": "Chinês",
"ko-KO": "Coreano",
"it-ELE": "Italiano",
"ja-JA": "Japonês",
"ru-RU": "Russo",
};
selects.forEach((tag) => {
for (let country in countries) {
let selected;
if (tag.className.includes("selectFrom") && country == "pt-BR") {
selected = "selected";
} else if (tag.className.includes("selectTo") && country == "en-GB") {
selected = "selected";
}
const option = `<option value="${country}" ${selected}>${countries[country]}</option>`;
tag.insertAdjacentHTML("beforeend", option);
}
});
btnTranslate.addEventListener("click", () => {
if (textareaFrom.value) {
loadTranslation();
} else {
textareaTo.value = "";
}
});
function loadTranslation() {
fetch(
`https://api.mymemory.translated.net/get?q=${textareaFrom.value}&langpair=${selects[0].value}|${selects[1].value}`
)
.then((res) => res.json())
.then((data) => {
textareaTo.value = data.responseData.translatedText;
});
}
</script>
</body>
</html>