Add i18n to core

This commit is contained in:
Maxim Khomutov 2023-07-03 03:17:57 +03:00
parent 3b38670d1a
commit dc7628ed00
3 changed files with 32 additions and 17 deletions

View File

@ -8,8 +8,8 @@
__title__ = 'KuiToi-Server'
__description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.'
__url__ = 'https://github.com/kuitoi/kuitoi-Server'
__version__ = '0.1.1'
__build__ = 176
__version__ = '0.1.2'
__build__ = 178
__author__ = 'SantaSpeen'
__author_email__ = 'admin@kuitoi.su'
__license__ = "FPA"
@ -23,35 +23,44 @@ import webbrowser
from prompt_toolkit.shortcuts import input_dialog, yes_no_dialog
from modules import ConfigProvider
from main import parser
from modules import Console
from modules import MultiLanguage
from main import parser
from core.core import Core
from core.utils import get_logger
from .utils import get_logger
loop = asyncio.get_event_loop()
console = Console()
log = get_logger("init")
log.info("Hello from KuiToi-Server!")
args = parser.parse_args()
if args.version:
print(f"KuiToi-Server:\n\tVersion: {__version__}\n\tBuild: {__build__}")
exit(0)
loop = asyncio.get_event_loop()
asyncio.set_event_loop(loop)
log = get_logger("init")
# i18n init
log.debug("Initializing i18n...")
ml = MultiLanguage()
ml.set_language(args.language)
ml.builtins_hook()
log.info(i18n.hello)
# Config file init
config_path = "kuitoi.yml"
if args.config:
config_path = args.config
log.info(f"Use {config_path} for config.")
config_provider = ConfigProvider(config_path)
config = config_provider.open_config()
log.info(i18n.config_file % config_path)
if config.Server['debug'] is True:
core.utils.set_debug_status()
log.info("Getting new logging with DEBUG level!")
log = get_logger("main")
log.info(i18n.debug)
log = get_logger("init")
log.debug("Debug mode enabled!")
log.debug(f"Server config: {config}")
log.debug(i18n.config_info % config)
# Key handler..
if not config.Auth['key']:
log.warn("Key needed for starting the server!")
url = "https://beammp.com/k/keys"
@ -69,16 +78,21 @@ if not config.Auth['key']:
log.error("Key is empty!")
log.error("Server stopped!")
exit(1)
builtins.config = config
# Console Init
log.debug("Initializing console...")
console = Console()
console.builtins_hook()
console.logger_hook()
console.add_command("stop", console.stop, "stop - Just shutting down the server.\nUsage: stop", "Server shutdown.")
console.add_command("exit", console.stop, "stop - Just shutting down the server.\nUsage: stop", "Server shutdown.")
# Dirs
if not os.path.exists("mods"):
os.mkdir("mods")
if not os.path.exists("plugins"):
os.mkdir("plugins")
log.info("Initializing ready.")
log.info(i18n.init)

View File

@ -88,7 +88,7 @@ class Core:
async def main(self):
server_ip = config.Server["server_ip"]
server_port = config.Server["server_port"]
self.log.info("Server started!")
self.log.info(i18n.ready)
while True:
try:

View File

@ -12,6 +12,7 @@ import argparse
parser = argparse.ArgumentParser(description='KuiToi-Server - BeamingDrive server compatible with BeamMP clients!')
parser.add_argument('-v', '--version', action="store_true", help='Print version and exit.', default=False)
parser.add_argument('--config', help='Patch to config file.', nargs='?', default=None, type=str)
parser.add_argument('--language', help='What localisation need to use.', default="en", type=str)
if __name__ == '__main__':
from core import Core