gajim-plural/scripts/dev/translations.py

77 lines
1.7 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Initially written by Nikos Kouremenos
# Dedicated to Yann Le Boulanger
# Usage: './translations.py [help] [stats] [update]'
import os
import sys
stats = False
update = False
check = False
path_to_dir = '../../po'
def visit(files):
for file in files:
if file.endswith('.po'):
path_to_po = os.path.join(path_to_dir, file)
if update: # update an existing po file)
os.system('msgmerge -q -U %s %s' % (path_to_po, os.path.join(path_to_dir, 'gajim.pot')))
if stats:
print file[:-3], 'has now:'
os.system('msgfmt --statistics ' + path_to_po)
if check:
os.system('msgfmt -c ' + path_to_po)
def show_help():
print sys.argv[0], '[help] [stats] [update] [check]'
sys.exit(0)
def update_pot():
# create header for glade strings
os.system("""
for i in `ls ../../data/glade/*.glade`;do
intltool-extract --type=gettext/glade $i
done
""")
# update the pot
os.system('make -C ../../po/ all gajim.pot')
print 'gajim.pot was updated successfully'
if __name__ == '__main__':
if os.path.basename(os.getcwd()) != 'dev':
print 'run me with cwd: scripts/dev'
sys.exit()
path_to_dir = '../../po'
files = os.listdir(path_to_dir)
if len(sys.argv) == 2:
if sys.argv[1].startswith('h'):
show_help()
param = sys.argv[1]
if param == 'stats': # stats only
stats = True
visit(files)
elif param == 'update': # update only
update_pot()
update = True
visit(files)
print 'Done'
elif param == 'check':
check = True
visit(files)
elif len(sys.argv) == 1: # update & stats & no check
update_pot()
update = True
stats = True
visit(files)
print 'Done'
else:
show_help()