Exemplo n.º 1
0
def tld(t, show_none=True):
    LANGUAGE = prev_locale(Owner)

    if LANGUAGE:
        LOCALE = LANGUAGE.locale_name
        if LOCALE in ('en-US') and t in strings['en-US']:
            result = decode(
                encode(strings['en-US'][t], 'latin-1', 'backslashreplace'),
                'unicode-escape')
            return result
        elif LOCALE in ('hi') and t in strings['hi']:
            result = decode(
                encode(strings['hi'][t], 'latin-1', 'backslashreplace'),
                'unicode-escape')
            return result

    if t in strings['en-US']:
        result = decode(
            encode(strings['en-US'][t], 'latin-1', 'backslashreplace'),
            'unicode-escape')
        return result

    err = f"No string found for {t}.\nReport it in @nanabotsupport."
    LOGGER.warning(err)
    return err
Exemplo n.º 2
0
def tld_list(t):
    LANGUAGE = prev_locale(Owner)

    if LANGUAGE:
        LOCALE = LANGUAGE.locale_name
        if LOCALE in ("en-US") and t in strings["en-US"]:
            return strings["en-US"][t]
        elif LOCALE in ("hi") and t in strings["hi"]:
            return strings["hi"][t]
        elif LOCALE in ("he") and t in strings["he"]:
            return strings["he"][t]
        elif LOCALE in ("id") and t in strings["id"]:
            return strings["id"][t]
        elif LOCALE in ("fa") and t in strings["fa"]:
            return strings["fa"][t]
        elif LOCALE in ("el") and t in strings["el"]:
            return strings["el"][t]
        elif LOCALE in ("dv") and t in strings["dv"]:
            return strings["dv"][t]
        elif LOCALE in ("es") and t in strings["es"]:
            return strings["es"][t]
        elif LOCALE in ("ja") and t in strings["ja"]:
            return strings["ja"][t]

    if t in strings["en-US"]:
        return strings["en-US"][t]

    LOGGER.warning(f"#NOSTR No string found for {t}.")
    return f"No string found for {t}.\nReport it in @nanabotsupport."
Exemplo n.º 3
0
async def locale_button(client, query):
    lang_match = re.findall(r"en-US|hi", query.data)
    if lang_match:
        if lang_match[0]:
            switch_to_locale(Owner, lang_match[0])
            await query.answer(text=tld('language_switch_success_pm').format(
                list_locales[lang_match[0]]))
        else:
            await query.answer(text="Error!", show_alert=True)
    try:
        LANGUAGE = prev_locale(Owner)
        locale = LANGUAGE.locale_name
        curr_lang = list_locales[locale]
    except Exception:
        curr_lang = "English (US)"

    text = tld("language_select_language")
    text += tld("language_current_locale").format(curr_lang)
    buttons = [[
        InlineKeyboardButton("English (US) 🇺🇸",
                             callback_data="set_lang_en-US"),
        InlineKeyboardButton("Hindi 🇮🇳", callback_data="set_lang_hi")
    ]]
    await client.edit_message_text(chat_id=Owner,
                                   message_id=query.message.message_id,
                                   text=text,
                                   parse_mode='markdown',
                                   reply_markup=InlineKeyboardMarkup(buttons))
    await client.answer_callback_query(query.id)
Exemplo n.º 4
0
async def locale_button(_, query):
    lang_match = re.findall(
        r"en-US|hi|he|id|fa|el|dv|es|ja|de|ta|pt-br|ar",
        query.data
    )
    if lang_match:
        if lang_match[0]:
            switch_to_locale(Owner, lang_match[0])
            await query.answer(
                text=tld("language_switch_success_pm").format(
                    list_locales[lang_match[0]]
                ),
                show_alert=True,
            )
        else:
            await query.answer(text="Error!", show_alert=True)
    try:
        LANGUAGE = prev_locale(Owner)
        locale = LANGUAGE.locale_name
        curr_lang = list_locales[locale]
    except Exception:
        curr_lang = "English (US)"

    text = tld("language_select_language")
    text += tld("language_current_locale").format(curr_lang)
    buttons = [
        [
            InlineKeyboardButton("🇺🇸", callback_data="set_lang_en-US"),
            InlineKeyboardButton("🇮🇳", callback_data="set_lang_hi"),
            InlineKeyboardButton("🇮🇱", callback_data="set_lang_he"),
            InlineKeyboardButton("🇮🇩", callback_data="set_lang_id"),
            InlineKeyboardButton("🇮🇷", callback_data="set_lang_fa"),
        ],
        [
            InlineKeyboardButton("🇯🇵", callback_data="set_lang_ja"),
            InlineKeyboardButton("🇬🇷", callback_data="set_lang_el"),
            InlineKeyboardButton("🇲🇻", callback_data="set_lang_dv"),
            InlineKeyboardButton("🇪🇸", callback_data="set_lang_es"),
            InlineKeyboardButton("🇩🇪", callback_data="set_lang_de"),
        ],
        [
            InlineKeyboardButton("🇱🇰", callback_data="set_lang_ta"),
            InlineKeyboardButton("🇧🇷", callback_data="set_lang_pt-br"),
            InlineKeyboardButton("🇸🇦", callback_data="set_lang_pt-ar"),
        ],
        [InlineKeyboardButton("◀️", callback_data="language_back")],
    ]
    try:
        await query.message.edit(
            text,
            parse_mode="markdown",
            reply_markup=InlineKeyboardMarkup(buttons),
        )
        await query.answer()
    except errors.exceptions.bad_request_400.MessageNotModified:
        return
