lang_manager.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. import config
  4. import ConfigParser
  5. class CaseConfigParser(ConfigParser.SafeConfigParser):
  6. def optionxform(self, optionstr):
  7. return optionstr
  8. class LangManager(object):
  9. """
  10. """
  11. _Langs = {}
  12. _EngLangs = {} ##default Language dict,must be correct
  13. _Config = None
  14. _ConfigFileName = "English.ini"
  15. def __init__(self):
  16. self.Init()
  17. def Init(self):
  18. if not LangManager._Colors:
  19. self.SetLangs()
  20. def SetLangs(self):
  21. Langs = {}
  22. SkinManager._Colors = Colors
  23. self._Config = CaseConfigParser()
  24. fname = ".lang"
  25. try:
  26. self._Config.read(fname)
  27. except Exception, e:
  28. print("read skin config.cfg error %s" % str(e))
  29. return
  30. else:
  31. if "Colors" in self._Config.sections():
  32. colour_opts = self._Config.options("Colors")
  33. # print(colour_opts)
  34. for i in SkinManager._Colors:
  35. if i in colour_opts:
  36. try:
  37. SkinManager._Colors[i] = self.ConvertToRGB(
  38. self._Config.get("Colors", i))
  39. except Exception, e:
  40. print("error in ConvertToRGB %s" % str(e))
  41. continue
  42. def Tr(self,english_key_str):
  43. if english_key_str in SkinManager._Langs:
  44. return SkinManager._Langs[english_key_str]
  45. else:
  46. return SkinManager._EngLangs[english_key_str] ##default from english dict
  47. ##global MyLangManager Handler
  48. MyLangManager = None
  49. def InitMyLangManager():
  50. global MySkinManager
  51. if MyLangManager == None:
  52. MyLangManager = LangManager()
  53. InitMyLangManager()