diff --git a/invesalius/constants.py b/invesalius/constants.py index 05cf70d..06cf402 100644 --- a/invesalius/constants.py +++ b/invesalius/constants.py @@ -348,9 +348,9 @@ RAYCASTING_FILES = {_("Airways"): "Airways.plist", -RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in - os.listdir(folder) if - os.path.isfile(os.path.join(folder,filename))] +#RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in +# os.listdir(folder) if +# os.path.isfile(os.path.join(folder,filename))] LOG_FOLDER = os.path.join(os.path.expanduser('~'), '.invesalius', 'logs') @@ -363,9 +363,10 @@ if not os.path.isdir(folder): USER_RAYCASTING_PRESETS_DIRECTORY = folder -RAYCASTING_TYPES += [_(filename.split(".")[0]) for filename in +RAYCASTING_TYPES = [_(filename.split(".")[0]) for filename in os.listdir(folder) if os.path.isfile(os.path.join(folder,filename))] +RAYCASTING_TYPES += RAYCASTING_FILES.keys() RAYCASTING_TYPES.append(_(' Off')) RAYCASTING_TYPES.sort() RAYCASTING_OFF_LABEL = _(' Off') diff --git a/invesalius/control.py b/invesalius/control.py index a6089df..b91908e 100755 --- a/invesalius/control.py +++ b/invesalius/control.py @@ -593,7 +593,7 @@ class Controller(): label = pubsub_evt.data else: return - + if label != const.RAYCASTING_OFF_LABEL: if label in const.RAYCASTING_FILES.keys(): path = os.path.join(const.RAYCASTING_PRESETS_DIRECTORY, diff --git a/invesalius/gui/default_viewers.py b/invesalius/gui/default_viewers.py index 99c1579..9d8a3ef 100755 --- a/invesalius/gui/default_viewers.py +++ b/invesalius/gui/default_viewers.py @@ -440,6 +440,9 @@ class VolumeToolPanel(wx.Panel): def __init_menus(self, pubsub_evt=None): # MENU RELATED TO RAYCASTING TYPES menu = self.menu = wx.Menu() + #print "\n\n" + #print ">>>>", const.RAYCASTING_TYPES.sort() + #print "\n\n" for name in const.RAYCASTING_TYPES: id = wx.NewId() item = wx.MenuItem(menu, id, name, kind=wx.ITEM_RADIO) @@ -454,6 +457,7 @@ class VolumeToolPanel(wx.Panel): self.id_cutplane = None submenu = wx.Menu() for name in const.RAYCASTING_TOOLS: + print name id = wx.NewId() if not(self.id_cutplane): self.id_cutplane = id diff --git a/invesalius/gui/dialogs.py b/invesalius/gui/dialogs.py index 41d67a7..e566fc5 100644 --- a/invesalius/gui/dialogs.py +++ b/invesalius/gui/dialogs.py @@ -920,48 +920,6 @@ def ExportPicture(type_=""): return () -class CAOptions(wx.Panel): - ''' - Options related to Context aware algorithm: - Angle: The min angle to a vertex to be considered a staircase vertex; - Max distance: The max distance a normal vertex must be to calculate its - weighting; - Min Weighting: The min weight a vertex must have; - Steps: The number of iterations the smoothing algorithm have to do. - ''' - def __init__(self, parent): - wx.Panel.__init__(self, parent, -1) - self._build_widgets() - - def _build_widgets(self): - self.angle = floatspin.FloatSpin(self, -1, value=0.7, min_val=0.0, - max_val=1.0, increment=0.1, - digits=1) - - self.max_distance = floatspin.FloatSpin(self, -1, value=3.0, min_val=0.0, - max_val=100.0, increment=0.1, - digits=2) - - self.min_weight = floatspin.FloatSpin(self, -1, value=0.2, min_val=0.0, - max_val=1.0, increment=0.1, - digits=1) - - self.steps = wx.SpinCtrl(self, -1, value='10', min=1, max=100) - - layout_sizer = wx.FlexGridSizer(rows=4, cols=2, hgap=5, vgap=5) - layout_sizer.Add(wx.StaticText(self, -1, u'Angle:'), 0, wx.EXPAND) - layout_sizer.Add(self.angle, 0, wx.EXPAND) - layout_sizer.Add(wx.StaticText(self, -1, u'Max. distance:'), 0, wx.EXPAND) - layout_sizer.Add(self.max_distance, 0, wx.EXPAND) - layout_sizer.Add(wx.StaticText(self, -1, u'Min. weight:'), 0, wx.EXPAND) - layout_sizer.Add(self.min_weight, 0, wx.EXPAND) - layout_sizer.Add(wx.StaticText(self, -1, u'N. steps:'), 0, wx.EXPAND) - layout_sizer.Add(self.steps, 0, wx.EXPAND) - - self.main_sizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Context aware options'), wx.VERTICAL) - self.main_sizer.Add(layout_sizer, 0, wx.EXPAND | wx.ALL, 5) - self.SetSizer(self.main_sizer) - class SurfaceDialog(wx.Dialog): ''' This dialog is only shown when the mask whose surface will be generate was @@ -970,7 +928,7 @@ class SurfaceDialog(wx.Dialog): `Context aware smoothing' ''' def __init__(self): - wx.Dialog.__init__(self, None, -1, u'Surface generation options') + wx.Dialog.__init__(self, None, -1, _('Surface generation options')) self._build_widgets() self.CenterOnScreen() @@ -1269,7 +1227,6 @@ class SurfaceMethodPanel(wx.Panel): self.cb_types.Bind(wx.EVT_COMBOBOX, self._set_cb_types) def _set_cb_types(self, evt): - print evt.GetString() if self.alg_types[evt.GetString()] == 'ca_smoothing': self.ca_options.Enable() else: diff --git a/invesalius/gui/frame.py b/invesalius/gui/frame.py index 6ed7a0e..cd109c0 100755 --- a/invesalius/gui/frame.py +++ b/invesalius/gui/frame.py @@ -565,7 +565,7 @@ class MenuBar(wx.MenuBar): # Add all menus to menubar self.Append(file_menu, _("File")) - self.Append(file_edit, "Edit") + self.Append(file_edit, _("Edit")) #self.Append(view_menu, "View") #self.Append(tools_menu, "Tools") self.Append(options_menu, _("Options")) diff --git a/invesalius/gui/preferences.py b/invesalius/gui/preferences.py index 93c5cf1..4172c87 100644 --- a/invesalius/gui/preferences.py +++ b/invesalius/gui/preferences.py @@ -144,10 +144,10 @@ class Language(wx.Panel): self.lg = lg = ComboBoxLanguage(self) self.cmb_lang = cmb_lang = lg.GetComboBox() - box = wx.StaticBox(self, -1, "Language") + box = wx.StaticBox(self, -1, _("Language")) bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) - text = wx.StaticText(self, -1, "Takes effect the next time you \n open the InVesalius.") + text = wx.StaticText(self, -1, _("Language settings will take effect \n the next time you open InVesalius.")) bsizer.Add(cmb_lang, 0, wx.TOP|wx.CENTER, 20) bsizer.Add(text, 0, wx.TOP|wx.CENTER, 10) diff --git a/invesalius/gui/task_slice.py b/invesalius/gui/task_slice.py index cc06711..5fa0943 100644 --- a/invesalius/gui/task_slice.py +++ b/invesalius/gui/task_slice.py @@ -144,7 +144,7 @@ class InnerTaskPanel(wx.Panel): def OnButtonNextTask(self, evt): overwrite = self.check_box.IsChecked() - algorithm = '' + algorithm = 'Default' options = {} if self.GetMaskSelected() != -1: sl = slice_.Slice() @@ -157,7 +157,7 @@ class InnerTaskPanel(wx.Panel): return mask_index = sl.current_mask.index - method = {'algorithm': 'Default', + method = {'algorithm': algorithm, 'options': options} srf_options = {"index": mask_index, "name": '', diff --git a/locale/pt_BR/LC_MESSAGES/invesalius.mo b/locale/pt_BR/LC_MESSAGES/invesalius.mo index 167ea18..109d55b 100644 Binary files a/locale/pt_BR/LC_MESSAGES/invesalius.mo and b/locale/pt_BR/LC_MESSAGES/invesalius.mo differ diff --git a/locale/ro/LC_MESSAGES/invesalius.mo b/locale/ro/LC_MESSAGES/invesalius.mo index fe5fbee..840ff2a 100644 Binary files a/locale/ro/LC_MESSAGES/invesalius.mo and b/locale/ro/LC_MESSAGES/invesalius.mo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index 2f35758..7953aea 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: InVesalius\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-09-03 16:29-0300\n" +"POT-Creation-Date: 2012-09-11 15:24-0300\n" "PO-Revision-Date: 2010-11-30 02:42+0000\n" "Last-Translator: Invesalius team \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" @@ -38,6 +38,10 @@ msgstr "Alfa: %-.3f" msgid "M %d" msgstr "M %d" +#: constants.py:41 constants.py:370 constants.py:372 +msgid " Off" +msgstr " Desabilitado" + #: constants.py:42 msgid "Red-blue" msgstr "Vermelho e azul" @@ -122,7 +126,7 @@ msgstr "Oceano" msgid "Inverse Gray" msgstr "Cinza invertido" -#: constants.py:191 constants.py:276 dialogs.py:522 dialogs.py:535 +#: constants.py:191 constants.py:276 dialogs.py:530 dialogs.py:543 #: dicom_preview_panel.py:675 dicom_preview_panel.py:676 presets.py:30 #: presets.py:48 presets.py:103 presets.py:134 msgid "Bone" @@ -141,7 +145,7 @@ msgstr "Desenhar" msgid "Erase" msgstr "Apagar" -#: constants.py:251 data_notebook.py:434 task_surface.py:43 +#: constants.py:251 data_notebook.py:435 task_surface.py:43 msgid "Threshold" msgstr "Limiar" @@ -157,7 +161,7 @@ msgstr "Média" msgid "High" msgstr "Alta" -#: constants.py:265 constants.py:266 constants.py:267 surface.py:392 +#: constants.py:265 constants.py:266 constants.py:267 task_slice.py:164 msgid "Optimal *" msgstr "Ótima *" @@ -178,7 +182,8 @@ msgstr "Fossa cerebral posterior" msgid "Brain" msgstr "Cérebro" -#: constants.py:279 control.py:361 slice_menu.py:39 slice_menu.py:51 +#: constants.py:279 control.py:361 dialogs.py:1182 dialogs.py:1185 +#: dialogs.py:1193 dialogs.py:1269 slice_menu.py:39 slice_menu.py:51 msgid "Default" msgstr "Padrão" @@ -370,11 +375,7 @@ msgstr "Vascular IV" msgid "Yellow bone" msgstr "Osso amarelo" -#: constants.py:369 constants.py:371 -msgid " Off" -msgstr " Desabilitado" - -#: constants.py:372 volume.py:642 +#: constants.py:373 volume.py:642 msgid "Cut plane" msgstr "Plano de corte" @@ -391,76 +392,80 @@ msgstr "Sem título" msgid "Fix gantry tilt applying the degrees below" msgstr "Corrigir inclinação (gantry tilt) aplicando o seguinte valor" -#: data_notebook.py:39 measures.py:14 +#: data_notebook.py:40 measures.py:14 msgid "Linear" msgstr "Linear" -#: data_notebook.py:40 measures.py:15 +#: data_notebook.py:41 measures.py:15 msgid "Angular" msgstr "Angular" -#: data_notebook.py:43 measures.py:18 +#: data_notebook.py:44 measures.py:18 msgid "3D" msgstr "3D" -#: data_notebook.py:44 measures.py:19 +#: data_notebook.py:45 measures.py:19 msgid "Axial" msgstr "Axial" -#: data_notebook.py:45 measures.py:20 +#: data_notebook.py:46 measures.py:20 msgid "Coronal" msgstr "Coronal" -#: data_notebook.py:46 measures.py:21 +#: data_notebook.py:47 measures.py:21 msgid "Sagittal" msgstr "Sagital" -#: data_notebook.py:62 +#: data_notebook.py:63 msgid "Masks" msgstr "Máscaras" -#: data_notebook.py:63 +#: data_notebook.py:64 msgid "3D surfaces" msgstr "Superfícies 3D" -#: data_notebook.py:64 +#: data_notebook.py:65 msgid "Measures" msgstr "Medições" -#: data_notebook.py:182 frame.py:982 +#: data_notebook.py:183 frame.py:982 msgid "Measure distance" msgstr "Medir distância" -#: data_notebook.py:185 frame.py:987 +#: data_notebook.py:186 frame.py:987 msgid "Measure angle" msgstr "Medir ângulo" -#: data_notebook.py:433 data_notebook.py:774 data_notebook.py:1020 -#: data_notebook.py:1209 +#: data_notebook.py:434 data_notebook.py:761 data_notebook.py:1007 +#: data_notebook.py:1196 msgid "Name" msgstr "Nome" -#: data_notebook.py:494 +#: data_notebook.py:495 msgid "Mask" msgstr "Máscara" -#: data_notebook.py:775 +#: data_notebook.py:621 task_surface.py:136 +msgid "InVesalius 3 - New surface" +msgstr "InVesalius 3 - Nova superfície" + +#: data_notebook.py:762 msgid "Volume (mm³)" msgstr "Volume (mm³)" -#: data_notebook.py:776 +#: data_notebook.py:763 msgid "Transparency" msgstr "Transparência" -#: data_notebook.py:1021 +#: data_notebook.py:1008 msgid "Location" msgstr "Local" -#: data_notebook.py:1022 data_notebook.py:1210 +#: data_notebook.py:1009 data_notebook.py:1197 msgid "Type" msgstr "Tipo" -#: data_notebook.py:1023 data_notebook.py:1211 +#: data_notebook.py:1010 data_notebook.py:1198 msgid "Value" msgstr "Valor" @@ -512,58 +517,60 @@ msgstr "Nome do pré-ajuste" msgid "Save raycasting preset" msgstr "Salvar pré-ajuste de raycasting" -#: default_viewers.py:467 +#: default_viewers.py:471 msgid "Tools" msgstr "Ferramentas" -#: dialogs.py:57 +#: dialogs.py:65 msgid "Value will be applied." msgstr "O valor será aplicado." -#: dialogs.py:61 +#: dialogs.py:69 msgid "Value will not be applied." msgstr "O valor não será aplicado." -#: dialogs.py:95 +#: dialogs.py:103 msgid "" -"InVesalius is running on a 32-bit operating system or has insufficient memory. \n" +"InVesalius is running on a 32-bit operating system or has insufficient " +"memory. \n" "If you want to work with 3D surfaces or volume rendering, \n" "it is recommended to reduce the medical images resolution." msgstr "" -"O InVesalius está sendo executado sobre um sistema operacional de 32 bits ou não dispõe de memória suficiente. \n" +"O InVesalius está sendo executado sobre um sistema operacional de 32 bits ou " +"não dispõe de memória suficiente. \n" "Se você deseja trabalhar com superfícies 3D ou renderização volumétrica, \n" "recomenda-se diminuir a resolução das imagens médicas." -#: dialogs.py:109 +#: dialogs.py:117 #, fuzzy msgid "Percentage of original resolution" msgstr "Porcentagem da resolução original" -#: dialogs.py:155 +#: dialogs.py:163 msgid "Loading DICOM files" msgstr "Carregando arquivos DICOM" -#: dialogs.py:200 +#: dialogs.py:208 msgid "Open InVesalius 3 project..." msgstr "Abrir projeto do InVesalius 3" -#: dialogs.py:228 +#: dialogs.py:236 msgid "Open Analyze file..." msgstr "Abrir arquivo Analyze..." -#: dialogs.py:266 +#: dialogs.py:274 msgid "Choose a DICOM folder:" msgstr "Selecione uma pasta DICOM:" -#: dialogs.py:297 +#: dialogs.py:305 frame.py:485 msgid "Save project as..." msgstr "Salvar projeto como..." -#: dialogs.py:300 +#: dialogs.py:308 msgid "InVesalius project (*.inv3)|*.inv3" msgstr "Projeto do InVesalius (*.inv3)|*.inv3" -#: dialogs.py:363 dialogs.py:641 dialogs.py:666 +#: dialogs.py:371 dialogs.py:649 dialogs.py:674 #, python-format msgid "" "The project %s has been modified.\n" @@ -572,80 +579,79 @@ msgstr "" "O projeto %s foi modificado.\n" " Deseja salvar as alterações?" -#: dialogs.py:377 +#: dialogs.py:385 #, python-format msgid "%s is an empty folder." msgstr "%s é uma pasta vazia." -#: dialogs.py:390 +#: dialogs.py:398 msgid "There are no DICOM files in the selected folder." msgstr "Não há arquivos DICOM na pasta selecionada." -#: dialogs.py:401 +#: dialogs.py:409 msgid "A mask is needed to create a surface." msgstr "É necessário ter uma máscara para criar uma superfície." -#: dialogs.py:412 +#: dialogs.py:420 msgid "No mask was selected for removal." msgstr "Nenhuma máscara foi selecionada para remoção." -#: dialogs.py:423 +#: dialogs.py:431 msgid "No surface was selected for removal." msgstr "Nenhuma superfície foi selecionada para remoção." -#: dialogs.py:435 +#: dialogs.py:443 msgid "No measure was selected for removal." msgstr "Nenhum medida foi selecionada para remoção." -#: dialogs.py:446 +#: dialogs.py:454 msgid "No mask was selected for duplication." msgstr "Nenhuma máscara foi selecionada para duplicação." -#: dialogs.py:459 +#: dialogs.py:467 msgid "No surface was selected for duplication." msgstr "Nenhuma superície foi selecionada para duplicação." -#: dialogs.py:505 +#: dialogs.py:513 msgid "New mask name:" msgstr "Nome da nova máscara:" -#: dialogs.py:509 +#: dialogs.py:517 msgid "Name the mask to be created" msgstr "Nome da máscara a ser criada" -#: dialogs.py:516 +#: dialogs.py:524 msgid "Threshold preset:" msgstr "Pré-ajuste de limiar:" -#: dialogs.py:603 presets.py:44 presets.py:62 presets.py:117 presets.py:148 -#: task_slice.py:421 task_slice.py:423 task_slice.py:435 task_slice.py:437 -#: task_slice.py:473 task_slice.py:476 +#: dialogs.py:611 presets.py:44 presets.py:62 presets.py:117 presets.py:148 +#: task_slice.py:431 task_slice.py:433 task_slice.py:445 task_slice.py:447 +#: task_slice.py:483 task_slice.py:486 msgid "Custom" msgstr "Personalizado" -#: dialogs.py:618 +#: dialogs.py:626 #, python-format msgid "%s does not exist." msgstr "%s não existe." -#: dialogs.py:629 +#: dialogs.py:637 msgid "Please, provide more than one DICOM file for 3D reconstruction" msgstr "São necessários mais arquivos DICOM para a reconstrução 3D." -#: dialogs.py:690 +#: dialogs.py:698 #, fuzzy msgid "(c) 2007-2012 Renato Archer Information Technology Center - CTI" msgstr "(r) 2007-2012 Centro de Tecnologia da Informação Renato Archer - CTI" -#: dialogs.py:691 +#: dialogs.py:699 #, fuzzy msgid "" "InVesalius is a medical imaging program for 3D reconstruction. It uses a " "sequence of 2D DICOM image files acquired with CT or MRI scanners. " -"InVesalius allows exporting 3D volumes or surfaces as STL files for " -"creating physical models of a patient's anatomy using rapid prototyping " -"technologies. The software is supported by CTI, CNPq and the Brazilian " -"Ministry of Health" +"InVesalius allows exporting 3D volumes or surfaces as STL files for creating " +"physical models of a patient's anatomy using rapid prototyping technologies. " +"The software is supported by CTI, CNPq and the Brazilian Ministry of Health" msgstr "" "InVesalius é um programa para reconstrução 3D de imagens médicas a partir de " "uma sequência de imagens DICOM 2D, obtidas com equipamentos de TC ou RM. O " @@ -653,62 +659,110 @@ msgstr "" "STL, para criação de réplicas físicas de estruturas anatômicas do paciente, " "por meio de tecnologias de prototipagem rápida." -#: dialogs.py:699 +#: dialogs.py:707 msgid "GNU GPL (General Public License) version 2" msgstr "GNU GPL (Licença Pública Geral) versão 2" -#: dialogs.py:731 +#: dialogs.py:739 msgid "Save raycasting preset as:" msgstr "Salvar pré-ajuste de raycasting como:" -#: dialogs.py:774 +#: dialogs.py:782 dialogs.py:1037 msgid "New surface name:" msgstr "Nome da nova superfície:" -#: dialogs.py:778 +#: dialogs.py:786 dialogs.py:1041 msgid "Name the surface to be created" msgstr "Nome da superfície a ser criada" -#: dialogs.py:785 +#: dialogs.py:793 dialogs.py:1048 msgid "Mask of reference:" msgstr "Máscara de referência:" -#: dialogs.py:803 +#: dialogs.py:811 dialogs.py:1066 msgid "Surface quality:" msgstr "Qualidade da superfície:" -#: dialogs.py:832 +#: dialogs.py:840 dialogs.py:1094 msgid "Fill holes" msgstr "Preencher buracos" -#: dialogs.py:835 +#: dialogs.py:843 dialogs.py:1097 msgid "Keep largest region" msgstr "Manter maior região" -#: dialogs.py:869 +#: dialogs.py:881 msgid "BMP image" msgstr "Imagem BMP" -#: dialogs.py:870 +#: dialogs.py:882 msgid "JPG image" msgstr "Imagem JPG" -#: dialogs.py:871 +#: dialogs.py:883 msgid "PNG image" msgstr "Imagem PNG" -#: dialogs.py:872 +#: dialogs.py:884 msgid "PostScript document" msgstr "Documento PostScript" -#: dialogs.py:873 +#: dialogs.py:885 msgid "POV-Ray file" msgstr "Arquivo POV-Ray" -#: dialogs.py:874 +#: dialogs.py:886 msgid "TIFF image" msgstr "Imagem TIFF" +#: dialogs.py:931 +msgid "Surface generation options" +msgstr "Opções de geração de superfície" + +#: dialogs.py:961 +msgid "Surface creation" +msgstr "Criação de superfície" + +#: dialogs.py:988 +msgid "Surface creation options" +msgstr "Opções de criação de superfície" + +#: dialogs.py:994 +msgid "Surface creation method" +msgstr "Método de criação de superfície" + +#: dialogs.py:1142 +msgid "Context aware options" +msgstr "Opções" + +#: dialogs.py:1158 +msgid "Angle:" +msgstr "Ângulo" + +#: dialogs.py:1160 +msgid "Max. distance:" +msgstr "Distância máxima" + +#: dialogs.py:1162 +msgid "Min. weight:" +msgstr "Peso mínimo" + +#: dialogs.py:1164 +msgid "N. steps:" +msgstr "Número de passos" + +#: dialogs.py:1183 dialogs.py:1219 dialogs.py:1265 +msgid "Context aware smoothing" +msgstr "" + +#: dialogs.py:1184 +msgid "Binary" +msgstr "Binário" + +#: dialogs.py:1202 +msgid "It's not possible to use the Default method because the mask was edited" +msgstr "Não é possível usar o método Padrão pois a máscara foi editada" + #: dicom.py:1520 dicom.py:1524 dicom.py:1526 msgid "unnamed" msgstr "sem_nome" @@ -839,6 +893,10 @@ msgstr "Sobre..." msgid "File" msgstr "Arquivo" +#: frame.py:568 +msgid "Edit" +msgstr "Editar" + #: frame.py:571 msgid "Options" msgstr "Opções" @@ -847,7 +905,7 @@ msgstr "Opções" msgid "Help" msgstr "Ajuda" -#: frame.py:654 surface.py:355 surface.py:728 surface.py:729 +#: frame.py:654 surface.py:358 surface.py:735 surface.py:736 msgid "Ready" msgstr "Pronto" @@ -1040,7 +1098,7 @@ msgstr "Preferências" msgid "Visualization" msgstr "Visualização" -#: preferences.py:42 +#: preferences.py:42 preferences.py:147 msgid "Language" msgstr "Idioma" @@ -1060,6 +1118,14 @@ msgstr "Renderização volumétrica" msgid "Rendering" msgstr "Renderização" +#: preferences.py:150 +msgid "" +"Language settings will take effect \n" +" the next time you open InVesalius." +msgstr "" +"Configurações de idioma terão efeito \n" +"na próxima vez em que você abrir o InVesalius." + #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 msgid "Soft Tissue" msgstr "Tecidos moles" @@ -1120,8 +1186,8 @@ msgstr "Brilho e contraste" msgid "Pseudo color" msgstr "Pseudo cor" -#: surface.py:418 surface.py:508 surface.py:526 surface.py:548 surface.py:576 -#: surface.py:598 surface.py:617 surface.py:631 surface.py:648 +#: surface.py:419 surface.py:510 surface.py:528 surface.py:554 surface.py:583 +#: surface.py:605 surface.py:624 surface.py:638 surface.py:655 msgid "Creating 3D surface..." msgstr "Criando superfície 3D..." @@ -1189,31 +1255,31 @@ msgstr "Criar superfície" msgid "Overwrite last surface" msgstr "Sobrescrever anterior" -#: task_slice.py:228 +#: task_slice.py:238 msgid "Mask properties" msgstr "Propriedades da máscara" -#: task_slice.py:236 +#: task_slice.py:246 msgid "Advanced editing tools" msgstr "Ferramentas avançadas de edição" -#: task_slice.py:320 +#: task_slice.py:330 msgid "Set predefined or manual threshold:" msgstr "Selecione ou edite valor de limiar:" -#: task_slice.py:528 +#: task_slice.py:538 msgid "Choose brush type, size or operation:" msgstr "Tipo, tamanho e operação do pincel:" -#: task_slice.py:534 +#: task_slice.py:544 msgid "Circle" msgstr "Círculo" -#: task_slice.py:538 +#: task_slice.py:548 msgid "Square" msgstr "Quadrado" -#: task_slice.py:574 +#: task_slice.py:584 msgid "Brush threshold range:" msgstr "Limiar do pincel:" @@ -1225,56 +1291,53 @@ msgstr "Criar superfície 3D baseada em máscara" msgid "Next step" msgstr "Próximo passo" -#: task_surface.py:134 -msgid "InVesalius 3 - New surface" -msgstr "InVesalius 3 - Nova superfície" - -#: task_surface.py:207 +#: task_surface.py:213 msgid "Surface properties" msgstr "Propriedades da superfície" -#: task_surface.py:214 +#: task_surface.py:220 msgid "Advanced options" msgstr "Opções avançadas" -#: task_surface.py:246 +#: task_surface.py:252 msgid "Automatically select largest disconnected region and create new surface" msgstr "" "Seleção automática de maior região desconexa e criação de nova superfície" -#: task_surface.py:247 +#: task_surface.py:253 msgid "Select largest surface" msgstr "Separar maior superfície" -#: task_surface.py:255 +#: task_surface.py:261 msgid "" -"Automatically select disconnected regions and create a new surface per " -"region" +"Automatically select disconnected regions and create a new surface per region" msgstr "" "Seleção automática de regiões desconexas e criação de superfícies " "correspondentes" -#: task_surface.py:256 +#: task_surface.py:262 msgid "Split all disconnected surfaces" msgstr "Separar todas regiões desconexas" -#: task_surface.py:264 +#: task_surface.py:270 msgid "Manually insert seeds of regions of interest and create a new surface" -msgstr "Selecionar manualmente regiões de interesse por meio de sementes e criar uma nova superfície" +msgstr "" +"Selecionar manualmente regiões de interesse por meio de sementes e criar uma " +"nova superfície" -#: task_surface.py:265 +#: task_surface.py:271 msgid "Select regions of interest..." msgstr "Selecionar regiões de interesse..." -#: task_surface.py:402 +#: task_surface.py:408 msgid "Transparency:" msgstr "Transparência:" -#: task_surface.py:538 +#: task_surface.py:544 msgid "Decimate resolution:" msgstr "Resolução de decimação:" -#: task_surface.py:548 +#: task_surface.py:554 msgid "Smooth iterations:" msgstr "Iterações de suavização:" diff --git a/po/ro.po b/po/ro.po index ef9211e..b910779 100644 --- a/po/ro.po +++ b/po/ro.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: InVesalius\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-09-06 10:54-0300\n" +"POT-Creation-Date: 2012-09-11 10:38-0300\n" "PO-Revision-Date: 2011-10-30 20:58+0000\n" "Last-Translator: Florin Putura \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/invesalius/" @@ -40,13 +40,12 @@ msgstr "" msgid "M %d" msgstr "M %d" -#: constants.py:41 -#, fuzzy -msgid "Off" +#: constants.py:41 constants.py:369 constants.py:371 +msgid " Off" msgstr "Închis" #: constants.py:42 -msgid "RedBlue" +msgid "Red-blue" msgstr "" #: constants.py:43 @@ -178,7 +177,8 @@ msgid "Abdomen" msgstr "Abdomen" #: constants.py:277 -msgid "Brain Posterior Fossa" +#, fuzzy +msgid "Brain posterior fossa" msgstr "Cavitatea Craniană Posterioară" #: constants.py:278 @@ -195,11 +195,13 @@ msgid "Emphysema" msgstr "Emfizemul pulmonar" #: constants.py:281 -msgid "Ischemia - Hard Non Contrast" +#, fuzzy +msgid "Ischemia - Hard, non contrast" msgstr "Ischemie - Puternic Fără Contrast" #: constants.py:282 -msgid "Ischemia - Soft Non Contrast" +#, fuzzy +msgid "Ischemia - Soft, non contrast" msgstr "Ischemie - Slab Fără Contrast" #: constants.py:283 @@ -283,7 +285,8 @@ msgid "Bone + Skin II" msgstr "Os + Piele II" #: constants.py:323 -msgid "Dark Bone" +#, fuzzy +msgid "Dark bone" msgstr "Os Negru" #: constants.py:324 @@ -295,27 +298,33 @@ msgid "Glossy II" msgstr "Lucios II" #: constants.py:326 -msgid "Gold Bone" +#, fuzzy +msgid "Gold bone" msgstr "Os Aurit" #: constants.py:327 -msgid "High Contrast" +#, fuzzy +msgid "High contrast" msgstr "Contrast Mare" #: constants.py:328 -msgid "Low Contrast" +#, fuzzy +msgid "Low contrast" msgstr "Contrast Mic" #: constants.py:329 constants.py:336 -msgid "Soft on White" +#, fuzzy +msgid "Soft on white" msgstr "Estompat albul" #: constants.py:330 -msgid "Mid Contrast" +#, fuzzy +msgid "Mid contrast" msgstr "Contrast Mediu" #: constants.py:331 -msgid "No Shading" +#, fuzzy +msgid "No shading" msgstr "Fără Umbră" #: constants.py:332 @@ -323,15 +332,18 @@ msgid "Pencil" msgstr "Creion" #: constants.py:333 -msgid "Red on White" +#, fuzzy +msgid "Red on white" msgstr "Roșu pe Alb" #: constants.py:334 -msgid "Skin On Blue" +#, fuzzy +msgid "Skin on blue" msgstr "Înveliș în Albastru" #: constants.py:335 -msgid "Skin On Blue II" +#, fuzzy +msgid "Skin on blue II" msgstr "Înveliș în Albastru II" #: constants.py:337 @@ -347,7 +359,8 @@ msgid "Soft + Skin III" msgstr "Estompat + Înveliș III" #: constants.py:340 -msgid "Soft On Blue" +#, fuzzy +msgid "Soft on blue" msgstr "Estompat Albastrul" #: constants.py:341 @@ -375,13 +388,10 @@ msgid "Vascular IV" msgstr "Vascular IV" #: constants.py:347 -msgid "Yellow Bone" +#, fuzzy +msgid "Yellow bone" msgstr "Os Galben" -#: constants.py:369 constants.py:371 -msgid " Off" -msgstr "Închis" - #: constants.py:372 volume.py:642 msgid "Cut plane" msgstr "Tăiere plan" @@ -428,7 +438,8 @@ msgid "Masks" msgstr "Măști" #: data_notebook.py:64 -msgid "3D Surfaces" +#, fuzzy +msgid "3D surfaces" msgstr "Suprafață 3D" #: data_notebook.py:65 @@ -481,8 +492,9 @@ msgid "Data" msgstr "Dată" #: default_tasks.py:210 default_tasks.py:215 -msgid "InVesalius start" -msgstr "Pornire InVesalius" +#, fuzzy +msgid "Load data" +msgstr "Export date" #: default_tasks.py:211 default_tasks.py:216 default_tasks.py:244 msgid "Select region of interest" @@ -538,14 +550,15 @@ msgstr "Valoare nu va fi aplicată" #: dialogs.py:103 msgid "" -"Your operational system is 32bits or have low memory. \n" -"If you manipulate 3D surface or volume rendering \n" -"it's recommended to reduce the image resolution." +"InVesalius is running on a 32-bit operating system or has insufficient " +"memory. \n" +"If you want to work with 3D surfaces or volume rendering, \n" +"it is recommended to reduce the medical images resolution." msgstr "" #: dialogs.py:117 #, fuzzy -msgid "Percentage of image resolution" +msgid "Percentage of original resolution" msgstr "Reducere rezoluție:" #: dialogs.py:163 @@ -557,14 +570,14 @@ msgid "Open InVesalius 3 project..." msgstr "Deschide proiectul InVesalius 3:" #: dialogs.py:236 -msgid "Open Analyze File..." +msgid "Open Analyze file..." msgstr "" #: dialogs.py:274 msgid "Choose a DICOM folder:" msgstr "Alege un fișier DICOM:" -#: dialogs.py:305 +#: dialogs.py:305 frame.py:485 msgid "Save project as..." msgstr "Salvează proiectul ca..." @@ -582,36 +595,43 @@ msgstr "" "Salvezi schimbările?" #: dialogs.py:385 -#, python-format -msgid "%s is an empty directory." +#, fuzzy, python-format +msgid "%s is an empty folder." msgstr "%s este un director gol." #: dialogs.py:398 -msgid "There are no DICOM files in the selected directory." +#, fuzzy +msgid "There are no DICOM files in the selected folder." msgstr "Nu există fișiere DICOM în directorul selectat." #: dialogs.py:409 -msgid "There is no mask of reference to create a surface." +#, fuzzy +msgid "A mask is needed to create a surface." msgstr "Nu există mască sau referință pentru a creea o suprafață." #: dialogs.py:420 -msgid "No masks were selected for removal." +#, fuzzy +msgid "No mask was selected for removal." msgstr "Nu a fost selectată nici o mască pentru a fi îndepărtată." #: dialogs.py:431 -msgid "No surfaces were selected for removal." +#, fuzzy +msgid "No surface was selected for removal." msgstr "Nu a fost selectată nici o suprafață pentru a fi îndepărtată." #: dialogs.py:443 -msgid "No measures were selected for removal." +#, fuzzy +msgid "No measure was selected for removal." msgstr "Nu a fost selectată nici o măsură pentru a fi îndepărtată." #: dialogs.py:454 -msgid "No masks were selected for duplication." +#, fuzzy +msgid "No mask was selected for duplication." msgstr "Nu a fost selectată nici o mască pentru a fi duplicată." #: dialogs.py:467 -msgid "No surfaces were selected for duplication." +#, fuzzy +msgid "No surface was selected for duplication." msgstr "Nu a fost selectată nici o suprafață pentru a fi duplicată." #: dialogs.py:513 @@ -644,7 +664,7 @@ msgstr "" #: dialogs.py:698 #, fuzzy -msgid "(c) 2007-2012 Renato Archer Information Technology Centre - CTI" +msgid "(c) 2007-2012 Renato Archer Information Technology Center - CTI" msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" #: dialogs.py:699 @@ -652,10 +672,9 @@ msgstr "(c) 2007-2010 Centru Tehnologic Informațional Renato Archer" msgid "" "InVesalius is a medical imaging program for 3D reconstruction. It uses a " "sequence of 2D DICOM image files acquired with CT or MRI scanners. " -"InVesalius allows for the export of 3D volumes or surfaces as STL files for " -"creating physical models of a patient's anatomy using rapid prototyping " -"technologies. The software has the support of the CTI, CNPq and Ministry of " -"Health" +"InVesalius allows exporting 3D volumes or surfaces as STL files for creating " +"physical models of a patient's anatomy using rapid prototyping technologies. " +"The software is supported by CTI, CNPq and the Brazilian Ministry of Health" msgstr "" "InVesalius este un program de imagistică medicală pentru reconstrucție 3D. " "Acest program utilizează o secvenţă de fişiere imagine 2D DICOM obținute " @@ -802,8 +821,8 @@ msgid "Image" msgstr "Imagine" #: dicom_preview_panel.py:409 -#, python-format -msgid "%d Images" +#, fuzzy, python-format +msgid "%d images" msgstr "%d Imagini" #: dicom_preview_panel.py:534 dicom_preview_panel.py:555 @@ -833,23 +852,22 @@ msgstr "Importă DICOM...»Ctrl+I" #: frame.py:482 #, fuzzy -msgid "Import Others Files" +msgid "Import other files..." msgstr "Importă fișiere DICOM..." #: frame.py:483 -msgid "Open Project...\tCtrl+O" +#, fuzzy +msgid "Open project...\tCtrl+O" msgstr "Deschidere Proiect...»Ctrl+O" #: frame.py:484 -msgid "Save Project\tCtrl+S" +#, fuzzy +msgid "Save project\tCtrl+S" msgstr "Salvare Proiect»Ctrl+S" -#: frame.py:485 -msgid "Save Project As..." -msgstr "Salvează Proiect ca..." - #: frame.py:486 -msgid "Close Project" +#, fuzzy +msgid "Close project" msgstr "Închide Proiect" #: frame.py:495 @@ -893,7 +911,8 @@ msgid "Preferences..." msgstr "" #: frame.py:556 -msgid "Getting Started..." +#, fuzzy +msgid "Getting started..." msgstr "Noțiuni de Bază..." #: frame.py:559 @@ -904,6 +923,10 @@ msgstr "Despre..." msgid "File" msgstr "Fișier" +#: frame.py:568 +msgid "Edit" +msgstr "" + #: frame.py:571 msgid "Options" msgstr "" @@ -917,12 +940,14 @@ msgid "Ready" msgstr "Gata" #: frame.py:804 -msgid "Import DICOM files..." -msgstr "Importă fișiere DICOM..." +#, fuzzy +msgid "Import DICOM files...\tCtrl+I" +msgstr "Importă DICOM...»Ctrl+I" #: frame.py:811 -msgid "Open a InVesalius project..." -msgstr "Deschide un proiect InVesalius..." +#, fuzzy +msgid "Open InVesalius project..." +msgstr "Deschide proiectul InVesalius 3:" #: frame.py:815 msgid "Save InVesalius project" @@ -1090,11 +1115,12 @@ msgid "Choose user interface language" msgstr "Alegere limba pentru interfață utilizator" #: polydata_utils.py:132 -msgid "Getting selected parts" -msgstr "Aranjare părți selectate" +msgid "Analysing selected regions..." +msgstr "" #: polydata_utils.py:191 -msgid "Splitting disconected parts" +#, fuzzy +msgid "Splitting disconnected regions..." msgstr "Împărțirea părților despărțite" #: preferences.py:18 @@ -1106,7 +1132,7 @@ msgstr "Masca de referinţă:" msgid "Visualization" msgstr "" -#: preferences.py:42 +#: preferences.py:42 preferences.py:147 #, fuzzy msgid "Language" msgstr "Selectare limbă" @@ -1121,14 +1147,21 @@ msgid "Interpolation " msgstr "" #: preferences.py:106 -msgid "Volume Rendering" -msgstr "" +#, fuzzy +msgid "Volume rendering" +msgstr "Gen" #: preferences.py:109 #, fuzzy msgid "Rendering" msgstr "Gen" +#: preferences.py:150 +msgid "" +"Takes effect the next time you \n" +" open the InVesalius." +msgstr "" + #: presets.py:31 presets.py:49 presets.py:104 presets.py:135 msgid "Soft Tissue" msgstr "Țesut estompat" @@ -1182,16 +1215,19 @@ msgid "Skin Tissue (Child)" msgstr "Țesut Piele (Copil)" #: slice_menu.py:104 -msgid "Window Width and Level" +#, fuzzy +msgid "Window width and level" msgstr "Lățime Fereastră și Nivel" #: slice_menu.py:105 -msgid "Pseudo Colour" +#, fuzzy +msgid "Pseudo color" msgstr "Culoare asemănătoare" #: surface.py:419 surface.py:510 surface.py:528 surface.py:554 surface.py:583 #: surface.py:605 surface.py:624 surface.py:638 surface.py:655 -msgid "Generating 3D surface..." +#, fuzzy +msgid "Creating 3D surface..." msgstr "Generare suprafață 3D..." #: task_exporter.py:108 @@ -1215,7 +1251,8 @@ msgid "Save 3D surface as..." msgstr "Salvează suprafața 3D ca..." #: task_exporter.py:330 -msgid "You need to create a surface and make " +#, fuzzy +msgid "You need to create a surface and make it " msgstr "Aveți nevoie să creați o suprafață si să faceți " #: task_exporter.py:331 @@ -1309,13 +1346,14 @@ msgstr "" "Alege automat cea mai mare regiune întreruptă și creează o suprafață nouă " #: task_surface.py:253 -msgid "Select largest part" +#, fuzzy +msgid "Select largest surface" msgstr "Selectează partea cea mai întinsă" #: task_surface.py:261 +#, fuzzy msgid "" -"Automatically select disconnected regions and create one new surface per " -"region" +"Automatically select disconnected regions and create a new surface per region" msgstr "" "Alege automat regiunile întrerupte și creează o suprafață nouă per regiune" @@ -1324,7 +1362,8 @@ msgid "Split all disconnected surfaces" msgstr "Desparte toate suprafețele întrerupte" #: task_surface.py:270 -msgid "Manually insert seeds of regions of interest and create one new surface" +#, fuzzy +msgid "Manually insert seeds of regions of interest and create a new surface" msgstr "" "Inserează manual semințe ale regiunilor de interes și creează o suprafață " "nouă" @@ -1543,5 +1582,24 @@ msgstr "P" msgid "BA" msgstr "A" +#, fuzzy +#~ msgid "Off" +#~ msgstr "Închis" + +#~ msgid "InVesalius start" +#~ msgstr "Pornire InVesalius" + +#~ msgid "Save Project As..." +#~ msgstr "Salvează Proiect ca..." + +#~ msgid "Import DICOM files..." +#~ msgstr "Importă fișiere DICOM..." + +#~ msgid "Open a InVesalius project..." +#~ msgstr "Deschide un proiect InVesalius..." + +#~ msgid "Getting selected parts" +#~ msgstr "Aranjare părți selectate" + #~ msgid "Image Tiling" #~ msgstr "Combinare imagini" -- libgit2 0.21.2