Wrapper to translate text in wxPython widgets
After I posted this question and saw that I wrote that I try to write a Wrapper, I thought that this might be the solution...

import wx
from wx.lib.pubsub import pub

def multilingual(wrapped):

    class WrappedClass(wrapped):
        def __init__(self, *args, **kwargs):
            # Translate label parameter
            if len(args) &gt;= 3:
                self.ml_label = args[2]
                args = list(args)
                args[2] = _(self.ml_label)
            else:
                self.ml_label = kwargs.get('label',wx.EmptyString)
                kwargs['label'] = _(self.ml_label)
            super().__init__(*args,**kwargs)
            pub.subscribe(self.Update, 'language.changed')

        def Update(self):
            print('update')
            super().Update()
            super().SetLabel(_(self.ml_label))

        def SetLabel(self, label):
            print('setlabel')
            self.ml_label = label
            super().SetLabel(_(self.ml_label))

    return WrappedClass

@multilingual
class Button(wx.Button):
    pass

@multilingual
class StaticText(wx.StaticText):
    pass