diff --git a/fire_bot/modules/translations/English.py b/fire_bot/modules/translations/English.py new file mode 100644 index 0000000..08200d0 --- /dev/null +++ b/fire_bot/modules/translations/English.py @@ -0,0 +1,169 @@ +RUN_STRINGS = ( + "Where do you think you're going?", + "Huh? what? did they get away?", + "ZZzzZZzz... Huh? what? oh, just them again, nevermind.", + "Get back here!", + "Not so fast...", + "Look out for the wall!", + "Don't leave me alone with them!!", + "You run, you die.", + "Jokes on you, I'm everywhere", + "You're gonna regret that...", + "You could also try /kickme, I hear that's fun.", + "Go bother someone else, no-one here cares.", + "You can run, but you can't hide.", + "Is that all you've got?", + "I'm behind you...", + "You've got company!", + "We can do this the easy way, or the hard way.", + "You just don't get it, do you?", + "Yeah, you better run!", + "Please, remind me how much I care?", + "I'd run faster if I were you.", + "That's definitely the droid we're looking for.", + "May the odds be ever in your favour.", + "Famous last words.", + "And they disappeared forever, never to be seen again.", + "\"Oh, look at me! I'm so cool, I can run from a bot!\" - this person", + "Yeah yeah, just tap /kickme already.", + "Here, take this ring and head to Mordor while you're at it.", + "Legend has it, they're still running...", + "Unlike Harry Potter, your parents can't protect you from me.", + "Fear leads to anger. Anger leads to hate. Hate leads to suffering. If you keep running in fear, you might " + "be the next Vader.", + "Multiple calculations later, I have decided my interest in your shenanigans is exactly 0.", + "Legend has it, they're still running.", + "Keep it up, not sure we want you here anyway.", + "You're a wiza- Oh. Wait. You're not Harry, keep moving.", + "NO RUNNING IN THE HALLWAYS!", + "Hasta la vista, baby.", + "Who let the dogs out?", + "It's funny, because no one cares.", + "Ah, what a waste. I liked that one.", + "Frankly, my dear, I don't give a damn.", + "My milkshake brings all the boys to yard... So run faster!", + "You can't HANDLE the truth!", + "A long time ago, in a galaxy far far away... Someone would've cared about that. Not anymore though.", + "Hey, look at them! They're running from the inevitable banhammer... Cute.", + "Han shot first. So will I.", + "What are you running after, a white rabbit?", + "As The Doctor would say... RUN!", +) + +SLAP_TEMPLATES = ( + "{user1} {hits} {user2} with a {item}.", + "{user1} {hits} {user2} in the face with a {item}.", + "{user1} {hits} {user2} around a bit with a {item}.", + "{user1} {throws} a {item} at {user2}.", + "{user1} grabs a {item} and {throws} it at {user2}'s face.", + "{user1} launches a {item} in {user2}'s general direction.", + "{user1} starts slapping {user2} silly with a {item}.", + "{user1} pins {user2} down and repeatedly {hits} them with a {item}.", + "{user1} grabs up a {item} and {hits} {user2} with it.", + "{user1} ties {user2} to a chair and {throws} a {item} at them.", + "{user1} gave a friendly push to help {user2} learn to swim in lava." +) + +ITEMS = ( + "cast iron skillet", + "large trout", + "baseball bat", + "cricket bat", + "wooden cane", + "nail", + "printer", + "shovel", + "CRT monitor", + "physics textbook", + "toaster", + "portrait of Richard Stallman", + "television", + "five ton truck", + "roll of duct tape", + "book", + "laptop", + "old television", + "sack of rocks", + "rainbow trout", + "rubber chicken", + "spiked bat", + "fire extinguisher", + "heavy rock", + "chunk of dirt", + "beehive", + "piece of rotten meat", + "bear", + "ton of bricks", +) + +THROW = ( + "throws", + "flings", + "chucks", + "hurls", +) + +HIT = ( + "hits", + "whacks", + "slaps", + "smacks", + "bashes", +) + +MARKDOWN_HELP = """ +Markdown is a very powerful formatting tool supported by telegram. {} has some enhancements, to make sure that \ +saved messages are correctly parsed, and to allow you to create buttons. + +- _italic_: wrapping text with '_' will produce italic text +- *bold*: wrapping text with '*' will produce bold text +- `code`: wrapping text with '`' will produce monospaced text, also known as 'code' +- [sometext](someURL): this will create a link - the message will just show sometext, \ +and tapping on it will open the page at someURL. +EG: [test](example.com) + +- [buttontext](buttonurl:someURL): this is a special enhancement to allow users to have telegram \ +buttons in their markdown. buttontext will be what is displayed on the button, and someurl \ +will be the url which is opened. +EG: [This is a button](buttonurl:example.com) + +If you want multiple buttons on the same line, use :same, as such: +[one](buttonurl://example.com) +[two](buttonurl://google.com:same) +This will create two buttons on a single line, instead of one button per line. +""" + +EnglishStrings = { + "send-help": """*Main commands available*: + - /start: start the bot + - /help or /help : PM's you info about that module. + - /lang: Change bot language + - /settings: + - in PM: will send you your settings for all supported modules. + - in a group: will redirect you to pm, with all that chat's settings. + {} + """, + + "send-group-settings": """Hi there! There are quite a few settings for *{}* - go ahead and pick what +you're interested in.""", + +#Misc +"RUNS-K": RUN_STRINGS, +"SLAP_TEMPLATES-K": SLAP_TEMPLATES, +"ITEMS-K": ITEMS, +"HIT-K": HIT, +"THROW-K": THROW, +"ITEMP-K": ITEMS, +"ITEMR-K": ITEMS, +"MARKDOWN_HELP-K": MARKDOWN_HELP, + +#GDPR +"send-gdpr": """Your personal data has been deleted.\n\nNote that this will not unban \ +you from any chats, as that is telegram data, not YanaBot data. +Flooding, warns, and gbans are also preserved, as of \ +[this](https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-to-erasure/), " +which clearly states that the right to erasure does not apply \ +\"for the performance of a task carried out in the public interest\", as is \ +the case for the aforementioned pieces of data.""" + +} diff --git a/fire_bot/modules/translations/Russian.py b/fire_bot/modules/translations/Russian.py new file mode 100644 index 0000000..9e94ba2 --- /dev/null +++ b/fire_bot/modules/translations/Russian.py @@ -0,0 +1,747 @@ +from tg_bot import dispatcher + +RUN_STRINGS = ( + "Куда ты собрался?", + "А? что? они ушли?", + "ZZzzZZzz... А? что? о, опять только эти, ничего страшного.", + "Вернись сюда!", + "Не так быстро...", + "Посмотри на стену!", + "Не оставляй меня наедине с ними!!", + "Ты бежишь, ты умираешь.", + "Ты пожалеешь об этом...", + "Вы также можете попробовать /kickme, я слышала, что это весело.", + "Иди, побеспокой кого-нибудь другого, здесь всем плевать.", + "Ты можешь бежать, но ты не можешь спрятаться.", + "Это всё, что у тебя есть?", + "Я стою за тобой...", + "У вас есть компания!", + "Мы можем сделать это лёгким или трудным путем.", + "Ты просто не понимаешь этого, не так ли?", + "Да, тебе лучше бежать!", + "Пожалуйста, напомните мне, как меня это волнует?", + "На твоем месте я бы бежал быстрее.", + "Это определённо тот дроид, которого мы ищем.", + "Пусть шансы всегда будут в вашу пользу.", + "Знаменитые последние слова.", + "И они исчезли навсегда, чтобы их больше не видели.", + "\"О, посмотри на меня! Я такой крутой, что могу убежать от бота! \"- это человек", + "Да, да, просто нажмите /kickme уже.", + "Вот, возьмите это кольцо и отправляйтесь в Мордор, раз уж вам по пути.", + "Легенда гласит, что они всё ещё бегут...", + "В отличие от Гарри Поттера, твои родители не могут защитить тебя от меня.", + "Страх приводит к гневу. Гнев приводит к ненависти. Ненависть приводит к страданиям. Если вы продолжите бежать в страхе, вы можете " + "стать следующим Вейдером.", + "Несколько вычислений спустя, я решил, что мой интерес к вашим махинациям ровно 0.", + "Легенда гласит, что они всё ещё бегут.", + "Продолжайте, не уверен, что мы хотим, чтобы вы здесь оставались.", + "Ты волше-Ой. Погоди. Ты не Гарри, продолжай двигаться.", + "НЕ БЕГАТЬ ПО КОРИДОРАМ!", + "Hasta la vista, детка.", + "Кто выпустил собак?", + "Это смешно, потому что никому нет дела.", + "Ах, какая потеря. Он мне нравился.", + "Честно говоря, моя дорогая, мне наплевать.", + "Мой молочный коктейль приводит всех мальчиков во двор... Так беги быстрее!", + "Вы не можете справиться с правдой!", + "Давным-давно, в далёкой-далёкой галактике... Кому-то было бы до этого дело. Хотя уже нет.", + "Эй, посмотри на них! Они убегают от неизбежного банхаммера... Мило.", + "Хан выстрелил первым. Я поступлю так же, как он.", + "За чем ты бежишь, за белым кроликом?", + "Как сказал бы Доктор... Беги!", +) + +SLAP_TEMPLATES = ( + "{user1} {hits} {user2} {itemp}.", + "{user1} {hits} в лицо {user2} {itemp}.", + "{user1} {throws} {itemr} в {user2}.", + "{user1} берёт {item} и {throws} им в лицо {user2}.", + "{user1} запускает {itemr} в направлении {user2}.", + "{user1} начинает безобидно хлопать {user2} {itemp}.", + "{user1} придавливает {user2} и несколько раз {hits} его {itemp}.", + "{user1} хвататет {itemr} и {hits} {user2}", + "{user1} привязывает {user2} к стулу и {throws} {itemr} в него.", + "{user1} дружески подтолкнул {user2}, чтобы тот научился плавать в лаве." +) + +ITEMS = ( + "чугунная сковорода", + "большая форель", + "бейсбольная бита", + "крикетная бита", + "деревянная трость", + "ноготь", + "принтер", + "лопата", + "ЭЛТ-монитор", + "учебник физики ", + "тостер", + "портрет Ричарда Столмана", + "телевизор", + "пятитонный грузовик", + "рулон клейкой ленты", + "книга", + "ноутбук", + "старый телевизор", + "мешок камней", + "радужная форель", + "резиновый цыпленок", + "шипастая летучая мышь", + "огнетушитель", + "тяжёлый камень", + "кусок грязи", + "улей", + "кусок гнилого мяса", + "медведь", + "тонна кирпичей", +) + +ITEMSP_RU = ( + "чугунной сковородой", + "большой форелью", + "бейсбольной битой", + "крикетной битой", + "деревянной тростью", + "ногтем", + "принтером", + "лопатой", + "ЭЛТ-монитором", + "учебником физики ", + "тостером", + "портретом Ричарда Столмана", + "телевизором", + "пятитонным грузовиком", + "рулоном скотча", + "книгой", + "ноутбуком", + "старым телевизором", + "мешком камней", + "радужной форелью", + "резиновым цыпленоком", + "шипастой летучей мышью", + "огнетушителем", + "тяжёлым камнем", + "кусоком грязи", + "улеем", + "кусоком гнилого мяса", + "медведем", + "тонной кирпичей", + "огромной булкой", +) + +ITEMSR_RU = ( + "чугунную сковородку", + "большкую форель", + "бейсбольную биту", + "крикетную биту", + "деревянную трость", + "ноготь", + "принтер", + "лопата", + "ЭЛТ-монитор", + "учебник физики ", + "тостер", + "портрет Ричарда Столмана", + "телевизор", + "пятитонный грузовик", + "рулон клейкой ленты", + "книга", + "ноутбук", + "старый телевизор", + "мешок камней", + "радужная форель", + "резиновый цыпленок", + "шипастая летучая мышь", + "огнетушитель", + "тяжёлый камень", + "кусок грязи", + "улей", + "кусок гнилого мяса", + "медведь", + "тонну кирпичей", +) + + +THROW = ( + "бросает", + "швыряет", +) + +HIT = ( + "бьёт", + "молотит", + "шлёпает", + "хлопает", + "колотит", + "царапает", +) + +MARKDOWN_HELP = """ +Markdown - очень мощный инструмент для форматирования текста, который поддерживает Telegram. {} имеет некоторые улучшения, чтобы убедиться, что +сохраненные сообщения правильно написаны , что позволяет создавать кнопки. + +- _италик_: выделение с двух сторон текста с помощью '_' приведет к созданию курсивного текста. +- *полужирный*: выделение с двух сторон текста с помощью '*' приведет к получению жирного текста. +- `код`: выделение с двух сторон текста с помощью '`' приведет к получению моноширинного текста, также известного как «код», +- [ваш_текст](ваша_ссылка): это создаст ссылку - сообщение просто покажет ваш_текст , \ +и нажатие на него откроет страницу в ваша_ссылка. +Пример: [test](ваша_ссылка) + +- [Текст кнопки](buttonurl:ваша ссылка): это специальное расширение, позволяющее пользователям создавать кнопки-ссылки. Текст Кнопки будет отображаться на кнопке, а ваша ссылка \ +будет открывать ваш URL-адрес. +Пример: [Это кнопка](buttonurl:это_ссылка) + +Если вам нужно несколько кнопок в одной строке, используйте это: +[one](buttonurl://ваша_ссылка) +[two](buttonurl://google.com:same) +Это создаст две кнопки в одной строке, а не одну кнопку на строку. +""" + +RussianStrings = { + +#Connections + "Disabled connections to this chat for users": "Отключены соединения к этому чату для пользователей", + "Enabled connections to this chat for users": "Включены соединения к этому чату для пользователей", + "Please enter on/yes/off/no in group!": "Пожалуйста введите on/yes/off/no в группу!", + "Successfully connected to *{}*": "Успешно подключено к *{}*", + "Connection failed!": "Подключение не удалось!", + "Connections to this chat not allowed!": "Подключение к этому чату не разрешено!", + "Write chat ID to connect!": "Напишите ID чата для подключения", + "Usage limited to PMs only!": "Использование ограничего в личных сообщениях только!", + +#Misc + "RUNS-K": RUN_STRINGS, + "SLAP_TEMPLATES-K": SLAP_TEMPLATES, + "ITEMS-K": ITEMS, + "HIT-K": HIT, + "THROW-K": THROW, + "ITEMP-K": ITEMSP_RU, + "ITEMR-K": ITEMSR_RU, + "MARKDOWN_HELP-K": MARKDOWN_HELP, + + "The original sender, {}, has an ID of `{}`.\nThe forwarder, {}, has an ID of `{}`.": + "Отправитель, {}, имеет ID `{}`.\nПересылающий, {}, имеет ID `{}`.", + "{}'s id is `{}`.": "ID {} - `{}`.", + "Your id is `{}`.": "Ваш ID - `{}`.", + "This group's id is `{}`.": "ID этой группы - `{}`.", + + "I can't extract a user from this.": "Я не могу извлечь ID этого пользователя.", + "User info:": "Информация о пользователе:", + "\nFirst Name: {}": "\nИмя: {}", + "\nLast Name: {}": "\nФамилия: {}", + "\nUsername: @{}": "\nНик: @{}", + "\nPermanent user link: {}": "\nПостоянная ссылка на пользователя: {}", + "\n\nThis person is my owner - I would never do anything against them!": + "\n\nЭтот человек - мой хозяин, я бы никогда ничего не сделала против него!", + "\nThis person is one of my sudo users! Nearly as powerful as my owner - so watch it.": + "\nЭтот человек является одним из моих пользователей sudo! Почти такой же мощный, как мой владелец - так что смотри.", + "\nThis person is one of my support users! Not quite a sudo user, but can still gban you off the map.": + "\nЭтот человек является одним из моих поддерживающих пользователей! Не совсем пользователь sudo, но он все равно может удалить вас.", + "\nThis person has been whitelisted! That means I'm not allowed to ban/kick them.": + "\nЭтот человек был включен в белый список! Это означает, что я не могу банить и кикать его.", + + "Its always banhammer time for me!": "Всегда есть время для банхаммера!", + + "It's {} in {}": "Сейчас {} в {}", + + "Please reply to a sticker to get its ID.": "Ответье на стикер чтобы получить его ID.", + "Please reply to a sticker for me to upload its PNG.": "Ответье на стикер чтобы получить его изображение.", + + "Write a location to check the weather.": "Напишите место чтобы получить его погоду.", + "I will keep an eye on both happy and sad times!": "Я буду следить за счастливыми и печальными временами!", + "Today in {} is being {}, around {}°C.\n": "Сегодня в {} {}, примерно {}°C.\n", + "Sorry, location not found.": "Простите, местоположение не найдено.", + + "Deleting identifiable data...": "Удаление пользовательских данных...", + + "Try forwarding the following message to me, and you'll see!": + "Попробуйте переслать мне следующее сообщение, и вы увидите!", + "/save test This is a markdown test. _italics_, *bold*, `code`, [URL](example.com) [button](buttonurl:github.com) [button2](buttonurl://google.com:same)": + """/save test Это тест markdown. _италик_, *жирный*, `код`, \ +[ССЫЛКА](example.com) +[Кнопка](buttonurl:github.com) +[Кнопка2](buttonurl://google.com:same)""", + +#Misc GDPR +"send-gdpr": """Ваши персональные данные были удалены.\n\nОбратите внимание, что это не разбанит вас \ +из любых чатов, поскольку это данные телеграмма, а не данные YanaBot. +Флуд, предупреждения и АнтиСпам также сохраняются, начиная с \ +[этого](https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-to-erasure/), " +в котором четко указано, что право на стирание не применяется \ +\"для выполнение задачи, выполняемой в общественных интересах\".""", + +#Admin +"How am I meant to promote someone that's already an admin?": "Как я должна назначить кого-то, кто уже является администратором?", +"I can't promote myself! Get an admin to do it for me.": "Я не могу назначить себя! Получите администратора, чтобы сделать это для меня.", +"Successfully promoted in *{}*!": "Успешно назначен в *{}*!", + +"This person CREATED the chat, how would I demote them?": "Этот человек СОЗДАЛ чат, как я могу его понизить?", +"Can't demote what wasn't promoted!": "Как я могу понизить того кто не является админом?", +"I can't demote myself!": "Я не могу понизить себя!", +"Successfully demoted in *{}*!": "Успешно понижен в *{}*!", +"Could not demote. I might not be admin, or the admin status was appointed by another user, so I can't act upon them!": +"Не могу понизить. Возможно, я не администратор, или статус администратора был назначен другим пользователем, поэтому я не могу понизить его!", + +"I don't have access to the invite link, try changing my permissions!": "У меня нет доступа к ссылке приглашения, попробуйте изменить мои права!", +"I can only give you invite links for supergroups and channels, sorry!": "Я могу дать ссылку для супергрупп и каналов!", + +"Admins in": "Админы в", +"this chat": "этом чате", +" (Creator)": " (Создатель)", + +#AFK +"{} is now AFK!": "{} сейчас АФК!", +"{} is no longer AFK!": "{} больше не АФК!", +"{} is AFK!": "{} сейчас АФК!", +"{} is AFK! says its because of: \n{}": "{} сейчас АФК! Потому что: \n{}", + +#Antiflood +"I like to leave the flooding to natural disasters. But you, you were just a disappointment. Get out.": + "Мне нравится оставлять флуд для стихийных бедствий. Но ты был просто разочарованием. Убирайся!", +"I can't kick people here, give me permissions first! Until then, I'll disable antiflood.": + "Я не могу кикать людей здесь, сначала дайте мне разрешения! Я отключу antiflood.", +"Antiflood has been disabled.": "Антифлуд был выключен.", +"Antiflood has to be either 0 (disabled), or a number bigger than 3 (enabled)!": + "Antiflood должен быть либо 0 (отключен), либо число больше 3 (включен)!", +"Antiflood has been updated and set to {}": "Антифлуд был установлен на {}", +"Unrecognised argument - please use a number, 'off', or 'no'.": + "Неизвестный аргумент - используйте число, 'off', или 'no'.", +"I'm not currently enforcing flood control!": "В настоящее время я не применяю контроль над флудом!", +"I'm currently banning users if they send more than {} consecutive messages.": + "В настоящее время я баню пользователей, если они отправляют более {} последовательных сообщений.", + +#Antispam +"I've enabled antispam security in this group. This will help protect you from spammers, unsavoury characters, and the biggest trolls.": + "Я включила защиту от спама в этой группе. Это поможет защитить вас от спамеров, отвратительных людей и самых больших троллей.", + +"I've disabled antispam security in this group. GBans wont affect your users anymore. You'll be less protected from any trolls and spammers though!": + "Я отключила защиту от спама в этой группе. Антиспам больше не будет влиять на ваших пользователей. Вы не будете защищены от троллей и спамеров!", + +"Give me some arguments to choose a setting! on/off, yes/no!\n\nYour current setting is: {}\nWhen True, any gbans that happen will also happen in your group. When False, they won't, leaving you at the possible mercy of spammers.": + "Дайте мне несколько аргументов, чтобы выбрать настройку! on/off, yes/no!\n\nВаши текущие параметры: {}\nЕсли True, защита от спаммеров (бан людей) также произойдут в вашей группе. Когда false, они не будут, оставляя вас на возможной милости спамеров.", + +"Globally banned: {}": "Глобально забанен: {}", +"\nGlobally muted: {}": "\nГлобально замучен: {}", +"\nReason: {}": "\Причина: {}", + +#Bans + "I really wish I could ban admins...": "Мне так жаль, что я не могу забанить админа...", + "I'm not gonna BAN myself, are you crazy?": "Я не собираюсь банить себя, ты с ума сошел?", + "Banned!": "Забанен!", + "Well damn, I can't ban that user.": "Черт, я не могу запретить этого пользователя.", + "You haven't specified a time to ban this user for!": + "Вы не указали время, чтобы забанить этого пользователя!", + "Banned! User will be banned for {}.": "Забанен! Пользователь забанен на {}.", + +#Blacklist + "Current blacklisted words in {}:\n": "Текущие заблокированные слова в {}:\n", + "There are no blacklisted messages in {}!": "Нет запрещенных сообщений в {}!", + "Added {} to the blacklist in {}!": + "Добавлено {} в черный список в {}!", + "Tell me which words you would like to add to the blacklist.": + "Скажите, какие слова вы хотели бы добавить в черный список.", + "Removed {} from the blacklist in {}!": + "Удалено {} из черного списка в {}!", + "This isn't a blacklisted trigger...!": "Это не тригер черного списка...!", + "None of these triggers exist, so they weren't removed.": + "Ни один из этих триггеров не существует, поэтому они не были удалены.", + "Removed {} triggers from the blacklist in {}! {} did not exist, so were not removed.": + "Удалено {} тригерра из черного списка в {}! {} из них не существовует, поэтому они не были удалены.", + "Tell me which words you would like to remove from the blacklist.": + "Скажите, какие слова вы хотите удалить из черного списка.", + + #Filters + "*Filters in {}:*\n": "*Фильтры в {}:*\n", + "local filters": "локальные фильтры", + "*local filters:*\n": "*локальные фильтры:*\n", + "No filters in {}!": "Нет фильтров в {}!", + "There is no note message - You can't JUST have buttons, you need a message to go with it!": + "Вы не можете просто иметь кнопки, вам нужен текст для нормальной работы!", + "You didn't specify what to reply with!": "Вы не указали на что мне отвечать!", + "Handler '{}' added in *{}*!": "Фильтр '{}' добавлен в *{}*!", + "No filters are active in {}!": "Нет фильтров в {}!", + "Yep, I'll stop replying to that in *{}*." : "Хорошо, я не буду отвечать на это в *{}*.", + "That's not a current filter - run /filters for all active filters.": + "Это не текущий фильтр - выполните /filters чтобы увидеть текущие фильтры.", + + #Disable + "Disabled the use of `{}` in *{}*": "Использование `{}` выключено в *{}*", + "That command can't be disabled": "Эта комманда не может быть выключена", + "What should I disable?": "Что я должна отключить?", + + "Enabled the use of `{}` in *{}*": "Использование `{}` включено в *{}*", + "Is that even disabled?": "Это было выключено?", + "What should I enable?": "Что я должна включить?", + + "The following commands are toggleable:\n{}": "Следующие комманды могут быть выключены:\n{}", + "No commands can be disabled.": "Нет отключаемых комманд.", + "No commands are disabled in *{}*!": "Нет выключенных комманд в *{}*!", + "No commands are disabled!": "Нет выключенных комманд!", + "The following commands are currently restricted in *{}*:\n{}": + "Следующие комманды выключены в *{}*:\n{}", + +#Locks + "Locked {} messages for all non-admins!": "Заблокированы {} сообщения для не админов!", + "What are you trying to lock...? Try /locktypes for the list of lockables": + "Что вы пытаетесь заблокировать...? Посмотрите /locktypes для списка возможных блокировок", + "I'm not an administrator, or haven't got delete rights.": + "Я не администратор или я не имею права на удаление сообщений.", + "Unlocked {} for everyone!": "Разблокированы {} для всех!", + "What are you trying to unlock...? Try /locktypes for the list of lockables": + "Что вы пытаетесь разблокировать...? Посмотрите /locktypes для списка возможных блокировок", + "What are you trying to unlock...?": "Что вы пытаетесь разблокировать...?", + "I see a bot, and I've been told to stop them joining... but I'm not admin!": + "Я вижу бота, и мне сказали банить их... Но я не админ!", + "Only admins are allowed to add bots to this chat! Get outta here.": + "Только админам разрешено добавлять ботов в этот чат! Убирайся отсюда.", + "There are no current locks in *{}*.": "Нет текущих блокировок в *{}*.", + "These are the locks in *{}*:": "Текущие блокировки в *{}*:", + "this chat": "этом чате", + +#Log channel + "Now, forward the /setlog to the group you want to tie this channel to!": + "Теперь перешлите /setlog в группу, с которой вы хотите связать этот канал!", + "This channel has been set as the log channel for {}.": + "Этот канал был установлен как канал логов для {}.", + "Successfully set log channel!": "Успешно установлен канал логов!", + "*The steps to set a log channel are:*\n • add bot to the desired channel\n • send /setlog to the channel\n • forward the /setlog to the group\n": + """*Настройка канала для логирования:* + • Добавление бота в канал (Как админа!) + • Отправка `/setlog` в канал + • Пересылка отправленного сообщения `/setlog` в группе""", + + "Channel has been unlinked from {}": "Канал отключен от {}", + "Log channel has been un-set.": "Канал логов не установлен.", + "No log channel has been set yet!": "Канал логов еще не установлен!", + +#Users + "I've seen them in {} chats in total.": + "Я видела его в {} чатах.", + "I've seen them in... Wow. Are they stalking me? They're in all the same places I am... oh. It's me.": + "Я видела его в... Стоп. Вау. Вы преследуете меня? Я нахожусь во всех чатах, Ох... Да. Это я.", + +#Msg_deleting + "Cannot delete all messages. The messages may be too old, I might not have delete rights, or this might not be a supergroup.": + "Не удается удалить все сообщения. Сообщения могут быть слишком старыми, или у меня могут не быть прав на удаление, или это может быть не супергруппа.", + "Purge complete.": "Чистка завершена.", + "Reply to a message to select where to start purging from.": + "Ответьте на сообщение, чтобы выбрать, с чего начать чистку.", + "Whadya want to delete?": "Что я должна удалить?", + +#Muting + "You'll need to either give me a username to mute, or reply to someone to be muted.": + "Вам нужно либо дать мне имя пользователя, либо ответить на сообщение, чтобы он был замутен.", + "I'm not muting myself!": "Я не буду мутить себя!", + "Afraid I can't stop an admin from talking!": "Боюсь, я не могу остановить админов от разговора!", + "You'll need to either give me a username to unmute, or reply to someone to be unmuted.": + "Вам нужно либо дать мне имя пользователя, либо ответить на сообщение, чтобы он был размучен.", + "This user already has the right to speak in {}.": "Этот пользователь уже имеет право говорить в {}.", + "Yep, {} can start talking again in {}!": "Да, {} может говорить снова в {}!", + "This user isn't even in the chat, unmuting them won't make them talk more than they already do!": + "Этот пользователь даже не в чате", + "I really wish I could mute admins...": "Мне очень жаль, что я не могу мутить админов...", + "I'm not gonna MUTE myself, are you crazy?" : "Я не собираюсь себя мутить, ты с ума сошел?", + "You haven't specified a time to mute this user for!": + "Вы не указали время для мутинга этого пользователя!", + "Muted for {} in {}!": "Я заткнула его на {} в {}!", + "This user is already muted in {}!": "Этот пользователь и так заткнут.", + "Well damn, I can't mute that user.": "Ну, черт побери, я не могу заткнуть этого пользователя.", + + "You'll need to either give me a username to restrict, or reply to someone to be restricted.": + "Вам нужно либо указать мне имя пользователя, либо ответить на сообщение чтобы ограничить его.", + "I'm not restricting myself!": "Я не буду ограничивать себя!", + "Afraid I can't restrict admins!": "Боюсь, я не могу ограничить админов!", + "{} is restricted from sending media in {}!": "{} запрещен к отправлению медиа в {}!", + "This user is already restricted in {}!": "Этот пользователь и так ограничен в {}!", + "This user isn't in the {}!": "Этот пользователь не в {}!", + + "You'll need to either give me a username to unrestrict, or reply to someone to be unrestricted.": + "Вам нужно либо дать мне имя пользователя, либо ответить на сообщение, чтобы он мог слать медиа.", + "This user already has the rights to send anything in {}.": + "У этого пользователя и так есть права отправлять что-либо в {}.", + "Yep, {} can send media again in {}!": "Да, {} может отправлять что-либо в {}!", + "This user isn't even in the chat, unrestricting them won't make them send anything than they already do!": + "Этот пользователь даже не в чате.", + "I really wish I could restrict admins...": "Мне очень хотелось бы ограничить админов...", + "I'm not gonna RESTRICT myself, are you crazy?": "Я не собираюсь ОГРАНИЧИТЬ себя, ты с ума сошел?", + "You haven't specified a time to restrict this user for!": + "Вы не указали время, чтобы ограничить этого пользователя!", + "Well damn, I can't restrict that user.": "Ну, черт возьми, я не могу ограничить этого пользователя.", + "{} is muted in {}!": "{} заткнут в {}!", + "Restricted from sending media for {} in {}!": "Ограничен от отправление медиа {} в {}!", + "Restricted for {} in {}!": "{} Ограничен от отправки мендиа в {}!", + +#Notes + "Get rekt": "Нечего давать.", + + +#Multi + "Invalid Chat ID provided!": "ID чата недействительный!", #Connections + "You don't seem to be referring to a user.": "Кажется, вы не обращаетесь к пользователю.", #Admin, Bans, Muting + "I can't seem to find this user": "Я не могу найти этого пользователя", #Bans, Muting + "Yes": "Да", #Antispam + "No": "Нет", #Antispam + +#__main__ + #Module names + "Admin": "Администрирование", + "AFK": "Режим АФК", + "AntiFlood": "Антифлуд", + "Bans": "Баны", + "Word Blacklists": "Черные списки", + "Filters": "Фильтры", + "Command disabling": "Отключение комманд", + "Antispam security": "Антиспам Защита", + "Locks": "Блокировки", + "Log Channels": "Логирование действий", + "Misc": "Остальное", + "Purges": "Чистка", + "Muting & Restricting": "Муты и запреты", + "Notes": "Заметки", + "Reporting": "Репорты", + "RSS Feed": "RSS Лента", + "Rules": "Правила", + "Connections": "Соединения", + "Bios and Abouts": "Подпись человка", + "Warnings": "Предупреждения", + "Welcomes/Goodbyes": "Приветствие/Прощание", + +#Some main stuff +"Here is the help for the *{}* module:\n{}": "Помощь по модулю *{}*:\n{}", +"Back": "Назад", +"send-help":"""Главный комманды: + - /start: краткая информация про бота. + - /help: Я напишу вам это сообщение. + - /help Или же /help <название модуля>: Я расскажу вам про этот модуль. + - /lang: Смена языка бота. + - /settings: Показать текущие настройки модулей. + {} + """, + + +"\nAll commands can either be used with `/` or `!`.\n": "\nВсе коммнды могут начинатся с `/` или `!`\n", + +#Module helps +"Admin_help": """- /adminlist | /admins: Список админов в чате. + +*Только админы:* + - /pin: Безшумно закрепить отвеченое сообщение - добавьте аргумент 'loud' или 'notify' чтобы уведомить пользователей о закреплении. + - /unpin: Открепить текущее закрепренное сообщение. + - /invitelink: Получить ссылку-приглашение. + - /promote: Повысить пользователя. + - /demote: Понизить пользователя.""", + +"AFK_help": """ - /afk <причина>: пометить себя как АФК. + - brb <причина>: тоже самое как и /afk - но не комманда. + +Когда вы пометили себя как АФК, на любое упоминаниие вас будет отправлено сообщение о вашей недоступности.""", + +"AntiFlood_help": """- /flood: Получить текущие настройки антифлуда. + +*Только админы:* + - /setflood <число/`no`/`off`>: Включить или выключить антифлуд защиту.""", + +"Antispam security_help":"""*Только админы:* + - /antispam : Отключить защиту от нежелательного спама в группе, или показать текущие настройки если нет аргумента. + +Антиспам используется владельцами ботов для бана спамеров во всех группах. Это помогает защитить \ +вас и ваши группы, удалив спам флудеров как можно быстрее. Это может быть отключено для вашей группы используя \ +`/antispam off`""", + +"Locks_help": """ - /locktypes: список возможных типов блокировок. + +*Только админы:* + - /lock <тип>: заблокировать элемент в этом чате. + - /unlock <тип>: разблокировать элемент в этом чате. + - /locks: Текущий список блокировок в этом чате. + +Блокировки можно использовать для ограничения пользователей группы. Например: +Блокировка URL-адресов будет автоматически удалять все сообщения с URL-адресами, которые не были в белом списке, блокировка стикеров будут удалены все \ +стикеры и т. д. +Блокировка ботов остановит не администраторов от добавления ботов в чат.""", + +"Command disabling_help":""" - /cmds: Проверка текущего состояния отключенных комманд. +*Только админы:* + - /enable <комманда>: включить эту комманду. + - /disable <комманда>: выключить эту комманду. + - /listcmds: список всех возможных комманд для отключения.""", + +"Filters_help": """ - /filters: список всех активных фильтров в этом чате. + +*Только админы:* + - /filter <ключевое слово> <ответное сообщение >: Добавить фильтр в этот чат. Бот будет отвечать на это сообщение всякий раз, когда "ключевое слово" \ +будет упомянуто. +ПРИМЕЧАНИЕ: все фильтры не чуствительны к регистру букв. +Если вы отвечаете стикером с ключевым словом, то ответьте на стикер сообщением `/filter 'ключевое слово'`. +Если вы хотите, чтобы ваше ключевое слово было предложением, используйте одинарные кавычки. Например: `/filter 'Привет всем' Как вы?` + - /stop <ключевое слово>: Остановить этот фильтр.""", + +"Bans_help": """ - /kickme: Удаляет пользователя написавшего это из группы. + +*Только админы:* + - /ban <пользователь>: Забанить пользователя. + - /tban <пользователь> (m/h/d): Забанить пользователя на X время. m = минуты, h = часы, d = дни. + - /unban <пользователь>: Разбанить пользователя. + - /kick <пользователь>: Удалить пользователя из группы. +ПРИМЕЧАНИЕ: Вместо конструкции `/комманда <пользователь>` можно ответить коммандой на любое сообщение пользователя.""", + +"Connections_help":"""Соединения можно использовать для контролирования группы с лички бота, это удобно чтобы не спамить в чат. +Доступны действия с соедененными группами: + • Просмотр и редактирование заметок. + • Просмотр и редактирование фильтров. + • Просмотр и редактирование черного списка. + • Назначать/понижать пользователей. + • Просмотр списка админов, просмотр ссылки-приглашения. + • Включать/выключать комманды в чате + • Мутить/размутить пользователей в чате + • Ограничить пользователей в чате + • Больше в будущем! + + - /connection : Подключится к группе. + - /disconnect: Отключится от группы. + - /allowconnect on/yes/off/no: Разрешить подключение пользователей к этой группе.""", + +"RSS Feed_help": """ - /addrss <ссылка>: Добавить ссылку в подписку RSS. + - /removerss <ссылка>: Удалить ссылку из подписки. + - /rss <ссылка>: Показать последнюю новость из RSS единожды. + - /listrss: Показать подписки. + +ПРИМЕЧАНИЕ: В группе только админы могут добавлять/удалять RSS ссылки""", + +"Sed/Regex_help": """- s/<текст1>/<текст2>(/<флаг>): ответьте на сообщение с этой коммандой чтобы произвести операцию замены текста на ней, будет заменен \ +'текст1' на 'текст2'. Флаг опционален, '`i`' для игнорироваия капса, '`g`' для глобальной замены. +Разделители могут быть `/`, `_`, `|`, и `:`. Поддерэивается группировка текста. Результат не может быть больше чем 4096 символов. + +ПРИМЕЧАНИЕ: Sed использует некоторые специальные символы, такие как: `+*.?\\` +Если вы хотите использовать эти символы, убедитесь, что вы их экранируете! +Пример: `\\?`.""", + +"Log Channels_help": """*Только админы:* +- /logchannel: Получить информацию о текущем лог канале +- /setlog: Установить канал для логирования. +- /unsetlog: Отключить канал для логирования. + +Настройка канала для логирования: +- Добавление бота в канал (Как админа!) +- Отправка `/setlog` в канал +- Пересылка отправленного сообщения `/setlog` в группе +""", + +"Reporting_help": """ - /report <причина>: ответьте на сообщение что бы отправить его админам на проверку. + - @admin: Тоже самое как и /report, только без причины. +ПРИМЕЧАНИЕ: Возможность репорта дана только пользователям, на адмиов не будет реакции + +*Только админы:* + - /reports : сменить настройки репорта, или посмотреть текущий статус. + - Если ввести в личку бота - изменить свои настройки. + - Если ввести в чат - изменить настройки чата.""", + +"Notes_help": """ - /get <название заметки>: Получить заметку с этим именем. + - #<название заметки>: Тоже самое что и /get. + - /notes или /saved: Показать все заметки в этой группе. + +Если вы хотите получить содержимое заметки без какого-либо форматирования, используйте `/get <название заметки> noformat`. Это \ +полезно при обновлении существующей заметки. + +*Только админы:* + - /save <название заметки> <данные заметки>: Сохранить заметку +Кнопка может быть добавлена к заметке с помощью стандартного синтаксиса ссылки на разметку - ссылка должна быть просто добавлена с помощью \ +`buttonurl:` пример: `[Кнопка](buttonurl:example.com)`. Напишите /markdownhelp для получения дополнительной информации. + - /save <название заметки>: ответьте на сообщение чтобы сохранить его. + - /clear <название заметки>: Удалить заметку с этим именем.""", + +"Muting & Restricting_help": """*Только админы:* + - /mute <ник>: Замутить пользователя. (Через ник или ответ на сообщеник.) + - /tmute <ник> Х(m/h/d): Замутить пользователя на Х время. (Через ник или ответ на сообщеник.) m = минуты, h = часы, d = дни (пример: `60m` или `1h`). + - /unmute <ник>: Размутить пользователя. (Через ник или ответ на сообщеник.) + - /restrict <ник>: Запретить пользователю отправлять стикеры, гифки, ссылки или медиа. + - /trestrict <ник> Х(m/h/d): Запретить пользователю отправлять стикеры, гифки, ссылки или медиа на Х время. (via handle, or reply). m = минуты, h = часы, d = дни (пример: `60m` или `1h`). + - /unrestrict <ник>: Разрешить пользователю отправлять стикеры, гифки, ссылки или медиа.""", + +"Misc_help": """ - /id: Получить ID группы. Если ответить коммандой на сообщение - выдаст ID пользователя. + - /runs: Ответьте случайную строку из массива ответов. + - /slap: Ударить пользователя. + - /time <место>: Дает местное время в данном месте. + - /weather <место>: Получить текущую погоду в этом месте. + - /info: Получить информацию о пользователе. + - /gdpr: Удаляет вашу информацию из базы данных бота. + - /stickerid: Ответьте на стикер чтобы получить его ID. + - /getsticker: Ответьте на стикер чтобы получить его как png. + + - /markdownhelp: Краткое изложение того, как работает markdown в Telegram, - можно вызывать только в личке.""", + +"Bios and Abouts_help": """ - /setbio <текст>: При ответе, сохранит био другого пользователя. + - /bio: Получит био вашего или другого пользователя. + - /setme <текст>: Сохранит вашу информацию. + - /me: Получить информацию о вас или другом пользователе.""", + +"Rules_help": """ - /rules: Получить правила чата. + +*Только админы:* + - /setrules <правила>: Уставновить правила для чата. + - /clearrules: Удалсть правила для группы.""", + +"Warnings_help": """ - /warns <ник>: Получить текущие предупреждения пользователя или себя. + - /warnlist: Список всех текущих фильтров предупреждения. + +*Только админы:* + - /warn <ник>: Предупредить пользователя. После 3 предупреждений пользователь будет заблокирован из группы. Можно так же вызвать как ответ. + - /resetwarn <ник>: Сбросить предупреждения пользователя. Можно так же вызвать как ответ. + - /addwarn <ключевое слово> <предупреждение>: Установить фильтр предупреждения на определенное ключевое слово. Если вы хотите, чтобы ваше ключевое слово \ +было предложением, охватите его кавычками, пример: `/addwarn я сердит 'Это злой пользователь'`. + - /nowarn <ключевое слово>: Остановить фильтр предупреждений. + - /warnlimit <число>: Установить лимит предупреждений. + - /strongwarn : Если значение включено, превышение предела предупреждения приведет к бану. Если выключено, пользователь будет кикнут.""", + +"Welcomes/Goodbyes_help": """Сообщения Приветсвия и Прощания могут быть персонализированы многими способами. +Если вы хотите, чтобы сообщения были индивидуально сгенерированы, например приветственное сообщение по умолчанию, \ +вы можете использовать эти переменные: + - `{{first}}`: Имя пользователя. + - `{{last}}`: Фамилия пользователя. Если нет фамилии, будет использовано имя. + - `{{fullname}}`: Полное имя пользователя. Если нет полного имени, будет использовано имя. + - `{{username}}`: Ник пользователя. Если нет полного имени, будет использовано упоминание. + - `{{mention}}`: Просто упоминае пользователя с именем. + - `{{id}}`: ID пользователя. + - `{{count}}`: Счетчик пользователей в группе. + - `{{chatname}}`: Имя группы. +Каждая переменная ДОЛЖНА быть окружена `{{}}` для замены. +Сообщения Приветсвия и Прощания также поддерживают markdown, поэтому вы можете создавать любые элементы. \ +Кнопки также поддерживаются, поэтому вы можете сделать свои приветствия великолепными с помощью некоторых кнопок с надписью. \ +Чтобы создать кнопку, ссылающуюся на ваши правила, используйте это: `[Правила](buttonurl://t.me/{}?Start=group_id)`.\ +Просто замените `group_id` ID вашей группы, который можно получить через /id. Обратите внимание, что ID группы обычно предшествует знак `-`, он необходим, \ +поэтому, пожалуйста, не удаляйте его. \ +Вы можете даже установить изображения/гифки/видио/голосовые сообщения в качестве приветственного сообщения \ +ответе на нужный элемент и напишите /setwelcome. + +*Только админы:* + - /welcome : Включить/Выключить приветсвенные сообщения. + - /welcome: Показать текущий статус приветсвенных сообщений. + - /welcome noformat: Показывает текущие настройки приветствия, без форматирования - полезно при изменении вашого приветственного сообщения! + - /goodbye -> такое же использование как и /welcome. + - /setwelcome <текст>: Установка пользовательского приветственного сообщение. + - /setgoodbye <текст>: Установка пользовательского сообщение прощания. + - /resetwelcome: Вернуть приветственное сообщение по умолчанию. + - /resetgoodbye: Вернуть прощальное сообщение по умолчанию. + - /cleanwelcome : Удаление преведущего приветственного сообщение после отправки нового, что бы избежать спама в группе. + - /cleanservice : Удаляет все служебные сообщения; Эти раздражающие \"Х присоединились к группе\", которые вы видите, когда люди присоединяются. + - /welcomesecurity : soft - ограничить пользователя отправлять медиафайлы в течение 24 часов, hard - ограничить пользователя отправлять сообщения, пока он не нажимает кнопку \"Я не бот\".""".format(dispatcher.bot.username), + +"Word Blacklists_help":"""Черные списки используются, чтобы остановить определенные триггеры в группе. Каждый раз когда триггер будет упоминатся, \ +сообщение будет немедленно удалено. Это хорошо сочетает это с фильтрами предупреждений. + +ПРИМЕЧАНИЕ: черные списки не влияют на админов группы. + + - /blacklist: Просмотр текущих тригерров в черных списках. + +*Только админы:* + - /addblacklist <триггер>: Добавьте триггер в черный список. Каждая строка считается одним триггером, \ +поэтому использование разных строк позволит вам добавить несколько триггеров. + - /unblacklist <триггер>: Удалите триггеры из черного списка. Здесь применяется такая же логика новой строки, вы можете удалить \ +несколько триггеров одновременно. + - /rmblacklist <триггер>: То же, что и выше.""", + +"Purges_help": """*Только админы:* + - /del: Удалить сообщение на которое вы ответили. + - /purge: Удаляет все сообщения между этим и сообщением на которое вы ответили. + - /purge <Число Х>: Удаляет сообщение на которое вы ответили и последующие X-сообщения. """ +} diff --git a/fire_bot/modules/translations/Ukraine.py b/fire_bot/modules/translations/Ukraine.py new file mode 100644 index 0000000..707f30f --- /dev/null +++ b/fire_bot/modules/translations/Ukraine.py @@ -0,0 +1,486 @@ +from tg_bot import dispatcher + +RUN_STRINGS = ( + "Куди ти зібрався?", + "А? Шо? Вони пішли?" + "ZZzzZZzz... А? Шо? о, знову тільки вони, нічого." + "Повернися сюди.", + "Не так швидко...", + "Подивися на стіну!", + "Не лишайте мене з ними!!", + "Ти біжиш, ти помираєш.", + "Ти пошкодуєщ...", + "Ви можете спробувати /kickme, я чула, що це цікаво.", + "Іди, потурбуй когось іншого, тут всім байдуже.", + "Ти біжи, але тобі не сховатися.", + "Це все, що в тебе є?", + "Я стою позаду...", + "У тебе є компанія!", + "Ми можемо зробити це легким або складним шляхом.", + "Ти просто не розумієщ цього, чи не так?", + "Так, тобі краще тікати!", + "Будь-ласка, нагадай мені, наскільки мені це важливо?", + "На твоєму місці я б біжав швидше.", + "Це точно той дроід, якого ми шукаємо.", + "Най вдача буде на вашій стороні.", + "Усім відомі останні слова.", + "Вони зникли назавжди, щоб їх більше не бачили.", + "\"О, подивись на мене! Я настільки крутий, що можу втікти від Бога! \"- це людина", + "Так, так, просто натисніть /kickme уже.", + "Ось, візьміть це кільце й держіть курс на Мордор, вам все одно по дорозі.", + "За давніми легендами, вони ще біжать...", + "На відміну від Гарі Потера, твоі батьки не зможуть захистити тебе від мене.", + "Страх приводить до гніву. Гнів приводить до ненависті. Ненависть приводить до стражданнь. Якщо ви продовжите тікати в страху, ви можете " + "стати наступним Вейдером.", + "Кілька розрахунків після, я вирішив, що мій інтерес до ваших махінацій рівно 0.", + "Продовжуйте, не впевнений, що ми хочемо, щоб ви тут лишались.", + "Ти маг-ОЙ. Зажди. Ти не Гарі, продовжуйте рух.", + "НЕ БІГАТИ ПО КОРИДОРАМ!", + "Hasta la vista, дєтка.", + "Хто випустив собаку?", + "Це смішно тому, що всім пофіг.", + "Ах, яка втрата. Він мені подобався.", + "Чесно кажучи, моя дорогенька, мені байдуже.", + "Ви не можете йти проти правди!", + "Давним-давно, в далкекій-далекій галактиці... Комусь вони були потрібні. Але вже ні.", + "Ех, подивись на них! Вони тікають від неминучого банхаммера... Мило.", + "Хан стріляв першим. Я зроблю так, як він.", + "Навіщо ти біжиш за білим кроликом?", + "Як сказав би Доктор... Біжи!", +) + +SLAP_TEMPLATES = ( + "{user1} {hits} {user2} {itemp}.", + "{user1} {hits} в лице {user2} {itemp}.", + "{user1} {throws} {itemr} в {user2}.", + "{user1} бере {item} та {throws} їм в обличчя {user2}.", + "{user1} запускає {itemr} в напрямку {user2}.", + "{user1} розпочинає необразливо плескати {user2} {itemp}.", + "{user1} притискає {user2} та кілька разів {hits} його {itemp}.", + "{user1} хапає {itemr} та {hits} {user2}", + "{user1} прив'язує {user2} до стільця й {throws} {itemr} у нього.", + "{user1} по дружньому підштовхнув {user2}, щоб той швидше навчився плавати в лаві." +) + +ITEMS = ( + "чавунна сковорідка", + "велика форель", + "бейсбольна біта", + "крикетна біта", + "дерев'яна палиця", + "ніготь", + "принтер", + "лопата", + "ЕЛТ-монітор", + "книжка з фізики ", + "тостер", + "портрет Річарда Столмана", + "телевізор", + "п'ятитонна машина", + "рулон клейкої стрічки", + "книга", + "ноутбук", + "старий телевізор", + "мішок каменів", + "форель", + "гумове курчатко", + "шипаста летюча миша", + "вогнегасник", + "важкий камінь", + "шматок гімна", + "вулик", + "шматок гнилого м'яса", + "ведмідь", + "тонна цеглин", +) + +ITEMSP_UA = ( + "чавунною сковорідкою", + "великою фореллю", + "бейсбольною бітою", + "крикетною бітой", + "дерев'яною палицею", + "нігтем", + "принтером", + "лопатою", + "ЕЛТ-монітором", + "книжкою з фізики ", + "тостером", + "портретом Річарда Столмана", + "телевізором", + "пятитонною машиною", + "рулоном скотча", + "книгою", + "ноутбуком", + "старим телевізором", + "мішком каменів", + "фореллю", + "гумовим курчатком", + "шипастою летючею мишею", + "вогнегасником", + "важким каменем", + "шматком гімна", + "улеєм", + "шматком гнилого м'яса", + "ведмедем", + "тонною цеглин", + "гігантським пиріжком", +) + +ITEMSR_UA = ( + "чавунну сковорідку", + "велику форель", + "бейсбольну біту", + "крикетну біту", + "дерев'яну палицю", + "ніготь", + "принтер", + "лопату", + "ЕЛТ-монітор", + "книжку з фізики", + "тостер", + "портрет Річарда Столмана", + "телевізор", + "п'ятитону машинк", + "рулон скотчу", + "книгу", + "ноутбук", + "старий телевізор", + "мішок каменів", + "форель", + "гумове курча", + "шипасту летучу мишу", + "вогнегасник", + "важкий камінь", + "шматок гімна", + "вулик", + "шматок гнилого м'яса", + "ведмедя", + "тонну цеглин", +) + + +THROW = ( + "кидає", + "швиряє", + "роняє", +) + +HIT = ( + "б'є", + "молотить", + "шльопає", + "хлопає", + "колотить", + "царапає", +) + +UkrainianStrings = { + +#Connections + "Disabled connections to this chat for users": "Від'єднані з'єднання в цьому чаті для користувачів", + "Enabled connections to this chat for users": "Увімкнені з'єднання в цьому чаті для користувачів", + "Please enter on/yes/off/no in group!": "Будь-ласка введіть on/yes/off/no в групу!", + "Successfully connected to *{}*": "Успішно під'єднано до *{}*", + "Connection failed!": "З'єднання не вдалось!", + "Connections to this chat not allowed!": "Під'єднання до цього чату не дозволено!", + "Write chat ID to connect!": "Напишіть ID чату для під'єднання", + "Usage limited to PMs only!": "Використання лімітовано лише для особистих повідомлень!", + +#Admin + "How am I meant to promote someone that's already an admin?": "Як я можу призначити адміном того, хто вже ним являється?", + "I can't promote myself! Get an admin to do it for me.": "Я не можу призначити себе! Отримайте адміністратора, щоб зробити це для мене.", + "Successfully promoted in *{}*!": "Успішно призначений в *{}*!", + + "This person CREATED the chat, how would I demote them?": "Ця людина СТВОРИЛА чат, як я можу її знизити?", + "Can't demote what wasn't promoted!": "Як я можу знизити того хто не є адміном?", + "I can't demote myself!": "Я не можу знизити себе!", + "Successfully demoted in *{}*!": "Успішно знизений в *{}*!", + "Could not demote. I might not be admin, or the admin status was appointed by another user, so I can't act upon them!": + "Я не можу знизити. Можливо я не адмін, чи статус адміністратора був був призначений іншим користувачем, тому я не можу знизити його!", + + "I don't have access to the invite link, try changing my permissions!": "У мене немає доступу до запрошувального посилання, спробуйте змінити мої права!", + "I can only give you invite links for supergroups and channels, sorry!": "Я можу надавати запрошувальні посилання для супергруп та каналів!", + + "Admins in": "Адміністратори в", + "this chat": "цьому чаті", + " (Creator)": " (Створювач)", + +#Multi + "Invalid Chat ID provided!": "ID чату не існує!", #Connections + "You don't seem to be referring to a user.": "Здається, ви звертаєтесь не до користувача.", #Admin + +#Misc +"RUNS-K": RUN_STRINGS, +"SLAP_TEMPLATES-K": SLAP_TEMPLATES, +"ITEMS-K": ITEMS, +"HIT-K": HIT, +"THROW-K": THROW, +"ITEMP-K": ITEMSP_UA, +"ITEMR-K": ITEMSR_UA, +"Today in {} is being {}, around {}°C.\n": "Сьогодні в {} {}, приблизно {}°C.\n", + +#Multi + "Invalid Chat ID provided!": "ID чату не існує!", #Connections + +#__main__ + #Module names + "Admin": "Адміністрування", + "AFK": "Режим АФК", + "AntiFlood": "Антифлуд", + "Bans": "Бани", + "Word Blacklists": "Чорні списки", + "Filters": "Фільтри", + "Command disabling": "Відключення команд", + "Antispam security": "Антиспам захист", + "Locks": "Блокування", + "Log Channels": "Логування дій", + "Misc": "Інше", + "Purges": "Очистка", + "Muting & Restricting": "Мути й заборони", + "Notes": "Замітки", + "Reporting": "Репорти", + "RSS Feed": "RSS Лента", + "Rules": "Правила", + "Connections": "З'єднання", + "Bios and Abouts": "Підпис людини", + "Warnings": "Попередження", + "Welcomes/Goodbyes": "Привітання/Прощання", + +#Some main stuff +"Here is the help for the *{}* module:\n{}": "Допомога по модулю *{}*:\n{}", +"Back": "Назад", +"send-help": """Головні команди: + - /start: коротка інфа про бота. + - /help: Я напишу вам повідомлення. + - /help <назва модуля>: Я раскажу вам про цей модуль. + - /donate: Інформація про те як вдонатити в мене! + - /lang: Змінити мову бота. + - /settings: Показати поточні установки бота. + {} + """, + + +"\nAll commands can either be used with `/` or `!`.\n": "\nУсі команди можуть починатися з `/` або `!`\n", + +#Module helps +"Admin_help": """ - /adminlist | /admins: Список адмінів чату. + +*Тільки для адміністраторів:* + - /pin: Тихо закріпити отримане повідомлення - додайте аргумент 'loud' або 'notify' щоб повідомити користувачів про закріплення. + - /unpin: Відкріпити дане закріплене повідомлення. + - /invitelink: Отримати посилання-запрошення. + - /promote: Підвищити користівача. + - /demote: Знизити користувача.""", + +"AFK_help": """ - /afk <причина>: відмітити себе як АФК. + - brb <причина>: теж саме як /afk - але не команда. + +Якщо ви відмітили себе як АФК, на будь-яке згадування про вас буде відправлене повідомлення про вашу недоступність.""", + +"AntiFlood_help": """- /flood: Отримати дані установки антифлуда. + +*Тільки адміни:* + - /setflood <число/`no`/`off`>: Увімкнути або вимкнути антифлуд захист.""", + +"Antispam security_help":"""*Тільки адміни:* + - /antispam : Вимкнути захист від небажаного спаму, або показати дані установки якщо немає аргумента. + +Антиспам використовується власниками ботів для бану спамерів у всіх групах. Це допомагає захистити \ +вас та ваші групи, видаляючи спам флудерів як можна швидше. Це може бути відключене для вашої групи використовуючи \ +`/antispam off`""", + +"Locks_help": """ - /locktypes: список можливих блокувань. + +*Тільки адміни:* + - /lock <тип>: заблокувати елемент у цьому чаті. + - /unlock <тип>: разблокувати елемент у цьому чаті. + - /locks: Даний список блокувань у цьому чаті. + +Блокування можна використовувати для обмеження користувачів групи. Наприклад: +Блокування URL-адрес буде автоматично видаляти всі повідомлення з URL-адресами, які не були в білому списці, блокування стикерів буде видаляти всі \ +стикери и т. п. +Блокування ботів зупине не адміністраторів від додавання ботів у чат.""", + +"Command disabling_help":""" - /cmds: Перевірка даного стану відключених команд. +*Тільки адміни:* + - /enable <команда>: увімкнути цю команду. + - /disable <команда>: вимкнути цю команду. + - /listcmds: список усіх можливих команд для відключення.""", + +"Filters_help": """ - /filters: список усіх активних фільтрів у цьому чаті. + +*Тільки адміни:* + - /filter <ключове слово> <відповідне повідомлення>: Додати фільтр у цей чат. Бот буде відповідати на це повідомлення кожен раз, як "ключове слово" \ +буде згадано. +ДОДАТОК: усі фільтри не вразливі до регистру букв. +Якщо ви відповідаєте стикером з ключовим словом, то дайте відповідь на стикер повідленням `/filter 'ключове слово'`. +Якщо ви хочете, щоб ваше ключове слово було реченням, використовуйте одинарні кавички. Наприклад: `/filter 'Привіт усім' Як ви?` + - /stop <ключове слово>: Зувинти цей фільтр.""", + +"Bans_help": """ - /kickme: Видаляє користувача написавшего це з групи. + +*Тільки адміни:* + - /ban <користувач>: забанити користувача. + - /tban <користувач> (m/h/d): Забанити користувача на X часу. m = хвилини, h = години, d = дні. + - /unban <користувач>: Разбанити користувача. + - /kick <користувач>: видалити користувача. +ДОДАТОК: Замість конструкції `/команда <користувач>` можно відповісти командою на будь-яке повідомлення користувача.""", + +"Connections_help":"""З'єднання можно використати для контролювання групи з ОП бота, це зручно щоб не спамити в чат. +Доступні дії з групами: + • Перегляд та змінення нотаток + • Перегляд та редагування фільтрів. + • Перегляд та редагування нотаток. + • Підвищувати/знижувати користувачів. + • Перегляд списку адмінів, перегляд посилання для запрошення. + • Вмикати/вимикати комманди в чаті + • Більше в майбутньому! + + - /connection : Підключитися до групи. + - /disconnect: Відключитися від групи. + - /allowconnect on/yes/off/no: Дозволити підключення користувачів(юзерів) до цієї групи.""", + +"RSS Feed_help": """ - /addrss <посилання>: Додати посилання в підписку RSS. + - /removerss <посилання>: Видалити посилання з підпису. + - /rss <посилання>: Показати останню новину з RSS один раз. + - /listrss: Показати підписки. + +ДОДАТОК: В групі тільки адміни можуть додавати/видаляти RSS посилання""", + +"Sed/Regex_help": """- s/<текст1>/<текст2>(/<прапор>): дайте відповідь на повідомлення з цією командою щоб замінити текст на ній, буде замінено \ +'текст1' на 'текст2'. Прапор опціональний, '`i`' для ігнорування капсу, '`g`' для глобальної заміни. +Розділювачі можуть бути `/`, `_`, `|`, та `:`. Підтримується групування тексту. Результат не може бути більше ніж 4096 символів. + +ДОДАТОК: Sed використовує деякі спеціальні символи, такі як: `+*.?\\` +Якщо ви хочете використовувати ці символи, переконайтесь, що ви їх екрануєте! +Приклад: `\\?`.""", + +"Log Channels_help": """*Тільки адміни:* +- /logchannel: Отримати інформацію про даний лог канал +- /setlog: Встановити канал для логування. +- /unsetlog: Вимкнути канал для логування. + +Налаштування канала для логування: +- Додавання бота в канал (Як адміна!) +- Відправлення `/setlog` в канал +- Пересилання відправленого повідомлення `/setlog` в групі +""", + +"Reporting_help": """ - /report <причина>: дайте відповідь на повідомлення щоб відправити його адмінам на перевірку. + - @admin: теж саме що й /report, тільки без причини. +ДОДАТОК: Можливість репорта дозволена тільки користувачям, на адмінів не буде реакції + +*Тільки адміни:* + - /reports : змінити установки репорта, або продивитися даний статус. + - Якщо вивести в личку бота - змінити свої установки. + - Якщо ввести в чат - Змінити установки чата.""", + +"Notes_help": """ - /get <назва нотатки>: Отримати нотатку з цим іменем. + - #<назва нотатки>: ткж саме що й /get. + - /notes або /saved: Показати усі нотатки в цій групі. + +Якщо ви хочете отримати вміст нотатки без ніякого форматування, використайте `/get <назва нотатки> noformat`. Це \ +корисно при оновленні існуючої нотатки. + +*Тільки адміни:* + - /save <назва нотатки> <данні нотатки>: Збарегти нотатку. +Кнопка може бути додана до нотатки з допомогою стандартного синтаксиса посилання на рохмітку - посилання повинне бути просто додано з допомогою \ +`buttonurl:` приклад: `[Кнопка](buttonurl:example.com)`. Напишіть /markdownhelp Для отримання розширеної інформації. + - /save <назва нотатки>: дайте відповідь на повідомлення щоб зберегти. + - /clear <назва нотатки: видалити нотатку з цим іменем.""", + +"Muting & Restricting_help": """*Тільки адміни:* + - /mute <нік>: Замутити користувача. (Через нік або відповадь на повідомлення.) + - /tmute <нік> Х(m/h/d): Замутити користувача на Х часу. (Через нік або відповідь на повідомлення.) m = хвилини, h = години, d = дні (приклад: `60m` або `1h`). + - /unmute <нік>: Размутити користувача. (Через нік або відповідь на повідомлення.) + - /restrict <нік>: Заборонити користувачу відправляти стікери, гіфки, посилання чи медіа. + - /trestrict <нік> Х(m/h/d): Заборонити користувачу відправляти стікери, гіфки, посилання чи медіа на Х часу. (via handle, or reply). m = хвилини, h = години, d = дні (приклад: `60m` або `1h`). + - /unrestrict <нік>: Дозволити користувачу відправляти стікери, гіфки, посилання чи медіа.""", + +"Misc_help": """ - /id: Отримати ID групи. Якщо відповісти командою на повідомлення - ви отримаєте ID користувача. + - /runs: Відповісти рандомною фразою. + - /slap: Вдарити користувача. + - /time <місце>: Виводить місцевий час. + - /info: Отримати інфу про користувача. + - /gdpr: Видаляє інфу про вас з бази данних бота. + - /stickerid: Дайте відповідь на стікер щоб отримати його ID. + - /getsticker: Дайте відповідь на стікер щоб отримати його як png. + + - /markdownhelp: Коротка інформація про те, як працює markdown в Telegram, - можна викликати тільки в личці.""", + +"Bios and Abouts_help": """ - /setbio <текст>: При відповаіді, збереже біо іншого користувача. + - /bio: Виведе біо вашого чи іншого користувача. + - /setme <текст>: Збереже вашу інформацію. + - /me: Виведе інформацію про вас, чи про іншого користувача.""", + +"Rules_help": """ - /rules: Вивести правила чата. + +*Тільки адміни:* + - /setrules <правила>: Встановити правила для чата. + - /clearrules: Видалити правила для групи.""", + +"Warnings_help": """ - /warns <нік>: Вивести дані варни цього користувача чи для себе. + - /warnlist: Вивести список фільтрів для варнів. + +*Тільки адміни:* + - /warn <нік>: Попередити користувача. Після 3 попереджень користувач буде заблокований у групі. Можна також використати як відповідь. + - /resetwarn <нік>: Скинути попередження користувача. Можна також використати як відповідь. + - /addwarn <ключове слово> <попередження>: Встановити фільтр попередження на ключове слово. Якщо ви хочете, щоб ваше ключове слово \ +було реченням, виділіть його кавичками, наприклад: `/addwarn я розлючений 'Це злий користувач'`. + - /nowarn <ключове слово>: Вимкнути фільтр попереджень. + - /warnlimit <число>: Встановити ліміт попереджень. + - /strongwarn : Якщо увімкнено, то перевищення ліміту попереджень призведе до бану. Якщо вимкнено, користувач буде кікнутий.""", + +"Welcomes/Goodbyes_help": """Повідомлення Привітання та Прощання можуть бути персоналізовані багатьма методами. +Якщо ви хочете, щоб повідомлення були індивідуально сгенеровані, наприклад привітальне повідомлення за умовчанням, \ +аи можете використовувати такі змінні: + - `{{first}}`: Ім'я користувача. + - `{{last}}`: Прізвище користувача. Якщо нема прізвища, буде використано ім'я. + - `{{fullname}}`: Повне ім'я користувача. Якщо нема повного імені, буде використано ім'я. + - `{{username}}`: Нік користувача. Якщо нема повного імені, буде використано згадування. + - `{{mention}}`: Згадує користувача з іменем. + - `{{id}}`: ID користувача. + - `{{count}}`: Лічильник користувачів у групі. + - `{{chatname}}`: Ім'я групи. +Кожна змінна ПОВИННА бути виділена `{{}}` для зміни. +Повідомлення Привітання й Прощання також підтримують markdown, тому ви можете створювати будь-які елементи. \ +Кнопки також підтримуються, тому ви можете створити свої привітання чудовими з лоромогою деяких кнопок з написом. \ +Щоб створити кнопку, що ссилається на ваші правила, використовуйте це: `[Правила](buttonurl://t.me/{}?Start=group_id)`.\ +Просто змініть `group_id` ID вашої групи, який можна отримати через /id. Зверніть увагу, що ID групи зазвичай зазвичай передує `-`, він потрібен, \ +тому, будь-ласка, не видяляйте його. \ +Ви можете також встановити зображення/гіфки/відео/голосові повідомлення в якості привітального повідомлення \ +дайте відповідь на потрібний елемент та напишіть /setwelcome. + +*Тільки адміни:* + - /welcome : Увімкнути/Вимкнути привітальні повідомлення. + - /welcome: Показує даний статус привітальних повідомлень. + - /welcome noformat: Показує данні установки привітання, без форматування - корисно при зміненні вашого привітального повідомлення! + - /goodbye -> так само як і /welcome. + - /setwelcome <текст>: Установка користувацького привітального повідомлення. + - /setgoodbye <текст>: Установка користувацького прощального повідомлення. + - /resetwelcome: Повернути привітальне повідомлення за умовчанням. + - /resetgoodbye: Повернути прощальне повідомлення за умовчанням. + - /cleanwelcome : Видалення попереднього привітального повідомлення після відправлення нового, щоб уникнути спаму в групі. + - /cleanservice : Видаляє всі службові повідомлення; Ці докучливі \"Х приєдналися до групи\", котрі ви бачите, коли люди приєднуються до групи. + - /welcomesecurity : soft - заборонити користувачу відправляти медіафайли протягом 24 годин, hard - заборонити користувачу віправляти повідомлення, поки він не натисне кнопку \"Я не бот\".""".format(dispatcher.bot.username), + +"Word Blacklists_help":"""Чорні списки використовуються, щоб зупинити певні трігери в групі. Кожен раз, коли трігер буде згадано, \ +повідомлення буде миттєво видалене. Це добре комбінується з фільтрами попереджень. + +ДОДАТОК: чорні списки не діють на адмінів групи. + + - /blacklist: Перегляд поточних трігерів в групі. + +*Тільки адміни:* + - /addblacklist <трігер>: додайте трігер в чорний список. Кожна строка розпочиняється одним трігером, \ +тому використання різних строк дозволить вам додавати кілька трігерів. + - /unblacklist <трігер>: видалення трігера з чорного списку. Тут використовуєьбся така ж логіка нової строки, ви можете видалити \ +кілька трігерів одночасно. + - /rmblacklist <трігер>: теж саме, що й вище.""", + +"Purges_help": """*Тільки адміни:* + - /del: видалити повідомлення, на яке ви відповіли. + - /purge: видаляє всі повідомлення між цим та тим на яке ви відповіли. + - /purge <Число Х>: видаляє повідомлення на яке ви відповіли й наступні Х-повідомлень. """ +} diff --git a/fire_bot/modules/translations/list_locale.py b/fire_bot/modules/translations/list_locale.py new file mode 100644 index 0000000..57bd7b3 --- /dev/null +++ b/fire_bot/modules/translations/list_locale.py @@ -0,0 +1,185 @@ +list_locales = { 'ab': 'Abkhaz', +'aa': 'Afar', +'af': 'Afrikaans', +'ak': 'Akan', +'sq': 'Albanian', +'am': 'Amharic', +'ar': 'Arabic', +'an': 'Aragonese', +'hy': 'Armenian', +'as': 'Assamese', +'av': 'Avaric', +'ae': 'Avestan', +'ay': 'Aymara', +'az': 'Azerbaijani', +'bm': 'Bambara', +'ba': 'Bashkir', +'eu': 'Basque', +'be': 'Belarusian', +'bn': 'Bengali', +'bh': 'Bihari', +'bi': 'Bislama', +'bs': 'Bosnian', +'br': 'Breton', +'bg': 'Bulgarian', +'my': 'Burmese', +'ca': 'Catalan', +'ch': 'Chamorro', +'ce': 'Chechen', +'ny': 'Chichewa', +'zh': 'Chinese', +'cv': 'Chuvash', +'kw': 'Cornish', +'co': 'Corsican', +'cr': 'Cree', +'hr': 'Croatian', +'cs': 'Czech', +'da': 'Danish', +'dv': 'Divehi', +'nl': 'Nederlands', +'dz': 'Dzongkha', +'en': 'English', +'eo': 'Esperanto', +'et': 'Estonian', +'ee': 'Ewe', +'fo': 'Faroese', +'fj': 'Fijian', +'fi': 'Finnish', +'fr': 'French', +'ff': 'Fula', +'gl': 'Galician', +'ka': 'Georgian', +'de': 'Deutsch', +'el': 'Greek', +'gn': 'Guaraní', +'gu': 'Gujarati', +'ht': 'Haitian', +'ha': 'Hausa', +'he': 'Hebrew', +'hz': 'Herero', +'hi': 'Hindi', +'ho': 'Hiri Motu', +'hu': 'Hungarian', +'ia': 'Interlingua', +'id': 'Indonesian', +'ie': 'Interlingue', +'ga': 'Irish', +'ig': 'Igbo', +'ik': 'Inupiaq', +'io': 'Ido', +'is': 'Icelandic', +'it': 'Italian', +'iu': 'Inuktitut', +'ja': 'Japanese', +'jv': 'Javanese', +'kl': 'Kalaallisut', +'kn': 'Kannada', +'kr': 'Kanuri', +'ks': 'Kashmiri', +'kk': 'Kazakh', +'km': 'Khmer', +'ki': 'Kikuyu', +'rw': 'Kinyarwanda', +'ky': 'Kirghiz', +'kv': 'Komi', +'kg': 'Kongo', +'ko': 'Korean', +'ku': 'Kurdish', +'kj': 'Kwanyama', +'la': 'Latin', +'lb': 'Luxembourgish', +'lg': 'Luganda', +'li': 'Limburgish', +'ln': 'Lingala', +'lo': 'Lao', +'lt': 'Lithuanian', +'lu': 'Luba-Katanga', +'lv': 'Latvian', +'gv': 'Manx', +'mk': 'Macedonian', +'mg': 'Malagasy', +'ms': 'Malay', +'ml': 'Malayalam', +'mt': 'Maltese', +'mi': 'Māori', +'mr': 'Marathi', +'mh': 'Marshallese', +'mn': 'Mongolian', +'na': 'Nauru', +'nv': 'Navajo', +'nb': 'Norwegian Bokmål', +'nd': 'North Ndebele', +'ne': 'Nepali', +'ng': 'Ndonga', +'nn': 'Norwegian Nynorsk', +'no': 'Norwegian', +'ii': 'Nuosu', +'nr': 'South Ndebele', +'oc': 'Occitan', +'oj': 'Ojibwe', +'cu': 'Old Church Slavonic', +'om': 'Oromo', +'or': 'Oriya', +'os': 'Ossetian', +'pj': 'Punjabi', +'pi': 'Pāli', +'fa': 'Persian', +'pl': 'Polish', +'ps': 'Pashto', +'pt': 'Portuguese', +'pt-br' : 'Brazilian Portuguese', +'qu': 'Quechua', +'rm': 'Romansh', +'rn': 'Kirundi', +'ro': 'Moldavan', +'ru': 'Russian', +'sa': 'Sanskrit', +'sc': 'Sardinian', +'sd': 'Sindhi', +'se': 'Northern Sami', +'sm': 'Samoan', +'sg': 'Sango', +'sr': 'Serbian', +'gd': 'Scottish Gaelic', +'sn': 'Shona', +'si': 'Sinhalese', +'sk': 'Slovak', +'sl': 'Slovene', +'so': 'Somali', +'st': 'Southern Sotho', +'es': 'Castilian', +'su': 'Sundanese', +'sw': 'Swahili', +'ss': 'Swati', +'sv': 'Swedish', +'ta': 'Tamil', +'te': 'Telugu', +'tg': 'Tajik', +'th': 'Thai', +'ti': 'Tigrinya', +'bo': 'Tibetan', +'tk': 'Turkmen', +'tl': 'Tagalog', +'tn': 'Tswana', +'to': 'Tonga', +'tr': 'Turkish', +'ts': 'Tsonga', +'tt': 'Tatar', +'tw': 'Twi', +'ty': 'Tahitian', +'ug': 'Uyghur', +'uk': 'Ukrainian', +'ur': 'Urdu', +'uz': 'Uzbek', +'ve': 'Venda', +'vi': 'Vietnamese', +'vo': 'Volapük', +'wa': 'Walloon', +'cy': 'Welsh', +'wo': 'Wolof', +'fy': 'Western Frisian', +'xh': 'Xhosa', +'yi': 'Yiddish', +'yo': 'Yoruba', +'za': 'Chuang', +'zu': 'Zulu'} diff --git a/fire_bot/modules/translations/strings.py b/fire_bot/modules/translations/strings.py new file mode 100644 index 0000000..bcc62d1 --- /dev/null +++ b/fire_bot/modules/translations/strings.py @@ -0,0 +1,45 @@ +from tg_bot.modules.sql.translation import prev_locale +from tg_bot.modules.translations.English import EnglishStrings +from tg_bot.modules.translations.Russian import RussianStrings +from tg_bot.modules.translations.Ukraine import UkrainianStrings + +def tld(chat_id, t, show_none=True): + LANGUAGE = prev_locale(chat_id) + print(chat_id, t) + if LANGUAGE: + LOCALE = LANGUAGE.locale_name + if LOCALE in ('ru') and t in RussianStrings: + return RussianStrings[t] + elif LOCALE in ('uk') and t in UkrainianStrings: + return UkrainianStrings[t] + else: + if t in EnglishStrings: + return EnglishStrings[t] + else: + return t + elif show_none: + if t in EnglishStrings: + return EnglishStrings[t] + else: + return t + + + +def tld_help(chat_id, t): + LANGUAGE = prev_locale(chat_id) + print("tld_help ", chat_id, t) + if LANGUAGE: + LOCALE = LANGUAGE.locale_name + + t = t + "_help" + + print("Test2", t) + + if LOCALE in ('ru') and t in RussianStrings: + return RussianStrings[t] + elif LOCALE in ('uk') and t in UkrainianStrings: + return UkrainianStrings[t] + else: + return False + else: + return False