Commit 430896dc4a78f879fc48604c34dce3862e961c8c

Authored by tatiana
1 parent dedc2a7c

ENH: Translation (source code changes and mo)

.gitattributes
... ... @@ -129,7 +129,6 @@ invesalius/gui/default_viewers.py -text
129 129 invesalius/gui/dialogs.py -text
130 130 invesalius/gui/dicom_preview_panel.py -text
131 131 invesalius/gui/frame.py -text
132   -invesalius/gui/import_data_wizard.py -text
133 132 invesalius/gui/import_panel.py -text
134 133 invesalius/gui/language_dialog.py -text
135 134 invesalius/gui/task_exporter.py -text
... ...
invesalius/gui/data_notebook.py
  1 +#!/usr/bin/env python
  2 +# -*- coding: UTF-8 -*-
1 3 #--------------------------------------------------------------------------
2 4 # Software: InVesalius - Software de Reconstrucao 3D de Imagens Medicas
3 5 # Copyright: (C) 2001 Centro de Pesquisas Renato Archer
... ... @@ -161,7 +163,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
161 163 wx_image.SetData(new_image.tostring())
162 164 return wx.BitmapFromImage(wx_image.Scale(16, 16))
163 165  
164   - def InsertNewItem(self, index=0, label=_("Mask 1"), threshold="(1000, 4500)",
  166 + def InsertNewItem(self, index=0, label=_("Mask"), threshold="(1000, 4500)",
165 167 colour=None):
166 168 self.InsertStringItem(index, "")
167 169 self.SetStringItem(index, 1, label,
... ... @@ -232,7 +234,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
232 234  
233 235 self.InsertColumn(0, "", wx.LIST_FORMAT_CENTER)
234 236 self.InsertColumn(1, _("Name"))
235   - self.InsertColumn(2, _("Volume (mm3)"))
  237 + self.InsertColumn(2, _(u"Volume (mm³)"))
236 238 self.InsertColumn(3, _("Transparency"), wx.LIST_FORMAT_RIGHT)
237 239  
238 240 self.SetColumnWidth(0, 20)
... ...
invesalius/gui/default_viewers.py
... ... @@ -86,7 +86,7 @@ class Panel(wx.Panel):
86 86  
87 87 p3 = slice_viewer.Viewer(self, "SAGITAL")
88 88 s3 = wx.aui.AuiPaneInfo().Centre().Row(1).\
89   - Name("Sagital Slice").Caption(_("Sagital slice")).\
  89 + Name("Sagittal Slice").Caption(_("Sagittal slice")).\
90 90 MaximizeButton(True).CloseButton(False)
91 91  
92 92 p4 = VolumeViewerCover(self)
... ... @@ -409,7 +409,7 @@ class VolumeToolPanel(wx.Panel):
409 409 d = wx.TextEntryDialog(self, _("Preset name"))
410 410 if d.ShowModal() == wx.ID_OK:
411 411 preset_name = d.GetValue()
412   - ps.Publisher().sendMessage('Save raycasting preset',
  412 + ps.Publisher().sendMessage(_("Save raycasting preset"),
413 413 preset_name)
414 414  
415 415 def __init_menus(self, pubsub_evt=None):
... ...
invesalius/gui/dialogs.py
... ... @@ -48,7 +48,7 @@ class NumberDialog(wx.Dialog):
48 48  
49 49 # Buttons
50 50 btn_ok = wx.Button(self, wx.ID_OK)
51   - btn_ok.SetHelpText(_("Above value will be applied."))
  51 + btn_ok.SetHelpText(_("Value will be applied."))
52 52 btn_ok.SetDefault()
53 53  
54 54 btn_cancel = wx.Button(self, wx.ID_CANCEL)
... ... @@ -252,7 +252,7 @@ class MessageDialog(wx.Dialog):
252 252 self.Centre()
253 253  
254 254 def SaveChangesDialog__Old(filename):
255   - message = _("Save changes to %s?")%filename
  255 + message = _("The project %s has been modified.\nSave changes?")%filename
256 256 dlg = MessageDialog(message)
257 257  
258 258 answer = dlg.ShowModal()
... ... @@ -291,7 +291,7 @@ def ImportInvalidFiles():
291 291  
292 292 def SaveChangesDialog(filename):
293 293 current_dir = os.path.abspath(".")
294   - msg = _("Save changes to %s?")%filename
  294 + msg = _("The project %s has been modified.\nSave changes?")%filename
295 295 if sys.platform == 'darwin':
296 296 dlg = wx.MessageDialog(None, "", msg,
297 297 wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL)
... ... @@ -313,7 +313,7 @@ def SaveChangesDialog(filename):
313 313  
314 314 def SaveChangesDialog2(filename):
315 315 current_dir = os.path.abspath(".")
316   - msg = _("Save changes to %s?")%filename
  316 + msg = _("The project %s has been modified.\nSave changes?")%filename
317 317 if sys.platform == 'darwin':
318 318 dlg = wx.MessageDialog(None, "", msg,
319 319 wx.ICON_QUESTION | wx.YES_NO)
... ... @@ -337,7 +337,7 @@ def ShowAboutDialog(parent):
337 337 info = wx.AboutDialogInfo()
338 338 info.Name = "InVesalius"
339 339 info.Version = "3.a.1 - RP"
340   - info.Copyright = _("(C) 2007 Renato Archer Research Centre")
  340 + info.Copyright = _("(c) 2007 Center for Information Technology Renato Archer")
341 341 info.Description = wordwrap(
342 342 _("InVesalius is a software for medical imaging 3D reconstruction. ")+\
343 343 _("Its input is a sequency of DICOM 2D image files acquired with CT or MR.\n\n")+\
... ...
invesalius/gui/import_data_wizard.py
... ... @@ -1,372 +0,0 @@
1   -#--------------------------------------------------------------------------
2   -# Software: InVesalius - Software de Reconstrucao 3D de Imagens Medicas
3   -# Copyright: (C) 2001 Centro de Pesquisas Renato Archer
4   -# Homepage: http://www.softwarepublico.gov.br
5   -# Contact: invesalius@cti.gov.br
6   -# License: GNU - GPL 2 (LICENSE.txt/LICENCA.txt)
7   -#--------------------------------------------------------------------------
8   -# Este programa e software livre; voce pode redistribui-lo e/ou
9   -# modifica-lo sob os termos da Licenca Publica Geral GNU, conforme
10   -# publicada pela Free Software Foundation; de acordo com a versao 2
11   -# da Licenca.
12   -#
13   -# Este programa eh distribuido na expectativa de ser util, mas SEM
14   -# QUALQUER GARANTIA; sem mesmo a garantia implicita de
15   -# COMERCIALIZACAO ou de ADEQUACAO A QUALQUER PROPOSITO EM
16   -# PARTICULAR. Consulte a Licenca Publica Geral GNU para obter mais
17   -# detalhes.
18   -#--------------------------------------------------------------------------
19   -import cStringIO
20   -import wx
21   -import widgets.foldpanelbar as fpb
22   -import wx.lib.filebrowsebutton as filebrowse
23   -import wx.lib.hyperlink as hl
24   -import wx.wizard as wiz
25   -
26   -def getWizTest1Data():
27   - return \
28   -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00t\x00\x00\x01\x04\x08\x02\
29   -\x00\x00\x00v\xad\x87\x05\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\
30   -\x00\x06\x06IDATx\x9c\xed\x9b\xc1\xcd\xdbF\x10FGA\xe0\xc0\x07]\x048M\xa8\x01\
31   -\x9f\x9c\x02\xd4\x81\xd3\x84\x1a\x10\xec@\r\xa8\x89\xa4\x03\x15\x90\x9c\xd2\
32   -\x80\x9aH\x00]t\x08\xec\x0bs`D\x04\xc9\x92\xe0\xee\xf2\xed\xceR\xdf;\x1a$\
33   -\xbd\xf8\xf083\xbb?\xb5\xe9\xba\xce\x04\xc37\xb5\x17\xb0f\x14.\x88\xc2\x05Q\
34   -\xb8 \n\x17D\xe1\x82(\\\x10\x85\x0b\xa2pA\x14.\x88\xc2\x05Q\xb8 \xdf\xe6?b\
35   -\xb3\xd9\xa4\xdd\xb8\xfa3#\x99\x0b\xb2\x80\xb9O>c\x17\xb7\x8a\xcc\x05Y2\xdc\
36   -\xae\xfb\xd4u\x9f\x16|`\xeb\xc8\\\x10\x85\x0b\xb2`C\x9b\xe6\xf3\xff\xffi\xce\
37   -\x0c\xd7\xf4\xb8&sA\x8a\x99kf\x16ea\xea\xd6\xc4\x11\xb3\xc2M\xde\x83\xbd8*\
38   -\x0b \x11ea\xec\x9d\x8e\xb4zx\xcc\xfa\xdf\x06\x99\x0b\x12\xd9\xd0\xfa\x964R\
39   -\x827\x9b\x9f\xb2\xd7\xb3*d.\xc8f\xce\x94\xdeO\x0b\x9d\x85\xcd\x9d_;\xbb\xce\
40   -\xe6\xd7\xdc\xfe?\xd1&B\x84Y`\x13\x11T\xab\xd7r\xf0\xee5\'e\x99\x0b\xa2pA\
41   -\x8a\x9e-\x98\xd9+\xec\x1d\x06d.\x88\xc2\x05\x89,\x0byM\xff\xd5F\x06\x99\x0b\
42   -\x12an\x8evMo\xb4\x92\x91\xb9 \xb3\xce\x16D\x1a2\x17D\xe1\x82(\\\x10\x85\x0b\
43   -R\xfel\xe1\xbf\x1c\x0e\x87\xb4\x1b\xaf\xd7\xeb\xb2+Y\x1c\x99\x0bR\xdf\xdc\'?\
44   -\xc6\\\xfc3\xb5\x8aE\x91\xb9 \x8e\xc2\xbd^?^\xaf\x1fk\xafbI\x1c\x85\xbb>\x14\
45   -.\x88\x9f\x866M\xa0\x83\xcd\x99\xe1\xea\x8ek2\x17\xa4\x15s\xcd\xcc\xa2,L\xdd\
46   -\x9a,I\x89p\x93\xf7`\xad\xa3\xb2\x00R\xae,\x8c\xbd\xd3\x91V\x0f\x8fi\xe0m\
47   -\x90\xb9 e\x1bZ\xdf\x92FJ\xf0\xe1\xf0K\xd1\xc5\xf0\xc8\\\x10?\xa3X\x1b\x07]Q\
48   -\xc8\\\x90\xfa\xe6\x06\xa7\x88\xbe*\x0f\x9b\xd7F\'e\x99\x0b\xa2pA\xea\x97\
49   -\x85HZ\xaa\x0f2\x17D\xe1\x82\x94-\x0byM\xbf\xb9\x91A\xe6\x82\x9437G;\xff\x1f\
50   -\xd7\x04\x91\xb9 \xfa\xf8\x19D\xe6\x82(\\\x10\x85\x0b\xa2pA\x14.\x88\xc2\x05\
51   -Q\xb8 \n\x17\xa4\xb9\xf3\\3\xb3\xf3\xf9\x9cv\xe3\xe9tZv%\xd3\xc8\\\x90&\xcd}\
52   -\xf2C\xcc\xc5\xbfR\xab\x18G\xe6\x82\xb4\x1d\xee\xe9\xf4\xe1t\xfaP{\x15\xa3\
53   -\xb4\x1d\xaes\x14.H\xd3\rm\x9a@\x07\x9b3\xc3-8\xae\xc9\\\x90\x15\x9bkf\x16ea\
54   -\xea\xd6d\x14\xa7\xe1&\xef\xc1\\\xa1\xb2\x00\xe2\xd4\xdc\x9e\xb1w:\xd2\xea\
55   -\xe11\xa5\xdf\x06\x99\x0b\xe2\xda\\\xb3gK\x1a)\xc1\xe7\xf3oE\x17\x13\x89\xcc\
56   -\x05qo\xee\x14\x15\x0e\xba\xa2\x90\xb9 M\x9a\x1b\x9c"\xfa\xaa<l^=L\xca2\x17D\
57   -\xe1\x824Y\x16"\xa9V\x1fd.\x88\xc2\x05q_\x16\xf2\x9a~\xdd\x91A\xe6\x82\xb867\
58   -G\xbb\xc2\x1f\xd7\x04\x91\xb9 \xfa\xc1\t\x88\xcc\x05Q\xb8 \n\x17D\xe1\x82(\\\
59   -\x10\x85\x0b\xa2pA\\\xef\xd0\xe6s\xb9\\\xd2n<\x1e\x8f\xcb\xae\xe4\xdf\xc8\\\
60   -\x90\x95\x98\xfb\xe4}\xcc\xc5\xbfS\xabx"sA\xd6\x16\xee\xf1\xf8\xfex\x8c\xf2\
61   -\x17dm\xe1\xbaB\xe1\x82\xac\xac\xa1M\x13\xe8`sf\xb8\xe4qM\xe6\x82\xbc\x94\
62   -\xb9ffQ\x16\xa6nM\xfe\xa1\x99p\x93\xf7`\x15QY\x00i\xc6\xdc\x9e\xb1w:\xd2\xea\
63   -\xe11\xec\xdb sA\x1a3\xd7\xec\xd9\x92FJ\xf0\xe5\x82\x9f\x18\xccG\xe6\x824h\
64   -\xee\x14\x8e\xb45\x99\x8b\xb2\x12s\x83SD_\x95\x87\xcdk\xf9IY\xe6\x82(\\\x90\
65   -\x95\x94\x85H\n\xd5\x07\x99\x0b\xa2pA\x1a,\x0byM\xbf\xe4\xc8 sA\x1a37G;\xf4\
66   -\xe3\x9a 2\x17D\xbf\x89\x00\x91\xb9 \n\x17D\xe1\x82(\\\x10\x85\x0b\xa2pA\x14\
67   -.\x88\xc2\x05Q\xb8 \n\x17\xc4\xe3\xc1\xcd\xedvK\xbbq\xbf\xdf/\xbb\x92Ld.\x88\
68   -Gs\x9f|\x1fs\xf1\x1f\xd4*2\x90\xb9 \xae\xc3\xdd\xef\xdf\xed\xf7\xefj\xaf"\
69   -\x1d\xd7\xe1\xb6\x8e\xc2\x05\xf1\xdc\xd0\xa6\tt\xb093\\\xc9qM\xe6\x82\xb4k\
70   -\xae\x99Y\x94\x85\xa9[\x93t\xea\x84\x9b\xbc\x07k\x0b\x95\x05\x90\x9aea\xec\
71   -\x9d\x8e\xb4zx\x8c\xbb\xb7A\xe6\x82\xd4nh}K\x1a)\xc1\xb7\xdb\x9fE\x17\xb342\
72   -\x17\xa4\xb6\xb9Sx<\xe8\x8aB\xe6\x82x478E\xf4Uy\xd8\xbc61)\xcb\\\x10\x85\x0b\
73   -\xe2\xb1,D\xe2\xb7>\xc8\\\x10\x85\x0bR\xbb,\xe45}\xe7#\x83\xcc\x05\xa9in\x8e\
74   -v\xde>\xae\t"sA\xf4S)\x10\x99\x0b\xa2pA\x14.\x88\xc2\x05Q\xb8 \n\x17D\xe1\
75   -\x82\xd4\xd9\xa1\xdd\xef\xf7\xb4\x1bw\xbb\xdd\xb2+A\x91\xb9 uO\xc5\xde\xc6\\\
76   -\xfc\x17\xb5\n\x0c\x99\x0bR9\xdc\xdd\xee\xedn\x17\xe5oK\xc8\\\x10\x85\x0bR\
77   -\xfb\xcf<S\x04:\xd8\x9c\x19\xce\xcf\xb8&sA<\x9bkf\x16ea\xea\xd6\x84\x82\n7y\
78   -\x0f\xb6&T\x16@\xd8\xb20\xf6NGZ=<\xa6\xb1\xb7A\xe6\x82\xf0\r\xadoI#%\xf8~o\
79   -\xef\xc4`>2\x17\xa4\xee(\xb6fmM\xe6\xa2\xd4178E\xf4Uy\xd8\xbc\xae`R\x96\xb9 \
80   -\n\x17\xc4\xfb\xd9\x82\x995\xb7w\x18\x90\xb9 \n\x17\x84/\x0byM\xbf\xe9\x91A\
81   -\xe6\x82\xb0\xe6\xe6h\xe7\xe7\xaf5\xc9\xc8\\\x10\xfd&\x02D\xe6\x82(\\\x10\
82   -\x85\x0b\xa2pA\x9c\x9e-<\x1e\x8f\xb4\x1b\xb7\xdb\xed\xb2+\xc9A\xe6\x8285\xf7\
83   -\xc9w1\x17\x7f\xa1V\x91\x8a\xcc\x05\xf1\x1e\xeev\xfbf\xbb}S{\x15\x89x\x0f\
84   -\xb7i\x14.\x88\xf3\x866M\xa0\x83\xcd\x99\xe1\x8a\x8dk2\x17\xa4is\xcd\xcc\xa2\
85   -,L\xdd\x9a$R-\xdc\xe4=XC\xa8,\x80T.\x0bc\xeft\xa4\xd5\xc3c|\xbd\r2\x17\xc4AC\
86   -\xeb[\xd2H\t~<\xbe\x16]\xcc\xa2\xc8\\\x10\x07\xe6N\xe1\xee\xa0+\n\x99\x0b\
87   -\xe2\xd4\xdc\xe0\x14\xd1W\xe5a\xf3\xea\x7fR\x96\xb9 \n\x17\xc4iY\x88\xc4i}\
88   -\x90\xb9 \n\x17\xc4AY\xc8k\xfa\x9eG\x06\x99\x0bR\xd9\xdc\x1c\xed\\}\\\x13D\
89   -\xe6\x82\xe8\xe3g\x10\x99\x0b\xa2pA\x14.\x88\xc2\x05\xf9\x1b\xa1\x11\xf1\xe2\
90   -?\xae\xd64\x00\x00\x00\x00IEND\xaeB`\x82'
91   -
92   -def getWizTest1Bitmap():
93   - return wx.BitmapFromImage(getWizTest1Image())
94   -
95   -def getWizTest1Image():
96   - stream = cStringIO.StringIO(getWizTest1Data())
97   - return wx.ImageFromStream(stream)
98   -
99   -
100   -def makePageTitle(wizPg, title):
101   - sizer = wx.BoxSizer(wx.VERTICAL)
102   - wizPg.SetSizer(sizer)
103   - title = wx.StaticText(wizPg, -1, title)
104   - title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
105   - sizer.Add(title, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
106   - sizer.Add(wx.StaticLine(wizPg, -1), 0, wx.EXPAND|wx.ALL, 5)
107   - return sizer
108   -
109   -class BasePage(wiz.PyWizardPage):
110   - def __init__(self, parent, title, number):
111   - wiz.PyWizardPage.__init__(self, parent)
112   - # header data
113   - self.title = title
114   - self.number = number
115   - # previous / next page data
116   - self.next = self.prev = None
117   - self.jump_next_page = False
118   -
119   - self.__init_gui()
120   -
121   - self.Update()
122   - self.SetAutoLayout(1)
123   - self.Fit()
124   -
125   - def __init_gui(self):
126   - sizer = wx.BoxSizer(wx.VERTICAL)
127   - self.SetSizer(sizer)
128   -
129   - # Build header
130   - first_line = wx.BoxSizer(wx.HORIZONTAL)
131   - number = wx.StaticText(self, -1, str(self.number)+".")
132   - number.SetFont(wx.Font(20, wx.SWISS, wx.NORMAL, wx.BOLD))
133   - self.header_number = number
134   - title = wx.StaticText(self, -1, self.title)
135   - title.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.NORMAL))
136   - first_line.Add(number, 0, wx.ALIGN_LEFT|wx.ALIGN_BOTTOM|wx.RIGHT, 5)
137   - first_line.Add(title, 0, wx.ALIGN_LEFT|wx.ALIGN_BOTTOM|wx.RIGHT|wx.BOTTOM, 2)
138   - sizer.AddSizer(first_line, 0)
139   - sizer.Add(wx.StaticLine(self, -1), 0, wx.EXPAND|wx.ALL, 5)
140   -
141   - self.sizer = sizer
142   -
143   - def DecreasePageNumber(self):
144   - print "number before", self.number
145   - self.number -= 1
146   - self.header_number.SetLabel(str(self.number)+".")
147   -
148   - def SetNext(self, next):
149   - self.next = next
150   -
151   - def SetPrev(self, prev):
152   - self.prev = prev
153   -
154   - # Classes derived from wxPyWizardPanel must override
155   - # GetNext and GetPrev, and may also override GetBitmap
156   - # as well as all those methods overridable by
157   - # wx.PyWindow.
158   -
159   - def GetNext(self):
160   - return self.next
161   -
162   - def GetPrev(self):
163   - return self.prev
164   -
165   -class RawDataPage(BasePage):
166   - def __init__(self, parent, title, number):
167   - BasePage.__init__(self, parent, title, number)
168   -
169   -class StudyPage(BasePage):
170   - def __init__(self, parent, title, number):
171   - BasePage.__init__(self, parent, title, number)
172   -
173   -class DirPage(BasePage):
174   - """
175   - Wizard page for selecting which directory or directories should be searched
176   - for retrieving medical images.
177   - """
178   -
179   - def __init__(self, parent, title, number):
180   - BasePage.__init__(self, parent, title, number)
181   - self.__init_specific_gui()
182   -
183   - self.selected_dir = []
184   -
185   - def __init_specific_gui(self):
186   -
187   - line1 = wx.StaticText(self, -1,_("Select the directory which ")+\
188   - _("contains medical images of the study interest."))
189   -
190   -
191   -
192   - t1 = wx.TextCtrl(self, -1, "", size=(125, -1))
193   -
194   - dbb = filebrowse.DirBrowseButton(
195   - self, -1, size=(450, -1), changeCallback = self.dbbCallback)
196   - dbb.SetLabel("")
197   - line2 = dbb
198   - #line2 = wx.BoxSizer(wx.HORIZONTAL)
199   -
200   - #line3 = wx.BoxSizer(wx.VERTICAL)
201   - #self.line3 = line3
202   -
203   - #link_add_another_dir = hl.HyperLinkCtrl(self, -1,"Add a new directory")
204   - #link_add_another_dir.SetUnderlines(True, False, False)
205   - #link_add_another_dir.SetColours("BLUE", "BLUE", "BLUE")
206   - #link_add_another_dir.AutoBrowse(False)
207   - #link_add_another_dir.UpdateLink()
208   - #link_add_another_dir.Bind(hl.EVT_HYPERLINK_LEFT, self.OnAddDir)
209   - #self.link_add_new = link_add_another_dir
210   -
211   -
212   - # ADVANCED
213   - # [] Save selected folders as default
214   - # [] Consider files inside inner folders of the selected folder, using recursion
215   -
216   -
217   - self.sizer.Add(line1, 0, wx.LEFT|wx.RIGHT|wx.TOP, 5)
218   - self.sizer.Add(line2, 0, wx.ALL, 5)
219   - #self.sizer.Add(line3, 0, wx.ALL, 5)
220   - #self.sizer.Add(link_add_another_dir, 0, wx.LEFT|wx.BOTTOM, 10)
221   -
222   -
223   - fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition,
224   - (450, 100), 0,fpb.FPB_SINGLE_FOLD)
225   -
226   - # Fold panel style
227   - style = fpb.CaptionBarStyle()
228   - style.SetCaptionStyle(fpb.CAPTIONBAR_RECTANGLE)
229   - style.SetSecondColour(wx.Colour(255,255,255))
230   -
231   - # Fold 1 - Surface properties
232   - item = fold_panel.AddFoldPanel(_("Advanced options"),
233   - collapsed=True)
234   - fold_panel.ApplyCaptionStyle(item, style)
235   - fold_panel.AddFoldPanelWindow(item,
236   - wx.CheckBox(item, wx.ID_ANY, _("Use selected folder(s) as default")),
237   - Spacing= 0, leftSpacing=0, rightSpacing=0)
238   - fold_panel.AddFoldPanelWindow(item,
239   - wx.CheckBox(item, wx.ID_ANY, _("Enable recursion in folder(s)")),
240   - Spacing= 0, leftSpacing=0, rightSpacing=0)
241   -
242   -
243   - self.sizer.Add(fold_panel, 0, wx.TOP|wx.LEFT, 5)
244   -
245   - self.sizer.Fit(self)
246   - self.Update()
247   - self.SetAutoLayout(1)
248   -
249   -
250   - def JumpNextPage(self):
251   - self.jump_next_page = True
252   - self.next.GetNext().DecreasePageNumber()
253   -
254   - def OnAddDir(self, evt):
255   - dlg = wx.DirDialog(self, _("Choose a directory:"),
256   - style=wx.DD_DIR_MUST_EXIST)
257   -
258   - if dlg.ShowModal() == wx.ID_OK:
259   - path = dlg.GetPath()
260   - self.selected_dir.append(path)
261   - self.link_add_new.SetLabel(_("Add another directory"))
262   - self.AddNewDir(path)
263   - dlg.Destroy()
264   -
265   - def OnChangeDir(self, prev_dir, text):
266   - dlg = wx.DirDialog(self, _("Choose a directory:"),
267   - style=wx.DD_DIR_MUST_EXIST)
268   - dlg.SetPath(prev_dir)
269   -
270   - if dlg.ShowModal() == wx.ID_OK:
271   - path = dlg.GetPath()
272   - self.selected_dir.remove(prev_dir)
273   - self.selected_dir.append(path)
274   - text.SetValue(path)
275   - dlg.Destroy()
276   -
277   -
278   - def AddNewDir(self, path):
279   - folder_bmp = wx.ArtProvider.GetBitmap(wx.ART_FOLDER_OPEN, wx.ART_BUTTON,
280   - (12,12))
281   - btn = wx.BitmapButton(self, -1, folder_bmp)
282   -
283   - text_dir_path = wx.StaticText(self, -1, path)
284   -
285   - tooltip = wx.ToolTip(_("Remove this directory from list"))
286   - link_remove = hl.HyperLinkCtrl(self, -1,_("Remove"))
287   - link_remove.SetUnderlines(True, False, False)
288   - link_remove.SetColours("BLUE", "BLUE", "BLUE")
289   - link_remove.SetToolTip(tooltip)
290   - link_remove.AutoBrowse(False)
291   - link_remove.UpdateLink()
292   -
293   - dir_line = wx.BoxSizer(wx.HORIZONTAL)
294   - dir_line.Add(btn, 0, wx.LEFT|wx.RIGHT, 5)
295   - dir_line.Add(text_dir_path, 0)
296   - dir_line.Add(link_remove, 0, wx.ALIGN_RIGHT|wx.RIGHT|wx.LEFT, 5)
297   -
298   - link_remove.Bind(hl.EVT_HYPERLINK_LEFT, lambda e: self.RemoveDir(path, dir_line))
299   - btn.Bind(wx.EVT_BUTTON, lambda e: self.OnChangeDir(path, link_remove))
300   -
301   - self.line3.Add(dir_line, 1, wx.LEFT, 2)
302   - #self.line3.Add(text_dir_path, 0, wx.ALL, 5)
303   -
304   - self.Fit()
305   -
306   - def RemoveDir(self, path, sizer):
307   - self.selected_dir.remove(path)
308   - self.line3.Hide(sizer)
309   - self.line3.RemoveSizer(sizer)
310   - if not self.selected_dir:
311   - self.link_add_new.SetLabel(_("Add another directory"))
312   - self.Layout()
313   - self.Fit()
314   -
315   -
316   -
317   -
318   - def GetNext(self):
319   - """If jump_next_page is true then return the next page's next page"""
320   - if self.jump_next_page:
321   - try:
322   - self.next.GetNext().SetPrev(self)
323   - except AttributeError:
324   - print "Warning: Next is the last Wizard page."
325   - return None
326   - else:
327   - return self.next.GetNext()
328   - else:
329   - try:
330   - self.next.GetNext().SetPrev(self.next)
331   - except AttributeError:
332   - print "Worning: This is the last Wizard page"
333   - return self.next
334   -
335   -
336   - def dbbCallback(self, evt):
337   - self.log.write('DirBrowseButton: %s\n' % evt.GetString())
338   -
339   -def CreateWizard(parent):
340   - wizard = wiz.Wizard(parent, -1, _("Import medical images"), getWizTest1Bitmap())
341   -
342   - page1 = DirPage(wizard, _("Choose directory"), 1)
343   - page2 = RawDataPage(wizard, _("Define RAW data"), 2)
344   - page3 = StudyPage(wizard, _("Select study"), 3) # 2 can be 3
345   -
346   -
347   - wizard.FitToPage(page1)
348   - page3.sizer.Add(wx.StaticText(page3, -1, _("\nThis is the last page.")))
349   -
350   - # Set the initial order of the pages
351   - page1.SetNext(page2)
352   - page2.SetPrev(page1)
353   - page2.SetNext(page3)
354   - page3.SetPrev(page2)
355   -
356   - page1.JumpNextPage()
357   -
358   - wizard.GetPageAreaSizer().Add(page1)
359   -
360   - if wizard.RunWizard(page1):
361   - print "Completed - Send message to import data"
362   - else:
363   - print "Canceled"
364   -
365   -class ImportApp(wx.App):
366   - def OnInit(self):
367   - CreateWizard(None)
368   - return True
369   -
370   -if __name__ == '__main__':
371   - app = ImportApp(0)
372   - app.MainLoop()
invesalius/gui/task_exporter.py
... ... @@ -291,7 +291,7 @@ class InnerTaskPanel(wx.Panel):
291 291 dlg = wx.MessageDialog(None,
292 292 _("You need to create a surface and make it ") +
293 293 _("visible before exporting it."),
294   - _('InVesalius Information'),
  294 + 'InVesalius 3',
295 295 wx.OK | wx.ICON_INFORMATION)
296 296 try:
297 297 dlg.ShowModal()
... ...
invesalius/gui/task_slice.py
... ... @@ -135,7 +135,7 @@ class InnerTaskPanel(wx.Panel):
135 135  
136 136 def OnLinkNewMask(self, evt=None):
137 137 dlg = wx.TextEntryDialog(self, _('Name of new mask:'),
138   - _('InVesalius 3.0 - New mask'))
  138 + _('InVesalius 3 - New mask'))
