import os import re import shutil SOURCE_DIR = "docs" ENGLISH_DIR = os.path.join(SOURCE_DIR, "en") # Kopiera alla filer från docs/ till docs/en/ if os.path.exists(ENGLISH_DIR): shutil.rmtree(ENGLISH_DIR) shutil.copytree(SOURCE_DIR, ENGLISH_DIR) def clean_file(path, keep_lang): with open(path, "r", encoding="utf-8") as f: content = f.read() # Ta bort språkblock som inte ska behållas if keep_lang == "sv": content = re.sub(r":::\s*en\s*\n(.*?)\n:::", "", content, flags=re.DOTALL) elif keep_lang == "en": content = re.sub(r":::\s*sv\s*\n(.*?)\n:::", "", content, flags=re.DOTALL) # Ta bort språkblock-taggar för det språk vi behåller content = re.sub(r":::\s*(sv|en)", "", content) content = re.sub(r":::", "", content) # Hantera inline-översättningar: [:sv]Text[:], [:en]Text[:] def inline_replacer(match): lang = match.group(1) text = match.group(2) return text if lang == keep_lang else "" # Använd re.DOTALL för att hantera radbrytningar i inline-taggar content = re.sub(r"\[:(sv|en)](.*?)\[:\]", inline_replacer, content, flags=re.DOTALL) with open(path, "w", encoding="utf-8") as f: f.write(content.strip() + "\n") # Rensa svenska filer i docs/ for filename in os.listdir(SOURCE_DIR): path = os.path.join(SOURCE_DIR, filename) if os.path.isfile(path) and filename.endswith(".md"): clean_file(path, keep_lang="sv") # Rensa engelska filer i docs/en/ for filename in os.listdir(ENGLISH_DIR): path = os.path.join(ENGLISH_DIR, filename) if os.path.isfile(path) and filename.endswith(".md"): clean_file(path, keep_lang="en")