mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-22 11:07:57 +01:00
add script for extracting a list of translators from the .po files
This commit is contained in:
parent
0e9debfc2d
commit
e868f47852
40
scripts/get-translator-credits.py
Normal file
40
scripts/get-translator-credits.py
Normal file
@ -0,0 +1,40 @@
|
||||
import subprocess
|
||||
import re
|
||||
from collections import defaultdict
|
||||
|
||||
authors_by_locale = defaultdict(set)
|
||||
|
||||
file_listing = subprocess.Popen('find ../wagtail -iname *.po', shell=True, stdout=subprocess.PIPE)
|
||||
|
||||
for file_listing_line in file_listing.stdout:
|
||||
filename = file_listing_line.strip()
|
||||
|
||||
# extract locale string from filename
|
||||
locale = re.search(r'locale/(\w+)/LC_MESSAGES', filename).group(1)
|
||||
if locale == 'en':
|
||||
continue
|
||||
|
||||
# read author list from each file
|
||||
with file(filename) as f:
|
||||
has_found_translators_heading = False
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line.startswith('#'):
|
||||
if has_found_translators_heading:
|
||||
author = re.match(r'\# (.*), [\d\-]+', line).group(1)
|
||||
authors_by_locale[locale].add(author)
|
||||
elif line.startswith('# Translators:'):
|
||||
has_found_translators_heading = True
|
||||
else:
|
||||
if has_found_translators_heading:
|
||||
break
|
||||
else:
|
||||
raise Exception("No 'Translators:' heading found in %s" % filename)
|
||||
|
||||
locales = sorted(authors_by_locale.keys())
|
||||
for locale in locales:
|
||||
print(locale)
|
||||
print("-----")
|
||||
for author in sorted(authors_by_locale[locale]):
|
||||
print(author)
|
||||
print('')
|
Loading…
Reference in New Issue
Block a user