Skip to content

Commit dbdd648

Browse files
committed
Making meta tags update on page load.
1 parent 5e7f728 commit dbdd648

4 files changed

Lines changed: 118 additions & 94 deletions

File tree

wiktionary_pron/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ <h1 style="flex: 1;">Online IPA Converter</h1>
185185
id="export_csv"
186186
name="submit"
187187
type="button"
188-
title="Export as CSV"
188+
title="Export as CSV (layout depends on selected transcription format)"
189189
value=""
190190
>Export as
191191
<i style="color:#03731e;font-size:30px;" class="icon icon-csv">
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { languages } from "./languages.js";
2+
3+
try {
4+
const urlParams = new URLSearchParams(window.location.search);
5+
const selectedLanguage = urlParams.get("lang");
6+
if (selectedLanguage) {
7+
document.title = `Online ${selectedLanguage} IPA transcription`;
8+
const lang = languages[selectedLanguage];
9+
if (lang) {
10+
const availableStyles = lang.styles.join(", ");
11+
const availableForms = lang.forms
12+
.map((form) => form.toLowerCase())
13+
.join("/");
14+
document.head.children.description.content = `Online ${selectedLanguage} to IPA ${availableForms} transcription generator. Dialects: ${availableStyles}`;
15+
}
16+
}
17+
} catch (err) {
18+
console.log(err);
19+
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
export const languages = {
2+
Latin: {
3+
styles: ["Classical", "Ecclesiastical", "Vulgar"],
4+
forms: ["Phonetic", "Phonemic"],
5+
langCode: "la",
6+
ttsCode: "it-IT",
7+
},
8+
German: {
9+
styles: ["Default"],
10+
forms: ["Phonemic", "Phonetic"],
11+
langCode: "de",
12+
ttsCode: "de-DE",
13+
},
14+
Portuguese: {
15+
styles: ["Brazil", "Portugal"],
16+
forms: ["Phonetic", "Phonemic"],
17+
langCode: "pt",
18+
ttsCode: "pt-BR",
19+
},
20+
Spanish: {
21+
styles: ["Castilian", "Latin_American "],
22+
forms: ["Phonetic", "Phonemic"],
23+
langCode: "es",
24+
ttsCode: "es-ES",
25+
},
26+
French: {
27+
styles: ["Default", "Parisian (experimental)"],
28+
forms: ["Phonemic"],
29+
langCode: "fr",
30+
ttsCode: "fr-FR",
31+
},
32+
Russian: {
33+
styles: ["Default"],
34+
forms: ["Phonetic"],
35+
langCode: "ru",
36+
ttsCode: "ru-RU",
37+
},
38+
Belorussian: {
39+
styles: ["Default"],
40+
forms: ["Phonemic"],
41+
langCode: "be",
42+
ttsCode: "be-BY",
43+
},
44+
Polish: {
45+
styles: ["Default"],
46+
forms: ["Phonemic"],
47+
langCode: "pl",
48+
ttsCode: "pl-PL",
49+
},
50+
Bulgarian: {
51+
styles: ["Default"],
52+
forms: ["Phonemic"],
53+
langCode: "bg",
54+
ttsCode: "bg-BG",
55+
},
56+
Ukrainian: {
57+
styles: ["Default"],
58+
forms: ["Phonetic"],
59+
langCode: "uk",
60+
ttsCode: "uk-UA",
61+
},
62+
Lithuanian: {
63+
styles: ["Default"],
64+
forms: ["Phonemic"],
65+
langCode: "lt",
66+
ttsCode: "lt-LT",
67+
},
68+
Czech: {
69+
styles: ["Default"],
70+
forms: ["Phonemic"],
71+
langCode: "cs",
72+
ttsCode: "cs-CZ",
73+
},
74+
Armenian: {
75+
styles: ["Western", "Eastern"],
76+
forms: ["Phonemic", "Phonetic"],
77+
langCode: "hy",
78+
ttsCode: "hy-AM",
79+
},
80+
Greek: {
81+
styles: [
82+
"5th BCE Attic",
83+
"1st CE Egyptian",
84+
"4th CE Koine",
85+
"10th CE Byzantine",
86+
"15th CE Constantinopolitan",
87+
],
88+
forms: ["Phonemic"],
89+
langCode: "grc",
90+
ttsCode: "el-GR",
91+
},
92+
};
93+
export default { languages };

wiktionary_pron/scripts/main.js

Lines changed: 5 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import "./dynamic_meta.js";
2+
import { languages } from "./languages.js";
13
import { loadLanguage } from "./lua_init.js";
24

35
import {
@@ -458,99 +460,6 @@ function getLangStyleForm() {
458460
return { lang, langStyle, langForm };
459461
}
460462

461-
const languages = {
462-
Latin: {
463-
styles: ["Classical", "Ecclesiastical", "Vulgar"],
464-
forms: ["Phonetic", "Phonemic"],
465-
langCode: "la",
466-
ttsCode: "it-IT",
467-
},
468-
German: {
469-
styles: ["Default"],
470-
forms: ["Phonemic", "Phonetic"],
471-
langCode: "de",
472-
ttsCode: "de-DE",
473-
},
474-
Portuguese: {
475-
styles: ["Brazil", "Portugal"],
476-
forms: ["Phonetic", "Phonemic"],
477-
langCode: "pt",
478-
ttsCode: "pt-BR",
479-
},
480-
Spanish: {
481-
styles: ["Castilian", "Latin_American "],
482-
forms: ["Phonetic", "Phonemic"],
483-
langCode: "es",
484-
ttsCode: "es-ES",
485-
},
486-
French: {
487-
styles: ["Default", "Parisian (experimental)"],
488-
forms: ["Phonemic"],
489-
langCode: "fr",
490-
ttsCode: "fr-FR",
491-
},
492-
Russian: {
493-
styles: ["Default"],
494-
forms: ["Phonetic"],
495-
langCode: "ru",
496-
ttsCode: "ru-RU",
497-
},
498-
Belorussian: {
499-
styles: ["Default"],
500-
forms: ["Phonemic"],
501-
langCode: "be",
502-
ttsCode: "be-BY",
503-
},
504-
Polish: {
505-
styles: ["Default"],
506-
forms: ["Phonemic"],
507-
langCode: "pl",
508-
ttsCode: "pl-PL",
509-
},
510-
Bulgarian: {
511-
styles: ["Default"],
512-
forms: ["Phonemic"],
513-
langCode: "bg",
514-
ttsCode: "bg-BG",
515-
},
516-
Ukrainian: {
517-
styles: ["Default"],
518-
forms: ["Phonetic"],
519-
langCode: "uk",
520-
ttsCode: "uk-UA",
521-
},
522-
Lithuanian: {
523-
styles: ["Default"],
524-
forms: ["Phonemic"],
525-
langCode: "lt",
526-
ttsCode: "lt-LT",
527-
},
528-
Czech: {
529-
styles: ["Default"],
530-
forms: ["Phonemic"],
531-
langCode: "cs",
532-
ttsCode: "cs-CZ",
533-
},
534-
Armenian: {
535-
styles: ["Western", "Eastern"],
536-
forms: ["Phonemic", "Phonetic"],
537-
langCode: "hy",
538-
ttsCode: "hy-AM",
539-
},
540-
Greek: {
541-
styles: [
542-
"5th BCE Attic",
543-
"1st CE Egyptian",
544-
"4th CE Koine",
545-
"10th CE Byzantine",
546-
"15th CE Constantinopolitan",
547-
],
548-
forms: ["Phonemic"],
549-
langCode: "grc",
550-
ttsCode: "el-GR",
551-
},
552-
};
553-
554463
const langSelect = document.querySelector("#lang");
555464
const styleSelect = document.querySelector("#lang_style");
556465
const formSelect = document.querySelector("#lang_form");
@@ -656,6 +565,9 @@ async function updateOptionsUponLanguageSelection(event) {
656565
updateSelectOptions(selectedLanguage, formSelect, formOptions);
657566

658567
document.title = `Online ${selectedLanguage} IPA transcription`;
568+
const availableStyles = lang.styles.join(", ");
569+
const availableForms = lang.forms.map((form) => form.toLowerCase()).join("/");
570+
document.head.children.description.content = `Online ${selectedLanguage} to IPA ${availableForms} transcription generator. Dialects: ${availableStyles}`;
659571

660572
console.log("Finished changing language to ", selectedLanguage);
661573
await processTextParam();

0 commit comments

Comments
 (0)