from tools import *

# 设置工作文件夹为 translate
os.chdir("translate")
WEBLATE_PATH = "/home/ws3917/Code/Weblate"

# 【导出部分】只有第一次或原文有更新的时候需要跑一次,正常情况下不需要
# 将原文带文本的lua文件复制到text文件夹 - 【注意】只有第一次和版本升级时需要运行!
# 如果text/en_US文件夹已经有文件,就千万千万不要再执行了(否则原文会被替换成半英半中的混合体)
# initialize_files_lua()
os.system(f"cd {WEBLATE_PATH} && git pull")
for lua_file in src_text_path.glob("*.lua"):
    # 英文,中文文本备份与更新
    for lang in ["en_US", "zh_CN"]:
        shutil.copy(
            f"{WEBLATE_PATH}/petrichor/{lua_file.stem}/{lang}.json",
            f"strings_old/{lua_file.stem}/{lang}.json",
        )
    export_translation_json(lua_file, f"strings/{lua_file.stem}/en_US.json")
    # 根据lua生成英文文本json
    # 有版本更新时,根据strings_old和strings更新中文翻译,并生成需要补的文本列表
    # 方便版本升级时翻译
    # 【注意】在更新版本前,务必把之前的strings目录复制到strings_old
    update_translation_json(
        f"strings_old/{lua_file.stem}/en_US.json",
        f"strings/{lua_file.stem}/en_US.json",
        f"strings_old/{lua_file.stem}/zh_CN.json",
        f"strings/{lua_file.stem}/zh_CN.json",
    )
    # 将翻译文件复制到weblate仓库(注意:可能需要改路径)
    for lang in ["en_US", "zh_CN"]:
        shutil.copy(
            f"strings/{lua_file.stem}/{lang}.json",
            f"{WEBLATE_PATH}/petrichor/{lua_file.stem}/{lang}.json",
        )

# git推送到weblate
os.system(
    f'cd {WEBLATE_PATH} && git add -A && git commit -m "{datetime.today()} - Update Translation" && git push origin main'
)