svghmi/i18n.py
branchsvghmi
changeset 3133 450cd01324ad
parent 3116 6da94ec04325
child 3144 2af6afaccaf2
equal deleted inserted replaced
3132:a1e2eff0bc58 3133:450cd01324ad
    12 import sys
    12 import sys
    13 import subprocess
    13 import subprocess
    14 import time
    14 import time
    15 import ast
    15 import ast
    16 import wx
    16 import wx
       
    17 
       
    18 # to have it for python 2, had to install 
       
    19 # https://pypi.org/project/pycountry/18.12.8/
       
    20 # python2 -m pip install pycountry==18.12.8 --user
       
    21 import pycountry
    17 
    22 
    18 def open_pofile(pofile):
    23 def open_pofile(pofile):
    19     """ Opens PO file with POEdit """
    24     """ Opens PO file with POEdit """
    20     
    25     
    21     if sys.platform.startswith('win'):
    26     if sys.platform.startswith('win'):
    90             else:
    95             else:
    91                 translated_message.append(msg)
    96                 translated_message.append(msg)
    92         translated_messages.append((msgid,translated_message))
    97         translated_messages.append((msgid,translated_message))
    93     langs = []
    98     langs = []
    94     for lang,translation in translations:
    99     for lang,translation in translations:
    95         langs.append(lang)
   100         try:
       
   101             l,c = lang.split("_")
       
   102             language_name = pycountry.languages.get(alpha_2 = l).name
       
   103             country_name = pycountry.countries.get(alpha_2 = c).name
       
   104             langs.append("{} ({})".format(language_name, country_name))
       
   105         except:
       
   106             try:
       
   107                 language_name = pycountry.languages.get(alpha_2 = lang).name
       
   108                 langs.append(language_name)
       
   109             except:
       
   110                 langs.append(lang)
       
   111 
    96         broken = False
   112         broken = False
    97         for msgid, msg in translation.iteritems():
   113         for msgid, msg in translation.iteritems():
    98             broken = True
   114             broken = True
    99             errcallback(_('{}: Unused translation "{}":"{}"\n').format(lang,msgid,msg))
   115             errcallback(_('{}: Unused translation "{}":"{}"\n').format(lang,msgid,msg))
   100         if broken or lang in broken_lang:
   116         if broken or lang in broken_lang: