laurent@815: #!/usr/bin/env python laurent@815: # -*- coding: utf-8 -*- laurent@815: andrej@1511: # This file is part of Beremiz, a Integrated Development Environment for andrej@1511: # programming IEC 61131-3 automates supporting plcopen standard and CanFestival. andrej@1511: # andrej@1511: # Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD andrej@1511: # andrej@1511: # See COPYING file for copyrights details. andrej@1511: # andrej@1511: # This program is free software; you can redistribute it and/or andrej@1511: # modify it under the terms of the GNU General Public License andrej@1511: # as published by the Free Software Foundation; either version 2 andrej@1511: # of the License, or (at your option) any later version. andrej@1511: # andrej@1511: # This program is distributed in the hope that it will be useful, andrej@1511: # but WITHOUT ANY WARRANTY; without even the implied warranty of andrej@1511: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the andrej@1511: # GNU General Public License for more details. andrej@1511: # andrej@1511: # You should have received a copy of the GNU General Public License andrej@1511: # along with this program; if not, write to the Free Software andrej@1511: # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. andrej@1511: laurent@815: import os laurent@815: laurent@815: import wx laurent@815: laurent@815: # Get the default language laurent@817: langid = wx.LANGUAGE_DEFAULT laurent@815: laurent@815: # Define locale for wx laurent@815: locale = wx.Locale(langid) laurent@815: laurent@815: def GetDomain(path): laurent@815: for name in os.listdir(path): laurent@815: filepath = os.path.join(path, name) laurent@815: basename, fileext = os.path.splitext(name) laurent@815: if os.path.isdir(filepath): laurent@815: result = GetDomain(filepath) laurent@815: if result is not None: laurent@815: return result laurent@815: elif fileext == ".mo": laurent@815: return basename laurent@815: return None laurent@815: laurent@815: def AddCatalog(locale_dir): laurent@815: if os.path.exists(locale_dir) and os.path.isdir(locale_dir): laurent@815: domain = GetDomain(locale_dir) laurent@815: if domain is not None: laurent@815: locale.AddCatalogLookupPathPrefix(locale_dir) laurent@815: locale.AddCatalog(domain)