From cd0252a2b5dfaf2d473014542fafb189e9699706 Mon Sep 17 00:00:00 2001 From: pizzaboxer Date: Mon, 8 Jul 2024 20:25:09 +0400 Subject: [PATCH] Push translation utility scripts --- Scripts/Translations/find-unused.py | 39 +++++++++++++++++++++++++++++ Scripts/Translations/prep.py | 14 +++++++++++ 2 files changed, 53 insertions(+) create mode 100644 Scripts/Translations/find-unused.py create mode 100644 Scripts/Translations/prep.py diff --git a/Scripts/Translations/find-unused.py b/Scripts/Translations/find-unused.py new file mode 100644 index 0000000..818296c --- /dev/null +++ b/Scripts/Translations/find-unused.py @@ -0,0 +1,39 @@ +import re, glob + +directory = input("Enter project path (the one containing Bloxstrap.csproj): ") + +existing = [] +found = [] + +with open(f"{directory}\\Resources\\Strings.resx", "r") as file: + existing = re.findall("name=\"([a-zA-Z0-9.]+)\" xml:space=\"preserve\"", file.read()) + +for filename in glob.glob(f"{directory}\\**\\*.*", recursive=True): + if "\\bin\\" in filename or "\\obj\\" in filename or "\\Resources\\" in filename: + continue + + try: + with open(filename, "r") as file: + contents = file.read() + + matches = re.findall("Strings.([a-zA-Z0-9_]+)", contents) + for match in matches: + if not '_' in match: + continue + + ref = match.replace('_', '.') + if not ref in found: + found.append(ref) + + matches = re.findall("FromTranslation = \"([a-zA-Z0-9.]+)\"", contents) + for match in matches: + if not match in found: + found.append(match) + + except Exception: + print(f"Could not open {filename}") + continue + +for entry in existing: + if not entry in found and not "Enums." in entry: + print(entry) \ No newline at end of file diff --git a/Scripts/Translations/prep.py b/Scripts/Translations/prep.py new file mode 100644 index 0000000..b610ed3 --- /dev/null +++ b/Scripts/Translations/prep.py @@ -0,0 +1,14 @@ +import glob, shutil + +exports = input("Path of folder of exported Crowdin files: ") +dest = input("Destination resources folder: ") + +for filename in glob.glob(f"{exports}\\**\\*.*", recursive=True): + print(f"Copying {filename}") + + suffix = "" + + if filename.endswith("Strings.bs-BA.resx"): + suffix = "\\Strings.bs.resx" + + shutil.copy(filename, dest + suffix) \ No newline at end of file