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