summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorAlastrim <alasmirt@gmail.com>2023-05-21 23:42:23 -0300
committerJesusaves <cpntb1@ymail.com>2023-05-21 23:42:23 -0300
commit18f290277e0efe329c08872dd7b08645c2eca8ec (patch)
tree018f47e6a6b2a0ff910a90ad39d0c15284c2637b /web
parentd03d4467445d6fc8bee385cf2e2499983dfced90 (diff)
downloadtools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.gz
tools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.bz2
tools-18f290277e0efe329c08872dd7b08645c2eca8ec.tar.xz
tools-18f290277e0efe329c08872dd7b08645c2eca8ec.zip
Update translations and scripts
Diffstat (limited to 'web')
-rwxr-xr-xweb/fetch.py67
-rwxr-xr-xweb/updatelang.py2
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