Installation process requires admin rights
[electrum-nvc.git] / mki18n.py
index 22ecb61..1cc5d7a 100755 (executable)
--- a/mki18n.py
+++ b/mki18n.py
@@ -1,38 +1,51 @@
 #!/usr/bin/python
 
 import urllib2, os
+from lib.version import TRANSLATION_ID
 
-url = "https://en.bitcoin.it/wiki/Electrum/Translation?action=raw"
+url = "https://en.bitcoin.it/w/index.php?title=Electrum/Translation&oldid=%d&action=raw"%TRANSLATION_ID
 f = urllib2.urlopen(url)
 lines = f.readlines()
 dicts = {}
 message = None
+num_m = 0
 for line in lines:
     l = line.strip()
     if not l: continue
     if l[0] != '*': continue
     if l[0:2] == '**':
-        lang, translation = l.split(':')
-        lang = lang[2:]
+        n = l.find(':')
+        translation = l[n+1:]
+        lang = l[2:n]
         if dicts.get(lang) is None: dicts[lang] = {}
-        dicts[lang][message] = translation
+        dicts[lang][message] = translation.strip()
     else:
         message = l[1:]
+        num_m += 1
 
-print dicts
+#print dicts
+
+if not os.path.exists('locale'):
+    os.mkdir('locale')
 
 
 cmd = 'xgettext -s --no-wrap -f app.fil --output=locale/messages.pot'
 print cmd
 os.system(cmd)
 
-f = open('locale/messages.pot','r')
+# Make locale directory if doesn't exist
+try:
+    os.mkdir('locale')
+except OSError:
+    pass
+f = open(os.path.join('locale', 'messages.pot'),'r')
 s = f.read()
 f.close()
 s = s.replace('CHARSET', 'utf-8')
 
 for lang, strings in dicts.items():
     ss = s[:]
+    print(lang + " :%d/%d"%(len(strings), num_m))
     for k,v in strings.items():
         ss = ss.replace("msgid \"%s\"\nmsgstr \"\""%k,"msgid \"%s\"\nmsgstr \"%s\""%(k,v))
     f = open('locale/electrum_%s.po'%lang,'w')
@@ -47,6 +60,6 @@ for lang, strings in dicts.items():
         os.mkdir(mo_dir)
     
     cmd = 'msgfmt --output-file="%s/electrum.mo" "locale/electrum_%s.po"' % (mo_dir,lang)
-    print cmd
+    #print cmd
     os.system(cmd)