From 396640e5b1130b52e619b7047716c8b83e34c98d Mon Sep 17 00:00:00 2001 From: zhaoweny Date: Mon, 22 Jun 2020 20:03:53 +0800 Subject: [PATCH] i18n: annotate item stat views --- gui/builtinItemStatsViews/itemAffectedBy.py | 13 +++++---- gui/builtinItemStatsViews/itemAttributes.py | 26 ++++++++++-------- gui/builtinItemStatsViews/itemCompare.py | 28 +++++++++++--------- gui/builtinItemStatsViews/itemDependants.py | 4 ++- gui/builtinItemStatsViews/itemDescription.py | 10 ++++--- gui/builtinItemStatsViews/itemEffects.py | 15 ++++++----- gui/builtinItemStatsViews/itemMutator.py | 8 +++--- gui/builtinItemStatsViews/itemProperties.py | 8 +++--- gui/builtinItemStatsViews/itemTraits.py | 4 ++- gui/builtinViewColumns/abilities.py | 4 ++- gui/builtinViewColumns/baseName.py | 3 ++- gui/builtinViewColumns/misc.py | 2 +- gui/builtinViewColumns/sideEffects.py | 4 ++- 13 files changed, 75 insertions(+), 54 deletions(-) diff --git a/gui/builtinItemStatsViews/itemAffectedBy.py b/gui/builtinItemStatsViews/itemAffectedBy.py index 100cd17e3..8d8075f06 100644 --- a/gui/builtinItemStatsViews/itemAffectedBy.py +++ b/gui/builtinItemStatsViews/itemAffectedBy.py @@ -17,6 +17,8 @@ import gui.mainFrame from gui.contextMenu import ContextMenu from gui.bitmap_loader import BitmapLoader +_t = wx.GetTranslation + def formatOperator(operator, stackingGroup, preResAmount, postResAmount): opMap = { @@ -24,7 +26,8 @@ def formatOperator(operator, stackingGroup, preResAmount, postResAmount): Operator.PREINCREASE: '+', Operator.MULTIPLY: '*', Operator.POSTINCREASE: '+', - Operator.FORCE: '\u2263'} + Operator.FORCE: '\u2263' + } prefix = '' if stackingGroup is not None: prefix += 's' @@ -61,17 +64,17 @@ class ItemAffectedBy(wx.Panel): mainSizer.Add(self.m_staticline, 0, wx.EXPAND) bSizer = wx.BoxSizer(wx.HORIZONTAL) - self.toggleExpandBtn = wx.ToggleButton(self, wx.ID_ANY, "Expand All", wx.DefaultPosition, wx.DefaultSize, 0) + self.toggleExpandBtn = wx.ToggleButton(self, wx.ID_ANY, _t("Expand All"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.toggleExpandBtn, 0, wx.ALIGN_CENTER_VERTICAL) - self.toggleNameBtn = wx.ToggleButton(self, wx.ID_ANY, "Toggle Names", wx.DefaultPosition, wx.DefaultSize, 0) + self.toggleNameBtn = wx.ToggleButton(self, wx.ID_ANY, _t("Toggle Names"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.toggleNameBtn, 0, wx.ALIGN_CENTER_VERTICAL) - self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, "Toggle View", wx.DefaultPosition, wx.DefaultSize, 0) + self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t("Toggle View"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL) if stuff is not None: - self.refreshBtn = wx.Button(self, wx.ID_ANY, "Refresh", wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) + self.refreshBtn = wx.Button(self, wx.ID_ANY, _t("Refresh"), wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL) self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshTree) diff --git a/gui/builtinItemStatsViews/itemAttributes.py b/gui/builtinItemStatsViews/itemAttributes.py index f2b3cad34..d2dcf7390 100644 --- a/gui/builtinItemStatsViews/itemAttributes.py +++ b/gui/builtinItemStatsViews/itemAttributes.py @@ -11,6 +11,8 @@ from enum import IntEnum from gui.builtinItemStatsViews.attributeGrouping import * from service.const import GuiAttrGroup +_t = wx.GetTranslation + class AttributeView(IntEnum): NORMAL = 1 @@ -25,7 +27,8 @@ class ItemParams(wx.Panel): mainSizer = wx.BoxSizer(wx.VERTICAL) - self.paramList = wx.lib.agw.hypertreelist.HyperTreeList(self, wx.ID_ANY, agwStyle=wx.TR_HIDE_ROOT | wx.TR_NO_LINES | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_HAS_BUTTONS) + self.paramList = wx.lib.agw.hypertreelist.HyperTreeList(self, wx.ID_ANY, + agwStyle=wx.TR_HIDE_ROOT | wx.TR_NO_LINES | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_HAS_BUTTONS) self.paramList.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) mainSizer.Add(self.paramList, 1, wx.ALL | wx.EXPAND, 0) @@ -38,25 +41,25 @@ class ItemParams(wx.Panel): self.attrValues = {} self._fetchValues() - self.paramList.AddColumn("Attribute") - self.paramList.AddColumn("Current Value") + self.paramList.AddColumn(_t("Attribute")) + self.paramList.AddColumn(_t("Current Value")) if self.stuff is not None: - self.paramList.AddColumn("Base Value") + self.paramList.AddColumn(_t("Base Value")) self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL) mainSizer.Add(self.m_staticline, 0, wx.EXPAND) bSizer = wx.BoxSizer(wx.HORIZONTAL) - self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, "View Raw Data", wx.DefaultPosition, wx.DefaultSize, + self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t("View Raw Data"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL) - self.exportStatsBtn = wx.ToggleButton(self, wx.ID_ANY, "Export Item Stats", wx.DefaultPosition, wx.DefaultSize, + self.exportStatsBtn = wx.ToggleButton(self, wx.ID_ANY, _t("Export Item Stats"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.exportStatsBtn, 0, wx.ALIGN_CENTER_VERTICAL) if stuff is not None: - self.refreshBtn = wx.Button(self, wx.ID_ANY, "Refresh", wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) + self.refreshBtn = wx.Button(self, wx.ID_ANY, _t("Refresh"), wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL) self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshValues) @@ -111,8 +114,8 @@ class ItemParams(wx.Panel): exportFileName = self.item.name + " (" + str(self.item.ID) + ").csv" with wx.FileDialog( - self, "Save CSV file", "", exportFileName, - "CSV files (*.csv)|*.csv", wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT + self, _t("Save CSV file"), "", exportFileName, + _t("CSV files (*.csv)|*.csv"), wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT ) as dlg: if dlg.ShowModal() == wx.ID_CANCEL: @@ -266,7 +269,7 @@ class ItemParams(wx.Panel): for i in range(self.paramList.GetMainWindow().GetColumnCount()): self.paramList.SetColumnWidth(i, wx.LIST_AUTOSIZE) - def GetData(self, attr, displayOveride = None): + def GetData(self, attr, displayOveride=None): info = self.attrInfo.get(attr) att = self.attrValues[attr] @@ -285,7 +288,8 @@ class ItemParams(wx.Panel): val = getattr(att, "value", None) value = val if val is not None else att - if self.toggleView == AttributeView.NORMAL and ((attr not in GroupedAttributes and not (value or valueDefault)) or info is None or not info.published or attr in RequiredSkillAttrs): + if self.toggleView == AttributeView.NORMAL and ( + (attr not in GroupedAttributes and not (value or valueDefault)) or info is None or not info.published or attr in RequiredSkillAttrs): return None if info and info.displayName and self.toggleView == AttributeView.NORMAL: diff --git a/gui/builtinItemStatsViews/itemCompare.py b/gui/builtinItemStatsViews/itemCompare.py index 97ebff68d..430ee18d0 100644 --- a/gui/builtinItemStatsViews/itemCompare.py +++ b/gui/builtinItemStatsViews/itemCompare.py @@ -7,6 +7,8 @@ from service.market import Market from service.attribute import Attribute from gui.utils.numberFormatter import formatAmount +_t = wx.GetTranslation + def defaultSort(item): return (item.metaLevel or 0, item.name) @@ -70,11 +72,11 @@ class ItemCompare(wx.Panel): self.totalAttrsLabel = wx.StaticText(self, wx.ID_ANY, " ", wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.totalAttrsLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT) - self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, "Toggle view mode", wx.DefaultPosition, + self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t("Toggle view mode"), wx.DefaultPosition, wx.DefaultSize, 0) bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL) - self.refreshBtn = wx.Button(self, wx.ID_ANY, "Refresh", wx.DefaultPosition, wx.DefaultSize, + self.refreshBtn = wx.Button(self, wx.ID_ANY, _t("Refresh"), wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL) self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshValues) @@ -142,7 +144,7 @@ class ItemCompare(wx.Panel): self.items = sorted(self.items, key=func, reverse=self.sortReverse) - self.paramList.InsertColumn(0, "Item") + self.paramList.InsertColumn(0, _t("Item")) self.paramList.SetColumnWidth(0, 200) for i, attr in enumerate(self.attrs.keys()): @@ -150,7 +152,7 @@ class ItemCompare(wx.Panel): self.paramList.InsertColumn(i + 1, name) self.paramList.SetColumnWidth(i + 1, 120) - self.paramList.InsertColumn(len(self.attrs) + 1, "Price") + self.paramList.InsertColumn(len(self.attrs) + 1, _t("Price")) self.paramList.SetColumnWidth(len(self.attrs) + 1, 60) for item in self.items: @@ -189,16 +191,16 @@ class ItemCompare(wx.Panel): return "%s (%d)" % (attribute.name.capitalize(), value) trans = { - "Inverse Absolute Percent" : (lambda: (1 - value) * 100, unitName), + "Inverse Absolute Percent": (lambda: (1 - value) * 100, unitName), "Inversed Modifier Percent": (lambda: (1 - value) * 100, unitName), - "Modifier Percent" : (lambda: ("%+.2f" if ((value - 1) * 100) % 1 else "%+d") % ((value - 1) * 100), unitName), - "Volume" : (lambda: value, "m\u00B3"), - "Sizeclass" : (lambda: value, ""), - "Absolute Percent" : (lambda: (value * 100), unitName), - "Milliseconds" : (lambda: value / 1000.0, unitName), - "typeID" : (itemIDCallback, ""), - "groupID" : (groupIDCallback, ""), - "attributeID" : (attributeIDCallback, "") + "Modifier Percent": (lambda: ("%+.2f" if ((value - 1) * 100) % 1 else "%+d") % ((value - 1) * 100), unitName), + "Volume": (lambda: value, "m\u00B3"), + "Sizeclass": (lambda: value, ""), + "Absolute Percent": (lambda: (value * 100), unitName), + "Milliseconds": (lambda: value / 1000.0, unitName), + "typeID": (itemIDCallback, ""), + "groupID": (groupIDCallback, ""), + "attributeID": (attributeIDCallback, "") } override = trans.get(unitDisplayName) diff --git a/gui/builtinItemStatsViews/itemDependants.py b/gui/builtinItemStatsViews/itemDependants.py index 84b8f8997..4c85433a5 100644 --- a/gui/builtinItemStatsViews/itemDependants.py +++ b/gui/builtinItemStatsViews/itemDependants.py @@ -3,6 +3,8 @@ import wx from gui.bitmap_loader import BitmapLoader +_t = wx.GetTranslation + class ItemDependents(wx.Panel): def __init__(self, parent, stuff, item): @@ -41,7 +43,7 @@ class ItemDependents(wx.Panel): items = levelToItems[x] items.sort(key=lambda x: x.name) - child = self.reqTree.AppendItem(parent, "Level {}".format(self.romanNb[int(x)]), sbIconId) + child = self.reqTree.AppendItem(parent, _t("Level {}").format(self.romanNb[int(x)]), sbIconId) for item in items: if item.iconID: diff --git a/gui/builtinItemStatsViews/itemDescription.py b/gui/builtinItemStatsViews/itemDescription.py index 7fb990e32..e2bc337e8 100644 --- a/gui/builtinItemStatsViews/itemDescription.py +++ b/gui/builtinItemStatsViews/itemDescription.py @@ -4,6 +4,8 @@ import wx import wx.html import re +_t = wx.GetTranslation + class ItemDescription(wx.Panel): def __init__(self, parent, stuff, item): @@ -24,9 +26,9 @@ class ItemDescription(wx.Panel): # Strip URLs desc = re.sub("<( *)a(.*?)>(?P.*?)<( *)/( *)a( *)>", "\g", desc) desc = "{}".format( - bgcolor.GetAsString(wx.C2S_CSS_SYNTAX), - fgcolor.GetAsString(wx.C2S_CSS_SYNTAX), - desc + bgcolor.GetAsString(wx.C2S_CSS_SYNTAX), + fgcolor.GetAsString(wx.C2S_CSS_SYNTAX), + desc ) self.description.SetPage(desc) @@ -38,7 +40,7 @@ class ItemDescription(wx.Panel): self.description.Bind(wx.EVT_KEY_UP, self.onKeyUp) self.popupMenu = wx.Menu() - copyItem = wx.MenuItem(self.popupMenu, 1, 'Copy') + copyItem = wx.MenuItem(self.popupMenu, 1, _t('Copy')) self.popupMenu.Append(copyItem) self.popupMenu.Bind(wx.EVT_MENU, self.menuClickHandler, copyItem) diff --git a/gui/builtinItemStatsViews/itemEffects.py b/gui/builtinItemStatsViews/itemEffects.py index 0b87a0cbd..76fb23f88 100644 --- a/gui/builtinItemStatsViews/itemEffects.py +++ b/gui/builtinItemStatsViews/itemEffects.py @@ -7,6 +7,7 @@ import wx from .helpers import AutoListCtrl +_t = wx.GetTranslation class ItemEffects(wx.Panel): def __init__(self, parent, stuff, item): @@ -26,12 +27,12 @@ class ItemEffects(wx.Panel): def PopulateList(self): - self.effectList.InsertColumn(0, "Name") - self.effectList.InsertColumn(1, "Active") - self.effectList.InsertColumn(2, "Type") + self.effectList.InsertColumn(0, _t("Name")) + self.effectList.InsertColumn(1, _t("Active")) + self.effectList.InsertColumn(2, _t("Type")) if config.debug: - self.effectList.InsertColumn(3, "Run Time") - self.effectList.InsertColumn(4, "ID") + self.effectList.InsertColumn(3, _t("Run Time")) + self.effectList.InsertColumn(4, _t("ID")) # self.effectList.SetColumnWidth(0,385) @@ -52,9 +53,9 @@ class ItemEffects(wx.Panel): if effects[name].isImplemented: if effects[name].activeByDefault: - activeByDefault = "Yes" + activeByDefault = _t("Yes") else: - activeByDefault = "No" + activeByDefault = _t("No") else: activeByDefault = "" diff --git a/gui/builtinItemStatsViews/itemMutator.py b/gui/builtinItemStatsViews/itemMutator.py index ce5d366c7..059a8cddc 100644 --- a/gui/builtinItemStatsViews/itemMutator.py +++ b/gui/builtinItemStatsViews/itemMutator.py @@ -14,7 +14,7 @@ from .itemAttributes import ItemParams pyfalog = Logger(__name__) - +_t = wx.GetTranslation class ItemMutatorPanel(wx.Panel): @@ -48,13 +48,13 @@ class ItemMutatorPanel(wx.Panel): mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.EXPAND, 0) footerSizer = wx.BoxSizer(wx.HORIZONTAL) - self.refreshBtn = wx.Button(self, wx.ID_ANY, "Reset defaults", wx.DefaultPosition, wx.DefaultSize, 0) + self.refreshBtn = wx.Button(self, wx.ID_ANY, _t("Reset defaults"), wx.DefaultPosition, wx.DefaultSize, 0) footerSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) self.refreshBtn.Bind(wx.EVT_BUTTON, self.mutaList.resetMutatedValues) - self.randomBtn = wx.Button(self, wx.ID_ANY, "Random stats", wx.DefaultPosition, wx.DefaultSize, 0) + self.randomBtn = wx.Button(self, wx.ID_ANY, _t("Random stats"), wx.DefaultPosition, wx.DefaultSize, 0) footerSizer.Add(self.randomBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) self.randomBtn.Bind(wx.EVT_BUTTON, self.mutaList.randomMutatedValues) - self.revertBtn = wx.Button(self, wx.ID_ANY, "Revert changes", wx.DefaultPosition, wx.DefaultSize, 0) + self.revertBtn = wx.Button(self, wx.ID_ANY, _t("Revert changes"), wx.DefaultPosition, wx.DefaultSize, 0) footerSizer.Add(self.revertBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) self.revertBtn.Bind(wx.EVT_BUTTON, self.mutaList.revertChanges) mainSizer.Add(footerSizer, 0, wx.ALL | wx.EXPAND, 5) diff --git a/gui/builtinItemStatsViews/itemProperties.py b/gui/builtinItemStatsViews/itemProperties.py index ebf7c601f..492d7888e 100644 --- a/gui/builtinItemStatsViews/itemProperties.py +++ b/gui/builtinItemStatsViews/itemProperties.py @@ -2,7 +2,7 @@ import wx from .helpers import AutoListCtrl - +_t = wx.GetTranslation class ItemProperties(wx.Panel): def __init__(self, parent, stuff, item, context=None): @@ -53,8 +53,8 @@ class ItemProperties(wx.Panel): return def PopulateList(self): - self.paramList.InsertColumn(0, "Attribute") - self.paramList.InsertColumn(1, "Current Value") + self.paramList.InsertColumn(0, _t("Attribute")) + self.paramList.InsertColumn(1, _t("Current Value")) self.paramList.SetColumnWidth(0, 110) self.paramList.SetColumnWidth(1, 1500) self.paramList.setResizeColumn(0) @@ -95,5 +95,5 @@ class ItemProperties(wx.Panel): self.paramList.SortItems(lambda id1, id2: (idNameMap[id1] > idNameMap[id2]) - (idNameMap[id1] < idNameMap[id2])) self.paramList.RefreshRows() - self.totalAttrsLabel.SetLabel("%d attributes. " % idCount) + self.totalAttrsLabel.SetLabel(_t("%d attribute.", "%d attributes.", idCount) % idCount) self.Layout() diff --git a/gui/builtinItemStatsViews/itemTraits.py b/gui/builtinItemStatsViews/itemTraits.py index bbabee4eb..14042c143 100644 --- a/gui/builtinItemStatsViews/itemTraits.py +++ b/gui/builtinItemStatsViews/itemTraits.py @@ -3,6 +3,8 @@ import wx # noinspection PyPackageRequirements import wx.html +_t = wx.GetTranslation + class ItemTraits(wx.Panel): def __init__(self, parent, stuff, item): @@ -20,7 +22,7 @@ class ItemTraits(wx.Panel): self.Layout() self.popupMenu = wx.Menu() - copyItem = wx.MenuItem(self.popupMenu, 1, 'Copy') + copyItem = wx.MenuItem(self.popupMenu, 1, _t('Copy')) self.popupMenu.Append(copyItem) self.popupMenu.Bind(wx.EVT_MENU, self.menuClickHandler, copyItem) diff --git a/gui/builtinViewColumns/abilities.py b/gui/builtinViewColumns/abilities.py index 69b7ece97..cb928e9de 100644 --- a/gui/builtinViewColumns/abilities.py +++ b/gui/builtinViewColumns/abilities.py @@ -24,6 +24,8 @@ from eos.saveddata.fighter import Fighter from gui.viewColumn import ViewColumn import gui.mainFrame +_t = wx.GetTranslation + class Abilities(ViewColumn): name = "Fighter Abilities" @@ -32,7 +34,7 @@ class Abilities(ViewColumn): ViewColumn.__init__(self, fittingView) self.mainFrame = gui.mainFrame.MainFrame.getInstance() - self.columnText = "Active Abilities" + self.columnText = _t("Active Abilities") self.mask = wx.LIST_MASK_TEXT def getText(self, stuff): diff --git a/gui/builtinViewColumns/baseName.py b/gui/builtinViewColumns/baseName.py index 8aec1777c..25227e5e5 100644 --- a/gui/builtinViewColumns/baseName.py +++ b/gui/builtinViewColumns/baseName.py @@ -40,6 +40,7 @@ from service.market import Market pyfalog = Logger(__name__) +_t = wx.GetTranslation class BaseName(ViewColumn): @@ -51,7 +52,7 @@ class BaseName(ViewColumn): ViewColumn.__init__(self, fittingView) self.mainFrame = gui.mainFrame.MainFrame.getInstance() - self.columnText = "Name" + self.columnText = _t("Name") self.mask = wx.LIST_MASK_TEXT self.projectedView = isinstance(fittingView, gui.builtinAdditionPanes.projectedView.ProjectedView) diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index 4337da392..9a3282858 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -47,7 +47,7 @@ class Miscellanea(ViewColumn): self.imageId = -1 if params["displayName"] or self.imageId == -1: - self.columnText = "Misc data" + self.columnText = _("Misc data") self.mask |= wx.LIST_MASK_TEXT self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.fittingView = fittingView diff --git a/gui/builtinViewColumns/sideEffects.py b/gui/builtinViewColumns/sideEffects.py index 25adb3769..953fcf221 100644 --- a/gui/builtinViewColumns/sideEffects.py +++ b/gui/builtinViewColumns/sideEffects.py @@ -24,6 +24,8 @@ from eos.saveddata.booster import Booster from gui.viewColumn import ViewColumn import gui.mainFrame +_t = wx.GetTranslation + class SideEffects(ViewColumn): name = "Side Effects" @@ -32,7 +34,7 @@ class SideEffects(ViewColumn): ViewColumn.__init__(self, fittingView) self.mainFrame = gui.mainFrame.MainFrame.getInstance() - self.columnText = "Active Side Effects" + self.columnText = _t("Active Side Effects") self.mask = wx.LIST_MASK_TEXT def getText(self, stuff):