Implement i18n with a WIP Bengali Latin translation

This commit is contained in:
root
2021-08-28 04:39:12 +05:30
parent 4c9534021e
commit 2c46f3af6c
14 changed files with 577 additions and 20 deletions
+4 -2
View File
@@ -7,6 +7,8 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@babel/eslint-parser": "^7.15.0",
"@fontsource/baloo-da-2": "^4.5.0",
"core-js": "^3.16.1",
"dompurify": "^2.3.1",
"hotkeys-js": "^3.8.7",
@@ -19,6 +21,7 @@
"sass-loader": "^10",
"shaka-player": "^3.2.0",
"vue": "^2.6.14",
"vue-i18n": "^8.25.0",
"vue-meta": "^2.4.0",
"vue-router": "^3.5.2",
"vuetify": "^2.5.8",
@@ -33,7 +36,6 @@
"@vue/cli-plugin-vuex": "~4.5.13",
"@vue/cli-service": "~4.5.13",
"@vue/eslint-config-standard": "^6.1.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.32.0",
"eslint-plugin-import": "^2.24.0",
"eslint-plugin-node": "^11.1.0",
@@ -57,7 +59,7 @@
"@vue/standard"
],
"parserOptions": {
"parser": "babel-eslint"
"parser": "@babel/eslint-parser"
},
"rules": {}
},
+73
View File
@@ -0,0 +1,73 @@
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import ENTranslations from '@/translations/en.json'
Vue.use(VueI18n)
const messages = {
en: ENTranslations
}
export const i18n = VueI18n.createI18n({
locale: 'en', // set default locale
messages
})
async function syncStylesPerLanguage (locale) {
switch (locale) {
// All the latin languages
case 'de':
case 'en':
case 'el':
case 'fr':
case 'lt':
case 'ml':
case 'tr':
case 'bn-latn':
// Don't need to import fonts because Latin fonts are always loaded
document.body.classList.remove(...document.body.classList)
document.body.classList.add('latin')
break
// Bengali script
case 'bn-beng':
await import('@fontsource/baloo-da-2/index.css')
document.body.classList.remove(...document.body.classList)
document.body.classList.add('bengali')
break
// Chinese languages
case 'zh_Hant':
// NOTE: if you are Chinese and want to see a different font, just email me
document.body.classList.remove(...document.body.classList)
document.body.classList.add('chinese')
}
}
export async function loadLocale (locale) {
if (i18n.availableLocales.includes(locale)) {
return
}
// load locale messages with dynamic import
const messages = await import(/* webpackChunkName: "locale-[request]" */ `@/translations/${locale}.json`)
// set locale and locale message
i18n.global.setLocaleMessage(locale, messages.default)
return Vue.nextTick()
}
export async function changeLocale (lang) {
await loadLocale(lang)
await syncStylesPerLanguage(lang)
i18n.locale.value = lang
window.localStorage.setItem('LOCALE', lang)
}
function initializeLocalLocale () {
const lang = window.localStorage.getItem('LOCALE')
if (lang != null) {
changeLocale(lang).catch(e => console.error(e))
}
}
initializeLocalLocale()
+22
View File
@@ -0,0 +1,22 @@
@mixin addFonts ($font-primary) {
.v-application {
[class*='text-'],[class*='body-'] {
color: #36405a;
font-family: $font-primary, sans-serif !important;
}
.headline, .title {
font-family: $font-primary, sans-serif !important;
}
font-family: $font-primary, sans-serif !important;
}
}
.bengali {
@include addFonts('Baloo Da 2');
}
/*
.latin {
@include addFonts('Some Font');
}
*/
+49
View File
@@ -0,0 +1,49 @@
{
"titles": {
"trending": "Trending",
"login": "Login",
"register": "Register",
"feed": "Āpanāra phiḍ",
"preferences": "Āpanāra pachanda anuyāẏī māniẏē nin",
"watchHistory": "Ēkhana paryanta ki dēkhēchēn"
},
"player": {
"watchOnYT": "YouTube ē dēkhun"
},
"actions": {
"subscribe": "Subscribe",
"unsubscribe": "Unsubscribe",
"view_subscriptions": "View Subscriptions",
"sort_by": "Sort by:",
"most_recent": "Most Recent",
"least_recent": "Least Recent",
"channel_name_asc": "Channel Name (A-Z)",
"channel_name_desc": "Channel Name (Z-A)",
"back": "Back",
"uses_api_from": "Uses the API from ",
"enable_sponsorblock": "Enable Sponsorblock",
"skip_sponsors": "Skip Sponsors",
"skip_intro": "Skip Intermission/Intro Animation",
"skip_outro": "Skip Endcards/Credits",
"skip_preview": "Skip Preview/Recap",
"skip_interaction": "Skip Interaction Reminder (Subscribe)",
"skip_self_promo": "Skip Unpaid/Self Promotion",
"skip_non_music": "Skip Music: Non-Music Section",
"theme": "Theme",
"auto": "Auto",
"dark": "Dark",
"light": "Light",
"autoplay_video": "Autoplay Video",
"audio_only": "Audio Only",
"default_quality": "Default Quality",
"buffering_goal": "Buffering Goal (in seconds)",
"country_selection": "Country Selection",
"default_homepage": "Default Homepage",
"show_comments": "Show Comments",
"minimize_description": "Minimize Description by default",
"store_watch_history": "Store Watch History",
"language_selection": "Language Selection",
"instances_list": "Instances List",
"enabled_codecs": "Enabled Codecs (Multiple)"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"actions": {
"skip_outro": "Nachspann überspringen",
"skip_non_music": "Musik überspringen: Nicht-Musik-Bereich",
"skip_self_promo": "Unbezahlte Werbung/Eigenwerbung überspringen",
"skip_interaction": "Interaktionserinnerung überspringen (Abonnieren)",
"skip_preview": "Vorschau/Zusammenfassung überspringen",
"instances_list": "Liste der Instanzen",
"language_selection": "Sprachauswahl",
"store_watch_history": "Wiedergabeverlauf speichern",
"minimize_description": "Beschreibung standardmäßig minimieren",
"show_comments": "Kommentare anzeigen",
"default_homepage": "Standard-Startseite",
"country_selection": "Länderauswahl",
"buffering_goal": "Pufferungsziel (in Sekunden)",
"default_quality": "Standardqualität",
"audio_only": "Nur Audio",
"autoplay_video": "Video automatisch abspielen",
"light": "Hell",
"dark": "Dunkel",
"auto": "Automatisch",
"theme": "Design",
"skip_intro": "Pausen-/Einführungsanimation überspringen",
"skip_sponsors": "Sponsoren überspringen",
"enable_sponsorblock": "Sponsorblock einschalten",
"uses_api_from": "Verwendet die API von ",
"back": "Zurück",
"channel_name_desc": "Kanalname (Z-A)",
"channel_name_asc": "Kanalname (A-Z)",
"least_recent": "Am wenigsten neu",
"most_recent": "Am Neuesten",
"sort_by": "Sortieren nach:",
"view_subscriptions": "Abonnements anzeigen",
"unsubscribe": "Deabonnieren",
"subscribe": "Abonnieren"
},
"player": {
"watch_on": "Ansehen auf"
},
"titles": {
"history": "Verlauf",
"preferences": "Einstellungen",
"feed": "Feed",
"register": "Registrieren",
"login": "Anmelden",
"trending": "Trends"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"actions": {
"instances_list": "Λίστα διακομιστών",
"store_watch_history": "Αποθήκευση ιστορικού παρακολούθησης",
"default_homepage": "Προεπιλεγμένη αρχική σελίδα",
"country_selection": "Επιλογή χώρας",
"audio_only": "Ήχος μόνο",
"skip_non_music": "Παράλειψη μουσικής: Μη-μουσικό τμήμα",
"skip_self_promo": "Παράλειψη μη-χορηγούμενης/προσωπικής προώθησης",
"skip_preview": "Παράλειψη προεπισκόπησης/ανακεφαλαίωσης",
"skip_outro": "Παράλειψη τίτλων τέλους/ευσημάτων",
"skip_intro": "Παράλειψη διακοπών/εισαγωγής",
"skip_sponsors": "Παράλειψη χορηγών",
"channel_name_desc": "Όνομα καναλιού (Ζ-Α)",
"channel_name_asc": "Όνομα καναλιού (Α-Ζ)",
"least_recent": "Λιγότερο πρόσφατα",
"most_recent": "Πιο πρόσφατα",
"skip_interaction": "Παράλειψη υπενθύμισης αλληλεπίδρασης (Εγγραφή)",
"uses_api_from": "Χρήση API από ",
"view_subscriptions": "Προβολή συνδρομών",
"language_selection": "Επιλογή γλώσσας",
"minimize_description": "Ελαχιστοποίηση περιγραφής από προεπιλογή",
"show_comments": "Εμφάνιση σχολίων",
"buffering_goal": "Στόχος Buffering (σε δευτερόλεπτα)",
"default_quality": "Προεπιλεγμένη ποιότητα",
"autoplay_video": "Αυτόματη αναπαραγωγή βίντεο",
"dark": "Σκούρο",
"light": "Φωτεινό",
"auto": "Αυτόματο",
"theme": "Θέμα",
"enable_sponsorblock": "Ενεργοποίηση Sponsorblock",
"back": "Επιστροφή",
"sort_by": "Ταξινόμηση κατά:",
"unsubscribe": "Απεγγραφή",
"subscribe": "Εγγραφή"
},
"titles": {
"feed": "Τροφοδοσία",
"history": "Ιστορικό",
"preferences": "Ρυθμίσεις",
"register": "Εγγραφή",
"login": "Σύνδεση",
"trending": "Τάσεις"
},
"player": {
"watch_on": "Παρακολούθηση σε"
}
}
+49
View File
@@ -0,0 +1,49 @@
{
"titles": {
"trending": "Trending",
"login": "Login",
"register": "Register",
"feed": "Feed",
"preferences": "Preferences",
"history": "History"
},
"player": {
"watch_on": "Watch on"
},
"actions": {
"subscribe": "Subscribe",
"unsubscribe": "Unsubscribe",
"view_subscriptions": "View Subscriptions",
"sort_by": "Sort by:",
"most_recent": "Most Recent",
"least_recent": "Least Recent",
"channel_name_asc": "Channel Name (A-Z)",
"channel_name_desc": "Channel Name (Z-A)",
"back": "Back",
"uses_api_from": "Uses the API from ",
"enable_sponsorblock": "Enable Sponsorblock",
"skip_sponsors": "Skip Sponsors",
"skip_intro": "Skip Intermission/Intro Animation",
"skip_outro": "Skip Endcards/Credits",
"skip_preview": "Skip Preview/Recap",
"skip_interaction": "Skip Interaction Reminder (Subscribe)",
"skip_self_promo": "Skip Unpaid/Self Promotion",
"skip_non_music": "Skip Music: Non-Music Section",
"theme": "Theme",
"auto": "Auto",
"dark": "Dark",
"light": "Light",
"autoplay_video": "Autoplay Video",
"audio_only": "Audio Only",
"default_quality": "Default Quality",
"buffering_goal": "Buffering Goal (in seconds)",
"country_selection": "Country Selection",
"default_homepage": "Default Homepage",
"show_comments": "Show Comments",
"minimize_description": "Minimize Description by default",
"store_watch_history": "Store Watch History",
"language_selection": "Language Selection",
"instances_list": "Instances List",
"enabled_codecs": "Enabled Codecs (Multiple)"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"titles": {
"trending": "Tendances",
"login": "Se connecter",
"register": "S'inscrire",
"feed": "Abonnements",
"preferences": "Préférences",
"history": "Historique"
},
"actions": {
"subscribe": "S'abonner",
"unsubscribe": "Se désabonner",
"buffering_goal": "Objectif de mise en mémoire tampon (en secondes)",
"skip_non_music": "Ignorer la musique : section non musicale",
"skip_self_promo": "Ignorer la promotion non rémunérée / l'autopromotion",
"skip_interaction": "Ignorer les rappels d'interaction (S'abonner)",
"skip_preview": "Ignorer l'aperçu / le récapitulatif",
"skip_outro": "Ignorer les crédits de fin",
"skip_intro": "Ignorer l'animation de l'entracte/Intro",
"skip_sponsors": "Ignorer les sponsors",
"instances_list": "Liste des instances",
"language_selection": "Sélection de la langue",
"store_watch_history": "Conserver l'historique de visionnage",
"minimize_description": "Minimiser la description par défaut",
"show_comments": "Afficher les commentaires",
"default_homepage": "Page d'accueil par défaut",
"country_selection": "Sélection du pays",
"autoplay_video": "Lire automatique la vidéo",
"light": "Clair",
"dark": "Sombre",
"auto": "Auto",
"theme": "Thème",
"enable_sponsorblock": "Activer Sponsorblock",
"default_quality": "Qualité par défaut",
"audio_only": "Audio seulement",
"channel_name_desc": "Nom de la chaîne (Z-A)",
"view_subscriptions": "Voir les abonnements",
"back": "Retour",
"uses_api_from": "Utilise l'API de ",
"sort_by": "Trier par :",
"channel_name_asc": "Nom de la chaîne (A-Z)",
"least_recent": "Le moins récent",
"most_recent": "Le plus récent"
},
"player": {
"watch_on": "Regarder sur"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"actions": {
"unsubscribe": "Atšaukti prenumeratą",
"subscribe": "Prenumeruoti",
"instances_list": "Perdavimo šaltinių sąrašas",
"language_selection": "Kalbos pasirinkimas",
"store_watch_history": "Saugoti žiūrėjimo istoriją",
"minimize_description": "Suskleisti aprašymą automatiškai",
"show_comments": "Rodyti komentarus",
"default_homepage": "Numatytasis pagrindinis puslapis",
"country_selection": "Šalies pasirinkimas",
"buffering_goal": "Užkrovimo tikslas (sekundėmis)",
"default_quality": "Numatytoji kokybė",
"audio_only": "Tik garsas",
"autoplay_video": "Automatiškai leisti vaizdo įrašus",
"light": "Šviesi",
"auto": "Automatinė",
"dark": "Tamsi",
"theme": "Tema",
"skip_non_music": "Praleisti muziką: ne muzikos įkėlimų pasirinkimas",
"skip_self_promo": "Praleisti nemokamą/savireklamą",
"skip_interaction": "Praleisti sąveikos priminimą (prenumeruoti)",
"skip_preview": "Praleisti peržiūrą/apibendrinimą",
"skip_outro": "Praleisti pabaigos užsklandas/padėkas",
"skip_intro": "Praleisti pertrauką/įžanginę animaciją",
"skip_sponsors": "Praleisti rėmėjus",
"enable_sponsorblock": "Įjungti SponsorBlock",
"uses_api_from": "Naudoja API iš ",
"back": "Atgal",
"channel_name_desc": "Kanalo pavadinimas (Z-A)",
"channel_name_asc": "Kanalo pavadinimas (A-Z)",
"least_recent": "Seniausi",
"most_recent": "Naujausi",
"sort_by": "Rikiuoti pagal:",
"view_subscriptions": "Peržiūrėti prenumeratas"
},
"player": {
"watch_on": "Žiūrėti per"
},
"titles": {
"preferences": "Nuostatos",
"feed": "Sklaidos kanalas",
"register": "Registruotis",
"login": "Prisijungti",
"trending": "Tendencijos",
"history": "Istorija"
}
}
+44
View File
@@ -0,0 +1,44 @@
{
"titles": {
"trending": "പ്രചരിക്കുന്നത്",
"register": "രജിസ്റ്റർ ചെയ്യുക",
"history": "ചരിത്രം",
"preferences": "ക്രമീകരണങ്ങൾ",
"feed": "ഫീഡ്",
"login": "പ്രവേശിക്കുക"
},
"actions": {
"view_subscriptions": "സബ്സ്ക്രിപ്ഷനുകൾ കാണുക",
"unsubscribe": "സബ്സ്ക്രൈബ് ചെയ്യേണ്ട",
"subscribe": "സബ്സ്ക്രൈബ് ചെയ്യുക",
"instances_list": "ഇൻസ്റ്റൻസുകളുടെ പട്ടിക",
"minimize_description": "സ്ഥിരമായി വിവരണം ചെറുതാക്കുക",
"skip_intro": "ഇടവേള/ആമുഖ ആനിമേഷൻ ഒഴിവാക്കുക",
"skip_sponsors": "സ്പോൺസർമാരെ ഒഴിവാക്കുക",
"default_quality": "സ്ഥിര വീഡിയോ നിലവാരം",
"skip_outro": "എൻഡ്കാർഡുകൾ/ക്രെഡിറ്റുകൾ ഒഴിവാക്കുക",
"skip_preview": "പ്രിവ്യൂ/റീക്യാപ്പ് ഒഴിവാക്കുക",
"skip_interaction": "ഇടപെടൽ ഓർമ്മപ്പെടുത്തൽ ഒഴിവാക്കുക (സബ്സ്ക്രൈബ് ചെയ്യുക)",
"skip_self_promo": "പണം അടയ്ക്കാത്ത/സ്വയം പ്രമോഷൻ ഒഴിവാക്കുക",
"auto": "സ്വയം തിരഞ്ഞെടുക്കുക",
"theme": "തീം",
"dark": "കറുപ്പ് നിറം",
"light": "വെള്ള നിറം",
"default_homepage": "സ്ഥിര ഹോംപേജ്",
"show_comments": "അഭിപ്രായങ്ങൾ കാണിക്കുക",
"language_selection": "ഭാഷ തിരഞ്ഞെടുക്കുക",
"store_watch_history": "വീഡിയോ ചരിത്രം സംരക്ഷിക്കുക",
"country_selection": "രാജ്യം തിരഞ്ഞെടുക്കുക",
"audio_only": "ശബ്ദം മാത്രം",
"enable_sponsorblock": "Sponsorblock സജ്ജമാക്കുക",
"uses_api_from": "ഇതിൽ നിന്ന് എപിഐ ഉപയോഗിക്കുന്നു ",
"back": "തിരികെ പോവുക",
"channel_name_desc": "ചാനലിൻ്റെ പേര് (Z-A)",
"channel_name_asc": "ചാനലിന്റെ പേര് (A-Z)",
"most_recent": "ഏറ്റവും പുതിയത്",
"sort_by": "ഇങ്ങനെ അടുക്കുക:"
},
"player": {
"watch_on": "ൽ കാണുക"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"actions": {
"instances_list": "Liste over instanser",
"minimize_description": "Minimer beskrivelse som forvalg",
"country_selection": "Land",
"buffering_goal": "Mellomlagringsmål (i sekunder)",
"autoplay_video": "Spill video automatisk",
"skip_non_music": "Hopp over musikk:Del uten musikk",
"auto": "Auto",
"skip_self_promo": "Hopp over ubetalt/selvpromotering",
"skip_interaction": "Hopp over interaksjonspåminnelse (abonnering)",
"skip_preview": "Hopp over forhåndsvisning/reintroduksjon",
"skip_outro": "Skru av rulletekst/sluttpresentasjon",
"skip_intro": "Hopp over forvideo/introanimasjon",
"enable_sponsorblock": "Skru på sponsorblokkering",
"language_selection": "Språk",
"store_watch_history": "Lagre visningshistorikk",
"show_comments": "Vis kommentarer",
"default_homepage": "Forvalgt hjemmeside",
"default_quality": "Forvalgt kvalitet",
"audio_only": "Kun lyd",
"light": "Lys",
"dark": "Mørk",
"theme": "Drakt",
"skip_sponsors": "Hopp over sponsorer",
"uses_api_from": "Bruker API-et fra ",
"back": "Tilbake",
"channel_name_desc": "Kanalnavn (Å-A)",
"channel_name_asc": "Kanalnavn (A-Å)",
"least_recent": "Eldst",
"most_recent": "Nyligst",
"sort_by": "Sorter etter:",
"view_subscriptions": "Vis abonnementer",
"unsubscribe": "Opphev abonnement",
"subscribe": "Abonner"
},
"player": {
"watch_on": "Vis på"
},
"titles": {
"feed": "Strøm",
"history": "HIstorikk",
"preferences": "Innstillinger",
"register": "Registrering",
"login": "Logg inn",
"trending": "På vei opp"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"actions": {
"instances_list": "Örnek Listesi",
"language_selection": "Dil Seçimi",
"store_watch_history": "İzleme Geçmişini Sakla",
"minimize_description": "Açıklamayı öntanımlı olarak küçült",
"show_comments": "Yorumları Göster",
"default_homepage": "Öntanımlı Ana Sayfa",
"country_selection": "Ülke Seçimi",
"buffering_goal": "Arabelleğe Alma Hedefi (saniye cinsinden)",
"default_quality": "Öntanımlı Kalite",
"audio_only": "Yalnızca Ses",
"autoplay_video": "Videoyu Otomatik Oynat",
"light": "Açık",
"dark": "Koyu",
"auto": "Otomatik",
"theme": "Tema",
"skip_non_music": "Müziği Atla: Müzik Dışı Bölüm",
"skip_self_promo": "Ücretsiz/Kendini Tanıtmayı Atla",
"skip_interaction": "Etkileşim Hatırlatıcısını (Abone Ol) Atla",
"skip_preview": "Ön İzlemeyi/Özetlemeyi Atla",
"skip_outro": "Bitiş/Teşekkür Bölümlerini Atla",
"skip_intro": "Ara/Giriş Animasyonunu Atla",
"skip_sponsors": "Sponsorları Atla",
"enable_sponsorblock": "Sponsorblock'u Etkinleştir",
"uses_api_from": "Kullanılan API: ",
"back": "Geri",
"channel_name_desc": "Kanal Adı (Z-A)",
"channel_name_asc": "Kanal Adı (A-Z)",
"least_recent": "En Eski",
"most_recent": "En Yeni",
"sort_by": "Sıralama ölçütü:",
"view_subscriptions": "Abonelikleri Görüntüle",
"unsubscribe": "Abonelikten çık",
"subscribe": "Abone ol"
},
"player": {
"watch_on": "İzle"
},
"titles": {
"history": "Geçmiş",
"preferences": "Tercihler",
"feed": "Akış",
"register": "Kaydol",
"login": "Oturum Aç",
"trending": "Öne Çıkanlar"
}
}
+23
View File
@@ -0,0 +1,23 @@
{
"actions": {
"skip_intro": "跳過中場休息/介紹動畫",
"skip_sponsors": "跳過贊助商",
"enable_sponsorblock": "啟用 SponsorBlock",
"country_selection": "國家/地區選擇",
"channel_name_desc": "通道名稱 (Z-A)",
"channel_name_asc": "通道名稱 (A-Z)",
"unsubscribe": "取消訂閱",
"subscribe": "訂閱",
"sort_by": "排序方式:",
"view_subscriptions": "查看訂閱",
"language_selection": "語言選擇"
},
"titles": {
"history": "歷史記錄",
"preferences": "偏好設定",
"feed": "摘要",
"trending": "趨勢",
"register": "註冊",
"login": "登錄"
}
}
+25 -18
View File
@@ -42,6 +42,15 @@
semver "^6.3.0"
source-map "^0.5.0"
"@babel/eslint-parser@^7.15.0":
version "7.15.0"
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.15.0.tgz#b54f06e04d0e93aebcba99f89251e3bf0ee39f21"
integrity sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==
dependencies:
eslint-scope "^5.1.1"
eslint-visitor-keys "^2.1.0"
semver "^6.3.0"
"@babel/generator@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785"
@@ -258,7 +267,7 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7", "@babel/parser@^7.7.0":
"@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
@@ -894,7 +903,7 @@
"@babel/parser" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.0":
"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==
@@ -909,7 +918,7 @@
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.4.4":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
@@ -932,6 +941,11 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
"@fontsource/baloo-da-2@^4.5.0":
version "4.5.0"
resolved "https://registry.yarnpkg.com/@fontsource/baloo-da-2/-/baloo-da-2-4.5.0.tgz#2174da30951e71103859cee9661e80f81d72fed8"
integrity sha512-M3eJ9rXCYt83ENTIpYqy7OuA/Epqd8LYfqUEerT2XVEVXkHMfb+J7BJu8OIv+fq1COegntL1YyznkJuDzF40RQ==
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@@ -1984,18 +1998,6 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
babel-eslint@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==
dependencies:
"@babel/code-frame" "^7.0.0"
"@babel/parser" "^7.7.0"
"@babel/traverse" "^7.7.0"
"@babel/types" "^7.7.0"
eslint-visitor-keys "^1.0.0"
resolve "^1.12.0"
babel-extract-comments@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21"
@@ -3877,12 +3879,12 @@ eslint-utils@^2.0.0, eslint-utils@^2.1.0:
dependencies:
eslint-visitor-keys "^1.1.0"
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@^2.0.0:
eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
@@ -7868,7 +7870,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.20.0:
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.20.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -9218,6 +9220,11 @@ vue-hot-reload-api@^2.3.0:
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
vue-i18n@^8.25.0:
version "8.25.0"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.25.0.tgz#1037d9295fa2845a230b771de473481edb2cfc4c"
integrity sha512-ynhcL+PmTxuuSE1T10htiSXzjBozxYIE3ffbM1RfgAkVbr/v1SP+9Mi/7/uv8ZVV1yGuKjFAYp9BXq+X7op6MQ==
"vue-loader-v16@npm:vue-loader@^16.1.0":
version "16.3.1"
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.3.1.tgz#5b675ae28ac97080111e93b26d22adca36dd57aa"