/translate-update.py

https://github.com/telegram-zhCN/telegram-language-resources · Python · 65 lines · 53 code · 12 blank · 0 comment · 11 complexity · 38a14b436ee56676a89629947302457b MD5 · raw file

  1. import sys
  2. import os
  3. import requests
  4. from bs4 import BeautifulSoup
  5. identification = os.environ.get('TRANSIFEX_USERNAME')
  6. password = os.environ.get("TRANSIFEX_PASSWORD")
  7. stel_ssid = os.environ.get('STEL_SSID')
  8. stel_token = os.environ.get('STEL_TOKEN')
  9. if identification is None:
  10. identification = sys.argv[1]
  11. if password is None:
  12. password = sys.argv[2]
  13. if stel_ssid is None:
  14. stel_ssid = sys.argv[3]
  15. if stel_token is None:
  16. stel_token = sys.argv[4]
  17. directory = 'zh-CN/'
  18. s = requests.session()
  19. r = s.get('https://www.transifex.com/signin/')
  20. soup = BeautifulSoup(r.text, 'html.parser')
  21. csrftoken = soup.find('input', {'name': 'csrfmiddlewaretoken'})['value']
  22. post = {'identification': identification, 'password': password, 'csrfmiddlewaretoken': csrftoken}
  23. r = s.post("https://www.transifex.com/signin/", data=post, headers={'referer': 'https://www.transifex.com/signin/'})
  24. print('Webogram')
  25. r = s.get('https://www.transifex.com/telegram-zhcn/telegram-zhcn-allplat/telegram-webogram/zh_CN/download/for_use/')
  26. with open(directory + "strings-web.json", "wb") as code:
  27. code.write(r.content)
  28. print('wp')
  29. r = s.get('https://www.transifex.com/telegram-zhcn/telegram-zhcn-allplat/telegram-wp/zh_CN/download/for_use/')
  30. with open(directory + "AppResources-WP.resx", "wb") as code:
  31. code.write(r.content)
  32. print('Fetching sources from telegram.org')
  33. cookies = {'stel_ssid': stel_ssid, 'stel_token': stel_token}
  34. print('Desktop')
  35. r = requests.get('https://translations.telegram.org/classic-zh-cn/tdesktop/export', cookies=cookies)
  36. with open(directory + "lang-desktop.strings", "wb") as code:
  37. code.write(r.content)
  38. print('Android')
  39. r = requests.get('https://translations.telegram.org/classic-zh-cn/android/export', cookies=cookies)
  40. with open(directory + "strings-android.xml", "wb") as code:
  41. code.write(r.content)
  42. print('iOS')
  43. r = requests.get('https://translations.telegram.org/classic-zh-cn/ios/export', cookies=cookies)
  44. with open(directory + "Localizable-iOS.strings", "wb") as code:
  45. code.write(r.content)
  46. print('macOS')
  47. r = requests.get('https://translations.telegram.org/classic-zh-cn/macos/export', cookies=cookies)
  48. with open(directory + "Localizable-macOS.strings", "wb") as code:
  49. code.write(r.content)
  50. print('Android X')
  51. r = requests.get('https://translations.telegram.org/classic-zh-cn/android_x/export', cookies=cookies)
  52. with open(directory + "strings-androidx.xml", "wb") as code:
  53. code.write(r.content)