translations.py 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  1. # █ █ ▀ █▄▀ ▄▀█ █▀█ ▀
  2. # █▀█ █ █ █ █▀█ █▀▄ █
  3. # © Copyright 2022
  4. # https://t.me/hikariatama
  5. #
  6. # 🔒 Licensed under the GNU AGPLv3
  7. # 🌐 https://www.gnu.org/licenses/agpl-3.0.html
  8. from .. import loader, utils, translations
  9. from telethon.tl.types import Message
  10. import logging
  11. logger = logging.getLogger(__name__)
  12. @loader.tds
  13. class Translations(loader.Module):
  14. """Processes internal translations"""
  15. strings = {
  16. "name": "Translations",
  17. "lang_saved": "{} <b>Language saved!</b>",
  18. "pack_saved": (
  19. "<emoji document_id=5368324170671202286>👍</emoji> <b>Translate pack"
  20. " saved!</b>"
  21. ),
  22. "incorrect_language": (
  23. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Incorrect language"
  24. " specified</b>"
  25. ),
  26. "lang_removed": (
  27. "<emoji document_id=5368324170671202286>👍</emoji> <b>Translations reset"
  28. " to default ones</b>"
  29. ),
  30. "check_pack": (
  31. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Invalid pack format"
  32. " in url</b>"
  33. ),
  34. "check_url": (
  35. "<emoji document_id=5436162517686557387>🚫</emoji> <b>You need to specify"
  36. " valid url containing a langpack</b>"
  37. ),
  38. "too_long": (
  39. "<emoji document_id=5433653135799228968>📁</emoji> <b>Command output seems"
  40. " to be too long, so it's sent in file.</b>"
  41. ),
  42. "opening_form": " <b>Opening form...</b>",
  43. "opening_gallery": " <b>Opening gallery...</b>",
  44. "opening_list": " <b>Opening list...</b>",
  45. "inline403": "🚫 <b>You can't send inline units in this chat</b>",
  46. "invoke_failed": "<b>🚫 Unit invoke failed! More info in logs</b>",
  47. "show_inline_cmds": "📄 Show all available inline commands",
  48. "no_inline_cmds": "You have no available commands",
  49. "no_inline_cmds_msg": (
  50. "<b>😔 There are no available inline commands or you lack access to them</b>"
  51. ),
  52. "inline_cmds": "ℹ️ You have {} available command(-s)",
  53. "inline_cmds_msg": "<b>ℹ️ Available inline commands:</b>\n\n{}",
  54. "run_command": "🏌️ Run command",
  55. "command_msg": "<b>🌘 Command «{}»</b>\n\n<i>{}</i>",
  56. "command": "🌘 Command «{}»",
  57. "button403": "You are not allowed to press this button!",
  58. "keep_id": "⚠️ Do not remove ID! {}",
  59. }
  60. strings_ru = {
  61. "lang_saved": "{} <b>Язык сохранён!</b>",
  62. "pack_saved": (
  63. "<emoji document_id=5368324170671202286>👍</emoji> <b>Пакет переводов"
  64. " сохранён!</b>"
  65. ),
  66. "incorrect_language": (
  67. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Указан неверный"
  68. " язык</b>"
  69. ),
  70. "lang_removed": (
  71. "<emoji document_id=5368324170671202286>👍</emoji> <b>Переводы сброшены"
  72. " на стандартные</b>"
  73. ),
  74. "check_pack": (
  75. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Неверный формат"
  76. " пакета переводов в ссылке</b>"
  77. ),
  78. "check_url": (
  79. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Вы должны указать"
  80. " ссылку, содержащую пакет переводов</b>"
  81. ),
  82. "too_long": (
  83. "<emoji document_id=5433653135799228968>📁</emoji> <b>Вывод команды слишком"
  84. " длинный, поэтому он отправлен в файле.</b>"
  85. ),
  86. "opening_form": " <b>Открываю форму...</b>",
  87. "opening_gallery": " <b>Открываю галерею...</b>",
  88. "opening_list": " <b>Открываю список...</b>",
  89. "inline403": "🚫 <b>Вы не можете отправлять встроенные элементы в этом чате</b>",
  90. "invoke_failed": "<b>🚫 Вызов модуля не удался! Подробнее в логах</b>",
  91. "show_inline_cmds": "📄 Показать все доступные встроенные команды",
  92. "no_inline_cmds": "У вас нет доступных inline команд",
  93. "no_inline_cmds_msg": (
  94. "<b>😔 Нет доступных inline команд или у вас нет доступа к ним</b>"
  95. ),
  96. "inline_cmds": "ℹ️ У вас {} доступная(-ых) команда(-ы)",
  97. "inline_cmds_msg": "<b>ℹ️ Доступные inline команды:</b>\n\n{}",
  98. "run_command": "🏌️ Выполнить команду",
  99. "command_msg": "<b>🌘 Команда «{}»</b>\n\n<i>{}</i>",
  100. "command": "🌘 Команда «{}»",
  101. "button403": "Вы не можете нажать на эту кнопку!",
  102. "keep_id": "⚠️ Не удаляйте ID! {}",
  103. }
  104. strings_de = {
  105. "lang_saved": "{} <b>Sprache gespeichert!</b>",
  106. "pack_saved": (
  107. "<emoji document_id=5368324170671202286>👍</emoji> <b>Übersetzungs"
  108. " Paket gespeichert!</b>"
  109. ),
  110. "incorrect_language": (
  111. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Falsche Sprache"
  112. " angegeben</b>"
  113. ),
  114. "lang_removed": (
  115. "<emoji document_id=5368324170671202286>👍</emoji> <b>Übersetzungen"
  116. " auf Standard zurückgesetzt</b>"
  117. ),
  118. "check_pack": (
  119. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Ungültiges"
  120. " Übersetzungs Paket in der URL</b>"
  121. ),
  122. "check_url": (
  123. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Sie müssen eine"
  124. " gültige URL angeben, die ein Übersetzungs Paket enthält</b>"
  125. ),
  126. "too_long": (
  127. "<emoji document_id=5433653135799228968>📁</emoji> <b>Befehlsausgabe scheint"
  128. " zu lang zu sein, daher wird sie in einer Datei gesendet.</b>"
  129. ),
  130. "opening_form": " <b>Formular wird geöffnet...</b>",
  131. "opening_gallery": " <b>Galerie wird geöffnet...</b>",
  132. "opening_list": " <b>Liste wird geöffnet...</b>",
  133. "inline403": "🚫 <b>Sie können Inline-Einheiten in diesem Chat nicht senden</b>",
  134. "invoke_failed": (
  135. "<b>🚫 Modulaufruf fehlgeschlagen! Weitere Informationen in den"
  136. " Protokollen</b>"
  137. ),
  138. "show_inline_cmds": "📄 Zeige alle verfügbaren Inline-Befehle",
  139. "no_inline_cmds": "Sie haben keine verfügbaren Inline-Befehle",
  140. "no_inline_cmds_msg": (
  141. "<b>😔 Keine verfügbaren Inline-Befehle oder Sie haben keinen Zugriff"
  142. " auf sie</b>"
  143. ),
  144. "inline_cmds": "ℹ️ Sie haben {} verfügbare(n) Befehl(e)",
  145. "inline_cmds_msg": "<b>ℹ️ Verfügbare Inline-Befehle:</b>\n\n{}",
  146. "run_command": "🏌️ Befehl ausführen",
  147. "command_msg": "<b>🌘 Befehl «{}»</b>\n\n<i>{}</i>",
  148. "command": "🌘 Befehl «{}»",
  149. "button403": "Sie können auf diese Schaltfläche nicht klicken!",
  150. "keep_id": "⚠️ Löschen sie das ID nicht! {}",
  151. }
  152. strings_tr = {
  153. "lang_saved": "{} <b>Dil kaydedildi!</b>",
  154. "pack_saved": (
  155. "<emoji document_id=5368324170671202286>👍</emoji> <b>Çeviri paketi"
  156. " kaydedildi!</b>"
  157. ),
  158. "incorrect_language": (
  159. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Yanlış dil"
  160. " belirtildi</b>"
  161. ),
  162. "lang_removed": (
  163. "<emoji document_id=5368324170671202286>👍</emoji> <b>Çeviriler varsayılan"
  164. " hale getirildi</b>"
  165. ),
  166. "check_pack": (
  167. "<emoji document_id=5436162517686557387>🚫</emoji> <b>URL'deki çeviri"
  168. " paketi geçersiz</b>"
  169. ),
  170. "check_url": (
  171. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Geçerli bir URL"
  172. " belirtmelisiniz</b>"
  173. ),
  174. "too_long": (
  175. "<emoji document_id=5433653135799228968>📁</emoji> <b>Komut çıktısı çok uzun"
  176. " görünüyor, bu yüzden dosya olarak gönderildi.</b>"
  177. ),
  178. "opening_form": " <b>Form açılıyor...</b>",
  179. "opening_gallery": " <b>Galeri açılıyor...</b>",
  180. "opening_list": " <b>Liste açılıyor...</b>",
  181. "inline403": "🚫 <b>Bu sohbete satır içi birimler gönderemezsin</b>",
  182. "invoke_failed": (
  183. "<b>🚫 Modül çağrısı başarısız! Kayıtlardan daha fazla bilgiye"
  184. " erişebilirsin</b>"
  185. ),
  186. "show_inline_cmds": "📄 Tüm kullanılabilir inline komutlarını göster",
  187. "no_inline_cmds": "Kullanılabilir inline komutunuz yok",
  188. "no_inline_cmds_msg": (
  189. "<b>😔 Kullanılabilir inline komutunuz yok veya erişiminiz yok</b>"
  190. ),
  191. "inline_cmds": "ℹ️ {} kullanılabilir komutunuz var",
  192. "inline_cmds_msg": "<b>ℹ️ Kullanılabilir inline komutlar:</b>\n\n{}",
  193. "run_command": "🏌️ Komutu çalıştır",
  194. "command_msg": "<b>🌘 Komut «{}»</b>\n\n<i>{}</i>",
  195. "command": "🌘 Komut «{}»",
  196. "button403": "Bu düğmeye basamazsınız!",
  197. "keep_id": "⚠️ ID'yi silmeyin! {}",
  198. }
  199. strings_uz = {
  200. "lang_saved": "{} <b>Til saqlandi!</b>",
  201. "pack_saved": (
  202. "<emoji document_id=5368324170671202286>👍</emoji> <b>Tarjima paketi"
  203. " saqlandi!</b>"
  204. ),
  205. "incorrect_language": (
  206. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Noto'g'ri til"
  207. " belgilandi</b>"
  208. ),
  209. "lang_removed": (
  210. "<emoji document_id=5368324170671202286>👍</emoji> <b>Tarjimalar"
  211. " standart holatga qaytarildi</b>"
  212. ),
  213. "check_pack": (
  214. "<emoji document_id=5436162517686557387>🚫</emoji> <b>URL'dagi tarjima"
  215. " paketi noto'g'ri</b>"
  216. ),
  217. "check_url": (
  218. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Siz noto'g'ri URL"
  219. " belirtdingiz</b>"
  220. ),
  221. "too_long": (
  222. "<emoji document_id=5433653135799228968>📁</emoji> <b>Bajarilgan buyruq"
  223. " natijasi juda uzun, shuning uchun fayl sifatida yuborildi.</b>"
  224. ),
  225. "opening_form": " <b>Formani ochish...</b>",
  226. "opening_gallery": " <b>Galeriyani ochish...</b>",
  227. "opening_list": " <b>Ro'yxatni ochish...</b>",
  228. "inline403": (
  229. "🚫 <b>Siz bu guruhda inline obyektlarni yuborishingiz mumkin emas</b>"
  230. ),
  231. "invoke_failed": (
  232. "<b>🚫 Modulni chaqirish muvaffaqiyatsiz! Batafsil ma'lumotlar"
  233. " jurnallarda</b>"
  234. ),
  235. "show_inline_cmds": "📄 Barcha mavjud inline buyruqlarini ko'rsatish",
  236. "no_inline_cmds": "Sizda mavjud inline buyruqlar yo'q",
  237. "no_inline_cmds_msg": (
  238. "<b>😔 Sizda mavjud inline buyruqlar yo'q yoki ularga kirish huquqingiz"
  239. " yo'q</b>"
  240. ),
  241. "inline_cmds": "ℹ️ Sizda {} mavjud buyruq bor",
  242. "inline_cmds_msg": "<b>ℹ️ Mavjud inline buyruqlar:</b>\n\n{}",
  243. "run_command": "🏌️ Buyruqni bajarish",
  244. "command_msg": "<b>🌘 Buyruq «{}»</b>\n\n<i>{}</i>",
  245. "command": "🌘 Buyruq «{}»",
  246. "button403": "Siz ushbu tugmani bosib bo'lmaysiz!",
  247. "keep_id": "⚠️ ID-ni o'chirmang! {}",
  248. }
  249. strings_hi = {
  250. "lang_saved": "{} <b>भाषा सहेजा गया!</b>",
  251. "pack_saved": (
  252. "<emoji document_id=5368324170671202286>👍</emoji> <b>अनुवाद पैक"
  253. " सहेजा गया!</b>"
  254. ),
  255. "incorrect_language": (
  256. "<emoji document_id=5436162517686557387>🚫</emoji> <b>गलत भाषा"
  257. " निर्दिष्ट किया गया</b>"
  258. ),
  259. "lang_removed": (
  260. "<emoji document_id=5368324170671202286>👍</emoji> <b>अनुवाद डिफ़ॉल्ट"
  261. " पर रीसेट किए गए</b>"
  262. ),
  263. "check_pack": (
  264. "<emoji document_id=5436162517686557387>🚫</emoji> <b>यूआरएल में गलत"
  265. " अनुवाद पैक निर्दिष्ट किया गया</b>"
  266. ),
  267. "check_url": (
  268. "<emoji document_id=5436162517686557387>🚫</emoji> <b>आपने गलत यूआरएल"
  269. " निर्दिष्ट किया है</b>"
  270. ),
  271. "too_long": (
  272. "<emoji document_id=5433653135799228968>📁</emoji> <b>कमांड आउटपुट बहुत लंबा"
  273. " लगता है, इसलिए फ़ाइल में भेजा जाता है.</b>"
  274. ),
  275. "opening_form": " <b>फॉर्म खोल रहा है...</b>",
  276. "opening_gallery": " <b>गैलरी खोल रहा है...</b>",
  277. "opening_list": " <b>सूची खोल रहा है...</b>",
  278. "inline403": "🚫 <b>आप इस ग्रुप में इनलाइन आइटम नहीं भेज सकते हैं</b>",
  279. "invoke_failed": "<b>🚫 मॉड्यूल इन्वोक विफल! विस्तृत जानकारी लॉग में है</b>",
  280. "show_inline_cmds": "📄 सभी उपलब्ध इनलाइन कमांड दिखाएं",
  281. "no_inline_cmds": "आपके पास कोई उपलब्ध इनलाइन कमांड नहीं हैं",
  282. "no_inline_cmds_msg": (
  283. "<b>😔 आपके पास कोई उपलब्ध इनलाइन कमांड या इनलाइन कमांड के लिए अनुमति नहीं"
  284. " हैं</b>"
  285. ),
  286. "inline_cmds": "ℹ️ आपके पास {} उपलब्ध कमांड हैं",
  287. "inline_cmds_msg": "<b>ℹ️ उपलब्ध इनलाइन कमांड:</b>\n\n{}",
  288. "run_command": "🏌️ कमांड चलाएं",
  289. "command_msg": "<b>🌘 कमांड «{}»</b>\n\n<i>{}</i>",
  290. "command": "🌘 कमांड «{}»",
  291. "button403": "आप इस बटन को दबा नहीं सकते!",
  292. "button404": "यह बटन अब उपलब्ध नहीं है!",
  293. }
  294. strings_ja = {
  295. "lang_saved": "{} <b>言語が保存されました!</b>",
  296. "pack_saved": (
  297. "<emoji document_id=5368324170671202286>👍</emoji> <b>翻訳パック が保存されました!</b>"
  298. ),
  299. "incorrect_language": (
  300. "<emoji document_id=5436162517686557387>🚫</emoji> <b>不正確な言語 が指定されました</b>"
  301. ),
  302. "lang_removed": (
  303. "<emoji document_id=5368324170671202286>👍</emoji> <b>翻訳がデフォルトに"
  304. " リセットされました</b>"
  305. ),
  306. "check_pack": (
  307. "<emoji document_id=5436162517686557387>🚫</emoji> <b>URLの翻訳パックが 不正確です</b>"
  308. ),
  309. "check_url": (
  310. "<emoji document_id=5436162517686557387>🚫</emoji> <b>不正確なURLを指定しました</b>"
  311. ),
  312. "too_long": (
  313. "<emoji document_id=5433653135799228968>📁</emoji> <b>コマンドの出力が"
  314. " 長すぎるため、ファイルとして送信されました.</b>"
  315. ),
  316. "opening_form": " <b>フォームを開いています...</b>",
  317. "opening_gallery": " <b>ギャラリーを開いています...</b>",
  318. "opening_list": " <b>リストを開いています...</b>",
  319. "inline403": "🚫 <b>あなたはこのグループでインラインアイテムを送信することはできません</b>",
  320. "invoke_failed": "<b>🚫 モジュールの呼び出しが失敗しました! 詳細はログに記録されています</b>",
  321. "show_inline_cmds": "📄 すべての利用可能なインラインコマンドを表示",
  322. "no_inline_cmds": "利用可能なインラインコマンドはありません",
  323. "no_inline_cmds_msg": "<b>😔 利用可能なインラインコマンドまたはインラインコマンドへのアクセス権がありません</b>",
  324. "inline_cmds": "ℹ️ 利用可能なコマンドが {} あります",
  325. "inline_cmds_msg": "<b>ℹ️ 利用可能なインラインコマンド:</b>\n\n{}",
  326. "run_command": "🏌️ コマンドを実行",
  327. "command_msg": "<b>🌘 コマンド「{}」</b>\n\n<i>{}</i>",
  328. "command": "🌘 コマンド「{}」",
  329. "button403": "あなたはこのボタンを押すことはできません!",
  330. "button404": "このボタンはもう利用できません!",
  331. }
  332. strings_kr = {
  333. "lang_saved": "{} <b>언어가 저장되었습니다!</b>",
  334. "pack_saved": (
  335. "<emoji document_id=5368324170671202286>👍</emoji> <b>번역 팩이 저장되었습니다!</b>"
  336. ),
  337. "incorrect_language": (
  338. "<emoji document_id=5436162517686557387>🚫</emoji> <b>잘못된 언어가 지정되었습니다</b>"
  339. ),
  340. "lang_removed": (
  341. "<emoji document_id=5368324170671202286>👍</emoji> <b>번역이 기본값으로 재설정되었습니다</b>"
  342. ),
  343. "check_pack": (
  344. "<emoji document_id=5436162517686557387>🚫</emoji> <b>URL의 번역 팩이 잘못되었습니다</b>"
  345. ),
  346. "check_url": (
  347. "<emoji document_id=5436162517686557387>🚫</emoji> <b>잘못된 URL을 지정하셨습니다</b>"
  348. ),
  349. "too_long": (
  350. "<emoji document_id=5433653135799228968>📁</emoji> <b>명령의 출력이"
  351. " 너무 깁니다. 파일로 전송되었습니다.</b>"
  352. ),
  353. "opening_form": " <b>폼을 열고 있습니다...</b>",
  354. "opening_gallery": " <b>갤러리를 열고 있습니다...</b>",
  355. "opening_list": " <b>리스트를 열고 있습니다...</b>",
  356. "inline403": "🚫 <b>이 그룹에서 인라인 아이템을 보내는 것은 허용되지 않습니다</b>",
  357. "invoke_failed": "<b>🚫 모듈 호출이 실패했습니다! 자세한 내용은 로그에 기록되어 있습니다</b>",
  358. "show_inline_cmds": "📄 모든 사용 가능한 인라인 명령을 표시",
  359. "no_inline_cmds": "사용 가능한 인라인 명령이 없습니다",
  360. "no_inline_cmds_msg": "<b>😔 사용 가능한 인라인 명령이 없거나 인라인 명령에 대한 액세스 권한이 없습니다</b>",
  361. "inline_cmds": "ℹ️ 사용 가능한 명령이 {} 개 있습니다",
  362. "inline_cmds_msg": "<b>ℹ️ 사용 가능한 인라인 명령:</b>\n\n{}",
  363. "run_command": "🏌️ 명령을 실행",
  364. "command_msg": "<b>🌘 명령 '{}' </b>\n\n<i>{}</i>",
  365. "command": "🌘 명령 '{}'",
  366. "button403": "이 버튼을 누를 수 없습니다!",
  367. "button404": "이 버튼은 더 이상 사용할 수 없습니다!",
  368. }
  369. strings_ar = {
  370. "lang_saved": "{} <b>تم حفظ اللغة!</b>",
  371. "pack_saved": (
  372. "<emoji document_id=5368324170671202286>👍</emoji> <b>تم حفظ حزمة"
  373. " الترجمة!</b>"
  374. ),
  375. "incorrect_language": (
  376. "<emoji document_id=5436162517686557387>🚫</emoji> <b>تم تحديد لغة"
  377. " غير صحيحة</b>"
  378. ),
  379. "lang_removed": (
  380. "<emoji document_id=5368324170671202286>👍</emoji> <b>تم إعادة تعيين"
  381. " الترجمة إلى الافتراضي</b>"
  382. ),
  383. "check_pack": (
  384. "<emoji document_id=5436162517686557387>🚫</emoji> <b>تم تحديد حزمة"
  385. " الترجمة غير صحيحة</b>"
  386. ),
  387. "check_url": (
  388. "<emoji document_id=5436162517686557387>🚫</emoji> <b>تم تحديد URL"
  389. " غير صحيح</b>"
  390. ),
  391. "too_long": (
  392. "<emoji document_id=5433653135799228968>📁</emoji> <b>تم تجاوز الناتج"
  393. " للأمر. تم إرساله كملف.</b>"
  394. ),
  395. "opening_form": " <b>يتم فتح النموذج...</b>",
  396. "opening_gallery": " <b>يتم فتح الصالة...</b>",
  397. "opening_list": " <b>يتم فتح القائمة...</b>",
  398. "inline403": "🚫 <b>لا يسمح بإرسال عناصر الواجهة السطحية في هذه المجموعة</b>",
  399. "invoke_failed": "<b>🚫 فشل استدعاء الوحدة! انظر السجل للحصول على تفاصيل</b>",
  400. "show_inline_cmds": "📄 عرض جميع الأوامر المتاحة",
  401. "no_inline_cmds": "لا توجد أوامر متاحة",
  402. "no_inline_cmds_msg": (
  403. "<b>😔 لا توجد أوامر متاحة أو ليس لديك إذن للوصول إلى الأوامر</b>"
  404. ),
  405. "inline_cmds": "ℹ️ {} أوامر متاحة",
  406. "inline_cmds_msg": "<b>ℹ️ أوامر متاحة:</b>\n\n{}",
  407. "run_command": "🏌️ تشغيل الأمر",
  408. "command_msg": "<b>🌘 الأمر '{}' </b>\n\n<i>{}</i>",
  409. "command": "🌘 الأمر '{}'",
  410. "button403": "لا يمكنك الضغط على هذا الزر!",
  411. "button404": "لا يمكنك الضغط على هذا الزر بعد الآن!",
  412. }
  413. strings_es = {
  414. "lang_saved": "{} <b>¡Idioma guardado!</b>",
  415. "pack_saved": (
  416. "<emoji document_id=5368324170671202286>👍</emoji> <b>¡Paquete de"
  417. " traducción guardado!</b>"
  418. ),
  419. "incorrect_language": (
  420. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Idioma"
  421. " incorrecto seleccionado</b>"
  422. ),
  423. "lang_removed": (
  424. "<emoji document_id=5368324170671202286>👍</emoji> <b>Restablecer la"
  425. " traducción a los valores predeterminados</b>"
  426. ),
  427. "check_pack": (
  428. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Paquete de"
  429. " traducción seleccionado incorrecto</b>"
  430. ),
  431. "check_url": (
  432. "<emoji document_id=5436162517686557387>🚫</emoji> <b>URL incorrecta"
  433. " seleccionada</b>"
  434. ),
  435. "too_long": (
  436. "<emoji document_id=5433653135799228968>📁</emoji> <b>El resultado del"
  437. " comando excede el límite. Enviado como archivo.</b>"
  438. ),
  439. "opening_form": " <b>Abriendo formulario...</b>",
  440. "opening_gallery": " <b>Abriendo galería...</b>",
  441. "opening_list": " <b>Abriendo lista...</b>",
  442. "inline403": (
  443. "🚫 <b>No se permiten elementos de interfaz de usuario en este grupo</b>"
  444. ),
  445. "invoke_failed": (
  446. "<b>🚫 ¡Error al invocar la unidad! Consulte el registro"
  447. " para obtener más detalles</b>"
  448. ),
  449. "show_inline_cmds": "📄 Mostrar todos los comandos disponibles",
  450. "no_inline_cmds": "No hay comandos disponibles",
  451. "no_inline_cmds_msg": (
  452. "<b>😔 No hay comandos disponibles o no tienes permiso para acceder a"
  453. " los comandos</b>"
  454. ),
  455. "inline_cmds": "ℹ️ {} comandos disponibles",
  456. "inline_cmds_msg": "<b>ℹ️ Comandos disponibles:</b>\n\n{}",
  457. "run_command": "🏌️ Ejecutar comando",
  458. "command_msg": "<b>🌘 Comando '{}'</b>\n\n<i>{}</i>",
  459. "command": "🌘 Comando '{}'",
  460. "button403": "¡No puedes presionar este botón!",
  461. "button404": "¡No puedes presionar este botón ahora!",
  462. }
  463. @loader.command(
  464. ru_doc="[языки] - Изменить стандартный язык",
  465. de_doc="[Sprachen] - Ändere die Standard-Sprache",
  466. tr_doc="[Diller] - Varsayılan dili değiştir",
  467. uz_doc="[til] - Standart tili o'zgartirish",
  468. hi_doc="[भाषाएं] - डिफ़ॉल्ट भाषा बदलें",
  469. ja_doc="[言語] - デフォルトの言語を変更します",
  470. kr_doc="[언어] - 기본 언어를 변경합니다",
  471. ar_doc="[اللغات] - تغيير اللغة الافتراضية",
  472. es_doc="[Idiomas] - Cambiar el idioma predeterminado",
  473. )
  474. async def setlang(self, message: Message):
  475. """[languages in the order of priority] - Change default language"""
  476. args = utils.get_args_raw(message)
  477. if not args or any(len(i) != 2 for i in args.split(" ")):
  478. await utils.answer(message, self.strings("incorrect_language"))
  479. return
  480. self._db.set(translations.__name__, "lang", args.lower())
  481. await self.translator.init()
  482. for module in self.allmodules.modules:
  483. try:
  484. module.config_complete(reload_dynamic_translate=True)
  485. except Exception as e:
  486. logger.debug(
  487. "Can't complete dynamic translations reload of %s due to %s",
  488. module,
  489. e,
  490. )
  491. lang2country = {"en": "gb", "hi": "in", "ja": "jp", "ar": "sa"}
  492. await utils.answer(
  493. message,
  494. self.strings("lang_saved").format(
  495. "".join(
  496. [
  497. utils.get_lang_flag(lang2country.get(lang, lang))
  498. for lang in args.lower().split(" ")
  499. ]
  500. )
  501. ),
  502. )
  503. @loader.command(
  504. ru_doc="[ссылка на пак | пустое чтобы удалить] - Изменить внешний пак перевода",
  505. de_doc=(
  506. "[Link zum Paket | leer um zu entfernen] - Ändere das externe Übersetzungs"
  507. " Paket"
  508. ),
  509. tr_doc=(
  510. "[Çeviri paketi bağlantısı | boş bırakmak varsayılan hale getirir] - Harici"
  511. " çeviri paketini değiştir"
  512. ),
  513. uz_doc=(
  514. "[tarjima paketi havolasini | bo'sh qoldirish standart holatga qaytaradi] -"
  515. " Tashqi tarjima paketini o'zgartirish"
  516. ),
  517. hi_doc="[अनुवाद पैक का लिंक | खाली छोड़ दें] - बाहरी अनुवाद पैक बदलें",
  518. ja_doc="[パッケージへのリンク | 空白で削除] - 外部翻訳パッケージを変更します",
  519. kr_doc="[패키지 링크 | 비워두면 삭제] - 외부 번역 패키지를 변경합니다",
  520. ar_doc="[رابط الحزمة | اتركه فارغا لحذفه] - تغيير حزمة الترجمة الخارجية",
  521. es_doc="[Enlace al paquete | vacío para eliminar] - Cambiar el paquete de",
  522. )
  523. async def dllangpackcmd(self, message: Message):
  524. """[link to a langpack | empty to remove] - Change Hikka translate pack (external)
  525. """
  526. args = utils.get_args_raw(message)
  527. if not args:
  528. self._db.set(translations.__name__, "pack", False)
  529. await self.translator.init()
  530. await utils.answer(message, self.strings("lang_removed"))
  531. return
  532. if not utils.check_url(args):
  533. await utils.answer(message, self.strings("check_url"))
  534. return
  535. self._db.set(translations.__name__, "pack", args)
  536. success = await self.translator.init()
  537. for module in self.allmodules.modules:
  538. try:
  539. module.config_complete(reload_dynamic_translate=True)
  540. except Exception as e:
  541. logger.debug(
  542. "Can't complete dynamic translations reload of %s due to %s",
  543. module,
  544. e,
  545. )
  546. await utils.answer(
  547. message,
  548. self.strings("pack_saved" if success else "check_pack"),
  549. )