|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import re |
|
|
|
from . import ( |
|
Button, |
|
ULTConfig, |
|
callback, |
|
get_back_button, |
|
get_languages, |
|
get_string, |
|
udB, |
|
) |
|
|
|
|
|
@callback("lang", owner=True) |
|
async def setlang(event): |
|
languages = get_languages() |
|
tultd = [ |
|
Button.inline( |
|
f"{languages[ult]['natively']} [{ult.lower()}]", |
|
data=f"set_{ult}", |
|
) |
|
for ult in languages |
|
] |
|
buttons = list(zip(tultd[::2], tultd[1::2])) |
|
if len(tultd) % 2 == 1: |
|
buttons.append((tultd[-1],)) |
|
buttons.append([Button.inline("« Back", data="mainmenu")]) |
|
await event.edit(get_string("ast_4"), buttons=buttons) |
|
|
|
|
|
@callback(re.compile(b"set_(.*)"), owner=True) |
|
async def settt(event): |
|
lang = event.data_match.group(1).decode("UTF-8") |
|
languages = get_languages() |
|
ULTConfig.lang = lang |
|
udB.del_key("language") if lang == "en" else udB.set_key("language", lang) |
|
await event.edit( |
|
f"Your language has been set to {languages[lang]['natively']} [{lang}].", |
|
buttons=get_back_button("lang"), |
|
) |
|
|