forked from godotengine/godot-docs-l10n
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheck-completion-ratio.py
executable file
·36 lines (26 loc) · 1021 Bytes
/
check-completion-ratio.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# /usr/bin/env python3
import polib
def check(lang):
pofile = polib.pofile("./weblate/{}.po".format(lang))
if pofile.percent_translated() > 50:
return
print("==== {} - {}% translated ====".format(lang, pofile.percent_translated()))
statistic = {} # section -> [complete, incomplete]
for entry in pofile:
for occ in entry.occurrences:
if "<rst_epilog>" in occ[0]:
continue
path = occ[0].removeprefix("../../docs/")
section = "/".join(path.split("/", maxsplit=2)[:-1])
statistic.setdefault(section, [0, 0])
if entry.translated():
statistic[section][0] += 1
else:
statistic[section][1] += 1
for k, v in sorted(statistic.items()):
ratio = v[0] / (v[0] + v[1])
if ratio > 0.5:
print("{:5.1f}\t{}".format(100 * ratio, k or "<root>"))
with open("build_langs.txt") as f:
for lang in f.read().splitlines():
check(lang)