Initial commit of scripts for importing & exporting translations from weblate

This commit is contained in:
Colin Basnett
2024-03-19 01:08:21 -07:00
parent d48534f1a5
commit 56c847e791
6 changed files with 290 additions and 94 deletions

View File

@@ -0,0 +1,27 @@
import os.path
import pprint
import re
from glob import glob
import polib
langs = {}
for file_path in glob('../extern/io_scene_psk_psa-translations/io_scene_psk_psa.*.po'):
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
po = polib.pofile(content)
# Get the language code from the file name.
lang_code = re.match(r'io_scene_psk_psa.(\w*)\.po', os.path.basename(file_path)).group(1)
if lang_code == 'en':
continue
langs[lang_code] = {('*', entry.msgid): entry.msgstr for entry in po if entry.msgid != ''}
with open('../io_scene_psk_psa/i18n.py', 'w', encoding='utf-8') as f:
s = pprint.pformat(langs)
f.write(f'langs = {s}')
print(f'Language_codes = {list(langs.keys())}')
print('Wrote i18n.py')