-
Notifications
You must be signed in to change notification settings - Fork 36
/
localization.py
152 lines (122 loc) · 10.3 KB
/
localization.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
from configurator import config
strings = {
"en": {
"error_no_reply": "This command must be sent as a reply to one's message!",
"error_report_admin": "Whoa! Don't report admins 😈",
"error_restrict_admin": "You cannot restrict an admin.",
"error_wrong_time_format": "Wrong time forman. Use a number + symbols 'h', 'm' or 'd'. F.ex. 4h",
"error_message_too_short": "Please avoid short useless greetings. "
"If you have a question or some information, put it in one message. Thanks in "
"advance! 🤓",
"report_date_format": "%d.%m.%Y at %H:%M (server time)",
"report_message": '👆 Sent {date}\n'
'<a href="https://t.me/c/{chat_id}/{msg_id}">Go to message</a>',
"report_note": "\n\nNote:{note}",
"report_delivered": "<i>Report sent</i>",
"action_del_msg": "Delete message",
"action_del_and_ban": "Delete and ban",
"action_del_and_readonly": "Set user readonly for 24 hours",
"action_del_and_readonly2": "Set user readonly for 7 days",
"action_deleted": "\n\n🗑 <b>Deleted</b>",
"action_deleted_banned": "\n\n🗑❌ <b>Deleted, user banned</b>",
"action_deleted_readonly": "\n\n🗑🙊 <b>Deleted, set readonly for 2 hours</b>",
"action_deleted_readonly2": "\n\n🗑🙊 <b>Deleted, set readonly for 2 hours</b>",
"resolved_readonly": "<i>User set to read-only mode ({restriction_time})</i>",
"resolved_nomedia": "<i>User set to text-only mode ({restriction_time})</i>",
"restriction_forever": "forever",
"need_admins_attention": 'Dear admins, your presence in chat is needed!\n\n'
'<a href="https://t.me/c/{chat_id}/{msg_id}">Go to message</a>',
"greetings_words": ("hi", "q", "hello", "hey") # Bot will react to short messages with these words
},
"ru": {
"error_no_reply": "Эта команда должна быть ответом на какое-либо сообщение!",
"error_report_admin": "Админов репортишь? Ай-ай-ай 😈",
"error_report_self": "Нельзя репортить самого себя 🤪",
"error_restrict_admin": "Невозможно ограничить администратора.",
"error_wrong_time_format": "Неправильный формат времени. Используйте число + символ h, m или d. Например, 4h",
"error_message_too_short": "Пожалуйста, избегайте бессмысленных коротких приветствий. "
"Если у Вас есть вопрос или информация, напишите всё в одном сообщении. Заранее "
"спасибо! 🤓",
"report_date_format": "%d.%m.%Y в %H:%M (время сервера)",
"report_message": '👆 Отправлено {date}\n'
'<a href="https://t.me/c/{chat_id}/{msg_id}">Перейти к сообщению</a>',
"report_note": "\n\nПримечание:{note}",
"report_delivered": "<i>Репорт отправлен.</i>",
"action_del_msg": "🗑 Удалить сообщение",
"action_del_and_ban": "🗑 Удалить + ❌ бан навсегда",
"action_del_and_readonly": "🗑 Удалить + 🙊 мут на день",
"action_del_and_readonly2": "🗑 Удалить + 🙊 мут на неделю",
"action_false_alarm": "❎ Нарушений нет",
"action_false_alarm_2": "❎ Нарушений нет (🙊 мут репортера на день)",
"action_false_alarm_3": "❎ Нарушений нет (🙊 мут репортера на неделю)",
"action_false_alarm_4": "❎ Нарушений нет (❌ бан репортера)",
"action_deleted": "\n\n🗑 <b>Удалено</b>",
"action_deleted_banned": "\n\n🗑❌ <b>Удалено, юзер забанен</b>",
"action_deleted_readonly": "\n\n🗑🙊 <b>Удалено, + выдан мут на день.</b>",
"action_deleted_readonly2": "\n\n🗑🙊 <b>Удалено, + выдан мут на неделю.</b>",
"action_dismissed": "\n\n❎ <b>Нарушений не обнаружено.</b>",
"action_deleted_dismissed2": "\n\n❎ <b>Нарушений не обнаружено (🙊 репортеру выдан мут на 1 день).</b>",
"action_deleted_dismissed3": "\n\n❎ <b>Нарушений не обнаружено (🙊 репортеру выдан мут на 7 дней).</b>",
"action_deleted_dismissed4": "\n\n❎ <b>Нарушений не обнаружено (❌ репортер забанен).</b>",
"resolved_readonly": "<i>Выдан мут на ({restriction_time})</i>",
"resolved_nomedia": "<i>Запрещено отправлять медиа на ({restriction_time})</i>",
"resolved_nomedia_forever": "<i>Запрещено отправлять медиа навсегда.</i>",
"resolved_givemedia": "<i>Разрешено отправлять медиа на ({restriction_time})</i>",
"resolved_givemedia_forever": "<i>Разрешено отправлять медиа навсегда.</i>",
"error_givemedia_admin": "<i>Админам итак разрешено отправлять медиа!</i>",
"resolved_givestickers": "<i>Разрешено отправлять стикеры на ({restriction_time})</i>",
"resolved_givestickers_forever": "<i>Разрешено отправлять стикеры навсегда.</i>",
"error_givestickers_admin": "<i>Админам итак разрешено отправлять стикеры!</i>",
"resolved_revokestickers": "<i>Запрещено отправлять стикеры на ({restriction_time})</i>",
"resolved_revokestickers_forever": "<i>Запрещено отправлять стикеры навсегда.</i>",
"error_givestickers_admin": "<i>Админам итак разрешено отправлять стикеры!</i>",
"user_unmuted": "<i>Мут снят.</i>",
"restriction_forever": "<i>Выдан мут навсегда.</i>",
"need_admins_attention": 'Товарищи админы, в чате нужно ваше присутствие!\n\n'
'<a href="https://t.me/c/{chat_id}/{msg_id}">Перейти к сообщению</a>',
"resolved_ban": "<i>Участник заблокирован.</i>",
"resolved_unban": "<i>Участник разблокирован.</i>",
"error_checkperms_admin": "✅ У админов нет никаких ограничений.",
"error_ban_admin": "😡 Ты чё, пёс? Админа нельзя забанить!",
"enabled_ro": "<i>Режим «только-чтение» включен.</i>",
"disabled_ro": "<i>Режим «только-чтение» отключен.</i>",
"profanity_user_kicked": "Ваше имя в Telegram содержит ненормативную лексику.\nПо этой причине вы были кикнуты из чата.\n\nПожалуйста, отредактируйте отображаемое имя и попробуйте заново.\nНарушение найдено в слове: <u>{word}</u>",
"voice_message_reaction": "фу! ФУ Я СКАЗАЛ, НЕЛЬЗЯ. БРОСЬ КАКУ. ПИШИ ТЕКСТОМ.",
"greetings_words": ("привет", "хай", "ку", "здарова"), # Бот среагирует на короткие сообщения с этими словами
"announcements" : (
{
"message" : "❕ Не забывайте про команду <b>!report</b> благодаря которой Вы можете обратить внимание администрации на <u>нарушителя в чате</u>.\n\n<tg-spoiler><i>Спам данной командой карается вечным баном.</i></tg-spoiler>",
"every" : 10900 * 1.5
},
{
"message" : "<b>📁 Это чат канала @howdyho_official</b>\nОбщайтесь вежливо и не нарушайте правила!\n\n📈 В чате действует <u>система репутации</u>\n⛔️ Новичкам запрещено отправлять медиа\n🤬 Мат <u>удаляется автоматически</u>\n👹 Оффтоп/спам наказывается 🍌 бананами\n\n<b>Всем мира 🤞</b>",
"every" : 10800
},
{
"message" : "<b>🫰 Донат автору канала:</b>\n\n<i>Мой Boosty:</i> https://boosty.to/howdyho\n<i>Мой Patreon:</i> <a href='https://www.patreon.com/user?u=22843414'>https://www.patreon.com/howdyho</a>\n<i>Наш Discord:</i> <a href='https://discord.gg/6khaudi-kho-1123002520072097953'>https://discord.gg/howdyho</a>",
"every" : 7200 * 3
},
{
"message" : "<b>😈 У нас есть сайт, ты знал?</b>\n\nВотб он - https://howdyho.net\nМы там постим топовый софт, обои, игры, и кучу всего для ПК!\n\n<i>Заходи, тебе там всегда рады!</i>",
"every" : 9000 * 2
},
{
"message" : "<b>🫰 Хочешь чтобы твой мем/пост закинули в канал?</b>\nТыкай сюда - @hhsharebot",
"every" : 14500
}
)
},
}
def get_string(key):
"""
Get localized string. First, try language as set in config. Then, try English locale. Else - raise an exception.
:param key: string name
:return: localized string
"""
localization_strings = strings.get(config.bot.language, strings.get('en'))
if localization_strings is None:
raise KeyError(f'Neither "{config.bot.language}" nor "en" locales found')
try:
return localization_strings[key]
except KeyError:
raise