import os import veb import config enum Lang { en ru es jp cn pt } const tr_menu_en = '' const tr_menu_ru = '' const tr_menu_es = '' const tr_menu_jp = '' const tr_menu_cn = '' const tr_menu_pt = '' fn get_port(conf config.Config) int { // Priority: -p flag > GITLY_PORT env > config.json port > 8080 for i, arg in os.args { if (arg == '-p' || arg == '--port') && i + 1 < os.args.len { return os.args[i + 1].int() } } env_port := os.getenv_opt('GITLY_PORT') or { '' } if env_port != '' { return env_port.int() } if conf.port > 0 { return conf.port } return 8080 } fn main() { if os.args.contains('ci_run') { return } mut app := new_app()! app.use(handler: app.before_request) app.port = get_port(app.config) veb.run_at[App, Context](mut app, port: app.port family: .ip timeout_in_seconds: 5 ) or { panic(err) } } fn build_tr_menu(cur_lang Lang) string { return match cur_lang { .ru { tr_menu_ru } .en { tr_menu_en } .es { tr_menu_es } .jp { tr_menu_jp } .cn { tr_menu_cn } .pt { tr_menu_pt } } }