diff --git a/InitGui.py b/InitGui.py index eb418835..4261c5b4 100644 --- a/InitGui.py +++ b/InitGui.py @@ -24,26 +24,29 @@ import FreeCAD as App import FreeCADGui as Gui +# Caveat: do not import Render here (too early, will slow down global startup) + class RenderWorkbench(Gui.Workbench): """The Render Workbench.""" def __init__(self): """Initialize object.""" - # pylint: disable=import-outside-toplevel - from Render.constants import TRANSDIR + # Caveat: do not import Render here + # (too early, will slow down global startup) - from FreeCADGui import addLanguagePath, updateLocale + # pylint: disable=import-outside-toplevel + import FreeCAD - translate = App.Qt.translate - addLanguagePath(TRANSDIR) - updateLocale() + try: + translate = FreeCAD.Qt.translate + except AttributeError: + translate = lambda _, x: x self.__class__.MenuText = "Render" self.__class__.ToolTip = translate( "Workbench", - "The Render workbench is a " - "modern replacement for " + "The Render workbench is a modern replacement for " "the Raytracing workbench", ) self.__class__.Icon = """ @@ -111,9 +114,20 @@ def Initialize(self): from PySide.QtCore import QT_TRANSLATE_NOOP from Render.utils import translate from FreeCAD import Console - from FreeCADGui import addIconPath, addPreferencePage - from Render import RENDER_COMMANDS, ICONDIR, PreferencesPage + from FreeCADGui import ( + addIconPath, + addPreferencePage, + addLanguagePath, + updateLocale, + ) + + from Render import RENDER_COMMANDS, ICONDIR, TRANSDIR, PreferencesPage + + # Translations + addLanguagePath(TRANSDIR) + updateLocale() + # GUI self.appendToolbar( QT_TRANSLATE_NOOP("Workbench", "Render"), RENDER_COMMANDS )