Adding support for extending internationalization to extensions
--- a/Beremiz.py Fri Sep 07 16:45:55 2012 +0200
+++ b/Beremiz.py Fri Sep 07 18:28:45 2012 +0200
@@ -110,45 +110,24 @@
splash.SetText(text=updateinfo)
-# Import module for internationalization
-# Get folder containing translation files
-localedir = os.path.join(CWD,"locale")
-# Get the default language
-langid = wx.LANGUAGE_DEFAULT
-# Define translation domain (name of translation files)
+from util.TranslationCatalogs import AddCatalog, locale +from util.BitmapLibrary import AddBitmapFolder, GetBitmap
-loc = __builtin__.__dict__.get('loc', None)
- test_loc = wx.Locale(langid)
- test_loc.AddCatalogLookupPathPrefix(localedir)
- if test_loc.AddCatalog(domain):
- loc = wx.Locale(langid)
- loc = wx.Locale(wx.LANGUAGE_ENGLISH)
- __builtin__.__dict__['loc'] = loc
-# Define location for searching translation files
-loc.AddCatalogLookupPathPrefix(localedir)
-def unicode_translation(message):
- return wx.GetTranslation(message).encode("utf-8")
-if __name__ == '__main__':
- __builtin__.__dict__['_'] = wx.GetTranslation#unicode_translation
-from util.BitmapLibrary import AddBitmapFolder, GetBitmap
+AddCatalog(os.path.join(CWD, "locale")) AddBitmapFolder(os.path.join(CWD, "images"))
if __name__ == '__main__':
+ # Import module for internationalization + __builtin__.__dict__['loc'] = locale + __builtin__.__dict__['_'] = wx.GetTranslation for extfilename in extensions:
extension_folder = os.path.split(os.path.realpath(extfilename))[0]
sys.path.append(extension_folder)
+ AddCatalog(os.path.join(extension_folder, "locale")) AddBitmapFolder(os.path.join(extension_folder, "images"))
execfile(extfilename, locals())
--- a/PLCOpenEditor.py Fri Sep 07 16:45:55 2012 +0200
+++ b/PLCOpenEditor.py Fri Sep 07 18:28:45 2012 +0200
@@ -27,11 +27,6 @@
CWD = os.path.split(os.path.realpath(__file__))[0]
-from util.BitmapLibrary import AddBitmapFolder, GetBitmap
-AddBitmapFolder(os.path.join(CWD, "images"))
__version__ = "$Revision: 1.130 $"
if __name__ == '__main__':
@@ -67,33 +62,20 @@
-# Import module for internationalization
-# Get folder containing translation files
-localedir = os.path.join(CWD,"locale")
-# Get the default language
-langid = wx.LANGUAGE_DEFAULT
-# Define translation domain (name of translation files)
-loc = __builtin__.__dict__.get('loc', None)
- test_loc = wx.Locale(langid)
- test_loc.AddCatalogLookupPathPrefix(localedir)
- if test_loc.AddCatalog(domain):
- loc = wx.Locale(langid)
- loc = wx.Locale(wx.LANGUAGE_ENGLISH)
- __builtin__.__dict__['loc'] = loc
-# Define location for searching translation files
-loc.AddCatalogLookupPathPrefix(localedir)
+from util.TranslationCatalogs import AddCatalog, locale +from util.BitmapLibrary import AddBitmapFolder, GetBitmap +AddCatalog(os.path.join(CWD, "locale")) +AddBitmapFolder(os.path.join(CWD, "images")) if __name__ == '__main__':
+ # Import module for internationalization + __builtin__.__dict__['loc'] = locale __builtin__.__dict__['_'] = wx.GetTranslation
from IDEFrame import IDEFrame, AppendMenu
--- a/ProjectController.py Fri Sep 07 16:45:55 2012 +0200
+++ b/ProjectController.py Fri Sep 07 18:28:45 2012 +0200
@@ -14,12 +14,13 @@
-from util.misc import CheckPathPerm, GetClassImporter, IECCodeViewer
+from util.misc import CheckPathPerm, GetClassImporter from util.MiniTextControler import MiniTextControler
from util.ProcessLogger import ProcessLogger
from util.BitmapLibrary import GetBitmap
from editors.FileManagementPanel import FileManagementPanel
from editors.ProjectNodeEditor import ProjectNodeEditor
+from editors.IECCodeViewer import IECCodeViewer from dialogs import DiscoveryDialog
from PLCControler import PLCControler
from plcopen.structures import IEC_KEYWORDS
@@ -936,7 +937,7 @@
def _OpenProjectFiles(self):
- self._OpenView("Project files")
+ self._OpenView("Project Files") def _OpenFileEditor(self, filepath):
@@ -979,7 +980,7 @@
return self._IECRawCodeView
- elif name == "Project files":
+ elif name == "Project Files": if self._ProjectFilesView is None:
self._ProjectFilesView = FileManagementPanel(self.AppFrame.TabsOpened, self, name, self._getProjectFilesPath(), True)
--- a/canfestival/canfestival.py Fri Sep 07 16:45:55 2012 +0200
+++ b/canfestival/canfestival.py Fri Sep 07 18:28:45 2012 +0200
@@ -1,8 +1,11 @@
base_folder = os.path.split(sys.path[0])[0]
CanFestivalPath = os.path.join(base_folder, "CanFestival-3")
sys.path.append(os.path.join(CanFestivalPath, "objdictgen"))
from nodelist import NodeList
from nodemanager import NodeManager
import config_utils, gen_cfile, eds_utils
@@ -11,7 +14,6 @@
import canfestival_config as local_canfestival_config
from ConfigTreeNode import ConfigTreeNode
from commondialogs import CreateNodeDialog
from SlaveEditor import SlaveEditor, MasterViewer
from NetworkEditor import NetworkEditor
@@ -20,6 +22,9 @@
from gnosis.xml.pickle.util import setParanoia
+from util.TranslationCatalogs import AddCatalog +AddCatalog(os.path.join(CanFestivalPath, "objdictgen", "locale")) if wx.Platform == '__WXMSW__':
"CAN_Driver": "can_tcp_win32",
--- a/dialogs/ProjectDialog.py Fri Sep 07 16:45:55 2012 +0200
+++ b/dialogs/ProjectDialog.py Fri Sep 07 18:28:45 2012 +0200
@@ -24,7 +24,7 @@
-from controls import ProjectPropertiesPanel
+from controls.ProjectPropertiesPanel import ProjectPropertiesPanel class ProjectDialog(wx.Dialog):
--- a/editors/FileManagementPanel.py Fri Sep 07 16:45:55 2012 +0200
+++ b/editors/FileManagementPanel.py Fri Sep 07 18:28:45 2012 +0200
@@ -262,7 +262,7 @@
left_sizer = wx.BoxSizer(wx.VERTICAL)
main_sizer.AddSizer(left_sizer, 1, border=5, flag=wx.GROW|wx.ALL)
- managed_dir_label = wx.StaticText(self.Editor, label=self.TagName + ":")
+ managed_dir_label = wx.StaticText(self.Editor, label=_(self.TagName) + ":") left_sizer.AddWindow(managed_dir_label, border=5, flag=wx.GROW|wx.BOTTOM)
self.ManagedDir = FolderTree(self.Editor, self.Folder, FILTER)
@@ -333,7 +333,7 @@
self.Controler.OnCloseEditor(self)
def SetEditableFileExtensions(self, extensions):
self.EditableFileExtensions = extensions
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/editors/IECCodeViewer.py Fri Sep 07 18:28:45 2012 +0200
@@ -0,0 +1,9 @@
+from editors.TextViewer import TextViewer +class IECCodeViewer(TextViewer): + TextViewer.__del__(self) + if getattr(self, "_OnClose"): \ No newline at end of file
--- a/editors/ProjectNodeEditor.py Fri Sep 07 16:45:55 2012 +0200
+++ b/editors/ProjectNodeEditor.py Fri Sep 07 18:28:45 2012 +0200
@@ -59,7 +59,7 @@
return self.Controler.CTNName()
- fullname = self.Controler.CTNName()
+ fullname = _(self.Controler.CTNName()) if self.Controler.CTNTestModified():
--- a/util/BitmapLibrary.py Fri Sep 07 16:45:55 2012 +0200
+++ b/util/BitmapLibrary.py Fri Sep 07 18:28:45 2012 +0200
@@ -38,7 +38,7 @@
#-------------------------------------------------------------------------------
def AddBitmapFolder(path):
- if path not in BitmapFolders:
+ if os.path.exists(path) and os.path.isdir(path) and path not in BitmapFolders: BitmapFolders.append(path)
def SearchBitmap(bmp_name):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/util/TranslationCatalogs.py Fri Sep 07 18:28:45 2012 +0200
@@ -0,0 +1,31 @@
+# Get the default language +langid = wx.LANGUAGE_FRENCH +locale = wx.Locale(langid) + for name in os.listdir(path): + filepath = os.path.join(path, name) + basename, fileext = os.path.splitext(name) + if os.path.isdir(filepath): + result = GetDomain(filepath) +def AddCatalog(locale_dir): + if os.path.exists(locale_dir) and os.path.isdir(locale_dir): + domain = GetDomain(locale_dir) + locale.AddCatalogLookupPathPrefix(locale_dir) + locale.AddCatalog(domain) --- a/util/misc.py Fri Sep 07 16:45:55 2012 +0200
+++ b/util/misc.py Fri Sep 07 18:28:45 2012 +0200
@@ -4,8 +4,6 @@
-from editors.TextViewer import TextViewer
# helper func to check path write permission
if path is None or not os.path.isdir(path):
@@ -24,10 +22,3 @@
-class IECCodeViewer(TextViewer):
- TextViewer.__del__(self)
- if getattr(self, "_OnClose"):
\ No newline at end of file