mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2026-10-26 06:00:29 +00:00
[+] Now localizations download from github
This commit is contained in:
1 parent
3b9cea5cae
commit
c533702cdc
1 file changed
+18
-9
@@ -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,16 +121,14 @@ 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.log.debug(f"set_language({language})")
|
||||||
self.fi = True
|
self.language = language
|
||||||
self.log.debug(f"set_language({language})")
|
self.open_file()
|
||||||
self.language = language
|
|
||||||
self.open_file()
|
|
||||||
self.__i18n = i18n(self.__data)
|
self.__i18n = i18n(self.__data)
|
||||||
|
|
||||||
def open_file(self):
|
def open_file(self):
|
||||||
@@ -142,7 +142,16 @@ 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:
|
||||||
self.log.warning(f"Localisation \"{file}\" not found; Using default localisation: en.")
|
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.set_language("en")
|
self.set_language("en")
|
||||||
|
|
||||||
def builtins_hook(self) -> None:
|
def builtins_hook(self) -> None:
|
||||||
|
|||||||
Reference in new issue
Block a user