mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-23 04:46:55 +03:00
9e4e7e8a7f
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
42 lines
1.2 KiB
Python
Executable File
42 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import glob
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
from translation_utils import get_translations, init_sync_dir
|
|
|
|
RESOURCE_NAME = "mc.pot"
|
|
|
|
SCRIPT_DIR = Path(__file__).parent
|
|
SOURCE_DIR = SCRIPT_DIR.parent.parent
|
|
PO_DIR = SOURCE_DIR / "po"
|
|
|
|
|
|
def strip_message_locations(work_dir: Path):
|
|
for po_file in (work_dir / filename for filename in glob.glob("*.po", root_dir=work_dir)):
|
|
po_file.write_text(
|
|
"".join(line for line in po_file.read_text().splitlines(keepends=True) if not line.startswith("#:"))
|
|
)
|
|
|
|
|
|
def copy_translations_to_source_dir(source_dir: Path, target_dir: Path):
|
|
for po_file in (source_dir / filename for filename in glob.glob("*.po", root_dir=source_dir)):
|
|
(target_dir / po_file.name).write_text(po_file.read_text())
|
|
|
|
|
|
def update_linguas(po_dir: Path):
|
|
translations = get_translations(po_dir)
|
|
(po_dir / "LINGUAS").write_text("# List of available translations\n" + "\n".join(translations) + "\n")
|
|
|
|
|
|
sync_dir = init_sync_dir(SCRIPT_DIR, RESOURCE_NAME)
|
|
|
|
subprocess.run(("tx", "pull", "--all", "--force"), cwd=sync_dir, check=True)
|
|
|
|
strip_message_locations(sync_dir)
|
|
|
|
copy_translations_to_source_dir(sync_dir, PO_DIR)
|
|
|
|
update_linguas(PO_DIR)
|