139 139 dlg.CenterOnScreen()
140 140 default_mask_name = const.MASK_NAME_PATTERN %(mask.Mask.general_index+2)
141 141 dlg.SetValue(default_mask_name)
... ...
invesalius/gui/task_surface.py
... ... @@ -128,7 +128,7 @@ class InnerTaskPanel(wx.Panel):
128 128 evt.Skip()
129 129  
130 130 def OnLinkNewSurface(self, evt=None):
131   - dlg = NewSurfaceDialog(self, -1, _('InVesalius 3.0 - New surface'))
  131 + dlg = NewSurfaceDialog(self, -1, _('InVesalius 3 - New surface'))
132 132 if dlg.ShowModal() == wx.ID_OK:
133 133 print "TODO: Send Signal - Create 3d surface %s \n" % dlg.GetValue()
134 134 dlg.Destroy()
... ... @@ -180,7 +180,7 @@ class NewSurfaceDialog(wx.Dialog):
180 180  
181 181 text = wx.TextCtrl(self, -1, "", size=(80,-1))
182 182 text.SetHelpText(_("Name the new surface to be created"))
183   - text.SetValue(_("Default 3D"))
  183 + text.SetValue(_("Surface"))
184 184 self.text = text
185 185  
186 186 sizer = wx.BoxSizer(wx.VERTICAL)
... ... @@ -208,8 +208,8 @@ class NewSurfaceDialog(wx.Dialog):
208 208 self.SetSizer(sizer)
209 209 sizer.Fit(self)
210 210  
211   - def GetValue(self):
212   - return self.text.GetValue() + _("| mask: ") + MASK_LIST[self.combo_surface_name.GetSelection()]
  211 + #def GetValue(self):
  212 + # return self.text.GetValue() + _("| mask: ") + MASK_LIST[self.combo_surface_name.GetSelection()]
213 213  
214 214 class FoldPanel(wx.Panel):
215 215 def __init__(self, parent):
... ...
invesalius/i18n.py
... ... @@ -49,4 +49,4 @@ def InstallLanguage(language):
49 49 languages=[language], codeset='utf8')
50 50 # Using unicode
51 51 lang.install(unicode=1)
52   - return lang.gettext
  52 + return lang.ugettext
... ...
locale/en/LC_MESSAGES/invesalius.mo
No preview for this file type
locale/es/LC_MESSAGES/invesalius.mo
No preview for this file type
locale/pt_BR/LC_MESSAGES/invesalius.mo
No preview for this file type