* started to have german translations of all variants (environments) #925 #1199
This commit is contained in:
lumapu 2024-01-07 02:36:19 +01:00
parent 7a34b7e616
commit b765916a2a
16 changed files with 1869 additions and 299 deletions

View file

@ -3,6 +3,7 @@ import os
import gzip
import glob
import shutil
import json
from datetime import date
from pathlib import Path
import subprocess
@ -33,7 +34,7 @@ def readVersion(path):
ver += line[p+13:].rstrip() + "."
return ver[:-1]
def htmlParts(file, header, nav, footer, version):
def htmlParts(file, header, nav, footer, version, lang):
p = "";
f = open(file, "r")
lines = f.readlines()
@ -64,6 +65,8 @@ def htmlParts(file, header, nav, footer, version):
# remove if - endif ESP32
p = checkIf(p)
p = translate(file, p, lang)
p = translate("general", p, lang) # menu / header / footer
f = open("tmp/" + file, "w")
f.write(p);
@ -94,7 +97,30 @@ def checkIf(data):
return data
def convert2Header(inFile, version):
def findLang(file):
with open('../lang.json') as j:
lang = json.load(j)
for l in lang["files"]:
if l["name"] == file:
return l
return None
def translate(file, data, lang="de"):
json = findLang(file)
if None != json:
matches = re.findall(r'\{\#([A-Z0-9_]+)\}', data)
for x in matches:
for e in json["list"]:
if x == e["token"]:
#print("replace " + "{#" + x + "}" + " with " + e[lang])
data = data.replace("{#" + x + "}", e[lang])
return data
def convert2Header(inFile, version, lang):
fileType = inFile.split(".")[1]
define = inFile.split(".")[0].upper()
define2 = inFile.split(".")[1].upper()
@ -114,7 +140,7 @@ def convert2Header(inFile, version):
f.close()
else:
if fileType == "html":
data = htmlParts(inFile, "includes/header.html", "includes/nav.html", "includes/footer.html", version)
data = htmlParts(inFile, "includes/header.html", "includes/nav.html", "includes/footer.html", version, lang)
else:
f = open(inFile, "r")
data = f.read()
@ -169,6 +195,11 @@ Path("tmp").mkdir(exist_ok=True) # created to check if webpages are valid with a
shutil.copyfile("style.css", "tmp/style.css")
version = readVersion("../../defines.h")
# get language from environment
lang = "en"
if env['PIOENV'][-3:] == "-de":
lang = "de"
# go throw the array
for val in files_grabbed:
convert2Header(val, version)
convert2Header(val, version, lang)

View file

@ -59,6 +59,7 @@ def readVersion(path, infile):
os.mkdir(path + "firmware/ESP32-S3-ETH/")
sha = os.getenv("SHA",default="sha")
## ENGLISH VERSIONS
versionout = version[:-1] + "_" + sha + "_esp8266.bin"
src = path + ".pio/build/esp8266/firmware.bin"
dst = path + "firmware/ESP8266/" + versionout
@ -110,6 +111,59 @@ def readVersion(path, infile):
dst = path + "firmware/ESP32-S3-ETH/" + versionout
os.rename(src, dst)
## GERMAN VERSIONS
versionout = version[:-1] + "_" + sha + "_esp8266-de.bin"
src = path + ".pio/build/esp8266-de/firmware.bin"
dst = path + "firmware/ESP8266/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp8266_prometheus-de.bin"
src = path + ".pio/build/esp8266-prometheus-de/firmware.bin"
dst = path + "firmware/ESP8266/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp8285-de.bin"
src = path + ".pio/build/esp8285-de/firmware.bin"
dst = path + "firmware/ESP8285/" + versionout
os.rename(src, dst)
gzip_bin(dst, dst + ".gz")
versionout = version[:-1] + "_" + sha + "_esp32-de.bin"
src = path + ".pio/build/esp32-wroom32-de/firmware.bin"
dst = path + "firmware/ESP32/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32_prometheus-de.bin"
src = path + ".pio/build/esp32-wroom32-prometheus-de/firmware.bin"
dst = path + "firmware/ESP32/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32_ethernet-de.bin"
src = path + ".pio/build/esp32-wroom32-ethernet-de/firmware.bin"
dst = path + "firmware/ESP32/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32s2-mini-de.bin"
src = path + ".pio/build/esp32-s2-mini-de/firmware.bin"
dst = path + "firmware/ESP32-S2/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32c3-mini-de.bin"
src = path + ".pio/build/esp32-c3-mini-de/firmware.bin"
dst = path + "firmware/ESP32-C3/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32s3-de.bin"
src = path + ".pio/build/opendtufusion-de/firmware.bin"
dst = path + "firmware/ESP32-S3/" + versionout
os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "_esp32s3_ethernet-de.bin"
src = path + ".pio/build/opendtufusion-ethernet-de/firmware.bin"
dst = path + "firmware/ESP32-S3-ETH/" + versionout
os.rename(src, dst)
## BOOTLOADER AND PARTITIONS
# other ESP32 bin files
src = path + ".pio/build/esp32-wroom32/"
dst = path + "firmware/ESP32/"