Language suppport for /language command
This commit is contained in:
parent
3f4417b84b
commit
c1c9f7dd78
@ -14,7 +14,7 @@ __author__ = "Davide Testa"
|
||||
__email__ = "davide@davte.it"
|
||||
__credits__ = ["Marco Origlia", "Nick Lee @Nickoala"]
|
||||
__license__ = "GNU General Public License v3.0"
|
||||
__version__ = "2.1.28"
|
||||
__version__ = "2.1.29"
|
||||
__maintainer__ = "Davide Testa"
|
||||
__contact__ = "t.me/davte"
|
||||
|
||||
|
@ -7,6 +7,35 @@ import logging
|
||||
# Third party modules
|
||||
from .utilities import extract, make_button, make_inline_keyboard
|
||||
|
||||
default_language_messages = {
|
||||
'language_command': {
|
||||
'name': {
|
||||
'en': "/language",
|
||||
'it': "/lingua"
|
||||
},
|
||||
'alias': {
|
||||
'en': "Language 🗣",
|
||||
'it': "Lingua 🗣"
|
||||
},
|
||||
'description': {
|
||||
'en': "Change language settings",
|
||||
'it': "Cambia le impostazioni della lingua"
|
||||
}
|
||||
},
|
||||
'language_button': {
|
||||
'description': {
|
||||
'en': "Change language settings",
|
||||
'it': "Cambia le impostazioni della lingua"
|
||||
}
|
||||
},
|
||||
'language_panel': {
|
||||
'text': {
|
||||
'en': "<b>Choose a language</b>",
|
||||
'it': "<b>Seleziona una lingua</b>"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MultiLanguageObject(object):
|
||||
"""Make bot inherit from this class to make it support multiple languages.
|
||||
@ -250,7 +279,7 @@ async def _language_button(bot, update, user_record, data):
|
||||
|
||||
|
||||
def init(
|
||||
bot, language=None, language_messages=dict(), show_in_keyboard=True,
|
||||
bot, language_messages=None, show_in_keyboard=True,
|
||||
supported_languages={}
|
||||
):
|
||||
"""Set language support to `bot`."""
|
||||
@ -258,47 +287,34 @@ def init(
|
||||
"Bot must be a MultiLanguageObject subclass in order to support "
|
||||
"multiple languages."
|
||||
)
|
||||
if language_messages is None:
|
||||
language_messages = default_language_messages
|
||||
bot.messages['language'] = language_messages
|
||||
if language is None:
|
||||
language = bot.default_language
|
||||
bot.add_supported_languages(supported_languages)
|
||||
|
||||
language_command_name = bot.get_message(
|
||||
'language', 'language_command', 'name',
|
||||
language=language, default_message='/language'
|
||||
)
|
||||
language_command_alias = bot.get_message(
|
||||
'language', 'language_command', 'alias',
|
||||
language=language, default_message=None
|
||||
language='en', default_message=None
|
||||
)
|
||||
if language_command_alias is None:
|
||||
aliases = []
|
||||
else:
|
||||
aliases = [language_command_alias]
|
||||
|
||||
language_command_description = bot.get_message(
|
||||
'language', 'language_command', 'description',
|
||||
language=language, default_message=''
|
||||
)
|
||||
|
||||
@bot.command(
|
||||
command=language_command_name, aliases=aliases,
|
||||
command='/language',
|
||||
aliases=aliases,
|
||||
show_in_keyboard=show_in_keyboard,
|
||||
description=language_command_description,
|
||||
description=language_messages['language_command']['description'],
|
||||
authorization_level='everybody'
|
||||
)
|
||||
async def language_command(bot, update, user_record):
|
||||
return await _language_command(bot, update, user_record)
|
||||
|
||||
language_button_description = bot.get_message(
|
||||
'language', 'language_button', 'description',
|
||||
language=language, default_message=''
|
||||
)
|
||||
|
||||
@bot.button(
|
||||
prefix='lang:///',
|
||||
separator='|',
|
||||
description=language_button_description,
|
||||
description=language_messages['language_button']['description'],
|
||||
authorization_level='everybody'
|
||||
)
|
||||
async def language_button(bot, update, user_record, data):
|
||||
|
Loading…
x
Reference in New Issue
Block a user