i18n: annotate item stat views

This commit is contained in:
zhaoweny
2020-06-22 20:03:53 +08:00
parent aa8a03b18b
commit 396640e5b1
13 changed files with 75 additions and 54 deletions

View File

@@ -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)

View File

@@ -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:

View File

@@ -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)

View File

@@ -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:

View File

@@ -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<inside>.*?)<( *)/( *)a( *)>", "\g<inside>", desc)
desc = "<body style='background-color: {}; color: {}'>{}</body>".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)

View File

@@ -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 = ""

View File

@@ -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)

View File

@@ -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()

View File

@@ -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)

View File

@@ -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):

View File

@@ -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)

View File

@@ -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

View File

@@ -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):