Commit 77c8bbcd834943896b1102c11619adf45732041e
1 parent
02c16045
Exists in
master
and in
5 other branches
ENH: Fixed raycast problem and enhanced translation to pt_BR
Showing
11 changed files
with
321 additions
and
238 deletions
Show diff stats
invesalius/constants.py
@@ -348,9 +348,9 @@ RAYCASTING_FILES = {_("Airways"): "Airways.plist", | @@ -348,9 +348,9 @@ RAYCASTING_FILES = {_("Airways"): "Airways.plist", | ||
348 | 348 | ||
349 | 349 | ||
350 | 350 | ||
351 | -RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in | ||
352 | - os.listdir(folder) if | ||
353 | - os.path.isfile(os.path.join(folder,filename))] | 351 | +#RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in |
352 | +# os.listdir(folder) if | ||
353 | +# os.path.isfile(os.path.join(folder,filename))] | ||
354 | 354 | ||
355 | 355 | ||
356 | LOG_FOLDER = os.path.join(os.path.expanduser('~'), '.invesalius', 'logs') | 356 | LOG_FOLDER = os.path.join(os.path.expanduser('~'), '.invesalius', 'logs') |
@@ -363,9 +363,10 @@ if not os.path.isdir(folder): | @@ -363,9 +363,10 @@ if not os.path.isdir(folder): | ||
363 | 363 | ||
364 | 364 | ||
365 | USER_RAYCASTING_PRESETS_DIRECTORY = folder | 365 | USER_RAYCASTING_PRESETS_DIRECTORY = folder |
366 | -RAYCASTING_TYPES += [_(filename.split(".")[0]) for filename in | 366 | +RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in |
367 | os.listdir(folder) if | 367 | os.listdir(folder) if |
368 | os.path.isfile(os.path.join(folder,filename))] | 368 | os.path.isfile(os.path.join(folder,filename))] |
369 | +RAYCASTING_TYPES += RAYCASTING_FILES.keys() | ||
369 | RAYCASTING_TYPES.append(_(' Off')) | 370 | RAYCASTING_TYPES.append(_(' Off')) |
370 | RAYCASTING_TYPES.sort() | 371 | RAYCASTING_TYPES.sort() |
371 | RAYCASTING_OFF_LABEL = _(' Off') | 372 | RAYCASTING_OFF_LABEL = _(' Off') |
invesalius/control.py
@@ -593,7 +593,7 @@ class Controller(): | @@ -593,7 +593,7 @@ class Controller(): | ||
593 | label = pubsub_evt.data | 593 | label = pubsub_evt.data |
594 | else: | 594 | else: |
595 | return | 595 | return |
596 | - | 596 | + |
597 | if label != const.RAYCASTING_OFF_LABEL: | 597 | if label != const.RAYCASTING_OFF_LABEL: |
598 | if label in const.RAYCASTING_FILES.keys(): | 598 | if label in const.RAYCASTING_FILES.keys(): |
599 | path = os.path.join(const.RAYCASTING_PRESETS_DIRECTORY, | 599 | path = os.path.join(const.RAYCASTING_PRESETS_DIRECTORY, |
invesalius/gui/default_viewers.py
@@ -440,6 +440,9 @@ class VolumeToolPanel(wx.Panel): | @@ -440,6 +440,9 @@ class VolumeToolPanel(wx.Panel): | ||
440 | def __init_menus(self, pubsub_evt=None): | 440 | def __init_menus(self, pubsub_evt=None): |
441 | # MENU RELATED TO RAYCASTING TYPES | 441 | # MENU RELATED TO RAYCASTING TYPES |
442 | menu = self.menu = wx.Menu() | 442 | menu = self.menu = wx.Menu() |
443 | + #print "\n\n" | ||
444 | + #print ">>>>", const.RAYCASTING_TYPES.sort() | ||
445 | + #print "\n\n" | ||
443 | for name in const.RAYCASTING_TYPES: | 446 | for name in const.RAYCASTING_TYPES: |
444 | id = wx.NewId() | 447 | id = wx.NewId() |
445 | item = wx.MenuItem(menu, id, name, kind=wx.ITEM_RADIO) | 448 | item = wx.MenuItem(menu, id, name, kind=wx.ITEM_RADIO) |
@@ -454,6 +457,7 @@ class VolumeToolPanel(wx.Panel): | @@ -454,6 +457,7 @@ class VolumeToolPanel(wx.Panel): | ||
454 | self.id_cutplane = None | 457 | self.id_cutplane = None |
455 | submenu = wx.Menu() | 458 | submenu = wx.Menu() |
456 | for name in const.RAYCASTING_TOOLS: | 459 | for name in const.RAYCASTING_TOOLS: |
460 | + print name | ||
457 | id = wx.NewId() | 461 | id = wx.NewId() |
458 | if not(self.id_cutplane): | 462 | if not(self.id_cutplane): |
459 | self.id_cutplane = id | 463 | self.id_cutplane = id |
invesalius/gui/dialogs.py
@@ -920,48 +920,6 @@ def ExportPicture(type_=""): | @@ -920,48 +920,6 @@ def ExportPicture(type_=""): | ||
920 | return () | 920 | return () |
921 | 921 | ||
922 | 922 | ||
923 | -class CAOptions(wx.Panel): | ||
924 | - ''' | ||
925 | - Options related to Context aware algorithm: | ||
926 | - Angle: The min angle to a vertex to be considered a staircase vertex; | ||
927 | - Max distance: The max distance a normal vertex must be to calculate its | ||
928 | - weighting; | ||
929 | - Min Weighting: The min weight a vertex must have; | ||
930 | - Steps: The number of iterations the smoothing algorithm have to do. | ||
931 | - ''' | ||
932 | - def __init__(self, parent): | ||
933 | - wx.Panel.__init__(self, parent, -1) | ||
934 | - self._build_widgets() | ||
935 | - | ||
936 | - def _build_widgets(self): | ||
937 | - self.angle = floatspin.FloatSpin(self, -1, value=0.7, min_val=0.0, | ||
938 | - max_val=1.0, increment=0.1, | ||
939 | - digits=1) | ||
940 | - | ||
941 | - self.max_distance = floatspin.FloatSpin(self, -1, value=3.0, min_val=0.0, | ||
942 | - max_val=100.0, increment=0.1, | ||
943 | - digits=2) | ||
944 | - | ||
945 | - self.min_weight = floatspin.FloatSpin(self, -1, value=0.2, min_val=0.0, | ||
946 | - max_val=1.0, increment=0.1, | ||
947 | - digits=1) | ||
948 | - | ||
949 | - self.steps = wx.SpinCtrl(self, -1, value='10', min=1, max=100) | ||
950 | - | ||
951 | - layout_sizer = wx.FlexGridSizer(rows=4, cols=2, hgap=5, vgap=5) | ||
952 | - layout_sizer.Add(wx.StaticText(self, -1, u'Angle:'), 0, wx.EXPAND) | ||
953 | - layout_sizer.Add(self.angle, 0, wx.EXPAND) | ||
954 | - layout_sizer.Add(wx.StaticText(self, -1, u'Max. distance:'), 0, wx.EXPAND) | ||
955 | - layout_sizer.Add(self.max_distance, 0, wx.EXPAND) | ||
956 | - layout_sizer.Add(wx.StaticText(self, -1, u'Min. weight:'), 0, wx.EXPAND) | ||
957 | - layout_sizer.Add(self.min_weight, 0, wx.EXPAND) | ||
958 | - layout_sizer.Add(wx.StaticText(self, -1, u'N. steps:'), 0, wx.EXPAND) | ||
959 | - layout_sizer.Add(self.steps, 0, wx.EXPAND) | ||
960 | - | ||
961 | - self.main_sizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Context aware options'), wx.VERTICAL) | ||
962 | - self.main_sizer.Add(layout_sizer, 0, wx.EXPAND | wx.ALL, 5) | ||
963 | - self.SetSizer(self.main_sizer) | ||
964 | - | ||
965 | class SurfaceDialog(wx.Dialog): | 923 | class SurfaceDialog(wx.Dialog): |
966 | ''' | 924 | ''' |
967 | This dialog is only shown when the mask whose surface will be generate was | 925 | This dialog is only shown when the mask whose surface will be generate was |
@@ -970,7 +928,7 @@ class SurfaceDialog(wx.Dialog): | @@ -970,7 +928,7 @@ class SurfaceDialog(wx.Dialog): | ||
970 | `Context aware smoothing' | 928 | `Context aware smoothing' |
971 | ''' | 929 | ''' |
972 | def __init__(self): | 930 | def __init__(self): |
973 | - wx.Dialog.__init__(self, None, -1, u'Surface generation options') | 931 | + wx.Dialog.__init__(self, None, -1, _('Surface generation options')) |
974 | self._build_widgets() | 932 | self._build_widgets() |
975 | self.CenterOnScreen() | 933 | self.CenterOnScreen() |
976 | 934 | ||
@@ -1269,7 +1227,6 @@ class SurfaceMethodPanel(wx.Panel): | @@ -1269,7 +1227,6 @@ class SurfaceMethodPanel(wx.Panel): | ||
1269 | self.cb_types.Bind(wx.EVT_COMBOBOX, self._set_cb_types) | 1227 | self.cb_types.Bind(wx.EVT_COMBOBOX, self._set_cb_types) |
1270 | 1228 | ||
1271 | def _set_cb_types(self, evt): | 1229 | def _set_cb_types(self, evt): |
1272 | - print evt.GetString() | ||
1273 | if self.alg_types[evt.GetString()] == 'ca_smoothing': | 1230 | if self.alg_types[evt.GetString()] == 'ca_smoothing': |
1274 | self.ca_options.Enable() | 1231 | self.ca_options.Enable() |
1275 | else: | 1232 | else: |
invesalius/gui/frame.py
@@ -565,7 +565,7 @@ class MenuBar(wx.MenuBar): | @@ -565,7 +565,7 @@ class MenuBar(wx.MenuBar): | ||
565 | 565 | ||
566 | # Add all menus to menubar | 566 | # Add all menus to menubar |
567 | self.Append(file_menu, _("File")) | 567 | self.Append(file_menu, _("File")) |
568 | - self.Append(file_edit, "Edit") | 568 | + self.Append(file_edit, _("Edit")) |
569 | #self.Append(view_menu, "View") | 569 | #self.Append(view_menu, "View") |
570 | #self.Append(tools_menu, "Tools") | 570 | #self.Append(tools_menu, "Tools") |
571 | self.Append(options_menu, _("Options")) | 571 | self.Append(options_menu, _("Options")) |
invesalius/gui/preferences.py
@@ -144,10 +144,10 @@ class Language(wx.Panel): | @@ -144,10 +144,10 @@ class Language(wx.Panel): | ||
144 | self.lg = lg = ComboBoxLanguage(self) | 144 | self.lg = lg = ComboBoxLanguage(self) |
145 | self.cmb_lang = cmb_lang = lg.GetComboBox() | 145 | self.cmb_lang = cmb_lang = lg.GetComboBox() |
146 | 146 | ||
147 | - box = wx.StaticBox(self, -1, "Language") | 147 | + box = wx.StaticBox(self, -1, _("Language")) |
148 | bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) | 148 | bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) |
149 | 149 | ||
150 | - text = wx.StaticText(self, -1, "Takes effect the next time you \n open the InVesalius.") | 150 | + text = wx.StaticText(self, -1, _("Language settings will take effect \n the next time you open InVesalius.")) |
151 | bsizer.Add(cmb_lang, 0, wx.TOP|wx.CENTER, 20) | 151 | bsizer.Add(cmb_lang, 0, wx.TOP|wx.CENTER, 20) |
152 | bsizer.Add(text, 0, wx.TOP|wx.CENTER, 10) | 152 | bsizer.Add(text, 0, wx.TOP|wx.CENTER, 10) |
153 | 153 |
invesalius/gui/task_slice.py
@@ -144,7 +144,7 @@ class InnerTaskPanel(wx.Panel): | @@ -144,7 +144,7 @@ class InnerTaskPanel(wx.Panel): | ||
144 | 144 | ||
145 | def OnButtonNextTask(self, evt): | 145 | def OnButtonNextTask(self, evt): |
146 | overwrite = self.check_box.IsChecked() | 146 | overwrite = self.check_box.IsChecked() |
147 | - algorithm = '' | 147 | + algorithm = 'Default' |
148 | options = {} | 148 | options = {} |
149 | if self.GetMaskSelected() != -1: | 149 | if self.GetMaskSelected() != -1: |
150 | sl = slice_.Slice() | 150 | sl = slice_.Slice() |
@@ -157,7 +157,7 @@ class InnerTaskPanel(wx.Panel): | @@ -157,7 +157,7 @@ class InnerTaskPanel(wx.Panel): | ||
157 | return | 157 | return |
158 | 158 | ||
159 | mask_index = sl.current_mask.index | 159 | mask_index = sl.current_mask.index |
160 | - method = {'algorithm': 'Default', | 160 | + method = {'algorithm': algorithm, |
161 | 'options': options} | 161 | 'options': options} |
162 | srf_options = {"index": mask_index, | 162 | srf_options = {"index": mask_index, |
163 | "name": '', | 163 | "name": '', |
locale/pt_BR/LC_MESSAGES/invesalius.mo
No preview for this file type
locale/ro/LC_MESSAGES/invesalius.mo
No preview for this file type
po/pt_BR.po
@@ -9,7 +9,7 @@ msgid "" | @@ -9,7 +9,7 @@ msgid "" | ||
9 | msgstr "" | 9 | msgstr "" |
10 | "Project-Id-Version: InVesalius\n" | 10 | "Project-Id-Version: InVesalius\n" |
11 | "Report-Msgid-Bugs-To: \n" | 11 | "Report-Msgid-Bugs-To: \n" |
12 | -"POT-Creation-Date: 2012-09-03 16:29-0300\n" | 12 | +"POT-Creation-Date: 2012-09-11 15:24-0300\n" |
13 | "PO-Revision-Date: 2010-11-30 02:42+0000\n" | 13 | "PO-Revision-Date: 2010-11-30 02:42+0000\n" |
14 | "Last-Translator: Invesalius team <invesalius@cti.gov.br>\n" | 14 | "Last-Translator: Invesalius team <invesalius@cti.gov.br>\n" |
15 | "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" | 15 | "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" |
@@ -38,6 +38,10 @@ msgstr "Alfa: %-.3f" | @@ -38,6 +38,10 @@ msgstr "Alfa: %-.3f" | ||
38 | msgid "M %d" | 38 | msgid "M %d" |
39 | msgstr "M %d" | 39 | msgstr "M %d" |
40 | 40 | ||
41 | +#: constants.py:41 constants.py:370 constants.py:372 | ||
42 | +msgid " Off" | ||
43 | +msgstr " Desabilitado" | ||
44 | + | ||
41 | #: constants.py:42 | 45 | #: constants.py:42 |
42 | msgid "Red-blue" | 46 | msgid "Red-blue" |
43 | msgstr "Vermelho e azul" | 47 | msgstr "Vermelho e azul" |
@@ -122,7 +126,7 @@ msgstr "Oceano" | @@ -122,7 +126,7 @@ msgstr "Oceano" | ||
122 | msgid "Inverse Gray" | 126 | msgid "Inverse Gray" |
123 | msgstr "Cinza invertido" | 127 | msgstr "Cinza invertido" |
124 | 128 | ||
125 | -#: constants.py:191 constants.py:276 dialogs.py:522 dialogs.py:535 | 129 | +#: constants.py:191 constants.py:276 dialogs.py:530 dialogs.py:543 |
126 | #: dicom_preview_panel.py:675 dicom_preview_panel.py:676 presets.py:30 | 130 | #: dicom_preview_panel.py:675 dicom_preview_panel.py:676 presets.py:30 |
127 | #: presets.py:48 presets.py:103 presets.py:134 | 131 | #: presets.py:48 presets.py:103 presets.py:134 |
128 | msgid "Bone" | 132 | msgid "Bone" |
@@ -141,7 +145,7 @@ msgstr "Desenhar" | @@ -141,7 +145,7 @@ msgstr "Desenhar" | ||
141 | msgid "Erase" | 145 | msgid "Erase" |
142 | msgstr "Apagar" | 146 | msgstr "Apagar" |
143 | 147 | ||
144 | -#: constants.py:251 data_notebook.py:434 task_surface.py:43 | 148 | +#: constants.py:251 data_notebook.py:435 task_surface.py:43 |
145 | msgid "Threshold" | 149 | msgid "Threshold" |
146 | msgstr "Limiar" | 150 | msgstr "Limiar" |
147 | 151 | ||
@@ -157,7 +161,7 @@ msgstr "Média" | @@ -157,7 +161,7 @@ msgstr "Média" | ||
157 | msgid "High" | 161 | msgid "High" |
158 | msgstr "Alta" | 162 | msgstr "Alta" |
159 | 163 | ||
160 | -#: constants.py:265 constants.py:266 constants.py:267 surface.py:392 | 164 | +#: constants.py:265 constants.py:266 constants.py:267 task_slice.py:164 |
161 | msgid "Optimal *" | 165 | msgid "Optimal *" |
162 | msgstr "Ótima *" | 166 | msgstr "Ótima *" |
163 | 167 | ||
@@ -178,7 +182,8 @@ msgstr "Fossa cerebral posterior" | @@ -178,7 +182,8 @@ msgstr "Fossa cerebral posterior" | ||
178 | msgid "Brain" | 182 | msgid "Brain" |
179 | msgstr "Cérebro" | 183 | msgstr "Cérebro" |
180 | 184 | ||
181 | -#: constants.py:279 control.py:361 slice_menu.py:39 slice_menu.py:51 | 185 | +#: constants.py:279 control.py:361 dialogs.py:1182 dialogs.py:1185 |
186 | +#: dialogs.py:1193 dialogs.py:1269 slice_menu.py:39 slice_menu.py:51 | ||
182 | msgid "Default" | 187 | msgid "Default" |
183 | msgstr "Padrão" | 188 | msgstr "Padrão" |
184 | 189 | ||
@@ -370,11 +375,7 @@ msgstr "Vascular IV" | @@ -370,11 +375,7 @@ msgstr "Vascular IV" | ||
370 | msgid "Yellow bone" | 375 | msgid "Yellow bone" |
371 | msgstr "Osso amarelo" | 376 | msgstr "Osso amarelo" |
372 | 377 | ||
373 | -#: constants.py:369 constants.py:371 | ||
374 | -msgid " Off" | ||
375 | -msgstr " Desabilitado" | ||
376 | - | ||
377 | -#: constants.py:372 volume.py:642 | 378 | +#: constants.py:373 volume.py:642 |
378 | msgid "Cut plane" | 379 | msgid "Cut plane" |
379 | msgstr "Plano de corte" | 380 | msgstr "Plano de corte" |
380 | 381 | ||
@@ -391,76 +392,80 @@ msgstr "Sem título" | @@ -391,76 +392,80 @@ msgstr "Sem título" | ||
391 | msgid "Fix gantry tilt applying the degrees below" | 392 | msgid "Fix gantry tilt applying the degrees below" |
392 | msgstr "Corrigir inclinação (gantry tilt) aplicando o seguinte valor" | 393 | msgstr "Corrigir inclinação (gantry tilt) aplicando o seguinte valor" |
393 | 394 | ||
394 | -#: data_notebook.py:39 measures.py:14 | 395 | +#: data_notebook.py:40 measures.py:14 |
395 | msgid "Linear" | 396 | msgid "Linear" |
396 | msgstr "Linear" | 397 | msgstr "Linear" |
397 | 398 | ||
398 | -#: data_notebook.py:40 measures.py:15 | 399 | +#: data_notebook.py:41 measures.py:15 |
399 | msgid "Angular" | 400 | msgid "Angular" |
400 | msgstr "Angular" | 401 | msgstr "Angular" |
401 | 402 | ||
402 | -#: data_notebook.py:43 measures.py:18 | 403 | +#: data_notebook.py:44 measures.py:18 |
403 | msgid "3D" | 404 | msgid "3D" |
404 | msgstr "3D" | 405 | msgstr "3D" |
405 | 406 | ||
406 | -#: data_notebook.py:44 measures.py:19 | 407 | +#: data_notebook.py:45 measures.py:19 |
407 | msgid "Axial" | 408 | msgid "Axial" |
408 | msgstr "Axial" | 409 | msgstr "Axial" |
409 | 410 | ||
410 | -#: data_notebook.py:45 measures.py:20 | 411 | +#: data_notebook.py:46 measures.py:20 |
411 | msgid "Coronal" | 412 | msgid "Coronal" |
412 | msgstr "Coronal" | 413 | msgstr "Coronal" |
413 | 414 | ||
414 | -#: data_notebook.py:46 measures.py:21 | 415 | +#: data_notebook.py:47 measures.py:21 |
415 | msgid "Sagittal" | 416 | msgid "Sagittal" |
416 | msgstr "Sagital" | 417 | msgstr "Sagital" |
417 | 418 | ||
418 | -#: data_notebook.py:62 | 419 | +#: data_notebook.py:63 |
419 | msgid "Masks" | 420 | msgid "Masks" |
420 | msgstr "Máscaras" | 421 | msgstr "Máscaras" |
421 | 422 | ||
422 | -#: data_notebook.py:63 | 423 | +#: data_notebook.py:64 |
423 | msgid "3D surfaces" | 424 | msgid "3D surfaces" |
424 | msgstr "Superfícies 3D" | 425 | msgstr "Superfícies 3D" |
425 | 426 | ||
426 | -#: data_notebook.py:64 | 427 | +#: data_notebook.py:65 |
427 | msgid "Measures" | 428 | msgid "Measures" |
428 | msgstr "Medições" | 429 | msgstr "Medições" |
429 | 430 | ||
430 | -#: data_notebook.py:182 frame.py:982 | 431 | +#: data_notebook.py:183 frame.py:982 |
431 | msgid "Measure distance" | 432 | msgid "Measure distance" |
432 | msgstr "Medir distância" | 433 | msgstr "Medir distância" |
433 | 434 | ||
434 | -#: data_notebook.py:185 frame.py:987 | 435 | +#: data_notebook.py:186 frame.py:987 |
435 | msgid "Measure angle" | 436 | msgid "Measure angle" |
436 | msgstr "Medir ângulo" | 437 | msgstr "Medir ângulo" |
437 | 438 | ||
438 | -#: data_notebook.py:433 data_notebook.py:774 data_notebook.py:1020 | ||
439 | -#: data_notebook.py:1209 | 439 | +#: data_notebook.py:434 data_notebook.py:761 data_notebook.py:1007 |
440 | +#: data_notebook.py:1196 | ||
440 | msgid "Name" | 441 | msgid "Name" |
441 | msgstr "Nome" | 442 | msgstr "Nome" |
442 | 443 | ||
443 | -#: data_notebook.py:494 | 444 | +#: data_notebook.py:495 |
444 | msgid "Mask" | 445 | msgid "Mask" |
445 | msgstr "Máscara" | 446 | msgstr "Máscara" |
446 | 447 | ||
447 | -#: data_notebook.py:775 | 448 | +#: data_notebook.py:621 task_surface.py:136 |
449 | +msgid "InVesalius 3 - New surface" | ||
450 | +msgstr "InVesalius 3 - Nova superfície" | ||
451 | + | ||
452 | +#: data_notebook.py:762 | ||
448 | msgid "Volume (mm³)" | 453 | msgid "Volume (mm³)" |
449 | msgstr "Volume (mm³)" | 454 | msgstr "Volume (mm³)" |
450 | 455 | ||
451 | -#: data_notebook.py:776 | 456 | +#: data_notebook.py:763 |
452 | msgid "Transparency" | 457 | msgid "Transparency" |
453 | msgstr "Transparência" | 458 | msgstr "Transparência" |
454 | 459 | ||
455 | -#: data_notebook.py:1021 | 460 | +#: data_notebook.py:1008 |
456 | msgid "Location" | 461 | msgid "Location" |
457 | msgstr "Local" | 462 | msgstr "Local" |
458 | 463 | ||
459 | -#: data_notebook.py:1022 data_notebook.py:1210 | 464 | +#: data_notebook.py:1009 data_notebook.py:1197 |
460 | msgid "Type" | 465 | msgid "Type" |
461 | msgstr "Tipo" | 466 | msgstr "Tipo" |
462 | 467 | ||
463 | -#: data_notebook.py:1023 data_notebook.py:1211 | 468 | +#: data_notebook.py:1010 data_notebook.py:1198 |
464 | msgid "Value" | 469 | msgid "Value" |
465 | msgstr "Valor" | 470 | msgstr "Valor" |
466 | 471 | ||
@@ -512,58 +517,60 @@ msgstr "Nome do pré-ajuste" | @@ -512,58 +517,60 @@ msgstr "Nome do pré-ajuste" | ||
512 | msgid "Save raycasting preset" | 517 | msgid "Save raycasting preset" |
513 | msgstr "Salvar pré-ajuste de raycasting" | 518 | msgstr "Salvar pré-ajuste de raycasting" |
514 | 519 | ||
515 | -#: default_viewers.py:467 | 520 | +#: default_viewers.py:471 |
516 | msgid "Tools" | 521 | msgid "Tools" |
517 | msgstr "Ferramentas" | 522 | msgstr "Ferramentas" |
518 | 523 | ||
519 | -#: dialogs.py:57 | 524 | +#: dialogs.py:65 |
520 | msgid "Value will be applied." | 525 | msgid "Value will be applied." |
521 | msgstr "O valor será aplicado." | 526 | msgstr "O valor será aplicado." |
522 | 527 | ||
523 | -#: dialogs.py:61 | 528 | +#: dialogs.py:69 |
524 | msgid "Value will not be applied." | 529 | msgid "Value will not be applied." |
525 | msgstr "O valor não será aplicado." | 530 | msgstr "O valor não será aplicado." |
526 | 531 | ||
527 | -#: dialogs.py:95 | 532 | +#: dialogs.py:103 |
528 | msgid "" | 533 | msgid "" |
529 | -"InVesalius is running on a 32-bit operating system or has insufficient memory. \n" | 534 | +"InVesalius is running on a 32-bit operating system or has insufficient " |
535 | +"memory. \n" | ||
530 | "If you want to work with 3D surfaces or volume rendering, \n" | 536 | "If you want to work with 3D surfaces or volume rendering, \n" |
531 | "it is recommended to reduce the medical images resolution." | 537 | "it is recommended to reduce the medical images resolution." |
532 | msgstr "" | 538 | msgstr "" |
533 | -"O InVesalius está sendo executado sobre um sistema operacional de 32 bits ou não dispõe de memória suficiente. \n" | 539 | +"O InVesalius está sendo executado sobre um sistema operacional de 32 bits ou " |
540 | +"não dispõe de memória suficiente. \n" | ||
534 | "Se você deseja trabalhar com superfícies 3D ou renderização volumétrica, \n" | 541 | "Se você deseja trabalhar com superfícies 3D ou renderização volumétrica, \n" |
535 | "recomenda-se diminuir a resolução das imagens médicas." | 542 | "recomenda-se diminuir a resolução das imagens médicas." |
536 | 543 | ||
537 | -#: dialogs.py:109 | 544 | +#: dialogs.py:117 |
538 | #, fuzzy | 545 | #, fuzzy |
539 | msgid "Percentage of original resolution" | 546 | msgid "Percentage of original resolution" |
540 | msgstr "Porcentagem da resolução original" | 547 | msgstr "Porcentagem da resolução original" |
541 | 548 | ||
542 | -#: dialogs.py:155 | 549 | +#: dialogs.py:163 |
543 | msgid "Loading DICOM files" | 550 | msgid "Loading DICOM files" |
544 | msgstr "Carregando arquivos DICOM" | 551 | msgstr "Carregando arquivos DICOM" |
545 | 552 | ||
546 | -#: dialogs.py:200 | 553 | +#: dialogs.py:208 |
547 | msgid "Open InVesalius 3 project..." | 554 | msgid "Open InVesalius 3 project..." |
548 | msgstr "Abrir projeto do InVesalius 3" | 555 | msgstr "Abrir projeto do InVesalius 3" |
549 | 556 | ||
550 | -#: dialogs.py:228 | 557 | +#: dialogs.py:236 |
551 | msgid "Open Analyze file..." | 558 | msgid "Open Analyze file..." |
552 | msgstr "Abrir arquivo Analyze..." | 559 | msgstr "Abrir arquivo Analyze..." |
553 | 560 | ||
554 | -#: dialogs.py:266 | 561 | +#: dialogs.py:274 |
555 | msgid "Choose a DICOM folder:" | 562 | msgid "Choose a DICOM folder:" |
556 | msgstr "Selecione uma pasta DICOM:" | 563 | msgstr "Selecione uma pasta DICOM:" |
557 | 564 | ||
558 | -#: dialogs.py:297 | 565 | +#: dialogs.py:305 frame.py:485 |
559 | msgid "Save project as..." | 566 | msgid "Save project as..." |
560 | msgstr "Salvar projeto como..." | 567 | msgstr "Salvar projeto como..." |
561 | 568 | ||
562 | -#: dialogs.py:300 | 569 | +#: dialogs.py:308 |
563 | msgid "InVesalius project (*.inv3)|*.inv3" | 570 | msgid "InVesalius project (*.inv3)|*.inv3" |
564 | msgstr "Projeto do InVesalius (*.inv3)|*.inv3" | 571 | msgstr "Projeto do InVesalius (*.inv3)|*.inv3" |
565 | 572 | ||
566 | -#: dialogs.py:363 dialogs.py:641 dialogs.py:666 | 573 | +#: dialogs.py:371 dialogs.py:649 dialogs.py:674 |
567 | #, python-format | 574 | #, python-format |
568 | msgid "" | 575 | msgid "" |
569 | "The project %s has been modified.\n" | 576 | "The project %s has been modified.\n" |
@@ -572,80 +579,79 @@ msgstr "" | @@ -572,80 +579,79 @@ msgstr "" | ||
572 | "O projeto %s foi modificado.\n" | 579 | "O projeto %s foi modificado.\n" |
573 | " Deseja salvar as alterações?" | 580 | " Deseja salvar as alterações?" |
574 | 581 | ||
575 | -#: dialogs.py:377 | 582 | +#: dialogs.py:385 |
576 | #, python-format | 583 | #, python-format |
577 | msgid "%s is an empty folder." | 584 | msgid "%s is an empty folder." |
578 | msgstr "%s é uma pasta vazia." | 585 | msgstr "%s é uma pasta vazia." |
579 | 586 | ||
580 | -#: dialogs.py:390 | 587 | +#: dialogs.py:398 |
581 | msgid "There are no DICOM files in the selected folder." | 588 | msgid "There are no DICOM files in the selected folder." |
582 | msgstr "Não há arquivos DICOM na pasta selecionada." | 589 | msgstr "Não há arquivos DICOM na pasta selecionada." |
583 | 590 | ||
584 | -#: dialogs.py:401 | 591 | +#: dialogs.py:409 |
585 | msgid "A mask is needed to create a surface." | 592 | msgid "A mask is needed to create a surface." |
586 | msgstr "É necessário ter uma máscara para criar uma superfície." | 593 | msgstr "É necessário ter uma máscara para criar uma superfície." |
587 | 594 | ||
588 | -#: dialogs.py:412 | 595 | +#: dialogs.py:420 |
589 | msgid "No mask was selected for removal." | 596 | msgid "No mask was selected for removal." |
590 | msgstr "Nenhuma máscara foi selecionada para remoção." | 597 | msgstr "Nenhuma máscara foi selecionada para remoção." |
591 | 598 | ||
592 | -#: dialogs.py:423 | 599 | +#: dialogs.py:431 |
593 | msgid "No surface was selected for removal." | 600 | msgid "No surface was selected for removal." |
594 | msgstr "Nenhuma superfície foi selecionada para remoção." | 601 | msgstr "Nenhuma superfície foi selecionada para remoção." |
595 | 602 | ||
596 | -#: dialogs.py:435 | 603 | +#: dialogs.py:443 |
597 | msgid "No measure was selected for removal." | 604 | msgid "No measure was selected for removal." |
598 | msgstr "Nenhum medida foi selecionada para remoção." | 605 | msgstr "Nenhum medida foi selecionada para remoção." |
599 | 606 | ||
600 | -#: dialogs.py:446 | 607 | +#: dialogs.py:454 |
601 | msgid "No mask was selected for duplication." | 608 | msgid "No mask was selected for duplication." |
602 | msgstr "Nenhuma máscara foi selecionada para duplicação." | 609 | msgstr "Nenhuma máscara foi selecionada para duplicação." |
603 | 610 | ||
604 | -#: dialogs.py:459 | 611 | +#: dialogs.py:467 |
605 | msgid "No surface was selected for duplication." | 612 | msgid "No surface was selected for duplication." |
606 | msgstr "Nenhuma superície foi selecionada para duplicação." | 613 | msgstr "Nenhuma superície foi selecionada para duplicação." |
607 | 614 | ||
608 | -#: dialogs.py:505 | 615 | +#: dialogs.py:513 |
609 | msgid "New mask name:" | 616 | msgid "New mask name:" |
610 | msgstr "Nome da nova máscara:" | 617 | msgstr "Nome da nova máscara:" |
611 | 618 | ||
612 | -#: dialogs.py:509 | 619 | +#: dialogs.py:517 |
613 | msgid "Name the mask to be created" | 620 | msgid "Name the mask to be created" |
614 | msgstr "Nome da máscara a ser criada" | 621 | msgstr "Nome da máscara a ser criada" |
615 | 622 | ||
616 | -#: dialogs.py:516 | 623 | +#: dialogs.py:524 |
617 | msgid "Threshold preset:" | 624 | msgid "Threshold preset:" |
618 | msgstr "Pré-ajuste de limiar:" | 625 | msgstr "Pré-ajuste de limiar:" |
619 | 626 | ||
620 | -#: dialogs.py:603 presets.py:44 presets.py:62 presets.py:117 presets.py:148 | ||
621 | -#: task_slice.py:421 task_slice.py:423 task_slice.py:435 task_slice.py:437 | ||
622 | -#: task_slice.py:473 task_slice.py:476 | 627 | +#: dialogs.py:611 presets.py:44 presets.py:62 presets.py:117 presets.py:148 |
628 | +#: task_slice.py:431 task_slice.py:433 task_slice.py:445 task_slice.py:447 | ||
629 | +#: task_slice.py:483 task_slice.py:486 | ||
623 | msgid "Custom" | 630 | msgid "Custom" |
624 | msgstr "Personalizado" | 631 | msgstr "Personalizado" |
625 | 632 | ||
626 | -#: dialogs.py:618 | 633 | +#: dialogs.py:626 |
627 | #, python-format | 634 | #, python-format |
628 | msgid "%s does not exist." | 635 | msgid "%s does not exist." |
629 | msgstr "%s não existe." | 636 | msgstr "%s não existe." |
630 | 637 | ||
631 | -#: dialogs.py:629 | 638 | +#: dialogs.py:637 |
632 | msgid "Please, provide more than one DICOM file for 3D reconstruction" | 639 | msgid "Please, provide more than one DICOM file for 3D reconstruction" |
633 | msgstr "São necessários mais arquivos DICOM para a reconstrução 3D." | 640 | msgstr "São necessários mais arquivos DICOM para a reconstrução 3D." |
634 | 641 | ||
635 | -#: dialogs.py:690 | 642 | +#: dialogs.py:698 |
636 | #, fuzzy | 643 | #, fuzzy |
637 | msgid "(c) 2007-2012 Renato Archer Information Technology Center - CTI" | 644 | msgid "(c) 2007-2012 Renato Archer Information Technology Center - CTI" |
638 | msgstr "(r) 2007-2012 Centro de Tecnologia da Informação Renato Archer - CTI" | 645 | msgstr "(r) 2007-2012 Centro de Tecnologia da Informação Renato Archer - CTI" |
639 | 646 | ||
640 | -#: dialogs.py:691 | 647 | +#: dialogs.py:699 |
641 | #, fuzzy | 648 | #, fuzzy |
642 | msgid "" | 649 | msgid "" |
643 | "InVesalius is a medical imaging program for 3D reconstruction. It uses a " | 650 | "InVesalius is a medical imaging program for 3D reconstruction. It uses a " |
644 | "sequence of 2D DICOM image files acquired with CT or MRI scanners. " | 651 | "sequence of 2D DICOM image files acquired with CT or MRI scanners. " |
645 | -"InVesalius allows exporting 3D volumes or surfaces as STL files for " | ||
646 | -"creating physical models of a patient's anatomy using rapid prototyping " | ||
647 | -"technologies. The software is supported by CTI, CNPq and the Brazilian " | ||
648 | -"Ministry of Health" | 652 | +"InVesalius allows exporting 3D volumes or surfaces as STL files for creating " |
653 | +"physical models of a patient's anatomy using rapid prototyping technologies. " | ||
654 | +"The software is supported by CTI, CNPq and the Brazilian Ministry of Health" | ||
649 | msgstr "" | 655 | msgstr "" |
650 | "InVesalius é um programa para reconstrução 3D de imagens médicas a partir de " | 656 | "InVesalius é um programa para reconstrução 3D de imagens médicas a partir de " |
651 | "uma sequência de imagens DICOM 2D, obtidas com equipamentos de TC ou RM. O " | 657 | "uma sequência de imagens DICOM 2D, obtidas com equipamentos de TC ou RM. O " |
@@ -653,62 +659,110 @@ msgstr "" | @@ -653,62 +659,110 @@ msgstr "" | ||
653 | "STL, para criação de réplicas físicas de estruturas anatômicas do paciente, " | 659 | "STL, para criação de réplicas físicas de estruturas anatômicas do paciente, " |
654 | "por meio de tecnologias de prototipagem rápida." | 660 | "por meio de tecnologias de prototipagem rápida." |
655 | 661 | ||
656 | -#: dialogs.py:699 | 662 | +#: dialogs.py:707 |
657 | msgid "GNU GPL (General Public License) version 2" | 663 | msgid "GNU GPL (General Public License) version 2" |
658 | msgstr "GNU GPL (Licença Pública Geral) versão 2" | 664 | msgstr "GNU GPL (Licença Pública Geral) versão 2" |
659 | 665 | ||
660 | -#: dialogs.py:731 | 666 | +#: dialogs.py:739 |
661 | msgid "Save raycasting preset as:" | 667 | msgid "Save raycasting preset as:" |
662 | msgstr "Salvar pré-ajuste de raycasting como:" | 668 | msgstr "Salvar pré-ajuste de raycasting como:" |
663 | 669 | ||
664 | -#: dialogs.py:774 | 670 | +#: dialogs.py:782 dialogs.py:1037 |
665 | msgid "New surface name:" | 671 | msgid "New surface name:" |
666 | msgstr "Nome da nova superfície:" | 672 | msgstr "Nome da nova superfície:" |
667 | 673 | ||
668 | -#: dialogs.py:778 | 674 | +#: dialogs.py:786 dialogs.py:1041 |
669 | msgid "Name the surface to be created" | 675 | msgid "Name the surface to be created" |
670 | msgstr "Nome da superfície a ser criada" | 676 | msgstr "Nome da superfície a ser criada" |
671 | 677 | ||
672 | -#: dialogs.py:785 | 678 | +#: dialogs.py:793 dialogs.py:1048 |
673 | msgid "Mask of reference:" | 679 | msgid "Mask of reference:" |
674 | msgstr "Máscara de referência:" | 680 | msgstr "Máscara de referência:" |
675 | 681 | ||
676 | -#: dialogs.py:803 | 682 | +#: dialogs.py:811 dialogs.py:1066 |
677 | msgid "Surface quality:" | 683 | msgid "Surface quality:" |
678 | msgstr "Qualidade da superfície:" | 684 | msgstr "Qualidade da superfície:" |
679 | 685 | ||
680 | -#: dialogs.py:832 | 686 | +#: dialogs.py:840 dialogs.py:1094 |
681 | msgid "Fill holes" | 687 | msgid "Fill holes" |
682 | msgstr "Preencher buracos" | 688 | msgstr "Preencher buracos" |
683 | 689 | ||
684 | -#: dialogs.py:835 | 690 | +#: dialogs.py:843 dialogs.py:1097 |
685 | msgid "Keep largest region" | 691 | msgid "Keep largest region" |
686 | msgstr "Manter maior região" | 692 | msgstr "Manter maior região" |
687 | 693 | ||
688 | -#: dialogs.py:869 | 694 | +#: dialogs.py:881 |
689 | msgid "BMP image" | 695 | msgid "BMP image" |
690 | msgstr "Imagem BMP" | 696 | msgstr "Imagem BMP" |
691 | 697 | ||
692 | -#: dialogs.py:870 | 698 | +#: dialogs.py:882 |
693 | msgid "JPG image" | 699 | msgid "JPG image" |
694 | msgstr "Imagem JPG" | 700 | msgstr "Imagem JPG" |
695 | 701 | ||
696 | -#: dialogs.py:871 | 702 | +#: dialogs.py:883 |
697 | msgid "PNG image" | 703 | msgid "PNG image" |
698 | msgstr "Imagem PNG" | 704 | msgstr "Imagem PNG" |
699 | 705 | ||
700 | -#: dialogs.py:872 | 706 | +#: dialogs.py:884 |
701 | msgid "PostScript document" | 707 | msgid "PostScript document" |
702 | msgstr "Documento PostScript" | 708 | msgstr "Documento PostScript" |
703 | 709 | ||
704 | -#: dialogs.py:873 | 710 | +#: dialogs.py:885 |
705 | msgid "POV-Ray file" | 711 | msgid "POV-Ray file" |
706 | msgstr "Arquivo POV-Ray" | 712 | msgstr "Arquivo POV-Ray" |
707 | 713 | ||
708 | -#: dialogs.py:874 | 714 | +#: dialogs.py:886 |
709 | msgid "TIFF image" | 715 | msgid "TIFF image" |
710 | msgstr "Imagem TIFF" | 716 | msgstr "Imagem TIFF" |
711 | 717 | ||
718 | +#: dialogs.py:931 | ||
719 | +msgid "Surface generation options" | ||
720 | +msgstr "Opções de geração de superfície" | ||
721 | + | ||
722 | +#: dialogs.py:961 | ||
723 | +msgid "Surface creation" | ||
724 | +msgstr "Criação de superfície" | ||
725 | + | ||
726 | +#: dialogs.py:988 | ||
727 | +msgid "Surface creation options" | ||
728 | +msgstr "Opções de criação de superfície" | ||
729 | + | ||
730 | +#: dialogs.py:994 | ||
731 | +msgid "Surface creation method" | ||
732 | +msgstr "Método de criação de superfície" | ||
733 | + | ||
734 | +#: dialogs.py:1142 | ||
735 | +msgid "Context aware options" | ||
736 | +msgstr "Opções" | ||
737 | + | ||
738 | +#: dialogs.py:1158 | ||
739 | +msgid "Angle:" | ||
740 | +msgstr "Ângulo" | ||
741 | + | ||
742 | +#: dialogs.py:1160 | ||
743 | +msgid "Max. distance:" | ||
744 | +msgstr "Distância máxima" | ||
745 | + | ||
746 | +#: dialogs.py:1162 | ||
747 | +msgid "Min. weight:" | ||
748 | +msgstr "Peso mínimo" | ||
749 | + | ||
750 | +#: dialogs.py:1164 | ||
751 | +msgid "N. steps:" | ||
752 | +msgstr "Número de passos" | ||
753 | + | ||
754 | +#: dialogs.py:1183 dialogs.py:1219 dialogs.py:1265 | ||
755 | +msgid "Context aware smoothing" | ||
756 | +msgstr "" | ||
757 | + | ||
758 | +#: dialogs.py:1184 | ||
759 | +msgid "Binary" | ||
760 | +msgstr "Binário" | ||
761 | + | ||
762 | +#: dialogs.py:1202 | ||
763 | +msgid "It's not possible to use the Default method because the mask was edited" | ||
764 | +msgstr "Não é possível usar o método Padrão pois a máscara foi editada" | ||
765 | + | ||
712 | #: dicom.py:1520 dicom.py:1524 dicom.py:1526 | 766 | #: dicom.py:1520 dicom.py:1524 dicom.py:1526 |
713 | msgid "unnamed" | 767 | msgid "unnamed" |
714 | msgstr "sem_nome" | 768 | msgstr "sem_nome" |
@@ -839,6 +893,10 @@ msgstr "Sobre..." | @@ -839,6 +893,10 @@ msgstr "Sobre..." | ||
839 | msgid "File" | 893 | msgid "File" |
840 | msgstr "Arquivo" | 894 | msgstr "Arquivo" |
841 | 895 | ||
896 | +#: frame.py:568 | ||
897 | +msgid "Edit" | ||
898 | +msgstr "Editar" | ||
899 | + | ||
842 | #: frame.py:571 | 900 | #: frame.py:571 |
843 | msgid "Options" | 901 | msgid "Options" |
844 | msgstr "Opções" | 902 | msgstr "Opções" |
@@ -847,7 +905,7 @@ msgstr "Opções" | @@ -847,7 +905,7 @@ msgstr "Opções" | ||
847 | msgid "Help" | 905 | msgid "Help" |
848 | msgstr "Ajuda" | 906 | msgstr "Ajuda" |
849 | 907 | ||
850 | -#: frame.py:654 surface.py:355 surface.py:728 surface.py:729 | 908 | +#: frame.py:654 surface.py:358 surface.py:735 surface.py:736 |
851 | msgid "Ready" | 909 | msgid "Ready" |
852 | msgstr "Pronto" | 910 | msgstr "Pronto" |
853 | 911 | ||
@@ -1040,7 +1098,7 @@ msgstr "Preferências" | @@ -1040,7 +1098,7 @@ msgstr "Preferências" | ||
1040 | msgid "Visualization" | 1098 | msgid "Visualization" |
1041 | msgstr "Visualização" | 1099 | msgstr "Visualização" |
1042 | 1100 | ||
1043 | -#: preferences.py:42 | 1101 | +#: preferences.py:42 preferences.py:147 |
1044 | msgid "Language" | 1102 | msgid "Language" |
1045 | msgstr "Idioma" | 1103 | msgstr "Idioma" |
1046 | 1104 | ||
@@ -1060,6 +1118,14 @@ msgstr "Renderização volumétrica" | @@ -1060,6 +1118,14 @@ msgstr "Renderização volumétrica" | ||
1060 | msgid "Rendering" | 1118 | msgid "Rendering" |
1061 | msgstr "Renderização" | 1119 | msgstr "Renderização" |
1062 | 1120 | ||
1121 | +#: preferences.py:150 | ||
1122 | +msgid "" | ||
1123 | +"Language settings will take effect \n" | ||
1124 | +" the next time you open InVesalius." | ||
1125 | +msgstr "" | ||
1126 | +"Configurações de idioma terão efeito \n" | ||
1127 | +"na próxima vez em que você abrir o InVesalius." | ||
1128 | + | ||
1063 | #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 | 1129 | #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 |
1064 | msgid "Soft Tissue" | 1130 | msgid "Soft Tissue" |
1065 | msgstr "Tecidos moles" | 1131 | msgstr "Tecidos moles" |
@@ -1120,8 +1186,8 @@ msgstr "Brilho e contraste" | @@ -1120,8 +1186,8 @@ msgstr "Brilho e contraste" | ||
1120 | msgid "Pseudo color" | 1186 | msgid "Pseudo color" |
1121 | msgstr "Pseudo cor" | 1187 | msgstr "Pseudo cor" |
1122 | 1188 | ||
1123 | -#: surface.py:418 surface.py:508 surface.py:526 surface.py:548 surface.py:576 | ||
1124 | -#: surface.py:598 surface.py:617 surface.py:631 surface.py:648 | 1189 | +#: surface.py:419 surface.py:510 surface.py:528 surface.py:554 surface.py:583 |
1190 | +#: surface.py:605 surface.py:624 surface.py:638 surface.py:655 | ||
1125 | msgid "Creating 3D surface..." | 1191 | msgid "Creating 3D surface..." |
1126 | msgstr "Criando superfície 3D..." | 1192 | msgstr "Criando superfície 3D..." |
1127 | 1193 | ||
@@ -1189,31 +1255,31 @@ msgstr "Criar superfície" | @@ -1189,31 +1255,31 @@ msgstr "Criar superfície" | ||
1189 | msgid "Overwrite last surface" | 1255 | msgid "Overwrite last surface" |
1190 | msgstr "Sobrescrever anterior" | 1256 | msgstr "Sobrescrever anterior" |
1191 | 1257 | ||
1192 | -#: task_slice.py:228 | 1258 | +#: task_slice.py:238 |
1193 | msgid "Mask properties" | 1259 | msgid "Mask properties" |
1194 | msgstr "Propriedades da máscara" | 1260 | msgstr "Propriedades da máscara" |
1195 | 1261 | ||
1196 | -#: task_slice.py:236 | 1262 | +#: task_slice.py:246 |
1197 | msgid "Advanced editing tools" | 1263 | msgid "Advanced editing tools" |
1198 | msgstr "Ferramentas avançadas de edição" | 1264 | msgstr "Ferramentas avançadas de edição" |
1199 | 1265 | ||
1200 | -#: task_slice.py:320 | 1266 | +#: task_slice.py:330 |
1201 | msgid "Set predefined or manual threshold:" | 1267 | msgid "Set predefined or manual threshold:" |
1202 | msgstr "Selecione ou edite valor de limiar:" | 1268 | msgstr "Selecione ou edite valor de limiar:" |
1203 | 1269 | ||
1204 | -#: task_slice.py:528 | 1270 | +#: task_slice.py:538 |
1205 | msgid "Choose brush type, size or operation:" | 1271 | msgid "Choose brush type, size or operation:" |
1206 | msgstr "Tipo, tamanho e operação do pincel:" | 1272 | msgstr "Tipo, tamanho e operação do pincel:" |
1207 | 1273 | ||
1208 | -#: task_slice.py:534 | 1274 | +#: task_slice.py:544 |
1209 | msgid "Circle" | 1275 | msgid "Circle" |
1210 | msgstr "Círculo" | 1276 | msgstr "Círculo" |
1211 | 1277 | ||
1212 | -#: task_slice.py:538 | 1278 | +#: task_slice.py:548 |
1213 | msgid "Square" | 1279 | msgid "Square" |
1214 | msgstr "Quadrado" | 1280 | msgstr "Quadrado" |
1215 | 1281 | ||
1216 | -#: task_slice.py:574 | 1282 | +#: task_slice.py:584 |
1217 | msgid "Brush threshold range:" | 1283 | msgid "Brush threshold range:" |
1218 | msgstr "Limiar do pincel:" | 1284 | msgstr "Limiar do pincel:" |
1219 | 1285 | ||
@@ -1225,56 +1291,53 @@ msgstr "Criar superfície 3D baseada em máscara" | @@ -1225,56 +1291,53 @@ msgstr "Criar superfície 3D baseada em máscara" | ||
1225 | msgid "Next step" | 1291 | msgid "Next step" |
1226 | msgstr "Próximo passo" | 1292 | msgstr "Próximo passo" |
1227 | 1293 | ||
1228 | -#: task_surface.py:134 | ||
1229 | -msgid "InVesalius 3 - New surface" | ||
1230 | -msgstr "InVesalius 3 - Nova superfície" | ||
1231 | - | ||
1232 | -#: task_surface.py:207 | 1294 | +#: task_surface.py:213 |
1233 | msgid "Surface properties" | 1295 | msgid "Surface properties" |
1234 | msgstr "Propriedades da superfície" | 1296 | msgstr "Propriedades da superfície" |
1235 | 1297 | ||
1236 | -#: task_surface.py:214 | 1298 | +#: task_surface.py:220 |
1237 | msgid "Advanced options" | 1299 | msgid "Advanced options" |
1238 | msgstr "Opções avançadas" | 1300 | msgstr "Opções avançadas" |
1239 | 1301 | ||
1240 | -#: task_surface.py:246 | 1302 | +#: task_surface.py:252 |
1241 | msgid "Automatically select largest disconnected region and create new surface" | 1303 | msgid "Automatically select largest disconnected region and create new surface" |
1242 | msgstr "" | 1304 | msgstr "" |
1243 | "Seleção automática de maior região desconexa e criação de nova superfície" | 1305 | "Seleção automática de maior região desconexa e criação de nova superfície" |
1244 | 1306 | ||
1245 | -#: task_surface.py:247 | 1307 | +#: task_surface.py:253 |
1246 | msgid "Select largest surface" | 1308 | msgid "Select largest surface" |
1247 | msgstr "Separar maior superfície" | 1309 | msgstr "Separar maior superfície" |
1248 | 1310 | ||
1249 | -#: task_surface.py:255 | 1311 | +#: task_surface.py:261 |
1250 | msgid "" | 1312 | msgid "" |
1251 | -"Automatically select disconnected regions and create a new surface per " | ||
1252 | -"region" | 1313 | +"Automatically select disconnected regions and create a new surface per region" |
1253 | msgstr "" | 1314 | msgstr "" |
1254 | "Seleção automática de regiões desconexas e criação de superfícies " | 1315 | "Seleção automática de regiões desconexas e criação de superfícies " |
1255 | "correspondentes" | 1316 | "correspondentes" |
1256 | 1317 | ||
1257 | -#: task_surface.py:256 | 1318 | +#: task_surface.py:262 |
1258 | msgid "Split all disconnected surfaces" | 1319 | msgid "Split all disconnected surfaces" |
1259 | msgstr "Separar todas regiões desconexas" | 1320 | msgstr "Separar todas regiões desconexas" |
1260 | 1321 | ||
1261 | -#: task_surface.py:264 | 1322 | +#: task_surface.py:270 |
1262 | msgid "Manually insert seeds of regions of interest and create a new surface" | 1323 | msgid "Manually insert seeds of regions of interest and create a new surface" |
1263 | -msgstr "Selecionar manualmente regiões de interesse por meio de sementes e criar uma nova superfície" | 1324 | +msgstr "" |
1325 | +"Selecionar manualmente regiões de interesse por meio de sementes e criar uma " | ||
1326 | +"nova superfície" | ||
1264 | 1327 | ||
1265 | -#: task_surface.py:265 | 1328 | +#: task_surface.py:271 |
1266 | msgid "Select regions of interest..." | 1329 | msgid "Select regions of interest..." |
1267 | msgstr "Selecionar regiões de interesse..." | 1330 | msgstr "Selecionar regiões de interesse..." |
1268 | 1331 | ||
1269 | -#: task_surface.py:402 | 1332 | +#: task_surface.py:408 |
1270 | msgid "Transparency:" | 1333 | msgid "Transparency:" |
1271 | msgstr "Transparência:" | 1334 | msgstr "Transparência:" |
1272 | 1335 | ||
1273 | -#: task_surface.py:538 | 1336 | +#: task_surface.py:544 |
1274 | msgid "Decimate resolution:" | 1337 | msgid "Decimate resolution:" |
1275 | msgstr "Resolução de decimação:" | 1338 | msgstr "Resolução de decimação:" |
1276 | 1339 | ||
1277 | -#: task_surface.py:548 | 1340 | +#: task_surface.py:554 |
1278 | msgid "Smooth iterations:" | 1341 | msgid "Smooth iterations:" |
1279 | msgstr "Iterações de suavização:" | 1342 | msgstr "Iterações de suavização:" |
1280 | 1343 |
po/ro.po
@@ -10,7 +10,7 @@ msgid "" | @@ -10,7 +10,7 @@ msgid "" | ||
10 | msgstr "" | 10 | msgstr "" |
11 | "Project-Id-Version: InVesalius\n" | 11 | "Project-Id-Version: InVesalius\n" |
12 | "Report-Msgid-Bugs-To: \n" | 12 | "Report-Msgid-Bugs-To: \n" |
13 | -"POT-Creation-Date: 2012-09-06 10:54-0300\n" | 13 | +"POT-Creation-Date: 2012-09-11 10:38-0300\n" |
14 | "PO-Revision-Date: 2011-10-30 20:58+0000\n" | 14 | "PO-Revision-Date: 2011-10-30 20:58+0000\n" |
15 | "Last-Translator: Florin Putura <puturaflorin@yahoo.com>\n" | 15 | "Last-Translator: Florin Putura <puturaflorin@yahoo.com>\n" |
16 | "Language-Team: Romanian (http://www.transifex.com/projects/p/invesalius/" | 16 | "Language-Team: Romanian (http://www.transifex.com/projects/p/invesalius/" |
@@ -40,13 +40,12 @@ msgstr "" | @@ -40,13 +40,12 @@ msgstr "" | ||
40 | msgid "M %d" | 40 | msgid "M %d" |
41 | msgstr "M %d" | 41 | msgstr "M %d" |
42 | 42 | ||
43 | -#: constants.py:41 | ||
44 | -#, fuzzy | ||
45 | -msgid "Off" | 43 | +#: constants.py:41 constants.py:369 constants.py:371 |
44 | +msgid " Off" | ||
46 | msgstr "Închis" | 45 | msgstr "Închis" |
47 | 46 | ||
48 | #: constants.py:42 | 47 | #: constants.py:42 |
49 | -msgid "RedBlue" | 48 | +msgid "Red-blue" |
50 | msgstr "" | 49 | msgstr "" |
51 | 50 | ||
52 | #: constants.py:43 | 51 | #: constants.py:43 |
@@ -178,7 +177,8 @@ msgid "Abdomen" | @@ -178,7 +177,8 @@ msgid "Abdomen" | ||
178 | msgstr "Abdomen" | 177 | msgstr "Abdomen" |
179 | 178 | ||
180 | #: constants.py:277 | 179 | #: constants.py:277 |
181 | -msgid "Brain Posterior Fossa" | 180 | +#, fuzzy |
181 | +msgid "Brain posterior fossa" | ||
182 | msgstr "Cavitatea Craniană Posterioară" | 182 | msgstr "Cavitatea Craniană Posterioară" |
183 | 183 | ||
184 | #: constants.py:278 | 184 | #: constants.py:278 |
@@ -195,11 +195,13 @@ msgid "Emphysema" | @@ -195,11 +195,13 @@ msgid "Emphysema" | ||
195 | msgstr "Emfizemul pulmonar" | 195 | msgstr "Emfizemul pulmonar" |
196 | 196 | ||
197 | #: constants.py:281 | 197 | #: constants.py:281 |
198 | -msgid "Ischemia - Hard Non Contrast" | 198 | +#, fuzzy |
199 | +msgid "Ischemia - Hard, non contrast" | ||
199 | msgstr "Ischemie - Puternic Fără Contrast" | 200 | msgstr "Ischemie - Puternic Fără Contrast" |
200 | 201 | ||
201 | #: constants.py:282 | 202 | #: constants.py:282 |
202 | -msgid "Ischemia - Soft Non Contrast" | 203 | +#, fuzzy |
204 | +msgid "Ischemia - Soft, non contrast" | ||
203 | msgstr "Ischemie - Slab Fără Contrast" | 205 | msgstr "Ischemie - Slab Fără Contrast" |
204 | 206 | ||
205 | #: constants.py:283 | 207 | #: constants.py:283 |
@@ -283,7 +285,8 @@ msgid "Bone + Skin II" | @@ -283,7 +285,8 @@ msgid "Bone + Skin II" | ||
283 | msgstr "Os + Piele II" | 285 | msgstr "Os + Piele II" |
284 | 286 | ||
285 | #: constants.py:323 | 287 | #: constants.py:323 |
286 | -msgid "Dark Bone" | 288 | +#, fuzzy |
289 | +msgid "Dark bone" | ||
287 | msgstr "Os Negru" | 290 | msgstr "Os Negru" |
288 | 291 | ||
289 | #: constants.py:324 | 292 | #: constants.py:324 |
@@ -295,27 +298,33 @@ msgid "Glossy II" | @@ -295,27 +298,33 @@ msgid "Glossy II" | ||
295 | msgstr "Lucios II" | 298 | msgstr "Lucios II" |
296 | 299 | ||
297 | #: constants.py:326 | 300 | #: constants.py:326 |
298 | -msgid "Gold Bone" | 301 | +#, fuzzy |
302 | +msgid "Gold bone" | ||
299 | msgstr "Os Aurit" | 303 | msgstr "Os Aurit" |
300 | 304 | ||
301 | #: constants.py:327 | 305 | #: constants.py:327 |
302 | -msgid "High Contrast" | 306 | +#, fuzzy |
307 | +msgid "High contrast" | ||
303 | msgstr "Contrast Mare" | 308 | msgstr "Contrast Mare" |
304 | 309 | ||
305 | #: constants.py:328 | 310 | #: constants.py:328 |
306 | -msgid "Low Contrast" | 311 | +#, fuzzy |
312 | +msgid "Low contrast" | ||
307 | msgstr "Contrast Mic" | 313 | msgstr "Contrast Mic" |
308 | 314 | ||
309 | #: constants.py:329 constants.py:336 | 315 | #: constants.py:329 constants.py:336 |
310 | -msgid "Soft on White" | 316 | +#, fuzzy |
317 | +msgid "Soft on white" | ||
311 | msgstr "Estompat albul" | 318 | msgstr "Estompat albul" |
312 | 319 | ||
313 | #: constants.py:330 | 320 | #: constants.py:330 |
314 | -msgid "Mid Contrast" | 321 | +#, fuzzy |
322 | +msgid "Mid contrast" | ||
315 | msgstr "Contrast Mediu" | 323 | msgstr "Contrast Mediu" |
316 | 324 | ||
317 | #: constants.py:331 | 325 | #: constants.py:331 |
318 | -msgid "No Shading" | 326 | +#, fuzzy |
327 | +msgid "No shading" | ||
319 | msgstr "Fără Umbră" | 328 | msgstr "Fără Umbră" |
320 | 329 | ||
321 | #: constants.py:332 | 330 | #: constants.py:332 |
@@ -323,15 +332,18 @@ msgid "Pencil" | @@ -323,15 +332,18 @@ msgid "Pencil" | ||
323 | msgstr "Creion" | 332 | msgstr "Creion" |
324 | 333 | ||
325 | #: constants.py:333 | 334 | #: constants.py:333 |
326 | -msgid "Red on White" | 335 | +#, fuzzy |
336 | +msgid "Red on white" | ||
327 | msgstr "Roșu pe Alb" | 337 | msgstr "Roșu pe Alb" |
328 | 338 | ||
329 | #: constants.py:334 | 339 | #: constants.py:334 |
330 | -msgid "Skin On Blue" | 340 | +#, fuzzy |
341 | +msgid "Skin on blue" | ||
331 | msgstr "Înveliș în Albastru" | 342 | msgstr "Înveliș în Albastru" |
332 | 343 | ||
333 | #: constants.py:335 | 344 | #: constants.py:335 |
334 | -msgid "Skin On Blue II" | 345 | +#, fuzzy |
346 | +msgid "Skin on blue II" | ||
335 | msgstr "Înveliș în Albastru II" | 347 | msgstr "Înveliș în Albastru II" |
336 | 348 | ||
337 | #: constants.py:337 | 349 | #: constants.py:337 |
@@ -347,7 +359,8 @@ msgid "Soft + Skin III" | @@ -347,7 +359,8 @@ msgid "Soft + Skin III" | ||
347 | msgstr "Estompat + Înveliș III" | 359 | msgstr "Estompat + Înveliș III" |
348 | 360 | ||
349 | #: constants.py:340 | 361 | #: constants.py:340 |
350 | -msgid "Soft On Blue" | 362 | +#, fuzzy |
363 | +msgid "Soft on blue" | ||
351 | msgstr "Estompat Albastrul" | 364 | msgstr "Estompat Albastrul" |
352 | 365 | ||
353 | #: constants.py:341 | 366 | #: constants.py:341 |
@@ -375,13 +388,10 @@ msgid "Vascular IV" | @@ -375,13 +388,10 @@ msgid "Vascular IV" | ||
375 | msgstr "Vascular IV" | 388 | msgstr "Vascular IV" |
376 | 389 | ||
377 | #: constants.py:347 | 390 | #: constants.py:347 |
378 | -msgid "Yellow Bone" | 391 | +#, fuzzy |
392 | +msgid "Yellow bone" | ||
379 | msgstr "Os Galben" | 393 | msgstr "Os Galben" |
380 | 394 | ||
381 | -#: constants.py:369 constants.py:371 | ||
382 | -msgid " Off" | ||
383 | -msgstr "Închis" | ||
384 | - | ||
385 | #: constants.py:372 volume.py:642 | 395 | #: constants.py:372 volume.py:642 |
386 | msgid "Cut plane" | 396 | msgid "Cut plane" |
387 | msgstr "Tăiere plan" | 397 | msgstr "Tăiere plan" |
@@ -428,7 +438,8 @@ msgid "Masks" | @@ -428,7 +438,8 @@ msgid "Masks" | ||
428 | msgstr "Măști" | 438 | msgstr "Măști" |
429 | 439 | ||
430 | #: data_notebook.py:64 | 440 | #: data_notebook.py:64 |
431 | -msgid "3D Surfaces" | 441 | +#, fuzzy |
442 | +msgid "3D surfaces" | ||
432 | msgstr "Suprafață 3D" | 443 | msgstr "Suprafață 3D" |
433 | 444 | ||
434 | #: data_notebook.py:65 | 445 | #: data_notebook.py:65 |
@@ -481,8 +492,9 @@ msgid "Data" | @@ -481,8 +492,9 @@ msgid "Data" | ||
481 | msgstr "Dată" | 492 | msgstr "Dată" |
482 | 493 | ||
483 | #: default_tasks.py:210 default_tasks.py:215 | 494 | #: default_tasks.py:210 default_tasks.py:215 |
484 | -msgid "InVesalius start" | ||
485 | -msgstr "Pornire InVesalius" | 495 | +#, fuzzy |
496 | +msgid "Load data" | ||
497 | +msgstr "Export date" | ||
486 | 498 | ||
487 | #: default_tasks.py:211 default_tasks.py:216 default_tasks.py:244 | 499 | #: default_tasks.py:211 default_tasks.py:216 default_tasks.py:244 |
488 | msgid "Select region of interest" | 500 | msgid "Select region of interest" |
@@ -538,14 +550,15 @@ msgstr "Valoare nu va fi aplicată" | @@ -538,14 +550,15 @@ msgstr "Valoare nu va fi aplicată" | ||
538 | 550 | ||
539 | #: dialogs.py:103 | 551 | #: dialogs.py:103 |
540 | msgid "" | 552 | msgid "" |
541 | -"Your operational system is 32bits or have low memory. \n" | ||
542 | -"If you manipulate 3D surface or volume rendering \n" | ||
543 | -"it's recommended to reduce the image resolution." | 553 | +"InVesalius is running on a 32-bit operating system or has insufficient " |
554 | +"memory. \n" | ||
555 | +"If you want to work with 3D surfaces or volume rendering, \n" | ||
556 | +"it is recommended to reduce the medical images resolution." | ||
544 | msgstr "" | 557 | msgstr "" |
545 | 558 | ||
546 | #: dialogs.py:117 | 559 | #: dialogs.py:117 |
547 | #, fuzzy | 560 | #, fuzzy |
548 | -msgid "Percentage of image resolution" | 561 | +msgid "Percentage of original resolution" |
549 | msgstr "Reducere rezoluție:" | 562 | msgstr "Reducere rezoluție:" |
550 | 563 | ||
551 | #: dialogs.py:163 | 564 | #: dialogs.py:163 |
@@ -557,14 +570,14 @@ msgid "Open InVesalius 3 project..." | @@ -557,14 +570,14 @@ msgid "Open InVesalius 3 project..." | ||
557 | msgstr "Deschide proiectul InVesalius 3:" | 570 | msgstr "Deschide proiectul InVesalius 3:" |
558 | 571 | ||
559 | #: dialogs.py:236 | 572 | #: dialogs.py:236 |
560 | -msgid "Open Analyze File..." | 573 | +msgid "Open Analyze file..." |
561 | msgstr "" | 574 | msgstr "" |
562 | 575 | ||
563 | #: dialogs.py:274 | 576 | #: dialogs.py:274 |
564 | msgid "Choose a DICOM folder:" | 577 | msgid "Choose a DICOM folder:" |
565 | msgstr "Alege un fișier DICOM:" | 578 | msgstr "Alege un fișier DICOM:" |
566 | 579 | ||
567 | -#: dialogs.py:305 | 580 | +#: dialogs.py:305 frame.py:485 |
568 | msgid "Save project as..." | 581 | msgid "Save project as..." |
569 | msgstr "Salvează proiectul ca..." | 582 | msgstr "Salvează proiectul ca..." |
570 | 583 | ||
@@ -582,36 +595,43 @@ msgstr "" | @@ -582,36 +595,43 @@ msgstr "" | ||
582 | "Salvezi schimbările?" | 595 | "Salvezi schimbările?" |
583 | 596 | ||
584 | #: dialogs.py:385 | 597 | #: dialogs.py:385 |
585 | -#, python-format | ||
586 | -msgid "%s is an empty directory." | 598 | +#, fuzzy, python-format |
599 | +msgid "%s is an empty folder." | ||
587 | msgstr "%s este un director gol." | 600 | msgstr "%s este un director gol." |
588 | 601 | ||
589 | #: dialogs.py:398 | 602 | #: dialogs.py:398 |
590 | -msgid "There are no DICOM files in the selected directory." | 603 | +#, fuzzy |
604 | +msgid "There are no DICOM files in the selected folder." | ||
591 | msgstr "Nu există fișiere DICOM în directorul selectat." | 605 | msgstr "Nu există fișiere DICOM în directorul selectat." |
592 | 606 | ||
593 | #: dialogs.py:409 | 607 | #: dialogs.py:409 |
594 | -msgid "There is no mask of reference to create a surface." | 608 | +#, fuzzy |
609 | +msgid "A mask is needed to create a surface." | ||
595 | msgstr "Nu există mască sau referință pentru a creea o suprafață." | 610 | msgstr "Nu există mască sau referință pentru a creea o suprafață." |
596 | 611 | ||
597 | #: dialogs.py:420 | 612 | #: dialogs.py:420 |
598 | -msgid "No masks were selected for removal." | 613 | +#, fuzzy |
614 | +msgid "No mask was selected for removal." | ||
599 | msgstr "Nu a fost selectată nici o mască pentru a fi îndepărtată." | 615 | msgstr "Nu a fost selectată nici o mască pentru a fi îndepărtată." |
600 | 616 | ||
601 | #: dialogs.py:431 | 617 | #: dialogs.py:431 |
602 | -msgid "No surfaces were selected for removal." | 618 | +#, fuzzy |
619 | +msgid "No surface was selected for removal." | ||
603 | msgstr "Nu a fost selectată nici o suprafață pentru a fi îndepărtată." | 620 | msgstr "Nu a fost selectată nici o suprafață pentru a fi îndepărtată." |
604 | 621 | ||
605 | #: dialogs.py:443 | 622 | #: dialogs.py:443 |
606 | -msgid "No measures were selected for removal." | 623 | +#, fuzzy |
624 | +msgid "No measure was selected for removal." | ||
607 | msgstr "Nu a fost selectată nici o măsură pentru a fi îndepărtată." | 625 | msgstr "Nu a fost selectată nici o măsură pentru a fi îndepărtată." |
608 | 626 | ||
609 | #: dialogs.py:454 | 627 | #: dialogs.py:454 |
610 | -msgid "No masks were selected for duplication." | 628 | +#, fuzzy |
629 | +msgid "No mask was selected for duplication." | ||
611 | msgstr "Nu a fost selectată nici o mască pentru a fi duplicată." | 630 | msgstr "Nu a fost selectată nici o mască pentru a fi duplicată." |
612 | 631 | ||
613 | #: dialogs.py:467 | 632 | #: dialogs.py:467 |
614 | -msgid "No surfaces were selected for duplication." | 633 | +#, fuzzy |
634 | +msgid "No surface was selected for duplication." | ||
615 | msgstr "Nu a fost selectată nici o suprafață pentru a fi duplicată." | 635 | msgstr "Nu a fost selectată nici o suprafață pentru a fi duplicată." |
616 | 636 | ||
617 | #: dialogs.py:513 | 637 | #: dialogs.py:513 |
@@ -644,7 +664,7 @@ msgstr "" | @@ -644,7 +664,7 @@ msgstr "" | ||
644 | 664 | ||
645 | #: dialogs.py:698 | 665 | #: dialogs.py:698 |
646 | #, fuzzy | 666 | #, fuzzy |
647 | -msgid "(c) 2007-2012 Renato Archer Information Technology Centre - CTI" | 667 | +msgid "(c) 2007-2012 Renato Archer Information Technology Center - CTI" |
648 | msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" | 668 | msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" |
649 | 669 | ||
650 | #: dialogs.py:699 | 670 | #: dialogs.py:699 |
@@ -652,10 +672,9 @@ msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" | @@ -652,10 +672,9 @@ msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" | ||
652 | msgid "" | 672 | msgid "" |
653 | "InVesalius is a medical imaging program for 3D reconstruction. It uses a " | 673 | "InVesalius is a medical imaging program for 3D reconstruction. It uses a " |
654 | "sequence of 2D DICOM image files acquired with CT or MRI scanners. " | 674 | "sequence of 2D DICOM image files acquired with CT or MRI scanners. " |
655 | -"InVesalius allows for the export of 3D volumes or surfaces as STL files for " | ||
656 | -"creating physical models of a patient's anatomy using rapid prototyping " | ||
657 | -"technologies. The software has the support of the CTI, CNPq and Ministry of " | ||
658 | -"Health" | 675 | +"InVesalius allows exporting 3D volumes or surfaces as STL files for creating " |
676 | +"physical models of a patient's anatomy using rapid prototyping technologies. " | ||
677 | +"The software is supported by CTI, CNPq and the Brazilian Ministry of Health" | ||
659 | msgstr "" | 678 | msgstr "" |
660 | "InVesalius este un program de imagistică medicală pentru reconstrucție 3D. " | 679 | "InVesalius este un program de imagistică medicală pentru reconstrucție 3D. " |
661 | "Acest program utilizează o secvenţă de fişiere imagine 2D DICOM obținute " | 680 | "Acest program utilizează o secvenţă de fişiere imagine 2D DICOM obținute " |
@@ -802,8 +821,8 @@ msgid "Image" | @@ -802,8 +821,8 @@ msgid "Image" | ||
802 | msgstr "Imagine" | 821 | msgstr "Imagine" |
803 | 822 | ||
804 | #: dicom_preview_panel.py:409 | 823 | #: dicom_preview_panel.py:409 |
805 | -#, python-format | ||
806 | -msgid "%d Images" | 824 | +#, fuzzy, python-format |
825 | +msgid "%d images" | ||
807 | msgstr "%d Imagini" | 826 | msgstr "%d Imagini" |
808 | 827 | ||
809 | #: dicom_preview_panel.py:534 dicom_preview_panel.py:555 | 828 | #: dicom_preview_panel.py:534 dicom_preview_panel.py:555 |
@@ -833,23 +852,22 @@ msgstr "Importă DICOM...»Ctrl+I" | @@ -833,23 +852,22 @@ msgstr "Importă DICOM...»Ctrl+I" | ||
833 | 852 | ||
834 | #: frame.py:482 | 853 | #: frame.py:482 |
835 | #, fuzzy | 854 | #, fuzzy |
836 | -msgid "Import Others Files" | 855 | +msgid "Import other files..." |
837 | msgstr "Importă fișiere DICOM..." | 856 | msgstr "Importă fișiere DICOM..." |
838 | 857 | ||
839 | #: frame.py:483 | 858 | #: frame.py:483 |
840 | -msgid "Open Project...\tCtrl+O" | 859 | +#, fuzzy |
860 | +msgid "Open project...\tCtrl+O" | ||
841 | msgstr "Deschidere Proiect...»Ctrl+O" | 861 | msgstr "Deschidere Proiect...»Ctrl+O" |
842 | 862 | ||
843 | #: frame.py:484 | 863 | #: frame.py:484 |
844 | -msgid "Save Project\tCtrl+S" | 864 | +#, fuzzy |
865 | +msgid "Save project\tCtrl+S" | ||
845 | msgstr "Salvare Proiect»Ctrl+S" | 866 | msgstr "Salvare Proiect»Ctrl+S" |
846 | 867 | ||
847 | -#: frame.py:485 | ||
848 | -msgid "Save Project As..." | ||
849 | -msgstr "Salvează Proiect ca..." | ||
850 | - | ||
851 | #: frame.py:486 | 868 | #: frame.py:486 |
852 | -msgid "Close Project" | 869 | +#, fuzzy |
870 | +msgid "Close project" | ||
853 | msgstr "Închide Proiect" | 871 | msgstr "Închide Proiect" |
854 | 872 | ||
855 | #: frame.py:495 | 873 | #: frame.py:495 |
@@ -893,7 +911,8 @@ msgid "Preferences..." | @@ -893,7 +911,8 @@ msgid "Preferences..." | ||
893 | msgstr "" | 911 | msgstr "" |
894 | 912 | ||
895 | #: frame.py:556 | 913 | #: frame.py:556 |
896 | -msgid "Getting Started..." | 914 | +#, fuzzy |
915 | +msgid "Getting started..." | ||
897 | msgstr "Noțiuni de Bază..." | 916 | msgstr "Noțiuni de Bază..." |
898 | 917 | ||
899 | #: frame.py:559 | 918 | #: frame.py:559 |
@@ -904,6 +923,10 @@ msgstr "Despre..." | @@ -904,6 +923,10 @@ msgstr "Despre..." | ||
904 | msgid "File" | 923 | msgid "File" |
905 | msgstr "Fișier" | 924 | msgstr "Fișier" |
906 | 925 | ||
926 | +#: frame.py:568 | ||
927 | +msgid "Edit" | ||
928 | +msgstr "" | ||
929 | + | ||
907 | #: frame.py:571 | 930 | #: frame.py:571 |
908 | msgid "Options" | 931 | msgid "Options" |
909 | msgstr "" | 932 | msgstr "" |
@@ -917,12 +940,14 @@ msgid "Ready" | @@ -917,12 +940,14 @@ msgid "Ready" | ||
917 | msgstr "Gata" | 940 | msgstr "Gata" |
918 | 941 | ||
919 | #: frame.py:804 | 942 | #: frame.py:804 |
920 | -msgid "Import DICOM files..." | ||
921 | -msgstr "Importă fișiere DICOM..." | 943 | +#, fuzzy |
944 | +msgid "Import DICOM files...\tCtrl+I" | ||
945 | +msgstr "Importă DICOM...»Ctrl+I" | ||
922 | 946 | ||
923 | #: frame.py:811 | 947 | #: frame.py:811 |
924 | -msgid "Open a InVesalius project..." | ||
925 | -msgstr "Deschide un proiect InVesalius..." | 948 | +#, fuzzy |
949 | +msgid "Open InVesalius project..." | ||
950 | +msgstr "Deschide proiectul InVesalius 3:" | ||
926 | 951 | ||
927 | #: frame.py:815 | 952 | #: frame.py:815 |
928 | msgid "Save InVesalius project" | 953 | msgid "Save InVesalius project" |
@@ -1090,11 +1115,12 @@ msgid "Choose user interface language" | @@ -1090,11 +1115,12 @@ msgid "Choose user interface language" | ||
1090 | msgstr "Alegere limba pentru interfață utilizator" | 1115 | msgstr "Alegere limba pentru interfață utilizator" |
1091 | 1116 | ||
1092 | #: polydata_utils.py:132 | 1117 | #: polydata_utils.py:132 |
1093 | -msgid "Getting selected parts" | ||
1094 | -msgstr "Aranjare părți selectate" | 1118 | +msgid "Analysing selected regions..." |
1119 | +msgstr "" | ||
1095 | 1120 | ||
1096 | #: polydata_utils.py:191 | 1121 | #: polydata_utils.py:191 |
1097 | -msgid "Splitting disconected parts" | 1122 | +#, fuzzy |
1123 | +msgid "Splitting disconnected regions..." | ||
1098 | msgstr "Împărțirea părților despărțite" | 1124 | msgstr "Împărțirea părților despărțite" |
1099 | 1125 | ||
1100 | #: preferences.py:18 | 1126 | #: preferences.py:18 |
@@ -1106,7 +1132,7 @@ msgstr "Masca de referinţă:" | @@ -1106,7 +1132,7 @@ msgstr "Masca de referinţă:" | ||
1106 | msgid "Visualization" | 1132 | msgid "Visualization" |
1107 | msgstr "" | 1133 | msgstr "" |
1108 | 1134 | ||
1109 | -#: preferences.py:42 | 1135 | +#: preferences.py:42 preferences.py:147 |
1110 | #, fuzzy | 1136 | #, fuzzy |
1111 | msgid "Language" | 1137 | msgid "Language" |
1112 | msgstr "Selectare limbă" | 1138 | msgstr "Selectare limbă" |
@@ -1121,14 +1147,21 @@ msgid "Interpolation " | @@ -1121,14 +1147,21 @@ msgid "Interpolation " | ||
1121 | msgstr "" | 1147 | msgstr "" |
1122 | 1148 | ||
1123 | #: preferences.py:106 | 1149 | #: preferences.py:106 |
1124 | -msgid "Volume Rendering" | ||
1125 | -msgstr "" | 1150 | +#, fuzzy |
1151 | +msgid "Volume rendering" | ||
1152 | +msgstr "Gen" | ||
1126 | 1153 | ||
1127 | #: preferences.py:109 | 1154 | #: preferences.py:109 |
1128 | #, fuzzy | 1155 | #, fuzzy |
1129 | msgid "Rendering" | 1156 | msgid "Rendering" |
1130 | msgstr "Gen" | 1157 | msgstr "Gen" |
1131 | 1158 | ||
1159 | +#: preferences.py:150 | ||
1160 | +msgid "" | ||
1161 | +"Takes effect the next time you \n" | ||
1162 | +" open the InVesalius." | ||
1163 | +msgstr "" | ||
1164 | + | ||
1132 | #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 | 1165 | #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 |
1133 | msgid "Soft Tissue" | 1166 | msgid "Soft Tissue" |
1134 | msgstr "Țesut estompat" | 1167 | msgstr "Țesut estompat" |
@@ -1182,16 +1215,19 @@ msgid "Skin Tissue (Child)" | @@ -1182,16 +1215,19 @@ msgid "Skin Tissue (Child)" | ||
1182 | msgstr "Țesut Piele (Copil)" | 1215 | msgstr "Țesut Piele (Copil)" |
1183 | 1216 | ||
1184 | #: slice_menu.py:104 | 1217 | #: slice_menu.py:104 |
1185 | -msgid "Window Width and Level" | 1218 | +#, fuzzy |
1219 | +msgid "Window width and level" | ||
1186 | msgstr "Lățime Fereastră și Nivel" | 1220 | msgstr "Lățime Fereastră și Nivel" |
1187 | 1221 | ||
1188 | #: slice_menu.py:105 | 1222 | #: slice_menu.py:105 |
1189 | -msgid "Pseudo Colour" | 1223 | +#, fuzzy |
1224 | +msgid "Pseudo color" | ||
1190 | msgstr "Culoare asemănătoare" | 1225 | msgstr "Culoare asemănătoare" |
1191 | 1226 | ||
1192 | #: surface.py:419 surface.py:510 surface.py:528 surface.py:554 surface.py:583 | 1227 | #: surface.py:419 surface.py:510 surface.py:528 surface.py:554 surface.py:583 |
1193 | #: surface.py:605 surface.py:624 surface.py:638 surface.py:655 | 1228 | #: surface.py:605 surface.py:624 surface.py:638 surface.py:655 |
1194 | -msgid "Generating 3D surface..." | 1229 | +#, fuzzy |
1230 | +msgid "Creating 3D surface..." | ||
1195 | msgstr "Generare suprafață 3D..." | 1231 | msgstr "Generare suprafață 3D..." |
1196 | 1232 | ||
1197 | #: task_exporter.py:108 | 1233 | #: task_exporter.py:108 |
@@ -1215,7 +1251,8 @@ msgid "Save 3D surface as..." | @@ -1215,7 +1251,8 @@ msgid "Save 3D surface as..." | ||
1215 | msgstr "Salvează suprafața 3D ca..." | 1251 | msgstr "Salvează suprafața 3D ca..." |
1216 | 1252 | ||
1217 | #: task_exporter.py:330 | 1253 | #: task_exporter.py:330 |
1218 | -msgid "You need to create a surface and make " | 1254 | +#, fuzzy |
1255 | +msgid "You need to create a surface and make it " | ||
1219 | msgstr "Aveți nevoie să creați o suprafață si să faceți " | 1256 | msgstr "Aveți nevoie să creați o suprafață si să faceți " |
1220 | 1257 | ||
1221 | #: task_exporter.py:331 | 1258 | #: task_exporter.py:331 |
@@ -1309,13 +1346,14 @@ msgstr "" | @@ -1309,13 +1346,14 @@ msgstr "" | ||
1309 | "Alege automat cea mai mare regiune întreruptă și creează o suprafață nouă " | 1346 | "Alege automat cea mai mare regiune întreruptă și creează o suprafață nouă " |
1310 | 1347 | ||
1311 | #: task_surface.py:253 | 1348 | #: task_surface.py:253 |
1312 | -msgid "Select largest part" | 1349 | +#, fuzzy |
1350 | +msgid "Select largest surface" | ||
1313 | msgstr "Selectează partea cea mai întinsă" | 1351 | msgstr "Selectează partea cea mai întinsă" |
1314 | 1352 | ||
1315 | #: task_surface.py:261 | 1353 | #: task_surface.py:261 |
1354 | +#, fuzzy | ||
1316 | msgid "" | 1355 | msgid "" |
1317 | -"Automatically select disconnected regions and create one new surface per " | ||
1318 | -"region" | 1356 | +"Automatically select disconnected regions and create a new surface per region" |
1319 | msgstr "" | 1357 | msgstr "" |
1320 | "Alege automat regiunile întrerupte și creează o suprafață nouă per regiune" | 1358 | "Alege automat regiunile întrerupte și creează o suprafață nouă per regiune" |
1321 | 1359 | ||
@@ -1324,7 +1362,8 @@ msgid "Split all disconnected surfaces" | @@ -1324,7 +1362,8 @@ msgid "Split all disconnected surfaces" | ||
1324 | msgstr "Desparte toate suprafețele întrerupte" | 1362 | msgstr "Desparte toate suprafețele întrerupte" |
1325 | 1363 | ||
1326 | #: task_surface.py:270 | 1364 | #: task_surface.py:270 |
1327 | -msgid "Manually insert seeds of regions of interest and create one new surface" | 1365 | +#, fuzzy |
1366 | +msgid "Manually insert seeds of regions of interest and create a new surface" | ||
1328 | msgstr "" | 1367 | msgstr "" |
1329 | "Inserează manual semințe ale regiunilor de interes și creează o suprafață " | 1368 | "Inserează manual semințe ale regiunilor de interes și creează o suprafață " |
1330 | "nouă" | 1369 | "nouă" |
@@ -1543,5 +1582,24 @@ msgstr "P" | @@ -1543,5 +1582,24 @@ msgstr "P" | ||
1543 | msgid "BA" | 1582 | msgid "BA" |
1544 | msgstr "A" | 1583 | msgstr "A" |
1545 | 1584 | ||
1585 | +#, fuzzy | ||
1586 | +#~ msgid "Off" | ||
1587 | +#~ msgstr "Închis" | ||
1588 | + | ||
1589 | +#~ msgid "InVesalius start" | ||
1590 | +#~ msgstr "Pornire InVesalius" | ||
1591 | + | ||
1592 | +#~ msgid "Save Project As..." | ||
1593 | +#~ msgstr "Salvează Proiect ca..." | ||
1594 | + | ||
1595 | +#~ msgid "Import DICOM files..." | ||
1596 | +#~ msgstr "Importă fișiere DICOM..." | ||
1597 | + | ||
1598 | +#~ msgid "Open a InVesalius project..." | ||
1599 | +#~ msgstr "Deschide un proiect InVesalius..." | ||
1600 | + | ||
1601 | +#~ msgid "Getting selected parts" | ||
1602 | +#~ msgstr "Aranjare părți selectate" | ||
1603 | + | ||
1546 | #~ msgid "Image Tiling" | 1604 | #~ msgid "Image Tiling" |
1547 | #~ msgstr "Combinare imagini" | 1605 | #~ msgstr "Combinare imagini" |