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

View File

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

View File

@ -12,6 +12,7 @@ import argparse
parser = argparse.ArgumentParser(description='KuiToi-Server - BeamingDrive server compatible with BeamMP clients!') 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('-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('--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__': if __name__ == '__main__':
from core import Core from core import Core