[+] Now localizations download from github

This commit is contained in:
SantaSpeen committed 2024-07-16 17:49:21 +03:00
1 parent 3b9cea5cae
commit c533702cdc
1 file changed
+14 -5
+14 -5
View File
@@ -11,6 +11,8 @@ import json
import os import os
from json import JSONDecodeError from json import JSONDecodeError
import requests
from core.utils import get_logger from core.utils import get_logger
@@ -119,13 +121,11 @@ class MultiLanguage:
self.files_dir = files_dir self.files_dir = files_dir
self.log = get_logger("i18n") self.log = get_logger("i18n")
self.fi = False self.fi = False
self.set_language(language) self.lang_url = "https://raw.githubusercontent.com/KuiToi/KuiToi-Server/Stable/src/translates/"
def set_language(self, language="en"): def set_language(self, language):
if self.language == language and self.fi: if language == self.language:
return return
else:
self.fi = True
self.log.debug(f"set_language({language})") self.log.debug(f"set_language({language})")
self.language = language self.language = language
self.open_file() self.open_file()
@@ -142,6 +142,15 @@ class MultiLanguage:
self.log.error( self.log.error(
f"Localisation \"{file}\" have JsonDecodeError. Using default localisation: en.") f"Localisation \"{file}\" have JsonDecodeError. Using default localisation: en.")
except FileNotFoundError: except FileNotFoundError:
r = requests.get(f"{self.lang_url}{self.language}.json")
if r.status_code != 404:
self.log.info(f"Downloaded new localisation: {self.language}")
loc = r.json()
with open(file, "w", encoding=self.__encoding) as f:
json.dump(loc, f)
self.__data.update(loc)
return
else:
self.log.warning(f"Localisation \"{file}\" not found; Using default localisation: en.") self.log.warning(f"Localisation \"{file}\" not found; Using default localisation: en.")
self.set_language("en") self.set_language("en")