Exemplo n.º 5
0
def tld_list(t):
    LANGUAGE = prev_locale(Owner)

    if LANGUAGE:
        LOCALE = LANGUAGE.locale_name
        if LOCALE in ('en-US') and t in strings['en-US']:
            return strings['en-US'][t]
        elif LOCALE in ('hi') and t in strings['hi']:
            return strings['hi'][t]

    if t in strings['en-US']:
        return strings['en-US'][t]

    LOGGER.warning(f"#NOSTR No string found for {t}.")
    return f"No string found for {t}.\nReport it in @nanabotsupport."
Exemplo n.º 6
0
async def locale_button(client, query):
    lang_match = re.findall(r"en-US|hi|he|id|fa|el|dv|es|ja", query.data)
    if lang_match:
        if lang_match[0]:
            switch_to_locale(Owner, lang_match[0])
            await query.answer(text=tld("language_switch_success_pm").format(
                list_locales[lang_match[0]]))
        else:
            await query.answer(text="Error!", show_alert=True)
    try:
        LANGUAGE = prev_locale(Owner)
        locale = LANGUAGE.locale_name
        curr_lang = list_locales[locale]
    except Exception:
        curr_lang = "English (US)"

    text = tld("language_select_language")
    text += tld("language_current_locale").format(curr_lang)
    buttons = [
        [
            InlineKeyboardButton("🇺🇸 English (US)",
                                 callback_data="set_lang_en-US"),
            InlineKeyboardButton("🇮🇳 हिंदी", callback_data="set_lang_hi"),
        ],
        [
            InlineKeyboardButton("🇮🇱 עברית", callback_data="set_lang_he"),
            InlineKeyboardButton("🇮🇩 bahasa Indonesia",
                                 callback_data="set_lang_id"),
        ],
        [
            InlineKeyboardButton("🇮🇷 فارسی", callback_data="set_lang_fa"),
            InlineKeyboardButton("🇯🇵 日本人", callback_data="set_lang_ja"),
        ],
        [
            InlineKeyboardButton("🇬🇷 Ελληνικά", callback_data="set_lang_el"),
            InlineKeyboardButton("🇲🇻 ދިވެހި", callback_data="set_lang_dv"),
        ],
        [InlineKeyboardButton("🇪🇸 Espanol", callback_data="set_lang_es")],
    ]
    await client.edit_message_text(
        chat_id=Owner,
        message_id=query.message.message_id,
        text=text,
        parse_mode="markdown",
        reply_markup=InlineKeyboardMarkup(buttons),
    )
    await client.answer_callback_query(query.id)
Exemplo n.º 7
0
def tld(t, _show_none=True):
    LANGUAGE = prev_locale(Owner)
    if LANGUAGE:
        LOCALE = LANGUAGE.locale_name
        if LOCALE in ("en-US") and t in strings["en-US"]:
            result = decode(
                encode(strings["en-US"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("hi") and t in strings["hi"]:
            result = decode(
                encode(strings["hi"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("he") and t in strings["he"]:
            result = decode(
                encode(strings["he"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("id") and t in strings["id"]:
            result = decode(
                encode(strings["id"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("fa") and t in strings["fa"]:
            result = decode(
                encode(strings["fa"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("el") and t in strings["el"]:
            result = decode(
                encode(strings["el"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("dv") and t in strings["dv"]:
            result = decode(
                encode(strings["dv"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("es") and t in strings["es"]:
            result = decode(
                encode(strings["es"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result
        elif LOCALE in ("ja") and t in strings["ja"]:
            result = decode(
                encode(strings["ja"][t], "latin-1", "backslashreplace"),
                "unicode-escape",
            )
            return result

    if t in strings["en-US"]:
        result = decode(
            encode(strings["en-US"][t], "latin-1", "backslashreplace"),
            "unicode-escape")
        return result

    err = f"No string found for {t}.\nReport it in @nanabotsupport."
    LOGGER.warning(err)
    return err