self.attr2.SetBackgroundColour("light blue")
- self.InsertColumn(0, 'forme', wx.LIST_FORMAT_RIGHT)
- self.InsertColumn(1, 'nb', wx.LIST_FORMAT_RIGHT)
- self.InsertColumn(2, 'type', wx.LIST_FORMAT_RIGHT)
+ self.InsertColumn(0, _(u'Form').decode('utf8'), wx.LIST_FORMAT_RIGHT)
+ self.InsertColumn(1, _(u'Freq.').decode('utf8'), wx.LIST_FORMAT_RIGHT)
+ self.InsertColumn(2, _(u'POS').decode('utf8'), wx.LIST_FORMAT_RIGHT)
#self.InsertColumn(3, '', wx.LIST_FORMAT_RIGHT)
self.SetColumnWidth(0, 150)
# make a menu
menu = wx.Menu()
# add some items
- menu.Append(self.popupID1, u"Formes associées")
- menu.Append(self.popupID2, u"Concordancier")
+ menu.Append(self.popupID1, _(u"Associated forms").decode('utf8'))
+ menu.Append(self.popupID2, _(u"Concordance").decode('utf8'))
# menu.Append(self.popupID3, "recharger")
self.PopupMenu(menu)
uce_ok = corpus.getlemuces(item)
ucis_txt, ucestxt = doconcorde(corpus, uce_ok, [item])
items = dict([[i, '<br><br>'.join([ucis_txt[i], ucestxt[i]])] for i in range(0,len(ucestxt))])
- win = message(self, items, u"Concordancier - %s" % item, (800, 500), uceids = uce_ok)
+ win = message(self, items, ' - '.join([_(u"Concordance").decode('utf8'), "%s" % item]), (800, 500), uceids = uce_ok)
#win = message(self, u"Concordancier", (750, 600))
#win.html = ('<html>\n<h1>%s</h1>' % item) + '<br>'.join(['<br>'.join([ucis_txt[i], ucestxt[i]]) for i in range(0,len(ucestxt))]) + '\n</html>'
#win.HtmlPage.SetPage(win.html)
#from tabsimi import DoSimi
from listlex import ListForSpec
from chemins import ConstructPathOut, ffr
-from dialog import PrefExport, PrefUCECarac, SearchDial, message, MessageImage, BarFrame
-from tableau import Tableau, copymatrix
+from dialog import PrefUCECarac, SearchDial, message, BarFrame
+from tableau import copymatrix
from search_tools import SearchFrame
import webbrowser
#import cStringIO
import tempfile
import codecs
-from functions import exec_rcode, progressbar, treat_var_mod, doconcorde
+from functions import progressbar, treat_var_mod, doconcorde
from PrintRScript import barplot
from textclassechd import ClasseCHD
from shutil import copyfile
self.cl = cl
self.var_mod = {}
self.them_mod = {}
+ self.ira = wx.GetApp().GetTopWindow()
line1 = profclasse.pop(0)
classen = [line for line in profclasse if line[0] != '*' and line[0] != '*****']
def onsearchall(self, evt) :
if 'FrameSearch' not in dir(self.Source) :
- self.Source.FrameSearch = SearchFrame(self.parent, -1, u"Rechercher...", self.Source.corpus)
+ self.Source.FrameSearch = SearchFrame(self.parent, -1, _(u"Search...").decode('utf8'), self.Source.corpus)
self.dial = SearchDial(self, self.Source.FrameSearch.liste, 1, False)
self.dial.CenterOnParent()
self.dial.Show()
# make a menu
menu = wx.Menu()
- menu.Append(self.popupID1, u"Formes associées")
- menu.Append(self.idtablex, u"Chi2 par classe")
- menu.Append(self.idlexdendro, u"Chi2 par classe + dendro")
- menu.Append(self.idchimod, u"Chi2 modalités de la variable")
- menu.Append(self.idwordgraph, u"Graphe du mot")
+ menu.Append(self.popupID1, _(u"Associated forms").decode('utf8'))
+ menu.Append(self.idtablex, _(u"Chi2 by cluster").decode('utf8'))
+ menu.Append(self.idlexdendro, _(u"Chi2 by cluster on dendrogram").decode('utf8'))
+ menu.Append(self.idchimod, _(u"Chi2 modalities of variable").decode('utf8'))
+ menu.Append(self.idwordgraph, _(u"Word graph").decode('utf8'))
#menu.Append(self.export_classes, u"Exporter le corpus...")
#menu.Append(self.popupID10, u"Spécificités")
menu_conc = wx.Menu()
- menu_conc.Append(self.popupID2, u"dans les segments de texte de la classe")
- menu_conc.Append(self.popupID3, u"dans les segments de texte classés")
- menu_conc.Append(self.popupID4, u"dans tous les segments de texte")
- menu.AppendMenu(-1, u"Concordancier", menu_conc)
+ menu_conc.Append(self.popupID2, _(u"In segments of this cluster").decode('utf8'))
+ menu_conc.Append(self.popupID3, _(u"In segments of this clustering").decode('utf8'))
+ menu_conc.Append(self.popupID4, _(u"In all segments").decode('utf8'))
+ menu.AppendMenu(-1, _(u"Concordance").decode('utf8'), menu_conc)
menu.Append(self.onmaketgen, _(u"Make Tgen").decode('utf8'))
menu_cnrtl = wx.Menu()
- menu_cnrtl.Append(self.popupID5, u"Définition")
- menu_cnrtl.Append(self.popupID6, u"Etymologie")
- menu_cnrtl.Append(self.popupID7, u"Synonymie")
- menu_cnrtl.Append(self.popupID8, u"Antonymie")
- menu_cnrtl.Append(self.popupID9, u"Morphologie")
- menu_cnrtl.Append(self.popup_proxe, u"Proxémie")
- menu.AppendMenu(-1, u"Outils du CNRTL", menu_cnrtl)
+ menu_cnrtl.Append(self.popupID5, _(u"Definition").decode('utf8'))
+ menu_cnrtl.Append(self.popupID6, _(u"Etymology").decode('utf8'))
+ menu_cnrtl.Append(self.popupID7, _(u"Synonymous").decode('utf8'))
+ menu_cnrtl.Append(self.popupID8, _(u"Antonym").decode('utf8'))
+ menu_cnrtl.Append(self.popupID9, _(u"Morphology").decode('utf8'))
+ menu_cnrtl.Append(self.popup_proxe, _(u"Proxemy").decode('utf8'))
+ menu.AppendMenu(-1, _(u"Tools from CNRTL (french only)").decode('utf8'), menu_cnrtl)
menu.AppendSeparator()
- menu.Append(self.popupIDgraph, u"Graphe de la classe")
- menu.Append(self.idseg, u"Segments répétés")
- menu.Append(self.iducecarac, u"Segments de texte caractéristiques")
- menu.Append(self.idcloud, u"Nuage de la classe")
- menu.Append(self.idexport, u'Exporter...')
- menu.Append(self.idexporttropes, 'Exporter pour Tropes')
- menu.Append(self.idexportowledge, 'Exporter pour Owledge')
+ menu.Append(self.popupIDgraph, _(u"Graph of cluster").decode('utf8'))
+ menu.Append(self.idseg, _(u"Repeated segments").decode('utf8'))
+ menu.Append(self.iducecarac, _(u"Typical text segments").decode('utf8'))
+ menu.Append(self.idcloud, _(u"Word cloud of cluster").decode('utf8'))
+ menu.Append(self.idexport, _(u'Export...').decode('utf8'))
+ menu.Append(self.idexporttropes, _(u'Export for Tropes').decode('utf8'))
+ menu.Append(self.idexportowledge, _('Exporter for Owledge').decode('utf8'))
#menu.Append(self.popupID2, u"Concordancier")
# menu.Append(self.popupID3, "recharger")
self.Bind(wx.EVT_MENU, self.quest_var_mod, id=self.pop3)
menu = wx.Menu()
- menu.Append(self.pop2, u"Chi2 par classe")
- menu.Append(self.pop3, u"Chi2 modalités de la variable")
+ menu.Append(self.pop2, _(u"Chi2 by cluster").decode('utf8'))
+ menu.Append(self.pop3, _(u"Chi2 modalities of variable").decode('utf8'))
menu.AppendSeparator()
- menu.Append(self.pop1, u"Graphe de la classe")
+ menu.Append(self.pop1, _(u"Graph of cluster").decode('utf8'))
self.PopupMenu(menu)
menu.Destroy()
def quest_var_mod(self, evt) :
word = self.getselectedwords()[0]
if len(word.split('_')) <= 1 :
- dial = wx.MessageDialog(self, u"Ce n'est pas une forme du type variable_modalité", u"Problème", wx.OK | wx.ICON_WARNING)
+ dial = wx.MessageDialog(self, _(u"This is not a variable_modality form").decode('utf8'), _(u"Problem").decode('utf8'), wx.OK | wx.ICON_WARNING)
dial.CenterOnParent()
dial.ShowModal()
dial.Destroy()
try :
words = [word for word in var_mod[var[0]]]
except KeyError:
- dial = wx.MessageDialog(self, _(u"This is not a meta-data"), u"Problème", wx.OK | wx.ICON_WARNING)
+ dial = wx.MessageDialog(self, _(u"This is not a meta-data").decode('utf8'), _(u"Problem").decode('utf8'), wx.OK | wx.ICON_WARNING)
dial.CenterOnParent()
dial.ShowModal()
dial.Destroy()
'lem' : self.Source.parametres['lem'],
'tmpchi' : self.tmpchi}
#try :
- self.parent.SimiFromCluster(self.parent, self.Source.corpus, self.la, self.lfreq, self.lchi, self.cl - 1, parametres = parametres, dlg = progressbar(self, 4))
+ self.parent.SimiFromCluster(self.parent, self.Source.corpus, self.la, self.lfreq, self.lchi, self.cl - 1, parametres = parametres, dlg = progressbar(self.ira, 4))
#except :
# print 'not acitve'
'lem' : self.Source.parametres['lem'],
'tmpchi' : self.tmpchi}
- self.parent.SimiFromCluster(self.parent, self.Source.corpus, self.la, self.lfreq, self.lchi, self.cl - 1, parametres = parametres, dlg = progressbar(self, 4))
+ self.parent.SimiFromCluster(self.parent, self.Source.corpus, self.la, self.lfreq, self.lchi, self.cl - 1, parametres = parametres, dlg = progressbar(self.ira, 4))
def on_segments(self,evt) :
dlg = progressbar(self, 2)
first = ['','','']
para={'dico': d,'fline':first}
dlg.Destroy()
- win = wliste(self, -1, u"Segments répétés - Classe %i" % self.cl, d, first, size=(600, 500))
+ win = wliste(self, -1, ' - '.join([_(u"Repeated segments").decode('utf8'), "Classe %i" % self.cl]), d, first, size=(600, 500))
win.Show(True)
def on_uce_carac(self,evt) :
dlg.Update(3, u'concordancier...')
ucis_txt, ucestxt = doconcorde(corpus, nuces, self.la, uci = uci)
items = dict([[i, '<br>'.join([ucis_txt[i], '<table bgcolor = #1BF0F7 border=0><tr><td><b>score : %.2f</b></td></tr></table><br>' % ntab2[i][0], ucestxt[i]])] for i, uce in enumerate(nuces)])
- dlg.Update(4, u'texte...')
- win = message(self, items, u"Segments de texte caractéristiques - Classe %i" % self.cl, (750, 600), uceids = nuces)
+ dlg.Destroy()
+ win = message(self, items, ' - '.join([_(u"Typical text segments").decode('utf8'), "Classe %i" % self.cl]), (750, 600), uceids = nuces)
+ #win.SetWindowStyle(wx.STAY_ON_TOP)
#win.html = '<html>\n' + '<br>'.join(['<br>'.join([ucis_txt[i], '<table bgcolor = #1BF0F7 border=0><tr><td><b>score : %.2f</b></td></tr></table>' % ntab2[i][0], ucestxt[i]]) for i in range(0,len(ucestxt))]) + '\n</html>'
#win.HtmlPage.SetPage(win.html)
- dlg.Destroy()
win.Show(True)
def on_tablex(self, evt):
if 'corpus' in dir(self.Source) :
corpus = self.Source.corpus
uces = corpus.lc[self.cl-1]
- win = self.make_concord(uces, "Concordancier - Classe %i" % self.cl)
+ win = self.make_concord(uces, ' - '.join([_(u"Concordance").decode('utf8'), "Classe %i" % self.cl]))
win.Show(True)
def OnPopupThree(self, event):
corpus = self.Source.corpus
uces = [classe[i] for classe in corpus.lc for i in range(0,len(classe))]
- win = self.make_concord(uces, "Concordancier - Segments de texte classés")
+ win = self.make_concord(uces, ' - '.join([_(u"Concordance").decode('utf8'), _(u"Segments of this clustering").decode('utf8')]))
win.Show(True)
def OnPopupFour(self, event):
corpus = self.Source.corpus
uces = [classe[i] for classe in corpus.lc for i in range(0,len(classe))] + corpus.lc0
- win = self.make_concord(uces, "Concordancier - Tous les segments de texte")
+ win = self.make_concord(uces, ' - '.join([_(u"Concordance").decode('utf8'), _(u"All segments").decode('utf8')]))
win.Show(True)
def OnPopupFive(self, event):
rep.sort(key = itemgetter(1), reverse = True)
#win = message(self, u"Formes associées", wx.Size(300, 200))
items = dict([[i, '\t:\t'.join([str(val) for val in forme])] for i, forme in enumerate(rep)])
- win = message(self, items, u"Formes associées", (300, 200))
+ win = message(self, items, _(u"Associated forms").decode('utf8'), (300, 200))
#win.html = '<html>\n' + '<br>'.join([' : '.join([str(val) for val in forme]) for forme in rep]) + '\n</html>'
#win.HtmlPage.SetPage(win.html)
win.Show(True)
def __init__(self, parent, id, title, d, fline, size=(600, 500)):
wx.Frame.__init__(self, parent, id)
self.liste = ListForSpec(self, parent, d, fline[1:], menu = False)
- self.button_1 = wx.Button(self, -1, "Fermer")
+ self.button_1 = wx.Button(self, -1, _(u"Close").decode('utf8'))
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, self.button_1)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
self.__do_layout()
if not self.parametres.get('dictionary', False) :
self.corpus.make_lems(lem=self.parametres['lem'])
else :
+ print 'read new dico'
dico = ReadDicoAsDico(self.parametres['dictionary'])
self.corpus.make_lems_from_dict(dico, dolem=self.parametres['lem'])
dictname = os.path.basename(self.parametres['dictionary'])
version_user = self.pref.get('iramuteq','version_nb').split('.')
except NoOptionError :
return True
+ userab = False
+ globab = False
if version_user :
version_user[0] = int(version_user[0])
version_user[1] = int(version_user[1])
version_glob[0] = int(version_glob[0])
version_glob[1] = int(version_glob[1])
+ if len(version_user) == 3 :
+ if 'a' in version_user[2] :
+ userab = 'a'
+ version_user[2] = int(version_user[2].replace('a', ''))
+ elif 'b' in version_user[2] :
+ userab = 'b'
+ version_user[2] = int(version_user[2].replace('b', ''))
+ else :
+ version_user[2] = int(version_user[2])
+ if len(version_glob) == 3 :
+ if 'a' in version_glob[2] :
+ globab = 'a'
+ version_glob[2] = int(version_glob[2].replace('a', ''))
+ elif 'b' in version_glob[2] :
+ globab = 'b'
+ version_glob[2] = int(version_glob[2].replace('b', ''))
+ else :
+ version_glob[2] = int(version_glob[2])
if len(version_user) == len(version_glob) :
if version_glob > version_user :
return True
+ elif version_glob == version_user :
+ if globab == userab :
+ return False
+ elif globab > userab :
+ return True
+ else :
+ return False
else :
return False
- if len(version_glob) == 2 :
- if version_glob[:2] >= version_user[:2] :
+ else :
+ if version_glob > version_user :
return True
else :
return False
- elif len(version_glob) == 3 :
- if version_glob[:2] <= version_user[:2] :
- return False
- else :
- return True
def UpgradeConf(self) :
log.info('upgrade conf')
author = Pierre Ratinaud
gpl-fr = gpl-2.0-fr.txt
dev = Pierre Ratinaud (Université de Toulouse - Laboratoire LERASS - ratinaud@univ-tlse2.fr);Sébastien Déjean (Université de Toulouse);David Skalinder (Mash Strategy - davids@mash.uk.com);
-version = 0.6 alpha 11
+version = 0.6 alpha 14
licence = GNU GPL (v2)
-version_nb = 0.6.a11
\ No newline at end of file
+version_nb = 0.6.a14
\ No newline at end of file
guilanguage=french
R_mem = false
R_max_mem = 1535
-version_nb = 0.6.a11
+version_nb = 0.6.a14
rlibs = false
libsvdc = false
libsvdc_path = /usr/bin/svd
filein = parametres['dictionary']
else :
filein = None
+ if dial.corpusname.GetValue() != '' :
+ parametres['corpus_name'] = dial.corpusname.GetValue()
dial.Destroy()
ReadLexique(self.parent, lang = parametres['lang'], filein = filein)
if parametres['lang'] != 'other' and os.path.exists(self.parent.DictPath.get(parametres['lang']+'_exp', 'french_exp')):
self.paramgraph=paramgraph
self.labeltype = wx.StaticText(self, -1, _(u"Graphic type").decode('utf8'))
if self.paramgraph['clnb'] <= 3 :
- choix = [u'2D', 'web 2D']
+ choix = [u'2D']#, 'web 2D']
else :
- choix=[u'2D' ,u'3D', 'web 2D', 'web 3D']
+ choix=[u'2D' ,u'3D']#, 'web 2D', 'web 3D']
self.choicetype = wx.Choice(self, -1, (100,50), choices=choix)
self.label_format = wx.StaticText(self, -1, _(u"Picture format").decode('utf8'))
self.choix_format = wx.Choice(self, -1, (100,50), choices = ['png', 'svg'])
class StatDialog ( wx.Dialog ):
def __init__( self, parent, keys ):
- wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Settings", pos = wx.DefaultPosition, size = wx.Size( -1,-1 ), style = wx.DEFAULT_DIALOG_STYLE )
+ wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Settings").decode('utf8'), pos = wx.DefaultPosition, size = wx.Size( -1,-1 ), style = wx.DEFAULT_DIALOG_STYLE )
self.fileout = ""
self.parent = parent
gSizer1 = wx.GridSizer( 0, 2, 0, 0 )
- self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"Lemmatization", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, _(u"Lemmatization").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText1.Wrap( -1 )
gSizer1.Add( self.m_staticText1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
- radio_lemChoices = [ u"yes", u"no" ]
+ radio_lemChoices = [ _(u"yes").decode('utf8'), _(u"no").decode('utf8') ]
self.radio_lem = wx.RadioBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, radio_lemChoices, 1, wx.RA_SPECIFY_COLS )
self.radio_lem.SetSelection( 0 )
gSizer1.Add( self.radio_lem, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT|wx.ALL, 5 )
- self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Keys properties", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, _(u"Keys properties").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText2.Wrap( -1 )
gSizer1.Add( self.m_staticText2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
- self.button_5 = wx.Button( self, wx.ID_PREFERENCES, u"properties", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.button_5 = wx.Button( self, wx.ID_PREFERENCES, _(u"properties").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
gSizer1.Add( self.button_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT|wx.ALL, 5 )
- self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Dictionary", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, _(u"Dictionary").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText3.Wrap( -1 )
gSizer1.Add( self.m_staticText3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
- radio_dictchoiceChoices = [ u"indexation", u"other" ]
+ radio_dictchoiceChoices = [ _(u"indexation").decode('utf8'), _(u"other").decode('utf8') ]
self.radio_dictchoice = wx.RadioBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, radio_dictchoiceChoices, 1, wx.RA_SPECIFY_COLS )
self.radio_dictchoice.SetSelection( 0 )
gSizer1.Add( self.radio_dictchoice, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT|wx.ALL, 5 )
self.label = wx.StaticText(self, -1, _(u"Minimum frequency").decode('utf8'))
self.spin = wx.SpinCtrl(self, -1, min = 1, max = 10000, initial = 10)
self.Bind(wx.EVT_CHOICE, self.onselect, self.choice)
+ self.Bind(wx.EVT_LISTBOX, self.onchoose, self.list_box_1)
self.__set_properties()
self.__do_layout()
# end wxGlade
self.spin.SetValue(10)
self.choice.SetSelection(0)
self.choice_indice.SetSelection(0)
+ self.button_1.Enable(False)
#self.SetMinSize(wx.Size(300, 400))
# end wxGlade
else :
for et in self.listet :
self.list_box_1.Append(et)
-
+
+ def onchoose(self, evt):
+ if self.choice.GetSelection()== 0 :
+ if len(self.list_box_1.GetSelections()) > 0 :
+ self.button_1.Enable(True)
+ else :
+ self.button_1.Enable(False)
+ elif self.choice.GetSelection() == 1 :
+ if len(self.list_box_1.GetSelections()) > 1 :
+ self.button_1.Enable(True)
+ else :
+ self.button_1.Enable(False)
class PrefDendro ( wx.Dialog ):
class message(wx.Frame):
def __init__(self, parent, items, title, size, save = True, uceids = None):
- wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.DEFAULT_FRAME_STYLE )
+ wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL )
self.save = save
self.uceids = uceids
- self.ira = wx.GetApp().GetTopWindow()
+ self.ira = wx.GetApp().GetTopWindow()
+ self.SetIcon(self.ira._icon)
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
self.items = items
self.html = ""
def __del__( self ):
pass
-# class FreqDialog(wx.Dialog):
-# def __init__(self, parent, ID, listcol, title, size) :
-# wx.Dialog.__init__(self, parent, ID, title, size=size, pos=wx.DefaultPosition,style=wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK )
-# pre = wx.PreDialog()
-# pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
-# pre.Create(parent, ID, title, wx.DefaultPosition, size, wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK)
-# self.PostCreate(pre)
-# self.parent = parent
-# sizer = wx.BoxSizer(wx.VERTICAL)
-# #self.content = parent.content
-# self.header = listcol
-# #LABELLIST = []
-# #for i in self.header:
-# # forme = i
-# # if len(forme) > 60 :
-# # LABELLIST.append(i[0:60])
-# # else:
-# # LABELLIST.append(i)
-# self.list_box_1 = wx.ListBox(self, -1, choices=self.header, style=wx.LB_EXTENDED | wx.LB_HSCROLL)
-# sizer.Add(self.list_box_1, 0, 5)
-#
-# btnsizer = wx.BoxSizer(wx.HORIZONTAL)
-#
-# btn = wx.Button(self, wx.ID_CANCEL)
-# btnsizer.Add(btn)
-#
-# btn = wx.Button(self, wx.ID_OK)
-# btn.SetDefault()
-# btnsizer.Add(btn)
-#
-# sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5)
-# self.SetSizer(sizer)
-# sizer.Fit(self)
-# self.SetTitle(_(u"Selection").decode('utf8'))
-#
- # end wxGlade
-
-
class FreqDialog ( wx.Dialog ):
def __init__( self, parent, listcol, title, size = wx.Size( -1,-1 ), showNA = True):
class MessageImage(wx.Frame):
def __init__(self, parent, parametres, title, size):
- wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.DEFAULT_FRAME_STYLE )
+ wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL )
+ self.ira = wx.GetApp().GetTopWindow()
+ self.SetIcon(self.ira._icon)
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
self.parametres = parametres
self.imageFile = self.parametres['tmpgraph']
if parametres['svg'] == 'TRUE' :
self.imagename = u"image.svg"
else :
- self.imagename = u"iamge.png"
+ self.imagename = u"image.png"
self.HtmlPage = wx.html.HtmlWindow(self, -1)
self.HtmlPage.SetMinSize(size)
if "gtk2" in wx.PlatformInfo:
def rmtab(self, analyse) :
del self.opened[analyse['uuid']]
+
+ def update(self, analyse) :
+ if 'matrix_name' in analyse :
+ self.matrixanalyse[analyse['uuid']].update(analyse)
+ elif 'corpus_name' in analyse :
+ self.corpus[analyse['uuid']].update(analyse)
+ elif 'corpus' in analyse :
+ self.analyses[analyse['uuid']].update(analyse)
+ else :
+ toupdate = [an for an in self.matrixanalyse[analyse['matrix']]['analyses'] if an['uuid'] == analyse['uuid']]
+ toupdate[0].update(analyse)
+ self.write()
+ self.read()
def clean(self) :
corpustodel = [corpus for corpus in self.history if not os.path.exists(corpus['ira'])]
self.m_staticText5.Wrap( -1 )
fgSizer3.Add( self.m_staticText5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
- choice3Choices = [ u"dynamique", u"statique", u"3D", u'web2D', u"web3D" ]
+ choice3Choices = [ u"dynamique", u"statique", u"3D"]#, u'web2D', u"web3D" ]
self.choice3 = wx.Choice( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice3Choices, 0 )
self.choice3.SetSelection( 0 )
self.__set_properties()
# Connect Events
- # if not self.paramsimi['first'] :
- # self.check_coord.Bind( wx.EVT_CHECKBOX, self.OnKeepCoords )
- # self.choice3.Bind( wx.EVT_CHOICE, self.OnChangeType )
- # self.check2.Bind( wx.EVT_CHECKBOX, self.OnCheck2 )
- # self.checki.Bind( wx.EVT_CHECKBOX, self.OnChecki )
- # self.check_vcex.Bind( wx.EVT_CHECKBOX, self.OnCheck_vcex )
- # self.checkit.Bind( wx.EVT_CHECKBOX, self.OnCheckit )
- # self.check_s_size.Bind( wx.EVT_CHECKBOX, self.OnCheck_s_size )
-
- # Connect Events
if not self.paramsimi['first'] :
self.check_coord.Bind( wx.EVT_CHECKBOX, self.OnKeepCoords )
self.choice3.Bind( wx.EVT_CHOICE, self.OnChangeType )
self.parametres['listet'] = self.etline
else:
vardial.Destroy()
- last = self.dial.listcol.GetFirstSelected()
- lastl = [self.dial.listcol.GetFirstSelected()]
- indexes = [self.dial.listcol.getColumnText(self.dial.listcol.GetFirstSelected(),0)]
- while self.dial.listcol.GetNextSelected(last) != -1:
- last = self.dial.listcol.GetNextSelected(last)
- lastl.append(last)
- indexes.append(self.dial.listcol.getColumnText(last,0))
- column = [actives.index(val) for val in indexes]
- column.sort()
- with open(pathout, 'w') as f :
- f.write('\n'.join([`val` for val in column]))
- self.make_param()
- self.dial.Destroy()
+ self.val = False
+ self.dial.Destroy()
+ if self.val :
+ last = self.dial.listcol.GetFirstSelected()
+ lastl = [self.dial.listcol.GetFirstSelected()]
+ indexes = [self.dial.listcol.getColumnText(self.dial.listcol.GetFirstSelected(),0)]
+ while self.dial.listcol.GetNextSelected(last) != -1:
+ last = self.dial.listcol.GetNextSelected(last)
+ lastl.append(last)
+ indexes.append(self.dial.listcol.getColumnText(last,0))
+ column = [actives.index(val) for val in indexes]
+ column.sort()
+ with open(pathout, 'w') as f :
+ f.write('\n'.join([`val` for val in column]))
+ self.make_param()
+ self.dial.Destroy()
else :
self.dial.Destroy()
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
- inkscape:window-width="2878"
- inkscape:window-height="1778"
- inkscape:window-x="0"
- inkscape:window-y="20"
+ inkscape:window-width="2837"
+ inkscape:window-height="1776"
+ inkscape:window-x="43"
+ inkscape:window-y="24"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true">
x="110.10663"
y="146.45171"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#1c1010;fill-opacity:1;font-family:gargi;-inkscape-font-specification:gargi Medium" /></flowRegion><flowPara
- id="flowPara3866">Version 0.6 alpha 10</flowPara></flowRoot> <flowRoot
+ id="flowPara3866">Version 0.6 alpha 14</flowPara></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot3868"
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Bitstream Vera Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"
file_menu.Append(wx.ID_EXIT, _(u"Exit").decode('utf8'))
edit_menu = wx.Menu()
- edit_menu.Append(wx.ID_PREFERENCES, '', _(u'Preferences').decode('utf8'))
+ edit_menu.Append(wx.ID_PREFERENCES, _(u'Preferences').decode('utf8'))
view_menu = wx.Menu()
view_menu.Append(ID_ACCEUIL, _(u"Home page").decode('utf8'))
#--------------------------------------------------------------------
self.statusbar = self.CreateStatusBar(2, wx.ST_SIZEGRIP)
self.statusbar.SetStatusWidths([-2, -3])
- self.statusbar.SetStatusText(_(u"Ready"), 0)
- self.statusbar.SetStatusText(_(u"Welcome"), 1)
+ self.statusbar.SetStatusText(_(u"Ready").decode('utf8'), 0)
+ self.statusbar.SetStatusText(_(u"Welcome").decode('utf8'), 1)
# min size for the frame itself isn't completely done.
# see the end up FrameManager::Update() for the test
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: iramuteq 0.6 alpha 1\n"
+"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-01 19:26+0100\n"
-"PO-Revision-Date: 2013-02-02 09:23+0100\n"
-"Last-Translator: Pierre Ratinaud <ratinaud@univ-tlse2.fr>\n"
-"Language-Team: LANGUAGE <ratinaud@univ-tlse2.fr>\n"
+"POT-Creation-Date: 2014-09-11 16:30+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: English\n"
-"X-Poedit-Country: UNITED KINGDOM\n"
-#: iramuteq.py:268
+#: layout.py:507
+msgid "3D graph"
+msgstr ""
+
+#: iramuteq.py:279
+msgid "About..."
+msgstr ""
+
+#: dialog.py:1692 dialog.py:1693
+msgid "Absent form"
+msgstr ""
+
+#: dialog.py:1336
+msgid "Actives variables (almost 3)"
+msgstr ""
+
+#: dialog.py:1873
+msgid "Add cluster size"
+msgstr ""
+
+#: layout.py:336 tree.py:433 tree.py:638
+msgid "Antiprofiles"
+msgstr ""
+
+#: layout.py:133
+msgid "Are you sure ?"
+msgstr ""
+
+#: dialog.py:952 dialog.py:1029
+msgid "Attention"
+msgstr ""
+
+#: dialog.py:574
+msgid "Avoid overlay"
+msgstr ""
+
+#: dialog.py:2083
+msgid "Background color"
+msgstr ""
+
+#: dialog.py:1247
+msgid "Be carefull : computation of repeated segments profiles can be very long on large corpus"
+msgstr ""
+
+#: layout.py:487 layout.py:514
+msgid "CA"
+msgstr ""
+
+#: dialog.py:2345
+msgid "Change ..."
+msgstr ""
+
+#: dialog.py:1215
+msgid "Characteristic text segments"
+msgstr ""
+
+#: dialog.py:82 dialog.py:2284 dialog.py:2645
+msgid "Characters set"
+msgstr ""
+
+#: dialog.py:393
+msgid "Check"
+msgstr ""
+
+#: dialog.py:354
+msgid ""
+"Check for new \n"
+"releases at startup"
+msgstr ""
+
+#: dialog.py:383
+msgid ""
+"Check installation \n"
+"of R packages"
+msgstr ""
+
+#: dialog.py:1481 iramuteq.py:246
+msgid "Chi2"
+msgstr ""
+
+#: dialog.py:1728
+msgid "Choice"
+msgstr ""
+
+#: guifunct.py:27
+msgid "Choose a file"
+msgstr ""
+
+#: dialog.py:2490
+msgid "Choose a folder"
+msgstr ""
+
+#: dialog.py:2463
+msgid "Cleaning"
+msgstr ""
+
+#: layout.py:382 layout.py:479
+msgid "Cluster"
+msgstr ""
+
+#: dialog.py:1308 iramuteq.py:251 iramuteq.py:272 layout.py:519
+#: OptionAlceste.py:29 tree.py:394
+msgid "Clustering"
+msgstr ""
+
+#: tree.py:441 tree.py:620 tree.py:629
+msgid "Clusters statistics"
+msgstr ""
+
+#: dialog.py:1856
+msgid "Color or black and white"
+msgstr ""
+
+#: tree.py:439 tree.py:593
+msgid "Colored corpus"
+msgstr ""
+
+#: dialog.py:63 dialog.py:64 dialog.py:68
+msgid "Column separator"
+msgstr ""
+
+#: guifunct.py:337
+msgid "Communities"
+msgstr ""
+
+#: tree.py:462
+msgid "Compute Tgen"
+msgstr ""
+
+#: dialog.py:2277
+msgid "Corpus' name"
+msgstr ""
+
+#: dialog.py:2312
+msgid "Default"
+msgstr ""
+
+#: dialog.py:440
+msgid "Default R mirror"
+msgstr ""
+
+#: OptionAlceste.py:52
+msgid "Default values"
+msgstr ""
+
+#: dialog.py:2409
+msgid "Delete characters not in this list"
+msgstr ""
+
+#: tree.py:473
+msgid "Delete from history"
+msgstr ""
+
+#: dialog.py:1797
+msgid "Dendrogram"
+msgstr ""
+
+#: dialog.py:1841
+msgid "Dendrogram type"
+msgstr ""
+
+#: dialog.py:2302
+msgid "Dictionary"
+msgstr ""
+
+#: tree.py:607
+msgid "Done"
+msgstr ""
+
+#: guifunct.py:610
+msgid "Edges color"
+msgstr ""
+
+#: guifunct.py:275
+msgid "Edges threshold"
+msgstr ""
+
+#: guifunct.py:510
+msgid "Edges width proportional to score"
+msgstr ""
+
+#: iramuteq.py:283
msgid "Edition"
-msgstr "Edition"
+msgstr ""
-#: iramuteq.py:226
+#: iramuteq.py:234
msgid "Exit"
-msgstr "Exit"
+msgstr ""
+
+#: tree.py:443
+msgid "Export Clusters"
+msgstr ""
-#: iramuteq.py:214
+#: tree.py:438
+msgid "Export corpus"
+msgstr ""
+
+#: tree.py:455
+msgid "Export dictionary"
+msgstr ""
+
+#: dialog.py:2915
+msgid "Export finished. Open in a web browser :"
+msgstr ""
+
+#: dialog.py:924
+msgid "Export for ..."
+msgstr ""
+
+#: tree.py:456
+msgid "Export lemma dictionary"
+msgstr ""
+
+#: iramuteq.py:219
msgid "Extract mods"
-msgstr "Extract mods"
+msgstr ""
+
+#: iramuteq.py:220
+msgid "Extract thematics"
+msgstr ""
+
+#: dialog.py:2676
+msgid "Extraction type"
+msgstr ""
-#: iramuteq.py:267
+#: layout.py:496
+msgid "Factor"
+msgstr ""
+
+#: dialog.py:590
+msgid "Factor x : "
+msgstr ""
+
+#: dialog.py:592
+msgid "Factor y : "
+msgstr ""
+
+#: dialog.py:594
+msgid "Factor z : "
+msgstr ""
+
+#: iramuteq.py:282
msgid "File"
-msgstr "File"
+msgstr ""
-#: iramuteq.py:272
+#: guifunct.py:51 guifunct.py:62 guifunct.py:73
+msgid "File format"
+msgstr ""
+
+#: dialog.py:53 dialog.py:54 dialog.py:58
+msgid "First column is an id"
+msgstr ""
+
+#: dialog.py:43 dialog.py:44 dialog.py:48
+msgid "First line is header"
+msgstr ""
+
+#: iramuteq.py:245
+msgid "Frequencies"
+msgstr ""
+
+#: dialog.py:2395
+msgid "General"
+msgstr ""
+
+#: guifunct.py:375
+msgid "Graph settings"
+msgstr ""
+
+#: dialog.py:544 guifunct.py:239
+msgid "Graphic type"
+msgstr ""
+
+#: guifunct.py:683
+msgid "Graphical settings"
+msgstr ""
+
+#: guifunct.py:549
+msgid "Gray scale on text proportional to frequency (0=black, 1=white)"
+msgstr ""
+
+#: iramuteq.py:287
msgid "Help"
-msgstr "Help"
+msgstr ""
-#: iramuteq.py:232
+#: iramuteq.py:240
msgid "Home page"
-msgstr "Home page"
+msgstr ""
+
+#: iramuteq.py:213
+msgid "Import from TXM"
+msgstr ""
-#: iramuteq.py:210
+#: iramuteq.py:211
msgid "Import from factiva"
-msgstr "Import from factiva"
+msgstr ""
+
+#: tree.py:384
+msgid "Informations"
+msgstr ""
+
+#: dialog.py:369
+msgid "Interface language"
+msgstr ""
+
+#: dialog.py:2445
+msgid "Keep punctuation"
+msgstr ""
+
+#: dialog.py:2293
+msgid "Language"
+msgstr ""
+
+#: guifunct.py:224
+msgid "Layout"
+msgstr ""
+
+#: dialog.py:919 dialog.py:1255
+msgid "Lemmatised corpus"
+msgstr ""
+
+#: iramuteq.py:1131
+msgid "License GNU GPL"
+msgstr ""
+
+#: dialog.py:972
+msgid "Like ALCESTE"
+msgstr ""
+
+#: dialog.py:972
+msgid "Like Lexico"
+msgstr ""
+
+#: dialog.py:2826
+msgid "Limit frequency"
+msgstr ""
+
+#: dialog.py:570
+msgid "Limit points by cluster chi2"
+msgstr ""
+
+#: dialog.py:2846
+msgid "Limit rank"
+msgstr ""
+
+#: layout.py:72
+msgid "List of not plotted points : "
+msgstr ""
+
+#: dialog.py:599 guifunct.py:660
+msgid "Make a movie"
+msgstr ""
+
+#: dialog.py:2367
+msgid "Make text segments"
+msgstr ""
+
+#: iramuteq.py:285 iramuteq.py:446 iramuteq.py:635 iramuteq.py:697
+#: iramuteq.py:700
+msgid "Matrix analysis"
+msgstr ""
+
+#: dialog.py:400
+msgid ""
+"Maximum \n"
+"memory for R"
+msgstr ""
+
+#: OptionAlceste.py:43
+msgid "Maximum number of analyzed forms"
+msgstr ""
+
+#: dialog.py:2003
+msgid "Maximum number of forms"
+msgstr ""
+
+#: dialog.py:1224
+msgid "Maximum number of text segments"
+msgstr ""
+
+#: guifunct.py:262
+msgid "Maximum tree"
+msgstr ""
+
+#: dialog.py:1273
+msgid "Maxmum size of segments"
+msgstr ""
+
+#: dialog.py:1739 dialog.py:2866
+msgid "Minimum frequency"
+msgstr ""
+
+#: OptionAlceste.py:40
+msgid "Minimum frequency of an analyzed form (2=automatic)"
+msgstr ""
+
+#: dialog.py:1281
+msgid "Minimum frequency of segments"
+msgstr ""
+
+#: OptionAlceste.py:37
+msgid "Minimum frequency of text segments by clusters (0=automatic)"
+msgstr ""
+
+#: dialog.py:1265
+msgid "Minimum size of segments"
+msgstr ""
+
+#: dialog.py:1371
+msgid "Minimum text segments frenquency in clusters (2= automatic)"
+msgstr ""
+
+#: dialog.py:2667
+msgid "Modalities (one by line, with the *)"
+msgstr ""
+
+#: iramuteq.py:328 tree.py:440
+msgid "Navigator"
+msgstr ""
+
+#: dialog.py:1354 dialog.py:1582
+msgid "Next"
+msgstr ""
+
+#: corpus.py:1431
+msgid "No Text in corpus. Are you sure of the formatting ?"
+msgstr ""
+
+#: dialog.py:2452
+msgid "No space between two forms"
+msgstr ""
+
+#: dialog.py:1361 OptionAlceste.py:35
+msgid "Number of terminal clusters on phase 1"
+msgstr ""
+
+#: dialog.py:2680
+msgid "One file by modality"
+msgstr ""
+
+#: iramuteq.py:280
+msgid "Online help..."
+msgstr ""
+
+#: dialog.py:2680
+msgid "Only one file"
+msgstr ""
-#: corpus.py:1147
-msgid "No Text in corpora. Are you sure of the formatting ?"
-msgstr "No Text in corpora. Are you sure of the formatting ?"
+#: tree.py:434 tree.py:469
+msgid "Open ..."
+msgstr ""
-#: iramuteq.py:190
+#: iramuteq.py:191
msgid "Open a matrix"
-msgstr "Open a matrix"
+msgstr ""
-#: iramuteq.py:194
-msgid "Open a text corpora"
-msgstr "Open a text corpora"
+#: iramuteq.py:195
+msgid "Open a text corpus"
+msgstr ""
-#: iramuteq.py:198
+#: iramuteq.py:199
msgid "Open an analysis"
-msgstr "Open an analysis"
+msgstr ""
+
+#: tree.py:607
+msgid "Open in a web browser ?"
+msgstr ""
+
+#: dialog.py:2320
+msgid "Other"
+msgstr ""
+
+#: dialog.py:930 dialog.py:976 dialog.py:1007 parse_factiva_xml.py:94
+msgid "Output file"
+msgstr ""
+
+#: dialog.py:2332
+msgid "Output folder"
+msgstr ""
+
+#: tree.py:437
+msgid "POS profiles"
+msgstr ""
+
+#: dialog.py:1080 dialog.py:2273
+msgid "Path"
+msgstr ""
+
+#: dialog.py:428 dialog.py:437
+msgid "Path : "
+msgstr ""
-#: iramuteq.py:229
+#: dialog.py:550 dialog.py:1978 guifunct.py:247
+msgid "Picture format"
+msgstr ""
+
+#: dialog.py:1805 guifunct.py:385
+msgid "Picture size"
+msgstr ""
+
+#: dialog.py:341
+msgid "Play a sound at the end of analysis"
+msgstr ""
+
+#: iramuteq.py:602 tree.py:712 tree.py:1010
+msgid "Please wait..."
+msgstr ""
+
+#: tree.py:495
+msgid "Please wait...Reading corpus"
+msgstr ""
+
+#: OptionAlceste.py:47
+msgid "Potato mode (less precise, faster)"
+msgstr ""
+
+#: iramuteq.py:237
msgid "Preferences"
-msgstr "Preferences"
+msgstr ""
-#: iramuteq.py:222
-msgid "Save tab as..."
-msgstr "Save tab as..."
+#: dialog.py:1357 dialog.py:1581
+msgid "Previous"
+msgstr ""
+
+#: layout.py:510
+msgid "Profiles"
+msgstr ""
-#: iramuteq.py:233
+#: iramuteq.py:254
+msgid "Prototypical Analysis"
+msgstr ""
+
+#: dialog.py:2401
+msgid "Put text in lowercase"
+msgstr ""
+
+#: dialog.py:432
+msgid "R path"
+msgstr ""
+
+#: dialog.py:1220
+msgid "Ranking score"
+msgstr ""
+
+#: dialog.py:2803
+msgid "Ranks"
+msgstr ""
+
+#: layout.py:375
+msgid "Reading profiles"
+msgstr ""
+
+#: tree.py:392
+msgid "Reinert method"
+msgstr ""
+
+#: iramuteq.py:249 iramuteq.py:270
+msgid "Reinert's Method"
+msgstr ""
+
+#: tree.py:385
+msgid "Rename"
+msgstr ""
+
+#: dialog.py:1243 layout.py:516 tree.py:436
+msgid "Repeated segments profiles"
+msgstr ""
+
+#: dialog.py:2429
+msgid "Replace apostrophe by space"
+msgstr ""
+
+#: dialog.py:2437
+msgid "Replace dash by space"
+msgstr ""
+
+#: tree.py:442 tree.py:647 tree.py:657
+msgid "Report"
+msgstr ""
+
+#: dialog.py:556
+msgid "Representation"
+msgstr ""
+
+#: dialog.py:1521
+msgid "Results"
+msgstr ""
+
+#: dialog.py:2605
+msgid "Save as ..."
+msgstr ""
+
+#: dialog.py:1736 guifunct.py:209
+msgid "Score"
+msgstr ""
+
+#: guifunct.py:309
+msgid "Score on edges"
+msgstr ""
+
+#: tree.py:616
+msgid "Search ..."
+msgstr ""
+
+#: parse_factiva_xml.py:89
+msgid "Select a directory of txt files"
+msgstr ""
+
+#: parse_factiva_xml.py:87
+msgid "Select a directory of xml files"
+msgstr ""
+
+#: dialog.py:2323 dialog.py:2640
+msgid "Select a file"
+msgstr ""
+
+#: guifunct.py:356
+msgid "Select a variable"
+msgstr ""
+
+#: dialog.py:1726
+msgid "Select by"
+msgstr ""
+
+#: tabsimi.py:97
+msgid "Select columns"
+msgstr ""
+
+#: dialog.py:2782
+msgid "Selection"
+msgstr ""
+
+#: dialog.py:330 dialog.py:469 dialog.py:970 dialog.py:2120 dialog.py:2250
+#: dialog.py:2789 guifunct.py:160 OptionAlceste.py:63
+msgid "Settings"
+msgstr ""
+
+#: iramuteq.py:241
msgid "Show data"
-msgstr "Show data"
+msgstr ""
-#: iramuteq.py:234
+#: iramuteq.py:242
msgid "Show results"
-msgstr "Show results"
+msgstr ""
-#: iramuteq.py:213
+#: iramuteq.py:253 iramuteq.py:273
+msgid "Similarities Analysis"
+msgstr ""
+
+#: tree.py:395
+msgid "Similarities analysis"
+msgstr ""
+
+#: OptionAlceste.py:31
+msgid "Size of rst1"
+msgstr ""
+
+#: OptionAlceste.py:33
+msgid "Size of rst2"
+msgstr ""
+
+#: iramuteq.py:267 tree.py:390
+msgid "Specificities and CA"
+msgstr ""
+
+#: dialog.py:596 guifunct.py:647
+msgid "Spheres transparency"
+msgstr ""
+
+#: iramuteq.py:218 tree.py:417
msgid "Split from variable"
-msgstr "Split from variable"
-
-#: iramuteq.py:270
-#: iramuteq.py:427
-#: iramuteq.py:636
-#: tableau.py:185
-msgid "Spreadsheet analysis"
-msgstr "Spreadsheet analysis"
-
-#: iramuteq.py:271
-#: iramuteq.py:428
-#: iramuteq.py:635
-#: openanalyse.py:116
-#: openanalyse.py:119
-#: openanalyse.py:122
-#: openanalyse.py:125
-#: openanalyse.py:128
-#: openanalyse.py:131
-#: tableau.py:186
+msgstr ""
+
+#: tree.py:418
+msgid "Split matrix"
+msgstr ""
+
+#: layout.py:544
+msgid "Stat by cluster"
+msgstr ""
+
+#: iramuteq.py:266 tree.py:389
+msgid "Statistics"
+msgstr ""
+
+#: tree.py:398
+msgid "Sub corpus from metadata"
+msgstr ""
+
+#: tree.py:399
+msgid "Sub corpus from thematic"
+msgstr ""
+
+#: tree.py:400
+msgid "Subcorpus"
+msgstr ""
+
+#: dialog.py:1340
+msgid "Supplementaries variables (almost 1)"
+msgstr ""
+
+#: dialog.py:1327
+msgid "Supplementary variables are marked with a *"
+msgstr ""
+
+#: dialog.py:562
+msgid "Take the x first points"
+msgstr ""
+
+#: dialog.py:566
+msgid "Take the x first points by cluster"
+msgstr ""
+
+#: iramuteq.py:286 iramuteq.py:447 iramuteq.py:634 iramuteq.py:696
+#: iramuteq.py:699 openanalyse.py:152 openanalyse.py:155 openanalyse.py:158
+#: openanalyse.py:161 openanalyse.py:164 openanalyse.py:167
msgid "Text analysis"
-msgstr "Text analysis"
+msgstr ""
-#: iramuteq.py:219
+#: dialog.py:2072
+msgid "Text color"
+msgstr ""
+
+#: dialog.py:2350
+msgid "Text mark"
+msgstr ""
+
+#: guifunct.py:296
+msgid "Text on vertex"
+msgstr ""
+
+#: dialog.py:2375
+msgid "Text segments build process"
+msgstr ""
+
+#: dialog.py:2384
+msgid "Text segments size"
+msgstr ""
+
+#: dialog.py:73 dialog.py:74 dialog.py:78
+msgid "Text separator"
+msgstr ""
+
+#: dialog.py:560 dialog.py:2032 guifunct.py:322
+msgid "Text size"
+msgstr ""
+
+#: dialog.py:583
+msgid "Text size proportional to chi2"
+msgstr ""
+
+#: dialog.py:576
+msgid "Text size proportional to frequency"
+msgstr ""
+
+#: tree.py:461
+msgid "Tgen Editor"
+msgstr ""
+
+#: dialog.py:952 dialog.py:1029
+msgid "This file already exists. Continue anyway ?"
+msgstr ""
+
+#: layout.py:133
+msgid "This file will be delete : "
+msgstr ""
+
+#: iramuteq.py:227
msgid "Tools"
-msgstr "Tools"
+msgstr ""
+
+#: guifunct.py:196
+msgid "Use previous coordinates"
+msgstr ""
+
+#: dialog.py:420
+msgid "Use svdlibc"
+msgstr ""
+
+#: dialog.py:2359
+msgid "Use the expression dictionary"
+msgstr ""
+
+#: dialog.py:1721 dialog.py:2017
+msgid "Used forms"
+msgstr ""
+
+#: dialog.py:2799
+msgid "Variables"
+msgstr ""
+
+#: dialog.py:2657
+msgid "Variables (with the * but without the _)"
+msgstr ""
+
+#: dialog.py:1748
+msgid "Variables choice"
+msgstr ""
+
+#: dialog.py:2217
+msgid "Variables selection"
+msgstr ""
+
+#: guifunct.py:598
+msgid "Vertex color"
+msgstr ""
+
+#: guifunct.py:626
+msgid "Vertex size"
+msgstr ""
+
+#: guifunct.py:416
+msgid "Vertex size proportional to frequency"
+msgstr ""
+
+#: guifunct.py:463
+msgid "Vertex text size proportional to frequency"
+msgstr ""
-#: iramuteq.py:269
-#: iramuteq.py:426
-#: iramuteq.py:564
-#: iramuteq.py:634
-#: tableau.py:184
+#: iramuteq.py:284 iramuteq.py:445 iramuteq.py:574 iramuteq.py:633
msgid "View"
-msgstr "View"
+msgstr ""
-#: iramuteq.py:206
+#: dialog.py:1988
+msgid "Word size proportional to ..."
+msgstr ""
+
+#: iramuteq.py:275
+msgid "WordCloud"
+msgstr ""
+
+#: tree.py:396
+msgid "Wordcloud"
+msgstr ""
+
+#: dialog.py:1927
+msgid "Wordcloud settings"
+msgstr ""
+
+#: dialog.py:1222
+msgid "absolute (sum of chi2 of marked forms in segment)"
+msgstr ""
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2021
+msgid "actives"
+msgstr ""
+
+#: dialog.py:1722 dialog.py:2021
+msgid "actives and supplementaries"
+msgstr ""
+
+#: OptionAlceste.py:32
+msgid "actives forms"
+msgstr ""
+
+#: tree.py:468
+msgid "antiprofiles"
+msgstr ""
+
+#: dialog.py:2832 dialog.py:2852
+msgid "automatic (mean)"
+msgstr ""
+
+#: dialog.py:1883
+msgid "bar"
+msgstr ""
+
+#: dialog.py:1860
+msgid "black and white"
+msgstr ""
+
+#: dialog.py:2154
+msgid "black and white graphical"
+msgstr ""
+
+#: dialog.py:2257
+msgid "characters"
+msgstr ""
+
+#: dialog.py:1733 dialog.py:1735 dialog.py:1992
+msgid "chi2"
+msgstr ""
+
+#: dialog.py:1883
+msgid "circular diagram"
+msgstr ""
+
+#: dialog.py:1481
+msgid "cluster"
+msgstr ""
+
+#: dialog.py:559 dialog.py:873
+msgid "clusters"
+msgstr ""
+
+#: dialog.py:1860
+msgid "color"
+msgstr ""
+
+#: dialog.py:2148
+msgid "column percentage"
+msgstr ""
+
+#: dialog.py:557
+msgid "coordinates"
+msgstr ""
+
+#: dialog.py:2269 dialog.py:2636
+msgid "corpus"
+msgstr ""
+
+#: dialog.py:557
+msgid "correlations"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "double on RST"
+msgstr ""
+
+#: dialog.py:2132
+msgid "expected values"
+msgstr ""
+
+#: dialog.py:1481
+msgid "form"
+msgstr ""
+
+#: dialog.py:1992
+msgid "frequency"
+msgstr ""
+
+#: iramuteq.py:207
msgid "from copy/paste"
-msgstr "from copy/paste"
+msgstr ""
-#: iramuteq.py:205
+#: iramuteq.py:206
msgid "from mail"
-msgstr "from mail"
+msgstr ""
-#: iramuteq.py:204
+#: iramuteq.py:205
msgid "from xml"
-msgstr "from xml"
+msgstr ""
+
+#: dialog.py:2151
+msgid "graphical"
+msgstr ""
+
+#: dialog.py:554 dialog.py:1813 dialog.py:1950 guifunct.py:393
+msgid "height"
+msgstr ""
+
+#: dialog.py:1733
+msgid "hypergeometrical law"
+msgstr ""
+
+#: dialog.py:2832 dialog.py:2852
+msgid "manual"
+msgstr ""
+
+#: dialog.py:1727
+msgid "modalities"
+msgstr ""
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1259 dialog.py:1331
+msgid "no"
+msgstr ""
+
+#: dialog.py:2129
+msgid "observed values"
+msgstr ""
+
+#: dialog.py:2257
+msgid "occurrences"
+msgstr ""
+#: dialog.py:2257
+msgid "paragraphs"
+msgstr ""
+
+#: dialog.py:1222
+msgid "relative (mean of chi2 of marked forms in segment)"
+msgstr ""
+
+#: dialog.py:2135
+msgid "residuals"
+msgstr ""
+
+#: dialog.py:2145
+msgid "row percentage"
+msgstr ""
+
+#: dialog.py:1481
+msgid "see"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "simple on text segments"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "simple on texts"
+msgstr ""
+
+#: dialog.py:2138
+msgid "standardized residuals"
+msgstr ""
+
+#: dialog.py:559
+msgid "stars"
+msgstr ""
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2021
+msgid "supplementaries"
+msgstr ""
+
+#: OptionAlceste.py:45
+msgid "svd method"
+msgstr ""
+
+#: dialog.py:2686
+msgid "thematics (one by line, with the -*)"
+msgstr ""
+
+#: dialog.py:2142
+msgid "total percentage"
+msgstr ""
+
+#: dialog.py:1727
+msgid "variables"
+msgstr ""
+
+#: dialog.py:552 dialog.py:1824 dialog.py:1962 guifunct.py:400
+msgid "width"
+msgstr ""
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1259 dialog.py:1331
+msgid "yes"
+msgstr ""
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# Pierre Ratinaud <ratinaud@univ-tlse2.fr>, 2014.
msgid ""
msgstr ""
"Project-Id-Version: iramuteq 0.6 alpha 1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-01 19:26+0100\n"
-"PO-Revision-Date: 2013-02-01 19:37+0100\n"
+"POT-Creation-Date: 2014-12-02 18:12+0100\n"
+"PO-Revision-Date: 2014-12-02 18:17+0200\n"
"Last-Translator: Pierre Ratinaud <ratinaud@univ-tlse2.fr>\n"
"Language-Team: LANGUAGE <ratinaud@univ-tlse2.fr>\n"
-"Language: \n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: French\n"
-"X-Poedit-Country: FRANCE\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
-#: iramuteq.py:268
+#: layout.py:510
+msgid "3D graph"
+msgstr "Graphe 3D"
+
+#: iramuteq.py:294
+msgid "About..."
+msgstr "A propos..."
+
+#: dialog.py:1692 dialog.py:1693
+msgid "Absent form"
+msgstr "Formes absentes"
+
+#: layout.py:772 textstat.py:50
+msgid "Abstract"
+msgstr "Résumé"
+
+#: layout.py:775
+msgid "Actives forms"
+msgstr "Formes actives"
+
+#: dialog.py:1336
+msgid "Actives variables (almost 3)"
+msgstr "Variables actives (au moins 3)"
+
+#: dialog.py:1901
+msgid "Add cluster size"
+msgstr "Ajouter la taille des classes"
+
+#: ProfList.py:700
+msgid "All segments"
+msgstr "Tous les segments"
+
+#: layout.py:339 tree.py:444 tree.py:657
+msgid "Antiprofiles"
+msgstr "Antiprofils"
+
+#: ProfList.py:332
+msgid "Antonym"
+msgstr "Antonyme"
+
+#: layout.py:133
+msgid "Are you sure ?"
+msgstr "Êtes-vous sûr ?"
+
+#: Liste.py:163 Liste.py:180 listlex.py:198 listlex.py:233 ProfList.py:313
+#: ProfList.py:754
+msgid "Associated forms"
+msgstr "Formes associées"
+
+#: dialog.py:952 dialog.py:1029
+msgid "Attention"
+msgstr "Attention"
+
+#: dialog.py:574
+msgid "Avoid overlay"
+msgstr "Empêcher les recouvrements"
+
+#: dialog.py:2112
+msgid "Background color"
+msgstr "Couleur du fond"
+
+#: layout.py:728
+msgid "Banal forms"
+msgstr "Formes banales"
+
+#: dialog.py:1247
+msgid "Be carefull : computation of repeated segments profiles can be very long on large corpus"
+msgstr "Attention : le calcul des profils de segments répétés peut être très long sur de gros corpus"
+
+#: dialog.py:2638
+msgid "Build sub corpus"
+msgstr "Construire un sous-corpus"
+
+#: layout.py:490 layout.py:517 layout.py:742
+msgid "CA"
+msgstr "AFC"
+
+#: layout.py:741
+msgid "CA POS"
+msgstr "AFC Types"
+
+#: layout.py:738
+msgid "CA forms"
+msgstr "AFC sur les formes"
+
+#: dialog.py:2376
+msgid "Change ..."
+msgstr "Changer ..."
+
+#: dialog.py:1215
+msgid "Characteristic text segments"
+msgstr "Segments de texte caractéristiques"
+
+#: dialog.py:82 dialog.py:2313 dialog.py:2706 layout.py:1030
+msgid "Characters set"
+msgstr "Encodage"
+
+#: dialog.py:393
+msgid "Check"
+msgstr "Vérifier"
+
+#: dialog.py:354
+msgid ""
+"Check for new \n"
+"releases at startup"
+msgstr ""
+"Vérifier l'existence d'une\n"
+"nouvelle version au démarrage"
+
+#: dialog.py:383
+msgid ""
+"Check installation \n"
+"of R packages"
+msgstr ""
+"Vérifier l'installation\n"
+"des libraires de R"
+
+#: dialog.py:1481 iramuteq.py:261
+msgid "Chi2"
+msgstr "Chi2"
+
+#: ProfList.py:314 ProfList.py:359
+msgid "Chi2 by cluster"
+msgstr "Chi2 par classe"
+
+#: ProfList.py:315
+msgid "Chi2 by cluster on dendrogram"
+msgstr "Chi2 par classe et dendrogramme"
+
+#: ProfList.py:316 ProfList.py:360
+msgid "Chi2 modalities of variable"
+msgstr "Chi2 modalités de la variable"
+
+#: dialog.py:1728
+msgid "Choice"
+msgstr "Choix"
+
+#: guifunct.py:27
+msgid "Choose a file"
+msgstr "Choisissez un fichier"
+
+#: dialog.py:2523
+msgid "Choose a folder"
+msgstr "Choisissez un répertoire"
+
+#: dialog.py:2494
+msgid "Cleaning"
+msgstr "Nettoyage"
+
+#: ProfList.py:767
+msgid "Close"
+msgstr "Fermer"
+
+#: layout.py:385 layout.py:482
+msgid "Cluster"
+msgstr "Classe"
+
+#: dialog.py:1308 iramuteq.py:266 iramuteq.py:287 layout.py:526
+#: OptionAlceste.py:29 tree.py:399
+msgid "Clustering"
+msgstr "Classification"
+
+#: tree.py:454 tree.py:639 tree.py:648
+msgid "Clusters statistics"
+msgstr "Statistiques des classes"
+
+#: dialog.py:1884
+msgid "Color or black and white"
+msgstr "Couleur ou noir et blanc"
+
+#: tree.py:452 tree.py:612
+msgid "Colored corpus"
+msgstr "Corpus en couleur"
+
+#: dialog.py:63 dialog.py:64 dialog.py:68
+msgid "Column separator"
+msgstr "Séparateur de colonnes"
+
+#: guifunct.py:360
+msgid "Communities"
+msgstr "Communautés"
+
+#: tree.py:450 tree.py:479
+msgid "Compute Tgen"
+msgstr "Calculer les TGen"
+
+#: Liste.py:164 Liste.py:191 listlex.py:199 listlex.py:294 ProfList.py:326
+#: ProfList.py:688 ProfList.py:694 ProfList.py:700
+msgid "Concordance"
+msgstr "Concordancier"
+
+#: dialog.py:2306
+msgid "Corpus' name"
+msgstr "Nom du corpus"
+
+#: dialog.py:2341
+msgid "Default"
+msgstr "Défaut"
+
+#: dialog.py:440
+msgid "Default R mirror"
+msgstr "Miroir par défaut de R"
+
+#: OptionAlceste.py:52
+msgid "Default values"
+msgstr "Valeurs par défaut"
+
+#: ProfList.py:329
+msgid "Definition"
+msgstr "Définition"
+
+#: dialog.py:2440
+msgid "Delete characters not in this list"
+msgstr "Éliminer les caractères en dehors de cette liste"
+
+#: tree.py:492
+msgid "Delete from history"
+msgstr "Supprimer de l'historique"
+
+#: dialog.py:1810
+msgid "Dendrogram"
+msgstr "Dendrogramme"
+
+#: dialog.py:1854
+msgid "Dendrogram type"
+msgstr "Type de dendrogramme"
+
+#: layout.py:1012
+msgid "Description of corpus"
+msgstr "Description du corpus"
+
+#: dialog.py:1068 dialog.py:2331
+msgid "Dictionary"
+msgstr "Dictionnaire"
+
+#: tree.py:626
+msgid "Done"
+msgstr "Fait"
+
+#: guifunct.py:332
+msgid "Edge curved"
+msgstr "Arêtes courbées"
+
+#: guifunct.py:633
+msgid "Edges color"
+msgstr "Couleur des arêtes"
+
+#: guifunct.py:285
+msgid "Edges threshold"
+msgstr "Seuil pour les arêtes"
+
+#: guifunct.py:533
+msgid "Edges width proportional to score"
+msgstr "Largeur des arêtes proportionnelle à l'indice"
+
+#: iramuteq.py:298
msgid "Edition"
msgstr "Edition"
-#: iramuteq.py:226
+#: ProfList.py:330
+msgid "Etymology"
+msgstr "Etymologie"
+
+#: iramuteq.py:248
msgid "Exit"
msgstr "Quitter"
-#: iramuteq.py:214
+#: tree.py:456
+msgid "Export clusters"
+msgstr "Exporter les classes"
+
+#: tree.py:451
+msgid "Export corpus"
+msgstr "Exporter le corpus"
+
+#: tree.py:472
+msgid "Export dictionary"
+msgstr "Exporter le dictionnaire"
+
+#: dialog.py:2998
+msgid "Export finished. Open in a web browser :"
+msgstr "Export terminé. Ouvrez ce lien dans un navigateur :"
+
+#: dialog.py:924
+msgid "Export for ..."
+msgstr "Exporter pour ..."
+
+#: ProfList.py:342
+msgid "Export for Tropes"
+msgstr "Exporter pour Tropes"
+
+#: tree.py:473
+msgid "Export lemma dictionary"
+msgstr "Exporter le dictionnaire des lemmes"
+
+#: ProfList.py:341
+msgid "Export..."
+msgstr "Exporter..."
+
+#: ProfList.py:343
+msgid "Exporter for Owledge"
+msgstr "Exporter pour Owledge"
+
+#: iramuteq.py:233
msgid "Extract mods"
msgstr "Extraire à partir des modalités"
-#: iramuteq.py:267
+#: iramuteq.py:234
+msgid "Extract thematics"
+msgstr "Extraire à partir des thématiques"
+
+#: dialog.py:2737
+msgid "Extraction type"
+msgstr "Type d'extraction"
+
+#: layout.py:499
+msgid "Factor"
+msgstr "Facteur"
+
+#: dialog.py:590
+msgid "Factor x : "
+msgstr "Facteur x:"
+
+#: dialog.py:592
+msgid "Factor y : "
+msgstr "Facteur y:"
+
+#: dialog.py:594
+msgid "Factor z : "
+msgstr "Facteur z:"
+
+#: iramuteq.py:297
msgid "File"
msgstr "Fichier"
-#: iramuteq.py:272
+#: layout.py:1218 layout.py:1461
+msgid "File exported"
+msgstr "Fichier exporté"
+
+#: guifunct.py:51 guifunct.py:63 guifunct.py:74
+msgid "File format"
+msgstr "Format du fichier"
+
+#: dialog.py:53 dialog.py:54 dialog.py:58
+msgid "First column is an id"
+msgstr "La première colonne est un identifiant"
+
+#: dialog.py:43 dialog.py:44 dialog.py:48
+msgid "First line is header"
+msgstr "La première ligne contient les noms des colonnes"
+
+#: Liste.py:56
+msgid "Form"
+msgstr "Forme"
+
+#: layout.py:726
+msgid "Forms"
+msgstr "Formes"
+
+#: layout.py:730
+msgid "Forms frequencies"
+msgstr "Fréquences des formes"
+
+#: layout.py:732
+msgid "Forms relative frequencies"
+msgstr "Fréquences relatives des formes"
+
+#: Liste.py:57
+msgid "Freq."
+msgstr "Freq."
+
+#: iramuteq.py:259
+msgid "Frequencies"
+msgstr "Fréquences"
+
+#: layout.py:1245
+msgid "Frequency"
+msgstr "Fréquences"
+
+#: dialog.py:2426
+msgid "General"
+msgstr "Général"
+
+#: layout.py:1126 layout.py:1295
+msgid "Graph analysis"
+msgstr "Analyse de graphe"
+
+#: ProfList.py:337 ProfList.py:362
+msgid "Graph of cluster"
+msgstr "Graphe de la classe"
+
+#: guifunct.py:398
+msgid "Graph settings"
+msgstr "Paramètres du graphe"
+
+#: listlex.py:200 listlex.py:345
+msgid "Graphic"
+msgstr "Graphique"
+
+#: dialog.py:544 guifunct.py:249
+msgid "Graphic type"
+msgstr "Type de graphique"
+
+#: guifunct.py:706
+msgid "Graphical settings"
+msgstr "Paramètres graphiques"
+
+#: guifunct.py:572
+msgid "Gray scale on text proportional to frequency (0=black, 1=white)"
+msgstr "Nuance de gris des textes proportionnelle à la fréquence (0 = noir, 1 = blanc)"
+
+#: layout.py:777
+msgid "Hapax"
+msgstr "Hapax"
+
+#: iramuteq.py:302
msgid "Help"
msgstr "Aide"
-#: iramuteq.py:232
+#: iramuteq.py:343
+msgid "Historic"
+msgstr "Historique"
+
+#: iramuteq.py:254
msgid "Home page"
msgstr "Page d'accueil"
-#: iramuteq.py:210
+#: dialog.py:1869
+msgid "Image format"
+msgstr "Format de l'image"
+
+#: iramuteq.py:227
+msgid "Import from TXM"
+msgstr "Importer de TXM"
+
+#: iramuteq.py:225
msgid "Import from factiva"
msgstr "Importer de factiva"
-#: corpus.py:1147
-msgid "No Text in corpora. Are you sure of the formatting ?"
-msgstr "Pas de textes dans le corpus. Etes-vous sûr du formatage ?"
+#: ProfList.py:325
+msgid "In all segments"
+msgstr "Dans tous les segments"
+
+#: ProfList.py:323
+msgid "In segments of this cluster"
+msgstr "Dans les segments de cette classe"
+
+#: ProfList.py:324
+msgid "In segments of this clustering"
+msgstr "Dans les segments de cette classification"
+
+#: dialog.py:2831
+msgid "Include empty cells (NA)"
+msgstr "Inclure les cellules vides (NA)"
-#: iramuteq.py:190
+#: tree.py:389
+msgid "Informations"
+msgstr "Informations"
+
+#: dialog.py:369
+msgid "Interface language"
+msgstr "Langue de l'interface"
+
+#: dialog.py:2476
+msgid "Keep punctuation"
+msgstr "Conserver la ponctuation"
+
+#: dialog.py:1061
+msgid "Keys properties"
+msgstr "Paramètres des clés"
+
+#: dialog.py:2322 layout.py:1029
+msgid "Language"
+msgstr "Langue"
+
+#: guifunct.py:234
+msgid "Layout"
+msgstr "Présentation"
+
+#: dialog.py:919 dialog.py:1255
+msgid "Lemmatised corpus"
+msgstr "Corpus lemmatisé"
+
+#: dialog.py:1052
+msgid "Lemmatization"
+msgstr "Lemmatisation"
+
+#: iramuteq.py:1087
+msgid "License GNU GPL"
+msgstr "Licence GNU GPL"
+
+#: dialog.py:972
+msgid "Like ALCESTE"
+msgstr "Comme ALCESTE"
+
+#: dialog.py:972
+msgid "Like Lexico"
+msgstr "Comme Lexico"
+
+#: dialog.py:2901
+msgid "Limit frequency"
+msgstr "Fréquence limite"
+
+#: dialog.py:570
+msgid "Limit points by cluster chi2"
+msgstr "Limiter les points par le chi2 de liaison aux classes"
+
+#: dialog.py:2921
+msgid "Limit rank"
+msgstr "Rang limite"
+
+#: layout.py:72
+msgid "List of not plotted points : "
+msgstr "Liste des points non-représentés"
+
+#: listlex.py:210 ProfList.py:327
+msgid "Make Tgen"
+msgstr "Faire un TGen"
+
+#: dialog.py:599 guifunct.py:683
+msgid "Make a movie"
+msgstr "Faire un film"
+
+#: dialog.py:2398
+msgid "Make text segments"
+msgstr "Faire des segments de texte"
+
+#: tree.py:169
+msgid "Matrix"
+msgstr "Matrice"
+
+#: iramuteq.py:300
+msgid "Matrix analysis"
+msgstr "Analyses de matrice"
+
+#: dialog.py:400
+msgid ""
+"Maximum \n"
+"memory for R"
+msgstr ""
+"Mémoire\n"
+"maximum de R"
+
+#: OptionAlceste.py:43
+msgid "Maximum number of analyzed forms"
+msgstr "Nombres maximum de formes analysées"
+
+#: dialog.py:2032
+msgid "Maximum number of forms"
+msgstr "Nombre maximum de formes"
+
+#: dialog.py:1224
+msgid "Maximum number of text segments"
+msgstr "Nombre maximum de segments de texte"
+
+#: guifunct.py:272
+msgid "Maximum tree"
+msgstr "Arbre maximum"
+
+#: dialog.py:1273
+msgid "Maxmum size of segments"
+msgstr "Taille maximum des segments"
+
+#: layout.py:581
+msgid "Mean of forms by segment"
+msgstr "Moyenne de formes par segment"
+
+#: textstat.py:56
+msgid "Mean of occurrences by text"
+msgstr "Moyenne d'occurrences par texte"
+
+#: dialog.py:1739 dialog.py:2941
+msgid "Minimum frequency"
+msgstr "Fréquence minimale"
+
+#: OptionAlceste.py:40
+msgid "Minimum frequency of an analyzed form (2=automatic)"
+msgstr "Fréquence minimum d'une forme analysée (2 = automatique)"
+
+#: dialog.py:1281
+msgid "Minimum frequency of segments"
+msgstr "Fréquence minimum d'un segment"
+
+#: OptionAlceste.py:37
+msgid "Minimum frequency of text segments by clusters (0=automatic)"
+msgstr "Nombre minimum de segments de texte par classe (0 = automatique)"
+
+#: dialog.py:1265
+msgid "Minimum size of segments"
+msgstr "Taille minimum des segments"
+
+#: dialog.py:1371
+msgid "Minimum text segments frenquency in clusters (2= automatic)"
+msgstr "Nombre minimum de segments de texte par classe (2 = automatique)"
+
+#: dialog.py:2728
+msgid "Modalities (one by line, with the *)"
+msgstr "Modalités (une par ligne, avec l'étoile (*))"
+
+#: ProfList.py:333
+msgid "Morphology"
+msgstr "Morphologie"
+
+#: iramuteq.py:260
+msgid "Multiple frequencies"
+msgstr "Fréquences multiples"
+
+#: tree.py:453
+msgid "Navigator"
+msgstr "Navigateur"
+
+#: dialog.py:1354 dialog.py:1582
+msgid "Next"
+msgstr "Suivant"
+
+#: tree.py:720
+msgid "No TGen yet !"
+msgstr "Pas encore de TGen !"
+
+#: corpus.py:1524
+msgid "No Text in corpus. Are you sure of the formatting ?"
+msgstr "Pas de textes dans le corpus. Êtes-vous sûr du formatage ?"
+
+#: dialog.py:2483
+msgid "No space between two forms"
+msgstr "Pas d'espace entre deux formes"
+
+#: layout.py:578
+msgid "Number of active forms"
+msgstr "Nombre de formes actives"
+
+#: layout.py:580
+msgid "Number of active forms with a frequency"
+msgstr "Nombre de formes actives avec une fréquence"
+
+#: layout.py:588 layout.py:590
+msgid "Number of clusters"
+msgstr "Nombre de classes"
+
+#: layout.py:574 layout.py:1033 textstat.py:53
+msgid "Number of forms"
+msgstr "Nombre de formes"
+
+#: layout.py:1034 textstat.py:54
+msgid "Number of hapax"
+msgstr "Nombre d'hapax"
+
+#: layout.py:577
+msgid "Number of lemmas"
+msgstr "Nombre de lemmes"
+
+#: layout.py:587
+msgid "Number of lines"
+msgstr "Nombre de lignes"
+
+#: layout.py:575 textstat.py:52
+msgid "Number of occurrences"
+msgstr "Nombre d'occurrences"
+
+#: layout.py:579
+msgid "Number of supplementary forms"
+msgstr "Nombre de formes supplémentaires"
+
+#: dialog.py:1361 OptionAlceste.py:35
+msgid "Number of terminal clusters on phase 1"
+msgstr "Nombre de classes terminales de la phase 1"
+
+#: layout.py:573 layout.py:1032
+msgid "Number of text segments"
+msgstr "Nombre de segments de texte"
+
+#: layout.py:572 layout.py:1031 textstat.py:51
+msgid "Number of texts"
+msgstr "Nombre de textes"
+
+#: dialog.py:2741
+msgid "One file by modality"
+msgstr "Un fichier par modalité"
+
+#: iramuteq.py:295
+msgid "Online help..."
+msgstr "Aide en ligne ..."
+
+#: dialog.py:2741
+msgid "Only one file"
+msgstr "Seulement un fichier"
+
+#: tree.py:445 tree.py:487
+msgid "Open ..."
+msgstr "Ouvrir ..."
+
+#: iramuteq.py:205
msgid "Open a matrix"
msgstr "Ouvrir une matrice"
-#: iramuteq.py:194
-msgid "Open a text corpora"
-msgstr "Ouvrir un corpus"
+#: iramuteq.py:209
+msgid "Open a text corpus"
+msgstr "Ouvrir un corpus texte"
-#: iramuteq.py:198
+#: iramuteq.py:213
msgid "Open an analysis"
msgstr "Ouvrir une Analyse"
-#: iramuteq.py:229
+#: tree.py:626
+msgid "Open in a web browser ?"
+msgstr "Ouvrir dans un navigateur ?"
+
+#: dialog.py:2349
+msgid "Other"
+msgstr "Autre"
+
+#: dialog.py:930 dialog.py:976 dialog.py:1007 parse_factiva_xml.py:94
+msgid "Output file"
+msgstr "Fichier en sortie"
+
+#: dialog.py:2363
+msgid "Output folder"
+msgstr "Répertoire en sortie"
+
+#: layout.py:729 Liste.py:58
+msgid "POS"
+msgstr "Types"
+
+#: layout.py:731
+msgid "POS frequencies"
+msgstr "Fréquences des types"
+
+#: tree.py:448
+msgid "POS profiles"
+msgstr "Profil des types grammaticaux"
+
+#: layout.py:733
+msgid "POS relative frequencies"
+msgstr "Fréquences relatives des types"
+
+#: dialog.py:1080 dialog.py:2302
+msgid "Path"
+msgstr "Chemin"
+
+#: dialog.py:428 dialog.py:437
+msgid "Path : "
+msgstr "Chemin :"
+
+#: dialog.py:550 dialog.py:2007 guifunct.py:257
+msgid "Picture format"
+msgstr "Format de l'image"
+
+#: dialog.py:1818 guifunct.py:408
+msgid "Picture size"
+msgstr "Taille de l'image"
+
+#: dialog.py:341
+msgid "Play a sound at the end of analysis"
+msgstr "Jouer un son à la fin des analyses"
+
+#: corpus.py:1622 iramuteq.py:581 iramuteq.py:626 layout.py:946 tree.py:739
+#: tree.py:1063
+msgid "Please wait..."
+msgstr "Patientez ..."
+
+#: tree.py:514
+msgid "Please wait...Reading corpus"
+msgstr "Patientez... Lecture du corpus"
+
+#: OptionAlceste.py:47
+msgid "Potato mode (less precise, faster)"
+msgstr "Mode patate (moins précis, plus rapide)"
+
+#: iramuteq.py:251
msgid "Preferences"
msgstr "Préférences"
-#: iramuteq.py:222
-msgid "Save tab as..."
-msgstr "Enregistrer l'onglet sous ..."
+#: dialog.py:1357 dialog.py:1581
+msgid "Previous"
+msgstr "Précédent"
-#: iramuteq.py:233
+#: ProfList.py:428 ProfList.py:462
+msgid "Problem"
+msgstr "Problème"
+
+#: layout.py:513
+msgid "Profiles"
+msgstr "Profils"
+
+#: iramuteq.py:269
+msgid "Prototypical Analysis"
+msgstr "Analyses Prototypiques"
+
+#: layout.py:1263 layout.py:1273
+msgid "Prototypical analysis"
+msgstr "Analyses Prototypiques"
+
+#: ProfList.py:334
+msgid "Proxemy"
+msgstr "Proxémie"
+
+#: dialog.py:2432
+msgid "Put text in lowercase"
+msgstr "Mettre le texte en minuscule"
+
+#: dialog.py:432
+msgid "R path"
+msgstr "Chemin de R"
+
+#: dialog.py:1220
+msgid "Ranking score"
+msgstr "Indice de rang"
+
+#: dialog.py:2878
+msgid "Ranks"
+msgstr "Rangs"
+
+#: layout.py:378
+msgid "Reading profiles"
+msgstr "Lecture des profils"
+
+#: iramuteq.py:308
+msgid "Ready"
+msgstr "Prêt"
+
+#: iramuteq.py:264 iramuteq.py:285 tree.py:397
+msgid "Reinert's Method"
+msgstr "Méthode Reinert"
+
+#: tree.py:390
+msgid "Rename"
+msgstr "Renommer"
+
+#: ProfList.py:338 ProfList.py:590
+msgid "Repeated segments"
+msgstr "Segments répétés"
+
+#: dialog.py:1243 layout.py:519 tree.py:447
+msgid "Repeated segments profiles"
+msgstr "Profils des segments répétés"
+
+#: dialog.py:2460
+msgid "Replace apostrophe by space"
+msgstr "Remplacer les apostrophes par des espaces"
+
+#: dialog.py:2468
+msgid "Replace dash by space"
+msgstr "Remplacer les tirets par des espaces"
+
+#: tree.py:455 tree.py:486 tree.py:666 tree.py:676
+msgid "Report"
+msgstr "Rapport"
+
+#: dialog.py:556
+msgid "Representation"
+msgstr "Représentation"
+
+#: dialog.py:1521
+msgid "Results"
+msgstr "Résultats"
+
+#: dialog.py:2661
+msgid "Save as ..."
+msgstr "Enregistrer sous ..."
+
+#: dialog.py:1736 guifunct.py:219
+msgid "Score"
+msgstr "Indice"
+
+#: guifunct.py:319
+msgid "Score on edges"
+msgstr "Indices sur les arêtes"
+
+#: tree.py:635
+msgid "Search ..."
+msgstr "Rechercher ..."
+
+#: ProfList.py:249
+msgid "Search..."
+msgstr "Rechercher ..."
+
+#: ProfList.py:694
+msgid "Segments of this clustering"
+msgstr "Segments de cette classe"
+
+#: parse_factiva_xml.py:89
+msgid "Select a directory of txt files"
+msgstr "Sélectionnez un répertoire contenant les fichiers txt"
+
+#: parse_factiva_xml.py:87
+msgid "Select a directory of xml files"
+msgstr "Sélectionnez un répertoire contenant les fichiers xml"
+
+#: dialog.py:2352 dialog.py:2701
+msgid "Select a file"
+msgstr "Sélectionnez un fichier"
+
+#: guifunct.py:379
+msgid "Select a variable"
+msgstr "Sélectionnez une variable"
+
+#: dialog.py:1726
+msgid "Select by"
+msgstr "Sélection par"
+
+#: tabsimi.py:78
+msgid "Select columns"
+msgstr "Sélectionnez les colonnes"
+
+#: dialog.py:330 dialog.py:469 dialog.py:970 dialog.py:1041 dialog.py:2149
+#: dialog.py:2279 dialog.py:2864 guifunct.py:161 OptionAlceste.py:63
+msgid "Settings"
+msgstr "Paramètres"
+
+#: iramuteq.py:255
msgid "Show data"
msgstr "Voir les données"
-#: iramuteq.py:234
+#: iramuteq.py:256
msgid "Show results"
msgstr "Voir les résultats"
-#: iramuteq.py:213
+#: iramuteq.py:268 iramuteq.py:288 tree.py:400
+msgid "Similarities Analysis"
+msgstr "Analyses de similitudes"
+
+#: OptionAlceste.py:31
+msgid "Size of rst1"
+msgstr "Taille de rst1"
+
+#: layout.py:584
+msgid "Size of rst1 / rst2"
+msgstr "Taille de rst1 / rst2"
+
+#: OptionAlceste.py:33
+msgid "Size of rst2"
+msgstr "Taille de rst2"
+
+#: layout.py:744
+msgid "Specificities"
+msgstr "Spécificités"
+
+#: iramuteq.py:282 tree.py:395
+msgid "Specificities and CA"
+msgstr "Spécificités et AFC"
+
+#: dialog.py:596 guifunct.py:670
+msgid "Spheres transparency"
+msgstr "Transparence des sphéres"
+
+#: iramuteq.py:232 tree.py:428
msgid "Split from variable"
msgstr "Sous corpus par variable"
-#: iramuteq.py:270
-#: iramuteq.py:427
-#: iramuteq.py:636
-#: tableau.py:185
-msgid "Spreadsheet analysis"
-msgstr "Analyse de tableau"
-
-#: iramuteq.py:271
-#: iramuteq.py:428
-#: iramuteq.py:635
-#: openanalyse.py:116
-#: openanalyse.py:119
-#: openanalyse.py:122
-#: openanalyse.py:125
-#: openanalyse.py:128
-#: openanalyse.py:131
-#: tableau.py:186
+#: tree.py:429
+msgid "Split matrix"
+msgstr "Extraire de la matrice..."
+
+#: layout.py:551
+msgid "Stat by cluster"
+msgstr "Stat par classe"
+
+#: iramuteq.py:281 tree.py:394
+msgid "Statistics"
+msgstr "Statistiques"
+
+#: tree.py:405
+msgid "Sub corpus"
+msgstr "Sous-corpus"
+
+#: tree.py:457
+msgid "Sub corpus from clusters"
+msgstr "Sous-corpus par classe"
+
+#: tree.py:403
+msgid "Sub corpus from metadata"
+msgstr "Sous-corpus par méta-données"
+
+#: tree.py:404
+msgid "Sub corpus from thematic"
+msgstr "Sous-corpus par thématique"
+
+#: dialog.py:1340
+msgid "Supplementaries variables (almost 1)"
+msgstr "Variables supplémentaires (au moins 1)"
+
+#: layout.py:776
+msgid "Supplementary forms"
+msgstr "Formes supplémentaires"
+
+#: dialog.py:1327
+msgid "Supplementary variables are marked with a *"
+msgstr "Les variables supplémentaires sont marquées par une *"
+
+#: ProfList.py:331
+msgid "Synonymous"
+msgstr "Synonymes"
+
+#: dialog.py:562
+msgid "Take the x first points"
+msgstr "Prendre les x premiers points"
+
+#: dialog.py:566
+msgid "Take the x first points by cluster"
+msgstr "Prendre les x premiers par classe"
+
+#: iramuteq.py:301
msgid "Text analysis"
msgstr "Analyse de texte"
-#: iramuteq.py:219
+#: dialog.py:2101
+msgid "Text color"
+msgstr "Couleur du texte"
+
+#: dialog.py:2381
+msgid "Text mark"
+msgstr "Marqueur de texte"
+
+#: guifunct.py:306
+msgid "Text on vertex"
+msgstr "Texte sur les sommets"
+
+#: dialog.py:2406
+msgid "Text segments build process"
+msgstr "Méthode de construction des segments"
+
+#: dialog.py:2415
+msgid "Text segments size"
+msgstr "Taille des segments de texte"
+
+#: dialog.py:73 dialog.py:74 dialog.py:78
+msgid "Text separator"
+msgstr "Séparateur de texte"
+
+#: dialog.py:560 dialog.py:2061 guifunct.py:345
+msgid "Text size"
+msgstr "Taille du texte"
+
+#: dialog.py:583
+msgid "Text size proportional to chi2"
+msgstr "Taille du texte proportionnelle au chi2"
+
+#: dialog.py:576
+msgid "Text size proportional to frequency"
+msgstr "Taille du texte proportionnelle à la fréquence"
+
+#: tree.py:147
+msgid "Textual corpus"
+msgstr "Corpus textuel"
+
+#: tree.py:449 tree.py:478
+msgid "Tgen Editor"
+msgstr "Editeur de TGen"
+
+#: layout.py:689
+msgid "Tgens Specificities"
+msgstr "Spécificités des TGens"
+
+#: dialog.py:952 dialog.py:1029
+msgid "This file already exists. Continue anyway ?"
+msgstr "Ce fichier existe déjà. Continuer quand même ?"
+
+#: tree.py:1074
+#, python-format
+msgid "This file does not exist : %s"
+msgstr "Ce fichier n'existe pas : %s"
+
+#: layout.py:133
+msgid "This file will be delete : "
+msgstr "Ce fichier sera supprimer : "
+
+#: ProfList.py:462
+msgid "This is not a meta-data"
+msgstr "Ce n'est pas une méta-donnée"
+
+#: ProfList.py:428
+msgid "This is not a variable_modality form"
+msgstr "Ce n'est pas une forme du type variable_modalité"
+
+#: iramuteq.py:241
msgid "Tools"
msgstr "Outils"
-#: iramuteq.py:269
-#: iramuteq.py:426
-#: iramuteq.py:564
-#: iramuteq.py:634
-#: tableau.py:184
+#: ProfList.py:335
+msgid "Tools from CNRTL (french only)"
+msgstr "Outils du CNTRL (français uniquement)"
+
+#: layout.py:774
+msgid "Total"
+msgstr "Total"
+
+#: listlex.py:209 listlex.py:274 ProfList.py:339 ProfList.py:622
+msgid "Typical text segments"
+msgstr "Segments de texte caractéristiques"
+
+#: guifunct.py:206
+msgid "Use previous coordinates"
+msgstr "Utiliser les coordonnées précédentes"
+
+#: dialog.py:420
+msgid "Use svdlibc"
+msgstr "Utiliser svdlibc"
+
+#: dialog.py:2390
+msgid "Use the expression dictionary"
+msgstr "Utiliser le dictionnaire des expressions"
+
+#: dialog.py:1721 dialog.py:2046
+msgid "Used forms"
+msgstr "Formes utilisées"
+
+#: dialog.py:2874
+msgid "Variables"
+msgstr "Variables"
+
+#: dialog.py:2718
+msgid "Variables (with the * but without the _)"
+msgstr "Variables (avec le * mais sans le _ )"
+
+#: dialog.py:1749
+msgid "Variables choice"
+msgstr "Choix des variables"
+
+#: dialog.py:2246
+msgid "Variables selection"
+msgstr "Sélection des variables"
+
+#: guifunct.py:621
+msgid "Vertex color"
+msgstr "Couleur des sommets"
+
+#: guifunct.py:649
+msgid "Vertex size"
+msgstr "Taille des sommets"
+
+#: guifunct.py:439
+msgid "Vertex size proportional to frequency"
+msgstr "Taille des sommets proportionnelle à la fréquence"
+
+#: guifunct.py:486
+msgid "Vertex text size proportional to frequency"
+msgstr "Taille du texte des sommets proportionnelle à la fréquence"
+
+#: iramuteq.py:299
msgid "View"
msgstr "Vue"
-#: iramuteq.py:206
+#: iramuteq.py:309
+msgid "Welcome"
+msgstr "Bienvenue"
+
+#: ProfList.py:340
+msgid "Word cloud of cluster"
+msgstr "Nuage de mots de la classe"
+
+#: ProfList.py:317
+msgid "Word graph"
+msgstr "Graphe du mot"
+
+#: dialog.py:2017
+msgid "Word size proportional to ..."
+msgstr "Taille des mots proportionnelles à ..."
+
+#: iramuteq.py:290 tree.py:401
+msgid "WordCloud"
+msgstr "Nuage de mots"
+
+#: dialog.py:1956
+msgid "Wordcloud settings"
+msgstr "Préférences de wordcloud"
+
+#: dialog.py:1222
+msgid "absolute (sum of chi2 of marked forms in segment)"
+msgstr "absolue (somme des chi2 des formes marquées du segment)"
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2050
+msgid "actives"
+msgstr "actives"
+
+#: dialog.py:1722 dialog.py:2050
+msgid "actives and supplementaries"
+msgstr "actives et supplémentaires"
+
+#: OptionAlceste.py:32
+msgid "actives forms"
+msgstr "formes actives"
+
+#: tree.py:485
+msgid "antiprofiles"
+msgstr "antiprofils"
+
+#: dialog.py:2907 dialog.py:2927
+msgid "automatic (mean)"
+msgstr "automatique (moyenne)"
+
+#: dialog.py:1911
+msgid "bar"
+msgstr "barre"
+
+#: dialog.py:1888
+msgid "black and white"
+msgstr "noir et blanc"
+
+#: dialog.py:2183
+msgid "black and white graphical"
+msgstr "graphique en noir et blanc"
+
+#: dialog.py:2286
+msgid "characters"
+msgstr "caractères"
+
+#: dialog.py:1733 dialog.py:1735 dialog.py:2021
+msgid "chi2"
+msgstr "chi2"
+
+#: dialog.py:1911
+msgid "circular diagram"
+msgstr "camembert"
+
+#: dialog.py:1481
+msgid "cluster"
+msgstr "classe"
+
+#: dialog.py:559 dialog.py:873
+msgid "clusters"
+msgstr "classes"
+
+#: dialog.py:1888
+msgid "color"
+msgstr "couleur"
+
+#: dialog.py:2177
+msgid "column percentage"
+msgstr "pourcentage en colonne"
+
+#: dialog.py:557
+msgid "coordinates"
+msgstr "coordonnées"
+
+#: dialog.py:2298 dialog.py:2697
+msgid "corpus"
+msgstr "corpus"
+
+#: dialog.py:557
+msgid "correlations"
+msgstr "corrélations"
+
+#: OptionAlceste.py:30
+msgid "double on RST"
+msgstr "double sur RST"
+
+#: dialog.py:2161
+msgid "expected values"
+msgstr "valeurs attendues"
+
+#: dialog.py:1481
+msgid "form"
+msgstr "forme"
+
+#: dialog.py:2021
+msgid "frequency"
+msgstr "fréquences"
+
+#: iramuteq.py:221
msgid "from copy/paste"
msgstr "à partir de copier/coller"
-#: iramuteq.py:205
+#: iramuteq.py:220
msgid "from mail"
msgstr "à partir de mails"
-#: iramuteq.py:204
+#: iramuteq.py:219
msgid "from xml"
msgstr "à partir de fichiers xml"
+#: dialog.py:2180
+msgid "graphical"
+msgstr "Graphique"
+
+#: dialog.py:554 dialog.py:1826 dialog.py:1979 guifunct.py:416
+msgid "height"
+msgstr "hauteur"
+
+#: dialog.py:1733
+msgid "hypergeometrical law"
+msgstr "loi hypergéométrique"
+
+#: dialog.py:1072
+msgid "indexation"
+msgstr "indexation"
+
+#: layout.py:596
+msgid "line classified on"
+msgstr "lignes classées sur"
+
+#: dialog.py:2907 dialog.py:2927
+msgid "manual"
+msgstr "manuelle"
+
+#: dialog.py:1727
+msgid "modalities"
+msgstr "modalités"
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1259 dialog.py:1331
+msgid "no"
+msgstr "non"
+
+#: dialog.py:2158
+msgid "observed values"
+msgstr "valeurs observées"
+
+#: dialog.py:2286
+msgid "occurrences"
+msgstr "occurrences"
+
+#: textstat.py:54
+msgid "of forms"
+msgstr "des formes"
+
+#: textstat.py:54
+msgid "of occurrences"
+msgstr "des occurrences"
+
+#: dialog.py:1072
+msgid "other"
+msgstr "Autre"
+
+#: dialog.py:2286
+msgid "paragraphs"
+msgstr "paragraphes"
+
+#: dialog.py:1065
+msgid "properties"
+msgstr "propriétés"
+
+#: dialog.py:1222
+msgid "relative (mean of chi2 of marked forms in segment)"
+msgstr "relative (moyenne des chi2 des formes marquées par segment)"
+
+#: dialog.py:2164
+msgid "residuals"
+msgstr "résidus"
+
+#: dialog.py:2174
+msgid "row percentage"
+msgstr "pourcentages en ligne"
+
+#: dialog.py:1481
+msgid "see"
+msgstr "voir"
+
+#: layout.py:592
+msgid "segments classified on"
+msgstr "segments classés sur"
+
+#: OptionAlceste.py:30
+msgid "simple on text segments"
+msgstr "simple sur segments de texte"
+
+#: OptionAlceste.py:30
+msgid "simple on texts"
+msgstr "simple sur texte"
+
+#: dialog.py:2167
+msgid "standardized residuals"
+msgstr "résidus standardisés"
+
+#: dialog.py:559
+msgid "stars"
+msgstr "étoiles"
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2050
+msgid "supplementaries"
+msgstr "supplémentaires"
+
+#: OptionAlceste.py:45
+msgid "svd method"
+msgstr "méthode pour svd"
+
+#: layout.py:594
+msgid "texts classified on"
+msgstr "textes classés sur"
+
+#: dialog.py:2747
+msgid "thematics (one by line, with the -*)"
+msgstr "thématiques (une par ligne, avec l'étoile (*))"
+
+#: layout.py:598
+msgid "time"
+msgstr "temps"
+
+#: dialog.py:2171
+msgid "total percentage"
+msgstr "pourcentage total"
+
+#: dialog.py:1727
+msgid "variables"
+msgstr "variables"
+
+#: dialog.py:552 dialog.py:1837 dialog.py:1991 guifunct.py:423
+msgid "width"
+msgstr "largeur"
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1259 dialog.py:1331
+msgid "yes"
+msgstr "oui"
+
#~ msgid "&Open a questionnaire\tCtrl+O"
#~ msgstr "Ouvrir un questionnaire"
+#, fuzzy
+#~ msgid "Associated Forms"
+#~ msgstr "Formes utilisées"
+
+#~ msgid "Graphical type"
+#~ msgstr "Type de graphique"
+
#~ msgid "Open a questionnaire"
#~ msgstr "Ouvrir un questionnaire"
+
+#, fuzzy
+#~ msgid "Reinert method"
+#~ msgstr "Méthode Reinert"
+
+#~ msgid "Selection"
+#~ msgstr "Sélection"
+
+#, fuzzy
+#~ msgid "Similarities analysis"
+#~ msgstr "Analyses de similitudes"
+
+#, fuzzy
+#~ msgid "Wordcloud"
+#~ msgstr "Nuage de mots"
""" % datetime.datetime.now().ctime()
if istxt :
totocc = corpus.gettotocc()
- txt += u'nombre de textes: %i%s' % (corpus.getucinb(), sep)
- txt += u'nombre de segments de textes: %i%s' % (corpus.getucenb(), sep)
- txt += u'nombre de formes: %i%s' % (len(corpus.formes), sep)
- txt += u'nombre d\'occurrences: %i%s' % (totocc, sep)
- txt += u'moyenne d\'occurrences par forme: %f%s' % (float(totocc) / float(len(self.corpus.formes)), sep)
- txt += u'nombre de lemmes: %i%s' % (len(corpus.lems), sep)
- txt += u'nombre de formes actives: %i%s' % (corpus.getactivesnb(1), sep)
- txt += u'nombre de formes supplémentaires: %i%s' % (corpus.getactivesnb(2), sep)
- txt += u'nombre de formes actives de fréquence >= %i: %i%s' % (parametres['eff_min_forme'], parametres['nbactives'], sep)
- txt += u'moyenne d\'occurrences par segments :%f%s' % (float(totocc) / float(corpus.getucenb()), sep)
+ txt += ': '.join([_(u'Number of texts').decode('utf8'), u'%i%s' % (corpus.getucinb(), sep)])
+ txt += ': '.join([_(u'Number of text segments').decode('utf8'), '%i%s' % (corpus.getucenb(), sep)])
+ txt += ': '.join([_(u'Number of forms').decode('utf8'), '%i%s' % (len(corpus.formes), sep)])
+ txt += ': '.join([_(u'Number of occurrences').decode('utf8'), '%i%s' % (totocc, sep)])
+ #txt += u'moyenne d\'occurrences par forme: %f%s' % (float(totocc) / float(len(self.corpus.formes)), sep)
+ txt += ': '.join([_(u'Number of lemmas').decode('utf8'), '%i%s' % (len(corpus.lems), sep)])
+ txt += ': '.join([_(u'Number of active forms').decode('utf8'), '%i%s' % (corpus.getactivesnb(1), sep)])
+ txt += ': '.join([_(u'Number of supplementary forms').decode('utf8'), '%i%s' % (corpus.getactivesnb(2), sep)])
+ txt += ' >= '.join([_(u'Number of active forms with a frequency').decode('utf8'), '%i: %i%s' % (parametres['eff_min_forme'], parametres['nbactives'], sep)])
+ txt += ': '.join([_(u'Mean of forms by segment').decode('utf8'), '%f%s' % (float(totocc) / float(corpus.getucenb()), sep)])
if 'tailleuc1' in parametres :
if parametres['classif_mode'] == 0 :
- txt += u'taille rst1 / rst2: %i / %i - %i / %i%s' % (parametres['tailleuc1'], parametres['tailleuc2'], parametres['lenuc1'], parametres['lenuc2'], sep)
+ txt += ': '.join([_(u'Size of rst1 / rst2').decode('utf8'), '%i / %i - %i / %i%s' % (parametres['tailleuc1'], parametres['tailleuc2'], parametres['lenuc1'], parametres['lenuc2'], sep)])
else :
self.Ucenb = self.nbind
- txt += u'nombre d\'individus : %i%s' % (self.nbind, sep)
- txt += u'nombre de classes : %i%s' % (self.clnb, sep)
+ txt += ': '.join([_(u'Number of lines').decode('utf8'), '%i%s' % (self.nbind, sep)])
+ txt += ': '.join([_(u'Number of clusters').decode('utf8'), '%i%s' % (self.clnb, sep)])
if istxt :
- txt += u'nombre de classes : %i%s' % (parametres['clnb'], sep)
+ txt += ': '.join([_(u'Number of clusters').decode('utf8'), '%i%s' % (parametres['clnb'], sep)])
if parametres['classif_mode'] == 0 or parametres['classif_mode'] == 1 :
- txt += u'%i segments classés sur %i (%.2f%%)%s' % (sum([len(cl) for cl in corpus.lc]), corpus.getucenb(), (float(sum([len(cl) for cl in corpus.lc])) / float(corpus.getucenb())) * 100, sep)
+ txt += ' '.join(['%i' % sum([len(cl) for cl in corpus.lc]), _(u'segments classified on').decode('utf8'), '%i (%.2f%%)%s' % (corpus.getucenb(), (float(sum([len(cl) for cl in corpus.lc])) / float(corpus.getucenb())) * 100, sep)])
elif self.parametres['classif_mode'] == 2 :
- txt += u'%i textes classés sur %i (%.2f%%)%s' % (sum([len(cl) for cl in corpus.lc]), corpus.getucinb(), (float(sum([len(cl) for cl in corpus.lc]))) / float(corpus.getucinb()) * 100, sep)
+ txt += ' '.join([u'%i' % sum([len(cl) for cl in corpus.lc]), _(u'texts classified on').decode('utf8'), '%i (%.2f%%)%s' % (corpus.getucinb(), (float(sum([len(cl) for cl in corpus.lc]))) / float(corpus.getucinb()) * 100, sep)])
else :
- txt += u'%i segments classées sur %i (%.2f%%)%s' % (self.ucecla, self.Ucenb, (float(self.ucecla) / float(self.Ucenb)) * 100, sep)
+ txt += ' '.join(['%i' % self.ucecla, _(u'line classified on').decode('utf8'), '%i (%.2f%%)%s' % (self.Ucenb, (float(self.ucecla) / float(self.Ucenb)) * 100, sep)])
- txt += """
-###########################
-temps d'analyse : %s
-###########################
-""" % parametres.get('time', '')
+ txt += ''.join([sep, u'###########################', sep, _(u'time').decode('utf8'), ' : %s' % parametres.get('time', ''), sep, u'###########################', sep])
+
with open(self.pathout['pre_rapport'], 'w') as f :
f.write(txt)
self.page.tgentab = ListForSpec(ira, gparent, self.page.tgens, etoiles[1:])
self.page.tgentab.tgen = True
self.page.tgentab.tgens = tgen.tgen
- page.AddPage(self.page.tgentab, u'Tgens Specificities')
+ page.AddPage(self.page.tgentab, _(u'Tgens Specificities').decode('utf8'))
page.SetSelection(page.GetPageCount() - 1)
class dolexlayout :
self.ListPanEffRelForme = ListForSpec(ira, self, self.DictEffRelForme, self.etoiles)
self.ListPanEffRelType = ListForSpec(ira, self, self.DictEffRelType, self.etoiles)
- self.TabStat.AddPage(self.ListPan, u'formes')
+ self.TabStat.AddPage(self.ListPan, _(u'Forms').decode('utf8'))
if os.path.exists(self.pathout['banalites.csv']) :
- self.TabStat.AddPage(self.listban, u'banalités')
- self.TabStat.AddPage(self.ListPant, u'Types')
- self.TabStat.AddPage(self.ListPanEff, u'Effectifs formes')
- self.TabStat.AddPage(self.ListPanEffType, u'Effectifs Type')
- self.TabStat.AddPage(self.ListPanEffRelForme, u'Effectifs relatifs formes')
- self.TabStat.AddPage(self.ListPanEffRelType, u'Effectifs relatifs Type')
+ self.TabStat.AddPage(self.listban, _(u'Banal forms').decode('utf8'))
+ self.TabStat.AddPage(self.ListPant, _(u'POS').decode('utf8'))
+ self.TabStat.AddPage(self.ListPanEff, _(u'Forms frequencies').decode('utf8'))
+ self.TabStat.AddPage(self.ListPanEffType, _(u'POS frequencies').decode('utf8'))
+ self.TabStat.AddPage(self.ListPanEffRelForme, _(u'Forms relative frequencies').decode('utf8'))
+ self.TabStat.AddPage(self.ListPanEffRelType, _(u'POS relative frequencies').decode('utf8'))
if self.parametres['clnb'] > 2 :
self.TabAFC = aui.AuiNotebook(self.TabStat, -1, wx.DefaultPosition)
list_graph=read_list_file(self.dictpathout['liste_graph_afcf'], encoding = self.encoding)
self.tabAFCGraph = GraphPanelAfc(self.TabAFC, self.dictpathout, list_graph, self.parametres['clnb'], itempath ='liste_graph_afcf', coding = self.encoding)
- self.TabAFC.AddPage(self.tabAFCGraph, 'AFC formes')
+ self.TabAFC.AddPage(self.tabAFCGraph, _(u'CA forms').decode('utf8'))
list_graph=read_list_file(self.dictpathout['liste_graph_afct'], encoding = self.encoding)
self.tabAFCTGraph = GraphPanelAfc(self.TabAFC, self.dictpathout, list_graph, self.parametres['clnb'], itempath ='liste_graph_afct', coding=self.encoding)
- self.TabAFC.AddPage(self.tabAFCTGraph, 'AFC type')
- self.TabStat.AddPage(self.TabAFC, 'AFC')
+ self.TabAFC.AddPage(self.tabAFCTGraph, _(u'CA POS').decode('utf8'))
+ self.TabStat.AddPage(self.TabAFC, _(u'CA').decode('utf8'))
- ira.nb.AddPage(self.TabStat, u'Spécificités')
+ ira.nb.AddPage(self.TabStat, ' - '.join([_(u'Specificities').decode('utf8'), self.parametres['name']]))
self.ira = ira
self.TabStat.corpus = self.corpus
#self.TabStatTot = wx.TextCtrl(self.TabStat, -1, style=wx.NO_BORDER | wx.TE_MULTILINE | wx.TE_RICH2)
list_graph = [['zipf.png', 'zipf']]
self.TabStatTot = GraphPanel(ira.nb, self.pathout, list_graph, self.result['glob'])
- self.TabStat.AddPage(self.TabStatTot, 'global')
+ self.TabStat.AddPage(self.TabStatTot, _(u'Abstract').decode('utf8'))
+
+ dictlabel = {'total' : _(u'Total').decode('utf8'),
+ u'formes_actives' : _(u'Actives forms').decode('utf8'),
+ u'formes_supplémentaires': _(u'Supplementary forms').decode('utf8'),
+ u'hapax' : _(u'Hapax').decode('utf8'),
+ }
+
for item in self.result:
if item != 'glob':
datam = [['forme', 'nb']]
self.ListPan = ListPanel(ira, self, self.result[item])
- self.TabStat.AddPage(self.ListPan, ' '.join(item.split('_')))
+ self.TabStat.AddPage(self.ListPan, dictlabel[item])
ira.nb.AddPage(self.TabStat, '%s' % parametres['name'])
ira.nb.SetSelection(ira.nb.GetPageCount() - 1)
ira.ShowAPane("Tab_content")
fgSizer5.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.fgSizer5 = fgSizer5
- self.m_staticText18 = wx.StaticText( self, wx.ID_ANY, u"Description du corpus", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticText18 = wx.StaticText( self, wx.ID_ANY, _(u"Description of corpus").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText18.Wrap( -1 )
fgSizer5.Add( self.m_staticText18, 0, wx.ALL, 5 )
self.m_staticText21.Wrap( -1 )
fgSizer5.Add( self.m_staticText21, 0, wx.ALL, 5 )
- description = {'lang' : u'langue',
- 'encoding' : u'encodage',
- 'ucinb' : u'Nombre de textes',
- 'ucenb' : u'Nombre de segments de texte',
- 'formesnb' : u'Nombre de formes',
- 'hapax' : u'Nombre d\'hapax'
+ description = {'lang' : _(u'Language').decode('utf8'),
+ 'encoding' : _(u'Characters set').decode('utf8'),
+ 'ucinb' : _(u'Number of texts').decode('utf8'),
+ 'ucenb' : _(u'Number of text segments').decode('utf8'),
+ 'formesnb' : _(u'Number of forms').decode('utf8'),
+ 'hapax' : _(u'Number of hapax').decode('utf8'),
}
keys = ['lang', 'encoding', 'originalpath', 'pathout', 'date', 'time']
self.graphpan.Bind(wx.EVT_BUTTON, self.redosimi, self.graphpan.butafc)
self.graphpan.Bind(wx.EVT_BUTTON, self.export, self.graphpan.butexport)
self.tabsimi.AddPage(self.graphpan, 'Graph')
- self.ira.nb.AddPage(self.tabsimi, 'Analyse de graph')
+ self.ira.nb.AddPage(self.tabsimi, _(u'Graph analysis').decode('utf8'))
self.ira.ShowTab(True)
self.ira.nb.SetSelection(self.ira.nb.GetPageCount() - 1)
with open(filetmp, 'w') as f :
f.write(txt)
exec_rcode(self.ira.RPath, filetmp)
- mss = wx.MessageDialog(self.ira, fileout, u'Fichier exporté', wx.OK)
+ mss = wx.MessageDialog(self.ira, fileout, _(u'File exported').decode('utf8'), wx.OK)
mss.CenterOnParent()
mss.ShowModal()
mss.Destroy()
res = normpath_win32(self.pathout['resultats.html']).replace('\\','/')
self.tab.LoadPage(res)
self.tab.parametres = self.parametres
- self.ira.nb.AddPage(self.tab, u"Fréquences")
+ self.ira.nb.AddPage(self.tab, ' - '.join([_(u"Frequency").decode('utf8'), self.parametres['name']]))
class Chi2Layout(DefaultMatLayout) :
res = normpath_win32(self.pathout['resultats-chi2.html']).replace('\\','/')
self.tab.LoadPage(res)
self.tab.parametres = self.parametres
- self.ira.nb.AddPage(self.tab, ' - '.join([u"Chi2", "%s" % self.parametres['name']]))
+ self.ira.nb.AddPage(self.tab, ' - '.join([u"Chi2", self.parametres['name']]))
#self.ira.nb.SetSelection(self.ira.nb.GetPageCount() - 1)
#self.ira.ShowAPane("Tab_content")
class ProtoLayout(DefaultMatLayout) :
def dolayout(self) :
- list_graph = [['proto.png', 'Analyse prototypique']]
+ list_graph = [['proto.png', _(u'Prototypical analysis').decode('utf8')]]
#self.Tab = aui.AuiNotebook(self.ira.nb, -1, wx.DefaultPosition)
#if self.parametres['svg'] :
# list_graph = [['nuage_1.svg', 'Nuage']]
#self.Tab.AddPage(self.TabProto, 'Analyse Prototypique')
#self.Tab.corpus = self.corpus
self.TabProto.parametres = self.parametres
- self.ira.nb.AddPage(self.TabProto, 'Analyse Prototypique - %s' % self.parametres['name'])
+ self.ira.nb.AddPage(self.TabProto, ' - '.join([_(u'Prototypical analysis').decode('utf8'), self.parametres['name']]))
#self.ira.nb.SetSelection(self.ira.nb.GetPageCount() - 1)
#self.ira.ShowAPane("Tab_content")
self.graphpan.Bind(wx.EVT_BUTTON, self.export, self.graphpan.butexport)
self.tabsimi.AddPage(self.graphpan, 'Graph')
self.tabsimi.parametres = self.parametres
- self.parent.nb.AddPage(self.tabsimi, 'Analyse de graph')
+ self.parent.nb.AddPage(self.tabsimi, ' - '.join([_(u'Graph analysis').decode('utf8'), self.parametres['name']]))
#self.parent.ShowTab(True)
#self.parent.nb.SetSelection(self.parent.nb.GetPageCount() - 1)
with open(filetmp, 'w') as f :
f.write(txt)
exec_rcode(self.ira.RPath, filetmp)
- mss = wx.MessageDialog(self.ira, fileout, u'Fichier exporté', wx.OK)
+ mss = wx.MessageDialog(self.ira, fileout, _(u'File exported').decode('utf8'), wx.OK)
mss.CenterOnParent()
mss.ShowModal()
mss.Destroy()
# make a menu
menu = wx.Menu()
# add some items
- menu.Append(self.popupID1, u"Formes associées")
- menu.Append(self.popupID2, u"Concordancier")
- menu.Append(self.popupID3, u"Graphique")
+ menu.Append(self.popupID1, _(u"Associated forms").decode('utf8'))
+ menu.Append(self.popupID2, _(u"Concordance").decode('utf8'))
+ menu.Append(self.popupID3, _(u"Graphic").decode('utf8'))
menu_stcaract = wx.Menu()
self.menuid = {}
if not self.tgen :
self.menuid[nid] = i
menu_stcaract.Append(nid, et)
self.Bind(wx.EVT_MENU, self.onstcaract, id = nid)
- menu.AppendMenu(-1, u"Segments de texte caractéristiques", menu_stcaract)
+ menu.AppendMenu(-1, _(u"Typical text segments").decode('utf8'), menu_stcaract)
menu.Append(self.onmaketgen, _(u"Make Tgen").decode('utf8'))
self.PopupMenu(menu)
menu.Destroy()
rep.append([corpus.getforme(forme).forme, corpus.getforme(forme).freq])
rep.sort(key = itemgetter(1), reverse = True)
items = dict([[i, '<font face="courier">' + '\t:\t'.join([str(val) for val in forme]) + '</font>'] for i, forme in enumerate(rep)])
- win = message(self, items, u"Formes associées", (300, 200))
+ win = message(self, items, _(u"Associated forms").decode('utf8'), (300, 200))
#win = message(self, u"Formes associées", (300, 200))
#win.html = '<html>\n' + '<br>'.join([' : '.join([str(val) for val in forme]) for forme in rep]) + '\n</html>'
#win.HtmlPage.SetPage(win.html)
nuces = [val[1] for val in ntab2]
ucis_txt, ucestxt = doconcorde(corpus, nuces, self.la)
items = dict([[i, '<br>'.join([ucis_txt[i], '<table bgcolor = #1BF0F7 border=0><tr><td><b>score : %.2f</b></td></tr></table><br>' % ntab2[i][0], ucestxt[i]])] for i in range(0,len(ucestxt))])
- win = message(self, items, u"Segments de texte caractéristiques - %s" % self.first[ind], (900, 600))
+ win = message(self, items, ' - '.join([_(u"Typical text segments").decode('utf8'), "%s" % self.first[ind]]), (900, 600))
win.Show(True)
def OnPopupTwo(self, event):
wordlist = [val for val in self.tgens[item] if val in corpus.lems]
ucis_txt, ucestxt = doconcorde(corpus, uce_ok, wordlist)
items = dict([[i, '<br><br>'.join([ucis_txt[i], ucestxt[i]])] for i in range(0,len(ucestxt))])
- win = message(ira, items, u"Concordancier - %s" % item, (800, 500), uceids = uce_ok)
+ win = message(ira, items, ' - '.join([_(u"Concordance").decode('utf8'), "%s" % item]), (800, 500), uceids = uce_ok)
win.Show(True)
def getinf(self, txt) :
with open(tmpscript, 'w') as f :
f.write(txt)
exec_rcode(self.parent.RPath, tmpscript, wait = True)
- win = MessageImage(self, -1, u"Graphique", size=(700, 500),style = wx.DEFAULT_FRAME_STYLE)
+ win = MessageImage(self, -1, _(u"Graphic").decode('utf8'), size=(700, 500),style = wx.DEFAULT_FRAME_STYLE)
win.addsaveimage(tmpgraph)
txt = "<img src='%s'>" % tmpgraph
win.HtmlPage.SetPage(txt)
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-01 19:26+0100\n"
+"POT-Creation-Date: 2014-12-03 18:41+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: iramuteq.py:268
+#: layout.py:510
+msgid "3D graph"
+msgstr ""
+
+#: iramuteq.py:294
+msgid "About..."
+msgstr ""
+
+#: dialog.py:1692 dialog.py:1693
+msgid "Absent form"
+msgstr ""
+
+#: layout.py:772 textstat.py:50
+msgid "Abstract"
+msgstr ""
+
+#: layout.py:775
+msgid "Actives forms"
+msgstr ""
+
+#: dialog.py:1336
+msgid "Actives variables (almost 3)"
+msgstr ""
+
+#: dialog.py:1901
+msgid "Add cluster size"
+msgstr ""
+
+#: ProfList.py:700
+msgid "All segments"
+msgstr ""
+
+#: layout.py:339 tree.py:444 tree.py:657
+msgid "Antiprofiles"
+msgstr ""
+
+#: ProfList.py:332
+msgid "Antonym"
+msgstr ""
+
+#: layout.py:133
+msgid "Are you sure ?"
+msgstr ""
+
+#: Liste.py:163 Liste.py:180 listlex.py:198 listlex.py:233 ProfList.py:313
+#: ProfList.py:754
+msgid "Associated forms"
+msgstr ""
+
+#: dialog.py:952 dialog.py:1029
+msgid "Attention"
+msgstr ""
+
+#: dialog.py:574
+msgid "Avoid overlay"
+msgstr ""
+
+#: dialog.py:2112
+msgid "Background color"
+msgstr ""
+
+#: layout.py:728
+msgid "Banal forms"
+msgstr ""
+
+#: dialog.py:1247
+msgid "Be carefull : computation of repeated segments profiles can be very long on large corpus"
+msgstr ""
+
+#: dialog.py:2638
+msgid "Build sub corpus"
+msgstr ""
+
+#: layout.py:490 layout.py:517 layout.py:742
+msgid "CA"
+msgstr ""
+
+#: layout.py:741
+msgid "CA POS"
+msgstr ""
+
+#: layout.py:738
+msgid "CA forms"
+msgstr ""
+
+#: dialog.py:2376
+msgid "Change ..."
+msgstr ""
+
+#: dialog.py:1215
+msgid "Characteristic text segments"
+msgstr ""
+
+#: dialog.py:82 dialog.py:2313 dialog.py:2706 layout.py:1030
+msgid "Characters set"
+msgstr ""
+
+#: dialog.py:393
+msgid "Check"
+msgstr ""
+
+#: dialog.py:354
+msgid ""
+"Check for new \n"
+"releases at startup"
+msgstr ""
+
+#: dialog.py:383
+msgid ""
+"Check installation \n"
+"of R packages"
+msgstr ""
+
+#: dialog.py:1481 iramuteq.py:261
+msgid "Chi2"
+msgstr ""
+
+#: ProfList.py:314 ProfList.py:359
+msgid "Chi2 by cluster"
+msgstr ""
+
+#: ProfList.py:315
+msgid "Chi2 by cluster on dendrogram"
+msgstr ""
+
+#: ProfList.py:316 ProfList.py:360
+msgid "Chi2 modalities of variable"
+msgstr ""
+
+#: dialog.py:1728
+msgid "Choice"
+msgstr ""
+
+#: guifunct.py:27
+msgid "Choose a file"
+msgstr ""
+
+#: dialog.py:2523
+msgid "Choose a folder"
+msgstr ""
+
+#: dialog.py:2494
+msgid "Cleaning"
+msgstr ""
+
+#: ProfList.py:767
+msgid "Close"
+msgstr ""
+
+#: layout.py:385 layout.py:482
+msgid "Cluster"
+msgstr ""
+
+#: dialog.py:1308 iramuteq.py:266 iramuteq.py:287 layout.py:526
+#: OptionAlceste.py:29 tree.py:399
+msgid "Clustering"
+msgstr ""
+
+#: tree.py:454 tree.py:639 tree.py:648
+msgid "Clusters statistics"
+msgstr ""
+
+#: dialog.py:1884
+msgid "Color or black and white"
+msgstr ""
+
+#: tree.py:452 tree.py:612
+msgid "Colored corpus"
+msgstr ""
+
+#: dialog.py:63 dialog.py:64 dialog.py:68
+msgid "Column separator"
+msgstr ""
+
+#: guifunct.py:360
+msgid "Communities"
+msgstr ""
+
+#: tree.py:450 tree.py:479
+msgid "Compute Tgen"
+msgstr ""
+
+#: Liste.py:164 Liste.py:191 listlex.py:199 listlex.py:294 ProfList.py:326
+#: ProfList.py:688 ProfList.py:694 ProfList.py:700
+msgid "Concordance"
+msgstr ""
+
+#: dialog.py:2306
+msgid "Corpus' name"
+msgstr ""
+
+#: dialog.py:2341
+msgid "Default"
+msgstr ""
+
+#: dialog.py:440
+msgid "Default R mirror"
+msgstr ""
+
+#: OptionAlceste.py:52
+msgid "Default values"
+msgstr ""
+
+#: ProfList.py:329
+msgid "Definition"
+msgstr ""
+
+#: dialog.py:2440
+msgid "Delete characters not in this list"
+msgstr ""
+
+#: tree.py:492
+msgid "Delete from history"
+msgstr ""
+
+#: dialog.py:1810
+msgid "Dendrogram"
+msgstr ""
+
+#: dialog.py:1854
+msgid "Dendrogram type"
+msgstr ""
+
+#: layout.py:1012
+msgid "Description of corpus"
+msgstr ""
+
+#: dialog.py:1068 dialog.py:2331
+msgid "Dictionary"
+msgstr ""
+
+#: tree.py:626
+msgid "Done"
+msgstr ""
+
+#: guifunct.py:332
+msgid "Edge curved"
+msgstr ""
+
+#: guifunct.py:633
+msgid "Edges color"
+msgstr ""
+
+#: guifunct.py:285
+msgid "Edges threshold"
+msgstr ""
+
+#: guifunct.py:533
+msgid "Edges width proportional to score"
+msgstr ""
+
+#: iramuteq.py:298
msgid "Edition"
msgstr ""
-#: iramuteq.py:226
-msgid "Exit"
+#: ProfList.py:330
+msgid "Etymology"
+msgstr ""
+
+#: iramuteq.py:248
+msgid "Exit"
+msgstr ""
+
+#: tree.py:456
+msgid "Export clusters"
+msgstr ""
+
+#: tree.py:451
+msgid "Export corpus"
+msgstr ""
+
+#: tree.py:472
+msgid "Export dictionary"
+msgstr ""
+
+#: dialog.py:2998
+msgid "Export finished. Open in a web browser :"
+msgstr ""
+
+#: dialog.py:924
+msgid "Export for ..."
+msgstr ""
+
+#: ProfList.py:342
+msgid "Export for Tropes"
+msgstr ""
+
+#: tree.py:473
+msgid "Export lemma dictionary"
+msgstr ""
+
+#: ProfList.py:341
+msgid "Export..."
+msgstr ""
+
+#: ProfList.py:343
+msgid "Exporter for Owledge"
+msgstr ""
+
+#: iramuteq.py:233
+msgid "Extract mods"
+msgstr ""
+
+#: iramuteq.py:234
+msgid "Extract thematics"
+msgstr ""
+
+#: dialog.py:2737
+msgid "Extraction type"
+msgstr ""
+
+#: layout.py:499
+msgid "Factor"
+msgstr ""
+
+#: dialog.py:590
+msgid "Factor x : "
+msgstr ""
+
+#: dialog.py:592
+msgid "Factor y : "
+msgstr ""
+
+#: dialog.py:594
+msgid "Factor z : "
+msgstr ""
+
+#: iramuteq.py:297
+msgid "File"
+msgstr ""
+
+#: layout.py:1218 layout.py:1461
+msgid "File exported"
+msgstr ""
+
+#: guifunct.py:51 guifunct.py:63 guifunct.py:74
+msgid "File format"
+msgstr ""
+
+#: dialog.py:53 dialog.py:54 dialog.py:58
+msgid "First column is an id"
+msgstr ""
+
+#: dialog.py:43 dialog.py:44 dialog.py:48
+msgid "First line is header"
+msgstr ""
+
+#: Liste.py:56
+msgid "Form"
+msgstr ""
+
+#: layout.py:726
+msgid "Forms"
+msgstr ""
+
+#: layout.py:730
+msgid "Forms frequencies"
+msgstr ""
+
+#: layout.py:732
+msgid "Forms relative frequencies"
+msgstr ""
+
+#: Liste.py:57
+msgid "Freq."
+msgstr ""
+
+#: iramuteq.py:259
+msgid "Frequencies"
+msgstr ""
+
+#: layout.py:1245
+msgid "Frequency"
+msgstr ""
+
+#: dialog.py:2426
+msgid "General"
+msgstr ""
+
+#: layout.py:1126 layout.py:1295
+msgid "Graph analysis"
+msgstr ""
+
+#: ProfList.py:337 ProfList.py:362
+msgid "Graph of cluster"
+msgstr ""
+
+#: guifunct.py:398
+msgid "Graph settings"
+msgstr ""
+
+#: listlex.py:200 listlex.py:345
+msgid "Graphic"
+msgstr ""
+
+#: dialog.py:544 guifunct.py:249
+msgid "Graphic type"
+msgstr ""
+
+#: guifunct.py:706
+msgid "Graphical settings"
+msgstr ""
+
+#: guifunct.py:572
+msgid "Gray scale on text proportional to frequency (0=black, 1=white)"
+msgstr ""
+
+#: layout.py:777
+msgid "Hapax"
+msgstr ""
+
+#: iramuteq.py:302
+msgid "Help"
+msgstr ""
+
+#: iramuteq.py:343
+msgid "Historic"
+msgstr ""
+
+#: iramuteq.py:254
+msgid "Home page"
+msgstr ""
+
+#: dialog.py:1869
+msgid "Image format"
+msgstr ""
+
+#: iramuteq.py:227
+msgid "Import from TXM"
+msgstr ""
+
+#: iramuteq.py:225
+msgid "Import from factiva"
+msgstr ""
+
+#: ProfList.py:325
+msgid "In all segments"
+msgstr ""
+
+#: ProfList.py:323
+msgid "In segments of this cluster"
+msgstr ""
+
+#: ProfList.py:324
+msgid "In segments of this clustering"
+msgstr ""
+
+#: dialog.py:2831
+msgid "Include empty cells (NA)"
+msgstr ""
+
+#: tree.py:389
+msgid "Informations"
+msgstr ""
+
+#: dialog.py:369
+msgid "Interface language"
+msgstr ""
+
+#: dialog.py:2476
+msgid "Keep punctuation"
+msgstr ""
+
+#: dialog.py:1061
+msgid "Keys properties"
+msgstr ""
+
+#: dialog.py:2322 layout.py:1029
+msgid "Language"
+msgstr ""
+
+#: guifunct.py:234
+msgid "Layout"
+msgstr ""
+
+#: dialog.py:919 dialog.py:1255
+msgid "Lemmatised corpus"
+msgstr ""
+
+#: dialog.py:1052
+msgid "Lemmatization"
+msgstr ""
+
+#: iramuteq.py:1087
+msgid "License GNU GPL"
+msgstr ""
+
+#: dialog.py:972
+msgid "Like ALCESTE"
+msgstr ""
+
+#: dialog.py:972
+msgid "Like Lexico"
+msgstr ""
+
+#: dialog.py:2901
+msgid "Limit frequency"
+msgstr ""
+
+#: dialog.py:570
+msgid "Limit points by cluster chi2"
+msgstr ""
+
+#: dialog.py:2921
+msgid "Limit rank"
+msgstr ""
+
+#: layout.py:72
+msgid "List of not plotted points : "
+msgstr ""
+
+#: listlex.py:210 ProfList.py:327
+msgid "Make Tgen"
+msgstr ""
+
+#: dialog.py:599 guifunct.py:683
+msgid "Make a movie"
+msgstr ""
+
+#: dialog.py:2398
+msgid "Make text segments"
+msgstr ""
+
+#: tree.py:169
+msgid "Matrix"
+msgstr ""
+
+#: iramuteq.py:300
+msgid "Matrix analysis"
+msgstr ""
+
+#: dialog.py:400
+msgid ""
+"Maximum \n"
+"memory for R"
+msgstr ""
+
+#: OptionAlceste.py:43
+msgid "Maximum number of analyzed forms"
+msgstr ""
+
+#: dialog.py:2032
+msgid "Maximum number of forms"
+msgstr ""
+
+#: dialog.py:1224
+msgid "Maximum number of text segments"
+msgstr ""
+
+#: guifunct.py:272
+msgid "Maximum tree"
+msgstr ""
+
+#: dialog.py:1273
+msgid "Maxmum size of segments"
+msgstr ""
+
+#: layout.py:581
+msgid "Mean of forms by segment"
+msgstr ""
+
+#: textstat.py:56
+msgid "Mean of occurrences by text"
+msgstr ""
+
+#: dialog.py:1739 dialog.py:2941
+msgid "Minimum frequency"
+msgstr ""
+
+#: OptionAlceste.py:40
+msgid "Minimum frequency of an analyzed form (2=automatic)"
+msgstr ""
+
+#: dialog.py:1281
+msgid "Minimum frequency of segments"
+msgstr ""
+
+#: OptionAlceste.py:37
+msgid "Minimum frequency of text segments by clusters (0=automatic)"
+msgstr ""
+
+#: dialog.py:1265
+msgid "Minimum size of segments"
+msgstr ""
+
+#: dialog.py:1371
+msgid "Minimum text segments frenquency in clusters (2= automatic)"
+msgstr ""
+
+#: dialog.py:2728
+msgid "Modalities (one by line, with the *)"
+msgstr ""
+
+#: ProfList.py:333
+msgid "Morphology"
+msgstr ""
+
+#: iramuteq.py:260
+msgid "Multiple frequencies"
+msgstr ""
+
+#: tree.py:453
+msgid "Navigator"
+msgstr ""
+
+#: dialog.py:1354 dialog.py:1582
+msgid "Next"
+msgstr ""
+
+#: tree.py:720
+msgid "No TGen yet !"
+msgstr ""
+
+#: corpus.py:1524
+msgid "No Text in corpus. Are you sure of the formatting ?"
+msgstr ""
+
+#: dialog.py:2483
+msgid "No space between two forms"
+msgstr ""
+
+#: layout.py:578
+msgid "Number of active forms"
+msgstr ""
+
+#: layout.py:580
+msgid "Number of active forms with a frequency"
+msgstr ""
+
+#: layout.py:588 layout.py:590
+msgid "Number of clusters"
+msgstr ""
+
+#: layout.py:574 layout.py:1033 textstat.py:53
+msgid "Number of forms"
+msgstr ""
+
+#: layout.py:1034 textstat.py:54
+msgid "Number of hapax"
+msgstr ""
+
+#: layout.py:577
+msgid "Number of lemmas"
+msgstr ""
+
+#: layout.py:587
+msgid "Number of lines"
+msgstr ""
+
+#: layout.py:575 textstat.py:52
+msgid "Number of occurrences"
+msgstr ""
+
+#: layout.py:579
+msgid "Number of supplementary forms"
+msgstr ""
+
+#: dialog.py:1361 OptionAlceste.py:35
+msgid "Number of terminal clusters on phase 1"
+msgstr ""
+
+#: layout.py:573 layout.py:1032
+msgid "Number of text segments"
+msgstr ""
+
+#: layout.py:572 layout.py:1031 textstat.py:51
+msgid "Number of texts"
+msgstr ""
+
+#: dialog.py:2741
+msgid "One file by modality"
+msgstr ""
+
+#: iramuteq.py:295
+msgid "Online help..."
+msgstr ""
+
+#: dialog.py:2741
+msgid "Only one file"
+msgstr ""
+
+#: tree.py:445 tree.py:487
+msgid "Open ..."
+msgstr ""
+
+#: iramuteq.py:205
+msgid "Open a matrix"
+msgstr ""
+
+#: iramuteq.py:209
+msgid "Open a text corpus"
+msgstr ""
+
+#: iramuteq.py:213
+msgid "Open an analysis"
+msgstr ""
+
+#: tree.py:626
+msgid "Open in a web browser ?"
+msgstr ""
+
+#: dialog.py:2349
+msgid "Other"
+msgstr ""
+
+#: dialog.py:930 dialog.py:976 dialog.py:1007 parse_factiva_xml.py:94
+msgid "Output file"
+msgstr ""
+
+#: dialog.py:2363
+msgid "Output folder"
+msgstr ""
+
+#: layout.py:729 Liste.py:58
+msgid "POS"
+msgstr ""
+
+#: layout.py:731
+msgid "POS frequencies"
+msgstr ""
+
+#: tree.py:448
+msgid "POS profiles"
+msgstr ""
+
+#: layout.py:733
+msgid "POS relative frequencies"
+msgstr ""
+
+#: dialog.py:1080 dialog.py:2302
+msgid "Path"
+msgstr ""
+
+#: dialog.py:428 dialog.py:437
+msgid "Path : "
+msgstr ""
+
+#: dialog.py:550 dialog.py:2007 guifunct.py:257
+msgid "Picture format"
+msgstr ""
+
+#: dialog.py:1818 guifunct.py:408
+msgid "Picture size"
+msgstr ""
+
+#: dialog.py:341
+msgid "Play a sound at the end of analysis"
+msgstr ""
+
+#: corpus.py:1624 iramuteq.py:581 iramuteq.py:626 layout.py:946 tree.py:739
+#: tree.py:1063
+msgid "Please wait..."
+msgstr ""
+
+#: tree.py:514
+msgid "Please wait...Reading corpus"
+msgstr ""
+
+#: OptionAlceste.py:47
+msgid "Potato mode (less precise, faster)"
+msgstr ""
+
+#: iramuteq.py:251
+msgid "Preferences"
+msgstr ""
+
+#: dialog.py:1357 dialog.py:1581
+msgid "Previous"
+msgstr ""
+
+#: ProfList.py:428 ProfList.py:462
+msgid "Problem"
+msgstr ""
+
+#: layout.py:513
+msgid "Profiles"
+msgstr ""
+
+#: iramuteq.py:269
+msgid "Prototypical Analysis"
+msgstr ""
+
+#: layout.py:1263 layout.py:1273
+msgid "Prototypical analysis"
+msgstr ""
+
+#: ProfList.py:334
+msgid "Proxemy"
+msgstr ""
+
+#: dialog.py:2432
+msgid "Put text in lowercase"
+msgstr ""
+
+#: dialog.py:432
+msgid "R path"
+msgstr ""
+
+#: dialog.py:1220
+msgid "Ranking score"
+msgstr ""
+
+#: dialog.py:2878
+msgid "Ranks"
+msgstr ""
+
+#: layout.py:378
+msgid "Reading profiles"
+msgstr ""
+
+#: iramuteq.py:308
+msgid "Ready"
+msgstr ""
+
+#: iramuteq.py:264 iramuteq.py:285 tree.py:397
+msgid "Reinert's Method"
+msgstr ""
+
+#: tree.py:390
+msgid "Rename"
+msgstr ""
+
+#: ProfList.py:338 ProfList.py:590
+msgid "Repeated segments"
+msgstr ""
+
+#: dialog.py:1243 layout.py:519 tree.py:447
+msgid "Repeated segments profiles"
msgstr ""
-#: iramuteq.py:214
-msgid "Extract mods"
+#: dialog.py:2460
+msgid "Replace apostrophe by space"
msgstr ""
-#: iramuteq.py:267
-msgid "File"
+#: dialog.py:2468
+msgid "Replace dash by space"
msgstr ""
-#: iramuteq.py:272
-msgid "Help"
+#: tree.py:455 tree.py:486 tree.py:666 tree.py:676
+msgid "Report"
msgstr ""
-#: iramuteq.py:232
-msgid "Home page"
+#: dialog.py:556
+msgid "Representation"
msgstr ""
-#: iramuteq.py:210
-msgid "Import from factiva"
+#: dialog.py:1521
+msgid "Results"
msgstr ""
-#: corpus.py:1147
-msgid "No Text in corpora. Are you sure of the formatting ?"
+#: dialog.py:2661
+msgid "Save as ..."
msgstr ""
-#: iramuteq.py:190
-msgid "Open a matrix"
+#: dialog.py:1736 guifunct.py:219
+msgid "Score"
msgstr ""
-#: iramuteq.py:194
-msgid "Open a text corpora"
+#: guifunct.py:319
+msgid "Score on edges"
msgstr ""
-#: iramuteq.py:198
-msgid "Open an analysis"
+#: tree.py:635
+msgid "Search ..."
msgstr ""
-#: iramuteq.py:229
-msgid "Preferences"
+#: ProfList.py:249
+msgid "Search..."
msgstr ""
-#: iramuteq.py:222
-msgid "Save tab as..."
+#: ProfList.py:694
+msgid "Segments of this clustering"
msgstr ""
-#: iramuteq.py:233
+#: parse_factiva_xml.py:89
+msgid "Select a directory of txt files"
+msgstr ""
+
+#: parse_factiva_xml.py:87
+msgid "Select a directory of xml files"
+msgstr ""
+
+#: dialog.py:2352 dialog.py:2701
+msgid "Select a file"
+msgstr ""
+
+#: guifunct.py:379
+msgid "Select a variable"
+msgstr ""
+
+#: dialog.py:1726
+msgid "Select by"
+msgstr ""
+
+#: tabsimi.py:78
+msgid "Select columns"
+msgstr ""
+
+#: dialog.py:330 dialog.py:469 dialog.py:970 dialog.py:1041 dialog.py:2149
+#: dialog.py:2279 dialog.py:2864 guifunct.py:161 OptionAlceste.py:63
+msgid "Settings"
+msgstr ""
+
+#: iramuteq.py:255
msgid "Show data"
msgstr ""
-#: iramuteq.py:234
+#: iramuteq.py:256
msgid "Show results"
msgstr ""
-#: iramuteq.py:213
+#: iramuteq.py:268 iramuteq.py:288 tree.py:400
+msgid "Similarities Analysis"
+msgstr ""
+
+#: OptionAlceste.py:31
+msgid "Size of rst1"
+msgstr ""
+
+#: layout.py:584
+msgid "Size of rst1 / rst2"
+msgstr ""
+
+#: OptionAlceste.py:33
+msgid "Size of rst2"
+msgstr ""
+
+#: layout.py:744
+msgid "Specificities"
+msgstr ""
+
+#: iramuteq.py:282 tree.py:395
+msgid "Specificities and CA"
+msgstr ""
+
+#: dialog.py:596 guifunct.py:670
+msgid "Spheres transparency"
+msgstr ""
+
+#: iramuteq.py:232 tree.py:428
msgid "Split from variable"
msgstr ""
-#: iramuteq.py:270 iramuteq.py:427 iramuteq.py:636 tableau.py:185
-msgid "Spreadsheet analysis"
+#: tree.py:429
+msgid "Split matrix"
+msgstr ""
+
+#: layout.py:551
+msgid "Stat by cluster"
+msgstr ""
+
+#: iramuteq.py:281 tree.py:394
+msgid "Statistics"
+msgstr ""
+
+#: tree.py:405
+msgid "Sub corpus"
+msgstr ""
+
+#: tree.py:457
+msgid "Sub corpus from clusters"
+msgstr ""
+
+#: tree.py:403
+msgid "Sub corpus from metadata"
+msgstr ""
+
+#: tree.py:404
+msgid "Sub corpus from thematic"
+msgstr ""
+
+#: dialog.py:1340
+msgid "Supplementaries variables (almost 1)"
+msgstr ""
+
+#: layout.py:776
+msgid "Supplementary forms"
+msgstr ""
+
+#: dialog.py:1327
+msgid "Supplementary variables are marked with a *"
+msgstr ""
+
+#: ProfList.py:331
+msgid "Synonymous"
+msgstr ""
+
+#: dialog.py:562
+msgid "Take the x first points"
+msgstr ""
+
+#: dialog.py:566
+msgid "Take the x first points by cluster"
msgstr ""
-#: iramuteq.py:271 iramuteq.py:428 iramuteq.py:635 openanalyse.py:116
-#: openanalyse.py:119 openanalyse.py:122 openanalyse.py:125 openanalyse.py:128
-#: openanalyse.py:131 tableau.py:186
+#: iramuteq.py:301
msgid "Text analysis"
msgstr ""
-#: iramuteq.py:219
+#: dialog.py:2101
+msgid "Text color"
+msgstr ""
+
+#: dialog.py:2381
+msgid "Text mark"
+msgstr ""
+
+#: guifunct.py:306
+msgid "Text on vertex"
+msgstr ""
+
+#: dialog.py:2406
+msgid "Text segments build process"
+msgstr ""
+
+#: dialog.py:2415
+msgid "Text segments size"
+msgstr ""
+
+#: dialog.py:73 dialog.py:74 dialog.py:78
+msgid "Text separator"
+msgstr ""
+
+#: dialog.py:560 dialog.py:2061 guifunct.py:345
+msgid "Text size"
+msgstr ""
+
+#: dialog.py:583
+msgid "Text size proportional to chi2"
+msgstr ""
+
+#: dialog.py:576
+msgid "Text size proportional to frequency"
+msgstr ""
+
+#: tree.py:147
+msgid "Textual corpus"
+msgstr ""
+
+#: tree.py:449 tree.py:478
+msgid "Tgen Editor"
+msgstr ""
+
+#: layout.py:689
+msgid "Tgens Specificities"
+msgstr ""
+
+#: dialog.py:952 dialog.py:1029
+msgid "This file already exists. Continue anyway ?"
+msgstr ""
+
+#: tree.py:1074
+#, python-format
+msgid "This file does not exist : %s"
+msgstr ""
+
+#: layout.py:133
+msgid "This file will be delete : "
+msgstr ""
+
+#: ProfList.py:462
+msgid "This is not a meta-data"
+msgstr ""
+
+#: ProfList.py:428
+msgid "This is not a variable_modality form"
+msgstr ""
+
+#: iramuteq.py:241
msgid "Tools"
msgstr ""
-#: iramuteq.py:269 iramuteq.py:426 iramuteq.py:564 iramuteq.py:634
-#: tableau.py:184
+#: ProfList.py:335
+msgid "Tools from CNRTL (french only)"
+msgstr ""
+
+#: layout.py:774
+msgid "Total"
+msgstr ""
+
+#: listlex.py:209 listlex.py:274 ProfList.py:339 ProfList.py:622
+msgid "Typical text segments"
+msgstr ""
+
+#: guifunct.py:206
+msgid "Use previous coordinates"
+msgstr ""
+
+#: dialog.py:420
+msgid "Use svdlibc"
+msgstr ""
+
+#: dialog.py:2390
+msgid "Use the expression dictionary"
+msgstr ""
+
+#: dialog.py:1721 dialog.py:2046
+msgid "Used forms"
+msgstr ""
+
+#: dialog.py:2874
+msgid "Variables"
+msgstr ""
+
+#: dialog.py:2718
+msgid "Variables (with the * but without the _)"
+msgstr ""
+
+#: dialog.py:1749
+msgid "Variables choice"
+msgstr ""
+
+#: dialog.py:2246
+msgid "Variables selection"
+msgstr ""
+
+#: guifunct.py:621
+msgid "Vertex color"
+msgstr ""
+
+#: guifunct.py:649
+msgid "Vertex size"
+msgstr ""
+
+#: guifunct.py:439
+msgid "Vertex size proportional to frequency"
+msgstr ""
+
+#: guifunct.py:486
+msgid "Vertex text size proportional to frequency"
+msgstr ""
+
+#: iramuteq.py:299
msgid "View"
msgstr ""
-#: iramuteq.py:206
+#: iramuteq.py:309
+msgid "Welcome"
+msgstr ""
+
+#: ProfList.py:340
+msgid "Word cloud of cluster"
+msgstr ""
+
+#: ProfList.py:317
+msgid "Word graph"
+msgstr ""
+
+#: dialog.py:2017
+msgid "Word size proportional to ..."
+msgstr ""
+
+#: iramuteq.py:290 tree.py:401
+msgid "WordCloud"
+msgstr ""
+
+#: dialog.py:1956
+msgid "Wordcloud settings"
+msgstr ""
+
+#: dialog.py:1222
+msgid "absolute (sum of chi2 of marked forms in segment)"
+msgstr ""
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2050
+msgid "actives"
+msgstr ""
+
+#: dialog.py:1722 dialog.py:2050
+msgid "actives and supplementaries"
+msgstr ""
+
+#: OptionAlceste.py:32
+msgid "actives forms"
+msgstr ""
+
+#: tree.py:485
+msgid "antiprofiles"
+msgstr ""
+
+#: dialog.py:2907 dialog.py:2927
+msgid "automatic (mean)"
+msgstr ""
+
+#: dialog.py:1911
+msgid "bar"
+msgstr ""
+
+#: dialog.py:1888
+msgid "black and white"
+msgstr ""
+
+#: dialog.py:2183
+msgid "black and white graphical"
+msgstr ""
+
+#: dialog.py:2286
+msgid "characters"
+msgstr ""
+
+#: dialog.py:1733 dialog.py:1735 dialog.py:2021
+msgid "chi2"
+msgstr ""
+
+#: dialog.py:1911
+msgid "circular diagram"
+msgstr ""
+
+#: dialog.py:1481
+msgid "cluster"
+msgstr ""
+
+#: dialog.py:559 dialog.py:873
+msgid "clusters"
+msgstr ""
+
+#: dialog.py:1888
+msgid "color"
+msgstr ""
+
+#: dialog.py:2177
+msgid "column percentage"
+msgstr ""
+
+#: dialog.py:557
+msgid "coordinates"
+msgstr ""
+
+#: dialog.py:2298 dialog.py:2697
+msgid "corpus"
+msgstr ""
+
+#: dialog.py:557
+msgid "correlations"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "double on RST"
+msgstr ""
+
+#: dialog.py:2161
+msgid "expected values"
+msgstr ""
+
+#: dialog.py:1481
+msgid "form"
+msgstr ""
+
+#: dialog.py:2021
+msgid "frequency"
+msgstr ""
+
+#: iramuteq.py:221
msgid "from copy/paste"
msgstr ""
-#: iramuteq.py:205
+#: iramuteq.py:220
msgid "from mail"
msgstr ""
-#: iramuteq.py:204
+#: iramuteq.py:219
msgid "from xml"
msgstr ""
+
+#: dialog.py:2180
+msgid "graphical"
+msgstr ""
+
+#: dialog.py:554 dialog.py:1826 dialog.py:1979 guifunct.py:416
+msgid "height"
+msgstr ""
+
+#: dialog.py:1733
+msgid "hypergeometrical law"
+msgstr ""
+
+#: dialog.py:1072
+msgid "indexation"
+msgstr ""
+
+#: layout.py:596
+msgid "line classified on"
+msgstr ""
+
+#: dialog.py:2907 dialog.py:2927
+msgid "manual"
+msgstr ""
+
+#: dialog.py:1727
+msgid "modalities"
+msgstr ""
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1056 dialog.py:1259 dialog.py:1331
+msgid "no"
+msgstr ""
+
+#: dialog.py:2158
+msgid "observed values"
+msgstr ""
+
+#: dialog.py:2286
+msgid "occurrences"
+msgstr ""
+
+#: textstat.py:54
+msgid "of forms"
+msgstr ""
+
+#: textstat.py:54
+msgid "of occurrences"
+msgstr ""
+
+#: dialog.py:1072
+msgid "other"
+msgstr ""
+
+#: dialog.py:2286
+msgid "paragraphs"
+msgstr ""
+
+#: dialog.py:1065
+msgid "properties"
+msgstr ""
+
+#: dialog.py:1222
+msgid "relative (mean of chi2 of marked forms in segment)"
+msgstr ""
+
+#: dialog.py:2164
+msgid "residuals"
+msgstr ""
+
+#: dialog.py:2174
+msgid "row percentage"
+msgstr ""
+
+#: dialog.py:1481
+msgid "see"
+msgstr ""
+
+#: layout.py:592
+msgid "segments classified on"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "simple on text segments"
+msgstr ""
+
+#: OptionAlceste.py:30
+msgid "simple on texts"
+msgstr ""
+
+#: dialog.py:2167
+msgid "standardized residuals"
+msgstr ""
+
+#: dialog.py:559
+msgid "stars"
+msgstr ""
+
+#: dialog.py:559 dialog.py:1722 dialog.py:2050
+msgid "supplementaries"
+msgstr ""
+
+#: OptionAlceste.py:45
+msgid "svd method"
+msgstr ""
+
+#: layout.py:594
+msgid "texts classified on"
+msgstr ""
+
+#: dialog.py:2747
+msgid "thematics (one by line, with the -*)"
+msgstr ""
+
+#: layout.py:598
+msgid "time"
+msgstr ""
+
+#: dialog.py:2171
+msgid "total percentage"
+msgstr ""
+
+#: dialog.py:1727
+msgid "variables"
+msgstr ""
+
+#: dialog.py:552 dialog.py:1837 dialog.py:1991 guifunct.py:423
+msgid "width"
+msgstr ""
+
+#: dialog.py:46 dialog.py:56 dialog.py:349 dialog.py:364 dialog.py:921
+#: dialog.py:1056 dialog.py:1259 dialog.py:1331
+msgid "yes"
+msgstr ""
class SearchFrame(wx.Frame):
- def __init__(self, parent, id, title, corpus, size=(800, 500)):
+ def __init__(self, parent, id, title, corpus, size=(800, 900)):
# begin wxGlade: MyFrame.__init__
#kwds["style"] = wx.DEFAULT_FRAME_STYLE
- wx.Frame.__init__(self, parent, id)
+ wx.Frame.__init__(self, parent, id, size = size, style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL)
self.parent = parent
+ self.ira = wx.GetApp().GetTopWindow()
+ self.SetIcon(self.ira._icon)
search_id = wx.NewId()
self.Bind(wx.EVT_MENU, self.onsearch, id = search_id)
self.accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('F'), search_id)])
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, self.button_1)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
self.SetTitle(u'Navigation')
- self.SetSize(wx.Size(400,700))
+ self.SetSize(wx.Size(900,700))
self.__do_layout()
# end wxGlade
#License: GNU/GPL
from chemins import ffr, simipath
-#from corpus import Corpus
import os
from analysetxt import AnalyseText
-#from ConfigParser import RawConfigParser
-#from guifunct import getPage, getCorpus
from guifunct import PrepSimi
from functions import indices_simi, progressbar, treat_var_mod, read_list_file, print_liste
-#from tableau import Tableau
-#from tabsimi import DoSimi
from PrintRScript import PrintSimiScript
import wx
from copy import copy
-
import logging
log = logging.getLogger('iramuteq.textsimi')
continu = True
self.parametres = prep.parametres
self.dlg = progressbar(self.ira, 4)
+ else :
+ return False
else :
continu = True
if continu :
self.lfreq = lfreq
self.lchi = lchi
parametres['name'] = 'simi_classe_%i' % (numcluster + 1)
- SimiTxt.__init__(self, ira, corpus, parametres, dlg, lemdial = False)
+ dlg.Destroy()
+ SimiTxt.__init__(self, ira, corpus, parametres, dlg=True, lemdial = False)
def preferences(self) :
return self.parametres
del self.parametres['bystar']
dictcol = dict([[i, [act, self.corpus.getlemclustereff(act, self.numcluster)]] for i, act in enumerate(self.actives)])
continu = True
+ #print self.dlg
if self.dlg :
- #self.listet = self.corpus.make_etoiles()
- #self.listet.sort()
+ self.dlg.Destroy()
self.stars = []#copy(self.listet)
self.parametres['stars'] = 0#copy(self.listet)
self.parametres['sfromchi'] = 1
else :
continu = False
if continu :
+ self.dlg = progressbar(self.parent, 3)
self.makefiles()
self.parametres['type'] = 'clustersimitxt'
script = PrintSimiScript(self)
#License: GNU/GPL
from chemins import ffr
-from chemins import PathOut
from analysetxt import AnalyseText
-#from corpus import Corpus
-from guifunct import getPage, getCorpus
-from ConfigParser import RawConfigParser
-from functions import sortedby, progressbar, CreateIraFile, exec_rcode, check_Rresult, DoConf
-from dialog import StatDialog
-from openanalyse import OpenAnalyse
-#from ttparser import *
+from functions import sortedby, progressbar, exec_rcode, check_Rresult
import tempfile
from time import sleep
-import wx
-import os
-
import logging
logger = logging.getLogger('iramuteq.textstat')
phapax = (float(len(hapax)) / float(occurrences)) * 100
phapax_forme = (float(len(hapax)) / (float(len(formes)))) * 100
moy_occu_mot = float(occurrences) / float(len(formes))
- txt = 'Globale\n'
- txt += 'nombre de textes : %i\n' % len(self.corpus.ucis)
- txt += 'nombre d\'occurrences : %i\n' % occurrences
- txt += 'nombre de formes : %i\n' % (len(formes))
- txt += 'moyenne d\'occurrences par forme : %.2f\n' % moy_occu_mot
- txt += 'nombre d\'hapax : %i (%.2f%% des occurrences - %.2f%% des formes)\n' % (len(hapax), phapax, phapax_forme)
- print float(occurrences), float(len(self.corpus.ucis))
- txt += 'moyenne d\'occurrences par texte : %.2f' % (float(occurrences)/float(len(self.corpus.ucis)))
+ txt = ''.join([_(u'Abstract').decode('utf8'), '\n'])
+ txt += ''.join([_(u'Number of texts').decode('utf8'),' : ', '%i\n' % len(self.corpus.ucis)])
+ txt += ''.join([_(u"Number of occurrences").decode('utf8'),' : %i\n' % occurrences])
+ txt += ''.join([_(u'Number of forms').decode('utf8'), ' : %i\n' % (len(formes))])
+ txt += ''.join([_(u"Number of hapax").decode('utf8'),' : %i (%.2f%%' % (len(hapax),phapax), _(u'of occurrences').decode('utf8'), ' - %.2f%% ' % phapax_forme, _(u'of forms').decode('utf8'), ')\n'])
+ #print float(occurrences), float(len(self.corpus.ucis))
+ txt += ''.join([_(u"Mean of occurrences by text").decode('utf8'), ' : %.2f' % (float(occurrences)/float(len(self.corpus.ucis)))])
if self.dlg :
self.dlg.Update(7, u'Ecriture...')
self.result['glob'] = txt
stat = menu.Append(wx.ID_ANY, _(u"Statistics").decode('utf8'))
spec = menu.Append(wx.ID_ANY, _(u"Specificities and CA").decode('utf8'))
classification = wx.Menu()
- reinert = classification.Append(wx.ID_ANY, _(u"Reinert method").decode('utf8'))
+ reinert = classification.Append(wx.ID_ANY, _(u"Reinert's Method").decode('utf8'))
#pam = classification.Append(wx.ID_ANY, u"Par matrice des distances")
menu.AppendMenu(-1, _(u"Clustering").decode('utf8'), classification)
- simi = menu.Append(wx.ID_ANY, _(u"Similarities analysis").decode('utf8'))
- wdc = menu.Append(wx.ID_ANY, _(u"Wordcloud").decode('utf8'))
+ simi = menu.Append(wx.ID_ANY, _(u"Similarities Analysis").decode('utf8'))
+ wdc = menu.Append(wx.ID_ANY, _(u"WordCloud").decode('utf8'))
subcorpus = wx.Menu()
subcorpusfrommeta = subcorpus.Append(wx.ID_ANY, _(u'Sub corpus from metadata').decode('utf8'))
subcorpusfromtheme = subcorpus.Append(wx.ID_ANY, _(u'Sub corpus from thematic').decode('utf8'))
def OnRename(self, event):
pydata = self.itemdict['pydata']
- print pydata
+ if 'matrix_name' in pydata :
+ name = 'matrix_name'
+ elif 'corpus_name' in pydata :
+ name = 'corpus_name'
+ else :
+ name = 'name'
+ oldname = pydata[name]
+ dlg = wx.TextEntryDialog(self, "Please Enter The New Item Name", 'Item Naming', oldname)
+ if dlg.ShowModal() == wx.ID_OK:
+ newname = dlg.GetValue()
+ dlg.Destroy()
+ pydata[name] = newname
+ Totconf = DoConf(configfile=pydata['ira'])
+ conf = Totconf.getoptions()
+ conf[name] = newname
+ Totconf.makeoptions(Totconf.getsections(), [conf])
+ self.history.update(pydata)
+ self.SetItemText(self.current, newname)
+ self.EnsureVisible(self.current)
def OnItemBackground(self, event):