diff options
author | Alastrim <alasmirt@gmail.com> | 2023-05-21 23:42:23 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2023-05-21 23:42:23 -0300 |
commit | 18f290277e0efe329c08872dd7b08645c2eca8ec (patch) | |
tree | 018f47e6a6b2a0ff910a90ad39d0c15284c2637b /web | |
parent | d03d4467445d6fc8bee385cf2e2499983dfced90 (diff) | |
download | tools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.gz tools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.bz2 tools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.xz tools-18f290277e0efe329c08872dd7b08645c2eca8ec.zip |
Update translations and scripts
Diffstat (limited to 'web')
-rwxr-xr-x | web/fetch.py | 67 | ||||
-rwxr-xr-x | web/updatelang.py | 2 |
2 files changed, 35 insertions, 34 deletions
diff --git a/web/fetch.py b/web/fetch.py index c5fbeea..92c2888 100755 --- a/web/fetch.py +++ b/web/fetch.py @@ -1,10 +1,15 @@ -#! /usr/bin/env python2.7 +#! /usr/bin/env python3 # -*- coding: utf8 -*- # # Copyright (C) 2018 TMW-2 -# Author: Jesusalva +# Author: Jesusalva, ntsneto + +from transifex.api import transifex_api +import requests + +## Master translation control, see data/langs/langs.txt as master reference +TTL={"English": "en", "Portuguese (Brazil)": "pt_BR", "French": "fr", "German": "de", "Spanish": "es", "Russian": "ru"} -from transifex.api import TransifexAPI #import sys #if len(sys.argv) == 2: @@ -18,45 +23,39 @@ from transifex.api import TransifexAPI # exit(1) print("\033[1mThis script is VULNERABLE TO CODE INJECTION. Git diff before deploying!\033[0m") -project='moubootaur-legends' - -print("Loading user credentials (login.txt/password.txt) from lang/ folder...") - -# Load credentials from login.txt and password.txt -login=open('../lang/login.txt', 'r') -for i in login: - username=i.replace('\n', '').replace('\r', '') +with open("token.txt", "r") as f: + token = f.read() + token = str(token).replace('\n','') -login.close() +transifex_api.setup(auth=token) -passw=open('../lang/password.txt', 'r') -for i in passw: - password=i.replace('\n', '').replace('\r', '') +organization_name = "arctic-games" +project_name = "moubootaur-legends" +resource_name = "website" -passw.close() +organization = transifex_api.Organization.get(slug=organization_name) -t=TransifexAPI(username, password, 'https://www.transifex.com') +print(f"Getting project details from organization {organization_name}") +project = organization.fetch("projects").get(slug=project_name) -if (not t.ping): - print("ERROR: Ping failed, this may be due incorrect username/password in login.txt and password.txt. Ensure there is NO newline at the end of file.") - exit(1) +print(f"Getting resource {resource_name} from project {project_name}") +resource = project.fetch("resources").get(slug=resource_name) -if (not t.project_exists(project)): - print("ERROR: Invalid project name") - exit(1) +print(f"Getting languages from project {project_name}") +languages = project.fetch("languages") # Load languages -langs=[] -vcx=open("langs.txt", "r") -for i in vcx: - if i != "en": - langs.append(i.replace('\n', '')) -vcx.close() - -# Fetch all translations and record them at in/ -for i in langs: - print("Fetching %s..." %(i)) - t.get_translation(project, 'website', i, 'po/'+str(i)+'.po') +for lang in languages: + url = transifex_api.ResourceTranslationsAsyncDownload.download(resource=resource, language=lang) + translated_content = requests.get(url).text + print(f"Fetching {lang.name}") + try: + code = TTL[lang.name] + except: + print(f"{lang.name} is unsupported, SKIPPED") + continue + with open(f"po/{code}.po", "w", encoding="UTF-8") as f: + print(translated_content, file=f) print("All translations were retrieved.") print("Please sanitize files removing \"\\n\", or updatelang.py won't parse properly.") diff --git a/web/updatelang.py b/web/updatelang.py index 8e0f82d..2eba12c 100755 --- a/web/updatelang.py +++ b/web/updatelang.py @@ -82,6 +82,8 @@ def lgname(lg): return "François" elif lg == "es": return "Español" + elif lg == "ru": + return "Русский" else: return "Unknown %s" % lg |