[tryton-debian-vcs] tryton-client branch upstream updated. upstream/3.4.3-1-g7b30129

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Apr 23 16:00:11 UTC 2015


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-client.git;a=commitdiff;h=upstream/3.4.3-1-g7b30129

commit 7b3012928f67c1540ddd0ebf1b001fd13c6b17e7
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu Apr 23 16:59:46 2015 +0200

    Adding upstream version 3.6.0.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index ac8adbb..ad67146 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,11 +1,17 @@
-Version 3.4.3 - 2015-03-30
-* Bug fixes (see mercurial logs for details)
-
-Version 3.4.2 - 2015-02-16
-* Bug fixes (see mercurial logs for details)
-
-Version 3.4.1 - 2014-12-03
+Version 3.6.0 - 2015-04-20
 * Bug fixes (see mercurial logs for details)
+* Hide columns containing always the same value
+* Remove Tabs Position option
+* Manage product attribute
+* Remove float_time widget
+* Add TimeDelta field
+* Improve date/time widgets
+* Remove datetime widget on list/tree view
+* Allow to put many times the same field on tree view
+* Add search completion on dictionary widget
+* Merge host and port field in profile editor
+* New color scheme for graph
+* Replace img_{width,height} by width and height attributes
 
 Version 3.4.0 - 2014-10-20
 * Bug fixes (see mercurial logs for details)
diff --git a/MANIFEST.in b/MANIFEST.in
index 2daf487..2834f60 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,7 +2,6 @@ include LICENSE
 include COPYRIGHT
 include README
 include INSTALL
-include TODO
 include CHANGELOG
 include setup.nsi
 include setup-single.nsi
diff --git a/PKG-INFO b/PKG-INFO
index 23f70d1..ecfd1fd 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.4.3
+Version: 3.6.0
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
 Description: tryton
         ======
         
diff --git a/TODO b/TODO
deleted file mode 100644
index 15bbd1b..0000000
--- a/TODO
+++ /dev/null
@@ -1,11 +0,0 @@
-- Add set_search_column on treeview
-- Use unicode for value from gtk.Entry
-- Allow to open relation in new form
-- Add a calculator for number fields
-- Use a view from the server for attachment
-- Improve pysocket to allow **kwargs
-- Add post-it on records
-- Add tip on shortcut customize
-- Add domain on char, date, float and interger widgets
-- Allow to set default for search field depending of the view id and the action
-- Make export windows load relation fields when expanded
diff --git a/bin/tryton b/bin/tryton
index 3b75928..58ecd1e 100755
--- a/bin/tryton
+++ b/bin/tryton
@@ -42,7 +42,7 @@ os.environ['UBUNTU_MENUPROXY'] = '0'
 # overlay-scrollbar breaks treeview height
 os.environ['LIBOVERLAY_SCROLLBAR'] = '0'
 
-import tryton
+from tryton import client
 if '--profile' in sys.argv:
     import profile
     import pstats
@@ -51,7 +51,7 @@ if '--profile' in sys.argv:
     sys.argv.remove('--profile')
 
     statfile = tempfile.mkstemp(".stat", "tryton-")[1]
-    profile.run('tryton.client.TrytonClient().run()', statfile)
+    profile.run('client.TrytonClient().run()', statfile)
     s = pstats.Stats(statfile)
     s.sort_stats('cumulative').print_stats()
     s.sort_stats('call').print_stats()
@@ -63,4 +63,4 @@ if '--profile' in sys.argv:
     os.remove(statfile)
 
 else:
-    tryton.client.TrytonClient().run()
+    client.TrytonClient().run()
diff --git a/doc/build.py b/doc/build.py
index 52c9632..1fd999c 100644
--- a/doc/build.py
+++ b/doc/build.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import sys
 import os
 from os import path
diff --git a/doc/conf.py b/doc/conf.py
index 27e91e8..26d1da7 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 #
 # Tryton documentation build configuration file, created by
 # sphinx-quickstart on Tue Mar 23 13:25:32 2010.
@@ -16,7 +16,7 @@
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.append(os.path.abspath('.'))
+# sys.path.append(os.path.abspath('.'))
 
 # -- General configuration ----------------------------------------------------
 
@@ -31,7 +31,7 @@ templates_path = ['_templates']
 source_suffix = '.rst'
 
 # The encoding of source files.
-#source_encoding = 'utf-8'
+# source_encoding = 'utf-8'
 
 # The master toctree document.
 master_doc = 'index'
@@ -46,46 +46,46 @@ copyright = u'2008-2011,  Anne Krings, Bertrand Chenal, Cédric Krier, \
 # built documents.
 #
 # The short X.Y version.
-version = '3.4'
+version = '3.6'
 # The full version, including alpha/beta/rc tags.
-release = '3.4'
+release = '3.6'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
-#language = None
+# language = None
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
-#today = ''
+# today = ''
 # Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+# today_fmt = '%B %d, %Y'
 
 # List of documents that shouldn't be included in the build.
-#unused_docs = []
+# unused_docs = []
 
 # List of directories, relative to source directory, that shouldn't be searched
 # for source files.
 exclude_trees = ['_build']
 
 # The reST default role (used for this markup: `text`) to use for all documents
-#default_role = None
+# default_role = None
 
 # If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
+# add_function_parentheses = True
 
 # If true, the current module name will be prepended to all description
 # unit titles (such as .. function::).
-#add_module_names = True
+# add_module_names = True
 
 # If true, sectionauthor and moduleauthor directives will be shown in the
 # output. They are ignored by default.
-#show_authors = False
+# show_authors = False
 
 # The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'sphinx'
 
 # A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
+# modindex_common_prefix = []
 
 
 # -- Options for HTML output --------------------------------------------------
@@ -97,26 +97,26 @@ html_theme = 'default'
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
 # documentation.
-#html_theme_options = {}
+# html_theme_options = {}
 
 # Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
+# html_theme_path = []
 
 # The name for this set of Sphinx documents.  If None, it defaults to
 # "<project> v<release> documentation".
-#html_title = None
+# html_title = None
 
 # A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
+# html_short_title = None
 
 # The name of an image file (relative to this directory) to place at the top
 # of the sidebar.
-#html_logo = None
+# html_logo = None
 
 # The name of an image file (within the static path) to use as favicon of the
 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
 # pixels large.
-#html_favicon = None
+# html_favicon = None
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
@@ -125,38 +125,38 @@ html_static_path = []
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
+# html_last_updated_fmt = '%b %d, %Y'
 
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
-#html_use_smartypants = True
+# html_use_smartypants = True
 
 # Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
+# html_sidebars = {}
 
 # Additional templates that should be rendered to pages, maps page names to
 # template names.
-#html_additional_pages = {}
+# html_additional_pages = {}
 
 # If false, no module index is generated.
-#html_use_modindex = True
+# html_use_modindex = True
 
 # If false, no index is generated.
-#html_use_index = True
+# html_use_index = True
 
 # If true, the index is split into individual pages for each letter.
-#html_split_index = False
+# html_split_index = False
 
 # If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
+# html_show_sourcelink = True
 
 # If true, an OpenSearch description file will be output, and all pages will
 # contain a <link> tag referring to it.  The value of this option must be the
 # base URL from which the finished HTML is served.
-#html_use_opensearch = ''
+# html_use_opensearch = ''
 
 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = ''
+# html_file_suffix = ''
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'trytonddoc'
@@ -165,10 +165,10 @@ htmlhelp_basename = 'trytonddoc'
 # -- Options for LaTeX output -------------------------------------------------
 
 # The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
+# latex_paper_size = 'letter'
 
 # The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
+# latex_font_size = '10pt'
 
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, documentclass [howto/manual])
@@ -180,17 +180,17 @@ latex_documents = [
 
 # The name of an image file (relative to this directory) to place at the top of
 # the title page.
-#latex_logo = None
+# latex_logo = None
 
 # For "manual" documents, if this is true, then toplevel headings are parts,
 # not chapters.
-#latex_use_parts = False
+# latex_use_parts = False
 
 # Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
+# latex_preamble = ''
 
 # Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# latex_appendices = []
 
 # If false, no module index is generated.
-#latex_use_modindex = True
+# latex_use_modindex = True
diff --git a/doc/de_DE/glossary.po b/doc/de_DE/glossary.po
deleted file mode 100644
index 6a19fb3..0000000
--- a/doc/de_DE/glossary.po
+++ /dev/null
@@ -1,422 +0,0 @@
-# extracted from glossary.rst
-msgid ""
-msgstr ""
-"Project-Id-Version: Tryton\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-04 16:33+0200\n"
-"PO-Revision-Date: 2010-05-06 18:56+0100\n"
-"Last-Translator: Tobias Paepke <tryton at paepke.net>\n"
-"Language-Team: http://tryton.origo.ethz.ch/forum/8\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-"X-Poedit-Language: german\n"
-"X-Poedit-Bookmarks: 13,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: glossary.rst:1
-msgid ""
-"Glossary\n"
-"########"
-msgstr ""
-"Glossar\n"
-"#######"
-
-#: glossary.rst:4
-msgid ""
-".. glossary::\n"
-"   :sorted:"
-msgstr ""
-".. glossary::\n"
-"   :sorted:"
-
-#: glossary.rst:7
-msgid ""
-"   Actions\n"
-"      An *action* is a function which is triggered by a user intervention.\n"
-"      *Actions* are called from activating menu items or pushing buttons.\n"
-"      Actions often provide :term:`wizards`."
-msgstr ""
-"   Aktionen\n"
-"      Eine *Aktion* ist eine Funktion, die durch einen Benutzereingriff ausgelöst wird.\n"
-"      *Aktionen* werden über Menü-Einträge oder Drücken von Knöpfen aufgerufen.\n"
-"      Aktionen stellen oft :term:`Wizards` bereit."
-
-#: glossary.rst:12
-msgid ""
-"   Board\n"
-"      The *board* is a type of :term:`views` able to handle other views. This\n"
-"      view type is not documented or not used for now."
-msgstr ""
-"   Infoseite\n"
-"      Die *Infoseite* ist ein :term:`Sicht`-Typ, mit der Möglichkeit andere Sichten zu verarbeiten.\n"
-"      Diese Art von Sicht ist weder dokumentiert noch bisher benutzt."
-
-#: glossary.rst:16
-msgid ""
-"   Character Encoding\n"
-"      See [WP-ENCOD]_"
-msgstr ""
-"   Zeichen Kodierung\n"
-"      Siehe [WP-ENCOD]_"
-
-#: glossary.rst:19
-msgid ""
-"   CSV\n"
-"      File format for Comma Separated Values. See [WP-CSV]_"
-msgstr ""
-"   CSV\n"
-"      Dateiformat für Komma separierte Werte (Comma Separated Values). Siehe [WP-CSV]_"
-
-#: glossary.rst:22
-msgid ""
-"   Data\n"
-"      *Data* means information content produced by users."
-msgstr ""
-"   Daten\n"
-"      *Daten* sind Informationen, welche von Benutzern erstellt wurden."
-
-#: glossary.rst:26
-msgid ""
-"   Dialog\n"
-"      A *dialog* is a :term:`popup` window, which overlays other windows and\n"
-"      request user interaction. *Dialogs* are used to set up special\n"
-"      :term:`actions`."
-msgstr ""
-"   Dialog\n"
-"      *Dialoge* werden benutzt um Einstellungen für verschiedene :term:`Aktionen`\n"
-"      abzufragen oder um eine Bestätigung des Benutzers abzuwarten."
-
-#: glossary.rst:31
-msgid ""
-"   Fields\n"
-"      *Fields* are attributes of a *data object*. *Fields* are\n"
-"      represented as table fields in relational databases."
-msgstr ""
-"   Felder\n"
-"      *Felder* sind Attribute von *Daten-Objekten*. Die *Felder* sind\n"
-"      in relationalen Datenbanken als Tabellenspalten dargestellt."
-
-#: glossary.rst:35
-msgid ""
-"   Form View\n"
-"      The *form* is a mode of :term:`views`, which displays single\n"
-"      :term:`records` of data."
-msgstr ""
-"   Formularansicht\n"
-"      Die *Formularansicht* ist ein :term:`Sicht-Typ <Sicht>`, der einen einzigen\n"
-"      :term:`Datensatz` darstellt."
-
-#: glossary.rst:39
-msgid ""
-"   Form\n"
-"      The *form* is the general type of :term:`views` used in Tryton. The\n"
-"      *form* provides several modes for presenting :term:`data`:"
-msgstr ""
-"   Formular\n"
-"      Das *Formular* ist eine grundlegende Art von :term:`Sicht` in Tryton.\n"
-"      *Formulare* können unterschiedliche Sichten auf :term:`Daten`: bereitstellen."
-
-#: glossary.rst:43
-msgid ""
-"      * :term:`Form View`\n"
-"      * :term:`Tree View`\n"
-"      * :term:`Graph View`"
-msgstr ""
-"      * :term:`Formularansicht`\n"
-"      * :term:`Baumansicht`\n"
-"      * :term:`Diagrammansicht`"
-
-#: glossary.rst:47
-msgid ""
-"   Graph View\n"
-"      *Graph view* is a mode of :term:`views` to show sets of data in a\n"
-"      diagram. *Graph views* can be pie-charts or bar-charts."
-msgstr ""
-"   Diagrammansicht\n"
-"      *Diagrammansicht* ist eine Art von :term:`Sicht` um Datensätze in einem\n"
-"      Diagramm darzustellen. Die *Diagrammansichten* können Tortendiagramme oder\n"
-"      Balkendiagramme sein."
-
-#: glossary.rst:51
-msgid ""
-"   Main Frame\n"
-"      The *main frame* is a huge part arranged in the center of the\n"
-"      :term:`Tryton client`. *Using the Tryton client* means mainly using the\n"
-"      *main frame* part. It contains :term:`tabs` to organize and to show\n"
-"      different :term:`views`."
-msgstr ""
-"   Hauptbereich\n"
-"      Der *Hauptbereich* ist eine großer Teil in der Mitte des\n"
-"      :term:`Tryton Client`. *Den Tryton Client benutzen* bezeichnet hauptsächlich den\n"
-"      *Hauptbereich*. Er beinhaltet :term:`Tabs` um die verschiedenen\n"
-"      :term:`Formulare <Formular>` zu ordnen und darzustellen."
-
-#: glossary.rst:57
-msgid ""
-"   Model\n"
-"      A *model* describes how data is represented and accessed. Models\n"
-"      formally define records and relationships for a certain domain\n"
-"      of interest."
-msgstr ""
-"   Modell\n"
-"      Ein *Modell* beschreibt wie Daten intern strukturiert und gespeichert werden.\n"
-"      Modelle legen auch fest, wie auf Daten zugegriffen wird. Modelle definieren den\n"
-"      Rahmen, in dem Datensätze und Beziehungen für ein bestimmtes Aufgabengebiet\n"
-"      hinterlegt werden können."
-
-#: glossary.rst:62
-msgid ""
-"   Modules\n"
-"      *Modules* are enclosed file packages for the :term:`Tryton server`. A\n"
-"      *Module* defines the :term:`Model`, the presentation of the\n"
-"      information (:term:`views`), functions, :term:`actions` and default\n"
-"      presets. Additionally *modules* may provide standardized data like ISO\n"
-"      names for countries. *Modules* in Tryton are build up generically. That\n"
-"      is, they are constructed as simple as possible to provide the\n"
-"      desired functionality."
-msgstr ""
-"   Module\n"
-"      *Module* sind Pakete aus Dateien für den :term:`Tryton Server`. Ein\n"
-"      *Module* definiert :term:`Modelle <Modell>`, die Präsentation der Information\n"
-"      (:term:`Sichten <Sicht>`), Funktionen, :term:`Aktionen` und Voreinstellungen.\n"
-"      Zusätzlich können *Module* standardisierte Systemdaten wie zum Beispiel die ISO\n"
-"      Namen der Länder beinhalten. *Module* sind in Tryton generisch aufgebaut.\n"
-"      Das bedeutet, sie sind so einfach, dass die meisten nur die grundlegende\n"
-"      Funktionalität bereitzustellen. Spezielle Anpassungen für unterschiedliche\n"
-"      Anwendungsfälle werden in Zusatzmodulen realisiert."
-
-#: glossary.rst:71
-msgid ""
-"   Plugins\n"
-"      A *plugin* is an add-on module for the :term:`Tryton client`."
-msgstr ""
-"   Plugins\n"
-"      Ein *Plugin* ist ein Zusatzmodul für den :term:`Tryton Client`."
-
-#: glossary.rst:74
-msgid ""
-"   Popup\n"
-"      A small window which pops up the main window."
-msgstr ""
-"   Popup\n"
-"      Ein kleines Fenster, welches sich im Hauptbereich in den Vordergrund stellt."
-
-#: glossary.rst:77
-msgid ""
-"   Records\n"
-"      A *record* is a singular dataset in a :term:`Model`. *Records* are\n"
-"      represented as lines or *records* in a relational database table."
-msgstr ""
-"   Datensatz\n"
-"      Ein Datensatz ist eine zusammengefasste Einheit von :term:`Datenfeldern\n"
-"      <felder>`. *Datensätze* werden als Zeilen\n"
-"      in einer relationalen Datenbank-Tabellen dargestellt."
-
-#: glossary.rst:81
-msgid ""
-"   Tabs\n"
-"      *Tabs* are :term:`widgets` to arrange different contents side by side.\n"
-"      They are used to switch quickly between different domains of interest.\n"
-"      Tryton uses *tabs* in two layer:"
-msgstr ""
-"   Tabs\n"
-"      *Tabs* sind :term:`Widgets` um verschiedene Inhalte nebeneinander darzustellen.\n"
-"      Sie werden benutzt um zwischen verschiedenen Aufgabengebieten umzuschalten.\n"
-"      Tryton benutzt *Tabs* auf zwei Ebenen:"
-
-#: glossary.rst:86
-msgid ""
-"      * A tabbed :term:`Main Frame`.\n"
-"      * Tabs inside :term:`Views`."
-msgstr ""
-"      * Ein unterteilter :term:`Hauptbereich`.\n"
-"      * Tabs innerhalb einer :term:`Sicht`."
-
-#: glossary.rst:89
-msgid ""
-"      The main frame consists of *tabs* that embed the main menu and all views\n"
-"      to an appropriate :term:`model`. The other type of *tabs* is used\n"
-"      inside of :term:`views` to split them into visual domains of the same\n"
-"      model. These *tabs* are used for structuring contents of one model to\n"
-"      different sub headings."
-msgstr ""
-"      Der Hauptbereich besteht aus *Tabs*, welche das Hauptmenü und alle\n"
-"      Sichten zu einem dazugehörigen :term:`Modell` einbetten. Der andere Typ eines\n"
-"      *Tabs* wird innerhalb einer :term:`Sicht` benutzt um die\n"
-"      verschiedene Bereiche des gleichen Modells visuell abzutrennen.\n"
-"      Diese *Tabs* werden benutzt um die Inhalte eines Modells in verschiedene\n"
-"      Unterpunkte zu strukturieren."
-
-#: glossary.rst:95
-msgid ""
-"   Three-Tiers\n"
-"      A *three-tiers* application framework like Tryton, is build up of three\n"
-"      different software components:"
-msgstr ""
-"   Drei Schichten\n"
-"      Eine *Drei-Schichten*-Anwendungs-Plattform wie Tryton, besteht aus drei\n"
-"      verschiedenen Software Komponenten:"
-
-#: glossary.rst:99
-msgid ""
-"      1. The storage or data tier.\n"
-"      2. The logic or application tier.\n"
-"      3. The presentation tier."
-msgstr ""
-"      1. Die Speicher- oder Daten-Schicht\n"
-"      2. Die Logik- oder Anwendungs-Schicht\n"
-"      3. Die Präsentations-Schicht"
-
-#: glossary.rst:103
-msgid ""
-"      The storage tier in the Tryton framework is provided by the PostgreSQL\n"
-"      database engine. The application logic tier is provided by\n"
-"      :term:`Tryton server` and its :term:`modules`. The presentation tier is\n"
-"      mainly provided by the :term:`Tryton client`. In a *three tiers*\n"
-"      framework, the presentation tier (client) never connects directly to the\n"
-"      storage tier. All communication is controlled by the application tier."
-msgstr ""
-"      Die Speicher-Schicht im Tryton-Plattform wird durch die PostgreSQL\n"
-"      Datenbank bereitgestellt. Die Logik-Schicht wird durch den\n"
-"      :term:`Tryton Server` und dessen :term:`Module` zur Verfügung gestellt.\n"
-"      Die Präsentations-Schicht ist hauptsächlich durch den :term:`Tryton Client`\n"
-"      dargestellt. In einer *Drei-Schichten*-Architektur verbindet sich die\n"
-"      Präsentations-Schicht (Client) nie direkt mit der Speicher-Schicht.\n"
-"      Jede Kommunikation wird durch die Logik-Schicht überwacht."
-
-#: glossary.rst:110
-msgid ""
-"   Tree View\n"
-"      *Tree view* is a mode of :term:`views` showing sets of :term:`data`.\n"
-"      *Tree views* can be flat lists or tables as well as tree-like nested\n"
-"      lists."
-msgstr ""
-"   Baumansicht\n"
-"      Die *Baumansicht* ist ein :term:`Sicht-Typ <Sicht>`, der mehrere :term:`Datensätze <Datensatz>` gleichzeitig anzeigt.\n"
-"      *Baumansichten* können flache Listen oder Tabellen wie auch verschachtelte baumartige Listen sein."
-
-#: glossary.rst:115
-msgid ""
-"   Tryton Server\n"
-"      The *Tryton server* is the application or logic tier in the\n"
-"      :term:`three-tiers` application platform *Tryton*. The *Tryton server*\n"
-"      connects the underlying application logic of the different\n"
-"      :term:`modules` with corresponding database records. The\n"
-"      *Tryton server* provides different interfaces to present the\n"
-"      generated information:"
-msgstr ""
-"   Tryton Server\n"
-"      Der *Tryton Server* ist die Anwendungs- oder Logik-Schicht in der\n"
-"      :term:`drei Schichten` Anwendungs-Plattform *Tryton*. Der *Tryton Server*\n"
-"      verbindet die zugrunde liegende Anwendungslogik der verschiedenen\n"
-"      :term:`Module` mit den dazugehörigen Datensätzen. Der\n"
-"      *Tryton Server* stellt verschiedene Schnittstellen zur Darstellung der\n"
-"      erstellten Informationen bereit:"
-
-#: glossary.rst:123
-msgid ""
-"      * :term:`Tryton client`: (graphical user interface GUI)\n"
-"      * XMLRPC see [WP-XMLRPC]_\n"
-"      * WebDAV see [WP-WebDAV]_\n"
-"      * OpenOffice"
-msgstr ""
-"      * :term:`Tryton Client`: (grafische Benutzeroberläche GUI)\n"
-"      * XMLRPC siehe [WP-XMLRPC]_\n"
-"      * WebDAV siehe [WP-WebDAV]_\n"
-"      * OpenOffice"
-
-#: glossary.rst:128
-msgid ""
-"   Tryton Client\n"
-"      The *Tryton client* application is the graphical user interface (GUI)\n"
-"      of the :term:`Tryton server`."
-msgstr ""
-"   Tryton Client\n"
-"      Die *Tryton client* Anwendung ist der grafische Benutzeroberfläche (GUI)\n"
-"      des :term:`Tryton Servers <Tryton server>`."
-
-#: glossary.rst:132
-msgid ""
-"   Views\n"
-"      A *view* is the visual presentation of :term:`data`.\n"
-"      *Views* resides inside :term:`tabs` in the :term:`main frame` of the\n"
-"      :term:`Tryton client`. There are two general types of *views* in Tryton:"
-msgstr ""
-"   Sicht\n"
-"      Eine *Sicht* ist die visuelle Präsentation von :term:`Daten`.\n"
-"      *Sichten* befinden sich in :term:`Tabs` im :term:`Hauptbereich` des\n"
-"      :term:`Tryton Client`. Es gibt zwei grundsätzliche Typen von *Sichten* in Tryton:"
-
-#: glossary.rst:137
-msgid ""
-"      1. :term:`Form`\n"
-"      2. :term:`Board`"
-msgstr ""
-"      1. :term:`Formular`\n"
-"      2. :term:`Infoseite`"
-
-#: glossary.rst:140
-msgid ""
-"      Each of the view types has different modes to show data. *Views*\n"
-"      are built of several :term:`widgets` and provide often additional\n"
-"      :term:`actions`. It is also possible to present the same data in\n"
-"      different view modes alternately."
-msgstr ""
-"      Jede der Sichten-Typen hat verschiedene Arten der Darstellung. *Sichten*\n"
-"      sind aus mehreren :term:`Widgets` aufgebaut und stellen oft zusätzliche\n"
-"      :term:`Aktionen` bereit. Es ist auch möglich die gleichen Daten mit\n"
-"      verschiedenen alternativen Sichten darzustellen."
-
-#: glossary.rst:145
-msgid ""
-"   Widgets\n"
-"      A *Widget* is a visual element of a graphical user interface (GUI). Some\n"
-"      *Widgets* solely show informations, others allow manipulation from user\n"
-"      side. Example *Widgets* are buttons, check-boxes, entry-boxes, selection\n"
-"      lists, tables, lists, trees, ..."
-msgstr ""
-"   Widgets\n"
-"      Ein *Widget* ist ein visuelles Steuerelement der grafischen\n"
-"      Benutzeroberfläche (GUI). Einige *Widgets* stellen lediglich Informationen\n"
-"      dar, Andere erlauben es dem Benutzer Änderungen zu machen. Bespiele von\n"
-"      *Widgets* sind Knöpfe, Check-Boxen, Eingabefelder, Auswahllisten,\n"
-"      Tabellen, Listen, Bäume, ..."
-
-#: glossary.rst:151
-msgid ""
-"   Wizards\n"
-"      *Wizards* define stateful sequences of interaction to proceed\n"
-"      complex :term:`actions`. A *wizard* divides the complexity of some actions\n"
-"      into several user guided steps."
-msgstr ""
-"   Wizards\n"
-"      *Wizards* beinhalten mehrere aufeinander folgende Schritte um komplexe\n"
-"      :term:`Aktionen` auszuführen. Ein *Wizard* teilt die Komplexität\n"
-"      mancher Aktionen in mehrere geführte Schritte auf."
-
-#: glossary.rst:156
-msgid ""
-"References\n"
-"**********"
-msgstr ""
-"Quellen\n"
-"*******"
-
-#: glossary.rst:159
-msgid ".. [WP-XMLRPC] http://en.wikipedia.org/wiki/Xmlrpc"
-msgstr ".. [WP-XMLRPC] http://de.wikipedia.org/wiki/XMLRPC"
-
-#: glossary.rst:161
-msgid ".. [WP-WebDAV] http://en.wikipedia.org/wiki/Webdav"
-msgstr ".. [WP-WebDAV] http://de.wikipedia.org/wiki/Webdav"
-
-#: glossary.rst:163
-msgid ""
-".. [WP-CSV] http://en.wikipedia.org/wiki/Comma-separated_values\n"
-".. [WP-ENCOD] http://en.wikipedia.org/wiki/Character_encoding"
-msgstr ""
-".. [WP-CSV] http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29 \n"
-".. [WP-ENCOD] http://de.wikipedia.org/wiki/Zeichenkodierung"
diff --git a/doc/de_DE/glossary.rst b/doc/de_DE/glossary.rst
deleted file mode 100644
index d606f7d..0000000
--- a/doc/de_DE/glossary.rst
+++ /dev/null
@@ -1,171 +0,0 @@
-Glossar
-#######
-
-.. glossary::
-   :sorted:
-
-   Aktionen
-      Eine *Aktion* ist eine Funktion, die durch einen Benutzereingriff ausgelöst wird.
-      *Aktionen* werden über Menü-Einträge oder Drücken von Knöpfen aufgerufen.
-      Aktionen stellen oft :term:`Wizards` bereit.
-
-   Infoseite
-      Die *Infoseite* ist ein :term:`Sicht`-Typ, mit der Möglichkeit andere Sichten zu verarbeiten.
-      Diese Art von Sicht ist weder dokumentiert noch bisher benutzt.
-
-   Zeichen Kodierung
-      Siehe [WP-ENCOD]_
-
-   CSV
-      Dateiformat für Komma separierte Werte (Comma Separated Values). Siehe [WP-CSV]_
-
-   Daten
-      *Daten* sind Informationen, welche von Benutzern erstellt wurden.
-
-
-   Dialog
-      *Dialoge* werden benutzt um Einstellungen für verschiedene :term:`Aktionen`
-      abzufragen oder um eine Bestätigung des Benutzers abzuwarten.
-
-   Felder
-      *Felder* sind Attribute von *Daten-Objekten*. Die *Felder* sind
-      in relationalen Datenbanken als Tabellenspalten dargestellt.
-
-   Formularansicht
-      Die *Formularansicht* ist ein :term:`Sicht-Typ <Sicht>`, der einen einzigen
-      :term:`Datensatz` darstellt.
-
-   Formular
-      Das *Formular* ist eine grundlegende Art von :term:`Sicht` in Tryton.
-      *Formulare* können unterschiedliche Sichten auf :term:`Daten`: bereitstellen.
-
-      * :term:`Formularansicht`
-      * :term:`Baumansicht`
-      * :term:`Diagrammansicht`
-
-   Diagrammansicht
-      *Diagrammansicht* ist eine Art von :term:`Sicht` um Datensätze in einem
-      Diagramm darzustellen. Die *Diagrammansichten* können Tortendiagramme oder
-      Balkendiagramme sein.
-
-   Hauptbereich
-      Der *Hauptbereich* ist eine großer Teil in der Mitte des
-      :term:`Tryton Client`. *Den Tryton Client benutzen* bezeichnet hauptsächlich den
-      *Hauptbereich*. Er beinhaltet :term:`Tabs` um die verschiedenen
-      :term:`Formulare <Formular>` zu ordnen und darzustellen.
-
-   Modell
-      Ein *Modell* beschreibt wie Daten intern strukturiert und gespeichert werden.
-      Modelle legen auch fest, wie auf Daten zugegriffen wird. Modelle definieren den
-      Rahmen, in dem Datensätze und Beziehungen für ein bestimmtes Aufgabengebiet
-      hinterlegt werden können.
-
-   Module
-      *Module* sind Pakete aus Dateien für den :term:`Tryton Server`. Ein
-      *Module* definiert :term:`Modelle <Modell>`, die Präsentation der Information
-      (:term:`Sichten <Sicht>`), Funktionen, :term:`Aktionen` und Voreinstellungen.
-      Zusätzlich können *Module* standardisierte Systemdaten wie zum Beispiel die ISO
-      Namen der Länder beinhalten. *Module* sind in Tryton generisch aufgebaut.
-      Das bedeutet, sie sind so einfach, dass die meisten nur die grundlegende
-      Funktionalität bereitzustellen. Spezielle Anpassungen für unterschiedliche
-      Anwendungsfälle werden in Zusatzmodulen realisiert.
-
-   Plugins
-      Ein *Plugin* ist ein Zusatzmodul für den :term:`Tryton Client`.
-
-   Popup
-      Ein kleines Fenster, welches sich im Hauptbereich in den Vordergrund stellt.
-
-   Datensatz
-      Ein Datensatz ist eine zusammengefasste Einheit von :term:`Datenfeldern
-      <felder>`. *Datensätze* werden als Zeilen
-      in einer relationalen Datenbank-Tabellen dargestellt.
-
-   Tabs
-      *Tabs* sind :term:`Widgets` um verschiedene Inhalte nebeneinander darzustellen.
-      Sie werden benutzt um zwischen verschiedenen Aufgabengebieten umzuschalten.
-      Tryton benutzt *Tabs* auf zwei Ebenen:
-
-      * Ein unterteilter :term:`Hauptbereich`.
-      * Tabs innerhalb einer :term:`Sicht`.
-
-      Der Hauptbereich besteht aus *Tabs*, welche das Hauptmenü und alle
-      Sichten zu einem dazugehörigen :term:`Modell` einbetten. Der andere Typ eines
-      *Tabs* wird innerhalb einer :term:`Sicht` benutzt um die
-      verschiedene Bereiche des gleichen Modells visuell abzutrennen.
-      Diese *Tabs* werden benutzt um die Inhalte eines Modells in verschiedene
-      Unterpunkte zu strukturieren.
-
-   Drei Schichten
-      Eine *Drei-Schichten*-Anwendungs-Plattform wie Tryton, besteht aus drei
-      verschiedenen Software Komponenten:
-
-      1. Die Speicher- oder Daten-Schicht
-      2. Die Logik- oder Anwendungs-Schicht
-      3. Die Präsentations-Schicht
-
-      Die Speicher-Schicht im Tryton-Plattform wird durch die PostgreSQL
-      Datenbank bereitgestellt. Die Logik-Schicht wird durch den
-      :term:`Tryton Server` und dessen :term:`Module` zur Verfügung gestellt.
-      Die Präsentations-Schicht ist hauptsächlich durch den :term:`Tryton Client`
-      dargestellt. In einer *Drei-Schichten*-Architektur verbindet sich die
-      Präsentations-Schicht (Client) nie direkt mit der Speicher-Schicht.
-      Jede Kommunikation wird durch die Logik-Schicht überwacht.
-
-   Baumansicht
-      Die *Baumansicht* ist ein :term:`Sicht-Typ <Sicht>`, der mehrere :term:`Datensätze <Datensatz>` gleichzeitig anzeigt.
-      *Baumansichten* können flache Listen oder Tabellen wie auch verschachtelte baumartige Listen sein.
-
-   Tryton Server
-      Der *Tryton Server* ist die Anwendungs- oder Logik-Schicht in der
-      :term:`drei Schichten` Anwendungs-Plattform *Tryton*. Der *Tryton Server*
-      verbindet die zugrunde liegende Anwendungslogik der verschiedenen
-      :term:`Module` mit den dazugehörigen Datensätzen. Der
-      *Tryton Server* stellt verschiedene Schnittstellen zur Darstellung der
-      erstellten Informationen bereit:
-
-      * :term:`Tryton Client`: (grafische Benutzeroberläche GUI)
-      * XMLRPC siehe [WP-XMLRPC]_
-      * WebDAV siehe [WP-WebDAV]_
-      * OpenOffice
-
-   Tryton Client
-      Die *Tryton client* Anwendung ist der grafische Benutzeroberfläche (GUI)
-      des :term:`Tryton Servers <Tryton server>`.
-
-   Sicht
-      Eine *Sicht* ist die visuelle Präsentation von :term:`Daten`.
-      *Sichten* befinden sich in :term:`Tabs` im :term:`Hauptbereich` des
-      :term:`Tryton Client`. Es gibt zwei grundsätzliche Typen von *Sichten* in Tryton:
-
-      1. :term:`Formular`
-      2. :term:`Infoseite`
-
-      Jede der Sichten-Typen hat verschiedene Arten der Darstellung. *Sichten*
-      sind aus mehreren :term:`Widgets` aufgebaut und stellen oft zusätzliche
-      :term:`Aktionen` bereit. Es ist auch möglich die gleichen Daten mit
-      verschiedenen alternativen Sichten darzustellen.
-
-   Widgets
-      Ein *Widget* ist ein visuelles Steuerelement der grafischen
-      Benutzeroberfläche (GUI). Einige *Widgets* stellen lediglich Informationen
-      dar, Andere erlauben es dem Benutzer Änderungen zu machen. Bespiele von
-      *Widgets* sind Knöpfe, Check-Boxen, Eingabefelder, Auswahllisten,
-      Tabellen, Listen, Bäume, ...
-
-   Wizards
-      *Wizards* beinhalten mehrere aufeinander folgende Schritte um komplexe
-      :term:`Aktionen` auszuführen. Ein *Wizard* teilt die Komplexität
-      mancher Aktionen in mehrere geführte Schritte auf.
-
-Quellen
-*******
-
-.. [WP-XMLRPC] http://de.wikipedia.org/wiki/XMLRPC
-
-.. [WP-WebDAV] http://de.wikipedia.org/wiki/Webdav
-
-.. [WP-CSV] http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29 
-.. [WP-ENCOD] http://de.wikipedia.org/wiki/Zeichenkodierung
-
-
diff --git a/doc/de_DE/index.po b/doc/de_DE/index.po
deleted file mode 100644
index 8586b7e..0000000
--- a/doc/de_DE/index.po
+++ /dev/null
@@ -1,63 +0,0 @@
-# extracted from index.rst
-#. extracted from index.rst
-msgid ""
-msgstr ""
-"Project-Id-Version: Tryton\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-04 16:33+0200\n"
-"PO-Revision-Date: 2009-12-30 12:06+0100\n"
-"Last-Translator: Tobias Paepke <tryton at paepke.net>\n"
-"Language-Team: http://tryton.origo.ethz.ch/forum/8\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-"X-Poedit-Language: German\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: index.rst:1
-msgid ""
-".. Tryton documentation master file. You can adapt this file\n"
-"   completely to your liking, but it should at least contain the root\n"
-"   `toctree` directive."
-msgstr ""
-".. Tryton Dokumentation Haupt Datei. Diese Datei kann komplett nach\n"
-"   eigenen Wünschen angepasst werden. Sie sollte aber zumindest die\n"
-"   Direktive `toctree` beinhalten."
-
-#: index.rst:5
-msgid ""
-"Tryton Client\n"
-"#############"
-msgstr ""
-"Tryton Client\n"
-"#############"
-
-#: index.rst:8
-msgid "Contents:"
-msgstr "Inhalt:"
-
-#: index.rst:10
-msgid ""
-".. toctree::\n"
-"   :maxdepth: 2"
-msgstr ""
-".. toctree::\n"
-"   :maxdepth: 2"
-
-#: index.rst:13
-msgid ""
-"   introduction\n"
-"   installation"
-msgstr ""
-"   introduction\n"
-"   installation"
-
-#: index.rst:16
-msgid "   usage"
-msgstr "   usage"
-
-#: index.rst:18
-msgid "   glossary"
-msgstr "   glossary"
diff --git a/doc/de_DE/index.rst b/doc/de_DE/index.rst
deleted file mode 100644
index 7794466..0000000
--- a/doc/de_DE/index.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-.. Tryton Dokumentation Haupt Datei. Diese Datei kann komplett nach
-   eigenen Wünschen angepasst werden. Sie sollte aber zumindest die
-   Direktive `toctree` beinhalten.
-
-Tryton Client
-#############
-
-Inhalt:
-
-.. toctree::
-   :maxdepth: 2
-
-   introduction
-   installation
-
-   usage
-
-   glossary
diff --git a/doc/de_DE/installation.po b/doc/de_DE/installation.po
deleted file mode 100644
index 5b0f19f..0000000
--- a/doc/de_DE/installation.po
+++ /dev/null
@@ -1,104 +0,0 @@
-# extracted from installation.rst
-msgid ""
-msgstr ""
-"Project-Id-Version: Tryton\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-04 16:33+0200\n"
-"PO-Revision-Date: 2010-05-06 19:03+0100\n"
-"Last-Translator: Tobias Paepke <tryton at paepke.net>\n"
-"Language-Team: http://tryton.origo.ethz.ch/forum/8\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-"X-Poedit-Language: german\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: installation.rst:1
-msgid ""
-"Installing tryton\n"
-"================="
-msgstr ""
-"Tryton Installation\n"
-"==================="
-
-#: installation.rst:4
-msgid ""
-"Prerequisites\n"
-"-------------"
-msgstr ""
-"Voraussetzungen\n"
-"---------------"
-
-#: installation.rst:7
-msgid ""
-" * Python 2.4 or later (http://www.python.org/)\n"
-" * pygtk 2.0 or later (http://www.pygtk.org/)\n"
-" * librsvg (http://librsvg.sourceforge.net/)\n"
-" * python-dateutil (http://labix.org/python-dateutil)\n"
-" * simplejson (http://undefined.org/python/#simplejson)\n"
-" * Optional: pytz (http://pytz.sourceforge.net/)"
-msgstr ""
-" * Python 2.4 oder neuer (http://www.python.org/)\n"
-" * pygtk 2.0 oder neuer (http://www.pygtk.org/)\n"
-" * librsvg (http://librsvg.sourceforge.net/)\n"
-" * python-dateutil (http://labix.org/python-dateutil)\n"
-" * simplejson (http://undefined.org/python/#simplejson)\n"
-" * Optional: pytz (http://pytz.sourceforge.net/)"
-
-#: installation.rst:14
-msgid ""
-"Installation\n"
-"------------"
-msgstr ""
-"Installation\n"
-"------------"
-
-#: installation.rst:17
-msgid ""
-"Once you've downloaded and unpacked a tryton source release, enter the\n"
-"directory where the archive was unpacked, and run:"
-msgstr ""
-"Nach dem Herunterladen und Auspacken der Tryton Quellen wechselt man in das\n"
-"Verzeichnis in welches das Archiv ausgepackt wurde und führt folgenden Befehl\n"
-"aus:"
-
-#: installation.rst:20
-msgid "    ``python setup.py install``"
-msgstr "    ``python setup.py install``"
-
-#: installation.rst:22
-msgid ""
-"Note that you may need administrator/root privileges for this step, as\n"
-"this command will by default attempt to install tryton to the Python\n"
-"site-packages directory on your system."
-msgstr ""
-"Für diesen Schritt können Administrator/root Berechtigungen benötigt\n"
-"werden, da dieser Befehl Tryton standardmäßig in das systemweite Python\n"
-"site-package Verzeichnis installiert."
-
-#: installation.rst:26
-msgid ""
-"For advanced options, please refer to the easy_install__ and/or the\n"
-"distutils__ documentation:"
-msgstr ""
-"Für weitere Installationsoptionen kann man die Dokumentation von\n"
-"easy_install__ oder distutils__ beachten."
-
-#: installation.rst:29
-msgid "__ http://peak.telecommunity.com/DevCenter/EasyInstall"
-msgstr "__ http://peak.telecommunity.com/DevCenter/EasyInstall"
-
-#: installation.rst:31
-msgid "__ http://docs.python.org/inst/inst.html"
-msgstr "__ http://docs.python.org/inst/inst.html"
-
-#: installation.rst:33
-msgid ""
-"To use without installation, run ``bin/tryton`` from where the archive was\n"
-"unpacked."
-msgstr ""
-"Um Tryton ohne Installation zu benutzen kann man ``bin/tryton`` im Verzeichnis\n"
-"des entpackten Archiv aufrufen."
-
diff --git a/doc/de_DE/installation.rst b/doc/de_DE/installation.rst
deleted file mode 100644
index f72f850..0000000
--- a/doc/de_DE/installation.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-Tryton Installation
-===================
-
-Voraussetzungen
----------------
-
- * Python 2.4 oder neuer (http://www.python.org/)
- * pygtk 2.0 oder neuer (http://www.pygtk.org/)
- * librsvg (http://librsvg.sourceforge.net/)
- * python-dateutil (http://labix.org/python-dateutil)
- * simplejson (http://undefined.org/python/#simplejson)
- * Optional: pytz (http://pytz.sourceforge.net/)
-
-Installation
-------------
-
-Nach dem Herunterladen und Auspacken der Tryton Quellen wechselt man in das
-Verzeichnis in welches das Archiv ausgepackt wurde und führt folgenden Befehl
-aus:
-
-    ``python setup.py install``
-
-Für diesen Schritt können Administrator/root Berechtigungen benötigt
-werden, da dieser Befehl Tryton standardmäßig in das systemweite Python
-site-package Verzeichnis installiert.
-
-Für weitere Installationsoptionen kann man die Dokumentation von
-easy_install__ oder distutils__ beachten.
-
-__ http://peak.telecommunity.com/DevCenter/EasyInstall
-
-__ http://docs.python.org/inst/inst.html
-
-Um Tryton ohne Installation zu benutzen kann man ``bin/tryton`` im Verzeichnis
-des entpackten Archiv aufrufen.
-
diff --git a/doc/de_DE/introduction.po b/doc/de_DE/introduction.po
deleted file mode 100644
index b8529fa..0000000
--- a/doc/de_DE/introduction.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# extracted from introduction.rst
-msgid ""
-msgstr ""
-"Project-Id-Version: Tryton\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-04 16:33+0200\n"
-"PO-Revision-Date: 2010-05-06 18:55+0100\n"
-"Last-Translator: Tobias Paepke <tryton at paepke.net>\n"
-"Language-Team: http://tryton.origo.ethz.ch/forum/8\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-"X-Poedit-Language: german\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: introduction.rst:1
-msgid ""
-"Introduction\n"
-"############"
-msgstr ""
-"Einleitung\n"
-"##########"
-
-#: introduction.rst:4
-msgid ""
-"Tryton is a Graphical User Interface to the Tryton Framework\n"
-"based on GTK__ and Python__."
-msgstr ""
-"Tryton ist eine grafische Benutzeroberfläche zur Tryton\n"
-"Anwendungs-Plattform basierend auf GTK__ und Python__."
-
-#: introduction.rst:7
-msgid ""
-"__ http://www.gtk.org\n"
-"__ http://www.python.org"
-msgstr ""
-"__ http://www.gtk.org\n"
-"__ http://www.python.org"
-
diff --git a/doc/de_DE/introduction.rst b/doc/de_DE/introduction.rst
deleted file mode 100644
index d640928..0000000
--- a/doc/de_DE/introduction.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Einleitung
-##########
-
-Tryton ist eine grafische Benutzeroberfläche zur Tryton
-Anwendungs-Plattform basierend auf GTK__ und Python__.
-
-__ http://www.gtk.org
-__ http://www.python.org
-
diff --git a/doc/de_DE/usage.po b/doc/de_DE/usage.po
deleted file mode 100644
index 6d5e3c7..0000000
--- a/doc/de_DE/usage.po
+++ /dev/null
@@ -1,2165 +0,0 @@
-# extracted from usage.rst
-msgid ""
-msgstr ""
-"Project-Id-Version: Tryton\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-04 16:33+0200\n"
-"PO-Revision-Date: 2010-05-06 15:50+0100\n"
-"Last-Translator: Tobias Paepke <tryton at paepke.net>\n"
-"Language-Team: http://tryton.origo.ethz.ch/forum/8\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-"X-Poedit-Language: german\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: usage.rst:2
-msgid ":tocdepth: 2"
-msgstr ":tocdepth: 2"
-
-#: usage.rst:4
-msgid ""
-"Client Usage\n"
-"############\n"
-"This document is the reference about the concepts of the graphical user\n"
-"interface (also known as *Tryton client* ) of the Tryton application framework."
-msgstr ""
-"Client Bedienung\n"
-"################\n"
-"Dieses Dokument stellt die Konzepte der grafischen Benutzeroberfläche\n"
-"(*Tryton Client*) für die Tryton Anwendungs-Plattform dar."
-
-#: usage.rst:10
-msgid ""
-"Name\n"
-"****\n"
-"tryton - Graphical user client of the Tryton application framework"
-msgstr ""
-"Name\n"
-"****\n"
-"tryton - grafische Benutzeroberfläche der Tryton Anwendungs-Plattform"
-
-#: usage.rst:15
-msgid ""
-"Synopsis\n"
-"********"
-msgstr ""
-"Kurzfassung\n"
-"***********"
-
-#: usage.rst:18
-msgctxt "usage.rst:18"
-msgid "::"
-msgstr "::"
-
-#: usage.rst:20
-msgid "  tryton [options]"
-msgstr "  tryton [Optionen]"
-
-#: usage.rst:22
-msgid ""
-"After startup, there raises the `login dialog`__ and optionally a\n"
-"`tips dialog`__."
-msgstr ""
-"Nach dem Start öffnet sich der `Anmeldedialog`__ und optional\n"
-"ein `Tippdialog`__."
-
-#: usage.rst:25
-msgid ""
-"__ Menu-File-Connect_\n"
-"__ Menu-Help-Tips_"
-msgstr ""
-"__ Menu-File-Connect_\n"
-"__ Menu-Help-Tips_"
-
-#: usage.rst:29
-msgid ""
-"Options\n"
-"*******"
-msgstr ""
-"Optionen\n"
-"********"
-
-#: usage.rst:32
-msgid "--version                            Show program version number and exit"
-msgstr "--version                            Zeigt die Programm-Version und beendet sich"
-
-#: usage.rst:34
-msgid "-h, --help                           Show help message and exit"
-msgstr "-h, --help                           Zeigt die Hilfe an und beendet sich"
-
-#: usage.rst:36
-msgid "-c FILE, --config=FILE               Specify alternate `configuration file`_"
-msgstr "-c FILE, --config=FILE               Angabe einer alternativen `Konfigurations-Datei`__"
-
-#: usage.rst:38
-msgid "-v, --verbose                        Enable basic debugging"
-msgstr "-v, --verbose                        Einschalten einer einfachen Fehleranzeige"
-
-#: usage.rst:40
-msgid "-d LOG_LOGGER, --log=LOG_LOGGER      Specify channels to log (ex: rpc.request, rpc.result, ...)"
-msgstr "-d LOG_LOGGER, --log=LOG_LOGGER      Angabe des zu protokollierenden Kanals (z. B.: rpc.request, rpc.result, ...)"
-
-#: usage.rst:42
-msgid ""
-"-l LOG_LEVEL, --log-level=LOG_LEVEL  Specify the log level: INFO, DEBUG,\n"
-"                                     WARNING, ERROR, CRITICAL"
-msgstr ""
-"-l LOG_LEVEL, --log-level=LOG_LEVEL  Angebe der Protokollebene: INFO,\n"
-"                                     DEBUG, WARNING, ERROR, CRITICAL"
-
-#: usage.rst:45
-msgid "-u LOGIN, --user=LOGIN               Specify the login user"
-msgstr "-u LOGIN, --user=LOGIN               Angabe des Benutzers zur Anmeldung"
-
-#: usage.rst:47
-msgid "-p PORT, --port=PORT                 Specify the server port"
-msgstr "-p PORT, --port=PORT                 Angabe des Server-Ports"
-
-#: usage.rst:49
-msgid "-s SERVER, --server=SERVER           Specify the server hostname"
-msgstr ""
-"-s SERVER, --server=SERVER           Angabe des Server-Hostnamens\n"
-" \n"
-"__ Konfigurations-Dateien_"
-
-#: usage.rst:52
-msgid ""
-"Overview\n"
-"********\n"
-"The following schematic illustration of the Tryton client shows the names of\n"
-"all important visual parts."
-msgstr ""
-"Übersicht\n"
-"*********\n"
-"Die folgende schematische Darstellung des Tryton Clients zeigt die Namen\n"
-"aller wichtigen Elemente der Benutzeroberfläche."
-
-#: usage.rst:57
-msgid "Figure: Tryton client application::"
-msgstr "Abbildung: Tryton Client Anwendung::"
-
-#: usage.rst:59
-msgid ""
-"  Client Window       _______________________________________________________\n"
-"                     |                      Tryton                      _ o x|\n"
-"                     |-------------------------------------------------------|\n"
-"  Menu bar           | File User Form Options Plugins Shortcuts Help         |\n"
-"                     |_______________________________________________________|\n"
-"                     |                                                       |\n"
-"  Tool bar           | New Save | Delete | Find Previous Next Switch    v    |\n"
-"                     |-------------------------------------------------------|\n"
-"                     |          ______                                       |\n"
-"  Tab bar            | [Menu]  |[Tab1]| [Tab2] ...                           |\n"
-"                     |---------|      | -------------------------------------|\n"
-"                     | .-------        ------------------------------------. |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"  View               | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |                                                   | |\n"
-"                     | |___________________________________________________| |\n"
-"                     |_______________________________________________________|\n"
-"  Status bar         |username company      Waiting requests...     login at ...|\n"
-"                     |_______________________________________________________|"
-msgstr ""
-"  Client Fenster    _______________________________________________________\n"
-"                   |                      Tryton                      _ o x|\n"
-"                   |-------------------------------------------------------|\n"
-"  Menüleiste       | Datei Benutzer Formular Einstellungen ... Hilfe       |\n"
-"                   |_______________________________________________________|\n"
-"                   |                                                       |\n"
-"  Werkzeugleiste   | Neu Speichern | Löschen | Suchen Vor Zurück v         |\n"
-"                   |-------------------------------------------------------|\n"
-"                   |          ______                                       |\n"
-"  Tableiste        | [Menü]  |[Tab1]| [Tab2] ...                           |\n"
-"                   |---------|      | -------------------------------------|\n"
-"                   | .-------        ------------------------------------. |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"  Sicht            | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |                                                   | |\n"
-"                   | |___________________________________________________| |\n"
-"                   |_______________________________________________________|\n"
-"  Statusleiste     | Benutzername Firma   Wartende Anfragen...   login at ... |\n"
-"                   |_______________________________________________________|"
-
-#: usage.rst:90
-msgid ""
-"Menu Bar\n"
-"^^^^^^^^\n"
-"The menu bar is the main control unit. It provides most of the functionalities\n"
-"of the client application. The menu bar is grouped into categories. It is\n"
-"controlled with mouse or keyboard. The `menu bar items`_ are explained later."
-msgstr ""
-"Menüleiste\n"
-"^^^^^^^^^^^\n"
-"Die Menüleiste ist das Hauptkontrollfeld. Es stellt den Großteil an Funktionalität\n"
-"der Client Anwendung zur Verfügung. Die Menü-Leiste ist in Kategorien unterteilt\n"
-"und kann mit Maus und Tastatur bedient werden. Die `Menüleisten-Elemente`_ werden\n"
-"später erklärt."
-
-#: usage.rst:97
-msgid ""
-"Mouse and Keyboard Use\n"
-"++++++++++++++++++++++\n"
-"Most functions of the Tryton client can be accessed with mouse or keyboard.\n"
-"`Key bindings`__ for all menu items are preset. Furthermore all key bindings\n"
-"are manually configurable. To change the binding of a menu item the user needs\n"
-"to put the cursor onto it and simply press the user defined key combination.\n"
-"For this purpose it is needed to activate the configuration of the key bindings\n"
-"with Options > Menubar > Change Accelerators. After the configuration it is\n"
-"preferable to disable Change Accelerators, to avoid accidental changes of key\n"
-"bindings while navigating the Menu bar with the keyboard."
-msgstr ""
-"Maus- und Tastaturbedienung\n"
-"+++++++++++++++++++++++++++\n"
-"Die meisten Funktionen des Tryton Client können mit Maus oder Tastatur benutzt werden.\n"
-"Für alle Menüpunkte sind `Schnelltasten`__ verfügbar. Zusätzlich sind alle Schnelltasten\n"
-"manuell konfigurierbar. Um das Kürzel eines Menüpunkts zu ändern muss man den Mauszeiger\n"
-"über dem Menüpunkt positionieren und das neue benutzerdefinierte Schnelltaste drücken.\n"
-"Um diese Möglichkeit nutzen zu können muss man unter Einstellungen > Menüleiste > Kurzbefehle ändern aktivieren.\n"
-"Nach dem Ändern der Tastaturkürzel sollte man nicht vergessen diese Funktion wieder auszuschalten\n"
-"um eine versehentliche Änderung von Schnelltasten zu vermeiden während man in den Menüpunkten\n"
-"navigiert."
-
-#: usage.rst:108
-msgid ""
-"To remove a key binding simply press the delete button while pointing the\n"
-"cursor on the menu item to change."
-msgstr ""
-"Um das Kürzel eines Menüpunkts zu enfernen muss man den Mauszeiger über dem\n"
-"Menüpunkt positionieren und die Enfernen-Taste drücken."
-
-#: usage.rst:111
-msgid ".. Note:: Usually key bindings are composed with modifier keys."
-msgstr ".. Note:: Üblicherweise werden Schnelltasten mit den Modifikationstasten kombiniert."
-
-#: usage.rst:113
-msgid "__ Menu-Help-Keyboard_Shortcuts_"
-msgstr "__ Menu-Help-Keyboard_Shortcuts_"
-
-#: usage.rst:115
-msgid ""
-"Additionally the menu bar items are accessible with the *Alt* or *Option* key.\n"
-"The user needs to hold the *Alt* or *Option* key followed by the underlined\n"
-"character of the menu bar item to choose. To dive into deeper menu levels,\n"
-"he needs to release the *Alt* or *Option* key and to simply press the\n"
-"underlined letter of the sub menu item. If there exist several menu items with\n"
-"the same shortcut, repeated activation of the shortcut key will jump to the\n"
-"next one."
-msgstr ""
-"Zusätzlich sind die Menüpunkte erreichbar mit den *Alt*- und *Options*-Tasten.\n"
-"Der Benutzer muss die *Alt*- und *Options*-Taste kombiniert mit dem unterstrichenen\n"
-"Buchstaben des Menüpunkts drücken. Um in weitere Untermenüs zu navigieren, die *Alt*-\n"
-"oder *Options*-Taste loslassen und den unterstrichenen Buchstaben des gewünschten\n"
-"Untermenüs drücken. Falls mehrere Menüpunkte mit dem gleichen Schnelltasten existieren,\n"
-"diese Schnelltaste nochmals benutzen um zum nächsten Menüpunkt zu springen."
-
-#: usage.rst:123
-msgid ""
-"The second mouse button (usually right mouse button) provides an additional\n"
-"contextual menu for some views and fields. In this context menu the user finds\n"
-":term:`actions` to copy and paste contents or setting up default values or\n"
-"selections for several fields."
-msgstr ""
-"Die zweite Maustaste  (normalerweise die rechte Maustaste) stellt ein zusätzliches\n"
-"Kontextmenü für weitere Sichten und Felder zur Verfügung. In diesem Kontextmenü\n"
-"findet der Benutzer :term:`Aktionen` um Inhalte zu kopieren oder einzufügen, Vorgabewerte\n"
-"zu setzen oder um Auswahlen für verschiedene Felder zu erhalten."
-
-#: usage.rst:129
-msgid ""
-"Tool Bar\n"
-"^^^^^^^^\n"
-"The tool bar contains some often used menu functions mapped to icons.\n"
-"In addition to the menu bar the tool bar contains a button called\n"
-"*Attachment*."
-msgstr ""
-"Werkzeugleiste\n"
-"^^^^^^^^^^^^^^\n"
-"Die Werkzeugleiste enthält Symbole für oft benutzte Menüfunktionen.\n"
-"Zusätzlich zur Menüleiste beinhaltet die Werkzeugleiste den Knopf\n"
-"Dateianhang."
-
-#: usage.rst:135
-msgid ""
-"Attachment\n"
-"++++++++++\n"
-"The attachment item handles the document management system of\n"
-"Tryton which is able to attach files to any arbitrary :term:`model`. On click\n"
-"it opens the attachments :term:`dialog`. The default dialog shows a list view\n"
-"of the attached files and links. "
-msgstr ""
-"Anhänge\n"
-"+++++++\n"
-"Das Dateianhang-Element stellt das Dokumenten Management System von Tryton\n"
-"bereit. Es ist in der Lage Dateien an jedes beliebige :term:`Modell`\n"
-"anzuhängen. Der Knopf zeigt wie viele Anhänge mit der aktuellen Sicht\n"
-"verknüpft sind. Beim Mausklick öffnet sich der :term:`Dialog` Anhang.\n"
-"Der Standard-Dialog zeigt eine Liste der angehängten Dateien und Verknüpfungen."
-
-#: usage.rst:142
-msgid "A single Attachment has the following Options:"
-msgstr "Der einzelne Anhang hat folgende Optionen:"
-
-#: usage.rst:144
-msgid ""
-"* Attachment Name: The name of the attachment.\n"
-"* Datas: The attached File. The file size is displayed as text.\n"
-"* Link: Link to an external site as URL.\n"
-"* Preview tab: Shows a preview picture of the selected attachment.\n"
-"* Description tab: Shows and and provides editing of a free text description\n"
-"  for the selected attachment.\n"
-"* Actions:"
-msgstr ""
-"* Name Anhang: Der Name des Anhangs.\n"
-"* Daten: Die angehängte Datei. Die Dateigröße wird im Textfeld dargestellt.\n"
-"* Verknüpfung: Verknüpfung zu einer externen Seite als URL.\n"
-"* Vorschau Tab: Zeigt ein Vorschaubild des ausgewählten Anhangs.\n"
-"* Beschreibung Tab: Ermöglicht Anzeige und Bearbeitung einer Beschreibung\n"
-"  des ausgewählten Anhangs.\n"
-"* Aktionen:"
-
-#: usage.rst:152
-msgid "  - OK: Closes the Dialog and saves the attachment(s)."
-msgstr "  - OK: Schliesst den Dialog und speichert den/die Anhänge."
-
-#: usage.rst:155
-msgid ""
-"Tabbed Main Frame\n"
-"^^^^^^^^^^^^^^^^^\n"
-"This part of the client contains all the related contents and\n"
-"functions provided by the :term:`Tryton server` :term:`modules`.\n"
-"All aspects inside the *main frame* depend at least on the individual set\n"
-"of installed modules."
-msgstr ""
-"Hauptfenster mit Tabs\n"
-"^^^^^^^^^^^^^^^^^^^^^\n"
-"Dieser Teil des Tryton Client beinhaltet alle Inhalte und Funktionen\n"
-"die durch die :term:`Tryton Server`-:term:`Module` bereitgestellt werden.\n"
-"Alles innerhalb des *Hauptfensters* hängt von den individuell\n"
-"installierten Modulen ab."
-
-#: usage.rst:162
-msgid ""
-"The main frame provides a `tabbed document interface`__ to arrange different\n"
-"views side by side. New :term:`tabs` are opened by special :term:`actions`,\n"
-"like choosing a menu item or clicking some action buttons. All tabs include\n"
-"titles which show the name of the provided view."
-msgstr ""
-"Das Hauptfenster stellt `Tabs`__ bereit um verschiedene\n"
-"Sichten nebeneinander anzuordnen. Neue :term:`Tabs` werden durch spezielle\n"
-":term:`Aktionen` wie zum Beispiel das Auswählen eines Menüpunkts oder durch\n"
-"klicken von Aktionsknöpfen geöffnet. Alle Tabs haben einen Titel, der den Namen der\n"
-"verwendeten Sicht zeigt."
-
-#: usage.rst:167
-msgid ":term:`Tabs` can be arranged by Drag and Drop."
-msgstr ":term:`Tabs` können mit Drag and Drop verschoben werden."
-
-#: usage.rst:169
-msgid "__ TDI_"
-msgstr "__ TDI_"
-
-#: usage.rst:171
-msgid ".. _TDI: http://en.wikipedia.org/wiki/Tabbed_document_interface"
-msgstr ".. _TDI: http://de.wikipedia.org/wiki/Registerkarte"
-
-#: usage.rst:173
-msgid ".. Note:: Inside :term:`views` there can be tabs, too."
-msgstr ".. Note:: Innerhalb einer :term:`Sicht` kann es auch Tabs geben."
-
-#: usage.rst:175
-msgid ""
-"Main Menu\n"
-"+++++++++\n"
-"The first left tab contains the *main menu* (... not to mix up with\n"
-"the menu bar!). The *main menu* does not contain fixed menu items.\n"
-"All of them are dynamically provided by the actual set of the installed\n"
-":term:`modules` depending on the access rules of the current user. If a menu\n"
-"item is clicked, the appropriate action will open in a new tab. As the figure\n"
-"below illustrates, the *main menu* is split up in three frames."
-msgstr ""
-"Hauptmenü\n"
-"+++++++++\n"
-"Das erste Tab beinhaltet das *Hauptmenü* (... nicht zu\n"
-"verwechseln mit der Menüleiste!). Das *Hauptmenü* beinhaltet keine\n"
-"festen Menüpunkte. Diese werden dynamisch von den installierten\n"
-":term:`Modulen <Module>` und abhängig von den Zugriffsrechten des aktuellen\n"
-"Benutzers bereitgestellt. Sobald ein Menüpunkt gedrückt wird öffnet sich\n"
-"durch die hinterlegte Aktion eine neuer Tab. Wie das Schaubild\n"
-"zeigt ist das *Hauptmenü* in drei Bereiche unterteilt."
-
-#: usage.rst:184
-msgid ""
-"The upper left frame contains the first or top level entries of the *main\n"
-"menu*. Standard top level entries are 'Administration' and 'Tryton'."
-msgstr ""
-"Der obere linke Bereich beinhaltet die obersten bzw. Haupt-Menüpunkte des\n"
-"*Hauptmenüs*. Standard Haupt-Menüpunkte sind 'Systemverwaltung' und 'Tryton'."
-
-#: usage.rst:187
-msgid ""
-".. note:: The *administration* menu will be explained in the modules\n"
-"   documentation for the 'IR' module, the *information repository*."
-msgstr ""
-".. note:: Das *Systemverwaltung*-Menü wird in der Moduldokumentation\n"
-"   des 'IR' Moduls ('information repository' - Informations-Ablage)\n"
-"   dokumentiert. "
-
-#: usage.rst:190
-msgid "The top level entry 'Tryton' connects to the website of the Tryton project."
-msgstr "Der Haupt-Menüpunkt 'Tryton' ruft die Webseite des Tryton Projekts auf."
-
-#: usage.rst:192
-msgid ""
-"The right frame is showing a :term:`tree view` substructure of menu *items*\n"
-"and *headings*. With the arrow keys it is possible to navigate inside the menu.\n"
-"By pressing *Enter* or double-clicking onto the menu item the appropriate\n"
-":term:`views` open. Use left and right arrow to expand or contract sub\n"
-"items of a heading."
-msgstr ""
-"Der rechte Bereich zeigt eine :term:`Baumansicht` der Haupt- und Unter-Punkte\n"
-"des gewählten Moduls. Mit den Pfeiltasten kann man sich innerhalb diese Menüs\n"
-"bewegen. Durch drücken der \"Enter\"-Taste oder mit einem Doppelklick öffnet sich\n"
-"das dazugehörige Menü. Mit den Pfeiltasten Links und Rechts kann man die\n"
-"verschiedenen Ebenen der Baumansicht aus- und einklappen."
-
-#: usage.rst:198
-msgid "Figure: Main Menu Tab::"
-msgstr "Schaubild: Hauptmenü Tab::"
-
-#: usage.rst:200
-msgid ""
-"       ________________________________________________________\n"
-"      |                      Tryton                       _ o x|\n"
-"      |--------------------------------------------------------|\n"
-"      | File User Form Options Plugins Shortcuts Help          |\n"
-"      |________________________________________________________|\n"
-"      |                                                        |\n"
-"      | New Save | Delete | Find Previous Next Switch     v    |\n"
-"      |________________________________________________________|\n"
-"      |   ______                                               |\n"
-"      |  |[Menu]|   [Tab1]   [Tab2] ...                        |\n"
-"      |--|      | ---------------------------------------------|\n"
-"      |  |       -------------.------------------------------. |\n"
-"      |  | Top Level Entry 1  | Menu                |        | |\n"
-"      |  | Top Level Entry 2  |---------------------+--------| |\n"
-"      |  | ...                |   Item 1            |        | |\n"
-"      |  | Administration     |   Item 2            |        | |\n"
-"      |  | Tryton             | > Heading           |        | |\n"
-"      |  |____________________|     Sub Item 1      |        | |\n"
-"      |  | Shortcuts    [+][-]|     Sub Item 2      |        | |\n"
-"      |  |--------------------|     > Sub Heading   |        | |\n"
-"      |  | Sub Item 2         |         Sub Sub ... |        | |\n"
-"      |  |                    |                     |        | |\n"
-"      |  |                    |                     |        | |\n"
-"      |  |____________________|_____________________|________| |\n"
-"      |________________________________________________________|\n"
-"      |username company      Waiting requests...     login at ... |\n"
-"      |________________________________________________________|"
-msgstr ""
-"       ________________________________________________________\n"
-"      |                      Tryton                       _ o x|\n"
-"      |--------------------------------------------------------|\n"
-"      | Datei Benutzer Formular Einstellungen ... Hilfe        |\n"
-"      |________________________________________________________|\n"
-"      |                                                        |\n"
-"      | Neu Speichern | Löschen | Suchen Vor Zurück v          |\n"
-"      |________________________________________________________|\n"
-"      |   ______                                               |\n"
-"      |  |[Menü]|   [Tab1]   [Tab2] ...                        |\n"
-"      |--|      | ---------------------------------------------|\n"
-"      |  |       -------------.------------------------------. |\n"
-"      |  | Hauptmenü-Punkt 1  | Menü                |        | |\n"
-"      |  | Hauptmenü-Punkt 2  |---------------------+--------| |\n"
-"      |  | ...                |   Item 1            |        | |\n"
-"      |  | Administration     |   Item 2            |        | |\n"
-"      |  | Tryton             | > Überschrift       |        | |\n"
-"      |  |____________________|     Unterpunkt 1    |        | |\n"
-"      |  | Favoriten    [+][-]|     Unterpunkt 2    |        | |\n"
-"      |  |--------------------|     > Unterüberschrift       | |\n"
-"      |  | Unterpunkt 2       |         weitere     |        | |\n"
-"      |  |                    |          Unterpunkte|        | |\n"
-"      |  |                    |          ...        |        | |\n"
-"      |  |____________________|_____________________|________| |\n"
-"      |________________________________________________________|\n"
-"      | Benutzername Firma   Wartende Anfragen...    login at ... |\n"
-"      |________________________________________________________|"
-
-#: usage.rst:229
-msgid ""
-"The lower left menu frame shows a user adjustable *shortcuts* menu. This menu\n"
-"is for collecting often used menu items. Using a *shortcut* item will open\n"
-"the appropriate view in a new tab, just with a double mouse click.\n"
-"A menu item is added to the *shortcut* menu by pushing the plus button [+]\n"
-"in the *shortcut* menu. The minus button [-] removes a selected *shortcut*\n"
-"item from the list."
-msgstr ""
-"Der linke untere Bereich zeigt ein *Favoriten* Menü, welches durch den Benutzer\n"
-"selbst angepasst werden kann. Durch einen Doppelklick auf den entsprechenden Eintrag\n"
-"wird die dazu passende Sicht aufgerufen. Die aktuelle Sicht wird als Favorit durch\n"
-"Klick des Plus-Knopfes [+] dem Menü hinzugefügt. Der Minus-Knopf [-] löscht den\n"
-"ausgewählten Favoriten aus dieser Liste."
-
-#: usage.rst:236
-msgid ""
-"Home Action\n"
-"+++++++++++\n"
-"Another tab opens during the startup of the Tryton client: the home action.\n"
-"It is usually an item of the `Main Menu`_ opening when the user calls his\n"
-"`Home`__ action defined in the `preferences`__."
-msgstr ""
-"Startseite\n"
-"++++++++++\n"
-"Eine weiterer Tab öffnet sich während des Startens des Tryton Client:\n"
-"Die Startseite. Für gewöhnlich ist es ein Punkt des `Hauptmenü`__, der\n"
-"geöffnet wird sobald der Benutzer die *Startseite* ausführt. Diese Standardaktion\n"
-"wird in den `Einstellungen`__ definiert."
-
-#: usage.rst:242
-msgctxt "usage.rst:242"
-msgid "__ Menu-Form-Home_"
-msgstr "__ Menu-Form-Home_"
-
-#: usage.rst:244
-msgctxt "usage.rst:244"
-msgid "__ Menu-User-Preferences_"
-msgstr "__ Menu-User-Preferences_"
-
-#: usage.rst:247
-msgid ""
-"Status bar\n"
-"++++++++++\n"
-"The status bar provides general informations of the state of the\n"
-"Tryton client. It is divided in three parts."
-msgstr ""
-"Statusleiste\n"
-"+++++++++++++\n"
-"Die *Statusleiste* stellt generelle Informationen über den Status\n"
-"des Tryton Client bereit. Sie ist in drei Abschnitte unterteilt."
-
-#: usage.rst:252
-msgid ""
-"* On its left side the real name and company name of the users actual company\n"
-"  is shown.\n"
-"* In the center of the status bar the number of waiting requests for the\n"
-"  actual user are displayed.\n"
-"* On its right side are details of the server connection shown including\n"
-"  database and user informations if connected. It is also noted there, if\n"
-"  there is no connection to a Tryton server at all. The right side information\n"
-"  of the status bar is build with the following pattern::"
-msgstr ""
-"* Auf der linken Seite befindet sich der Name und der Firmenname des aktuellen Benutzers.\n"
-"* In der Mitte der Statusleiste wird die Anzahl der offene Anfragen\n"
-"  des aktuellen Benutzers bereitgestellt.\n"
-"* Auf der rechten Seite werden Details zur Server Verbindung gezeigt mit Informationen zum\n"
-"  Benutzer und zur Datenbank sobald man verbunden ist. Hier wird auch angezeigt falls\n"
-"  es keine Verbindung zu einem Tryton Server besteht. Dieser Bereich wird nach folgendem\n"
-"  Muster erzeugt::"
-
-#: usage.rst:261
-msgid "    <user-name>@<tryton-server-address>:<port>/<database-name>"
-msgstr "    <Benutzer-Name>@<Tryton-Server-Adresse>:<Port>/<Datenbank-Name>"
-
-#: usage.rst:263
-msgid ""
-"  If the client is connected to the server with an SSL-secured connection, an\n"
-"  additional lock icon appears rightmost some certificate details in a mouse\n"
-"  hover popup."
-msgstr ""
-"  Sobald der Client mit einer SSL-verschlüsselten Verbindung zum Server verbunden\n"
-"  hat erscheint ein zusätzliches Vorhängeschloss-Symbol mit weiteren Zertifikats-\n"
-"  Details sobald sich der Mauszeiger auf diesem Symbol befindet."
-
-#: usage.rst:267
-msgid ""
-"The Status bar can be enabled and disabled in the menu at\n"
-"Options > Form > Status bar"
-msgstr ""
-"Die Statusleiste kann aus- und eingeschalten werden über\n"
-"die Menüleiste Einstellungen > Formular > Statusleiste"
-
-#: usage.rst:271
-msgid ""
-"Menu Bar Items\n"
-"**************\n"
-"The following section describes the function of each menu bar entry in detail.\n"
-"A rule of thumb: All items of the menu bar that are suffixed by three dots\n"
-"(...) will open an intermediate :term:`dialog` for setting up the provided\n"
-"menu action. Most dialogs provide a *Cancel* button, used to stop the\n"
-"complete dialog process."
-msgstr ""
-"Menüleisten-Elemente\n"
-"********************\n"
-"Das folgende Kapitel beschreibt die Funktionen jedes Menüleisten-Eintrags\n"
-"im Detail. Als Faustregel gilt: Jeder Menüpunkt, welcher mit drei Punkten\n"
-"endet [...] öffnet direkt den :term:`Dialog` der zugewiesenen Menüaktion.\n"
-"Die meisten Dialoge stellen einen *Abbrechen* Knopf bereit um den kompletten\n"
-"Vorgang abzubrechen."
-
-#: usage.rst:280
-msgid ""
-"File\n"
-"^^^^\n"
-"The file menu level provides functions about Tryton server login,\n"
-"Database maintenance and closing the client application."
-msgstr ""
-"Datei\n"
-"^^^^^\n"
-"Das *Datei* Menü stellt Funktionen des Tryton Servers wie\n"
-"Anmelden, Datenbankpflege und zum schließen der Client Anwendung."
-
-#: usage.rst:285
-msgid ".. _Menu-File-Connect:"
-msgstr ".. _Menu-File-Connect:"
-
-#: usage.rst:287
-msgid ""
-"Connect...\n"
-"  By choosing this menu entry the client will be connected to an available\n"
-"  Tryton server. A :term:`dialog` opens to request credentials:"
-msgstr ""
-"Verbinden...\n"
-"  Bei Auswahl dieses Menüeintrags verbindet sich der Client zu einem\n"
-"  verfügbaren Tryton Server. Ein :term:`Dialog` öffnet sich zur Eingabe\n"
-"  des Benutzernamens und Passwortes."
-
-#: usage.rst:291
-msgid ""
-"  * `Server`__\n"
-"  * Database: Database to connect server side\n"
-"  * User name: Tryton user name to login\n"
-"  * Password: Tryton password to login\n"
-"  * Actions:"
-msgstr ""
-"  * `Serververbindung`__\n"
-"  * Datenbank: Datenbank auf Serverseite, zu der die Verbindung aufgebaut werden soll\n"
-"  * Benutzername: Tryton Benutzername um sich anzumelden\n"
-"  * Passwort: Tryton Passwort um sich anzumelden\n"
-"  * Aktionen:"
-
-#: usage.rst:297
-msgid ""
-"    - Connect: Connects to the server with the given credentials.\n"
-"    - Cancel"
-msgstr ""
-"    - Verbinden: Verbindet zum Server mit Hilfe der eingegebenen Daten\n"
-"    - Abbrechen: Bricht den Dialog ab"
-
-#: usage.rst:300
-msgid ""
-".. note:: Depending on server configuration for session timeout, the actual\n"
-"   user may be logged out of the current session, and need to login again.\n"
-"   Default timeout for inactivity logout is six minutes."
-msgstr ""
-".. note:: Abhängig von den Servereinstellungen wird der Benutzer nach einer\n"
-"   gewissen Zeitspanne von der aktuellen Verbindung abgemeldet und muss sich\n"
-"   wieder anmelden. Die voreingestellte Zeitspanne des automatischen Abmeldens\n"
-"   beträgt 6 Minuten."
-
-#: usage.rst:304
-msgctxt "usage.rst:304"
-msgid "__ File-Server-Connection_"
-msgstr "__ File-Server-Connection_"
-
-#: usage.rst:307
-msgid ".. _Menu-File-Disconnect:"
-msgstr ".. _Menu-File-Disconnect:"
-
-#: usage.rst:309
-msgid ""
-"Disconnect...\n"
-"  Disconnects the client from an active server connection. In case of unsaved\n"
-"  changes in an open tab, the Tryton client will request for saving the\n"
-"  changes."
-msgstr ""
-"Verbindung trennen...\n"
-"  Trennt den Client von einer aktiven Server Verbindung. Falls nicht gespeicherte\n"
-"  Änderungen in einem offenen Tab existieren, fordert der Tryton Client zum\n"
-"  Speichern der Änderungen auf."
-
-#: usage.rst:314
-msgid ""
-"Database\n"
-"++++++++\n"
-"This menu level provides tools to maintain Tryton databases.\n"
-"For all database operations the user needs to know the Tryton server password."
-msgstr ""
-"Datenbank\n"
-"+++++++++\n"
-"Dieses Untermenü stellt Werkzeuge zur Wartung der Tryton Datenbank bereit.\n"
-"Für alle Datenbankoperationen benötigt der Benutzer das Tryton Server-Passwort."
-
-#: usage.rst:319
-msgid ""
-".. warning:: Consider not to use this server-site maintaining functions,\n"
-"             if there are security concerns. Since there are always security\n"
-"             concerns in a multiuser environment, better disclaim to provide\n"
-"             these functions on database level."
-msgstr ""
-".. warning:: Falls Sicherheitsbedenken bestehen sollten Sie diese serverbasierten\n"
-"             Werkzeuge nicht nutzen. Da es in einer Mehrbenutzer-Umgebung immer\n"
-"             Sicherheitsbedenken gibt, ist es besser diese Funktionen auf\n"
-"             Datenbank-Ebene zu verbieten."
-
-#: usage.rst:324
-msgid ".. note:: Database names are restricted by some rules:"
-msgstr ".. note:: Datenbank-Namen sind durch folgende Regeln eingeschränkt:"
-
-#: usage.rst:326
-msgid ""
-"          * Allowed characters are alpha-nummeric [A-Za-z0-9] and\n"
-"            underscore (_).\n"
-"          * First character must be an alphabetic letter.\n"
-"          * The maximum length of a database name is 64 characters."
-msgstr ""
-"          * Erlaubte Zeichen sind alpha-numerisch [A-Za-z0-9] und\n"
-"            das Zeichen - Unterstrich [_].\n"
-"          * Das erste Zeichen muss ein alphabetischer Buchstabe sein.\n"
-"          * Die maximale Länge eines Datenbank-Namens beträgt 64 Zeichen."
-
-#: usage.rst:331
-msgid ""
-"          Tryton automatically checks if the given database name follows\n"
-"          the rules."
-msgstr ""
-"          Tryton überprüft automatisch ob der angegebene Namen diesen\n"
-"          Regeln entspricht."
-
-#: usage.rst:334
-msgid ".. _Menu-File-New_Database:"
-msgstr ".. _Menu-File-New_Database:"
-
-#: usage.rst:336
-msgid ""
-"New Database\n"
-"  Opens a :term:`dialog` for creating a new Tryton database with an initial\n"
-"  user called *admin*."
-msgstr ""
-"Neue Datenbank\n"
-"  Öffnet einen :term:`Dialog` um eine neue Tryton Datenbank mit einem ersten\n"
-"  Benutzer \"admin\" zu erstellen."
-
-#: usage.rst:340
-msgid "  * Server Setup:"
-msgstr "  * Tryton Server Einstellungen:"
-
-#: usage.rst:342
-msgid ""
-"    - `Server Connection`__\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration."
-msgstr ""
-"    - `Serververbindung`__\n"
-"    - Tryton Server Passwort: Das in der Tryton Server-Konfiguration\n"
-"      hinterlegte Server Passwort."
-
-#: usage.rst:346
-msgid "  * New Database Setup:"
-msgstr "  * Datenbank Einstellungen:"
-
-#: usage.rst:348
-msgid ""
-"    - Database Name: The name of the new database.\n"
-"    - Default Language: The default language of the new database.\n"
-"    - Admin Password: The *admin*-user password of the new database.\n"
-"    - Confirm Admin Password: Repeat the password of the new 'admin' user."
-msgstr ""
-"    - Name: Der Name der neuen Datenbank\n"
-"    - Standard Sprache: Die standard Sprache der neuen Datenbank\n"
-"    - Administrator Passwort: Das *admin*-Benutzer Passwort der neuen Datenbank\n"
-"    - Passwort Wiederholung: Erneute Passwort-Eingabe des neuen 'admin'-Benutzers"
-
-#: usage.rst:353
-msgctxt "usage.rst:353"
-msgid "  * Actions:"
-msgstr "  * Aktionen:"
-
-#: usage.rst:355
-msgid ""
-"    - Create: Creates the new database with initial user *admin* and the\n"
-"      provided password.\n"
-"    - Cancel"
-msgstr ""
-"    - Erstellen: Erstellt die neue Datenbank mit dem ersten Benutzer *admin*\n"
-"      und dem angegebenen Passwort\n"
-"    - Abbrechen: Bricht den Dialog ab ohne zu speichern."
-
-#: usage.rst:359
-msgctxt "usage.rst:359"
-msgid "__ File-Server-Connection_"
-msgstr "__ File-Server-Connection_"
-
-#: usage.rst:361
-msgid ""
-".. note:: The appropriate Tryton database user (defined in the Tryton server\n"
-"   configuration) needs to be authorized to create databases for this step."
-msgstr ""
-".. note:: Der entsprechende Tryton Datenbankbenutzer (definiert in der Tryton\n"
-"   Server Konfiguration) muss autorisiert werden um die Datenbank zu erstellen."
-
-#: usage.rst:364
-msgid ".. _Menu-File-Restore_Database:"
-msgstr ".. _Menu-File-Restore_Database:"
-
-#: usage.rst:366
-msgid ""
-"Restore Database\n"
-"  Opens a :term:`dialog` to restore a previously created database backup\n"
-"  file."
-msgstr ""
-"Datenbank wiederherstellen\n"
-"  Öffnet einen :term:`Dialog` um eine vorher erstelltes Datenbankbackup\n"
-"  aus einer Datei wiederherzustellen."
-
-#: usage.rst:370
-msgid "  * File choose menu dialog"
-msgstr "  * *Backup Datei für Wiederherstellung öffnen...* Dialog"
-
-#: usage.rst:372
-msgid ""
-"    - Choose a database backup file in the file system to be restored.\n"
-"    - Actions:"
-msgstr ""
-"    - Aus dem Dateisystem eine Datenbankbackup-Datei auswählen\n"
-"    - Aktionen:"
-
-#: usage.rst:375
-msgid ""
-"      + Open: Open the chosen backup file.\n"
-"      + Cancel"
-msgstr ""
-"      + Öffnen: Öffnet die ausgewählte Backup-Datei\n"
-"      + Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:378
-msgid "  * Restore Database dialog:"
-msgstr "  * *Datenbank wiederherstellen* Dialog:"
-
-#: usage.rst:380
-msgid ""
-"    - `Server Connection`__\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration.\n"
-"    - File to Restore: Show filename and path.\n"
-"    - New Database Name: Enter a new name for the database to be restored\n"
-"    - Actions:"
-msgstr ""
-"    - `Serververbindung`__\n"
-"    - Tryton Server Passwort: Das in der Tryton Server Konfiguration\n"
-"      hinterlegte Server Passwort.\n"
-"    - Datei zur Wiederherstellung: Zeigt den Dateinamen und den Pfad an.\n"
-"    - Name für neue Datenbank: Neuer Name der wiederherzustellenden Datenbank\n"
-"    - Aktionen:"
-
-#: usage.rst:387
-msgid ""
-"      + Restore: Proceed database restore.\n"
-"      + Cancel"
-msgstr ""
-"      + Wiederherstellen: Datenbank Wiederherstellung ausführen\n"
-"      + Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:390
-msgctxt "usage.rst:390"
-msgid "__ File-Server-Connection_"
-msgstr "__ File-Server-Connection_"
-
-#: usage.rst:392
-msgid ".. _Menu-File-Backup_Database:"
-msgstr ".. _Menu-File-Backup_Database:"
-
-#: usage.rst:394
-msgid ""
-"Backup Database\n"
-"  Open a :term:`dialog` to backup an existing database and save it as a file."
-msgstr ""
-"Datenbank sichern\n"
-"  Öffnet einen :term:`Dialog` um eine existierende Datenbank in eine Datei zu sichern."
-
-#: usage.rst:397
-msgid "  * `Backup a Database` dialog"
-msgstr "  * `Datenbank sichern` Dialog"
-
-#: usage.rst:399
-msgid ""
-"    - `Server connection`__\n"
-"    - Database: Choose the Tryton database to backup.\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration.\n"
-"    - Actions:"
-msgstr ""
-"    - `Serververbindung`__\n"
-"    - Datenbank: Auswahl der zu sichernden Tryton Datenbank\n"
-"    - Tryton Server Passwort: Das in der Tryton Server Konfiguration\n"
-"      hinterlegte Server Passwort.\n"
-"    - Aktionen:"
-
-#: usage.rst:405
-msgid ""
-"      + Backup: Proceed database backup.\n"
-"      + Cancel"
-msgstr ""
-"      + Sichern: Datenbank Sicherung ausführen\n"
-"      + Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:408
-msgid "  * `Save Backup File` dialog"
-msgstr "  * `Speichern unter...` Dialog"
-
-#: usage.rst:410
-msgid ""
-"    - Choose a filename and location for the created backup file.\n"
-"    - Save the backup file."
-msgstr ""
-"    - Auswahl eines Dateinamens und Ort der erstellten Sicherungs-Datei.\n"
-"    - Speichern der Sicherungs-Datei."
-
-#: usage.rst:413
-msgctxt "usage.rst:413"
-msgid "__ File-Server-Connection_"
-msgstr "__ File-Server-Connection_"
-
-#: usage.rst:415
-msgid ".. _Menu-File-Drop_Database:"
-msgstr ".. _Menu-File-Drop_Database:"
-
-#: usage.rst:417
-msgid ""
-"Drop Database\n"
-"  Open a :term:`dialog` to delete an existing Tryton database."
-msgstr ""
-"Datenbank löschen\n"
-"  Öffnet einen :term:`Dialog` um eine existierende Tryton Datenbank zu löschen."
-
-#: usage.rst:420
-msgid "  * `Delete a Database` dialog"
-msgstr "  * `Datenbank löschen` dialog"
-
-#: usage.rst:422
-msgid ""
-"    - `Server Connection`__\n"
-"    - Database: Choose a database to delete.\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration."
-msgstr ""
-"    - `Serververbindung`__\n"
-"    - Datenbank: Auswahl der zu löschenden Datenbank\n"
-"    - Tryton Server Passwort: Das in der Tryton Server-Konfiguration\n"
-"      hinterlegte Server Passwort."
-
-#: usage.rst:427
-msgid "  * Confirmation Dialog"
-msgstr "  * Bestätigungs Dialog"
-
-#: usage.rst:429
-msgid ""
-"    - Yes: Drop the database\n"
-"    - No: Do not drop the database\n"
-"    - Cancel"
-msgstr ""
-"    - Ja: Löscht die Datenbank\n"
-"    - Nein: Keine Löschung der Datenbank\n"
-"    - Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:433
-msgctxt "usage.rst:433"
-msgid "__ File-Server-Connection_"
-msgstr "__ File-Server-Connection_"
-
-#: usage.rst:435
-msgid ".. _File-Server-Connection:"
-msgstr ".. _File-Server-Connection:"
-
-#: usage.rst:437
-msgid ""
-"Server (connection) dialog:\n"
-"  This :term:`dialog` is widely used to setup a Tryton server connection.\n"
-"  This dialog shows the actual state of the client/server communication.\n"
-"  It also shows when there is no connection to a Tryton server at all.\n"
-"  The *Change* button opens a dialog for connection details:"
-msgstr ""
-"*Serververbindung* Dialog:\n"
-"  Dieser :term:`Dialog` wird häufig benutzt um die Tryton Serververbindung\n"
-"  einzustellen. Dieser Dialog zeigt den aktuellen Status der Client/Server\n"
-"  Kommunikation. Es zeigt zusätzlich an wenn keine Verbindung zum Tryton\n"
-"  Server besteht. Der *Bearbeiten* Knopf öffnet den Dialog der Verbinungs\n"
-"  Details:"
-
-#: usage.rst:443
-msgid ""
-"  * Server: Network address or IP number of the Tryton server (protocols\n"
-"    are not supported)\n"
-"  * Port: Port where the Tryton server listens."
-msgstr ""
-"  * Server: Netzwerkname oder IP-Adresse des Tryton Servers\n"
-"    (Protokollangaben sind nicht unterstützt)\n"
-"  * Port: Port auf dem der Tryton Server lauscht."
-
-#: usage.rst:447
-msgid ""
-".. note:: If there is no connection to a Tryton server, many items in menu bar\n"
-"   and tool bar are deactivated."
-msgstr ""
-".. note:: Falls keine Verbindung zum Tryton Server besteht, sind viele Einträge\n"
-"   des Menüs und der Werkzeugleiste deaktiviert."
-
-#: usage.rst:451
-msgid ""
-"User\n"
-"^^^^\n"
-"This menu bar item controls the preferences of the actual user and connects\n"
-"to the *request system* in Tryton."
-msgstr ""
-"Benutzer\n"
-"^^^^^^^^\n"
-"Dieser Eintrag der Menüleiste stellt die Eigenschaften des aktuellen Benutzers ein\n"
-"und stellt die Verbindung mit dem *Anfrage System* von Tryton bereit."
-
-#: usage.rst:456
-msgid ".. _Menu-User-Preferences:"
-msgstr ".. _Menu-User-Preferences:"
-
-#: usage.rst:458
-msgid ""
-"Preferences...\n"
-"  A preference dialog opens, where the actual user can show and edit his\n"
-"  personal settings. All user preferences are stored server side.\n"
-"  I.e. logging in with the same credentials from different computers\n"
-"  always restores the same preferences."
-msgstr ""
-"Einstellungen ...\n"
-"  Ein Einstellungsdialog öffnet sich, in dem der aktuelle Benutzer seine\n"
-"  persönlichen Einstellungen anzeigen und ändern kann. Alle Benutzereigenschaften\n"
-"  werden serverseitig gespeichert. Beispielsweise werden beim Anmelden an einem\n"
-"  anderen Computer diese Einstellungen wiederhergestellt."
-
-#: usage.rst:464
-msgid ""
-"  * Name: Real name of the Tryton user.\n"
-"  * Password: Password of the Tryton user.\n"
-"  * Email: Email address of the Tryton user.\n"
-"  * Signature: Signature block for the Tryton user.\n"
-"  * Menu Action: Defines the action which is called as the\n"
-"    `main menu`_.\n"
-"  * Home Action: Defines the action which is called as `home action`__.\n"
-"  * Language: Language of the client interface.\n"
-"  * Timezone: The local timezone where the user/client resides.\n"
-"  * Groups: Displays the users membership to access groups."
-msgstr ""
-"  * Name: bürgerlicher Name des Tryton Benutzers.\n"
-"  * Passwort: Passwort des Tryton Benutzers.\n"
-"  * E-Mail: E-Mail-Adresse des Tryton Benutzers.\n"
-"  * Signatur: Signaturblock des Tryton Benutzers.\n"
-"  * Menüaktion: Definiert die Aktion, welche als `Hauptmenü`__\n"
-"    ausgeführt wird.\n"
-"  * Startseite: Definiert die Aktion, welche als\n"
-"    `Startseite` ausgeführt wird.\n"
-"  * Sprache: Sprache der Benutzeroberfläche.\n"
-"  * Zeitzone: Die lokale Zeitzone in der sich der Benutzer befinden.\n"
-"  * Gruppenzugehörigkeit: Definiert die Mitgliedschaften um Zugriffe zu regeln."
-
-#: usage.rst:475
-msgctxt "usage.rst:475"
-msgid "__ Menu-Form-Home_"
-msgstr "__ Menu-Form-Home_"
-
-#: usage.rst:477
-msgid ".. _Menu-user-send-a-request:"
-msgstr ".. _Menu-user-send-a-request:"
-
-#: usage.rst:479
-msgid ""
-"Send a Request\n"
-"  Opens a tab in :term:`form view` which enables the user to send\n"
-"  requests to other users of the same database."
-msgstr ""
-"Anfrage senden\n"
-"  Öffnet einen Tab als :term:`Formularansicht` der dem Benutzer\n"
-"  erlaubt anderen Benutzern der gleichen Datenbank Anfragen zu senden."
-
-#: usage.rst:483
-msgid ".. _Menu-user-read-my-request:"
-msgstr ".. _Menu-user-read-my-request:"
-
-#: usage.rst:485
-msgid ""
-"Read my Requests\n"
-"  Opens a tab in :term:`tree view` showing all requests related to the\n"
-"  actual user. Fields and actions of requests:"
-msgstr ""
-"Meine Anfragen lesen:\n"
-"  Öffnet ein Tab als :term:`Baumansicht` der dem aktuellen Benutzer\n"
-"  alle zugehörigen Anfragen zeigt. Anfragen haben folgende Felder und Aktionen:"
-
-#: usage.rst:489
-msgid "  * On top"
-msgstr "  * Oben"
-
-#: usage.rst:491
-msgid ""
-"    - From: User name of the sender\n"
-"    - To: User name of the request recipient\n"
-"    - References: Count of the attached references\n"
-"    - Subject: The subject of the request.\n"
-"    - Priority: An importance priority of the request."
-msgstr ""
-"    - Von: Benutzername des Senders\n"
-"    - An: Benutzername des Empfängers\n"
-"    - Verweise: Anzahl der angehängten Verweise\n"
-"    - Betreff: Der Betreff der Anfrage\n"
-"    - Dringlichkeit: Eine Priorisierung der Anfrage"
-
-#: usage.rst:497
-msgid ""
-"      + High\n"
-"      + Low\n"
-"      + Normal"
-msgstr ""
-"      + Hoch\n"
-"      + Niedrig\n"
-"      + Normal"
-
-#: usage.rst:501
-msgid "  * *Request* tab"
-msgstr "  * *Anfrage* Tab"
-
-#: usage.rst:503
-msgid ""
-"    - Body: The textual part of the request.\n"
-"    - History: The history of past replies to this request."
-msgstr ""
-"    - Anfrage: Der Textteil der Anfrage\n"
-"    - Bisherige Anfragen: Die Historie der letzten Antworten zu dieser Anfrage"
-
-#: usage.rst:506
-msgid ""
-"      + From: Sender of the past request\n"
-"      + To: Receiver of the past request\n"
-"      + Summary: Summary of the body text of the past request."
-msgstr ""
-"      + Von: Sender der letzten Anfrage\n"
-"      + An: Empfänger der letzten Anfrage\n"
-"      + Zusammenfassung: Zusammenfassung des Anfrage-Textes der letzten Anfrage"
-
-#: usage.rst:510
-msgid ""
-"  * Trigger Date: Defines time and date when the request will be sent\n"
-"    automatically.\n"
-"  * State: State of the request. Possible states for the request are:"
-msgstr ""
-"  * Gültig ab: Definiert Zeit und Datum an dem die Anfrage automatisch\n"
-"    zugestellt werden soll.\n"
-"  * Status: Status der Anfrage. Mögliche Stati der Anfrage sind:"
-
-#: usage.rst:514
-msgid ""
-"    - Draft: The request is saved in the system, but not posted.\n"
-"    - Waiting: The request is sent without receiving a reply message.\n"
-"    - Chatting: The message is replied or in discussion.\n"
-"    - Closed: The message is closed/fulfilled/answered."
-msgstr ""
-"    - Entwurf: Die Anfrage ist im System gespeichert, aber nicht abgeschickt\n"
-"    - Wartend: Die Anfrage wurde abgeschickt ohne bisher eine Antwort erhalten zu haben\n"
-"    - Schreibt gerade: Die Nachricht ist gerade in Bearbeitung\n"
-"    - Geschlossen: Die Nachricht wurde geschlossen/erfüllt/beantwortet"
-
-#: usage.rst:519
-msgctxt "usage.rst:519"
-msgid "  * Actions:"
-msgstr "  * Aktionen:"
-
-#: usage.rst:521
-msgid ""
-"    - Send: Sends the actual message\n"
-"    - Reply: Replies or answers the actual message\n"
-"    - close: Closes the actual message"
-msgstr ""
-"    - Senden: Sendet die aktuelle Nachricht\n"
-"    - Antworten: Erwidert oder beantwortet die aktuelle Nachricht\n"
-"    - Schließen: Schließt die aktuelle Anfrage"
-
-#: usage.rst:525
-msgid "  * *References* tab"
-msgstr "  * *Verweise* Tab"
-
-#: usage.rst:527
-msgid "    - References"
-msgstr "    - Verweise"
-
-#: usage.rst:529
-msgid ""
-"      + Reference: The reference type\n"
-"      + (Target): Defines an reference attached to the request."
-msgstr ""
-"      + Verweise: Der Verweis Typ\n"
-"      + (Ziel): Hängt einen Verweis an die Anfrage an."
-
-#: usage.rst:532
-msgid ""
-".. note:: When talking about requests, think of an internal system of\n"
-"   Tryton, which is very similar to email."
-msgstr ""
-".. note:: Wenn man von Anfragen spricht, kann man sie sich vorstellen wie\n"
-"   ein Tryton-internes E-Mail System."
-
-#: usage.rst:536
-msgid ""
-"Form\n"
-"^^^^\n"
-"The form menu contains functions for the *actual form* in the tab which\n"
-"is open. Some operations are working with one record or with a selection of\n"
-":term:`records`. In :term:`form view` the actual record is selected for\n"
-"operations. In :term:`tree view` all selected records are used for operations."
-msgstr ""
-"Formular\n"
-"^^^^^^^^\n"
-"Das Formular Menü bietet Funktionen zum *aktuellen Formular*, welches gerade\n"
-"als Tab geöffnet ist. Manche Menüeinträge funktionieren mit einem Datensatz\n"
-"andere mit mehreren :term:`Datensätzen <Datensatz>`. In der :term:`Formularansicht` ist der\n"
-"aktuelle Datensatz für diese Operationen ausgewählt. In der :term:`Baumansicht`\n"
-"werden alle ausgewählten Datensätze benutzt."
-
-#: usage.rst:543
-msgid ".. _Menu-Form-New:"
-msgstr ".. _Menu-Form-New:"
-
-#: usage.rst:545
-msgid ""
-"New:\n"
-"  Creates a new record."
-msgstr ""
-"Neu:\n"
-"  Erstellt einen neuen Datensatz."
-
-#: usage.rst:548
-msgid ".. _Menu-Form-Save:"
-msgstr ".. _Menu-Form-Save:"
-
-#: usage.rst:550
-msgid ""
-"Save:\n"
-"  Saves the actual record."
-msgstr ""
-"Speichern:\n"
-"  Speichert den aktuellen Datensatz"
-
-#: usage.rst:553
-msgid ".. _Menu-Form-Duplicate:"
-msgstr ".. _Menu-Form-Duplicate:"
-
-#: usage.rst:555
-msgid ""
-"Duplicate:\n"
-"  Duplicates the content of the actual record in a newly created record."
-msgstr ""
-"Duplizieren:\n"
-"  Dupliziert den Inhalt des aktuellen Datensatzes in einen neu erstellen Datensatz."
-
-#: usage.rst:558
-msgid ".. _Menu-Form-Delete:"
-msgstr ".. _Menu-Form-Delete:"
-
-#: usage.rst:560
-msgid ""
-"Delete:\n"
-"  Deletes the selected or actual record."
-msgstr ""
-"Löschen:\n"
-"  Löscht den ausgewählten oder aktuellen Datensatz."
-
-#: usage.rst:563
-msgid ".. _Menu-Form-Find:"
-msgstr ".. _Menu-Form-Find:"
-
-#: usage.rst:565
-msgid ".. _search_widget:"
-msgstr ".. _search_widget:"
-
-#: usage.rst:567
-msgid ""
-"Find...:\n"
-"  Opens a :term:`dialog` for finding :term:`fields` with search criteria and\n"
-"  operators."
-msgstr ""
-"Suchen...:\n"
-"  Öffnet einen :term:`Dialog` um :term:`Felder` anhand Suchkriterien und Operatoren\n"
-"  zu finden."
-
-#: usage.rst:571
-msgid ""
-"  * Search criteria: Defines the aspects to seek for.\n"
-"  * General search operators:"
-msgstr ""
-"  * Suchkriterien: Definiert nach den zu suchenden Kriterien\n"
-"  * Allgemeine Such-Operatoren:"
-
-#: usage.rst:574
-msgid ""
-"    - Equals: Search for results which are exactly the same as the following\n"
-"      term.\n"
-"    - Does Not Equal: Search for results which are different from the following\n"
-"      term."
-msgstr ""
-"    - ist gleich: Sucht nach Ergebnissen, die exakt dem folgenden Ausdruck entsprechen\n"
-"    - ist nicht gleich: Sucht nach Ergebnissen, die nicht exakt dem folgenden Ausdruck entsprechen"
-
-#: usage.rst:579
-msgid "  * Additional search operators on numbers, amounts and strings:"
-msgstr "  * Zusätzliche Such-Operatoren für Nummern, Mengen und Zeichenketten:"
-
-#: usage.rst:581
-msgid ""
-"    - Contains: Search for results which contain the following term.\n"
-"    - Does Not Contain:  Search for results which do not include the\n"
-"      following term.\n"
-"    - Starts With: Search for results beginning with the following term.\n"
-"    - Ends With: Search for results ending with the following term."
-msgstr ""
-"    - enthält: Sucht nach Ergebnissen, welche den folgenden Ausdruck enthält\n"
-"    - enthält nicht: Sucht nach Ergebnissen, welche den folgenden Ausdruck nicht enthält\n"
-"    - beginnt mit: Sucht nach Ergebnissen, welche mit folgendem Audruck beginnen\n"
-"    - endet mit: Sucht nach Ergebnissen, welche mit folgendem Ausdruck enden"
-
-#: usage.rst:587
-msgid "  * Additional search operators for numbers and amounts:"
-msgstr "  * Zusätzliche Such-Operatoren für Nummern und Mengen:"
-
-#: usage.rst:589
-msgid ""
-"    - Is Between: Search for results inside a range (from - to).\n"
-"    - Is Not Between: Search for results outside a range (from - to).\n"
-"    - Is Different: Same as 'Does Not Equal', see above."
-msgstr ""
-"    - ist zwischen: Sucht nach Ergebnissen innerhalb einer Reihe (von - bis)\n"
-"    - ist nicht zwischen: Sucht nach Ergebnissen außerhalb einer Reihe (von - bis)\n"
-"    - ist nicht: Gleich wie 'ist unterschiedlich', siehe oben"
-
-#: usage.rst:593
-msgid "  * Advanced Search expander opens additional search criteria."
-msgstr "  * Über *Erweiterte Suche* öffnet man weitere Suchmöglichkeiten."
-
-#: usage.rst:595
-msgid ""
-"    - Limit: Limits the count of results.\n"
-"    - Offset: Skips a number of results and show only the following."
-msgstr ""
-"    - Limit: Schränkt die Anzahl der Suchtreffer ein.\n"
-"    - Versatz: Überspringt die angegebene Anzahl an Treffern\n"
-"      und zeigt nur die darauf Folgenden an."
-
-#: usage.rst:598
-msgctxt "usage.rst:598"
-msgid "  * Actions:"
-msgstr "  * Aktionen:"
-
-#: usage.rst:600
-msgid ""
-"    - Find: Search for results of the given criteria.\n"
-"    - New: Create a new record (used when search was fruitless, to create\n"
-"      quickly a new record).\n"
-"    - Ok: Open the selected results.\n"
-"    - Cancel"
-msgstr ""
-"    - Suchen: Sucht nach Ergebnissen, welche den angegebenen Kriterien entsprechen\n"
-"    - Neu: Erstellt einen neuen Datensatz (wird benutzt wenn durch die Suche nichts\n"
-"      gefunden wurde und man schnell einen neuen Datensatz anlegen will)\n"
-"    - OK: Öffnet den ausgewählten Datensatz\n"
-"    - Abbruch: Bricht den Vorgang ab"
-
-#: usage.rst:606
-msgid ""
-".. note:: To search for deactivated records the *Active* search criteria must be\n"
-"        set to *No*."
-msgstr ""
-".. note:: Um nach inaktiven Datensätzen zu suchen muss das *Aktiv* Suchkriterium auf\n"
-"        *Nein* gesetzt werden."
-
-#: usage.rst:609
-msgid ".. _Menu-Form-Next:"
-msgstr ".. _Menu-Form-Next:"
-
-#: usage.rst:611
-msgid ""
-"Next:\n"
-"  Goes to the next record in a list (sequence)."
-msgstr ""
-"Nächster:\n"
-"  Geht zum nächsten Datensatz in der Liste (Reihenfolge)"
-
-#: usage.rst:614
-msgid ".. _Menu-Form-Previous:"
-msgstr ".. _Menu-Form-Previous:"
-
-#: usage.rst:616
-msgid ""
-"Previous:\n"
-"  Goes to the last record in a list (sequence)."
-msgstr ""
-"Vorheriger:\n"
-"  Geht zum vorherigen Datensatz in der Liste (Reihenfolge)."
-
-#: usage.rst:619
-msgid ".. _Menu-Form-Switch_View:"
-msgstr ".. _Menu-Form-Switch_View:"
-
-#: usage.rst:621
-msgid ""
-"Switch View:\n"
-"  Switches the actual view aspect to:"
-msgstr ""
-"Ansicht wechseln:\n"
-"  Wechselt die aktuelle Ansicht nach:"
-
-#: usage.rst:624
-msgid ""
-"  * :term:`Form view`\n"
-"  * :term:`Tree view`\n"
-"  * :term:`Graph view`"
-msgstr ""
-"  * :term:`Formularansicht`\n"
-"  * :term:`Baumansicht`\n"
-"  * :term:`Diagrammansicht`"
-
-#: usage.rst:628
-msgid "  Not all views provide all aspects."
-msgstr "  Nicht alle Sichten stellen alle Möglichkeiten bereit."
-
-#: usage.rst:630
-msgid ".. _Menu-Form-Menu:"
-msgstr ".. _Menu-Form-Menu:"
-
-#: usage.rst:632
-msgid ""
-"Menu:\n"
-"  Activates or reopens the menu tab."
-msgstr ""
-"Menü:\n"
-"  Springt zu oder öffnet den Menü-Tab."
-
-#: usage.rst:635
-msgid ".. _Menu-Form-Home:"
-msgstr ".. _Menu-Form-Home:"
-
-#: usage.rst:637
-msgid ""
-"Home:\n"
-"  Opens a new `home`__ tab."
-msgstr ""
-"Zur Startseite:\n"
-"  Öffnet einen neuen `Startseite`__ Tab"
-
-#: usage.rst:640
-msgctxt "usage.rst:640"
-msgid "__ Menu-User-Preferences_"
-msgstr "__ Menu-User-Preferences_"
-
-#: usage.rst:642
-msgid ".. _Menu-Form-Close:"
-msgstr ".. _Menu-Form-Close:"
-
-#: usage.rst:644
-msgid ""
-"Close Tab:\n"
-"  Closes the current tab. A Request :term:`Dialog` opens in case of unsaved\n"
-"  changes."
-msgstr ""
-"Tab schließen:\n"
-"  Schließt den aktuellen Tab. Ein :term:`Dialog` erscheint bei ungespeicherten Änderungen."
-
-#: usage.rst:648
-msgid ".. _Menu-Form-Previous_Tab:"
-msgstr ".. _Menu-Form-Previous_Tab:"
-
-#: usage.rst:650
-msgid ""
-"Previous Tab:\n"
-"  Shows the previous (left) tab of the actual tab."
-msgstr ""
-"Vorheriger Tab:\n"
-"  Zeigt den vorherigen (linken) Tab neben dem aktuellen Tab."
-
-#: usage.rst:653
-msgid ".. _Menu-Form-Next_Tab:"
-msgstr ".. _Menu-Form-Next_Tab:"
-
-#: usage.rst:655
-msgid ""
-"Next Tab:\n"
-"  Shows the next (right) tab of the actual tab."
-msgstr ""
-"Nächster Tab:\n"
-"  Zeigt den nächsten (rechten) Tab neben dem aktuellen Tab."
-
-#: usage.rst:658
-msgid ".. _Menu-Form-View_Logs:"
-msgstr ".. _Menu-Form-View_Logs:"
-
-#: usage.rst:660
-msgid ""
-"View Logs...:\n"
-"  Shows generic information of the current record."
-msgstr ""
-"Protokoll ansehen...:\n"
-"  Zeigt generische Informationen des aktuellen Datensatzes."
-
-#: usage.rst:663
-msgid ".. _Menu-Form-Go_to_Record_ID:"
-msgstr ".. _Menu-Form-Go_to_Record_ID:"
-
-#: usage.rst:665
-msgid ""
-"Go to Record ID...:\n"
-"  Opens specific record id in the current view."
-msgstr ""
-"Gehe zu Datensatz Nr...:\n"
-"  Öffnet die angegebene Datensatznummer in der aktuellen Sicht."
-
-#: usage.rst:668
-msgid ".. _Menu-Form-Reload_Undo:"
-msgstr ".. _Menu-Form-Reload_Undo:"
-
-#: usage.rst:670
-msgid ""
-"Reload/Undo:\n"
-"  Reloads the content of the actual tab. Undoes changes, if save request for\n"
-"  the current record is denied."
-msgstr ""
-"Neu laden/Rückgängig:\n"
-"  Lädt den Inhalt des aktuellen Tabs neu. Macht Änderungen rückgängig, falls\n"
-"  das Speichern des aktuellen Datensatzes fehlschlägt."
-
-#: usage.rst:674
-msgid ".. _Menu-Form-Actions:"
-msgstr ".. _Menu-Form-Actions:"
-
-#: usage.rst:676
-msgid ""
-"Actions...:\n"
-"  Shows all actions for the actual view, model and record."
-msgstr ""
-"Aktionen...:\n"
-"  Zeigt alle Aktionen der aktuellen Sicht, des Modells und Datensatzes."
-
-#: usage.rst:679
-msgid ".. _Menu-Form-Print:"
-msgstr ".. _Menu-Form-Print:"
-
-#: usage.rst:681
-msgid ""
-"Print...:\n"
-"  Shows all print actions for the actual view, model and record."
-msgstr ""
-"Drucken...:\n"
-"  Zeigt alle Druckaktionen der aktuellen Sicht, des Modells und Datensatzes."
-
-#: usage.rst:684
-msgid ".. _Menu-Form-Export_Data:"
-msgstr ".. _Menu-Form-Export_Data:"
-
-#: usage.rst:686
-msgid ""
-"Export Data...:\n"
-"  Export of current/selected records into :term:`CSV`-file or open it in Excel."
-msgstr ""
-"Daten exportieren...:\n"
-"  Export des aktuellen oder der ausgewählten Datensätze als :term:`CSV`-Datei oder\n"
-"  öffnet es direkt in Excel."
-
-#: usage.rst:689
-msgid "  * Predefined exports"
-msgstr "  * Vordefinierte Exporte"
-
-#: usage.rst:691
-msgid "    - Choose preferences of already saved exports."
-msgstr "    - Auswahl von vorher abgespeicherten Exporteigenschaften."
-
-#: usage.rst:693
-msgid ""
-"  * All Fields: Fields available from the model.\n"
-"  * Fields to export: Defines the specific fields to export.\n"
-"  * Options:"
-msgstr ""
-"  * Alle Felder: Verfügbare Felder des Modells\n"
-"  * Zu exportierende Felder: Definition der speziellen, zu exportierenden Felder\n"
-"  * Optionen:"
-
-#: usage.rst:697
-msgid ""
-"    - Save: Save export as a CSV file.\n"
-"    - Open: Open export in spread sheet application."
-msgstr ""
-"    - Speichern: Speichert den Export als CSV Datei.\n"
-"    - Öffnen: Öffnet den Export in einem Tabellenkalkulations-Programm."
-
-#: usage.rst:700
-msgid ""
-"  * Add field names: Add a header row with field names to the export data.\n"
-"  * Actions:"
-msgstr ""
-"  * Feldnamen hinzufügen: Fügt eine Kopfzeile mit den Feldnamen zu den exportierten Daten hinzu\n"
-"  * Aktionen:"
-
-#: usage.rst:703
-msgid ""
-"    - Add: Adds selected fields to *Fields to export*.\n"
-"    - Remove: Removes selected fields from *Fields to export*.\n"
-"    - Clear: Removes all fields from *Fields to export*.\n"
-"    - Save Export: Saves field mapping to a *Predefined export* with a name.\n"
-"    - Delete Export: Deletes a selected *Predefined export*.\n"
-"    - Ok: Exports the data (action depending on *Options*).\n"
-"    - Cancel"
-msgstr ""
-"    - Hinzufügen: Fügt die ausgewählten Felder zu *Zu exportierende Felder* hinzu\n"
-"    - Entfernen: Löscht die ausgewählten Felder von *Zu exportierende Felder*\n"
-"    - Leeren: Löscht alle Felder aus *Zu exportierende Felder*\n"
-"    - Export speichern: Speichert die Feldzuweisungen in einem *vordefinierten Export*\n"
-"    - Export löschen: Löscht einen *vordefinierten Export*\n"
-"    - OK: Exportiert die Daten (Aktion hängt von der ausgewählten *Option* ab)\n"
-"    - Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:711
-msgid ".. _Menu-Form-Import_Data:"
-msgstr ".. _Menu-Form-Import_Data:"
-
-#: usage.rst:713
-msgid ""
-"Import Data...:\n"
-"  Import records from :term:`CSV`-file."
-msgstr ""
-"Daten importieren...:\n"
-"  Import von Daten von einer :term:`CSV`-Datei."
-
-#: usage.rst:716
-msgid ""
-"  * All Fields: Fields available in the model (required fields are marked up).\n"
-"  * Fields to Import: Exact sequence of all columns in the CSV file.\n"
-"  * File to Import: File :term:`dialog` for choosing a CSV file to import.\n"
-"  * CSV Parameters: Setup specific parameters for chosen CSV file."
-msgstr ""
-"  * Alle Felder: Verfügbare Felder im Modell (Pflichtfelder sind markiert)\n"
-"  * Zu importierende Felder: Genaue Reihenfolge aller Spalten der CSV-Datei\n"
-"  * Importdatei: Öffnen :term:`Dialog` um die zu importierende CSV-Datei auszuwählen\n"
-"  * CSV Parameter: Einstellungen der ausgewählten CSV-Datei"
-
-#: usage.rst:721
-msgid ""
-"    - Field Separator: Character which separates CSV fields.\n"
-"    - Text Delimiter: Character which encloses text in CSV.\n"
-"    - Encoding: :term:`Character encoding` of CSV file.\n"
-"    - Lines to Skip: Count of lines to skip a headline or another offset."
-msgstr ""
-"    - Feldtrennzeichen: Zeichen, welches die einzelnen Spalten\n"
-"      der CSV-Datei von einander trennt.\n"
-"    - Texttrennzeichen: Zeichen, welches Textfelder der CSV-Datei einrahmt\n"
-"    - Kodierung: :term:'Zeichenkodierung' einer CSV-Datei.\n"
-"    - Zu überspringende Zeilen: Anzahl zu überspringenden Zeilen wie zum\n"
-"      Beispiel einer Überschrift oder anderen Zeilen."
-
-#: usage.rst:726
-msgctxt "usage.rst:726"
-msgid "  * Actions:"
-msgstr "  * Aktionen:"
-
-#: usage.rst:728
-msgid ""
-"    - Add: Adds fields to *Fields to Import*.\n"
-"    - Remove: Deletes fields from *Fields to Import*.\n"
-"    - Clear: Removes all fields from *Fields to Import*.\n"
-"    - Auto-Detect: Tries to auto detect fields in the CSV *File to Import*.\n"
-"    - Ok: Proceeds the data import.\n"
-"    - Cancel"
-msgstr ""
-"    - Hinzufügen: Fügt die ausgewählten Felder zu *Zu importierende Felder* hinzu\n"
-"    - Entfernen: Löscht die ausgewählten Felder von *Zu importierende Felder*\n"
-"    - Leeren: Löscht alle Felder aus *Zu importierende Felder*\n"
-"    - OK: Importiert die Daten\n"
-"    - Abbrechen: Bricht den Vorgang ab."
-
-#: usage.rst:736
-msgid ""
-"Options\n"
-"^^^^^^^\n"
-"The Options menu sets up several visual and context depending preferences."
-msgstr ""
-"Einstellungen\n"
-"^^^^^^^^^^^^^\n"
-"Das Einstellungs-Menü konfiguriert viele grafische und kontextabhängige Eigenschaften."
-
-#: usage.rst:741
-msgid ""
-"Toolbar\n"
-"+++++++"
-msgstr ""
-"Werkzeugleiste\n"
-"++++++++++++++"
-
-#: usage.rst:744
-msgid ".. _Menu-Options-Toolbar-Default:"
-msgstr ".. _Menu-Options-Toolbar-Default:"
-
-#: usage.rst:746
-msgid ""
-"Default:\n"
-"  Shows labels and icons as defaulted in the GTK configuration."
-msgstr ""
-"Standard:\n"
-"  Zeigt Bezeichnung und Symbole wie in der systemweiten GTK-Konfiguration eingestellt."
-
-#: usage.rst:749
-msgid ".. _Menu-Options-Toolbar-Text_and_Icons:"
-msgstr ".. _Menu-Options-Toolbar-Text_and_Icons:"
-
-#: usage.rst:751
-msgid ""
-"Text and Icons:\n"
-"  Shows labels and icons in the tool bar."
-msgstr ""
-"Text und Symbole:\n"
-"  Zeigt Bezeichnungen und Symbole in der Werkzeugleiste an."
-
-#: usage.rst:754
-msgid ".. _Menu-Options-Toolbar-Icons:"
-msgstr ".. _Menu-Options-Toolbar-Icons:"
-
-#: usage.rst:756
-msgid ""
-"Icons:\n"
-"  Shows icons only in the tool bar."
-msgstr ""
-"Symbole:\n"
-"  Zeigt nur Symbole in der Werkzeugleiste an."
-
-#: usage.rst:759
-msgid ".. _Menu-Options-Toolbar-Text:"
-msgstr ".. _Menu-Options-Toolbar-Text:"
-
-#: usage.rst:761
-msgid ""
-"Text:\n"
-"  Shows labels only in the tool bar."
-msgstr ""
-"Text:\n"
-"  Zeigt nur Bezeichnungen in der Werkzeugleiste an."
-
-#: usage.rst:764
-msgid ""
-"Menubar\n"
-"+++++++"
-msgstr ""
-"Menüleiste\n"
-"++++++++++"
-
-#: usage.rst:767
-msgid ".. _Menu-Options-Menubar-Accelerators:"
-msgstr ".. _Menu-Options-Menubar-Accelerators:"
-
-#: usage.rst:769
-msgid ""
-"Change Accelerators:\n"
-"  If checked, keyboard shortcuts can be defined. S. a. `mouse and keyboard use`_"
-msgstr ""
-"Kurzbefehle ändern:\n"
-"  Falls das Kontrollkästchen aktiv ist, können Schnelltasten eingestellt werden. Siehe auch\n"
-"  `Maus- und Tastaturbedienung`_"
-
-#: usage.rst:772
-msgid ""
-"Mode\n"
-"++++"
-msgstr ""
-"Modus\n"
-"+++++"
-
-#: usage.rst:775
-msgid ".. _Menu-Options-Mode-Normal:"
-msgstr ".. _Menu-Options-Mode-Normal:"
-
-#: usage.rst:777
-msgid ""
-"Normal:\n"
-"  Shows the client in full feature mode."
-msgstr ""
-"Normal:\n"
-"  Alle Funktionen des Clients werden angezeigt."
-
-#: usage.rst:780
-msgid ".. _Menu-Options-Mode_PDA:"
-msgstr ".. _Menu-Options-Mode_PDA:"
-
-#: usage.rst:782
-msgid ""
-"PDA:\n"
-"  Shows the client in a condensed mode. The PDA (Personal Data Assistant) mode\n"
-"  hides the shortcut menu in tree views and the system status bar."
-msgstr ""
-"PDA:\n"
-"  Der Client wird im abgespeckter Form angezeigt. Der PDA (Persönlicher Daten Assistent) Modus\n"
-"  blendet das Favoriten Menü in der Baumansicht und die Statusleiste aus."
-
-#: usage.rst:786
-msgid ""
-"Form\n"
-"++++"
-msgstr ""
-"Formular\n"
-"++++++++"
-
-#: usage.rst:789
-msgid ".. _Menu-Options-Form-Toolbar:"
-msgstr ".. _Menu-Options-Form-Toolbar:"
-
-#: usage.rst:791
-msgid ""
-"Toolbar:\n"
-"  Checkbox to disable/enable the tool bar."
-msgstr ""
-"Werkzeugleiste:\n"
-"  Kontrollkästchen um die Werkzeugleiste ein- und auszuschalten."
-
-#: usage.rst:794
-msgid ".. _Menu-Options-Form-Statusbar:"
-msgstr ".. _Menu-Options-Form-Statusbar:"
-
-#: usage.rst:796
-msgid ""
-"Statusbar:\n"
-"  Checkbox to disable/enable the status bar."
-msgstr ""
-"Statusleiste:\n"
-"    Kontrollkästchen um die Statusleiste ein- und auszuschalten."
-
-#: usage.rst:799
-msgid ".. _Menu-Options-Form-Save_Columns_Width:"
-msgstr ".. _Menu-Options-Form-Save_Columns_Width:"
-
-#: usage.rst:801
-msgid ""
-"Save Width/Height:\n"
-"  Check box to enable saving of manually adjusted widths of columns in lists\n"
-"  and trees. Additionally saving of manually adjusted widths and heights of\n"
-"  dialog and popup windows."
-msgstr ""
-"Breite/Höhe speichern:\n"
-"  Kontrollkästchen zum speichern der manuell geänderte Breite von\n"
-"  Spalten in Listen und Bäumen. Zusätzlich werden die manuell angepassten\n"
-"  Breiten und Höhen der Dialog- und Popup-Fenster gespeichert."
-
-#: usage.rst:806
-msgid ".. _Menu-Options-Form-Spell_Checking:"
-msgstr ".. _Menu-Options-Form-Spell_Checking:"
-
-#: usage.rst:808
-msgid ""
-"Spell Checking:\n"
-"  Check box to enable spell checking in fields."
-msgstr ""
-"Rechtschreibkorrektur:\n"
-"  Kontrollkästchen um die Rechtschreibkorrektur in Feldern einzuschalten."
-
-#: usage.rst:811
-msgid ".. _Menu-Options-Form-Tabs_Position:"
-msgstr ".. _Menu-Options-Form-Tabs_Position:"
-
-#: usage.rst:813
-msgid ""
-"Tabs Position\n"
-"  Sets up the position of the :term:`tabs` inside :term:`views`:"
-msgstr ""
-"Position der Tabs:\n"
-"  Stellt die Position der :term:`Tabs` innerhalb von :term:`Sichten <Sicht>` ein:"
-
-#: usage.rst:816
-msgid ""
-"  * Top\n"
-"  * Left\n"
-"  * Right\n"
-"  * Bottom"
-msgstr ""
-"  * Oben\n"
-"  * Links\n"
-"  * Rechts\n"
-"  * Unten"
-
-#: usage.rst:821
-msgid ".. _Menu-Options-File_Actions:"
-msgstr ".. _Menu-Options-File_Actions:"
-
-#: usage.rst:823
-msgid ""
-"File Actions...:\n"
-"  Opens a dialog to set up file types for print and open actions.\n"
-"  Use ``\"%s\"`` as a placeholder for the document name."
-msgstr ""
-"Dateiaktionen...\n"
-"  Öffnet einen Dialog um zu den Dateitypen die entsprechende Druck und Öffnen-Aktion auszuwählen.\n"
-"  Der Dokumentenname wird mit ``\"%s\"`` als Platzhalter angegeben."
-
-#: usage.rst:827
-msgid "  * Provided file types:"
-msgstr "  * Unterstützte Dateitypen:"
-
-#: usage.rst:829
-msgid ""
-"    - ODT file: Open Office Writer Document\n"
-"    - PDF file: Adobes(TM) Portable Document Format\n"
-"    - PNG file: Portable Network Graphics format\n"
-"    - TXT file: Pure text file"
-msgstr ""
-"    - ODT Datei: Open Office Writer Dokument\n"
-"    - PDF Datei: Adobes(TM) Portable Document Format\n"
-"    - PNG Datei: Portable Network Graphics Format\n"
-"    - TXT Datei: Reine Text-Datei"
-
-#: usage.rst:834
-msgid "  * Provided actions"
-msgstr "  * Unterstützte Aktionen"
-
-#: usage.rst:836
-msgid ""
-"    - Open: Setting up program system call which opens the specific file type.\n"
-"    - Print: Setting up program system call printing the specific file type."
-msgstr ""
-"    - Öffnen: Das aufzurufende Programm und Parameter welche die angegebene Datei öffnet\n"
-"    - Drucken: Das aufzurufende Programm und Parameter welches die angegebene Datei druckt"
-
-#: usage.rst:839
-msgid ".. _Menu-Options-Email:"
-msgstr ".. _Menu-Options-Email:"
-
-#: usage.rst:841
-msgid ""
-"Email...:\n"
-"  Open a dialog to set up an email reader."
-msgstr ""
-"E-Mail...:\n"
-"  Öffnet einen Dialog um das E-Mail-Programm einzustellen."
-
-#: usage.rst:844
-msgid ""
-"  * Command Line: The command line calling the email reader.\n"
-"  * Placeholders:"
-msgstr ""
-"  * Kommandozeile: Die Kommandozeile um das E-Mail-Programm aufzurufen\n"
-"  * Platzhalter:"
-
-#: usage.rst:847
-msgid ""
-"    - ``${to}``: the destination email address\n"
-"    - ``${cc}``: the carbon copy email address\n"
-"    - ``${subject}``: the subject of the email\n"
-"    - ``${body}``: the body of the email\n"
-"    - ``${attachment}``: the attachment of the email"
-msgstr ""
-"    - ``${to}``: Die Empfänger E-Mail-Adressen\n"
-"    - ``${cc}``: Die Empfänger E-Mail-Adressen, die eine Kopie der E-Mail erhalten sollen.\n"
-"    - ``${subject}``: Der Betreff der E-Mail\n"
-"    - ``${body}``: Der Textteil der E-Mail\n"
-"    - ``${attachment}``: Der Anhang der E-Mail"
-
-#: usage.rst:853
-msgid "  * Examples:"
-msgstr "  * Beispiele:"
-
-#: usage.rst:855
-msgid ""
-"    - Thunderbird 2 on Linux:\n"
-"      ``thunderbird -compose \"to='${to}',cc='${cc}',subject='${subject}',body='${body}',attachment='file://${attachment}'\"``"
-msgstr ""
-"    - Thunderbird 2 unter Linux:\n"
-"      ``thunderbird -compose \"to='${to}',cc='${cc}',subject='${subject}',body='${body}',attachment='file://${attachment}'\"``"
-
-#: usage.rst:858
-msgid ""
-"    - Thunderbird 2 on Windows XP SP3:\n"
-"      ``\"C:\\\\Program Files\\\\Mozilla Thunderbird\\\\thunderbird.exe\" -compose to=\"${to}\",cc=\"${cc}\",subject=\"${subject}\",body=\"${body}\",attachment=\"${attachment}\"``"
-msgstr ""
-"    - Thunderbird 2 auf Windows XP SP3:\n"
-"      ``\"C:\\\\Programme\\\\Mozilla Thunderbird\\\\thunderbird.exe\" -compose to=\"${to}\",cc=\"${cc}\",subject=\"${subject}\",body=\"${body}\",attachment=\"${attachment}\"``"
-
-#: usage.rst:861
-msgid ".. note:: The path of *Program Files* may vary dependent on the localization of your Windows version."
-msgstr ".. note:: Der Pfad von *Programme* unterscheidet sich womöglich erheblich abhängig der Sprache ihrer Windows Version."
-
-#: usage.rst:863
-msgid ".. _Menu-Options-Save_Options:"
-msgstr ".. _Menu-Options-Save_Options:"
-
-#: usage.rst:865
-msgid ""
-"Save Options:\n"
-"  Saves all the options."
-msgstr ""
-"Einstellungen speichern:\n"
-"  Speichert alle Einstellungen."
-
-#: usage.rst:869
-msgid ""
-"Plug-ins\n"
-"^^^^^^^^\n"
-"Plug-ins are client side add-ons for Tryton. There are some included plug-ins\n"
-"with the standard client."
-msgstr ""
-"Plugins\n"
-"^^^^^^^\n"
-"Plugins sind clientseitige Erweiterungen für Tryton. Es gibt ein paar Plugins,\n"
-"die Tryton im Standard mitbringt."
-
-#: usage.rst:874
-msgid ""
-"Execute a Plug-in\n"
-"+++++++++++++++++\n"
-"Translate View:\n"
-"  Creates a translation table of the current view."
-msgstr ""
-"Ein Plugin ausführen\n"
-"++++++++++++++++++++\n"
-"Aktuelle Sicht übersetzen:\n"
-"  Erstellt eine Übersetzungstabelle der aktuellen Sicht."
-
-#: usage.rst:879
-msgid ""
-"Print Workflow:\n"
-"  Creates a graph which shows the work flow of the current view."
-msgstr ""
-"Workflow drucken:\n"
-"  Erstellt ein Schaubild, welches den Workflow der aktuellen Sicht zeigt."
-
-#: usage.rst:882
-msgid ""
-"Print Workflow (complex):\n"
-"  Like 'Print Workflow', with additional sub work flows inherited by the\n"
-"  current view."
-msgstr ""
-"Erweiterten Workflow drucken:\n"
-"  Wie `Workflow drucken`, allerdings mit zusätzlichen Unter-Workflows welche\n"
-"  von der aktuellen Sicht abhängig sind."
-
-#: usage.rst:887
-msgid ""
-"Shortcuts\n"
-"^^^^^^^^^\n"
-"A collection of user defined shortcuts for specific resources."
-msgstr ""
-"Favoriten\n"
-"^^^^^^^^^\n"
-"Eine Sammlung von benutzerdefinierten Favoriten für spezielle Resourcen."
-
-#: usage.rst:892
-msgid ""
-"Help\n"
-"^^^^"
-msgstr ""
-"Hilfe\n"
-"^^^^^"
-
-#: usage.rst:895
-msgid ".. _Menu-Help-Tips:"
-msgstr ".. _Menu-Help-Tips:"
-
-#: usage.rst:897
-msgid ""
-"Tips...:\n"
-"  Opens the tips dialog."
-msgstr ""
-"Tipps...:\n"
-"  Öffnet den Tipp Dialog."
-
-#: usage.rst:900
-msgid ""
-"  * Display a new tip next time: If *checked*, the tips dialog will appear on\n"
-"    start.\n"
-"  * Previous: Shows last tip.\n"
-"  * Next: Shows next tip."
-msgstr ""
-"  * Tipps beim Start von Tryton anzeigen: Der Tipps Dialog wird beim Start\n"
-"    des Tryton Clients angezeigt\n"
-"  * Vorheriger: Zeigt den letzten Tipp\n"
-"  * Nächster: Zeigt den nächsten Tipp"
-
-#: usage.rst:905
-msgid ".. _Menu-Help-Keyboard_Shortcuts:"
-msgstr ".. _Menu-Help-Keyboard_Shortcuts:"
-
-#: usage.rst:907
-msgid ""
-"Keyboard Shortcuts...:\n"
-"  Shows the information dialog of the predefined keyboard shortcut map."
-msgstr ""
-"Schnelltasten...:\n"
-"  Zeigt einen Informations-Dialog über die vordefinierten Schnelltasten an."
-
-#: usage.rst:910
-msgid ""
-"  * Edition Widgets: Shows shortcuts working on text entries, relation entries\n"
-"    and date/time entries."
-msgstr ""
-"  * Widgets zur Bearbeitung: Zeigt Schnelltasten für Texteinträge, verknüpfte\n"
-"    Einträge und Datums/Zeiteinträge"
-
-#: usage.rst:913
-msgid ".. _Menu-Help-About:"
-msgstr ".. _Menu-Help-About:"
-
-#: usage.rst:915
-msgid ""
-"About...:\n"
-"  License, Contributors, Authors of Tryton"
-msgstr ""
-"Über...:\n"
-"  Lizenz, Mitwirkende, Autoren von Tryton"
-
-#: usage.rst:919
-msgid ""
-"Appendix\n"
-"********"
-msgstr ""
-"Anhang\n"
-"******"
-
-#: usage.rst:923
-msgid ""
-"Configuration File\n"
-"^^^^^^^^^^^^^^^^^^"
-msgstr ""
-"Konfigurations-Dateien\n"
-"^^^^^^^^^^^^^^^^^^^^^^"
-
-#: usage.rst:926
-msgctxt "usage.rst:926"
-msgid "::"
-msgstr "::"
-
-#: usage.rst:928
-msgid ""
-"   ~/.config/tryton/x.y/tryton.conf      # General configuration\n"
-"   ~/.config/tryton/x.y/accel.map        # Accelerators configuration\n"
-"   ~/.config/tryton/x.y/known_hosts      # Fingerprints\n"
-"   ~/.config/tryton/x.y/ca_certs         # Certification Authority (http://docs.python.org/library/ssl.html#ssl-certificates)"
-msgstr ""
-"   ~/.config/tryton/x.y/tryton.conf      # Generelle Konfiguration\n"
-"   ~/.config/tryton/x.y/accel.map        # Konfiguration der Schnelltasten\n"
-"   ~/.config/tryton/x.y/known_hosts      # Fingerprints\n"
-"   ~/.config/tryton/x.y/ca_certs         # Certification Authority (http://docs.python.org/library/ssl.html#ssl-certificates)"
-
diff --git a/doc/de_DE/usage.rst b/doc/de_DE/usage.rst
deleted file mode 100644
index 735efd4..0000000
--- a/doc/de_DE/usage.rst
+++ /dev/null
@@ -1,942 +0,0 @@
-
-:tocdepth: 2
-
-Client Bedienung
-################
-Dieses Dokument stellt die Konzepte der grafischen Benutzeroberfläche
-(*Tryton Client*) für die Tryton Anwendungs-Plattform dar.
-
-
-Name
-****
-tryton - grafische Benutzeroberfläche der Tryton Anwendungs-Plattform
-
-
-Kurzfassung
-***********
-
-::
-
-  tryton [Optionen]
-
-Nach dem Start öffnet sich der `Anmeldedialog`__ und optional
-ein `Tippdialog`__.
-
-__ Menu-File-Connect_
-__ Menu-Help-Tips_
-
-
-Optionen
-********
-
---version                            Zeigt die Programm-Version und beendet sich
-
--h, --help                           Zeigt die Hilfe an und beendet sich
-
--c FILE, --config=FILE               Angabe einer alternativen `Konfigurations-Datei`__
-
--v, --verbose                        Einschalten einer einfachen Fehleranzeige
-
--d LOG_LOGGER, --log=LOG_LOGGER      Angabe des zu protokollierenden Kanals (z. B.: rpc.request, rpc.result, ...)
-
--l LOG_LEVEL, --log-level=LOG_LEVEL  Angebe der Protokollebene: INFO,
-                                     DEBUG, WARNING, ERROR, CRITICAL
-
--u LOGIN, --user=LOGIN               Angabe des Benutzers zur Anmeldung
-
--p PORT, --port=PORT                 Angabe des Server-Ports
-
--s SERVER, --server=SERVER           Angabe des Server-Hostnamens
- 
-__ Konfigurations-Dateien_
-
-
-Übersicht
-*********
-Die folgende schematische Darstellung des Tryton Clients zeigt die Namen
-aller wichtigen Elemente der Benutzeroberfläche.
-
-Abbildung: Tryton Client Anwendung::
-
-  Client Fenster    _______________________________________________________
-                   |                      Tryton                      _ o x|
-                   |-------------------------------------------------------|
-  Menüleiste       | Datei Benutzer Formular Einstellungen ... Hilfe       |
-                   |_______________________________________________________|
-                   |                                                       |
-  Werkzeugleiste   | Neu Speichern | Löschen | Suchen Vor Zurück v         |
-                   |-------------------------------------------------------|
-                   |          ______                                       |
-  Tableiste        | [Menü]  |[Tab1]| [Tab2] ...                           |
-                   |---------|      | -------------------------------------|
-                   | .-------        ------------------------------------. |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-  Sicht            | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |                                                   | |
-                   | |___________________________________________________| |
-                   |_______________________________________________________|
-  Statusleiste     | Benutzername Firma   Wartende Anfragen...   login at ... |
-                   |_______________________________________________________|
-
-
-Menüleiste
-^^^^^^^^^^^
-Die Menüleiste ist das Hauptkontrollfeld. Es stellt den Großteil an Funktionalität
-der Client Anwendung zur Verfügung. Die Menü-Leiste ist in Kategorien unterteilt
-und kann mit Maus und Tastatur bedient werden. Die `Menüleisten-Elemente`_ werden
-später erklärt.
-
-
-Maus- und Tastaturbedienung
-+++++++++++++++++++++++++++
-Die meisten Funktionen des Tryton Client können mit Maus oder Tastatur benutzt werden.
-Für alle Menüpunkte sind `Schnelltasten`__ verfügbar. Zusätzlich sind alle Schnelltasten
-manuell konfigurierbar. Um das Kürzel eines Menüpunkts zu ändern muss man den Mauszeiger
-über dem Menüpunkt positionieren und das neue benutzerdefinierte Schnelltaste drücken.
-Um diese Möglichkeit nutzen zu können muss man unter Einstellungen > Menüleiste > Kurzbefehle ändern aktivieren.
-Nach dem Ändern der Tastaturkürzel sollte man nicht vergessen diese Funktion wieder auszuschalten
-um eine versehentliche Änderung von Schnelltasten zu vermeiden während man in den Menüpunkten
-navigiert.
-
-Um das Kürzel eines Menüpunkts zu enfernen muss man den Mauszeiger über dem
-Menüpunkt positionieren und die Enfernen-Taste drücken.
-
-.. Note:: Üblicherweise werden Schnelltasten mit den Modifikationstasten kombiniert.
-
-__ Menu-Help-Keyboard_Shortcuts_
-
-Zusätzlich sind die Menüpunkte erreichbar mit den *Alt*- und *Options*-Tasten.
-Der Benutzer muss die *Alt*- und *Options*-Taste kombiniert mit dem unterstrichenen
-Buchstaben des Menüpunkts drücken. Um in weitere Untermenüs zu navigieren, die *Alt*-
-oder *Options*-Taste loslassen und den unterstrichenen Buchstaben des gewünschten
-Untermenüs drücken. Falls mehrere Menüpunkte mit dem gleichen Schnelltasten existieren,
-diese Schnelltaste nochmals benutzen um zum nächsten Menüpunkt zu springen.
-
-Die zweite Maustaste  (normalerweise die rechte Maustaste) stellt ein zusätzliches
-Kontextmenü für weitere Sichten und Felder zur Verfügung. In diesem Kontextmenü
-findet der Benutzer :term:`Aktionen` um Inhalte zu kopieren oder einzufügen, Vorgabewerte
-zu setzen oder um Auswahlen für verschiedene Felder zu erhalten.
-
-
-Werkzeugleiste
-^^^^^^^^^^^^^^
-Die Werkzeugleiste enthält Symbole für oft benutzte Menüfunktionen.
-Zusätzlich zur Menüleiste beinhaltet die Werkzeugleiste den Knopf
-Dateianhang.
-
-Anhänge
-+++++++
-Das Dateianhang-Element stellt das Dokumenten Management System von Tryton
-bereit. Es ist in der Lage Dateien an jedes beliebige :term:`Modell`
-anzuhängen. Der Knopf zeigt wie viele Anhänge mit der aktuellen Sicht
-verknüpft sind. Beim Mausklick öffnet sich der :term:`Dialog` Anhang.
-Der Standard-Dialog zeigt eine Liste der angehängten Dateien und Verknüpfungen.
-
-Der einzelne Anhang hat folgende Optionen:
-
-* Name Anhang: Der Name des Anhangs.
-* Daten: Die angehängte Datei. Die Dateigröße wird im Textfeld dargestellt.
-* Verknüpfung: Verknüpfung zu einer externen Seite als URL.
-* Vorschau Tab: Zeigt ein Vorschaubild des ausgewählten Anhangs.
-* Beschreibung Tab: Ermöglicht Anzeige und Bearbeitung einer Beschreibung
-  des ausgewählten Anhangs.
-* Aktionen:
-
-  - OK: Schliesst den Dialog und speichert den/die Anhänge.
-
-
-Hauptfenster mit Tabs
-^^^^^^^^^^^^^^^^^^^^^
-Dieser Teil des Tryton Client beinhaltet alle Inhalte und Funktionen
-die durch die :term:`Tryton Server`-:term:`Module` bereitgestellt werden.
-Alles innerhalb des *Hauptfensters* hängt von den individuell
-installierten Modulen ab.
-
-Das Hauptfenster stellt `Tabs`__ bereit um verschiedene
-Sichten nebeneinander anzuordnen. Neue :term:`Tabs` werden durch spezielle
-:term:`Aktionen` wie zum Beispiel das Auswählen eines Menüpunkts oder durch
-klicken von Aktionsknöpfen geöffnet. Alle Tabs haben einen Titel, der den Namen der
-verwendeten Sicht zeigt.
-
-:term:`Tabs` können mit Drag and Drop verschoben werden.
-
-__ TDI_
-
-.. _TDI: http://de.wikipedia.org/wiki/Registerkarte
-
-.. Note:: Innerhalb einer :term:`Sicht` kann es auch Tabs geben.
-
-Hauptmenü
-+++++++++
-Das erste Tab beinhaltet das *Hauptmenü* (... nicht zu
-verwechseln mit der Menüleiste!). Das *Hauptmenü* beinhaltet keine
-festen Menüpunkte. Diese werden dynamisch von den installierten
-:term:`Modulen <Module>` und abhängig von den Zugriffsrechten des aktuellen
-Benutzers bereitgestellt. Sobald ein Menüpunkt gedrückt wird öffnet sich
-durch die hinterlegte Aktion eine neuer Tab. Wie das Schaubild
-zeigt ist das *Hauptmenü* in drei Bereiche unterteilt.
-
-Der obere linke Bereich beinhaltet die obersten bzw. Haupt-Menüpunkte des
-*Hauptmenüs*. Standard Haupt-Menüpunkte sind 'Systemverwaltung' und 'Tryton'.
-
-.. note:: Das *Systemverwaltung*-Menü wird in der Moduldokumentation
-   des 'IR' Moduls ('information repository' - Informations-Ablage)
-   dokumentiert. 
-
-Der Haupt-Menüpunkt 'Tryton' ruft die Webseite des Tryton Projekts auf.
-
-Der rechte Bereich zeigt eine :term:`Baumansicht` der Haupt- und Unter-Punkte
-des gewählten Moduls. Mit den Pfeiltasten kann man sich innerhalb diese Menüs
-bewegen. Durch drücken der "Enter"-Taste oder mit einem Doppelklick öffnet sich
-das dazugehörige Menü. Mit den Pfeiltasten Links und Rechts kann man die
-verschiedenen Ebenen der Baumansicht aus- und einklappen.
-
-Schaubild: Hauptmenü Tab::
-
-       ________________________________________________________
-      |                      Tryton                       _ o x|
-      |--------------------------------------------------------|
-      | Datei Benutzer Formular Einstellungen ... Hilfe        |
-      |________________________________________________________|
-      |                                                        |
-      | Neu Speichern | Löschen | Suchen Vor Zurück v          |
-      |________________________________________________________|
-      |   ______                                               |
-      |  |[Menü]|   [Tab1]   [Tab2] ...                        |
-      |--|      | ---------------------------------------------|
-      |  |       -------------.------------------------------. |
-      |  | Hauptmenü-Punkt 1  | Menü                |        | |
-      |  | Hauptmenü-Punkt 2  |---------------------+--------| |
-      |  | ...                |   Item 1            |        | |
-      |  | Administration     |   Item 2            |        | |
-      |  | Tryton             | > Überschrift       |        | |
-      |  |____________________|     Unterpunkt 1    |        | |
-      |  | Favoriten    [+][-]|     Unterpunkt 2    |        | |
-      |  |--------------------|     > Unterüberschrift       | |
-      |  | Unterpunkt 2       |         weitere     |        | |
-      |  |                    |          Unterpunkte|        | |
-      |  |                    |          ...        |        | |
-      |  |____________________|_____________________|________| |
-      |________________________________________________________|
-      | Benutzername Firma   Wartende Anfragen...    login at ... |
-      |________________________________________________________|
-
-
-Der linke untere Bereich zeigt ein *Favoriten* Menü, welches durch den Benutzer
-selbst angepasst werden kann. Durch einen Doppelklick auf den entsprechenden Eintrag
-wird die dazu passende Sicht aufgerufen. Die aktuelle Sicht wird als Favorit durch
-Klick des Plus-Knopfes [+] dem Menü hinzugefügt. Der Minus-Knopf [-] löscht den
-ausgewählten Favoriten aus dieser Liste.
-
-Startseite
-++++++++++
-Eine weiterer Tab öffnet sich während des Startens des Tryton Client:
-Die Startseite. Für gewöhnlich ist es ein Punkt des `Hauptmenü`__, der
-geöffnet wird sobald der Benutzer die *Startseite* ausführt. Diese Standardaktion
-wird in den `Einstellungen`__ definiert.
-
-__ Menu-Form-Home_
-
-__ Menu-User-Preferences_
-
-
-Statusleiste
-+++++++++++++
-Die *Statusleiste* stellt generelle Informationen über den Status
-des Tryton Client bereit. Sie ist in drei Abschnitte unterteilt.
-
-* Auf der linken Seite befindet sich der Name und der Firmenname des aktuellen Benutzers.
-* In der Mitte der Statusleiste wird die Anzahl der offene Anfragen
-  des aktuellen Benutzers bereitgestellt.
-* Auf der rechten Seite werden Details zur Server Verbindung gezeigt mit Informationen zum
-  Benutzer und zur Datenbank sobald man verbunden ist. Hier wird auch angezeigt falls
-  es keine Verbindung zu einem Tryton Server besteht. Dieser Bereich wird nach folgendem
-  Muster erzeugt::
-
-    <Benutzer-Name>@<Tryton-Server-Adresse>:<Port>/<Datenbank-Name>
-
-  Sobald der Client mit einer SSL-verschlüsselten Verbindung zum Server verbunden
-  hat erscheint ein zusätzliches Vorhängeschloss-Symbol mit weiteren Zertifikats-
-  Details sobald sich der Mauszeiger auf diesem Symbol befindet.
-
-Die Statusleiste kann aus- und eingeschalten werden über
-die Menüleiste Einstellungen > Formular > Statusleiste
-
-
-Menüleisten-Elemente
-********************
-Das folgende Kapitel beschreibt die Funktionen jedes Menüleisten-Eintrags
-im Detail. Als Faustregel gilt: Jeder Menüpunkt, welcher mit drei Punkten
-endet [...] öffnet direkt den :term:`Dialog` der zugewiesenen Menüaktion.
-Die meisten Dialoge stellen einen *Abbrechen* Knopf bereit um den kompletten
-Vorgang abzubrechen.
-
-
-Datei
-^^^^^
-Das *Datei* Menü stellt Funktionen des Tryton Servers wie
-Anmelden, Datenbankpflege und zum schließen der Client Anwendung.
-
-.. _Menu-File-Connect:
-
-Verbinden...
-  Bei Auswahl dieses Menüeintrags verbindet sich der Client zu einem
-  verfügbaren Tryton Server. Ein :term:`Dialog` öffnet sich zur Eingabe
-  des Benutzernamens und Passwortes.
-
-  * `Serververbindung`__
-  * Datenbank: Datenbank auf Serverseite, zu der die Verbindung aufgebaut werden soll
-  * Benutzername: Tryton Benutzername um sich anzumelden
-  * Passwort: Tryton Passwort um sich anzumelden
-  * Aktionen:
-
-    - Verbinden: Verbindet zum Server mit Hilfe der eingegebenen Daten
-    - Abbrechen: Bricht den Dialog ab
-
-.. note:: Abhängig von den Servereinstellungen wird der Benutzer nach einer
-   gewissen Zeitspanne von der aktuellen Verbindung abgemeldet und muss sich
-   wieder anmelden. Die voreingestellte Zeitspanne des automatischen Abmeldens
-   beträgt 6 Minuten.
-
-__ File-Server-Connection_
-
-
-.. _Menu-File-Disconnect:
-
-Verbindung trennen...
-  Trennt den Client von einer aktiven Server Verbindung. Falls nicht gespeicherte
-  Änderungen in einem offenen Tab existieren, fordert der Tryton Client zum
-  Speichern der Änderungen auf.
-
-Datenbank
-+++++++++
-Dieses Untermenü stellt Werkzeuge zur Wartung der Tryton Datenbank bereit.
-Für alle Datenbankoperationen benötigt der Benutzer das Tryton Server-Passwort.
-
-.. warning:: Falls Sicherheitsbedenken bestehen sollten Sie diese serverbasierten
-             Werkzeuge nicht nutzen. Da es in einer Mehrbenutzer-Umgebung immer
-             Sicherheitsbedenken gibt, ist es besser diese Funktionen auf
-             Datenbank-Ebene zu verbieten.
-
-.. note:: Datenbank-Namen sind durch folgende Regeln eingeschränkt:
-
-          * Erlaubte Zeichen sind alpha-numerisch [A-Za-z0-9] und
-            das Zeichen - Unterstrich [_].
-          * Das erste Zeichen muss ein alphabetischer Buchstabe sein.
-          * Die maximale Länge eines Datenbank-Namens beträgt 64 Zeichen.
-
-          Tryton überprüft automatisch ob der angegebene Namen diesen
-          Regeln entspricht.
-
-.. _Menu-File-New_Database:
-
-Neue Datenbank
-  Öffnet einen :term:`Dialog` um eine neue Tryton Datenbank mit einem ersten
-  Benutzer "admin" zu erstellen.
-
-  * Tryton Server Einstellungen:
-
-    - `Serververbindung`__
-    - Tryton Server Passwort: Das in der Tryton Server-Konfiguration
-      hinterlegte Server Passwort.
-
-  * Datenbank Einstellungen:
-
-    - Name: Der Name der neuen Datenbank
-    - Standard Sprache: Die standard Sprache der neuen Datenbank
-    - Administrator Passwort: Das *admin*-Benutzer Passwort der neuen Datenbank
-    - Passwort Wiederholung: Erneute Passwort-Eingabe des neuen 'admin'-Benutzers
-
-  * Aktionen:
-
-    - Erstellen: Erstellt die neue Datenbank mit dem ersten Benutzer *admin*
-      und dem angegebenen Passwort
-    - Abbrechen: Bricht den Dialog ab ohne zu speichern.
-
-__ File-Server-Connection_
-
-.. note:: Der entsprechende Tryton Datenbankbenutzer (definiert in der Tryton
-   Server Konfiguration) muss autorisiert werden um die Datenbank zu erstellen.
-
-.. _Menu-File-Restore_Database:
-
-Datenbank wiederherstellen
-  Öffnet einen :term:`Dialog` um eine vorher erstelltes Datenbankbackup
-  aus einer Datei wiederherzustellen.
-
-  * *Backup Datei für Wiederherstellung öffnen...* Dialog
-
-    - Aus dem Dateisystem eine Datenbankbackup-Datei auswählen
-    - Aktionen:
-
-      + Öffnen: Öffnet die ausgewählte Backup-Datei
-      + Abbrechen: Bricht den Vorgang ab.
-
-  * *Datenbank wiederherstellen* Dialog:
-
-    - `Serververbindung`__
-    - Tryton Server Passwort: Das in der Tryton Server-Konfiguration
-      hinterlegte Server Passwort.
-    - File to Restore: Show filename and path.
-    - New Database Name: Enter a new name for the database to be restored
-    - Actions:
-
-      + Wiederherstellen: Datenbank Wiederherstellung ausführen
-      + Abbrechen: Bricht den Vorgang ab.
-
-__ File-Server-Connection_
-
-.. _Menu-File-Backup_Database:
-
-Datenbank sichern
-  Öffnet einen :term:`Dialog` um eine existierende Datenbank in eine Datei zu sichern.
-
-  * `Datenbank sichern` Dialog
-
-    - `Serververbindung`__
-    - Datenbank: Auswahl der zu sichernden Tryton Datenbank
-    - Tryton Server Passwort: Das in der Tryton Server Konfiguration
-      hinterlegte Server Passwort.
-    - Aktionen:
-
-      + Sichern: Datenbank Sicherung ausführen
-      + Abbrechen: Bricht den Vorgang ab.
-
-  * `Speichern unter...` Dialog
-
-    - Auswahl eines Dateinamens und Ort der erstellten Sicherungs-Datei.
-    - Speichern der Sicherungs-Datei.
-
-__ File-Server-Connection_
-
-.. _Menu-File-Drop_Database:
-
-Datenbank löschen
-  Öffnet einen :term:`Dialog` um eine existierende Tryton Datenbank zu löschen.
-
-  * `Datenbank löschen` dialog
-
-    - `Serververbindung`__
-    - Datenbank: Auswahl der zu löschenden Datenbank
-    - Tryton Server Passwort: Das in der Tryton Server-Konfiguration
-      hinterlegte Server Passwort.
-
-  * Bestätigungs Dialog
-
-    - Ja: Löscht die Datenbank
-    - Nein: Keine Löschung der Datenbank
-    - Abbrechen: Bricht den Vorgang ab.
-
-__ File-Server-Connection_
-
-.. _File-Server-Connection:
-
-*Serververbindung* Dialog:
-  Dieser :term:`Dialog` wird häufig benutzt um die Tryton Serververbindung
-  einzustellen. Dieser Dialog zeigt den aktuellen Status der Client/Server
-  Kommunikation. Es zeigt zusätzlich an wenn keine Verbindung zum Tryton
-  Server besteht. Der *Bearbeiten* Knopf öffnet den Dialog der Verbinungs
-  Details:
-
-  * Server: Netzwerkname oder IP-Adresse des Tryton Servers
-    (Protokollangaben sind nicht unterstützt)
-  * Port: Port auf dem der Tryton Server lauscht.
-
-.. note:: Falls keine Verbindung zum Tryton Server besteht, sind viele Einträge
-   des Menüs und der Werkzeugleiste deaktiviert.
-
-
-Benutzer
-^^^^^^^^
-Dieser Eintrag der Menüleiste stellt die Eigenschaften des aktuellen Benutzers ein
-und stellt die Verbindung mit dem *Anfrage System* von Tryton bereit.
-
-.. _Menu-User-Preferences:
-
-Einstellungen ...
-  Ein Einstellungsdialog öffnet sich, in dem der aktuelle Benutzer seine
-  persönlichen Einstellungen anzeigen und ändern kann. Alle Benutzereigenschaften
-  werden serverseitig gespeichert. Beispielsweise werden beim Anmelden an einem
-  anderen Computer diese Einstellungen wiederhergestellt.
-
-  * Name: bürgerlicher Name des Tryton Benutzers.
-  * Passwort: Passwort des Tryton Benutzers.
-  * E-Mail: E-Mail-Adresse des Tryton Benutzers.
-  * Signatur: Signaturblock des Tryton Benutzers.
-  * Menüaktion: Definiert die Aktion, welche als `Hauptmenü`__
-    ausgeführt wird.
-  * Startseite: Definiert die Aktion, welche als
-    `Startseite` ausgeführt wird.
-  * Sprache: Sprache der Benutzeroberfläche.
-  * Zeitzone: Die lokale Zeitzone in der sich der Benutzer befinden.
-  * Gruppenzugehörigkeit: Definiert die Mitgliedschaften um Zugriffe zu regeln.
-
-__ Menu-Form-Home_
-
-.. _Menu-user-send-a-request:
-
-Anfrage senden
-  Öffnet einen Tab als :term:`Formularansicht` der dem Benutzer
-  erlaubt anderen Benutzern der gleichen Datenbank Anfragen zu senden.
-
-.. _Menu-user-read-my-request:
-
-Meine Anfragen lesen:
-  Öffnet ein Tab als :term:`Baumansicht` der dem aktuellen Benutzer
-  alle zugehörigen Anfragen zeigt. Anfragen haben folgende Felder und Aktionen:
-
-  * Oben
-
-    - Von: Benutzername des Senders
-    - An: Benutzername des Empfängers
-    - Verweise: Anzahl der angehängten Verweise
-    - Betreff: Der Betreff der Anfrage
-    - Dringlichkeit: Eine Priorisierung der Anfrage
-
-      + Hoch
-      + Niedrig
-      + Normal
-
-  * *Anfrage* Tab
-
-    - Anfrage: Der Textteil der Anfrage
-    - Bisherige Anfragen: Die Historie der letzten Antworten zu dieser Anfrage
-
-      + Von: Sender der letzten Anfrage
-      + An: Empfänger der letzten Anfrage
-      + Zusammenfassung: Zusammenfassung des Anfrage-Textes der letzten Anfrage
-
-  * Gültig ab: Definiert Zeit und Datum an dem die Anfrage automatisch
-    zugestellt werden soll.
-  * Status: Status der Anfrage. Mögliche Stati der Anfrage sind:
-
-    - Entwurf: Die Anfrage ist im System gespeichert, aber nicht abgeschickt
-    - Wartend: Die Anfrage wurde abgeschickt ohne bisher eine Antwort erhalten zu haben
-    - Schreibt gerade: Die Nachricht ist gerade in Bearbeitung
-    - Geschlossen: Die Nachricht wurde geschlossen/erfüllt/beantwortet
-
-  * Aktionen:
-
-    - Senden: Sendet die aktuelle Nachricht
-    - Antworten: Erwidert oder beantwortet die aktuelle Nachricht
-    - Schließen: Schließt die aktuelle Anfrage
-
-  * *Verweise* Tab
-
-    - Verweise
-
-      + Verweise: Der Verweis Typ
-      + (Ziel): Hängt einen Verweis an die Anfrage an.
-
-.. note:: Wenn man von Anfragen spricht, kann man sie sich vorstellen wie
-   ein Tryton-internes E-Mail System.
-
-
-Formular
-^^^^^^^^
-Das Formular Menü bietet Funktionen zum *aktuellen Formular*, welches gerade
-als Tab geöffnet ist. Manche Menüeinträge funktionieren mit einem Datensatz
-andere mit mehreren :term:`Datensätzen <Datensatz>`. In der :term:`Formularansicht` ist der
-aktuelle Datensatz für diese Operationen ausgewählt. In der :term:`Baumansicht`
-werden alle ausgewählten Datensätze benutzt.
-
-.. _Menu-Form-New:
-
-Neu:
-  Erstellt einen neuen Datensatz.
-
-.. _Menu-Form-Save:
-
-Speichern:
-  Speichert den aktuellen Datensatz
-
-.. _Menu-Form-Duplicate:
-
-Duplizieren:
-  Dupliziert den Inhalt des aktuellen Datensatzes in einen neu erstellen Datensatz.
-
-.. _Menu-Form-Delete:
-
-Löschen:
-  Löscht den ausgewählten oder aktuellen Datensatz.
-
-.. _Menu-Form-Find:
-
-.. _search_widget:
-
-Suchen...:
-  Öffnet einen :term:`Dialog` um :term:`Felder` anhand Suchkriterien und Operatoren
-  zu finden.
-
-  * Suchkriterien: Definiert nach den zu suchenden Kriterien
-  * Allgemeine Such-Operatoren:
-
-    - ist gleich: Sucht nach Ergebnissen, die exakt dem folgenden Ausdruck entsprechen
-    - ist nicht gleich: Sucht nach Ergebnissen, die nicht exakt dem folgenden Ausdruck entsprechen
-
-  * Zusätzliche Such-Operatoren für Nummern, Mengen und Zeichenketten:
-
-    - enthält: Sucht nach Ergebnissen, welche den folgenden Ausdruck enthält
-    - enthält nicht: Sucht nach Ergebnissen, welche den folgenden Ausdruck nicht enthält
-    - beginnt mit: Sucht nach Ergebnissen, welche mit folgendem Audruck beginnen
-    - endet mit: Sucht nach Ergebnissen, welche mit folgendem Ausdruck enden
-
-  * Zusätzliche Such-Operatoren für Nummern und Mengen:
-
-    - ist zwischen: Sucht nach Ergebnissen innerhalb einer Reihe (von - bis)
-    - ist nicht zwischen: Sucht nach Ergebnissen außerhalb einer Reihe (von - bis)
-    - ist nicht: Gleich wie 'ist unterschiedlich', siehe oben
-
-  * Über *Erweiterte Suche* öffnet man weitere Suchmöglichkeiten.
-
-    - Limit: Schränkt die Anzahl der Suchtreffer ein.
-    - Versatz: Überspringt die angegebene Anzahl an Treffern
-      und zeigt nur die darauf Folgenden an.
-
-  * Aktionen:
-
-    - Suchen: Sucht nach Ergebnissen, welche den angegebenen Kriterien entsprechen
-    - Neu: Erstellt einen neuen Datensatz (wird benutzt wenn durch die Suche nichts
-      gefunden wurde und man schnell einen neuen Datensatz anlegen will)
-    - OK: Öffnet den ausgewählten Datensatz
-    - Abbruch: Bricht den Vorgang ab
-
-.. note:: Um nach inaktiven Datensätzen zu suchen muss das *Aktiv* Suchkriterium auf
-        *Nein* gesetzt werden.
-
-.. _Menu-Form-Next:
-
-Nächster:
-  Geht zum nächsten Datensatz in der Liste (Reihenfolge)
-
-.. _Menu-Form-Previous:
-
-Vorheriger:
-  Geht zum vorherigen Datensatz in der Liste (Reihenfolge).
-
-.. _Menu-Form-Switch_View:
-
-Ansicht wechseln:
-  Wechselt die aktuelle Ansicht nach:
-
-  * :term:`Formularansicht`
-  * :term:`Baumansicht`
-  * :term:`Diagrammansicht`
-
-  Nicht alle Sichten stellen alle Möglichkeiten bereit.
-
-.. _Menu-Form-Menu:
-
-Menü:
-  Springt zu oder öffnet den Menü-Tab.
-
-.. _Menu-Form-Home:
-
-Zur Startseite:
-  Öffnet einen neuen `Startseite`__ Tab
-
-__ Menu-User-Preferences_
-
-.. _Menu-Form-Close:
-
-Tab schließen:
-  Schließt den aktuellen Tab. Ein :term:`Dialog` erscheint bei ungespeicherten Änderungen.
-
-.. _Menu-Form-Previous_Tab:
-
-Vorheriger Tab:
-  Zeigt den vorherigen (linken) Tab neben dem aktuellen Tab.
-
-.. _Menu-Form-Next_Tab:
-
-Nächster Tab:
-  Zeigt den nächsten (rechten) Tab neben dem aktuellen Tab.
-
-.. _Menu-Form-View_Logs:
-
-Protokoll ansehen...:
-  Zeigt generische Informationen des aktuellen Datensatzes.
-
-.. _Menu-Form-Go_to_Record_ID:
-
-Gehe zu Datensatz Nr...:
-  Öffnet die angegebene Datensatznummer in der aktuellen Sicht.
-
-.. _Menu-Form-Reload_Undo:
-
-Neu laden/Rückgängig:
-  Lädt den Inhalt des aktuellen Tabs neu. Macht Änderungen rückgängig, falls
-  das Speichern des aktuellen Datensatzes fehlschlägt.
-
-.. _Menu-Form-Actions:
-
-Aktionen...:
-  Zeigt alle Aktionen der aktuellen Sicht, des Modells und Datensatzes.
-
-.. _Menu-Form-Print:
-
-Drucken...:
-  Zeigt alle Druckaktionen der aktuellen Sicht, des Modells und Datensatzes.
-
-.. _Menu-Form-Export_Data:
-
-Daten exportieren...:
-  Export des aktuellen oder der ausgewählten Datensätze als :term:`CSV`-Datei oder
-  öffnet es direkt in Excel.
-
-  * Vordefinierte Exporte
-
-    - Auswahl von vorher abgespeicherten Exporteigenschaften.
-
-  * Alle Felder: Verfügbare Felder des Modells
-  * Zu exportierende Felder: Definition der speziellen, zu exportierenden Felder
-  * Optionen:
-
-    - Speichern: Speichert den Export als CSV Datei.
-    - Öffnen: Öffnet den Export in einem Tabellenkalkulations-Programm.
-
-  * Add field names: Add a header row with field names to the export data.
-  * Aktionen:
-
-    - Hinzufügen: Fügt die ausgewählten Felder zu *Zu exportierende Felder* hinzu
-    - Entfernen: Löscht die ausgewählten Felder von *Zu exportierende Felder*
-    - Leeren: Löscht alle Felder aus *Zu exportierende Felder*
-    - Export speichern: Speichert die Feldzuweisungen in einem *vordefinierten Export*
-    - Export löschen: Löscht einen *vordefinierten Export*
-    - OK: Exportiert die Daten (Aktion hängt von der ausgewählten *Option* ab)
-    - Abbrechen: Bricht den Vorgang ab.
-
-.. _Menu-Form-Import_Data:
-
-Daten importieren...:
-  Import von Daten von einer :term:`CSV`-Datei.
-
-  * Alle Felder: Verfügbare Felder im Modell (Pflichtfelder sind markiert)
-  * Zu importierende Felder: Genaue Reihenfolge aller Spalten der CSV-Datei
-  * Importdatei: Öffnen :term:`Dialog` um die zu importierende CSV-Datei auszuwählen
-  * CSV Parameter: Einstellungen der ausgewählten CSV-Datei
-
-    - Feldtrennzeichen: Zeichen, welches die einzelnen Spalten
-      der CSV-Datei von einander trennt.
-    - Texttrennzeichen: Zeichen, welches Textfelder der CSV-Datei einrahmt
-    - Kodierung: :term:'Zeichenkodierung' einer CSV-Datei.
-    - Zu überspringende Zeilen: Anzahl zu überspringenden Zeilen wie zum
-      Beispiel einer Überschrift oder anderen Zeilen.
-
-  * Aktionen:
-
-    - Hinzufügen: Fügt die ausgewählten Felder zu *Zu importierende Felder* hinzu
-    - Entfernen: Löscht die ausgewählten Felder von *Zu importierende Felder*
-    - Leeren: Löscht alle Felder aus *Zu importierende Felder*
-    - OK: Importiert die Daten
-    - Abbrechen: Bricht den Vorgang ab.
-
-
-Einstellungen
-^^^^^^^^^^^^^
-Das Einstellungs-Menü konfiguriert viele grafische und kontextabhängige Eigenschaften.
-
-
-Werkzeugleiste
-++++++++++++++
-
-.. _Menu-Options-Toolbar-Default:
-
-Standard:
-  Zeigt Bezeichnung und Symbole wie in der systemweiten GTK-Konfiguration eingestellt.
-
-.. _Menu-Options-Toolbar-Text_and_Icons:
-
-Text und Symbole:
-  Zeigt Bezeichnungen und Symbole in der Werkzeugleiste an.
-
-.. _Menu-Options-Toolbar-Icons:
-
-Symbole:
-  Zeigt nur Symbole in der Werkzeugleiste an.
-
-.. _Menu-Options-Toolbar-Text:
-
-Text:
-  Zeigt nur Bezeichnungen in der Werkzeugleiste an.
-
-Menüleiste
-++++++++++
-
-.. _Menu-Options-Menubar-Accelerators:
-
-Kurzbefehle ändern:
-  Falls das Kontrollkästchen aktiv ist, können Schnelltasten eingestellt werden. Siehe auch
-  `Maus- und Tastaturbedienung`_
-
-Modus
-+++++
-
-.. _Menu-Options-Mode-Normal:
-
-Normal:
-  Alle Funktionen des Clients werden angezeigt.
-
-.. _Menu-Options-Mode_PDA:
-
-PDA:
-  Der Client wird im abgespeckter Form angezeigt. Der PDA (Persönlicher Daten Assistent) Modus
-  blendet das Favoriten Menü in der Baumansicht und die Statusleiste aus.
-
-Formular
-++++++++
-
-.. _Menu-Options-Form-Toolbar:
-
-Werkzeugleiste:
-  Kontrollkästchen um die Werkzeugleiste ein- und auszuschalten.
-
-.. _Menu-Options-Form-Statusbar:
-
-Statusleiste:
-    Kontrollkästchen um die Statusleiste ein- und auszuschalten.
-
-.. _Menu-Options-Form-Save_Columns_Width:
-
-Breite/Höhe speichern:
-  Kontrollkästchen zum speichern der manuell geänderte Breite von
-  Spalten in Listen und Bäumen. Zusätzlich werden die manuell angepassten
-  Breiten und Höhen der Dialog- und Popup-Fenster gespeichert.
-
-.. _Menu-Options-Form-Spell_Checking:
-
-Rechtschreibkorrektur:
-  Kontrollkästchen um die Rechtschreibkorrektur in Feldern einzuschalten.
-
-.. _Menu-Options-Form-Tabs_Position:
-
-Position der Tabs:
-  Stellt die Position der :term:`Tabs` innerhalb von :term:`Sichten <Sicht>` ein:
-
-  * Oben
-  * Links
-  * Rechts
-  * Unten
-
-.. _Menu-Options-File_Actions:
-
-Dateiaktionen...
-  Öffnet einen Dialog um zu den Dateitypen die entsprechende Druck und Öffnen-Aktion auszuwählen.
-  Der Dokumentenname wird mit ``"%s"`` als Platzhalter angegeben.
-
-  * Unterstützte Dateitypen:
-
-    - ODT Datei: Open Office Writer Dokument
-    - PDF Datei: Adobes(TM) Portable Document Format
-    - PNG Datei: Portable Network Graphics Format
-    - TXT Datei: Reine Text-Datei
-
-  * Unterstützte Aktionen
-
-    - Öffnen: Das aufzurufende Programm und Parameter welche die angegebene Datei öffnet
-    - Drucken: Das aufzurufende Programm und Parameter welches die angegebene Datei druckt
-
-.. _Menu-Options-Email:
-
-E-Mail...:
-  Öffnet einen Dialog um das E-Mail-Programm einzustellen.
-
-  * Kommandozeile: Die Kommandozeile um das E-Mail-Programm aufzurufen
-  * Platzhalter:
-
-    - ``${to}``: Die Empfänger E-Mail-Adressen
-    - ``${cc}``: Die Empfänger E-Mail-Adressen, die eine Kopie der E-Mail erhalten sollen.
-    - ``${subject}``: Der Betreff der E-Mail
-    - ``${body}``: Der Textteil der E-Mail
-    - ``${attachment}``: Der Anhang der E-Mail
-
-  * Beispiele:
-
-    - Thunderbird 2 unter Linux:
-      ``thunderbird -compose "to='${to}',cc='${cc}',subject='${subject}',body='${body}',attachment='file://${attachment}'"``
-
-    - Thunderbird 2 auf Windows XP SP3:
-      ``"C:\\Programme\\Mozilla Thunderbird\\thunderbird.exe" -compose to="${to}",cc="${cc}",subject="${subject}",body="${body}",attachment="${attachment}"``
-
-.. note:: Der Pfad von *Programme* unterscheidet sich womöglich erheblich abhängig der Sprache ihrer Windows Version.
-
-.. _Menu-Options-Save_Options:
-
-Einstellungen speichern:
-  Speichert alle Einstellungen.
-
-
-Plugins
-^^^^^^^
-Plugins sind clientseitige Erweiterungen für Tryton. Es gibt ein paar Plugins,
-die Tryton im Standard mitbringt.
-
-Ein Plugin ausführen
-++++++++++++++++++++
-Aktuelle Sicht übersetzen:
-  Erstellt eine Übersetzungstabelle der aktuellen Sicht.
-
-Workflow drucken:
-  Erstellt ein Schaubild, welches den Workflow der aktuellen Sicht zeigt.
-
-Erweiterten Workflow drucken:
-  Wie `Workflow drucken`, allerdings mit zusätzlichen Unter-Workflows welche
-  von der aktuellen Sicht abhängig sind.
-
-
-Favoriten
-^^^^^^^^^
-Eine Sammlung von benutzerdefinierten Favoriten für spezielle Resourcen.
-
-
-Hilfe
-^^^^^
-
-.. _Menu-Help-Tips:
-
-Tipps...:
-  Öffnet den Tipp Dialog.
-
-  * Tipps beim Start von Tryton anzeigen: Der Tipps Dialog wird beim Start
-    des Tryton Clients angezeigt
-  * Vorheriger: Zeigt den letzten Tipp
-  * Nächster: Zeigt den nächsten Tipp
-
-.. _Menu-Help-Keyboard_Shortcuts:
-
-Schnelltasten...:
-  Zeigt einen Informations-Dialog über die vordefinierten Schnelltasten an.
-
-  * Widgets zur Bearbeitung: Zeigt Schnelltasten für Texteinträge, verknüpfte
-    Einträge und Datums/Zeiteinträge
-
-.. _Menu-Help-About:
-
-Über...:
-  Lizenz, Mitwirkende, Autoren von Tryton
-
-
-Anhang
-******
-
-
-Konfigurations-Dateien
-^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
-   ~/.config/tryton/x.y/tryton.conf      # Generelle Konfiguration
-   ~/.config/tryton/x.y/accel.map        # Konfiguration der Schnelltasten
-   ~/.config/tryton/x.y/known_hosts      # Fingerprints
-   ~/.config/tryton/x.y/ca_certs         # Certification Authority (http://docs.python.org/library/ssl.html#ssl-certificates)
-
diff --git a/doc/glossary.pot b/doc/glossary.pot
deleted file mode 100644
index a2d7d82..0000000
--- a/doc/glossary.pot
+++ /dev/null
@@ -1,302 +0,0 @@
-#. extracted from glossary.rst
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 19:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-
-#: glossary.rst:1
-msgid ""
-"Glossary\n"
-"########"
-msgstr ""
-
-#: glossary.rst:4
-msgid ""
-".. glossary::\n"
-"   :sorted:"
-msgstr ""
-
-#: glossary.rst:7
-msgid ""
-"   Actions\n"
-"      An *action* is a function which is triggered by a user intervention.\n"
-"      *Actions* are called from activating menu items or pushing buttons.\n"
-"      Actions often provide :term:`wizards`."
-msgstr ""
-
-#: glossary.rst:12
-msgid ""
-"   Board\n"
-"      The *board* is a type of :term:`views` able to handle other views. "
-"This\n"
-"      view type is not documented or not used for now."
-msgstr ""
-
-#: glossary.rst:16
-msgid ""
-"   Character Encoding\n"
-"      See [WP-ENCOD]_"
-msgstr ""
-
-#: glossary.rst:19
-msgid ""
-"   CSV\n"
-"      File format for Comma Separated Values. See [WP-CSV]_"
-msgstr ""
-
-#: glossary.rst:22
-msgid ""
-"   Data\n"
-"      *Data* means information content produced by users."
-msgstr ""
-
-#: glossary.rst:26
-msgid ""
-"   Dialog\n"
-"      A *dialog* is a :term:`popup` window, which overlays other windows and\n"
-"      request user interaction. *Dialogs* are used to set up special\n"
-"      :term:`actions`."
-msgstr ""
-
-#: glossary.rst:31
-msgid ""
-"   Fields\n"
-"      *Fields* are attributes of a *data object*. *Fields* are\n"
-"      represented as table fields in relational databases."
-msgstr ""
-
-#: glossary.rst:35
-msgid ""
-"   Form View\n"
-"      The *form* is a mode of :term:`views`, which displays single\n"
-"      :term:`records` of data."
-msgstr ""
-
-#: glossary.rst:39
-msgid ""
-"   Form\n"
-"      The *form* is the general type of :term:`views` used in Tryton. The\n"
-"      *form* provides several modes for presenting :term:`data`:"
-msgstr ""
-
-#: glossary.rst:43
-msgid ""
-"      * :term:`Form View`\n"
-"      * :term:`Tree View`\n"
-"      * :term:`Graph View`"
-msgstr ""
-
-#: glossary.rst:47
-msgid ""
-"   Graph View\n"
-"      *Graph view* is a mode of :term:`views` to show sets of data in a\n"
-"      diagram. *Graph views* can be pie-charts or bar-charts."
-msgstr ""
-
-#: glossary.rst:51
-msgid ""
-"   Main Frame\n"
-"      The *main frame* is a huge part arranged in the center of the\n"
-"      :term:`Tryton client`. *Using the Tryton client* means mainly using "
-"the\n"
-"      *main frame* part. It contains :term:`tabs` to organize and to show\n"
-"      different :term:`views`."
-msgstr ""
-
-#: glossary.rst:57
-msgid ""
-"   Model\n"
-"      A *model* describes how data is represented and accessed. Models\n"
-"      formally define records and relationships for a certain domain\n"
-"      of interest."
-msgstr ""
-
-#: glossary.rst:62
-msgid ""
-"   Modules\n"
-"      *Modules* are enclosed file packages for the :term:`Tryton server`. A\n"
-"      *Module* defines the :term:`Model`, the presentation of the\n"
-"      information (:term:`views`), functions, :term:`actions` and default\n"
-"      presets. Additionally *modules* may provide standardized data like ISO\n"
-"      names for countries. *Modules* in Tryton are build up generically. "
-"That\n"
-"      is, they are constructed as simple as possible to provide the\n"
-"      desired functionality."
-msgstr ""
-
-#: glossary.rst:71
-msgid ""
-"   Plugins\n"
-"      A *plugin* is an add-on module for the :term:`Tryton client`."
-msgstr ""
-
-#: glossary.rst:74
-msgid ""
-"   Popup\n"
-"      A small window which pops up the main window."
-msgstr ""
-
-#: glossary.rst:77
-msgid ""
-"   Records\n"
-"      A *record* is a singular dataset in a :term:`Model`. *Records* are\n"
-"      represented as lines or *records* in a relational database table."
-msgstr ""
-
-#: glossary.rst:81
-msgid ""
-"   Tabs\n"
-"      *Tabs* are :term:`widgets` to arrange different contents side by side.\n"
-"      They are used to switch quickly between different domains of interest.\n"
-"      Tryton uses *tabs* in two layer:"
-msgstr ""
-
-#: glossary.rst:86
-msgid ""
-"      * A tabbed :term:`Main Frame`.\n"
-"      * Tabs inside :term:`Views`."
-msgstr ""
-
-#: glossary.rst:89
-msgid ""
-"      The main frame consists of *tabs* that embed the main menu and all "
-"views\n"
-"      to an appropriate :term:`model`. The other type of *tabs* is used\n"
-"      inside of :term:`views` to split them into visual domains of the same\n"
-"      model. These *tabs* are used for structuring contents of one model to\n"
-"      different sub headings."
-msgstr ""
-
-#: glossary.rst:95
-msgid ""
-"   Three-Tiers\n"
-"      A *three-tiers* application framework like Tryton, is build up of "
-"three\n"
-"      different software components:"
-msgstr ""
-
-#: glossary.rst:99
-msgid ""
-"      1. The storage or data tier.\n"
-"      2. The logic or application tier.\n"
-"      3. The presentation tier."
-msgstr ""
-
-#: glossary.rst:103
-msgid ""
-"      The storage tier in the Tryton framework is provided by the PostgreSQL\n"
-"      database engine. The application logic tier is provided by\n"
-"      :term:`Tryton server` and its :term:`modules`. The presentation tier "
-"is\n"
-"      mainly provided by the :term:`Tryton client`. In a *three tiers*\n"
-"      framework, the presentation tier (client) never connects directly to "
-"the\n"
-"      storage tier. All communication is controlled by the application tier."
-msgstr ""
-
-#: glossary.rst:110
-msgid ""
-"   Tree View\n"
-"      *Tree view* is a mode of :term:`views` showing sets of :term:`data`.\n"
-"      *Tree views* can be flat lists or tables as well as tree-like nested\n"
-"      lists."
-msgstr ""
-
-#: glossary.rst:115
-msgid ""
-"   Tryton Server\n"
-"      The *Tryton server* is the application or logic tier in the\n"
-"      :term:`three-tiers` application platform *Tryton*. The *Tryton server*\n"
-"      connects the underlying application logic of the different\n"
-"      :term:`modules` with corresponding database records. The\n"
-"      *Tryton server* provides different interfaces to present the\n"
-"      generated information:"
-msgstr ""
-
-#: glossary.rst:123
-msgid ""
-"      * :term:`Tryton client`: (graphical user interface GUI)\n"
-"      * XMLRPC see [WP-XMLRPC]_\n"
-"      * WebDAV see [WP-WebDAV]_\n"
-"      * OpenOffice"
-msgstr ""
-
-#: glossary.rst:128
-msgid ""
-"   Tryton Client\n"
-"      The *Tryton client* application is the graphical user interface (GUI)\n"
-"      of the :term:`Tryton server`."
-msgstr ""
-
-#: glossary.rst:132
-msgid ""
-"   Views\n"
-"      A *view* is the visual presentation of :term:`data`.\n"
-"      *Views* resides inside :term:`tabs` in the :term:`main frame` of the\n"
-"      :term:`Tryton client`. There are two general types of *views* in "
-"Tryton:"
-msgstr ""
-
-#: glossary.rst:137
-msgid ""
-"      1. :term:`Form`\n"
-"      2. :term:`Board`"
-msgstr ""
-
-#: glossary.rst:140
-msgid ""
-"      Each of the view types has different modes to show data. *Views*\n"
-"      are built of several :term:`widgets` and provide often additional\n"
-"      :term:`actions`. It is also possible to present the same data in\n"
-"      different view modes alternately."
-msgstr ""
-
-#: glossary.rst:145
-msgid ""
-"   Widgets\n"
-"      A *Widget* is a visual element of a graphical user interface (GUI). "
-"Some\n"
-"      *Widgets* solely show informations, others allow manipulation from "
-"user\n"
-"      side. Example *Widgets* are buttons, check-boxes, entry-boxes, "
-"selection\n"
-"      lists, tables, lists, trees, ..."
-msgstr ""
-
-#: glossary.rst:151
-msgid ""
-"   Wizards\n"
-"      *Wizards* define stateful sequences of interaction to proceed\n"
-"      complex :term:`actions`. A *wizard* divides the complexity of some "
-"actions\n"
-"      into several user guided steps."
-msgstr ""
-
-#: glossary.rst:156
-msgid ""
-"References\n"
-"**********"
-msgstr ""
-
-#: glossary.rst:159
-msgid ".. [WP-XMLRPC] http://en.wikipedia.org/wiki/Xmlrpc"
-msgstr ""
-
-#: glossary.rst:161
-msgid ".. [WP-WebDAV] http://en.wikipedia.org/wiki/Webdav"
-msgstr ""
-
-#: glossary.rst:163
-msgid ""
-".. [WP-CSV] http://en.wikipedia.org/wiki/Comma-separated_values\n"
-".. [WP-ENCOD] http://en.wikipedia.org/wiki/Character_encoding"
-msgstr ""
diff --git a/doc/index.pot b/doc/index.pot
deleted file mode 100644
index 68f98a3..0000000
--- a/doc/index.pot
+++ /dev/null
@@ -1,51 +0,0 @@
-#. extracted from index.rst
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 19:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-
-#: index.rst:1
-msgid ""
-".. Tryton documentation master file. You can adapt this file\n"
-"   completely to your liking, but it should at least contain the root\n"
-"   `toctree` directive."
-msgstr ""
-
-#: index.rst:5
-msgid ""
-"Tryton Client\n"
-"#############"
-msgstr ""
-
-#: index.rst:8
-msgid "Contents:"
-msgstr ""
-
-#: index.rst:10
-msgid ""
-".. toctree::\n"
-"   :maxdepth: 2"
-msgstr ""
-
-#: index.rst:13
-msgid ""
-"   introduction\n"
-"   installation"
-msgstr ""
-
-#: index.rst:16
-msgid "   usage"
-msgstr ""
-
-#: index.rst:18
-msgid "   glossary"
-msgstr ""
diff --git a/doc/installation.pot b/doc/installation.pot
deleted file mode 100644
index ea479cd..0000000
--- a/doc/installation.pot
+++ /dev/null
@@ -1,79 +0,0 @@
-#. extracted from installation.rst
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 19:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-
-#: installation.rst:1
-msgid ""
-"Installing tryton\n"
-"================="
-msgstr ""
-
-#: installation.rst:4
-msgid ""
-"Prerequisites\n"
-"-------------"
-msgstr ""
-
-#: installation.rst:7
-msgid ""
-" * Python 2.4 or later (http://www.python.org/)\n"
-" * pygtk 2.0 or later (http://www.pygtk.org/)\n"
-" * librsvg (http://librsvg.sourceforge.net/)\n"
-" * python-dateutil (http://labix.org/python-dateutil)\n"
-" * simplejson (http://undefined.org/python/#simplejson)\n"
-" * Optional: pytz (http://pytz.sourceforge.net/)"
-msgstr ""
-
-#: installation.rst:14
-msgid ""
-"Installation\n"
-"------------"
-msgstr ""
-
-#: installation.rst:17
-msgid ""
-"Once you've downloaded and unpacked a tryton source release, enter the\n"
-"directory where the archive was unpacked, and run:"
-msgstr ""
-
-#: installation.rst:20
-msgid "    ``python setup.py install``"
-msgstr ""
-
-#: installation.rst:22
-msgid ""
-"Note that you may need administrator/root privileges for this step, as\n"
-"this command will by default attempt to install tryton to the Python\n"
-"site-packages directory on your system."
-msgstr ""
-
-#: installation.rst:26
-msgid ""
-"For advanced options, please refer to the easy_install__ and/or the\n"
-"distutils__ documentation:"
-msgstr ""
-
-#: installation.rst:29
-msgid "__ http://peak.telecommunity.com/DevCenter/EasyInstall"
-msgstr ""
-
-#: installation.rst:31
-msgid "__ http://docs.python.org/inst/inst.html"
-msgstr ""
-
-#: installation.rst:33
-msgid ""
-"To use without installation, run ``bin/tryton`` from where the archive was\n"
-"unpacked."
-msgstr ""
diff --git a/doc/introduction.pot b/doc/introduction.pot
deleted file mode 100644
index 1e61eb5..0000000
--- a/doc/introduction.pot
+++ /dev/null
@@ -1,32 +0,0 @@
-#. extracted from introduction.rst
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 19:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-
-#: introduction.rst:1
-msgid ""
-"Introduction\n"
-"############"
-msgstr ""
-
-#: introduction.rst:4
-msgid ""
-"Tryton is a Graphical User Interface to the Tryton Framework\n"
-"based on GTK__ and Python__."
-msgstr ""
-
-#: introduction.rst:7
-msgid ""
-"__ http://www.gtk.org\n"
-"__ http://www.python.org"
-msgstr ""
diff --git a/doc/usage.pot b/doc/usage.pot
deleted file mode 100644
index 4315c68..0000000
--- a/doc/usage.pot
+++ /dev/null
@@ -1,1685 +0,0 @@
-#. extracted from usage.rst
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 19:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 1.5.3\n"
-
-#: usage.rst:2
-msgid ":tocdepth: 2"
-msgstr ""
-
-#: usage.rst:4
-msgid ""
-"Client Usage\n"
-"############\n"
-"This document is the reference about the concepts of the graphical user\n"
-"interface (also known as *Tryton client* ) of the Tryton application "
-"framework."
-msgstr ""
-
-#: usage.rst:10
-msgid ""
-"Name\n"
-"****\n"
-"tryton - Graphical user client of the Tryton application framework"
-msgstr ""
-
-#: usage.rst:15
-msgid ""
-"Synopsis\n"
-"********"
-msgstr ""
-
-#: usage.rst:18
-msgctxt "usage.rst:18"
-msgid "::"
-msgstr ""
-
-#: usage.rst:20
-msgid "  tryton [options]"
-msgstr ""
-
-#: usage.rst:22
-msgid ""
-"After startup, there raises the `login dialog`__ and optionally a\n"
-"`tips dialog`__."
-msgstr ""
-
-#: usage.rst:25
-msgid ""
-"__ Menu-File-Connect_\n"
-"__ Menu-Help-Tips_"
-msgstr ""
-
-#: usage.rst:29
-msgid ""
-"Options\n"
-"*******"
-msgstr ""
-
-#: usage.rst:32
-msgid ""
-"--version                            Show program version number and exit"
-msgstr ""
-
-#: usage.rst:34
-msgid "-h, --help                           Show help message and exit"
-msgstr ""
-
-#: usage.rst:36
-msgid ""
-"-c FILE, --config=FILE               Specify alternate `configuration file`_"
-msgstr ""
-
-#: usage.rst:38
-msgid "-v, --verbose                        Enable basic debugging"
-msgstr ""
-
-#: usage.rst:40
-msgid ""
-"-d LOG_LOGGER, --log=LOG_LOGGER      Specify channels to log (ex: "
-"rpc.request, rpc.result, ...)"
-msgstr ""
-
-#: usage.rst:42
-msgid ""
-"-l LOG_LEVEL, --log-level=LOG_LEVEL  Specify the log level: INFO, DEBUG,\n"
-"                                     WARNING, ERROR, CRITICAL"
-msgstr ""
-
-#: usage.rst:45
-msgid "-u LOGIN, --user=LOGIN               Specify the login user"
-msgstr ""
-
-#: usage.rst:47
-msgid "-p PORT, --port=PORT                 Specify the server port"
-msgstr ""
-
-#: usage.rst:49
-msgid "-s SERVER, --server=SERVER           Specify the server hostname"
-msgstr ""
-
-#: usage.rst:52
-msgid ""
-"Overview\n"
-"********\n"
-"The following schematic illustration of the Tryton client shows the names of\n"
-"all important visual parts."
-msgstr ""
-
-#: usage.rst:57
-msgid "Figure: Tryton client application::"
-msgstr ""
-
-#: usage.rst:59
-msgid ""
-"  Client Window       "
-"_______________________________________________________\n"
-"                     |                      Tryton                      _ o "
-"x|\n"
-"                     "
-"|-------------------------------------------------------|\n"
-"  Menu bar           | File User Form Options Plugins Shortcuts Help "
-"        |\n"
-"                     "
-"|_______________________________________________________|\n"
-"                     | "
-"                                                      |\n"
-"  Tool bar           | New Save | Delete | Find Previous Next Switch    v "
-"   |\n"
-"                     "
-"|-------------------------------------------------------|\n"
-"                     |          ______ "
-"                                      |\n"
-"  Tab bar            | [Menu]  |[Tab1]| [Tab2] ... "
-"                          |\n"
-"                     |---------|      | "
-"-------------------------------------|\n"
-"                     | .-------        ------------------------------------. "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"  View               | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |                                                   | "
-"|\n"
-"                     | |___________________________________________________| "
-"|\n"
-"                     "
-"|_______________________________________________________|\n"
-"  Status bar         |username company      Waiting requests...     "
-"login at ...|\n"
-"                     "
-"|_______________________________________________________|"
-msgstr ""
-
-#: usage.rst:90
-msgid ""
-"Menu Bar\n"
-"^^^^^^^^\n"
-"The menu bar is the main control unit. It provides most of the "
-"functionalities\n"
-"of the client application. The menu bar is grouped into categories. It is\n"
-"controlled with mouse or keyboard. The `menu bar items`_ are explained "
-"later."
-msgstr ""
-
-#: usage.rst:97
-msgid ""
-"Mouse and Keyboard Use\n"
-"++++++++++++++++++++++\n"
-"Most functions of the Tryton client can be accessed with mouse or keyboard.\n"
-"`Key bindings`__ for all menu items are preset. Furthermore all key bindings\n"
-"are manually configurable. To change the binding of a menu item the user "
-"needs\n"
-"to put the cursor onto it and simply press the user defined key combination.\n"
-"For this purpose it is needed to activate the configuration of the key "
-"bindings\n"
-"with Options > Menubar > Change Accelerators. After the configuration it is\n"
-"preferable to disable Change Accelerators, to avoid accidental changes of "
-"key\n"
-"bindings while navigating the Menu bar with the keyboard."
-msgstr ""
-
-#: usage.rst:108
-msgid ""
-"To remove a key binding simply press the delete button while pointing the\n"
-"cursor on the menu item to change."
-msgstr ""
-
-#: usage.rst:111
-msgid ".. Note:: Usually key bindings are composed with modifier keys."
-msgstr ""
-
-#: usage.rst:113
-msgid "__ Menu-Help-Keyboard_Shortcuts_"
-msgstr ""
-
-#: usage.rst:115
-msgid ""
-"Additionally the menu bar items are accessible with the *Alt* or *Option* "
-"key.\n"
-"The user needs to hold the *Alt* or *Option* key followed by the underlined\n"
-"character of the menu bar item to choose. To dive into deeper menu levels,\n"
-"he needs to release the *Alt* or *Option* key and to simply press the\n"
-"underlined letter of the sub menu item. If there exist several menu items "
-"with\n"
-"the same shortcut, repeated activation of the shortcut key will jump to the\n"
-"next one."
-msgstr ""
-
-#: usage.rst:123
-msgid ""
-"The second mouse button (usually right mouse button) provides an additional\n"
-"contextual menu for some views and fields. In this context menu the user "
-"finds\n"
-":term:`actions` to copy and paste contents or setting up default values or\n"
-"selections for several fields."
-msgstr ""
-
-#: usage.rst:129
-msgid ""
-"Tool Bar\n"
-"^^^^^^^^\n"
-"The tool bar contains some often used menu functions mapped to icons.\n"
-"In addition to the menu bar the tool bar contains a button called\n"
-"*Attachment*."
-msgstr ""
-
-#: usage.rst:135
-msgid ""
-"Attachment\n"
-"++++++++++\n"
-"The attachment item handles the document management system of\n"
-"Tryton which is able to attach files to any arbitrary :term:`model`. On "
-"click\n"
-"it opens the attachments :term:`dialog`. The default dialog shows a list "
-"view\n"
-"of the attached files and links. "
-msgstr ""
-
-#: usage.rst:142
-msgid "A single Attachment has the following Options:"
-msgstr ""
-
-#: usage.rst:144
-msgid ""
-"* Attachment Name: The name of the attachment.\n"
-"* Datas: The attached File. The file size is displayed as text.\n"
-"* Link: Link to an external site as URL.\n"
-"* Preview tab: Shows a preview picture of the selected attachment.\n"
-"* Description tab: Shows and and provides editing of a free text description\n"
-"  for the selected attachment.\n"
-"* Actions:"
-msgstr ""
-
-#: usage.rst:152
-msgid "  - OK: Closes the Dialog and saves the attachment(s)."
-msgstr ""
-
-#: usage.rst:155
-msgid ""
-"Tabbed Main Frame\n"
-"^^^^^^^^^^^^^^^^^\n"
-"This part of the client contains all the related contents and\n"
-"functions provided by the :term:`Tryton server` :term:`modules`.\n"
-"All aspects inside the *main frame* depend at least on the individual set\n"
-"of installed modules."
-msgstr ""
-
-#: usage.rst:162
-msgid ""
-"The main frame provides a `tabbed document interface`__ to arrange different\n"
-"views side by side. New :term:`tabs` are opened by special :term:`actions`,\n"
-"like choosing a menu item or clicking some action buttons. All tabs include\n"
-"titles which show the name of the provided view."
-msgstr ""
-
-#: usage.rst:167
-msgid ":term:`Tabs` can be arranged by Drag and Drop."
-msgstr ""
-
-#: usage.rst:169
-msgid "__ TDI_"
-msgstr ""
-
-#: usage.rst:171
-msgid ".. _TDI: http://en.wikipedia.org/wiki/Tabbed_document_interface"
-msgstr ""
-
-#: usage.rst:173
-msgid ".. Note:: Inside :term:`views` there can be tabs, too."
-msgstr ""
-
-#: usage.rst:175
-msgid ""
-"Main Menu\n"
-"+++++++++\n"
-"The first left tab contains the *main menu* (... not to mix up with\n"
-"the menu bar!). The *main menu* does not contain fixed menu items.\n"
-"All of them are dynamically provided by the actual set of the installed\n"
-":term:`modules` depending on the access rules of the current user. If a menu\n"
-"item is clicked, the appropriate action will open in a new tab. As the "
-"figure\n"
-"below illustrates, the *main menu* is split up in three frames."
-msgstr ""
-
-#: usage.rst:184
-msgid ""
-"The upper left frame contains the first or top level entries of the *main\n"
-"menu*. Standard top level entries are 'Administration' and 'Tryton'."
-msgstr ""
-
-#: usage.rst:187
-msgid ""
-".. note:: The *administration* menu will be explained in the modules\n"
-"   documentation for the 'IR' module, the *information repository*."
-msgstr ""
-
-#: usage.rst:190
-msgid ""
-"The top level entry 'Tryton' connects to the website of the Tryton project."
-msgstr ""
-
-#: usage.rst:192
-msgid ""
-"The right frame is showing a :term:`tree view` substructure of menu *items*\n"
-"and *headings*. With the arrow keys it is possible to navigate inside the "
-"menu.\n"
-"By pressing *Enter* or double-clicking onto the menu item the appropriate\n"
-":term:`views` open. Use left and right arrow to expand or contract sub\n"
-"items of a heading."
-msgstr ""
-
-#: usage.rst:198
-msgid "Figure: Main Menu Tab::"
-msgstr ""
-
-#: usage.rst:200
-msgid ""
-"       ________________________________________________________\n"
-"      |                      Tryton                       _ o x|\n"
-"      |--------------------------------------------------------|\n"
-"      | File User Form Options Plugins Shortcuts Help          |\n"
-"      |________________________________________________________|\n"
-"      |                                                        |\n"
-"      | New Save | Delete | Find Previous Next Switch     v    |\n"
-"      |________________________________________________________|\n"
-"      |   ______                                               |\n"
-"      |  |[Menu]|   [Tab1]   [Tab2] ...                        |\n"
-"      |--|      | ---------------------------------------------|\n"
-"      |  |       -------------.------------------------------. |\n"
-"      |  | Top Level Entry 1  | Menu                |        | |\n"
-"      |  | Top Level Entry 2  |---------------------+--------| |\n"
-"      |  | ...                |   Item 1            |        | |\n"
-"      |  | Administration     |   Item 2            |        | |\n"
-"      |  | Tryton             | > Heading           |        | |\n"
-"      |  |____________________|     Sub Item 1      |        | |\n"
-"      |  | Shortcuts    [+][-]|     Sub Item 2      |        | |\n"
-"      |  |--------------------|     > Sub Heading   |        | |\n"
-"      |  | Sub Item 2         |         Sub Sub ... |        | |\n"
-"      |  |                    |                     |        | |\n"
-"      |  |                    |                     |        | |\n"
-"      |  |____________________|_____________________|________| |\n"
-"      |________________________________________________________|\n"
-"      |username company      Waiting requests...     login at ... |\n"
-"      |________________________________________________________|"
-msgstr ""
-
-#: usage.rst:229
-msgid ""
-"The lower left menu frame shows a user adjustable *shortcuts* menu. This "
-"menu\n"
-"is for collecting often used menu items. Using a *shortcut* item will open\n"
-"the appropriate view in a new tab, just with a double mouse click.\n"
-"A menu item is added to the *shortcut* menu by pushing the plus button [+]\n"
-"in the *shortcut* menu. The minus button [-] removes a selected *shortcut*\n"
-"item from the list."
-msgstr ""
-
-#: usage.rst:236
-msgid ""
-"Home Action\n"
-"+++++++++++\n"
-"Another tab opens during the startup of the Tryton client: the home action.\n"
-"It is usually an item of the `Main Menu`_ opening when the user calls his\n"
-"`Home`__ action defined in the `preferences`__."
-msgstr ""
-
-#: usage.rst:242
-msgctxt "usage.rst:242"
-msgid "__ Menu-Form-Home_"
-msgstr ""
-
-#: usage.rst:244
-msgctxt "usage.rst:244"
-msgid "__ Menu-User-Preferences_"
-msgstr ""
-
-#: usage.rst:247
-msgid ""
-"Status bar\n"
-"++++++++++\n"
-"The status bar provides general informations of the state of the\n"
-"Tryton client. It is divided in three parts."
-msgstr ""
-
-#: usage.rst:252
-msgid ""
-"* On its left side the real name and company name of the users actual "
-"company\n"
-"  is shown.\n"
-"* In the center of the status bar the number of waiting requests for the\n"
-"  actual user are displayed.\n"
-"* On its right side are details of the server connection shown including\n"
-"  database and user informations if connected. It is also noted there, if\n"
-"  there is no connection to a Tryton server at all. The right side "
-"information\n"
-"  of the status bar is build with the following pattern::"
-msgstr ""
-
-#: usage.rst:261
-msgid "    <user-name>@<tryton-server-address>:<port>/<database-name>"
-msgstr ""
-
-#: usage.rst:263
-msgid ""
-"  If the client is connected to the server with an SSL-secured connection, "
-"an\n"
-"  additional lock icon appears rightmost some certificate details in a mouse\n"
-"  hover popup."
-msgstr ""
-
-#: usage.rst:267
-msgid ""
-"The Status bar can be enabled and disabled in the menu at\n"
-"Options > Form > Status bar"
-msgstr ""
-
-#: usage.rst:271
-msgid ""
-"Menu Bar Items\n"
-"**************\n"
-"The following section describes the function of each menu bar entry in "
-"detail.\n"
-"A rule of thumb: All items of the menu bar that are suffixed by three dots\n"
-"(...) will open an intermediate :term:`dialog` for setting up the provided\n"
-"menu action. Most dialogs provide a *Cancel* button, used to stop the\n"
-"complete dialog process."
-msgstr ""
-
-#: usage.rst:280
-msgid ""
-"File\n"
-"^^^^\n"
-"The file menu level provides functions about Tryton server login,\n"
-"Database maintenance and closing the client application."
-msgstr ""
-
-#: usage.rst:285
-msgid ".. _Menu-File-Connect:"
-msgstr ""
-
-#: usage.rst:287
-msgid ""
-"Connect...\n"
-"  By choosing this menu entry the client will be connected to an available\n"
-"  Tryton server. A :term:`dialog` opens to request credentials:"
-msgstr ""
-
-#: usage.rst:291
-msgid ""
-"  * `Server`__\n"
-"  * Database: Database to connect server side\n"
-"  * User name: Tryton user name to login\n"
-"  * Password: Tryton password to login\n"
-"  * Actions:"
-msgstr ""
-
-#: usage.rst:297
-msgid ""
-"    - Connect: Connects to the server with the given credentials.\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:300
-msgid ""
-".. note:: Depending on server configuration for session timeout, the actual\n"
-"   user may be logged out of the current session, and need to login again.\n"
-"   Default timeout for inactivity logout is six minutes."
-msgstr ""
-
-#: usage.rst:304
-msgctxt "usage.rst:304"
-msgid "__ File-Server-Connection_"
-msgstr ""
-
-#: usage.rst:307
-msgid ".. _Menu-File-Disconnect:"
-msgstr ""
-
-#: usage.rst:309
-msgid ""
-"Disconnect...\n"
-"  Disconnects the client from an active server connection. In case of "
-"unsaved\n"
-"  changes in an open tab, the Tryton client will request for saving the\n"
-"  changes."
-msgstr ""
-
-#: usage.rst:314
-msgid ""
-"Database\n"
-"++++++++\n"
-"This menu level provides tools to maintain Tryton databases.\n"
-"For all database operations the user needs to know the Tryton server "
-"password."
-msgstr ""
-
-#: usage.rst:319
-msgid ""
-".. warning:: Consider not to use this server-site maintaining functions,\n"
-"             if there are security concerns. Since there are always security\n"
-"             concerns in a multiuser environment, better disclaim to provide\n"
-"             these functions on database level."
-msgstr ""
-
-#: usage.rst:324
-msgid ".. note:: Database names are restricted by some rules:"
-msgstr ""
-
-#: usage.rst:326
-msgid ""
-"          * Allowed characters are alpha-nummeric [A-Za-z0-9] and\n"
-"            underscore (_).\n"
-"          * First character must be an alphabetic letter.\n"
-"          * The maximum length of a database name is 64 characters."
-msgstr ""
-
-#: usage.rst:331
-msgid ""
-"          Tryton automatically checks if the given database name follows\n"
-"          the rules."
-msgstr ""
-
-#: usage.rst:334
-msgid ".. _Menu-File-New_Database:"
-msgstr ""
-
-#: usage.rst:336
-msgid ""
-"New Database\n"
-"  Opens a :term:`dialog` for creating a new Tryton database with an initial\n"
-"  user called *admin*."
-msgstr ""
-
-#: usage.rst:340
-msgid "  * Server Setup:"
-msgstr ""
-
-#: usage.rst:342
-msgid ""
-"    - `Server Connection`__\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration."
-msgstr ""
-
-#: usage.rst:346
-msgid "  * New Database Setup:"
-msgstr ""
-
-#: usage.rst:348
-msgid ""
-"    - Database Name: The name of the new database.\n"
-"    - Default Language: The default language of the new database.\n"
-"    - Admin Password: The *admin*-user password of the new database.\n"
-"    - Confirm Admin Password: Repeat the password of the new 'admin' user."
-msgstr ""
-
-#: usage.rst:353
-msgctxt "usage.rst:353"
-msgid "  * Actions:"
-msgstr ""
-
-#: usage.rst:355
-msgid ""
-"    - Create: Creates the new database with initial user *admin* and the\n"
-"      provided password.\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:359
-msgctxt "usage.rst:359"
-msgid "__ File-Server-Connection_"
-msgstr ""
-
-#: usage.rst:361
-msgid ""
-".. note:: The appropriate Tryton database user (defined in the Tryton server\n"
-"   configuration) needs to be authorized to create databases for this step."
-msgstr ""
-
-#: usage.rst:364
-msgid ".. _Menu-File-Restore_Database:"
-msgstr ""
-
-#: usage.rst:366
-msgid ""
-"Restore Database\n"
-"  Opens a :term:`dialog` to restore a previously created database backup\n"
-"  file."
-msgstr ""
-
-#: usage.rst:370
-msgid "  * File choose menu dialog"
-msgstr ""
-
-#: usage.rst:372
-msgid ""
-"    - Choose a database backup file in the file system to be restored.\n"
-"    - Actions:"
-msgstr ""
-
-#: usage.rst:375
-msgid ""
-"      + Open: Open the chosen backup file.\n"
-"      + Cancel"
-msgstr ""
-
-#: usage.rst:378
-msgid "  * Restore Database dialog:"
-msgstr ""
-
-#: usage.rst:380
-msgid ""
-"    - `Server Connection`__\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration.\n"
-"    - File to Restore: Show filename and path.\n"
-"    - New Database Name: Enter a new name for the database to be restored\n"
-"    - Actions:"
-msgstr ""
-
-#: usage.rst:387
-msgid ""
-"      + Restore: Proceed database restore.\n"
-"      + Cancel"
-msgstr ""
-
-#: usage.rst:390
-msgctxt "usage.rst:390"
-msgid "__ File-Server-Connection_"
-msgstr ""
-
-#: usage.rst:392
-msgid ".. _Menu-File-Backup_Database:"
-msgstr ""
-
-#: usage.rst:394
-msgid ""
-"Backup Database\n"
-"  Open a :term:`dialog` to backup an existing database and save it as a "
-"file."
-msgstr ""
-
-#: usage.rst:397
-msgid "  * `Backup a Database` dialog"
-msgstr ""
-
-#: usage.rst:399
-msgid ""
-"    - `Server connection`__\n"
-"    - Database: Choose the Tryton database to backup.\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration.\n"
-"    - Actions:"
-msgstr ""
-
-#: usage.rst:405
-msgid ""
-"      + Backup: Proceed database backup.\n"
-"      + Cancel"
-msgstr ""
-
-#: usage.rst:408
-msgid "  * `Save Backup File` dialog"
-msgstr ""
-
-#: usage.rst:410
-msgid ""
-"    - Choose a filename and location for the created backup file.\n"
-"    - Save the backup file."
-msgstr ""
-
-#: usage.rst:413
-msgctxt "usage.rst:413"
-msgid "__ File-Server-Connection_"
-msgstr ""
-
-#: usage.rst:415
-msgid ".. _Menu-File-Drop_Database:"
-msgstr ""
-
-#: usage.rst:417
-msgid ""
-"Drop Database\n"
-"  Open a :term:`dialog` to delete an existing Tryton database."
-msgstr ""
-
-#: usage.rst:420
-msgid "  * `Delete a Database` dialog"
-msgstr ""
-
-#: usage.rst:422
-msgid ""
-"    - `Server Connection`__\n"
-"    - Database: Choose a database to delete.\n"
-"    - Tryton Server Password: The password given in the Tryton server\n"
-"      configuration."
-msgstr ""
-
-#: usage.rst:427
-msgid "  * Confirmation Dialog"
-msgstr ""
-
-#: usage.rst:429
-msgid ""
-"    - Yes: Drop the database\n"
-"    - No: Do not drop the database\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:433
-msgctxt "usage.rst:433"
-msgid "__ File-Server-Connection_"
-msgstr ""
-
-#: usage.rst:435
-msgid ".. _File-Server-Connection:"
-msgstr ""
-
-#: usage.rst:437
-msgid ""
-"Server (connection) dialog:\n"
-"  This :term:`dialog` is widely used to setup a Tryton server connection.\n"
-"  This dialog shows the actual state of the client/server communication.\n"
-"  It also shows when there is no connection to a Tryton server at all.\n"
-"  The *Change* button opens a dialog for connection details:"
-msgstr ""
-
-#: usage.rst:443
-msgid ""
-"  * Server: Network address or IP number of the Tryton server (protocols\n"
-"    are not supported)\n"
-"  * Port: Port where the Tryton server listens."
-msgstr ""
-
-#: usage.rst:447
-msgid ""
-".. note:: If there is no connection to a Tryton server, many items in menu "
-"bar\n"
-"   and tool bar are deactivated."
-msgstr ""
-
-#: usage.rst:451
-msgid ""
-"User\n"
-"^^^^\n"
-"This menu bar item controls the preferences of the actual user and connects\n"
-"to the *request system* in Tryton."
-msgstr ""
-
-#: usage.rst:456
-msgid ".. _Menu-User-Preferences:"
-msgstr ""
-
-#: usage.rst:458
-msgid ""
-"Preferences...\n"
-"  A preference dialog opens, where the actual user can show and edit his\n"
-"  personal settings. All user preferences are stored server side.\n"
-"  I.e. logging in with the same credentials from different computers\n"
-"  always restores the same preferences."
-msgstr ""
-
-#: usage.rst:464
-msgid ""
-"  * Name: Real name of the Tryton user.\n"
-"  * Password: Password of the Tryton user.\n"
-"  * Email: Email address of the Tryton user.\n"
-"  * Signature: Signature block for the Tryton user.\n"
-"  * Menu Action: Defines the action which is called as the\n"
-"    `main menu`_.\n"
-"  * Home Action: Defines the action which is called as `home action`__.\n"
-"  * Language: Language of the client interface.\n"
-"  * Timezone: The local timezone where the user/client resides.\n"
-"  * Groups: Displays the users membership to access groups."
-msgstr ""
-
-#: usage.rst:475
-msgctxt "usage.rst:475"
-msgid "__ Menu-Form-Home_"
-msgstr ""
-
-#: usage.rst:477
-msgid ".. _Menu-user-send-a-request:"
-msgstr ""
-
-#: usage.rst:479
-msgid ""
-"Send a Request\n"
-"  Opens a tab in :term:`form view` which enables the user to send\n"
-"  requests to other users of the same database."
-msgstr ""
-
-#: usage.rst:483
-msgid ".. _Menu-user-read-my-request:"
-msgstr ""
-
-#: usage.rst:485
-msgid ""
-"Read my Requests\n"
-"  Opens a tab in :term:`tree view` showing all requests related to the\n"
-"  actual user. Fields and actions of requests:"
-msgstr ""
-
-#: usage.rst:489
-msgid "  * On top"
-msgstr ""
-
-#: usage.rst:491
-msgid ""
-"    - From: User name of the sender\n"
-"    - To: User name of the request recipient\n"
-"    - References: Count of the attached references\n"
-"    - Subject: The subject of the request.\n"
-"    - Priority: An importance priority of the request."
-msgstr ""
-
-#: usage.rst:497
-msgid ""
-"      + High\n"
-"      + Low\n"
-"      + Normal"
-msgstr ""
-
-#: usage.rst:501
-msgid "  * *Request* tab"
-msgstr ""
-
-#: usage.rst:503
-msgid ""
-"    - Body: The textual part of the request.\n"
-"    - History: The history of past replies to this request."
-msgstr ""
-
-#: usage.rst:506
-msgid ""
-"      + From: Sender of the past request\n"
-"      + To: Receiver of the past request\n"
-"      + Summary: Summary of the body text of the past request."
-msgstr ""
-
-#: usage.rst:510
-msgid ""
-"  * Trigger Date: Defines time and date when the request will be sent\n"
-"    automatically.\n"
-"  * State: State of the request. Possible states for the request are:"
-msgstr ""
-
-#: usage.rst:514
-msgid ""
-"    - Draft: The request is saved in the system, but not posted.\n"
-"    - Waiting: The request is sent without receiving a reply message.\n"
-"    - Chatting: The message is replied or in discussion.\n"
-"    - Closed: The message is closed/fulfilled/answered."
-msgstr ""
-
-#: usage.rst:519
-msgctxt "usage.rst:519"
-msgid "  * Actions:"
-msgstr ""
-
-#: usage.rst:521
-msgid ""
-"    - Send: Sends the actual message\n"
-"    - Reply: Replies or answers the actual message\n"
-"    - close: Closes the actual message"
-msgstr ""
-
-#: usage.rst:525
-msgid "  * *References* tab"
-msgstr ""
-
-#: usage.rst:527
-msgid "    - References"
-msgstr ""
-
-#: usage.rst:529
-msgid ""
-"      + Reference: The reference type\n"
-"      + (Target): Defines an reference attached to the request."
-msgstr ""
-
-#: usage.rst:532
-msgid ""
-".. note:: When talking about requests, think of an internal system of\n"
-"   Tryton, which is very similar to email."
-msgstr ""
-
-#: usage.rst:536
-msgid ""
-"Form\n"
-"^^^^\n"
-"The form menu contains functions for the *actual form* in the tab which\n"
-"is open. Some operations are working with one record or with a selection of\n"
-":term:`records`. In :term:`form view` the actual record is selected for\n"
-"operations. In :term:`tree view` all selected records are used for "
-"operations."
-msgstr ""
-
-#: usage.rst:543
-msgid ".. _Menu-Form-New:"
-msgstr ""
-
-#: usage.rst:545
-msgid ""
-"New:\n"
-"  Creates a new record."
-msgstr ""
-
-#: usage.rst:548
-msgid ".. _Menu-Form-Save:"
-msgstr ""
-
-#: usage.rst:550
-msgid ""
-"Save:\n"
-"  Saves the actual record."
-msgstr ""
-
-#: usage.rst:553
-msgid ".. _Menu-Form-Duplicate:"
-msgstr ""
-
-#: usage.rst:555
-msgid ""
-"Duplicate:\n"
-"  Duplicates the content of the actual record in a newly created record."
-msgstr ""
-
-#: usage.rst:558
-msgid ".. _Menu-Form-Delete:"
-msgstr ""
-
-#: usage.rst:560
-msgid ""
-"Delete:\n"
-"  Deletes the selected or actual record."
-msgstr ""
-
-#: usage.rst:563
-msgid ".. _Menu-Form-Find:"
-msgstr ""
-
-#: usage.rst:565
-msgid ".. _search_widget:"
-msgstr ""
-
-#: usage.rst:567
-msgid ""
-"Find...:\n"
-"  Opens a :term:`dialog` for finding :term:`fields` with search criteria and\n"
-"  operators."
-msgstr ""
-
-#: usage.rst:571
-msgid ""
-"  * Search criteria: Defines the aspects to seek for.\n"
-"  * General search operators:"
-msgstr ""
-
-#: usage.rst:574
-msgid ""
-"    - Equals: Search for results which are exactly the same as the following\n"
-"      term.\n"
-"    - Does Not Equal: Search for results which are different from the "
-"following\n"
-"      term."
-msgstr ""
-
-#: usage.rst:579
-msgid "  * Additional search operators on numbers, amounts and strings:"
-msgstr ""
-
-#: usage.rst:581
-msgid ""
-"    - Contains: Search for results which contain the following term.\n"
-"    - Does Not Contain:  Search for results which do not include the\n"
-"      following term.\n"
-"    - Starts With: Search for results beginning with the following term.\n"
-"    - Ends With: Search for results ending with the following term."
-msgstr ""
-
-#: usage.rst:587
-msgid "  * Additional search operators for numbers and amounts:"
-msgstr ""
-
-#: usage.rst:589
-msgid ""
-"    - Is Between: Search for results inside a range (from - to).\n"
-"    - Is Not Between: Search for results outside a range (from - to).\n"
-"    - Is Different: Same as 'Does Not Equal', see above."
-msgstr ""
-
-#: usage.rst:593
-msgid "  * Advanced Search expander opens additional search criteria."
-msgstr ""
-
-#: usage.rst:595
-msgid ""
-"    - Limit: Limits the count of results.\n"
-"    - Offset: Skips a number of results and show only the following."
-msgstr ""
-
-#: usage.rst:598
-msgctxt "usage.rst:598"
-msgid "  * Actions:"
-msgstr ""
-
-#: usage.rst:600
-msgid ""
-"    - Find: Search for results of the given criteria.\n"
-"    - New: Create a new record (used when search was fruitless, to create\n"
-"      quickly a new record).\n"
-"    - Ok: Open the selected results.\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:606
-msgid ""
-".. note:: To search for deactivated records the *Active* search criteria "
-"must be\n"
-"        set to *No*."
-msgstr ""
-
-#: usage.rst:609
-msgid ".. _Menu-Form-Next:"
-msgstr ""
-
-#: usage.rst:611
-msgid ""
-"Next:\n"
-"  Goes to the next record in a list (sequence)."
-msgstr ""
-
-#: usage.rst:614
-msgid ".. _Menu-Form-Previous:"
-msgstr ""
-
-#: usage.rst:616
-msgid ""
-"Previous:\n"
-"  Goes to the last record in a list (sequence)."
-msgstr ""
-
-#: usage.rst:619
-msgid ".. _Menu-Form-Switch_View:"
-msgstr ""
-
-#: usage.rst:621
-msgid ""
-"Switch View:\n"
-"  Switches the actual view aspect to:"
-msgstr ""
-
-#: usage.rst:624
-msgid ""
-"  * :term:`Form view`\n"
-"  * :term:`Tree view`\n"
-"  * :term:`Graph view`"
-msgstr ""
-
-#: usage.rst:628
-msgid "  Not all views provide all aspects."
-msgstr ""
-
-#: usage.rst:630
-msgid ".. _Menu-Form-Menu:"
-msgstr ""
-
-#: usage.rst:632
-msgid ""
-"Menu:\n"
-"  Activates or reopens the menu tab."
-msgstr ""
-
-#: usage.rst:635
-msgid ".. _Menu-Form-Home:"
-msgstr ""
-
-#: usage.rst:637
-msgid ""
-"Home:\n"
-"  Opens a new `home`__ tab."
-msgstr ""
-
-#: usage.rst:640
-msgctxt "usage.rst:640"
-msgid "__ Menu-User-Preferences_"
-msgstr ""
-
-#: usage.rst:642
-msgid ".. _Menu-Form-Close:"
-msgstr ""
-
-#: usage.rst:644
-msgid ""
-"Close Tab:\n"
-"  Closes the current tab. A Request :term:`Dialog` opens in case of unsaved\n"
-"  changes."
-msgstr ""
-
-#: usage.rst:648
-msgid ".. _Menu-Form-Previous_Tab:"
-msgstr ""
-
-#: usage.rst:650
-msgid ""
-"Previous Tab:\n"
-"  Shows the previous (left) tab of the actual tab."
-msgstr ""
-
-#: usage.rst:653
-msgid ".. _Menu-Form-Next_Tab:"
-msgstr ""
-
-#: usage.rst:655
-msgid ""
-"Next Tab:\n"
-"  Shows the next (right) tab of the actual tab."
-msgstr ""
-
-#: usage.rst:658
-msgid ".. _Menu-Form-View_Logs:"
-msgstr ""
-
-#: usage.rst:660
-msgid ""
-"View Logs...:\n"
-"  Shows generic information of the current record."
-msgstr ""
-
-#: usage.rst:663
-msgid ".. _Menu-Form-Go_to_Record_ID:"
-msgstr ""
-
-#: usage.rst:665
-msgid ""
-"Go to Record ID...:\n"
-"  Opens specific record id in the current view."
-msgstr ""
-
-#: usage.rst:668
-msgid ".. _Menu-Form-Reload_Undo:"
-msgstr ""
-
-#: usage.rst:670
-msgid ""
-"Reload/Undo:\n"
-"  Reloads the content of the actual tab. Undoes changes, if save request for\n"
-"  the current record is denied."
-msgstr ""
-
-#: usage.rst:674
-msgid ".. _Menu-Form-Actions:"
-msgstr ""
-
-#: usage.rst:676
-msgid ""
-"Actions...:\n"
-"  Shows all actions for the actual view, model and record."
-msgstr ""
-
-#: usage.rst:679
-msgid ".. _Menu-Form-Print:"
-msgstr ""
-
-#: usage.rst:681
-msgid ""
-"Print...:\n"
-"  Shows all print actions for the actual view, model and record."
-msgstr ""
-
-#: usage.rst:684
-msgid ".. _Menu-Form-Export_Data:"
-msgstr ""
-
-#: usage.rst:686
-msgid ""
-"Export Data...:\n"
-"  Export of current/selected records into :term:`CSV`-file or open it in "
-"Excel."
-msgstr ""
-
-#: usage.rst:689
-msgid "  * Predefined exports"
-msgstr ""
-
-#: usage.rst:691
-msgid "    - Choose preferences of already saved exports."
-msgstr ""
-
-#: usage.rst:693
-msgid ""
-"  * All Fields: Fields available from the model.\n"
-"  * Fields to export: Defines the specific fields to export.\n"
-"  * Options:"
-msgstr ""
-
-#: usage.rst:697
-msgid ""
-"    - Save: Save export as a CSV file.\n"
-"    - Open: Open export in spread sheet application."
-msgstr ""
-
-#: usage.rst:700
-msgid ""
-"  * Add field names: Add a header row with field names to the export data.\n"
-"  * Actions:"
-msgstr ""
-
-#: usage.rst:703
-msgid ""
-"    - Add: Adds selected fields to *Fields to export*.\n"
-"    - Remove: Removes selected fields from *Fields to export*.\n"
-"    - Clear: Removes all fields from *Fields to export*.\n"
-"    - Save Export: Saves field mapping to a *Predefined export* with a name.\n"
-"    - Delete Export: Deletes a selected *Predefined export*.\n"
-"    - Ok: Exports the data (action depending on *Options*).\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:711
-msgid ".. _Menu-Form-Import_Data:"
-msgstr ""
-
-#: usage.rst:713
-msgid ""
-"Import Data...:\n"
-"  Import records from :term:`CSV`-file."
-msgstr ""
-
-#: usage.rst:716
-msgid ""
-"  * All Fields: Fields available in the model (required fields are marked "
-"up).\n"
-"  * Fields to Import: Exact sequence of all columns in the CSV file.\n"
-"  * File to Import: File :term:`dialog` for choosing a CSV file to import.\n"
-"  * CSV Parameters: Setup specific parameters for chosen CSV file."
-msgstr ""
-
-#: usage.rst:721
-msgid ""
-"    - Field Separator: Character which separates CSV fields.\n"
-"    - Text Delimiter: Character which encloses text in CSV.\n"
-"    - Encoding: :term:`Character encoding` of CSV file.\n"
-"    - Lines to Skip: Count of lines to skip a headline or another offset."
-msgstr ""
-
-#: usage.rst:726
-msgctxt "usage.rst:726"
-msgid "  * Actions:"
-msgstr ""
-
-#: usage.rst:728
-msgid ""
-"    - Add: Adds fields to *Fields to Import*.\n"
-"    - Remove: Deletes fields from *Fields to Import*.\n"
-"    - Clear: Removes all fields from *Fields to Import*.\n"
-"    - Auto-Detect: Tries to auto detect fields in the CSV *File to Import*.\n"
-"    - Ok: Proceeds the data import.\n"
-"    - Cancel"
-msgstr ""
-
-#: usage.rst:736
-msgid ""
-"Options\n"
-"^^^^^^^\n"
-"The Options menu sets up several visual and context depending preferences."
-msgstr ""
-
-#: usage.rst:741
-msgid ""
-"Toolbar\n"
-"+++++++"
-msgstr ""
-
-#: usage.rst:744
-msgid ".. _Menu-Options-Toolbar-Default:"
-msgstr ""
-
-#: usage.rst:746
-msgid ""
-"Default:\n"
-"  Shows labels and icons as defaulted in the GTK configuration."
-msgstr ""
-
-#: usage.rst:749
-msgid ".. _Menu-Options-Toolbar-Text_and_Icons:"
-msgstr ""
-
-#: usage.rst:751
-msgid ""
-"Text and Icons:\n"
-"  Shows labels and icons in the tool bar."
-msgstr ""
-
-#: usage.rst:754
-msgid ".. _Menu-Options-Toolbar-Icons:"
-msgstr ""
-
-#: usage.rst:756
-msgid ""
-"Icons:\n"
-"  Shows icons only in the tool bar."
-msgstr ""
-
-#: usage.rst:759
-msgid ".. _Menu-Options-Toolbar-Text:"
-msgstr ""
-
-#: usage.rst:761
-msgid ""
-"Text:\n"
-"  Shows labels only in the tool bar."
-msgstr ""
-
-#: usage.rst:764
-msgid ""
-"Menubar\n"
-"+++++++"
-msgstr ""
-
-#: usage.rst:767
-msgid ".. _Menu-Options-Menubar-Accelerators:"
-msgstr ""
-
-#: usage.rst:769
-msgid ""
-"Change Accelerators:\n"
-"  If checked, keyboard shortcuts can be defined. S. a. `mouse and keyboard "
-"use`_"
-msgstr ""
-
-#: usage.rst:772
-msgid ""
-"Mode\n"
-"++++"
-msgstr ""
-
-#: usage.rst:775
-msgid ".. _Menu-Options-Mode-Normal:"
-msgstr ""
-
-#: usage.rst:777
-msgid ""
-"Normal:\n"
-"  Shows the client in full feature mode."
-msgstr ""
-
-#: usage.rst:780
-msgid ".. _Menu-Options-Mode_PDA:"
-msgstr ""
-
-#: usage.rst:782
-msgid ""
-"PDA:\n"
-"  Shows the client in a condensed mode. The PDA (Personal Data Assistant) "
-"mode\n"
-"  hides the shortcut menu in tree views and the system status bar."
-msgstr ""
-
-#: usage.rst:786
-msgid ""
-"Form\n"
-"++++"
-msgstr ""
-
-#: usage.rst:789
-msgid ".. _Menu-Options-Form-Toolbar:"
-msgstr ""
-
-#: usage.rst:791
-msgid ""
-"Toolbar:\n"
-"  Checkbox to disable/enable the tool bar."
-msgstr ""
-
-#: usage.rst:794
-msgid ".. _Menu-Options-Form-Statusbar:"
-msgstr ""
-
-#: usage.rst:796
-msgid ""
-"Statusbar:\n"
-"  Checkbox to disable/enable the status bar."
-msgstr ""
-
-#: usage.rst:799
-msgid ".. _Menu-Options-Form-Save_Columns_Width:"
-msgstr ""
-
-#: usage.rst:801
-msgid ""
-"Save Width/Height:\n"
-"  Check box to enable saving of manually adjusted widths of columns in lists\n"
-"  and trees. Additionally saving of manually adjusted widths and heights of\n"
-"  dialog and popup windows."
-msgstr ""
-
-#: usage.rst:806
-msgid ".. _Menu-Options-Form-Spell_Checking:"
-msgstr ""
-
-#: usage.rst:808
-msgid ""
-"Spell Checking:\n"
-"  Check box to enable spell checking in fields."
-msgstr ""
-
-#: usage.rst:811
-msgid ".. _Menu-Options-Form-Tabs_Position:"
-msgstr ""
-
-#: usage.rst:813
-msgid ""
-"Tabs Position\n"
-"  Sets up the position of the :term:`tabs` inside :term:`views`:"
-msgstr ""
-
-#: usage.rst:816
-msgid ""
-"  * Top\n"
-"  * Left\n"
-"  * Right\n"
-"  * Bottom"
-msgstr ""
-
-#: usage.rst:821
-msgid ".. _Menu-Options-File_Actions:"
-msgstr ""
-
-#: usage.rst:823
-msgid ""
-"File Actions...:\n"
-"  Opens a dialog to set up file types for print and open actions.\n"
-"  Use ``\"%s\"`` as a placeholder for the document name."
-msgstr ""
-
-#: usage.rst:827
-msgid "  * Provided file types:"
-msgstr ""
-
-#: usage.rst:829
-msgid ""
-"    - ODT file: Open Office Writer Document\n"
-"    - PDF file: Adobes(TM) Portable Document Format\n"
-"    - PNG file: Portable Network Graphics format\n"
-"    - TXT file: Pure text file"
-msgstr ""
-
-#: usage.rst:834
-msgid "  * Provided actions"
-msgstr ""
-
-#: usage.rst:836
-msgid ""
-"    - Open: Setting up program system call which opens the specific file "
-"type.\n"
-"    - Print: Setting up program system call printing the specific file type."
-msgstr ""
-
-#: usage.rst:839
-msgid ".. _Menu-Options-Email:"
-msgstr ""
-
-#: usage.rst:841
-msgid ""
-"Email...:\n"
-"  Open a dialog to set up an email reader."
-msgstr ""
-
-#: usage.rst:844
-msgid ""
-"  * Command Line: The command line calling the email reader.\n"
-"  * Placeholders:"
-msgstr ""
-
-#: usage.rst:847
-msgid ""
-"    - ``${to}``: the destination email address\n"
-"    - ``${cc}``: the carbon copy email address\n"
-"    - ``${subject}``: the subject of the email\n"
-"    - ``${body}``: the body of the email\n"
-"    - ``${attachment}``: the attachment of the email"
-msgstr ""
-
-#: usage.rst:853
-msgid "  * Examples:"
-msgstr ""
-
-#: usage.rst:855
-msgid ""
-"    - Thunderbird 2 on Linux:\n"
-"      ``thunderbird -compose \"to='${to}',cc='${cc}',subject='${subject}',bod"
-"y='${body}',attachment='file://${attachment}'\"``"
-msgstr ""
-
-#: usage.rst:858
-msgid ""
-"    - Thunderbird 2 on Windows XP SP3:\n"
-"      ``\"C:\\\\Program Files\\\\Mozilla Thunderbird\\\\thunderbird.exe\" -compose t"
-"o=\"${to}\",cc=\"${cc}\",subject=\"${subject}\",body=\"${body}\",attachment=\"${attac"
-"hment}\"``"
-msgstr ""
-
-#: usage.rst:861
-msgid ""
-".. note:: The path of *Program Files* may vary dependent on the localization "
-"of your Windows version."
-msgstr ""
-
-#: usage.rst:863
-msgid ".. _Menu-Options-Save_Options:"
-msgstr ""
-
-#: usage.rst:865
-msgid ""
-"Save Options:\n"
-"  Saves all the options."
-msgstr ""
-
-#: usage.rst:869
-msgid ""
-"Plug-ins\n"
-"^^^^^^^^\n"
-"Plug-ins are client side add-ons for Tryton. There are some included plug-"
-"ins\n"
-"with the standard client."
-msgstr ""
-
-#: usage.rst:874
-msgid ""
-"Execute a Plug-in\n"
-"+++++++++++++++++\n"
-"Translate View:\n"
-"  Creates a translation table of the current view."
-msgstr ""
-
-#: usage.rst:879
-msgid ""
-"Print Workflow:\n"
-"  Creates a graph which shows the work flow of the current view."
-msgstr ""
-
-#: usage.rst:882
-msgid ""
-"Print Workflow (complex):\n"
-"  Like 'Print Workflow', with additional sub work flows inherited by the\n"
-"  current view."
-msgstr ""
-
-#: usage.rst:887
-msgid ""
-"Shortcuts\n"
-"^^^^^^^^^\n"
-"A collection of user defined shortcuts for specific resources."
-msgstr ""
-
-#: usage.rst:892
-msgid ""
-"Help\n"
-"^^^^"
-msgstr ""
-
-#: usage.rst:895
-msgid ".. _Menu-Help-Tips:"
-msgstr ""
-
-#: usage.rst:897
-msgid ""
-"Tips...:\n"
-"  Opens the tips dialog."
-msgstr ""
-
-#: usage.rst:900
-msgid ""
-"  * Display a new tip next time: If *checked*, the tips dialog will appear "
-"on\n"
-"    start.\n"
-"  * Previous: Shows last tip.\n"
-"  * Next: Shows next tip."
-msgstr ""
-
-#: usage.rst:905
-msgid ".. _Menu-Help-Keyboard_Shortcuts:"
-msgstr ""
-
-#: usage.rst:907
-msgid ""
-"Keyboard Shortcuts...:\n"
-"  Shows the information dialog of the predefined keyboard shortcut map."
-msgstr ""
-
-#: usage.rst:910
-msgid ""
-"  * Edition Widgets: Shows shortcuts working on text entries, relation "
-"entries\n"
-"    and date/time entries."
-msgstr ""
-
-#: usage.rst:913
-msgid ".. _Menu-Help-About:"
-msgstr ""
-
-#: usage.rst:915
-msgid ""
-"About...:\n"
-"  License, Contributors, Authors of Tryton"
-msgstr ""
-
-#: usage.rst:919
-msgid ""
-"Appendix\n"
-"********"
-msgstr ""
-
-#: usage.rst:923
-msgid ""
-"Configuration File\n"
-"^^^^^^^^^^^^^^^^^^"
-msgstr ""
-
-#: usage.rst:926
-msgctxt "usage.rst:926"
-msgid "::"
-msgstr ""
-
-#: usage.rst:928
-msgid ""
-"   ~/.config/tryton/x.y/tryton.conf      # General configuration\n"
-"   ~/.config/tryton/x.y/accel.map        # Accelerators configuration\n"
-"   ~/.config/tryton/x.y/known_hosts      # Fingerprints\n"
-"   ~/.config/tryton/x.y/ca_certs         # Certification Authority "
-"(http://docs.python.org/library/ssl.html#ssl-certificates)"
-msgstr ""
diff --git a/doc/usage.rst b/doc/usage.rst
index 863c8f3..b32f63e 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -684,7 +684,7 @@ Export Data...:
     - Clear: Removes all fields from *Fields to export*.
     - Save Export: Saves field mapping to a *Predefined export* with a name.
     - Delete Export: Deletes a selected *Predefined export*.
-    - Ok: Exports the data (action depending on *Options*).
+    - OK: Exports the data (action depending on *Options*).
     - Cancel
 
 .. _Toolbar-Import_Data:
@@ -708,7 +708,7 @@ Import Data...:
     - Remove: Deletes fields from *Fields to Import*.
     - Clear: Removes all fields from *Fields to Import*.
     - Auto-Detect: Tries to auto detect fields in the CSV *File to Import*.
-    - Ok: Proceeds the data import.
+    - OK: Proceeds the data import.
     - Cancel
 
 Widgets
diff --git a/setup.py b/setup.py
index 3cbdbdb..9295544 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 from setuptools import setup, find_packages
 import os
@@ -18,15 +18,15 @@ try:
     from babel.messages import frontend as babel
 
     args['cmdclass'] = {
-            'compile_catalog': babel.compile_catalog,
-            'extract_messages': babel.extract_messages,
-            'init_catalog': babel.init_catalog,
-            'update_catalog': babel.update_catalog,
+        'compile_catalog': babel.compile_catalog,
+        'extract_messages': babel.extract_messages,
+        'init_catalog': babel.init_catalog,
+        'update_catalog': babel.update_catalog,
         }
 
     args['message_extractors'] = {
-            'tryton': [
-                ('**.py', 'python', None),
+        'tryton': [
+            ('**.py', 'python', None),
             ],
         }
 
@@ -83,12 +83,13 @@ if os.name == 'nt':
             'packages': [
                 'encodings',
                 'gtk',
-                'pytz',
                 'atk',
                 'pango',
                 'pangocairo',
                 'gio',
             ],
+            'dll_excludes': ['dnsapi.dll', 'usp10.dll', 'iphlpapi.dll'],
+            'excludes': ['Tkconstants', 'Tkinter', 'tcl'],
         }
     }
     args['zipfile'] = 'library.zip'
@@ -110,7 +111,7 @@ elif sys.platform == 'darwin':
                 'gobject, gio, gtk.keysyms'),
             'resources': 'tryton/plugins',
             'frameworks':
-            'librsvg-2.2.dylib, libjpeg.8.dylib, libtiff.3.dylib',
+            'librsvg-2.2.dylib, libjpeg.9.dylib, libtiff.5.dylib',
             'plist': {
                 'CFBundleIdentifier': 'org.tryton',
                 'CFBundleName': 'Tryton',
@@ -120,27 +121,31 @@ elif sys.platform == 'darwin':
         },
     }
 
-PACKAGE, VERSION, LICENSE, WEBSITE = None, None, None, None
-execfile(os.path.join('tryton', 'version.py'))
 
-major_version, minor_version, _ = VERSION.split('.', 2)
+def get_version():
+    init = read(os.path.join('tryton', '__init__.py'))
+    return re.search('__version__ = "([0-9.]*)"', init).group(1)
+
+version = get_version()
+major_version, minor_version, _ = version.split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
+name = 'tryton'
 
 download_url = 'http://downloads.tryton.org/%s.%s/' % (
     major_version, minor_version)
 if minor_version % 2:
-    VERSION = '%s.%s.dev0' % (major_version, minor_version)
+    version = '%s.%s.dev0' % (major_version, minor_version)
     download_url = 'hg+http://hg.tryton.org/%s#egg=%s-%s' % (
-        PACKAGE, PACKAGE, VERSION)
+        name, name, version)
 
-dist = setup(name=PACKAGE,
-    version=VERSION,
+dist = setup(name=name,
+    version=version,
     description='Tryton client',
     long_description=read('README'),
     author='Tryton',
     author_email='issue_tracker at tryton.org',
-    url=WEBSITE,
+    url='http://www.tryton.org/',
     download_url=download_url,
     keywords='business application ERP',
     packages=find_packages(),
@@ -169,9 +174,9 @@ dist = setup(name=PACKAGE,
         'Topic :: Office/Business',
         ],
     platforms='any',
-    license=LICENSE,
+    license='GPL-3',
     install_requires=[
-        #"pygtk >= 2.6",
+        # "pygtk >= 2.6",
         "python-dateutil",
         ],
     extras_require={
@@ -205,28 +210,11 @@ if os.name == 'nt':
 
     if 'py2exe' in dist.commands:
         import shutil
-        import pytz
-        import zipfile
 
         gtk_dir = find_gtk_dir()
 
         dist_dir = dist.command_obj['py2exe'].dist_dir
 
-        # pytz installs the zoneinfo directory tree in the same directory
-        # Make sure the layout of pytz hasn't changed
-        assert (pytz.__file__.endswith('__init__.pyc') or
-                pytz.__file__.endswith('__init__.py')), pytz.__file__
-        zoneinfo_dir = os.path.join(os.path.dirname(pytz.__file__), 'zoneinfo')
-        disk_basedir = os.path.dirname(os.path.dirname(pytz.__file__))
-        zipfile_path = os.path.join(dist_dir, 'library.zip')
-        z = zipfile.ZipFile(zipfile_path, 'a')
-        for absdir, directories, filenames in os.walk(zoneinfo_dir):
-            assert absdir.startswith(disk_basedir), (absdir, disk_basedir)
-            zip_dir = absdir[len(disk_basedir):]
-            for f in filenames:
-                z.write(os.path.join(absdir, f), os.path.join(zip_dir, f))
-        z.close()
-
         if os.path.isdir(os.path.join(dist_dir, 'plugins')):
             shutil.rmtree(os.path.join(dist_dir, 'plugins'))
         shutil.copytree(os.path.join(os.path.dirname(__file__), 'tryton',
@@ -280,10 +268,10 @@ if os.name == 'nt':
         makensis = find_makensis()
         if makensis:
             from subprocess import Popen
-            Popen([makensis, "/DVERSION=" + VERSION,
+            Popen([makensis, "/DVERSION=" + version,
                 str(os.path.join(os.path.dirname(__file__),
                     'setup.nsi'))]).wait()
-            Popen([makensis, "/DVERSION=" + VERSION,
+            Popen([makensis, "/DVERSION=" + version,
                 str(os.path.join(os.path.dirname(__file__),
                     'setup-single.nsi'))]).wait()
         else:
@@ -415,8 +403,8 @@ elif sys.platform == 'darwin':
             for lib in libs.keys():
                 fixed = lib.replace(gtk_dir + '/lib',
                     '@executable_path/../Frameworks')
-                Popen(['install_name_tool', '-change', lib, fixed,
-                        library]).wait()
+                Popen(['install_name_tool', '-change', lib, fixed, library]
+                    ).wait()
 
         for file in ('CHANGELOG', 'COPYRIGHT', 'LICENSE', 'README', 'TODO'):
             shutil.copyfile(os.path.join(os.path.dirname(__file__), file),
@@ -428,9 +416,9 @@ elif sys.platform == 'darwin':
         shutil.copytree(os.path.join(os.path.dirname(__file__), 'doc'),
                 doc_dist_dir)
 
-        dmg_file = os.path.join(os.path.dirname(__file__), 'tryton-' + VERSION
+        dmg_file = os.path.join(os.path.dirname(__file__), 'tryton-' + version
                 + '.dmg')
         if os.path.isfile(dmg_file):
             os.remove(dmg_file)
         Popen(['hdiutil', 'create', dmg_file, '-volname', 'Tryton Client '
-                + VERSION, '-fs', 'HFS+', '-srcfolder', dist_dir]).wait()
+                + version, '-fs', 'HFS+', '-srcfolder', dist_dir]).wait()
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.mo b/share/locale/bg_BG/LC_MESSAGES/tryton.mo
index 2b7ade2..1e05c90 100644
Binary files a/share/locale/bg_BG/LC_MESSAGES/tryton.mo and b/share/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.po b/share/locale/bg_BG/LC_MESSAGES/tryton.po
index c7898c6..8025a19 100644
--- a/share/locale/bg_BG/LC_MESSAGES/tryton.po
+++ b/share/locale/bg_BG/LC_MESSAGES/tryton.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 1.5.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2012-04-23 11:06+0200\n"
 "Last-Translator: Nickolay Kolev <nickyk at gmx.net>\n"
 "Language-Team: bg_BG <LL at li.org>\n"
@@ -17,109 +17,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "укажете друг конфигурационен файл"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "записване на всичко на ниво INFO "
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "укажете потребителското име"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "укажете порт на сървъра"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "укажете адреса на сървъра"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Твърде много аргументи"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Файла \"%s\" не е намерен"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Не може да запише конфигурационен файл %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Изберете действие"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Не е зададено действие!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton връзка"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Сървър:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Порт:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Избор:"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Вашия избор"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Запис като ..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Винаги игнорирай това предупреждение."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Потвърждение"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Грешка при достъп"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -137,50 +106,37 @@ msgstr ""
 "   - \"Сравняване\" за да видите променената версия;\n"
 "   - \"Запис \" за да запишете вашата текуща версия."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Сравняване"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Запис"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Грешка"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Съобщаване за грешка"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Грешка в приложението!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Грешка: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "За да съобщите за грешка трябва да имате сметка на <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr ""
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Потребител: "
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Парола:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -188,11 +144,9 @@ msgstr ""
 "Тази грешка е вече съобщена от друг потребител..\n"
 "За да бъдете информирани потребителя ви е добавен списъка за този проблем"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Създадена е нова грешка с ID"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -200,11 +154,9 @@ msgstr ""
 "Грешка при свързване!\n"
 "Грешно потребителско име или парола!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Грешка:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -214,12 +166,9 @@ msgstr ""
 "Приложението ще спре да се връзва към сървъра докато не бъде оправен "
 "идентификатора му."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Риск за сигурността"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -227,303 +176,230 @@ msgstr ""
 "Грешка при свързване!\n"
 "Невъзможност да се свърже със сървъра!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Мрежова грешка!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "Г"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "М"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "с"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "д"
+msgid "<i>Search...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "ч"
+msgid "<i>Create...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "м"
+#, fuzzy
+msgid "Value"
+msgstr "Лъжа"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
+msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
+#, fuzzy
+msgid "Format"
+msgstr "Нормален"
+
+msgid "Display format"
 msgstr ""
 
-#: tryton/common/date_widget.py:67
 #, fuzzy
-msgid "Open the calendar <F2>"
+msgid "Open the calendar"
 msgstr "Отваряне на календара"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Избор на дата"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "г"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "да"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "Истина"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Истина"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Лъжа"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Изход..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Прикачен файл:"
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "Свързани..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Справки..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Печат..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "Г"
+
+msgid "M"
+msgstr "М"
+
+msgid "w"
+msgstr "с"
+
+msgid "d"
+msgstr "д"
+
+msgid "h"
+msgstr "ч"
+
+msgid "m"
+msgstr "м"
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "Файл"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "Потребител"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "Настройки"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Помощ"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Търсене"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "Свързване..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "Изключване"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "База данни"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "Нова база данни"
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "Възтановяване на база данни..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Архивиране на база данни..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Изтриване на база данни..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "Изход..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "Предпочитания..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Превключване на меню"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Лента с инструменти"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "По подразбиране"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Текс и икони"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "Икони"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "Текст"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Лента с меню"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Смяна на бързи клавиши"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "Режим"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "Нормален"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "Форма"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Запазване на ширина/височина"
 
-#: tryton/gui/main.py:624
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запазване на състояние разгърнато дърво"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Проверка на правопис"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Позиции на табове"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Отгоре"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Отляво"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Отдясно"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Отдолу"
-
-#: tryton/gui/main.py:692
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "Предишен"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Ограничение при търсене..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "Email..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "Запазване на опции"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Подсказки..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Бързи клавиши..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "Относно..."
 
-#: tryton/gui/main.py:799
 #, fuzzy
 msgid "Manage Favorites"
 msgstr "Управление на профили"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -531,11 +407,9 @@ msgstr ""
 "Следващите действия изискват затваряне на всички прозорци.\n"
 "Искате ли да продължите?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Затваряне на таб"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -543,7 +417,6 @@ msgstr ""
 "Ще изтриете Tryton база данни.\n"
 "Сигурни ли сте че искате да продължите?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -551,28 +424,21 @@ msgstr ""
 "Грешна парола за Tryton сървъра\n"
 "Моля опитайте отново."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Достъпа отказан!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Изтриването на базата данни неуспя с грешка:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Изтриването на базата данни неуспешно!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Базата данни изтрита успешно!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Отваряне на архивиран файл за възтановяване..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -580,11 +446,9 @@ msgstr ""
 "Не може да се възтановяви база данни защитена с парола.\n"
 "Архивирането и възтановяването трябва да стане ръчно."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Базата данни е защитена с парола!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -592,19 +456,15 @@ msgstr ""
 "Грешна парола за Tryton сървъра.\n"
 "Моля опитайте отново."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Възтановяването на базата данни неуспя с грешка:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Възтановяването на базата неуспешно"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Възтановяването на базата данни неуспешно"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -612,79 +472,57 @@ msgstr ""
 "Не е възможно да се извлече база данни защитена с парола.\n"
 "Архивирането и възтановяването трябва да стане ръчно."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Извличането на базата данни неуспя с грешка:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Извличането на базата данни неуспешно!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Базата данни архивирана успешно!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Нов"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Създаване на нов запис"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Съхраняване"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Съхраняване на този запис"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Превключване"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "Нов"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Съхраняване"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Презареждане/Обратно"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "Изтриване..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Затваряне на таб"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -694,11 +532,9 @@ msgstr ""
 "порт'8000' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна'"
 " за да промените адреса."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Няма връзка!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -714,28 +550,21 @@ msgstr ""
 "адреса на сървъра и порта(обикновенно 8000) не са блокирани.\n"
 "Натиснете на 'Промяна' за да смените адреса."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Създаване на нова база данни"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "Създаване"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Създай новата база данни"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Настройка на сървър"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Връзка към сървъра:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -745,22 +574,15 @@ msgstr ""
 "порт'8000' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна'"
 " за да промените адреса."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "Промяна"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Настройка на връзката със сървъра..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Парола за Tryton сървъра"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -768,15 +590,12 @@ msgstr ""
 "Това е паролата на Tryton сървъра. Тя не е на никой потребител. Тя "
 "обикновенно се задава по време на конфигурирането на trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Настройка на нова база данни:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Име:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -787,11 +606,9 @@ msgstr ""
 "Позволени символи за букви, цифри и _ (под черта)\n"
 "Избягвайте акценти, празен символ или специални символи! Пример: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Език по подразбиране"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -800,11 +617,9 @@ msgstr ""
 "Изберете езика по подразбиране за тази база данни. Може да добавите след "
 "инсталацията друг език през менюто за администрация."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Парола на администратор:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -816,25 +631,20 @@ msgstr ""
 "Потребителско име: admin\n"
 "Парола: <Паролата която сте избрали>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Потвърждаване на паролата:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Напишете отново паролата на администратора"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "Новата парола на администратора не съвпада с тази в полето за "
 "потвърждение.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Паролата не съвпада!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -842,15 +652,12 @@ msgstr ""
 "Вече съществува база данни с това име.\n"
 "Опитайте с друго име на базата данни."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Вече съществува база данни с такова име!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Грешна парола за Tryton сървъра. Моля опитайте отново."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -862,154 +669,111 @@ msgstr ""
 "тази база данни! За повече информация вижте съобщинието за грешка.\n"
 "Съобщение за грешка:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Грешка при създаване на база данни!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Не може да се свърже със сървъра!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Версията на клиента не е съвместима с тази на сървъра!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Не е намерена нито една база данни, трябва да създете нова!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Архивиране на база данни"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Архивиране"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Архивиране на избраната база данни."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Изберете Tryton база данни за архивиране."
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Изтриване на база данни."
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Изтриване"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Изтриване на избраната база данни."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Избор на Tryton база данни за изтриване:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Връзка със сървъра:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "База данни:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Редактор на профили"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Профил"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "Изтриване"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
-msgstr "Име на хост:"
+msgid "Host:"
+msgstr "Хост:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Създаване"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Вземане на списъка с бази данни:"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Потребителско име:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Не може да се свърже със сървъра!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Несъвместима версия на сървъра!"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Потребителско име"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "Отказ"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Отказ от свръзване с Tryton сървъра"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "Свързване"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Свързване с Tryton сървъра"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Профил:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "Управление на профили"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Информация за Хост / База данни"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Хост:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Потребителско име:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Възтановяване на база данни"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Файл за възтановяването"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1021,15 +785,12 @@ msgstr ""
 "Не може да използвате акценти, празен символ или специални символи! \n"
 "Пример: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Име на нова база данни:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Обновяване на база данни:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1037,204 +798,150 @@ msgstr ""
 "Проверка за автоматични обновявания след възтановяване на база данни от "
 "предишна Tryton версия."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Възтановяване"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Възтановяване на база данни от файл."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Настройки на програма за email"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Команден ред:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Лагенда за налични контейнери:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "До"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Относно:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Тяло:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Прикачен файл:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Предишен"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Предишен запис"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Следващ"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Следващ запис"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Прикачен файл(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Добавяне на прикачен файл към записа"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "Дублиране"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "Предишен"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Следващ"
 
-#: tryton/gui/window/form.py:64
 #, fuzzy
 msgid "_Search"
 msgstr "Търсене"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Преглед на логове"
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Прикачен файл:"
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "Действия..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "Свързани..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "Справки..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "Email..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Печат..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "Извличане на данни..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "Вмъкване на данни..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Прикачен файл(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Трябва да изберете един запис!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Последно променен от:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Модел:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Наистина ли искате да изтриете този запис?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Наистина ли искате да изтриете тези записи?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Записа не е изтрит!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Записите изтрити!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Работите върху дублиран(и) запис(и)!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Записа съхранен!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Невалидна форма!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " от"
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1242,158 +949,119 @@ msgstr ""
 "Този запис е променен\n"
 "искате ли да го запишете ?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Действие"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Започване на действие"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Свързани"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Отваряне на свързани записи"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Справки"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Отваряне на справка"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Изращане на справка по Email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Печат"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Отпечатване на справка"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Неизвестен"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Ограничение"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Настройки на органичения за търсене"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Ограничение:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Редактиране на потребителски настройки"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Текуща парола"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "Предишен"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "Избор:"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Текстови бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Изрязване на избрания текст"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Копиране на избрания текст"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Поставяне на копирания текст"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Следваща джаджа"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Предишенна джаджа"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Създаване на нова връзка"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Отваряне/Търсене на връзка"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Списък бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Създаване на нов ред"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Отваряне на връзка"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Отбелязване на ред за изтриване"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Изчистване на ред за изтриване"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr ""
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1403,7 +1071,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1431,7 +1098,6 @@ msgstr ""
 "12 познати луни. Тя има повече маса от всички 159 познати луни в\n"
 "в Слънчевата система.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1443,7 +1109,6 @@ msgstr ""
 "Може да копирате записи от всеки списък с Ctrl + C\n"
 "и да ги поставите във всяка програма с Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1453,85 +1118,64 @@ msgstr ""
 "\n"
 "Може да съхраните всяка графика като PNG файл като кликнете върху нея.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Подсказки"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "Показвай нова подсказка следващия път"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Извличане в CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Предварително зададени извличания</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Всички полета</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Изчистване"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Запис на извличане"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Изтриване на извличане"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Полета за извличане</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Настройки</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Отваряне"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Добавяне на имена на полета"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Име"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Какво е името на това извличане?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d заспис съхранен!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записа съхранени!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1542,359 +1186,263 @@ msgstr ""
 "Съобщение за грешка:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Връзка"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Изтриване <Del>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Създаване на нов запис <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Възтановяване на избрания запис <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Вмъкване от CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Автоматично разпознаване"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Полета за вмъкване</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Файл за вмъкване:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Отваряне..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSV параметри"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Разделител на полета"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Разделител на думи:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Кодиране:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Редове за пропускане:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Име на поле"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Първо трябва да изберете файл за вмъкване!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Грешка при отваряне на CSV файл"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Грешка при обработка на файл при поле %s"
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запис вмъкнат!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записи вмъкнати!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Помощник"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 #, fuzzy
 msgid "ID"
 msgstr "д"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Запис като"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Размер на изображение"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Ширина:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Височина:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Размера на изображението е много голям!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "Филтри"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Търсене"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Тяло:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Избор на файл"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Показване само на текст"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Избор на картинка"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Всички файлове"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Изображения"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 #, fuzzy
 msgid "Add existing record"
 msgstr "Съхраняване на този запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Отваряне на запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Тъсене на запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Редактиране на избрания запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Промяна на текста на удебелен"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Промяна на текста на наклонен"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Промяна на тек на подчертан"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Избор на фамилия на шрифт"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Избор на размер на шрифт"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Подравняване на редовете отляво"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Подравняване на редовете в център"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Подравняване на редовете отдясно"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Подравняване на редовете да запълни прозореца"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Избот на цвят на текста"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Избор на фон на текста"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 #, fuzzy
 msgid "Translation"
 msgstr "Добавяне на превод"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Редактиране"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Неясно"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Трябва да съхраните записа преди да добавите преводи!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Няма наличен друг език!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Превод на изглед"
+
diff --git a/share/locale/ca_ES/LC_MESSAGES/tryton.mo b/share/locale/ca_ES/LC_MESSAGES/tryton.mo
index 2e044eb..08f9221 100644
Binary files a/share/locale/ca_ES/LC_MESSAGES/tryton.mo and b/share/locale/ca_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ca_ES/LC_MESSAGES/tryton.po b/share/locale/ca_ES/LC_MESSAGES/tryton.po
index 983a981..7e7120d 100644
--- a/share/locale/ca_ES/LC_MESSAGES/tryton.po
+++ b/share/locale/ca_ES/LC_MESSAGES/tryton.po
@@ -9,119 +9,89 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 2.4.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-17 09:35+0100\n"
+"POT-Creation-Date: 2015-04-16 17:31+0200\n"
+"PO-Revision-Date: 2015-04-16 17:33+0100\n"
 "Last-Translator: Sergi Almacellas Abellana <sergi at koolpi.com>\n"
 "Language-Team: Catalan <tryton-ca at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
+"X-Generator: Poedit 1.5.4\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Indica un fitxer de configuració alternatiu"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "mode desenvolupament"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Registra tota la informació amb nivell INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "indica el nivell de log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "Indica l'usuari"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "Indica el port del servidor"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "Indica el nom del servidor"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Massa arguments"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "No s'ha trobat el fitxer \"%s\""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "No s'ha pogut escriure el fitxer configuració %s"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No s'ha pogut establir l'idioma %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Seleccioneu la vostra acció"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "No s'ha definit cap acció."
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Connexió a Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selecció"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "La vostra selecció:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Desa com..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Ignora sempre aquest advertiment."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Voleu continuar?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmació"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Excepció de concurrència"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -139,50 +109,37 @@ msgstr ""
 "   - \"Compara\" per veure la versió modificada:\n"
 "   - \"Desa de totes formes\" per desar els vostres canvis."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Compara"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Desa de totes formes"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Informa de l'error"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Error d'aplicació."
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Per informar d'errors heu de tenir un compte a <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Seguiment d'errors"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Usuari:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Contrasenya:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -191,11 +148,9 @@ msgstr ""
 "Per mantenir-vos informat afegirem el vostre usuari a la llista "
 "d'interessats en aquest assumpte."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "S'ha creat una nou informe d'error amb l'identificador "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -203,26 +158,21 @@ msgstr ""
 "Error de connexió.\n"
 "Nom d'usuari o contrasenya incorrectes."
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Excepció:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
-"The application will stop connecting to this server until its fingerprint"
-" is fixed."
+"The application will stop connecting to this server until its fingerprint is "
+"fixed."
 msgstr ""
 "L'empremta digital del servidor ha canviat des de l'última connexió.\n"
-"L'aplicació no es podrà connectar a aquest servidor fins que es "
-"corregeixi l'empremta digital del servidor."
+"L'aplicació no es podrà connectar a aquest servidor fins que es corregeixi "
+"l'empremta digital del servidor."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Risc de seguretat."
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -230,297 +180,222 @@ msgstr ""
 "Error de connexió.\n"
 "No ha estat possible connectar-se al servidor."
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Error de xarxa."
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
+msgid "<i>Search...</i>"
+msgstr "<i>Cerca...</i>"
 
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Create...</i>"
+msgstr "<i>Crea...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
+msgid "Value"
+msgstr "Valor"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
+msgid "Displayed value"
+msgstr "Valor a mostrar"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
+msgid "Format"
+msgstr "Format"
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Display format"
+msgstr "Format a mostrar"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Cerca...</i>"
+msgid "Open the calendar"
+msgstr "Obre el calendari"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Crea...</i>"
-
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Obre el calendari <F2>"
+msgid "Date Format"
+msgstr "Format dates"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Selecció de data"
+msgid "Displayed date format"
+msgstr "Format dates a mostrar"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "sí"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "verdader"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Verdader"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Fals"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Edita..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjunts..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Accions..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionat..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correu electrònic..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimeix..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Fitxer"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suari"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opcions"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "_Preferits"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Aj_uda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
-msgid "Search"
-msgstr "Cerca"
-
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "No s'han trobat resultats."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Connecta..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Desconnecta"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de dades"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nova base de dades..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaura una base de dades..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Fes _còpia de seguretat de la base de dades..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Elimina una base de dades..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Surt..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Preferències..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recarrega el menú"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Commuta el _menú"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Cerca _Global"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Barra d'_eines"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "Per _defecte"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Text _i icones"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Icones"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Canvia tecles ràpides"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Mode"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulari"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Desa ample/alt"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Desa l'estat de l'arbre"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Correcció ortogràfica"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Posició de les pestanyes"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Superior"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Esquerra"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Dreta"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Inferior"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Anterior"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Següent"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "_Límit de cerca..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Correu electrònic..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Desa opcions"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Conse_lls..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binacions de tecles..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Quant a..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Gestiona els preferits"
 
-#: tryton/gui/main.py:949
+msgid "Search"
+msgstr "Cerca"
+
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -528,11 +403,9 @@ msgstr ""
 "L'acció seleccionada requereix tancar totes les pestanyes.\n"
 "Voleu continuar?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Tanca pestanya"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -540,7 +413,6 @@ msgstr ""
 "Esteu a punt d'eliminar una base de dades de Tryton.\n"
 "Esteu segur que voleu continuar?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -548,28 +420,21 @@ msgstr ""
 "La contrasenya del servidor Tryton és incorrecta.\n"
 "Intenteu-ho de nou."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Accés denegat."
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "L'eliminació de la base de dades ha fallat amb el missatge d'error:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Ha fallat l'eliminació de la base de dades."
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "La base de dades s'ha eliminat correctament."
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Obre una còpia de seguretat per restaurar..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -577,11 +442,9 @@ msgstr ""
 "No és possible restaurar una base de dades protegida amb contrasenya.\n"
 "La còpia de seguretat i la seva restauració ha de ser manual."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "La base de dades està protegida amb contrasenya."
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -589,19 +452,15 @@ msgstr ""
 "La contrasenya del servidor Tryton és incorrecta.\n"
 "Intenteu-ho de nou."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "La restauració de la base de dades ha fallat amb l'error:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "La restauració de la base de dades ha fallat."
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "La base de dades s'ha restaurat correctament."
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -609,231 +468,179 @@ msgstr ""
 "No és possible fer còpia d'una base de dades protegida amb contrasenya.\n"
 "La còpia de seguretat i la seva restauració ha de ser manual."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "L'extracció de la base de dades ha fallat amb el missatge d'error:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "L'extracció de la base de dades ha fallat."
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "La còpia de seguretat de la base de dades ha finalitzat correctament."
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nou"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crea un nou registre"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Desa"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Desa aquest registre"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Canvia la vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Canvia la vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recarrega"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recarrega"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nou"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Desa"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Canvia la vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recarrega/Desfés"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Elimina..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Tanca la pestanya"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
-"This is the URL of the Tryton server. Use server 'localhost' and port "
-"'8000' if the server is installed on this computer. Click on 'Change' to "
-"change the address."
+"This is the URL of the Tryton server. Use server 'localhost' and port '8000' "
+"if the server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Aquest és l'URL del servidor Tryton. Useu el servidor «localhost» i el "
-"port «8000» si el servidor està instal·lat en aquest ordinador. Premeu "
-"«Canvia» per canviar l'adreça."
+"Aquest és l'URL del servidor Tryton. Useu el servidor «localhost» i el port "
+"«8000» si el servidor està instal·lat en aquest ordinador. Premeu «Canvia» "
+"per canviar l'adreça."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "No hi ha connexió."
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
 "2. Find out on which address and port it is listening.\n"
-"3. If there is a firewall between the server and this client, make sure "
-"that the server address and port (usually 8000) are not blocked.\n"
+"3. If there is a firewall between the server and this client, make sure that "
+"the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No s'ha pogut connectar al servidor\n"
 "1. Reviseu si el servidor s'està executant.\n"
 "2. Esbrineu a quina adreça i port està escoltant.\n"
-"3. Si hi ha un tallafocs entre el servidor i aquest client, assegureu-vos"
-" que l'adreça i el port (normalment 8000) del servidor no estan "
-"bloquejats.\n"
+"3. Si hi ha un tallafocs entre el servidor i aquest client, assegureu-vos "
+"que l'adreça i el port (normalment 8000) del servidor no estan bloquejats.\n"
 "Premeu a «Canvia» per canviar l'adreça."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Crea nova base de dades"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_rea"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Crea la nova base de dades."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuració del servidor:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Connexió amb el servidor:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
-"This is the URL of the server. Use server 'localhost' and port '8000' if "
-"the server is installed on this computer. Click on 'Change' to change the"
-" address."
+"This is the URL of the server. Use server 'localhost' and port '8000' if the "
+"server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Aquest és l'URL del servidor. Useu el servidor «localhost» i el port "
-"«8000» si el servidor està instal·lat en aquest ordinador. Premeu a "
-"«Canvia» per canviar l'adreça."
+"Aquest és l'URL del servidor. Useu el servidor «localhost» i el port «8000» "
+"si el servidor està instal·lat en aquest ordinador. Premeu a «Canvia» per "
+"canviar l'adreça."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_anvia"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configura la connexió amb el servidor..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Contrasenya del servidor Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
-"This is the password of the Tryton server. It doesn't belong to a real "
-"user. This password is usually defined in the trytond configuration."
+"This is the password of the Tryton server. It doesn't belong to a real user. "
+"This password is usually defined in the trytond configuration."
 msgstr ""
 "Aquesta és la contrasenya del servidor Tryton. No correspon a un usuari "
 "real. Aquesta contrasenya es defineix en la configuració de trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nova configuració de la base de dades:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nom de la base de dades:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! Example: "
-"tryton"
+"You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
 "Trieu un nom per a la nova base de dades.\n"
 "Podeu utilitzar caràcters alfanumèrics o _ (guió baix)\n"
 "Eviteu qualsevol accent, espai o caràcters especials. Exemple: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Idioma per defecte:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
-"Choose the default language that will be installed for this database. You"
-" will be able to install new languages after installation through the "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Escolliu l'idioma per defecte que s'instal·larà per a aquesta base de "
-"dades. Podreu instal·lar nous idiomes després de la instal·lació, "
-"mitjançant el menú d'administració."
+"Escolliu l'idioma per defecte que s'instal·larà per a aquesta base de dades. "
+"Podreu instal·lar nous idiomes després de la instal·lació, mitjançant el "
+"menú d'administració."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Contrasenya de l'administrador:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Trieu una contrasenya per a l'usuari administrador de la nova base de "
-"dades. Podreu accedir a la base de dades amb aquestes credencials:\n"
+"Trieu una contrasenya per a l'usuari administrador de la nova base de dades. "
+"Podreu accedir a la base de dades amb aquestes credencials:\n"
 "Nom d'usuari: admin\n"
 "Contrasenya: <La contrasenya que introduïu aquí>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Confirmeu la contrasenya de l'administrador:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Teclegeu la contrasenya de l'administrador de nou"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "La nova contrasenya de l'administrador no coincideix amb el camp de "
 "confirmació.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Les contrasenyes no coincideixen."
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -841,15 +648,12 @@ msgstr ""
 "Ja existeix una base de dades amb el mateix nom.\n"
 "Intenteu-ho amb un altre nom de base de dades."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Ja existeix una base de dades amb aquest nom."
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "La contrasenya del servidor Tryton no és correcta. Intenteu-ho de nou."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -857,159 +661,116 @@ msgid ""
 "Error message:\n"
 msgstr ""
 "No s'ha pogut crear la base de dades, la causa és desconeguda.\n"
-"Si hi ha una base de dades creada, podria estar danyada. Proveu "
-"d'eliminar aquesta base de dades. Reviseu el missatge d'error per obtenir"
-" informació addicional.\n"
+"Si hi ha una base de dades creada, podria estar danyada. Proveu d'eliminar "
+"aquesta base de dades. Reviseu el missatge d'error per obtenir informació "
+"addicional.\n"
 "Missatge d'error:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "S'ha produït un error al crear la base de dades."
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "No s'ha pogut connectar al servidor."
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Aquesta versió del client no és compatible amb el servidor."
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "No s'ha trobat cap base de dades, heu de crear-ne una."
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realitza còpia de seguretat d'una base de dades"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Còpia de seguretat"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Fa còpia de seguretat de la base de dades triada."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Trieu una base de dades Tryton per fer una còpia de seguretat:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Elimina una base de dades"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Elimina"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Elimina la base de dades seleccionada."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Trieu la base de dades Tryton a eliminar:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Connexió al servidor:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de dades:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor de perfils"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Afegeix"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Elimina"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Crea"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Recuperant llista de bases de dades"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nom d'usuari:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "No s'ha pogut connectar al servidor"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "El client no és compatible amb la versió del servidor"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Usuari"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Cancel·la"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancel·la connexió al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onnecta"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Connecta al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Administra perfils"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Informació del Servidor / Base de dades"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nom d'usuari:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaura una base de dades"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Fitxer a restaurar:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1021,219 +782,161 @@ msgstr ""
 "Eviteu tots els accents, espais, o caràcters especials. \n"
 "Exemple: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nom de la base de dades nova:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Actualitza base de dades:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr ""
-"Marqueu perquè es realitzi una actualització automàtica de la base de "
-"dades des d'una versió anterior de Tryton, després de restaurar la base "
-"de dades."
+"Marqueu perquè es realitzi una actualització automàtica de la base de dades "
+"des d'una versió anterior de Tryton, després de restaurar la base de dades."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaura"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaura la base de dades des d'un fitxer."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Correu electrònic"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Configuració del programa de correu electrònic"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línia de comandes:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Llegenda de paraules clau disponibles:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "A:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Assumpte:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Missatge:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunt:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Registre anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Següent"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registre següent"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunt(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Afegeix un adjunt al registre"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplica"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Seg_üent"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Cerca"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Veure _registre..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Mostra revisions..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Adjun_ts..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Accions..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Relacionat..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Correu electrònic..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Im_primeix..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Exporta dades..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importa dades..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunt(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Heu de triar un registre."
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Creat per:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Data de creació:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Última modificació per:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Última data de modificació:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Esteu segur que voleu eliminar aquest registre?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Esteu segur que voleu eliminar aquests registres?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Els registres no s'han eliminat."
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Registres eliminats."
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Ara esteu treballant en el registre duplicat."
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Registre desat."
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Formulari incorrecte."
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1241,156 +944,117 @@ msgstr ""
 "Aquest registre ha estat modificat.\n"
 "Voleu desar-lo?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Acció"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Executa acció"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "_Relacionat"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Obre registres relacionats"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Obre informe"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Correu electrònic"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Informe per email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimeix"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimeix informe"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Desconegut"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límit"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferències del límit de cerca"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límit:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferències"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Edita preferències d'usuari"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferències"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contrasenya actual:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Revisió"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Seleccioneu una revisió"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Revisió:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Combinacions de tecles"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Dreceres en camps de text"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Talla el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copia el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Enganxa el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Camp següent"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Camp anterior"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Dreceres en relacions"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crea una nova relació"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Obre/Cerca una relació"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Dreceres en llistes"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crea una nova línia"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Obre una relació"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marca la línia per ser eliminada"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarca la línia per ser eliminada"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Controls en l'edició"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1400,7 +1064,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1427,7 +1090,6 @@ msgstr ""
 "vint llunes conegudes.  Té més massa que totes les altres 159 llunes\n"
 "més petites del Sistema Solar combinades.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1439,7 +1101,6 @@ msgstr ""
 "Podeu copiar els registres de qualsevol llista amb Ctrl + C\n"
 "i enganxar-los en qualsevol aplicació amb Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1447,88 +1108,67 @@ msgid ""
 msgstr ""
 "<b>Exporta gràfics</b>\n"
 "\n"
-"Podeu desar els gràfics en un fitxer PNG fent clic amb el botó dret sobre"
-" la imatge.\n"
+"Podeu desar els gràfics en un fitxer PNG fent clic amb el botó dret sobre la "
+"imatge.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Consells"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nou consell la propera vegada"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporta a CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportacions predeterminades</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Tots els camps</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Neteja"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Desa exportació"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Elimina exportació"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Camps a exportar</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opcions</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Obre"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Afegeix noms de _camp"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nom"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (text)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Quin és el nom d'aquesta exportació?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Voleu sobrescriure la definició de '%s'?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "S'ha desat %d registre."
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "S'han desat %d registres."
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1539,347 +1179,249 @@ msgstr ""
 "Missatge d'error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enllaç"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Afegeix"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Elimina <Supr>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Crea un nou registre <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Recupera el registre seleccionat <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importa des de CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detecta"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Camps a importar</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Fitxer a importar:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Obre..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Paràmetres CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Separador de camp:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Delimitador de text:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codificació:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Línies a ometre:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nom del camp"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Primer heu de triar un fitxer a importar."
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Error a l'obrir el fitxer CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "S'ha produït un error en processar el fitxer en el camp %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "S'ha importat %d registre."
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "S'han importat %d registres."
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Creat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Data de creació"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Modificat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Data de modificació"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "No s'ha pogut obtenir l'estat de la vista d'arbre"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "No s'ha pogut desar l'estat de la vista d'arbre"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Anomena i desa"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Mida de la imatge"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Amplada:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Imatge PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "La mida de la imatge és massa gran."
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltres"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Mostra les cerques preferides"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Elimina de les cerques preferides"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Desa com a cerca preferida"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Nom de la cerca preferida:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Cerca"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Avui"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vista setmanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Setmana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Selecciona un fitxer..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Mostra com a text pla"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Afegeix un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Selecciona una imatge..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Tots els fitxers"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Imatges"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Afegeix un registre existent"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Obre el registre <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Cerca un registre <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Elimina el registre seleccionat"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Edita registre seleccionat <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Canvia text a negreta"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Canvia text a cursiva"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Canvia text a subratllat"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Tria tipus de lletra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Tria grandària de la lletra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Alinea la línia a l'esquerra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centra la línia"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Alinea la línia a la dreta"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justifica la línia per emplenar la finestra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Canvia el text principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Canvia color de fons"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Canvia el text de marcat"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Selecciona color principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Selecciona color de fons"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traducció"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Edita"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Dubtós"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Heu de desar el registre abans d'afegir traduccions."
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "No hi ha cap altre idioma disponible."
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Tradueix la vista"
-
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 3a4ad81..e186b86 100644
Binary files a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo and b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.po b/share/locale/cs_CZ/LC_MESSAGES/tryton.po
index ef2dd58..6b42715 100644
--- a/share/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/share/locale/cs_CZ/LC_MESSAGES/tryton.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  1.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2012-04-23 11:06+0200\n"
 "Last-Translator: Dan Horák <dan at danny.cz>\n"
 "Language-Team: Czech\n"
@@ -14,109 +14,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "zadejte alternativní konfigurační soubor"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr ""
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "zadejte uživatelské jméno"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "zadejte číslo portu síťového serveru"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "zadejte název hostitele pro server"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr ""
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr ""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Nelze zapsat konfigurační soubor %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Vyberte akci"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Žádná akce není definována!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton spojení"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Výběr"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Váš výběr:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Uložit jako..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "zadejte alternativní konfigurační soubor"
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Potvrzení"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Výjimka při souběhu"
 
-#: tryton/common/common.py:817
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -135,50 +104,37 @@ msgstr ""
 "  - \"Porovnat\" pro zobrazení změněné verze,\n"
 "  - \"Přesto zapsat\" pro zapsání vaší verze."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Porovnat"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Přesto zapsat"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Chyba"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Nahlásit chybu"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Chyba aplikace!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Chyba:"
 
-#: tryton/common/common.py:911
 #, fuzzy, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Pro hlášení chyb musíte mít účet na <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Sledování chyb"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Uživatel:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Heslo:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -186,11 +142,9 @@ msgstr ""
 "Ta samá chyba již byla nahlášena jiným uživatelem.\n"
 "Vaše uživatelské jméno bylo přidáno na její seznam."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Založena nová chyba s ID"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -198,23 +152,18 @@ msgstr ""
 "Chyba při spojení!\n"
 "Špatné uživatelské jméno nebo heslo!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Výjimka:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
 " is fixed."
 msgstr ""
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr ""
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -222,320 +171,245 @@ msgstr ""
 "Chyba spojení!\n"
 "Nelze se připojit k serveru!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Chyba sítě!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr ""
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr ""
-
-#: tryton/common/common.py:1407
-msgid "w"
+msgid "<i>Search...</i>"
 msgstr ""
 
-#: tryton/common/common.py:1408
-msgid "d"
+msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr ""
+#, fuzzy
+msgid "Value"
+msgstr "Nepravda"
 
-#: tryton/common/common.py:1410
-msgid "m"
+msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr ""
+#, fuzzy
+msgid "Format"
+msgstr "_Normální"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
+msgid "Display format"
 msgstr ""
 
-#: tryton/common/date_widget.py:67
 #, fuzzy
-msgid "Open the calendar <F2>"
+msgid "Open the calendar"
 msgstr "Otevřít kalendář"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Výběr datumu"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "yes"
 msgstr "bajtů"
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "true"
 msgstr "Pravda"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Pravda"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Nepravda"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Konec..."
 
-#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "Příloha:"
 
-#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "Akce..."
 
-#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "_Odstranit..."
 
-#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "Importovat data..."
 
-#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "_Email..."
 
-#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "_Tisk..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr ""
+
+msgid "M"
+msgstr ""
+
+msgid "w"
+msgstr ""
+
+msgid "d"
+msgstr ""
+
+msgid "h"
+msgstr ""
+
+msgid "m"
+msgstr ""
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "_Soubor"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Uživatel"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Volby"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Nápo_věda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Hledat"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Připojit..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Odpojit"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "Databáze"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "Nová databáze..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "Obnovit databázi..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Zazálohovat databázi..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Smazat databázi"
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "Konec..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Vlastnosti..."
 
-#: tryton/gui/main.py:488
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "_Obnovit"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:519
 #, fuzzy
 msgid "_Toolbar"
 msgstr "Nástrojová lišta"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Výchozí"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Text a ikony"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Ikony"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Hlavní nabídka"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr ""
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Režim"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normální"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "Formulář"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr ""
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Kontrola pravopisu"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Pozice záložek"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Nahoře"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Vlevo"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Vpravo"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Dole"
-
-#: tryton/gui/main.py:692
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "_Předchozí"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr ""
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Email..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "Uložit nastavení"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Tipy..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "_Klávesové zkratky..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_O programu..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Zavřít záložku"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -543,7 +417,6 @@ msgstr ""
 "Bude smazána Tryton databáze.\n"
 "Opravdu chcete pokračovat?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -551,28 +424,21 @@ msgstr ""
 "Špatné heslo Tryton serveru\n"
 "Zkuste to znovu."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Přístup odepřen!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Odstranění databáze selhalo s chybovou zprávou:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Odstranění databáze selhalo!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Databáze úspěšné odstraněna!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Otevřít soubor se zálohou pro obnovu..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -580,11 +446,9 @@ msgstr ""
 "Není možné obnovit databázi chráněnou heslem.\n"
 "Záloha a obnova musí být provedeny ručně."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Databáze je chráněna heslem!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -592,19 +456,15 @@ msgstr ""
 "Špatné heslo Tryton serveru\n"
 "Zkuste to znovu."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Obnovení databáze selhalo s chybovou zprávou:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Obnova databáze selhala!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Databáze úspěšně obnovena!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -612,80 +472,58 @@ msgstr ""
 "Není možné zálohovat databázi chráněnou heslem.\n"
 "Záloha a obnova musí být provedeny ručně."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Záloha databáze selhala s chybovou zprávou:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Záloha databáze selhala!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Databáze úspěšně zazálohována!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Vytvořit nový záznam"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 #, fuzzy
 msgid "Save"
 msgstr "_Uložit"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Uložit tento záznam"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Přepnout"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Obnovit"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Obnovit"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nový"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Uložit"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Obnovit/Zpět"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Odstranit..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Zavřít kartu"
 
-#: tryton/gui/window/dbcreate.py:32
 #, fuzzy
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
@@ -696,11 +534,9 @@ msgstr ""
 "pokud je server nainstalován na tomto počítači. Klikněte na \"Změnit\" "
 "pro změnu adresy."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Není spojení!"
 
-#: tryton/gui/window/dbcreate.py:48
 #, fuzzy
 msgid ""
 "Can not connect to the server!\n"
@@ -717,28 +553,21 @@ msgstr ""
 "port (obvykle 8070) serveru nejsou blokovány.\n"
 "Klikněte na \"Změnit\" pro změnu adresy."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Vytvořit novou databázi"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "_Vytvořit"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Vytvořit novou databázi."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Nastavení serveru:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Spojení k serveru:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 #, fuzzy
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
@@ -749,22 +578,15 @@ msgstr ""
 "pokud je server nainstalován na tomto počítači. Klikněte na \"Změnit\" "
 "pro změnu adresy."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "Změnit"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Nastavení spojení k serveru..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Heslo pro Tryton server:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -772,15 +594,12 @@ msgstr ""
 "Toto je heslo pro Tryton server. Nepatří žádnému skutečnému uživateli. "
 "Toto heslo je obvykle definováno v konfiguračním souboru serveru."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nastavení nové databáze:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Název databáze:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -792,11 +611,9 @@ msgstr ""
 "Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
 "Příklad: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Výchozí jazyk:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -806,11 +623,9 @@ msgstr ""
 "instalaci budete schopni instalovat další jazyky pomocí administračního "
 "menu."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Heslo správce:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -822,23 +637,18 @@ msgstr ""
 "Uživatel: admin\n"
 "Heslo: <právě zadané heslo>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Potvrzení hesla správce:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Zadejte znovu heslo správce"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Heslo správce a jeho zopakování nejsou shodné.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Hesla nesouhlasí!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -846,15 +656,12 @@ msgstr ""
 "Databáze se stejným názvem již existuje.\n"
 "Použijte jiný název."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Databáze s tímto názvem již existuje!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Zadali jste špatné heslo pro Tryton server. Zkuste to znovu."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -866,161 +673,117 @@ msgstr ""
 " Zkontrolujte chybové hlášení pro případné další informace.\n"
 "Chybová zpráva:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Chyba při vytváření databáze!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Nelze se spojit se serverem!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Verze klienta není kompatibilní se serverem!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Nenalezena žádná databáze, musíte nějakou vytvořit!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Zálohovat databázi"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Zálohovat"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Zálohovat vybranou databázi."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Vyberte Tryton databázi pro zálohování:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Smazat databázi"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Smazat"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Smazat vybranou databázi."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Vyberte Tryton databázi pro smazání:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Přepojení k serveru:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Databáze:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Přidat"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Odstranit"
 
-#: tryton/gui/window/dblogin.py:70
 #, fuzzy
-msgid "Hostname:"
-msgstr "Uživatelské jméno:"
+msgid "Host:"
+msgstr "Port:"
 
-#: tryton/gui/window/dblogin.py:107
 #, fuzzy
 msgid "Create"
 msgstr "_Vytvořit"
 
-#: tryton/gui/window/dblogin.py:110
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Nastavení nové databáze:"
 
-#: tryton/gui/window/dblogin.py:128
 #, fuzzy
 msgid "Username:"
 msgstr "Uživatelské jméno:"
 
-#: tryton/gui/window/dblogin.py:308
 #, fuzzy
 msgid "Could not connect to the server"
 msgstr "Nelze se spojit se serverem!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Verze serveru není kompatibilní!"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Přihlášení"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Zrušit"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Zrušit spojení k Tryton serveru."
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "_Připojit"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Připojit k Tryton serveru"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:434
-#, fuzzy
-msgid "Host:"
-msgstr "Port:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Uživatelské jméno:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Obnovit databázi"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Obnovit ze souboru:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1032,222 +795,165 @@ msgstr ""
 "Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
 "Příklad: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Název nové databáze:"
 
-#: tryton/gui/window/dbrestore.py:142
 #, fuzzy
 msgid "Update Database:"
 msgstr "Zálohovat databázi"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Obnovit"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Obnovit databázi ze souboru."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Poslat nastavení programu emailem"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Příkazový řádek:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Seznam dostupných náhrad:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Komu:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Předmět: "
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Tělo:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Příloha:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Předchozí"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Předchozí záznam"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Další"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Následující záznam"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Přílohy(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Přidat přílohu k záznamu"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplikovat"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Předchozí"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "_Následující"
 
-#: tryton/gui/window/form.py:64
 #, fuzzy
 msgid "_Search"
 msgstr "Hledat"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Zobrazit záznamy..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Příloha:"
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "Akce..."
 
-#: tryton/gui/window/form.py:75
 #, fuzzy
 msgid "_Relate..."
 msgstr "_Odstranit..."
 
-#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Report..."
 msgstr "Importovat data..."
 
-#: tryton/gui/window/form.py:80
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "_Email..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "_Tisk..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "Exportovat data"
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "Importovat data..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Příloha(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Musíte vybrat právě jeden záznam!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Poslední úpravu provedl:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Opravdu chcete odstranit tento záznam?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Opravdu chcete odstranit tyto záznamy?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Záznamy neodstraněny!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Záznamy odstraněny!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Nyní pracujete s duplicitním záznamem!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Záznam uložen!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Neplatný formulář!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " z "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1255,169 +961,130 @@ msgstr ""
 "Tento záznam byl upraven\n"
 "chcete ho uložit?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Akce"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Relate"
 msgstr "_Vytvořit"
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Open related records"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Report"
 msgstr "Sestavy"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Open report"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/form.py:542
 #, fuzzy
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Tisk"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Neznámý"
 
-#: tryton/gui/window/limit.py:17
 #, fuzzy
 msgid "Limit"
 msgstr "Omezit:"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
-#: tryton/gui/window/limit.py:29
 #, fuzzy
 msgid "Limit:"
 msgstr "Omezit:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavení"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Upravit uživatelské nastavení"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nastavení"
 
-#: tryton/gui/window/preference.py:88
 #, fuzzy
 msgid "Current Password:"
 msgstr "Heslo správce:"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "Předchozí"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "Výběr"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Klávesové zkratky"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Vyjmout vybraný text"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopírovat vybraný text"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Vložit vybraný text"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Další prvek"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Předchozí prvek"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Zkratky pro relace"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Vytvořit novou relaci"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Otevřít/prohledat relaci"
 
-#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
-#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "Vytvořit novou relaci"
 
-#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "Otevřít/prohledat relaci"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Editovací prvky"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1427,7 +1094,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1453,7 +1119,6 @@ msgstr ""
 "včetně prstenců planety a dalších 12 známých měsíců. Je také hmotnější\n"
 "než všech 159 menších měsíců ve sluneční soustavě dohromady.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1464,92 +1129,70 @@ msgstr ""
 "Ze seznamu můžete zkopírovat záznamy pomocí Ctrl + C\n"
 "a vložit je do libovolné aplikace pomocí Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Tipy"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "Zobrazit příště další tip"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportovat do CSV souboru"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Předdefinované exporty</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Všechna pole</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Vymazat"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Uložit exportu"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Smazat exportu"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Pole pro export</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Možnosti</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Otevřít"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Přidat jména polí"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d záznam uložen!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d záznamů uloženo!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1560,370 +1203,273 @@ msgstr ""
 "Chybová zpráva:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Odkaz"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Přidat"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Vytvořit nový záznam"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Import CSV souboru"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatická detekce"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Pole pro import</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Soubor k importu:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Otevřít..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Parametry CSV"
 
-#: tryton/gui/window/win_import.py:124
 #, fuzzy
 msgid "Field Separator:"
 msgstr "Oddělovač polí:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Oddělovač textu:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Kódování:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Vynechané řádky:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Jméno pole"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Nejprve je nutné vybrat soubor pro import!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Chyba při otevírání CSV souboru"
 
-#: tryton/gui/window/win_import.py:289
 #, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "Chyba při zpracování souboru u pole %s.\n"
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d záznam načten!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d záznamů načteno!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Průvodce"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 #, fuzzy
 msgid "ID"
 msgstr "Najít"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Uložit jako"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Velikost obrázku"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Šířka:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Výška:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Obrázek PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Rozměry obrázku jsou příliš velké!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Soubor"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Najít"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Tělo:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 #, fuzzy
 msgid "Select a File..."
 msgstr "Vyberte soubor"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 #, fuzzy
 msgid "Select an Image..."
 msgstr "Vyberte soubor"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Všechny soubory"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Obrázky"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 #, fuzzy
 msgid "Add existing record"
 msgstr "Uložit tento záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Hledat záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Upravit vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 #, fuzzy
 msgid "Translation"
 msgstr "Přidat překlad"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Musíte uložit záznam před přidáváním překladů!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Jiný jazyk není k dispozici!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Přeložit pohled"
 
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.mo b/share/locale/de_DE/LC_MESSAGES/tryton.mo
index 57f5460..b2cdee9 100644
Binary files a/share/locale/de_DE/LC_MESSAGES/tryton.mo and b/share/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.po b/share/locale/de_DE/LC_MESSAGES/tryton.po
index 137ff6d..d203212 100644
--- a/share/locale/de_DE/LC_MESSAGES/tryton.po
+++ b/share/locale/de_DE/LC_MESSAGES/tryton.po
@@ -6,121 +6,92 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tryton 3.2.0\n"
+"Project-Id-Version: tryton 3.6.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-02 23:42+0100\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
+"PO-Revision-Date: 2015-04-16 12:32+0100\n"
 "Last-Translator: Mathias Behrle <mbehrle at m9s.biz>\n"
 "Language-Team: de_DE <tryton-de at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
+"Language: de_DE\n"
+"X-Generator: Poedit 1.6.10\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Alternative Konfigurationsdatei angeben"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "Entwicklungsmodus"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Allgemeiner Log-Level: INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "Log Level angeben: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "Anmeldename angeben"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "Port des Servers angeben"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "Name des Servers angeben"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Zu viele Argumente"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Datei \"%s\" nicht gefunden"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Kann Konfigurationsdatei '%s' nicht schreiben!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Kann locale %s nicht setzen"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Aktion wählen"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Keine Aktion angegeben!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Verbindung"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Auswahl"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Ihre Auswahl:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Speichern unter..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Diese Warnung künftig nicht mehr anzeigen"
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Fortfahren?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Bestätigung"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Aktualisierungskonflikt"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -136,71 +107,53 @@ msgstr ""
 "haben.\n"
 "  Lösungsmöglichkeiten:\n"
 "   - \"Abbrechen\" um den Speichervorgang abzubrechen\n"
-"   - \"Vergleichen\" um die geänderte Version des Datensatzes zu "
-"betrachten\n"
+"   - \"Vergleichen\" um die geänderte Version des Datensatzes zu betrachten\n"
 "   - \"Überschreiben\" um die gespeicherte Version mit Ihrer Version zu "
 "überschreiben"
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Vergleichen"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Überschreiben"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Fehler"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Fehler berichten"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Anwendungsfehler!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Fehler:"
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr ""
-"Um Fehler online berichten zu können, benötigen Sie ein Konto auf "
-"<u>%s</u>"
+"Um Fehler online berichten zu können, benötigen Sie ein Konto auf <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Fehler melden"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Anmeldename:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Passwort:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
 msgstr ""
-"Der selbe Fehlerbericht wurde bereits von einem anderen Benutzer "
-"berichtet.\n"
+"Derselbe Fehlerbericht wurde bereits von einem anderen Benutzer berichtet.\n"
 "Zu Ihrer Information wurde Ihr Benutzername auf der Interessentenliste "
 "eingetragen."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Neuer Fehlerbericht angelegt mit ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -208,27 +161,22 @@ msgstr ""
 "Verbindungsfehler!\n"
 "Anmeldename oder Passwort fehlerhaft."
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Ausnahme: "
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
-"The application will stop connecting to this server until its fingerprint"
-" is fixed."
+"The application will stop connecting to this server until its fingerprint is "
+"fixed."
 msgstr ""
 "Der Fingerabdruck des Servers hat sich seit der letzten Verbindung "
 "geändert!\n"
 "Der Client wird sich nicht mehr zu diesem Server verbinden bis der "
 "Fingerabdruck wieder dem des Servers entspricht."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Sicherheitsrisiko!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -236,297 +184,222 @@ msgstr ""
 "Verbindungsfehler!\n"
 "Kann nicht zum Server verbinden."
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Netzwerkfehler!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "J"
+msgid "<i>Search...</i>"
+msgstr "<i>Suche...</i>"
 
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Create...</i>"
+msgstr "<i>Erstelle...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "W"
+msgid "Value"
+msgstr "Wert"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "t"
+msgid "Displayed value"
+msgstr "Angezeigter Wert"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
+msgid "Format"
+msgstr "Format"
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Display format"
+msgstr "Angezeigtes Format"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Suche...</i>"
-
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Erstelle...</i>"
+msgid "Open the calendar"
+msgstr "Kalender öffnen"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Kalender öffnen <F2>"
+msgid "Date Format"
+msgstr "Datumsformat"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Auswahl Datum"
+msgid "Displayed date format"
+msgstr "Angezeigtes Datumsformat"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "J"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "Ja"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "Wahr"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "w"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Wahr"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Falsch"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Bearbeiten..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Anhänge..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Aktionen..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Beziehungen..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Berichte..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Drucken..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "J"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "W"
+
+msgid "d"
+msgstr "t"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Datei"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Benutzer"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Einstellungen"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voriten"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Suchen"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "Kein Ergebnis."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "Verbindung _trennen"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Datenbank"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Neue Datenbank..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "Datenbank _wiederherstellen..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Datenbankbackup er_stellen..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Datenbank _löschen..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Beenden..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Einstellungen..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Menü neu laden"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Menü _umschalten"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "_Globale Suche"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "_Werkzeugleiste"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Standard"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Text _und Symbole"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Symbole"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Menüleiste"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Schnelltasten ändern"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modus"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formular"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Breite/Höhe speichern"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Menüansicht speichern"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Rechtschreibkorrektur"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Position der Tabs"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Oben"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Links"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Rechts"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Unten"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Vorheriger Tab"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Nächster Tab"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Suchlimitierung..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_E-Mail..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "Einstellungen _speichern"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Tipps..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "_Schnelltasten..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Über..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "Favoriten verwalten"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -534,11 +407,9 @@ msgstr ""
 "Die folgende Aktion erfordert die Schließung aller Tabs.\n"
 "Fortfahren?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Tab schließen"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -546,7 +417,6 @@ msgstr ""
 "Sie werden eine Tryton Datenbank löschen.\n"
 "Wirklich fortfahren?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -554,44 +424,34 @@ msgstr ""
 "Falsches Passwort für den Tryton Server\n"
 "Bitte geben Sie es noch einmal ein."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Zugang verweigert!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr ""
 "Das Löschen der Datenbank ist fehlgeschlagen mit der folgenden "
 "Fehlermeldung:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Datenbank konnte nicht gelöscht werden!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Datenbank erfolgreich gelöscht."
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Backup Datei für Wiederherstellung öffnen..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
-"Es ist nicht möglich eine passwortgeschützte Datenbank "
-"wiederherzustellen.\n"
+"Es ist nicht möglich eine passwortgeschützte Datenbank wiederherzustellen.\n"
 "Backup und Wiederherstellung müssen in diesem Fall manuell durchgeführt "
 "werden."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Datenbank ist passwortgeschützt!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -599,21 +459,16 @@ msgstr ""
 "Falsches Passwort für den Tryton Server\n"
 "Bitte geben Sie es noch einmal ein."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr ""
-"Wiederherstellung der Datenbank ist fehlgeschlagen mit der Fehlermeldung:"
-"\n"
+"Wiederherstellung der Datenbank ist fehlgeschlagen mit der Fehlermeldung:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Wiederherstellung der Datenbank ist fehlgeschlagen!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Datenbank wurde erfolgreich wiederhergestellt."
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -622,182 +477,138 @@ msgstr ""
 "Backup und Wiederherstellung müssen in diesem Fall manuell durchgeführt "
 "werden."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Die Datenbanksicherung ist fehlgeschlagen mit der Fehlermeldung:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Datenbank konnte nicht gesichert werden!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Datenbank erfolgreich gesichert."
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Neu"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Neuen Datensatz erstellen"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Speichern"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Diesen Datensatz speichern"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Ansicht wechseln"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Ansicht wechseln"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Neu laden"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Neu laden"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Neu"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Speichern"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "_Ansicht wechseln"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Neu laden/_Rückgängig"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Löschen..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Tab schließen"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
-"This is the URL of the Tryton server. Use server 'localhost' and port "
-"'8000' if the server is installed on this computer. Click on 'Change' to "
-"change the address."
+"This is the URL of the Tryton server. Use server 'localhost' and port '8000' "
+"if the server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Hier wird die Adresse des Tryton-Servers angezeigt. Tragen Sie  für "
-"Server 'localhost' und Port '8000' ein, wenn der Server lokal auf diesem "
-"Computer installiert ist. Klicken Sie auf 'Bearbeiten' um diese Adresse "
-"zu ändern."
+"Hier wird die Adresse des Tryton-Servers angezeigt. Tragen Sie  für Server "
+"'localhost' und Port '8000' ein, wenn der Server lokal auf diesem Computer "
+"installiert ist. Klicken Sie auf 'Bearbeiten' um diese Adresse zu ändern."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Keine Verbindung!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
 "2. Find out on which address and port it is listening.\n"
-"3. If there is a firewall between the server and this client, make sure "
-"that the server address and port (usually 8000) are not blocked.\n"
+"3. If there is a firewall between the server and this client, make sure that "
+"the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "Kann nicht mit dem Tryton-Server verbinden!\n"
 "1. Stellen Sie fest, ob der Tryton-Server läuft.\n"
-"2. Finden Sie heraus auf welcher Adresse und unter welchem Port der "
-"Server erreichbar ist.\n"
+"2. Finden Sie heraus auf welcher Adresse und unter welchem Port der Server "
+"erreichbar ist.\n"
 "3. Wenn sich eine Firewall zwischen dem Tryton-Server und diesem Client "
 "befindet, stellen Sie sicher, dass die Tryton-Serveradresse\n"
 "und der Port (üblicherweise 8000) nicht durch die Firewall blockiert "
 "werden.\n"
 "Wählen Sie 'Bearbeiten', um die Adresse des Tryton-Servers anzupassen."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Neue Datenbank erstellen"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "_Erstellen"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Neue Datenbank erstellen"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Tryton Server Einstellungen:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Serververbindung:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
-"This is the URL of the server. Use server 'localhost' and port '8000' if "
-"the server is installed on this computer. Click on 'Change' to change the"
-" address."
+"This is the URL of the server. Use server 'localhost' and port '8000' if the "
+"server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Hier wird die Adresse des Tryton-Servers angezeigt. Tragen Sie  für "
-"Server 'localhost' und Port '8000' ein, wenn der Server lokal auf diesem "
-"Computer installiert ist. Klicken Sie auf 'Bearbeiten' um diese Adresse "
-"zu ändern."
+"Hier wird die Adresse des Tryton-Servers angezeigt. Tragen Sie  für Server "
+"'localhost' und Port '8000' ein, wenn der Server lokal auf diesem Computer "
+"installiert ist. Klicken Sie auf 'Bearbeiten' um diese Adresse zu ändern."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "_Bearbeiten"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Serververbindung konfigurieren..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Tryton Server Passwort:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
-"This is the password of the Tryton server. It doesn't belong to a real "
-"user. This password is usually defined in the trytond configuration."
+"This is the password of the Tryton server. It doesn't belong to a real user. "
+"This password is usually defined in the trytond configuration."
 msgstr ""
-"Hier wird das Administrationspasswort für den Tryton Server erwartet. "
-"Dieses Passwort ist nicht das Passwort eines Tryton Benutzers, sondern "
-"wird üblicherweise in der Konfiguration des Tryton Servers angegeben."
+"Hier wird das Administrationspasswort für den Tryton Server erwartet. Dieses "
+"Passwort ist nicht das Passwort eines Tryton Benutzers, sondern wird "
+"üblicherweise in der Konfiguration des Tryton Servers angegeben."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Datenbank Einstellungen:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Name:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! Example: "
-"tryton"
+"You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
 "Geben Sie hier den Namen der neuen Datenbank ein.\n"
 "Erlaubt sind alle Buchstaben, Zahlen und _ (Unterstrich).\n"
@@ -805,58 +616,48 @@ msgstr ""
 "'ß'!\n"
 "Beispielname: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Standard Sprache:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
-"Choose the default language that will be installed for this database. You"
-" will be able to install new languages after installation through the "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Wählen Sie die Standardsprache für die neue Datenbank. Nach der "
-"Installation ist es im Administrationsmenü möglich eine neue Sprache "
-"einzustellen."
+"Wählen Sie die Standardsprache für die neue Datenbank. Nach der Installation "
+"ist es im Administrationsmenü möglich eine neue Sprache einzustellen."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Administrator Passwort:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
 "User name: admin\n"
 "Password: <The password you set here>"
 msgstr ""
-"Wählen Sie hier ein Passwort für den Benutzer mit Administrationsrechten "
-"für die neue Datenbank. Mit diesem Passwort werden Sie sich anschließend "
-"in der neuen Datenbank anmelden können:\n"
+"Wählen Sie hier ein Passwort für den Benutzer mit Administrationsrechten für "
+"die neue Datenbank. Mit diesem Passwort werden Sie sich anschließend in der "
+"neuen Datenbank anmelden können:\n"
 "Anmeldename: admin\n"
 "Passwort: <Das hier vergebene Passwort>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Passwort Wiederholung:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr ""
-"Wiederholen Sie die Eingabe des Administrator Passworts um sicher zu "
-"gehen, dass Sie sich beim ersten Mal nicht vertippt haben."
+"Wiederholen Sie die Eingabe des Administrator Passworts um sicher zu gehen, "
+"dass Sie sich beim ersten Mal nicht vertippt haben."
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "Die beiden Eingaben für das neue Administrator Passwort stimmen nicht "
 "überein.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Passwörter sind nicht identisch!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -864,17 +665,14 @@ msgstr ""
 "Eine Datenbank mit diesem Namen existiert bereits.\n"
 "Versuchen Sie einen anderen Datenbanknamen."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Eine Datenbank mit diesem Namen existiert bereits!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr ""
-"Das für den Tryton Server eingegebene Passwort scheint falsch zu sein. "
-"Bitte nochmals eingeben."
+"Das für den Tryton Server eingegebene Passwort scheint falsch zu sein. Bitte "
+"nochmals eingeben."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -883,160 +681,117 @@ msgid ""
 msgstr ""
 "Kann wegen eines unbekannten Problems nicht mit dem Tryton-Server "
 "verbinden.\n"
-"Wenn eine Datenbank erstellt wurde, könnte diese unvollständig oder "
-"defekt sein. Es wird empfohlen die soeben erstellte Datenbank zu löschen."
-" Bitte beachten Sie die folgende Fehlermeldung für weitere Informationen "
-"zu diesem Fehler.\n"
+"Wenn eine Datenbank erstellt wurde, könnte diese unvollständig oder defekt "
+"sein. Es wird empfohlen die soeben erstellte Datenbank zu löschen. Bitte "
+"beachten Sie die folgende Fehlermeldung für weitere Informationen zu diesem "
+"Fehler.\n"
 "Fehlermeldung:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Fehler bei der Datenbankerstellung!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Kann nicht zum Server verbinden!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Die Version dieses Clients ist nicht mit dem Server kompatibel!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Keine Datenbank gefunden! Bitte eine neue Datenbank erstellen."
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Datenbank sichern"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Sichern"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Die ausgewählte Datenbank sichern"
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Wählen Sie die Tryton Datenbank aus, die gesichert werden soll:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Datenbank löschen"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Löschen"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Die ausgewählte Datenbank löschen"
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Wählen Sie die Tryton Datenbank aus, die gelöscht werden soll:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Serververbindung:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Datenbank:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Profilbearbeitung"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Hinzufügen"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Entfernen"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
-msgstr "Hostname:"
+msgid "Host:"
+msgstr "Host:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Erstellen"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Datenbankliste wird abgefragt..."
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Anmeldename:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Kann nicht zum Server verbinden!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Inkompatible Serverversion"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Anmeldung"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Abbrechen"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Abbrechen"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "_Verbinden"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Verbindung zum Tryton Server herstellen"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Profil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Profile verwalten"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Host-/Datenbankdetails"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Host:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Anmeldename:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Datenbank wiederherstellen"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Datei zur Wiederherstellung:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1048,15 +803,12 @@ msgstr ""
 "Nicht erlaubt sind Akzente, Leerzeichen oder spezielle Zeichen! \n"
 "Beispiel: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Name für neue Datenbank:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Datenbank aktualisieren:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1065,202 +817,148 @@ msgstr ""
 "einer früheren Version von Tryton erstellt wurde, eine automatische "
 "Aktualisierung der Datenbank durchgeführt."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Wiederherstellen"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Datenbank aus Datei wiederherstellen"
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "E-Mail"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Einstellungen E-Mail"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Kommandozeile:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Legende der verfügbaren Platzhalter:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "An:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Betreff:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Textkörper:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Anhang:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Vorheriger"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Vorheriger Datensatz"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Nächster"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Nächster Datensatz"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Anhang(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Einen Anhang zum Datensatz hinzufügen"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplizieren"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Vorheriger"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "_Nächster"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Suche"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "_Protokoll ansehen..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Bearbeitungen anzeigen..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "A_nhänge..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Aktion ausführen..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Beziehung öffnen..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Bericht öffnen..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Bericht per E-Mail..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "_Bericht drucken..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "Daten _exportieren..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "Daten _importieren..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anhänge(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Sie müssen mindestens einen Datensatz auswählen!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modell:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Möchten Sie diesen Datensatz wirklich löschen?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Möchten Sie diese Datensätze wirklich löschen?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Datensätze nicht gelöscht!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Datensätze gelöscht"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Sie arbeiten nun an dem duplizierten Datensatz"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Datensatz gespeichert"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Ungültiges Formular!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " von "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1268,156 +966,117 @@ msgstr ""
 "Datensatz geändert\n"
 "Soll der Datensatz gespeichert werden?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Aktion"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Aktion ausführen"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Beziehung"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Datensätze einer Beziehung öffnen"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Bericht"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Bericht öffnen"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Bericht per E-Mail senden"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Drucken"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Bericht drucken"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limitierung"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Einstellung Suchlimitierung"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Limit:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Benutzereinstellungen bearbeiten"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Einstellung"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Aktuelles Passwort:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Bearbeitung"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Bearbeitung auswählen"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Bearbeitung:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Schnelltasten"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Schnelltasten für Texteinträge"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Ausgewählten Text ausschneiden"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Ausgewählten Text kopieren"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Ausgewählten Text einfügen"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Nächstes Widget"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Vorheriges Widget"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in verknüpften Feldern"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Neue Beziehung erstellen"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Beziehung suchen/öffnen"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in Listenfelder"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Neue Zeile erstellen"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Beziehung öffnen"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Zeile zum Löschen markieren"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Löschmarkierung für Zeile aufheben"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Widgets zur Bearbeitung"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1427,7 +1086,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1447,8 +1105,7 @@ msgstr ""
 "Triton (ausgesprochen /ˈtraɪtən/ TRYE-tən, oder griechisch Τρίτων)\n"
 "ist der größte Mond des Planeten Neptun, entdeckt am 10. Oktober 1846\n"
 "von William Lassell. Er ist der einzige große Mond des Solarsystems mit\n"
-"retrograder Umlaufbahn, d.h. einer Umlaufbahn in gegensätzlicher Richtung"
-"\n"
+"retrograder Umlaufbahn, d.h. einer Umlaufbahn in gegensätzlicher Richtung\n"
 "zur Rotation des Planeten. Mit 2700 km im Durchmesser ist er der "
 "siebtgrößte\n"
 "Mond des Solarsystems. Triton verkörpert mehr als 99,5 Prozent der\n"
@@ -1456,7 +1113,6 @@ msgstr ""
 "andere Monde eingeschlossen. Er ist auch massereicher als alle\n"
 "159 bekannten Monde des Sonnensystems zusammen.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1468,7 +1124,6 @@ msgstr ""
 "Datensätze können aus Listen mit Ctrl + C kopiert werden\n"
 "und in beliebige Anwendungen mit Ctrl + V eingefügt werden.\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1478,85 +1133,64 @@ msgstr ""
 "\n"
 "Graphiken können per Rechts-Klick als PNG-Datei gespeichert werden.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Tipps"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Tipps beim Start von Tryton anzeigen"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Als CSV exportieren"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Vordefinierte Exporte</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Alle Felder</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Leeren"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Export speichern"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Export löschen"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Zu exportierende Felder</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Optionen</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Öffnen"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Feldnamen _hinzufügen"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Name"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Wie soll der Name des Exports lauten?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Definition von '%s' nicht berücksichtigen?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d Datensatz gespeichert"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d Datensätze gespeichert"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1567,349 +1201,251 @@ msgstr ""
 "Fehlermeldung:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Verknüpfung"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Entfernen <Entf>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Neuen Datensatz erstellen <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Ausgewählte Datensätze löschen <Entf>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Löschung der ausgewählten Datensätze rückgängig machen <Einfg>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Aus CSV Datei importieren"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatische Erkennung"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Zu importierende Felder</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Importdatei:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Öffnen..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSV Parameter"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Feldtrennzeichen:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Texttrennzeichen:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Kodierung:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Zu überspringende Zeilen:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Feldname"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Zuerst muss eine Importdatei ausgewählt werden!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Fehler beim öffnen der CSV-Datei"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Fehler bei der Verarbeitung der Datei in Feld %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d Datensatz importiert"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d Datensätze importiert"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "Kann Sicht für den Menübaum nicht finden"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "Kann Sicht für den Menübaum nicht anwenden"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Speichern unter..."
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Bildgröße"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Breite:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Höhe:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG Bild (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Bild ist zu groß!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_ilter"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Filterlesezeichen anzeigen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Dieses Lesezeichen entfernen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Diesen Filter als Lesezeichen hinzufügen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Lesezeichenname:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Suchen"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Heute"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Wochenansicht"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Monatsansicht"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Woche"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Datei auswählen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Klartext anzeigen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Wert hinzufügen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "\"%s\" entfernen"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Bild auswählen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Alle Dateien"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Bilder"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Bestehenden Datensatz hinzufügen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Datensatz öffnen <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Datensatz suchen <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Ausgewählten Datensatz bearbeiten <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Fett"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Kursiv"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Unterstrichen"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Schriftname"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Schriftgröße"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Linksbündig"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Zentriert"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Rechtsbündig"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Blocksatz"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Vordergrund"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Hintergrund"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Markup"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Zeichenfarbe"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Hintergrundfarbe"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Übersetzung"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Unscharf"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr ""
-"Der Datensatz muss gespeichert werden, bevor eine Übersetzung hinzugefügt"
-" werden kann!"
+"Der Datensatz muss gespeichert werden, bevor eine Übersetzung hinzugefügt "
+"werden kann!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Keine anderen Sprachen verfügbar!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Aktuelle Sicht übersetzen"
-
diff --git a/share/locale/es_AR/LC_MESSAGES/tryton.mo b/share/locale/es_AR/LC_MESSAGES/tryton.mo
index f297ec2..a6e1458 100644
Binary files a/share/locale/es_AR/LC_MESSAGES/tryton.mo and b/share/locale/es_AR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_AR/LC_MESSAGES/tryton.po b/share/locale/es_AR/LC_MESSAGES/tryton.po
index 4328ce6..f85cd30 100644
--- a/share/locale/es_AR/LC_MESSAGES/tryton.po
+++ b/share/locale/es_AR/LC_MESSAGES/tryton.po
@@ -1,14 +1,14 @@
 # Spanish (Argentina) translations for tryton.
-# Copyright (C) 2012-2014 Thymbra Latinoamericana
+# Copyright (C) 2012-2015 Thymbra Latinoamericana
 # This file is distributed under the same license as the tryton project.
-# Bruno M. Villasanti <bvillasanti at thymbra.com>, 2012-2014.
+# Bruno M. Villasanti <bvillasanti at thymbra.com>, 2012-2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tryton 3.4.0\n"
+"Project-Id-Version: tryton 3.6.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-16 23:39-0300\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
+"PO-Revision-Date: 2015-04-16 21:23-0300\n"
 "Last-Translator: Bruno M. Villasanti <bvillasanti at thymbra.com>\n"
 "Language-Team: Argentina\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -17,109 +17,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Indica un archivo de configuración alternativo"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "Modo desarrollo"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Registra toda la información con nivel INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "Indica el nivel de registro: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "Indica el usuario"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "Indica el puerto del servidor"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "Indica el nombre del servidor"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Demasiados argumentos"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "El archivo «%s» no se ha encontrado"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "¡No se ha podido escribir el archivo de configuración %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "¡No se ha definido ninguna acción!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Conexión a Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Puerto:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selección"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Su selección:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Ignorar siempre esta advertencia."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "¿Desea continuar?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmación"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Excepción de concurrencia"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -137,50 +106,37 @@ msgstr ""
 "   - \"Comparar\" para ver la versión modificada:\n"
 "   - \"Guardar de todas formas\" para guardar sus cambios."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Guardar de todas formas"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Informar de un error"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "¡Error de aplicación!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Para informar de errores debe tener una cuenta en <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Seguimiento de errores"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -189,11 +145,9 @@ msgstr ""
 "Para mantenerle informado añadiremos su usuario a la lista de interesados"
 " en este asunto."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Se creó un nuevo error con ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -201,11 +155,9 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡Nombre de usuario o contraseña incorrectos!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Excepción:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -216,12 +168,9 @@ msgstr ""
 "La aplicación no se podrá conectar a este servidor hasta que se corrija "
 "la huella de seguridad del servidor."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "¡Riesgo de seguridad!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -229,297 +178,222 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "¡Error de red!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Search...</i>"
+msgstr "<i>Buscar...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
+msgid "<i>Create...</i>"
+msgstr "<i>Crear...</i>"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
+msgid "Value"
+msgstr "Valor"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
+msgid "Displayed value"
+msgstr "Valor a mostrar"
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Format"
+msgstr "Formato"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
+msgid "Display format"
+msgstr "Formato a mostrar"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
+msgid "Open the calendar"
+msgstr "Abrir el calendario"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Abrir el calendario <F2>"
+msgid "Date Format"
+msgstr "Formato fecha"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Selección de fecha"
+msgid "Displayed date format"
+msgstr "Formato fecha a mostrar"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "sí"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "verdadero"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Verdadero"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Archivo"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suario"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opciones"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Ay_uda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Buscar"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "No se han encontrado resultados."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de datos"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nueva base de datos..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaurar base de datos..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Hacer _copia de seguridad de la base de datos..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Eliminar base de datos..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Salir..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Preferencias..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recargar menú"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Conmutar _menú"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Búsqueda _global"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Barra de herramien_tas"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "Por _defecto"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Texto _e iconos"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Iconos"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Cambiar teclas rápidas"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulario"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Guardar ancho/alto"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Guardar estado del árbol"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Corrección ortográfica"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Posición de las pestañas"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Superior"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Izquierda"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Derecha"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Inferior"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Anterior pestaña"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Siguiente pestaña"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
-msgstr "Límite de búsqueda..."
+msgstr "_Límite de búsqueda..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Guardar opciones"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Conse_jos..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binaciones de teclas..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Acerca de..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Administrar favoritos"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,11 +401,9 @@ msgstr ""
 "La acción seleccionada requiere cerrar todas las pestañas. \n"
 "¿Desea continuar?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Cerrar pestaña"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -539,7 +411,6 @@ msgstr ""
 "Va a eliminar una base de datos de Tryton.\n"
 "¿Está seguro que quiere continuar?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -547,28 +418,21 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "¡Acceso denegado!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "La eliminación de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "¡Falló la eliminación de la base de datos!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "¡La base de datos se ha eliminado satisfactoriamente!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Abrir una copia de seguridad para restaurar..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -576,11 +440,9 @@ msgstr ""
 "No es posible restaurar una base de datos protegida con contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "¡La base de datos está protegida por contraseña!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -588,19 +450,15 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "La restauración de la base de datos ha fallado con el error:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "¡La restauración de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "¡La base de datos se ha restaurado correctamente!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -608,79 +466,57 @@ msgstr ""
 "No es posible hacer copia de una base de datos protegida por contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "La extracción de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "¡La extracción de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "¡La copia de seguridad de la base de datos ha finalizado correctamente!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -690,11 +526,9 @@ msgstr ""
 "puerto «8000» si el servidor está instalado en este ordenador. Pulse en "
 "«Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "¡No hay conexión!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -711,28 +545,21 @@ msgstr ""
 "bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Crear nueva base de datos"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_rear"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Crear la nueva base de datos."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuración del servidor:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Conexión con el servidor:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -742,38 +569,28 @@ msgstr ""
 "«8000» si el servidor está instalado en este ordenador. Pulse en "
 "«Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_ambiar"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configurar la conexión con el servidor..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Contraseña del servidor Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
 msgstr ""
 "Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
-"real. Esta contraseña se suele definir en la configuración de trytond."
+"real. Esta contraseña se define en la configuración de trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nueva configuración de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nombre de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -784,11 +601,9 @@ msgstr ""
 "Puede utilizar caracteres alfanuméricos o _ (subrayado)\n"
 "¡Evite cualquier acento, espacio o caracteres especiales! Ejemplo: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Idioma por defecto:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -798,11 +613,9 @@ msgstr ""
 "Podrá instalar nuevos idiomas después de la instalación, a través del "
 "menú de administración."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -814,25 +627,20 @@ msgstr ""
 "Nombre de usuario: admin\n"
 "Contraseña: <La contraseña que introduzca aquí>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Confirme la contraseña del Administrador:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Teclee la contraseña del Administrador de nuevo"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "La nueva contraseña del Administrador no coincide con el campo de "
 "confirmación.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "¡Las contraseñas no coinciden!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -840,15 +648,12 @@ msgstr ""
 "Ya existe una base de datos con el mismo nombre.\n"
 "Inténtelo con otro nombre de base de datos."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "¡Ya existe una base de datos con este nombre!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "La contraseña del servidor Tryton no es correcta. Inténtelo de nuevo."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -861,154 +666,111 @@ msgstr ""
 "adicional.\n"
 "Mensaje de error:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "¡Se ha producido un error al crear la base de datos!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "¡No se ha podido conectar al servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "¡Esta versión del cliente no es compatible con el servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "¡No se ha encontrado ninguna base de datos, debe crear una!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realizar copia de seguridad de una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Copia de seguridad"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Hacer copia de seguridad de la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Elija una base de datos Tryton para hacer una copia de seguridad:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Eliminar una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Eliminar"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Eliminar la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Elija la base de datos Tryton a eliminar:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Conexión al servidor:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de datos:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor de perfiles"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Crear"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Recuperando lista de bases de datos"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "No se ha podido conectar al servidor"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "El cliente no es compatible con la versión del servidor"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Usuario"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar conexión al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Conectar al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Administrar perfiles"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Información del Servidor / Base de datos"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaurar base de datos"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Archivo a restaurar:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1020,15 +782,12 @@ msgstr ""
 "¡Evite todos los acentos, espacios, o caracteres especiales! \n"
 "Ejemplo: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nombre de la nueva base de datos:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Actualizar base de datos:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1036,202 +795,148 @@ msgstr ""
 "Márquelo para que se realice una actualización automática de la base de "
 "datos desde una versión anterior de Tryton, después de restaurarla."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaurar"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaurar la base de datos desde un archivo."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Configuración del programa de correo electrónico"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línea de comando:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leyenda de palabras clave disponibles:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Asunto:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Mensaje:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunto:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Registro anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Informe..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "¡Debe seleccionar un registro!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "¡Los registros no se han eliminado!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "¡Registros eliminados!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "¡Ahora está trabajando en el registro duplicado!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "¡Registro guardado!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "¡Formulario no válido!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1239,156 +944,117 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "_Relacionado"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límite"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferencias del límite de búsqueda"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límite:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Editar preferencias de usuario"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contraseña actual:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Versión"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Selecione una versión"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Versión:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Combinaciones de teclas"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Atajos en campos de texto"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Cortar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copiar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Pegar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Campo siguiente"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Atajos en campos de relación"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crear nueva relación"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relación"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Atajos en listas"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crear nueva línea"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Abrir relación"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Controles de edición"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1398,7 +1064,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1426,7 +1091,6 @@ msgstr ""
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1438,7 +1102,6 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1449,85 +1112,64 @@ msgstr ""
 "Puede guardar los gráficos como imagen PNG haciendo clic con el botón "
 "derecho sobre el mismo.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Consejos"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Limpiar"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar exportación"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "¿Sobrescribir definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "¡Se ha guardado %d registro!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "¡Se han guardado %d registros!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1538,347 +1180,250 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detectar"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Separador de campo:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nombre del campo"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "¡Primero debe elegir un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "¡Se ha importado %d registro!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "¡Se han importado %d registros!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "No se ha podido obtener el estado del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "No se ha podido establecer el estado del árbol"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Guardar como"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Tamaño de la imagen"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Anchura:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Imagen PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "¡El tamaño de la imagen es muy grande!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Muestra las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Eliminar de las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Guardar como búsqueda favorita"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Buscar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Hoy"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vista semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Seleccione un archivo..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Seleccione una imagen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Imágenes"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Añadir un registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
-msgstr "Eliminar registro seleccionado <Supr>"
+msgstr "Eliminar registro seleccionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Cambiar texto a negrita"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Cambiar texto a cursiva"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Cambiar texto a subrallado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Elegir tipo de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Elegir tamaño de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Alinear la línea a la izquierda"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centrar la línea"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Alinear la línea a la derecha"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justificar la línea para rellenar ventana"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Cambiar el texto principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Cambiar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Cambiar el texto de marcado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Seleccionar color principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Seleccionar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traducción"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Confuso"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "¡Debe guardar el registro antes de añadir traducciones!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "¡No hay otro idioma disponible!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Traducir vista"
 
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.mo b/share/locale/es_CO/LC_MESSAGES/tryton.mo
index ed0df30..e033a54 100644
Binary files a/share/locale/es_CO/LC_MESSAGES/tryton.mo and b/share/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.po b/share/locale/es_CO/LC_MESSAGES/tryton.po
index 828f3d8..d0d4a7e 100644
--- a/share/locale/es_CO/LC_MESSAGES/tryton.po
+++ b/share/locale/es_CO/LC_MESSAGES/tryton.po
@@ -8,119 +8,89 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 3.4.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-14 22:25-0500\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
+"PO-Revision-Date: 2015-04-16 15:41-0500\n"
 "Last-Translator: Oscar Alvarez <oscar.alvarez.montero at gmail.com>\n"
 "Language-Team: Colombia <oscar.alvarez.montero at gmail.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
+"X-Generator: Poedit 1.5.4\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Especifique un archivo de configuración alternativo"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "modo desarrollo"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Registra toda la información con nivel INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "especifique el nivel log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "especifique el usuario"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "especifique el puerto del servidor"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "especifique el nombre del servidor"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Demasiados argumentos"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "No se ha encontró el archivo \"%s\""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "No es posible modificar el archivo de configuración %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "No hay acción definida!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Conexión a Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Puerto:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selección"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Su selección:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Ignorar siempre esta advertencia."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Desea continuar?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmación"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Excepción de Concurrencia"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,63 +108,48 @@ msgstr ""
 "   - \"Comparar\" para ver la versión modificada:\n"
 "   - \"Guardar de todas formas\" para guardar sus cambios."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Guardar de todas formas"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Reportar Fallo"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Error de Aplicación!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Para reportar fallos debe tener una cuenta en <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Seguimiento de Fallos"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
 msgstr ""
 "El mismo fallo ya fue notificado por otro usuario.\n"
-"Para mantenerle informado añadiremos su usuario a la lista de interesados"
-" en este asunto."
+"Para mantenerle informado añadiremos su usuario a la lista de interesados en "
+"este asunto."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Se creó un nuevo fallo con ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,27 +157,21 @@ msgstr ""
 "Error de conexión!\n"
 "Nombre de usuario o contraseña incorrectos!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Excepción:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
-"The application will stop connecting to this server until its fingerprint"
-" is fixed."
+"The application will stop connecting to this server until its fingerprint is "
+"fixed."
 msgstr ""
-"La huella de seguridad del servidor ha cambiado desde la última conexión!"
-"\n"
+"La huella de seguridad del servidor ha cambiado desde la última conexión!\n"
 "La aplicación detendrá la conexión al servidor hasta que se corrija la "
 "huella de seguridad."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Riesgo de seguridad!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -230,297 +179,222 @@ msgstr ""
 "Error de conexión!\n"
 "No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Error de Red!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
-
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
-
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
-
-#: tryton/common/completion.py:21
 msgid "<i>Search...</i>"
 msgstr "<i>Buscar...</i>"
 
-#: tryton/common/completion.py:22
 msgid "<i>Create...</i>"
 msgstr "<i>Crear...</i>"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
+msgid "Value"
+msgstr "Valor"
+
+msgid "Displayed value"
+msgstr "Valor Mostrado"
+
+msgid "Format"
+msgstr "Formato"
+
+msgid "Display format"
+msgstr "Formato a Mostrar"
+
+msgid "Open the calendar"
 msgstr "Abrir el calendario <F2>"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Selección de Fecha"
+msgid "Date Format"
+msgstr "Formato de Fecha"
+
+msgid "Displayed date format"
+msgstr "Fromato de Fecha Mostrado"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "s"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "sí"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "verdadero"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Verdadero"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "_Editar..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
-msgstr "Relacionado..."
+msgstr "Relación..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Reporte..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo Electrónico..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Archivo"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suario"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opciones"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Ay_uda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Buscar"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "No hay resultados."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de datos"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nueva Base de Datos..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaurar Base de Datos..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "_Copia de Seguridad de la Base de Datos..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Eliminar Base de Datos..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Salir..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Preferencias..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recargar Menú"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Conmutar _Menú"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "_Busqueda Global"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Barra de herramien_tas"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "Por _Defecto"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Texto e Iconos"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Iconos"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Barra de _Menú"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Cambiar Teclas Rápidas"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_Celular"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulario"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Guardar ancho/alto"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Guardar Estado de Árbol"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Corrección Ortográfica"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Posición de Pestañas"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Superior"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Izquierda"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Derecha"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Inferior"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Anterior Pestaña"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Siguiente Pestaña"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Límite de Búsqueda..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Correo Electrónico..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Guardar Opciones"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Conse_jos..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binaciones de teclas..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Acerca de..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Administrar Favoritos"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -528,11 +402,9 @@ msgstr ""
 "La acción seleccionada requiere cerrar todas las pestañas. \n"
 "¿Desea continuar?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Cerrar pestaña"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -540,7 +412,6 @@ msgstr ""
 "Va a eliminar una base de datos de Tryton.\n"
 "Está seguro que quiere continuar?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -548,28 +419,22 @@ msgstr ""
 "La contraseña del Servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "¡Acceso denegado!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
-msgstr "La eliminación de la base de datos ha fallado con el mensaje de error:\n"
+msgstr ""
+"La eliminación de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Falló la eliminación de la base de datos!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "La base de datos se ha eliminado satisfactoriamente!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Abrir una Copia de Seguridad a Restaurar..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -577,11 +442,9 @@ msgstr ""
 "No es posible restaurar una base de datos protegida con contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "La base de datos está protegida por contraseña!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -589,19 +452,15 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "La restauración de la base de datos ha fallado con el error:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "¡La restauración de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "¡La base de datos se ha restaurado correctamente!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -609,201 +468,156 @@ msgstr ""
 "No es posible hacer copia de una base de datos protegida por contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
-msgstr "La extracción de la base de datos ha fallado con el mensaje de error:\n"
+msgstr ""
+"La extracción de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "La extracción de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
-msgstr "¡La copia de seguridad de la base de datos ha finalizado correctamente!"
+msgstr ""
+"¡La copia de seguridad de la base de datos ha finalizado correctamente!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Cambiar"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
-"This is the URL of the Tryton server. Use server 'localhost' and port "
-"'8000' if the server is installed on this computer. Click on 'Change' to "
-"change the address."
+"This is the URL of the Tryton server. Use server 'localhost' and port '8000' "
+"if the server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el "
-"puerto «8000» si el servidor está instalado en este ordenador. Pulse "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el puerto "
+"«8000» si el servidor está instalado en este ordenador. Pulse «Cambiar» para "
+"cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "No hay conexión!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
 "2. Find out on which address and port it is listening.\n"
-"3. If there is a firewall between the server and this client, make sure "
-"that the server address and port (usually 8000) are not blocked.\n"
+"3. If there is a firewall between the server and this client, make sure that "
+"the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No se ha podido conectar al servidor!\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que "
-"la dirección y el puerto (normalmente 8000) del servidor no están "
-"bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la "
+"dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Crear nueva base de datos"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_rear"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Crear la nueva base de datos."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuración del Servidor:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Conexión con el servidor:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
-"This is the URL of the server. Use server 'localhost' and port '8000' if "
-"the server is installed on this computer. Click on 'Change' to change the"
-" address."
+"This is the URL of the server. Use server 'localhost' and port '8000' if the "
+"server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Esta es la URL del servidor. Use el servidor «localhost» y el puerto "
-"«8000» si el servidor está instalado en este ordenador. Pulse en "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor. Use el servidor «localhost» y el puerto «8000» "
+"si el servidor está instalado en este ordenador. Pulse en «Cambiar» para "
+"cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_ambiar"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configurar la conexión con el servidor..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Contraseña del Servidor Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
-"This is the password of the Tryton server. It doesn't belong to a real "
-"user. This password is usually defined in the trytond configuration."
+"This is the password of the Tryton server. It doesn't belong to a real user. "
+"This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
-"real. Esta contraseña se suele definir en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real. "
+"Esta contraseña se suele definir en la configuración de trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nueva configuración de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nombre de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! Example: "
-"tryton"
+"You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
 "Elija un nombre para la nueva base de datos.\n"
 "Puede utilizar caracteres alfanuméricos o _ (subrayado)\n"
 "¡Evite cualquier acento, espacio o caracteres especiales! Ejemplo: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Idioma por defecto:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
-"Choose the default language that will be installed for this database. You"
-" will be able to install new languages after installation through the "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Escoja el idioma por defecto que se instalará para esta base de datos. "
-"Podrá instalar nuevos idiomas después de la instalación, a través del "
-"menú de administración."
+"Escoja el idioma por defecto que se instalará para esta base de datos. Podrá "
+"instalar nuevos idiomas después de la instalación, a través del menú de "
+"administración."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -815,25 +629,20 @@ msgstr ""
 "Nombre de usuario: admin\n"
 "Contraseña: <La contraseña que introduzca aquí>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Confirme la contraseña del Administrador:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Teclee la contraseña del Administrador de nuevo"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "La nueva contraseña del Administrador no coincide con el campo de "
 "confirmación.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "¡Las contraseñas no coinciden!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -841,15 +650,12 @@ msgstr ""
 "Ya existe una base de datos con el mismo nombre.\n"
 "Inténtelo con otro nombre de base de datos."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Ya existe una base de datos con este nombre!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "La contraseña del servidor Tryton no es correcta. Inténtelo de nuevo."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -862,154 +668,111 @@ msgstr ""
 "adicional.\n"
 "Mensaje de error:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Se ha producido un error al crear la base de datos!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "No se ha podido conectar al servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Esta versión del cliente no es compatible con el servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "No se ha encontrado ninguna base de datos, debe crear una!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realizar copia de seguridad de una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Copia de seguridad"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Hacer copia de seguridad de la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Elija una base de datos Tryton para hacer una copia de seguridad:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Eliminar una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Eliminar"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Eliminar la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Elija la base de datos Tryton a eliminar:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Conexión al servidor:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de Datos:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Perfiles"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Agregar"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Crear"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Recuperando lista de bases de datos"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "No se ha podido conectar al servidor"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Incompatible versión del servidor"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Usuario"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar conexión al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Conectar al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Administrar perfiles"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Información del Servidor / Base de datos"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaurar base de datos"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Archivo a restaurar:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1021,218 +784,161 @@ msgstr ""
 "¡Evite todos los acentos, espacios, o caracteres especiales! \n"
 "Ejemplo: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nombre de la nueva base de datos:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Actualizar base de datos:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr ""
-"Confirme si desea realizar una actualización automática de la base de "
-"datos desde una versión anterior de Tryton, después de restaurarla."
+"Confirme si desea realizar una actualización automática de la base de datos "
+"desde una versión anterior de Tryton, después de restaurarla."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaurar"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaurar la base de datos desde un archivo."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Configuración del Programa de Correo Electrónico"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línea de comando:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leyenda de Palabras Clave Disponibles:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Asunto:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Mensaje:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunto:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Registro Anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro Siguiente"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Agregar un adjunto al registro"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Mostrar revisiones..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
-msgstr "_Relacionado..."
+msgstr "_Relación..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
-msgstr "_Informes..."
+msgstr "_Reporte..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Correo Electrónico..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
-msgstr "_Exportar datos..."
+msgstr "_Exportar Datos..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
-msgstr "_Importar datos..."
+msgstr "_Importar Datos..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Debe seleccionar un registro!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Creado por Usuario:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Fecha de Creación:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Última Modificación por:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Fecha de Última Modificación:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Los registros no se han eliminado!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Registros eliminados!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Está trabajando ahora registro(s) duplicado(s)!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "¡Registro guardado!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "¡Formulario no válido!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1240,156 +946,117 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Lanzar acción"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
-msgstr "Relacionado"
+msgstr "Relación"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
-msgstr "Informes"
+msgstr "Reporte"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Abrir reporte"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Reporte por email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimir reporte"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límite"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferencias de Límite de Búsqueda"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límite:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Editar Preferencias de Usuario"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contraseña Actual:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Revisión"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Seleccione una revisión"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Revisión:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Combinaciones de Teclas"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Atajos de Campos de Texto"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Cortar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copiar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Pegar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Campo siguiente"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Atajos en Campos de Relación"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crear nueva relación"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relación"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Atajos en Listas"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crear nueva línea"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Abrir relación"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Widgets de Edición"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1399,7 +1066,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1422,12 +1088,10 @@ msgstr ""
 "con una órbita retrógrada, esto es, que orbita en dirección opuesta\n"
 "a la rotación del planeta.  Con 2.700 km de diámetro. es la séptima luna\n"
 "en tamaño del Sistema Solar. Triton cuenta con más del 99.5 porciento\n"
-"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta "
-"y\n"
+"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta y\n"
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1439,7 +1103,6 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1450,85 +1113,64 @@ msgstr ""
 "Puedes guardar los gráficos como imagen PNG haciendo clic con el botón "
 "derecho sobre el mismo.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Consejos"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Limpiar"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar Exportación"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar Exportación"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobreescribir '%s' definición?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d registro guardado!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d registros guardados!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1539,347 +1181,249 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-Detectar"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Separador de Campo:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Líneas a Omitir:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nombre del campo"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d registro importado!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d registros importados!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Creado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Fecha de Creación"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Modificado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Fecha de Modificación"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "No es posible encontrar el estado de la vista de árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "No se puede fijar la vista de estado del árbol"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Guardar Como"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Tamaño de la Imagen"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Anchura:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Imagen PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "La imagen es muy grande!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Mostrar marcadores de filtros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Eliminar este marcador"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Marcar este filtro"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Nombre del Marcador:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Buscar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Hoy"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vista Semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vista Mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Seleccione un archivo..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Agregar valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Seleccione una Imagen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Imágenes"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Agregar registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Eliminar registro seleccionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Cambiar texto a negrita"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Cambiar texto a cursiva"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Cambiar texto a subrallado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Escojer tipo de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Escojer tamaño de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Alinear la línea a la izquierda"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centrar la línea"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Alinear la línea a la derecha"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justificar la línea para rellenar ventana"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Cambiar el texto principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Cambiar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Cambiar el texto de marcado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Seleccionar color principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Seleccionar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traducción"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
-msgstr "Confuso"
+msgstr "Dudosa"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Debe guardar el registro antes de añadir traducciones!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "No hay otro idioma disponible!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Traducir vista"
-
diff --git a/share/locale/es_EC/LC_MESSAGES/tryton.mo b/share/locale/es_EC/LC_MESSAGES/tryton.mo
index d8b0f3c..f35af54 100644
Binary files a/share/locale/es_EC/LC_MESSAGES/tryton.mo and b/share/locale/es_EC/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_EC/LC_MESSAGES/tryton.po b/share/locale/es_EC/LC_MESSAGES/tryton.po
index a43c698..b9dd166 100644
--- a/share/locale/es_EC/LC_MESSAGES/tryton.po
+++ b/share/locale/es_EC/LC_MESSAGES/tryton.po
@@ -1,5 +1,5 @@
 # Spanish (Ecuador) translations for tryton.
-# Copyright (C) 2014 Fabyc
+# Copyright (C) 2014-2015 Fabian Calle
 # This file is distributed under the same license as the tryton project.
 # FIRST AUTHOR <fabianc7 at gmail.com>, 2014.
 # Fabian Calle <fabianc7 at gmail.com>, 2014.
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 3.3.dev0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2014-09-01 15:13-0500\n"
 "Last-Translator: Fabian Calle <fabianc7 at gmail.com>\n"
 "Language-Team: Ecuador <fabianc7 at gmail.com>\n"
@@ -18,109 +18,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Especifique un archivo de configuración alternativo"
 
-#: tryton/config.py:87
 msgid "development mode"
-msgstr "modo desarrollo"
+msgstr "Modo desarrollo"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Registra toda la información con nivel INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "especifique el nivel log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr "Indica el nivel de log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "especifique el usuario"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "especifique el puerto del servidor"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "especifique el nombre del servidor"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Demasiados argumentos"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
-msgstr "No se ha encontró el archivo \"%s\""
+msgstr "No se encontró el archivo \"%s\""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "¡No es posible escribir el archivo de configuración %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "¡No se ha definido ninguna acción!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Conexión a Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Puerto:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selección"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Su selección:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Ignorar siempre esta advertencia."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "¿Desea continuar?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmación"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Excepción de Concurrencia"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,50 +107,37 @@ msgstr ""
 "   - \"Comparar\" para ver la versión modificada:\n"
 "   - \"Guardar de todas formas\" para guardar sus cambios."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Guardar de todas formas"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Informar Error"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "¡Error de Aplicación!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Para informar errores debe tener una cuenta en <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Seguimiento de Errores"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -190,11 +146,9 @@ msgstr ""
 "Para mantenerle informado añadiremos su usuario a la lista de interesados"
 " en este asunto."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Se creó un nuevo error con ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,27 +156,22 @@ msgstr ""
 "Error de conexión!\n"
 "¡Nombre de usuario o contraseña incorrectos!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Excepción:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
 " is fixed."
 msgstr ""
-"La huella de seguridad del servidor ha cambiado desde la última conexión!"
+"¡La huella de seguridad del servidor ha cambiado desde la última conexión!"
 "\n"
 "La aplicación detendrá la conexión al servidor hasta que se corrija la "
 "huella de seguridad."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "¡Riesgo de Seguridad!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -230,297 +179,222 @@ msgstr ""
 "¡Error de conexión!\n"
 "¡No ha sido posible conectarse al servidor!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "¡Error de Red!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Search...</i>"
+msgstr "<i>Buscar...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
+msgid "<i>Create...</i>"
+msgstr "<i>Crear...</i>"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
+msgid "Value"
+msgstr "Valor"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
+msgid "Displayed value"
+msgstr "Valor mostrado"
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Format"
+msgstr "Formato"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
+msgid "Display format"
+msgstr "Formato a mostrar"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
+msgid "Open the calendar"
+msgstr "Abrir el calendario"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Abrir el calendario <F2>"
+msgid "Date Format"
+msgstr "Formato de fecha"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Selección de Fecha"
+msgid "Displayed date format"
+msgstr "Formato de fecha mostrado"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "s"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "sí"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "verdadero"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Verdadero"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo Electrónico..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Archivo"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suario"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opciones"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Ay_uda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Buscar"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "No se han encontrado resultados."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de datos"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nueva Base de Datos..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaurar Base de Datos..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
-msgstr "Realizar _Copia de Seguridad de la Base de Datos..."
+msgstr "Realizar _copia de seguridad de la base de datos..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Eliminar Base de Datos..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Salir..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Preferencias..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recargar Menú"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Conmutar _Menú"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Búsqueda _Global"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Barra de herramien_tas"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "Por _Defecto"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Texto e Iconos"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Iconos"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Barra de _Menú"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Cambiar Teclas Rápidas"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
-msgstr "_Celular"
+msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulario"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Guardar ancho/alto"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Guardar Estado de Árbol"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Corrección Ortográfica"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Posición de las Pestañas"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Superior"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Izquierda"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Derecha"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Inferior"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
-msgstr "_Anterior Pestaña"
+msgstr "_Pestaña Anterior"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Siguiente Pestaña"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Límite de Búsqueda..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
-msgstr "_Correo Electrónico..."
+msgstr "_Correo electrónico..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Guardar Opciones"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Conse_jos..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
-msgstr "Com_binaciones de teclas..."
+msgstr "_Atajos de teclado..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Acerca de..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
-msgstr "_Administrar Menús Favoritos"
+msgstr "_Administrar favoritos"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -528,11 +402,9 @@ msgstr ""
 "La acción seleccionada requiere cerrar todas las pestañas. \n"
 "¿Desea continuar?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Cerrar pestaña"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -540,36 +412,28 @@ msgstr ""
 "Va a eliminar una base de datos de Tryton.\n"
 "¿Está seguro que quiere continuar?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
 msgstr ""
-"La contraseña del Servidor Tryton es incorrecta.\n"
+"La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "¡Acceso denegado!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "La eliminación de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Falló la eliminación de la base de datos!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
-msgstr "La base de datos se ha eliminado satisfactoriamente!"
+msgstr "¡La base de datos se ha eliminado satisfactoriamente!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
-msgstr "Abrir una Copia de Seguridad para Restaurar..."
+msgstr "Abrir una Copia de Seguridad para restaurar..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -577,11 +441,9 @@ msgstr ""
 "No es posible restaurar una base de datos protegida con contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
-msgstr "La base de datos está protegida por contraseña!"
+msgstr "¡La base de datos está protegida con contraseña!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -589,19 +451,15 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
-msgstr "La restauración de la base de datos ha fallado con el error:\n"
+msgstr "La restauración de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "¡La restauración de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "¡La base de datos se ha restaurado correctamente!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -609,93 +467,69 @@ msgstr ""
 "No es posible hacer copia de una base de datos protegida por contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "La extracción de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "¡La extracción de la base de datos ha fallado!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "¡La copia de seguridad de la base de datos ha finalizado correctamente!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Cambiar Vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
 "change the address."
 msgstr ""
 "Esta es la URL del servidor Tryton. Use el servidor «localhost» y el "
-"puerto «8000» si el servidor está instalado en este ordenador. Pulse "
+"puerto «8000» si el servidor está instalado en este computador. Pulse "
 "«Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "¡No hay conexión!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -712,53 +546,39 @@ msgstr ""
 "bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Crear nueva base de datos"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_rear"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Crear la nueva base de datos."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuración del Servidor:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Conexión con el servidor:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
 " address."
 msgstr ""
 "Esta es la URL del servidor. Use el servidor «localhost» y el puerto "
-"«8000» si el servidor está instalado en este ordenador. Pulse en "
+"«8000» si el servidor está instalado en este computador. Pulse en "
 "«Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_ambiar"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configurar la conexión con el servidor..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Contraseña del Servidor Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -766,15 +586,12 @@ msgstr ""
 "Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
 "real. Esta contraseña se suele definir en la configuración de trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nueva configuración de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nombre de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -785,11 +602,9 @@ msgstr ""
 "Puede utilizar caracteres alfanuméricos o _ (subrayado)\n"
 "¡Evite cualquier acento, espacio o caracteres especiales! Ejemplo: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Idioma por defecto:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -799,11 +614,9 @@ msgstr ""
 "Podrá instalar nuevos idiomas después de la instalación, a través del "
 "menú de administración."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -815,25 +628,20 @@ msgstr ""
 "Nombre de usuario: admin\n"
 "Contraseña: <La contraseña que introduzca aquí>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
-msgstr "Confirme la contraseña del Administrador:"
+msgstr "Confirme la contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Teclee la contraseña del Administrador de nuevo"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "La nueva contraseña del Administrador no coincide con el campo de "
 "confirmación.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "¡Las contraseñas no coinciden!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -841,15 +649,12 @@ msgstr ""
 "Ya existe una base de datos con el mismo nombre.\n"
 "Inténtelo con otro nombre de base de datos."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Ya existe una base de datos con este nombre!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "La contraseña del servidor Tryton no es correcta. Inténtelo de nuevo."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -862,154 +667,111 @@ msgstr ""
 "adicional.\n"
 "Mensaje de error:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
-msgstr "Se ha producido un error al crear la base de datos!"
+msgstr "¡Se ha producido un error al crear la base de datos!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "No se ha podido conectar al servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
-msgstr "Esta versión del cliente no es compatible con el servidor!"
+msgstr "¡Esta versión del cliente no es compatible con el servidor!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "No se ha encontrado ninguna base de datos, debe crear una!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realizar copia de seguridad de una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Copia de seguridad"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
-msgstr "Hacer copia de seguridad de la base de datos elegida."
+msgstr "Realizar copia de seguridad de la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
-msgstr "Elija una base de datos Tryton para hacer una copia de seguridad:"
+msgstr "Elija una base de datos Tryton para realizar una copia de seguridad:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Eliminar una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Eliminar"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Eliminar la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Elija la base de datos Tryton a eliminar:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Conexión al servidor:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de Datos:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor de Perfiles"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
-msgstr "_Agregar"
+msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Crear"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Recuperando lista de bases de datos"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "No se ha podido conectar al servidor"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "El cliente no es compatible con la versión del servidor"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
-msgstr "Usuario"
+msgstr "Conexión"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar conexión al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Conectar al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Administrar perfiles"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Información del Servidor / Base de datos"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaurar base de datos"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Archivo a restaurar:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1021,15 +783,12 @@ msgstr ""
 "¡Evite todos los acentos, espacios, o caracteres especiales! \n"
 "Ejemplo: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nombre de la nueva base de datos:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Actualizar base de datos:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1037,202 +796,148 @@ msgstr ""
 "Márquelo para que se realice una actualización automática de la base de "
 "datos desde una versión anterior de Tryton, después de restaurarla."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaurar"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaurar la base de datos desde un archivo."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
-msgstr "Configuración del Programa de Correo Electrónico"
+msgstr "Configuración del programa de correo electrónico"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línea de comando:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leyenda de Palabras Clave Disponibles:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Asunto:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Mensaje:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunto:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Registro Anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro Siguiente"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
-msgstr "Agregar un adjunto al registro"
+msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Ver _Registro..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
-msgstr "_Correo Electrónico..."
+msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "¡Debe seleccionar un registro!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Creado por Usuario:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Fecha de Creación:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Última Modificación por:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Fecha de Última Modificación:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "¡Los registros no se han eliminado!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "¡Registros eliminados!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "¡Ahora está trabajando en registro(s) duplicado(s)!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "¡Registro guardado!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "¡Formulario no válido!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1240,156 +945,117 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Lanzar acción"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Relacionado"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límite"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferencias de Límite de Búsqueda"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límite:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Editar Preferencias de Usuario"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contraseña Actual:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Versión"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Seleccione una versión"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Versión:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
-msgstr "Combinaciones de Teclas"
+msgstr "Atajos de teclado"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
-msgstr "Atajos de Campos de Texto"
+msgstr "Atajos en campos de texto"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Cortar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copiar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Pegar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Campo siguiente"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
-msgstr "Atajos en Campos de Relación"
+msgstr "Atajos en campos de relación"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crear nueva relación"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relación"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
-msgstr "Atajos en Listas"
+msgstr "Atajos en listas"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crear nueva línea"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Abrir relación"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarcar línea para eliminación"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Controles de Edición"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1399,7 +1065,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1427,7 +1092,6 @@ msgstr ""
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1439,7 +1103,6 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1447,88 +1110,67 @@ msgid ""
 msgstr ""
 "<b>Exportar gráficos</b>\n"
 "\n"
-"Puedes guardar los gráficos como imagen PNG haciendo clic con el botón "
+"Puede guardar los gráficos como imagen PNG haciendo clic con el botón "
 "derecho sobre el mismo.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Consejos"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
-msgstr "<b>Exportaciones predeterminadas</b>"
+msgstr "<b>Exportaciones predefinidas</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Limpiar"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar Exportación"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar Exportación"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
-msgstr "¿Desea sobreescribir la definición '%s'?"
+msgstr "¿Sobreescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "¡%d registro guardado!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "¡%d registros guardados!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1539,347 +1181,250 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
-msgstr "Agregar"
+msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-Detectar"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Separador de Campo:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
-msgstr "Líneas a Omitir:"
+msgstr "Líneas a omitir:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nombre del campo"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
-msgstr "Primero debe elegir un archivo a importar!"
+msgstr "¡Primero debe seleccionar un archivo a importar!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "¡%d registro importado!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "¡%d registros importados!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Creado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Fecha de Creación"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Modificado por Usuario"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Fecha de Modificación"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
-msgstr "No es posible obtener el estado de la vista de árbol"
+msgstr "No se puede obtener el estado de la vista de árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
-msgstr "No se puede establecer la vista de estado del árbol"
-
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
+msgstr "No se puede establecer el estado de la vista de árbol"
+
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Guardar Como"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Tamaño de la Imagen"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Anchura:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Imagen PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "¡El tamaño de la imagen es muy grande.!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
-msgstr "Mostrar marcadores de filtros"
+msgstr "Muestra las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
-msgstr "Eliminar este marcador"
+msgstr "Eliminar de las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
-msgstr "Marcar este filtro"
+msgstr "Guardar como búsqueda favorita"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
-msgstr "Nombre del Marcador:"
+msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Buscar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Hoy"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
-msgstr "Vista Semanal"
+msgstr "Vista semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
-msgstr "Vista Mensual"
+msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Seleccionar un archivo..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
-msgstr "Agregar valor"
+msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
-msgstr "Remover \"%s\""
+msgstr "Eliminar \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
-msgstr "Seleccionar una Imagen..."
+msgstr "Seleccionar una imagen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Imágenes"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
-msgstr "Agregar registro existente"
+msgstr "Añadir un registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Eliminar registro seleccionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Cambiar texto a negrita"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Cambiar texto a cursiva"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Cambiar texto a subrallado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
-msgstr "Escojer tipo de letra"
+msgstr "Elegir tipo de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
-msgstr "Escojer tamaño de letra"
+msgstr "Elegir tamaño de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
-msgstr "Alinear la línea a la izquierda"
+msgstr "Alinear a la izquierda"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centrar la línea"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
-msgstr "Alinear la línea a la derecha"
+msgstr "Alinear a la derecha"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justificar la línea para rellenar ventana"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Cambiar el texto principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Cambiar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Cambiar el texto de marcado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Seleccionar color principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Seleccionar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traducción"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Confuso"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
-msgstr "Debe guardar el registro antes de añadir traducciones!"
+msgstr "¡Debe guardar el registro antes de añadir traducciones!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
-msgstr "No hay otro idioma disponible!"
+msgstr "¡No hay otro idioma disponible!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Traducir vista"
 
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.mo b/share/locale/es_ES/LC_MESSAGES/tryton.mo
index 09fb6c3..2ee9c80 100644
Binary files a/share/locale/es_ES/LC_MESSAGES/tryton.mo and b/share/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.po b/share/locale/es_ES/LC_MESSAGES/tryton.po
index 3d8cbcd..ac79870 100644
--- a/share/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/share/locale/es_ES/LC_MESSAGES/tryton.po
@@ -12,119 +12,89 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 2.4.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-17 17:31+0100\n"
-"Last-Translator: Jordi Esteve (Zikzakmedia) <jesteve at zikzakmedia.com>\n"
-"Language-Team: <tryton-es at googlegroups.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"POT-Creation-Date: 2015-04-16 17:31+0200\n"
+"PO-Revision-Date: 2015-04-16 17:35+0100\n"
+"Last-Translator: Sergi Almacellas Abellana <sergi at koolpi.com>\n"
+"Language-Team:  <tryton-es at googlegroups.com>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
+"X-Generator: Poedit 1.5.4\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "Indica un archivo de configuración alternativo"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "Modo desarrollo"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "Registra toda la información con nivel INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "Indica el nivel de log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "Indica el usuario"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "Indica el puerto del servidor"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "Indica el nombre del servidor"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Demasiados argumentos"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "El archivo «%s» no se ha encontrado"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "No se ha podido escribir el archivo de configuración %s."
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "No se ha definido ninguna acción."
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Conexión a Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Puerto:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selección"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Su selección:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Ignorar siempre esta advertencia."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "¿Desea continuar?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmación"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Excepción de concurrencia"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -142,63 +112,48 @@ msgstr ""
 "   - \"Comparar\" para ver la versión modificada:\n"
 "   - \"Guardar de todas formas\" para guardar sus cambios."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Guardar de todas formas"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Informar de un error"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Error de aplicación."
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Para informar de errores debe tener una cuenta en <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Seguimiento de errores"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
 msgstr ""
 "El mismo error ya fue notificado por otro usuario.\n"
-"Para mantenerle informado añadiremos su usuario a la lista de interesados"
-" en esta incidencia."
+"Para mantenerle informado añadiremos su usuario a la lista de interesados en "
+"esta incidencia."
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Se creó un nuevo error con identificador"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -206,27 +161,21 @@ msgstr ""
 "Error de conexión.\n"
 "Nombre de usuario o contraseña incorrectos."
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Excepción:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
-"The application will stop connecting to this server until its fingerprint"
-" is fixed."
+"The application will stop connecting to this server until its fingerprint is "
+"fixed."
 msgstr ""
-"La huella de seguridad del servidor ha cambiado desde la última conexión."
-" \n"
-"La aplicación no se podrá conectar a este servidor hasta que se corrija "
-"la huella de seguridad del servidor."
+"La huella de seguridad del servidor ha cambiado desde la última conexión. \n"
+"La aplicación no se podrá conectar a este servidor hasta que se corrija la "
+"huella de seguridad del servidor."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Riesgo de seguridad."
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -234,297 +183,222 @@ msgstr ""
 "Error de conexión.\n"
 "No ha sido posible conectarse al servidor."
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Error de red."
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Search...</i>"
+msgstr "<i>Buscar...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
+msgid "<i>Create...</i>"
+msgstr "<i>Crear...</i>"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
+msgid "Value"
+msgstr "Valor"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
+msgid "Displayed value"
+msgstr "Valor a mostrar"
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Format"
+msgstr "Format"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
+msgid "Display format"
+msgstr "Format a mostrar"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
+msgid "Open the calendar"
+msgstr "Abrir el calendario"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Abrir el calendario <F2>"
+msgid "Date Format"
+msgstr "Formato fecha"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Selección de fecha"
+msgid "Displayed date format"
+msgstr "Formato fecha actual"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "sí"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "verdadero"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Verdadero"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Falso"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Editar..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimir..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Archivo"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "U_suario"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opciones"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Ay_uda"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
-msgid "Search"
-msgstr "Buscar"
-
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "No se han encontrado resultados."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de datos"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nueva base de datos..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaurar base de datos..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Hacer _copia de seguridad de la base de datos..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Eliminar base de datos..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Salir..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Preferencias..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recargar menú"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Conmutar _menú"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Búsqueda _global"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Barra de herramien_tas"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "Por _defecto"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Texto _e iconos"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Iconos"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Cambiar teclas rápidas"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulario"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Guardar ancho/alto"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Guardar estado de expansión del árbol"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Corrección ortográfica"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Posición de las pestañas"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Superior"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Izquierda"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Derecha"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Inferior"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Anterior"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "Siguiente"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "_Límite de búsqueda..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Guardar opciones"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Conse_jos..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binaciones de teclas..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Acerca de..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Administrar menús favoritos"
 
-#: tryton/gui/main.py:949
+msgid "Search"
+msgstr "Buscar"
+
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -532,11 +406,9 @@ msgstr ""
 "La acción seleccionada requiere cerrar todas las pestañas. \n"
 "¿Desea continuar?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Cerrar pestaña"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -544,7 +416,6 @@ msgstr ""
 "Va a eliminar una base de datos de Tryton.\n"
 "¿Está seguro que quiere continuar?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -552,28 +423,22 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Acceso denegado."
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
-msgstr "La eliminación de la base de datos ha fallado con el mensaje de error:\n"
+msgstr ""
+"La eliminación de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Falló la eliminación de la base de datos."
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "La base de datos se ha eliminado correctamente."
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Abrir una copia de seguridad para restaurar..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -581,11 +446,9 @@ msgstr ""
 "No es posible restaurar una base de datos protegida con contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "La base de datos está protegida con contraseña."
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -593,19 +456,15 @@ msgstr ""
 "La contraseña del servidor Tryton es incorrecta.\n"
 "Inténtelo de nuevo."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "La restauración de la base de datos ha fallado con el error:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "La restauración de la base de datos ha fallado."
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "La base de datos se ha restaurado correctamente."
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -613,201 +472,155 @@ msgstr ""
 "No es posible hacer copia de una base de datos protegida con contraseña.\n"
 "La copia de seguridad y su restauración tiene que ser manual."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
-msgstr "La extracción de la base de datos ha fallado con el mensaje de error:\n"
+msgstr ""
+"La extracción de la base de datos ha fallado con el mensaje de error:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "La extracción de la base de datos ha fallado."
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "La copia de seguridad de la base de datos ha finalizado correctamente."
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nuevo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Crear un nuevo registro"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Guardar"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Guardar este registro"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Cambiar vista"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recargar"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recargar"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nuevo"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Guardar"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Cambiar vi_sta"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recargar/Deshacer"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Eliminar..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
-"This is the URL of the Tryton server. Use server 'localhost' and port "
-"'8000' if the server is installed on this computer. Click on 'Change' to "
-"change the address."
+"This is the URL of the Tryton server. Use server 'localhost' and port '8000' "
+"if the server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el "
-"puerto «8000» si el servidor está instalado en este ordenador. Pulse en "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor Tryton. Use el servidor «localhost» y el puerto "
+"«8000» si el servidor está instalado en este ordenador. Pulse en «Cambiar» "
+"para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "No hay conexión."
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
 "2. Find out on which address and port it is listening.\n"
-"3. If there is a firewall between the server and this client, make sure "
-"that the server address and port (usually 8000) are not blocked.\n"
+"3. If there is a firewall between the server and this client, make sure that "
+"the server address and port (usually 8000) are not blocked.\n"
 "Click on 'Change' to change the address."
 msgstr ""
 "No se ha podido conectar al servidor\n"
 "1. Revise si el servidor se está ejecutando.\n"
 "2. Averigüe en qué dirección y puerto está escuchando.\n"
-"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que "
-"la dirección y el puerto (normalmente 8000) del servidor no están "
-"bloqueados.\n"
+"3. Si hay un cortafuegos entre el servidor y este cliente, asegúrese que la "
+"dirección y el puerto (normalmente 8000) del servidor no están bloqueados.\n"
 "Pulse en «Cambiar» para cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Crear nueva base de datos"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_rear"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Crear la nueva base de datos."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuración del servidor:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Conexión con el servidor:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
-"This is the URL of the server. Use server 'localhost' and port '8000' if "
-"the server is installed on this computer. Click on 'Change' to change the"
-" address."
+"This is the URL of the server. Use server 'localhost' and port '8000' if the "
+"server is installed on this computer. Click on 'Change' to change the "
+"address."
 msgstr ""
-"Esta es la URL del servidor. Use el servidor «localhost» y el puerto "
-"«8000» si el servidor está instalado en este ordenador. Pulse en "
-"«Cambiar» para cambiar la dirección."
+"Esta es la URL del servidor. Use el servidor «localhost» y el puerto «8000» "
+"si el servidor está instalado en este ordenador. Pulse en «Cambiar» para "
+"cambiar la dirección."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_ambiar"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configurar la conexión con el servidor..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Contraseña del servidor Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
-"This is the password of the Tryton server. It doesn't belong to a real "
-"user. This password is usually defined in the trytond configuration."
+"This is the password of the Tryton server. It doesn't belong to a real user. "
+"This password is usually defined in the trytond configuration."
 msgstr ""
-"Esta es la contraseña del servidor Tryton. No corresponde a un usuario "
-"real. Esta contraseña se define en la configuración de trytond."
+"Esta es la contraseña del servidor Tryton. No corresponde a un usuario real. "
+"Esta contraseña se define en la configuración de trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Nueva configuración de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nombre de la base de datos:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! Example: "
-"tryton"
+"You need to avoid all accents, space or special characters! Example: tryton"
 msgstr ""
 "Elija un nombre para la nueva base de datos.\n"
 "Puede utilizar caracteres alfanuméricos o _ (subrayado)\n"
 "Evite cualquier acento, espacio o caracteres especiales. Ejemplo: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Idioma por defecto:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
-"Choose the default language that will be installed for this database. You"
-" will be able to install new languages after installation through the "
+"Choose the default language that will be installed for this database. You "
+"will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
-"Elija el idioma por defecto que se instalará para esta base de datos. "
-"Podrá instalar nuevos idiomas después de la instalación, a través del "
-"menú de administración."
+"Elija el idioma por defecto que se instalará para esta base de datos. Podrá "
+"instalar nuevos idiomas después de la instalación, a través del menú de "
+"administración."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -819,25 +632,20 @@ msgstr ""
 "Nombre de usuario: admin\n"
 "Contraseña: <La contraseña que introduzca aquí>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Confirme la contraseña del administrador:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Teclee la contraseña del administrador de nuevo"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 "La nueva contraseña del administrador no coincide con el campo de "
 "confirmación.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Las contraseñas no coinciden."
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -845,15 +653,12 @@ msgstr ""
 "Ya existe una base de datos con el mismo nombre.\n"
 "Inténtelo con otro nombre de base de datos."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Ya existe una base de datos con este nombre."
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "La contraseña del servidor Tryton no es correcta. Inténtelo de nuevo."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -861,159 +666,116 @@ msgid ""
 "Error message:\n"
 msgstr ""
 "No se ha podido crear la base de datos, la causa es desconocida.\n"
-"Si hay una base de datos creada, podría estar dañada. Pruebe a eliminar "
-"esta base de datos. Revise el mensaje de error en busca de información "
+"Si hay una base de datos creada, podría estar dañada. Pruebe a eliminar esta "
+"base de datos. Revise el mensaje de error en busca de información "
 "adicional.\n"
 "Mensaje de error:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Se ha producido un error al crear la base de datos."
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "No se ha podido conectar al servidor."
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Esta versión del cliente no es compatible con el servidor."
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "No se ha encontrado ninguna base de datos, debe crear una."
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Realizar copia de seguridad de una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Copia de seguridad"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Hacer copia de seguridad de la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Elija una base de datos Tryton para hacer una copia de seguridad:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Eliminar una base de datos"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Eliminar"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Eliminar la base de datos elegida."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Elija la base de datos Tryton a eliminar:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Conexión al servidor:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de datos:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor de perfiles"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Eliminar"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Crear"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Recuperando lista de bases de datos"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "No se ha podido conectar al servidor"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "El cliente no es compatible con la versión del servidor"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Usuario"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar conexión al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Conectar al servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Administrar perfiles"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Información del Servidor / Base de datos"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaurar base de datos"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Archivo a restaurar:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1025,15 +787,12 @@ msgstr ""
 "Evite todos los acentos, espacios, o caracteres especiales. \n"
 "Ejemplo: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nombre de la base de datos nueva:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Actualizar base de datos:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1041,202 +800,148 @@ msgstr ""
 "Márquelo para que se realice una actualización automática de la base de "
 "datos desde una versión anterior de Tryton, después de restaurarla."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaurar"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaurar la base de datos desde un archivo."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Configuración del programa de correo electrónico"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Línea de comando:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leyenda de palabras clave disponibles:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Asunto:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Mensaje:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunto:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Anterior"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Registro anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Siguiente"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Registro siguiente"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Adjunto(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Añadir un adjunto al registro"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Anterior"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Sig_uiente"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Buscar"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Ver _registro..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Mostrar versiones..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Adjun_tos..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Acciones..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Relacionado..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Informes..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Exportar datos..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Debe elegir un registro."
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Ahora está trabajando en el registro duplicado."
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Formulario incorrecto."
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1244,156 +949,117 @@ msgstr ""
 "Este registro ha sido modificado.\n"
 "¿Desea guardarlo?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Acción"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Ejecutar acción"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "_Relacionado"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Abrir registros relacionados"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Informes"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Abrir informe"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Informe por email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimir"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimir informe"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Límite"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Preferencias del límite de búsqueda"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Límite:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Editar preferencias de usuario"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Contraseña actual:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Versión"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Seleccionar una versión"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Versión:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Combinaciones de teclas"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Atajos en campos de texto"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Cortar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copiar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Pegar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Campo siguiente"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Atajos en relaciones"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Crear nueva relación"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relación"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Atajos en listas"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Crear nueva línea"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Abrir relación"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marcar para eliminación"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Desmarcar para eliminación"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Controles de edición"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1403,7 +1069,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1426,12 +1091,10 @@ msgstr ""
 "con una órbita retrógrada, esto es, que orbita en dirección opuesta\n"
 "a la rotación del planeta.  Con 2.700 km de diámetro. es la séptima luna\n"
 "en tamaño del Sistema Solar. Triton cuenta con más del 99.5 porciento\n"
-"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta "
-"y\n"
+"de toda la masa que orbita a Neptuno, incluyendo los anillos del planeta y\n"
 "veinte lunas conocidas.  Tiene más masa que todas las otras 159 lunas\n"
 "más pequeñas del Sistema Solar combinadas.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1443,7 +1106,6 @@ msgstr ""
 "Puede copiar los registros de cualquier lista con Ctrl + C\n"
 "y pegarlas en cualquier aplicación con Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1454,85 +1116,64 @@ msgstr ""
 "Puede guardar los gráficos como imagen PNG haciendo clic con el botón "
 "derecho sobre el mismo.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Consejos"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exportar a CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportaciones predeterminadas</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Todos los campos</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Limpiar"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Guardar exportación"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Eliminar exportación"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Campos a exportar</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opciones</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nombre"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "Se ha guardado %d registro."
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "Se han guardado %d registros."
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1543,347 +1184,249 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importar desde CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Auto-detectar"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Campos a importar</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Abrir..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Parámetros CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Separador de campo:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Delimitador de texto:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nombre del campo"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Primero debe elegir un archivo a importar."
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Se ha producido un error al procesar el archivo en el campo %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "Se ha importado %d registro."
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "Se han importado %d registros."
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Fecha de creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "No se ha podido obtener el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "No se ha podido establecer el estado de expansión del árbol"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Guardar como"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Tamaño de la imagen"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Anchura:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "Imagen PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "El tamaño de la imagen es muy grande."
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Muestra las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Eliminar de las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Guardar como búsqueda favorita"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Buscar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Hoy:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vista semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Seleccionar un archivo..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Seleccionar una imagen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Imágenes"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Añadir un registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Eliminar registro seleccionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Cambiar texto a negrita"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Cambiar texto a cursiva"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Cambiar texto a subrallado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Elegir tipo de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Elegir tamaño de letra"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Alinear la línea a la izquierda"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centrar la línea"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Alinear la línea a la derecha"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justificar la línea para rellenar ventana"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Cambiar el texto principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Cambiar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Cambiar el texto de marcado"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Seleccionar color principal"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Seleccionar color de fondo"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traducción"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Confuso"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Debe guardar el registro antes de añadir traducciones."
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "No hay otro idioma disponible."
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Traducir vista"
-
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.mo b/share/locale/fr_FR/LC_MESSAGES/tryton.mo
index 1f5ca02..b837302 100644
Binary files a/share/locale/fr_FR/LC_MESSAGES/tryton.mo and b/share/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.po b/share/locale/fr_FR/LC_MESSAGES/tryton.po
index 0a4cf6e..0cd179c 100644
--- a/share/locale/fr_FR/LC_MESSAGES/tryton.po
+++ b/share/locale/fr_FR/LC_MESSAGES/tryton.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 0.0.1\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2013-04-19 23:58+0200\n"
 "Last-Translator: Cédric Krier <cedric.krier at b2ck.com>\n"
 "Language-Team: fr_FR\n"
@@ -17,109 +17,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "spécifier un fichier de configuration alternatif"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "mode développement"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "logger tout au niveau INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "Spécifie le niveau de log : DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "spécifier l'utilisateur de login"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "spécifier le port du serveur"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "spécifier le nom du serveur"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Trop d'arguments"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Fichier \"%s\" non trouvé"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Impossible d'écrire le fichier de configuration %s !"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Impossible de sélectionner la locale %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Sélectionnez votre action"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Pas d'action définie !"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Connexion Tryton"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Serveur :"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Port :"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Sélection"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Votre sélection :"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Toujours ignorer cet avertissement."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Souhaitez-vous continuer ?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Confirmation"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Erreur d'accès concurrent"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,50 +107,37 @@ msgstr ""
 "   - \"Comparer\" pour voir la nouvelle version;\n"
 "   - \"Écraser\" pour sauver vos modifications."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Comparer"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Écraser"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Erreur"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Rapporter un bogue"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Erreur Applicative !"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Erreur : "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Pour rapporter un bogue vous devez avoir un compte sur <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Bug Tracker"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Utilisateur :"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Mot de passe :"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -190,11 +146,9 @@ msgstr ""
 "Pour vous garder informé, votre nom d'utilisateur a été ajouté à la liste"
 " de suivi de ce bogue"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Un nouveau bogue a été créé avec l'ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,11 +156,9 @@ msgstr ""
 "Erreur de connexion !\n"
 "Mauvais nom d'utilisateur ou mot de passe !"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Exception :"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -216,12 +168,9 @@ msgstr ""
 "Les connections à ce serveur sont annulées tant que son empreinte n'est "
 "pas corrigée."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Alerte sécurité !"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -229,297 +178,222 @@ msgstr ""
 "Erreur de connexion !\n"
 "Impossible de se connecter au serveur !"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Erreur réseau"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "A"
+msgid "<i>Search...</i>"
+msgstr "<i>Recherche...</i>"
 
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Create...</i>"
+msgstr "<i>Créer...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "s"
+msgid "Value"
+msgstr "Valeur"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "j"
+msgid "Displayed value"
+msgstr "Valeur affichée"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
-
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Format"
+msgstr "Format"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Recherche...</i>"
+msgid "Display format"
+msgstr "Format d'affichage"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Créer...</i>"
+msgid "Open the calendar"
+msgstr "Ouvrir le calendrier"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Ouvrir le calendrier <F2>"
+msgid "Date Format"
+msgstr "Format de date"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Sélection de la date"
+msgid "Displayed date format"
+msgstr "Format de date affichée"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "y"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "oui"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "vrai"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Vrai"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Faux"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Éditer..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Pièces jointes..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Actions..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Relation..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Rapport..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Imprimer..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "A"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "s"
+
+msgid "d"
+msgstr "j"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Fichier"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Utilisateur"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Options"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Fa_voris"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Aide"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Recherche"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "Aucun résultat trouvé"
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Connecter..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Déconnecter"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "_Base de données"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nouvelle base de données..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Restaurer une base de données..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "_Sauvegarder une base de données..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Su_pprimer une base de données..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Quitter..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Préférences..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Recharger le menu"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Montrer/Cacher le _menu"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Recherche _globale"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "_Barre d'outils"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Défaut"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Textes et Icônes"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Icônes"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Textes"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Barre de Menu"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Changer les raccourcis"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Mode"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Formulaire"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Sauver largeur / hauteur"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Sauver l'état des arbres"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Vérifier l'orthographe"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Position des onglets"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Dessus"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Gauche"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Droite"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Dessous"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "Onglet _Précédent"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "Onglet _Suivant"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Limite la recherche à ..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Email..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Sauver les options"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Astuces..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Raccourcis _Clavier..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_À Propos..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Gérer les favoris"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,11 +401,9 @@ msgstr ""
 "L'action suivante nécessite de fermer tous les onglets.\n"
 "Voulez-vous continuer?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Fermer l'onglet"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -539,7 +411,6 @@ msgstr ""
 "Vous allez supprimer une base de données Tryton.\n"
 "Êtes-vous sûr de vouloir continuer ?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -547,30 +418,23 @@ msgstr ""
 "Mauvais mot de passe du serveur Tryton.\n"
 "Essayez à nouveau."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Accès refusé !"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr ""
 "La suppression de la base de données a échouée avec le message d'erreur :"
 "\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "La suppression de la base de données a échouée !"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "La base de données a été supprimée avec succès !"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Ouvrir le Fichier de Sauvergarde..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -579,11 +443,9 @@ msgstr ""
 "mot de passe.\n"
 "La sauvegarde et la restauration doivent être faites manuellement."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "La base de données est protégée par un mot de passe !"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -591,21 +453,17 @@ msgstr ""
 "Mauvais mot de passe du serveur Tryton.\n"
 "Essayez à nouveau."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr ""
 "La restauration de la base de données a échouée avec le message d'erreur "
 ":\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "La restauration de la base de données a échoué !"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "La base de données a été restaurée avec succès !"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -614,79 +472,57 @@ msgstr ""
 " mot de passe.\n"
 "La sauvegarde et la restauration doivent être faites manuellement."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "La sauvegarde de la base de donnée a échouée avec le message d'erreur :\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "La sauvegarde de la base de données a échouée !"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "La base de données a été sauvegardée avec succès !"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Nouveau"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Créer un nouvel enregistrement"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Sauver"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Sauver cet enregistrement"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Basculer"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Basculer la vue"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Recharger"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Recharger"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nouveau"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Sauver"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "_Changer de vue"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Recharger/Annuler"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "Su_pprimer..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "_Fermer l'onglet"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -696,11 +532,9 @@ msgstr ""
 " port « 8000 » si le serveur est installé sur cette machine. Cliquez sur "
 "« Changer » pour changer l'adresse."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Pas de connexion !"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -717,28 +551,21 @@ msgstr ""
 "bloqués.\n"
 "Cliquez sur « Changer » pour changer l'adresse."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Créer une nouvelle base de données"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "C_réer"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Créer une nouvelle base de données"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Configuration du serveur :"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Connexion au serveur :"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -748,22 +575,15 @@ msgstr ""
 "« 8000 » si le serveur est installé sur cette machine. Cliquez sur "
 "« Changer » pour changer l'adresse."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "C_hanger"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Configurer la connexion au serveur"
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Mot de passe du serveur Tryton :"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -772,15 +592,12 @@ msgstr ""
 "vrai utilisateur. Ce mot de passe est défini dans la configuration de "
 "trytond."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Configuration de la nouvelle base de données :"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Nom de la base de données :"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -793,11 +610,9 @@ msgstr ""
 "Vous devez proscrire les accents, espaces ou caractères spéciaux ! "
 "Example : tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Langue par défaut :"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -807,11 +622,9 @@ msgstr ""
 "données. Vous pourrez installer d'autres langues après l'installation "
 "sous le menu administration."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Mot de passe admin :"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -824,23 +637,18 @@ msgstr ""
 "Nom d'utilisateur : admin\n"
 "Mot de passe : <Le mot de passe que vous avez choisi>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Confirmer le mot de passe admin :"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Entrer le mot de passe admin à nouveau"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Le mot de passe admin ne correspond pas au mot de passe de confirmation.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Les mots de passe ne correspondent pas !"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -848,17 +656,14 @@ msgstr ""
 "Une base de données avec le même nom existe déjà.\n"
 "Essayer un autre nom de base de données."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "La base de données existe déjà !"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr ""
 "Désolé, le mot de passe du serveur Tryton est incorrect. Veuillez "
 "réessayer."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -870,154 +675,111 @@ msgstr ""
 "Supprimer la ! Vérifiez le message d'erreur pour plus d'information.\n"
 "Message d'erreur :\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Erreur de création de base de données !"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Impossible de se connecter au serveur !"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Cette version du client n'est pas compatible avec le serveur !"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Pas de base de donnée trouvée, vous devez en créer une !"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Sauvegarder une base de données"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Sauvegarde"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Sauvegarder la base de données choisie."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Choisissez la base de données à sauvegarder"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Supprimer une base de données"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Suppression"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Supprimer la base de données choisie."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Choisissez la base de données à supprimer"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Connexion au serveur :"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Base de données :"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Éditeur de profil"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Ajouter"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Enlever"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Hôte :"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "C_réer"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Récupération de la liste des bases de données"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Nom d'utilisateur :"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Impossible de se connecter au serveur !"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Version du serveur incompatible !"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Connexion"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "A_nnuler"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Annuler la connexion au serveur Tryton"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "C_onnecter"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Se connecter au serveur Tryton"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Profil :"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Gestionnaire de profils"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Hôte / Port"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Hôte :"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Nom d'utilisateur :"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Restaurer une base de données"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Fichier à restaurer :"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1030,15 +792,12 @@ msgstr ""
 "Vous devez proscrire les accents, espaces ou caractères spéciaux !\n"
 "Example : tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Nom de la nouvelle base de données :"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Mettre à jour la base de données :"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1046,203 +805,148 @@ msgstr ""
 "Cocher pour une mise à jour automatique de la base de données après "
 "restauration d'une base de données d'une version précédente de Tryton."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Restaurer"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Restaurer la base de données depuis le fichier."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Paramètres d'email"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Commande :"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Légende des symboles :"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "À :"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC :"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Sujet :"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Corps :"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Attachement :"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Précédent"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Enregistrement précédent"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Suivant"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Enregistrement suivant"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Attachement(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Ajouter un attachement à l'enregistrement"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Dupliquer"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Précédent"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Sui_vant"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Recherche"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Voir les _Logs..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Afficher les révisions..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "_Pièce jointes..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Actions..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Relation..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Rapport..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Email..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "_Imprimer..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Export de données..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Import de données..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Attachement(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Vous devez sélectionner un enregistrement !"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID :"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Créé par l'utilisateur :"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Date de création :"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Dernière modification par :"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Date de dernière modification :"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modèle :"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Êtes-vous sûr de vouloir supprimer cet enregistrement ?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Êtes-vous sûr de vouloir supprimer ces enregistrements ?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Enregistrements non supprimés !"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Enregistrements supprimés !"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Sur les enregistrement(s) dupliqué(s) maintenant !"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Enregistrement sauvé !"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Formulaire non-valide !"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:485
-#, fuzzy
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1250,156 +954,117 @@ msgstr ""
 "Cet enregistrement a été modifié\n"
 "Voulez-vous le sauvegarder ?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Actions"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Lancer une action"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Relation"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Ouvrir les enregistrements liés"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Rapport"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Ouvrir un rapport"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Email"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Rapport par email"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Imprimer"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Imprimer un rapport"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limite"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Limite de recherche"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Limite :"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Préférences"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Éditer les préférences utilisateur"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Préférence"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Mot de passe actuel :"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Révision"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Sélectionner une révision"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Révision :"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Raccourcis clavier"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Raccourcis des champs texte"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Couper le texte sélectionné"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Copier le texte sélectionné"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Coller le texte copié"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Widget suivant"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Widget précédent"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Raccourcis des champs relation"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Créer une nouvelle relation"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Ouvrir/Chercher une relation"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Raccourcis des listes"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Créer une nouvelle ligne"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Ouvrir une relation"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Marquer la ligne pour suppression"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Annuler le marquage de la ligne pour suppression"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Widgets d'édition"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1409,7 +1074,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1438,7 +1102,6 @@ msgstr ""
 "est aussi plus massive que toutes les 159 plus petites lunes connues du\n"
 "système solaire combinées.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1450,7 +1113,6 @@ msgstr ""
 "Vous pouvez copier les enregistrements d'une liste avec Ctrl + C\n"
 "et les coller dans une autre application avec Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1459,85 +1121,64 @@ msgstr ""
 "<b>Export des  graphes</b>\n"
 "Vous pouvez exporter les graphes en PNG via un clic droit.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Astuces"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Afficher une nouvelle astuce la prochaine fois"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporter en CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Exportations prédéfinies</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Tout les champs</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Effacer"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Sauver l'exportation"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Supprimer l'exportation"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Champs à exporter</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Options</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Ouvrir"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Ajouter les noms des champs"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Nom"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Quel est le nom de cet export ?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Surcharger la définition « %s » ?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d enregistrement sauvé!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d enregistrements sauvés!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1548,347 +1189,250 @@ msgstr ""
 "Message d'erreur :\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Lien"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Ajouter"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Supprimer <Del>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Créer un nouvel enregistrement<F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Restaurer l'enregistrement sélectionné<Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importer depuis un CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Détection automatique"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Champs à importer</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Fichier à importer"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Ouvrir..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Paramètres CSV"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Séparateur de champs :"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Délimiteur de texte :"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codage :"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Lignes à ignorer :"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Nom du champ"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Vous devez d'abord sélectionner un fichier d'import !"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Erreur d'ouverture du fichier CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Erreur lors du traitement du fichier du champ %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d enregistrement importé!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d enregistrements importés!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Créé par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Date de création"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Modifié par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Date de modification"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "Impossible d'obtenir l'état de la vue arbre"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "Impossible de définir l'état de la vue arbre"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr " :"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Enregistrer sous"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Taille de l'image"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Largeur :"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Hauteur :"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "image PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Taille de l'image trop grande !"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltrer"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Montrer les marques-pages des filtres"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Supprimer ce marque-page"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Sauver ce filtre"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Nom du marque-page"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Chercher"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Aujourd'hui"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Vue semaine"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Vue mois"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Semaine"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Sélectionner un fichier ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Montrer en text clair"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Ajouter une valeur"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Supprimer \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Sélectionner une image ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Tous les fichiers"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Images"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Ajouter un enregistrement existant"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Ouvrir un enregistrement<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Chercher un enregistrement<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Supprimer l'enregistrement sélectionné"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Éditer l'enregistrement sélectionné<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Gras"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Italique"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Souligner"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Police"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Taille du texte"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Aligner à gauche"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Centrer"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Aligner à droite"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Justifier"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Couleur du texte"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Couleur d'arrière plan"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Voir les balises"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Couleur du texte"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Couleur de l'arrière plan"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Traduction"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Éditer"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Floue"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Vous devez sauvegarder l'enregistrement avant d'ajouter des traductions !"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Pas d'autre langue disponible !"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Traduire la vue"
 
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.mo b/share/locale/ja_JP/LC_MESSAGES/tryton.mo
index 719b660..c6dff5f 100644
Binary files a/share/locale/ja_JP/LC_MESSAGES/tryton.mo and b/share/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.po b/share/locale/ja_JP/LC_MESSAGES/tryton.po
index 81f0923..79cc616 100644
--- a/share/locale/ja_JP/LC_MESSAGES/tryton.po
+++ b/share/locale/ja_JP/LC_MESSAGES/tryton.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 1.5.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2012-04-23 11:07+0200\n"
 "Last-Translator: TANIGUCHI Takaki <takaki at asis.media-as.org>\n"
 "Language-Team: ja_JP <LL at li.org>\n"
@@ -17,109 +17,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "代替設定ファイルを指定"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "全てをINFOレベルでログを取る"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "ログインユーザーを指定"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "サーバーポートを指定"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "サーバーホスト名を指定"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr ""
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "ファイル \"%s\" が見つかりません"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "設定ファイル %s が書きこめません!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "動作を選択する"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "動作が定義されていません!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton接続"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "サーバー名:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "ポート番号:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "選択"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "あなたの選択:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "名前を付けて保存"
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "常にこの警告を無視する。"
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "確認"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "並列性例外"
 
-#: tryton/common/common.py:817
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -138,50 +107,37 @@ msgstr ""
 "  - \"比較\"で変更されたものを見る\n"
 "  - \"とにかく書き込む\"で現在の物を書き込む。\n"
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "比較"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "とにかく書き込む"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "エラー"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "バグ報告"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "アプリケーションエラー!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "エラー:"
 
-#: tryton/common/common.py:911
 #, fuzzy, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "記録しておきたいバグを報告<u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "バグトラッカー"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "ユーザー:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "パスワード:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -189,11 +145,9 @@ msgstr ""
 "別のユーザーに同じバグが報告されています。\n"
 "お知らせするためにこの問題の通知リストにあなたのユーザー名を追加しました。"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "新しいバグがID番号と一緒に作成されました"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -201,11 +155,9 @@ msgstr ""
 "接続エラー!\n"
 "ユーザー名またはパスワードが違います!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "例外:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -214,12 +166,9 @@ msgstr ""
 "このサーバーのフィンガープリントが最後の接続から変化しています!\n"
 "フィンガープリントが訂正されるまで接続を停止します。"
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "セキュリティリスク!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -227,319 +176,244 @@ msgstr ""
 "接続エラー!\n"
 "サーバーに接続できません!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "ネットワーク エラー!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "年"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "月"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "週"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "日"
+msgid "<i>Search...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "時"
+msgid "<i>Create...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "分"
+#, fuzzy
+msgid "Value"
+msgstr "偽"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
+msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
+#, fuzzy
+msgid "Format"
+msgstr "ノーマル(_N)"
+
+msgid "Display format"
 msgstr ""
 
-#: tryton/common/date_widget.py:67
 #, fuzzy
-msgid "Open the calendar <F2>"
+msgid "Open the calendar"
 msgstr "カレンダーを開く"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "日付を選択"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "yes"
 msgstr "バイト"
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "true"
 msgstr "真"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "真"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "偽"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "終了(_Q)"
 
-#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "添付:"
 
-#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "実行(_A)"
 
-#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "削除(_D)"
 
-#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "データのインポート(_I)"
 
-#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "Eメール(_E)"
 
-#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "印刷(_P)"
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "年"
+
+msgid "M"
+msgstr "月"
+
+msgid "w"
+msgstr "週"
+
+msgid "d"
+msgstr "日"
+
+msgid "h"
+msgstr "時"
+
+msgid "m"
+msgstr "分"
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "ファイル(_F)"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "ユーザー(_U)"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "オプション(_O)"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "ヘルプ(_H)"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "検索"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "接続(_C)"
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "切断(_D)"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "データベース(_b)"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "新規データベース(_N)"
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "データベースの復元(_R)"
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "データベースのバックアップ(_B)"
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "データベースの削除(_P)"
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "終了(_Q)"
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "設定(_P)"
 
-#: tryton/gui/main.py:488
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "再読み込み(_R)"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "ツールバー(_T)"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "デフォルト(_D)"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "テキストとアイコン(_T)"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "アイコン(_I)"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "テキスト(_T)"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "メニューバー(_M)"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "アクセラレーターの変更"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "モード(_M)"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "ノーマル(_N)"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "フォーム(_F)"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "幅/高さを保存"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "スペルチェック"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "タブの位置"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "上"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "左"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "右"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "下"
-
-#: tryton/gui/main.py:692
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "前(_P)"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr ""
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "Eメール(_E)"
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "オプションの保存(_S)"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "今日の技(_T)"
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "キーボードショートカット(_K)"
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "Trytonについて"
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "タブを閉じる"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -547,7 +421,6 @@ msgstr ""
 "Trytonデータベースを削除します。\n"
 "本当に実行しますか?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -555,28 +428,21 @@ msgstr ""
 "Trytonサーバのパスワードが違います\n"
 "もう一度試して下さい。"
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "アクセスが拒否されました!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "データベースの削除に失敗しました。エラーメッセージ:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "データベースの削除に失敗しました!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "データベースの削除に成功しました!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "復元のためバックアップファイルを開く"
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -584,11 +450,9 @@ msgstr ""
 "パスワードで保護されたデータベースを復元できません。\n"
 "バックアップと復元は手動でする必要があります。"
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "データベースはパスワードで保護されています!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -596,19 +460,15 @@ msgstr ""
 "Trytonサーバーのパスワードが違います。\n"
 "もう一度試して下さい。"
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "データベースの復元に失敗しました。エラーメッセージ:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "データベースの復元に失敗しました!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "データベースの復元に成功しました!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -616,79 +476,57 @@ msgstr ""
 "パスワードで保護されたデータベースのダンプはできません。\n"
 "バックアップと復元は手動でする必要があります。"
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "データベースのダンプに失敗しました。エラーメッセージ:"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "データベースのダンプに失敗しました!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "データベースのバックアップに成功しました!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "レコードの新規作成"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "保存"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "レコードの保存"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "切替"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "再読み込み(_R)"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "再読み込み"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "新規(_N)"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "保存(_S)"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "ビューの切替(_S)"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "再読み込み/やり直し(_R)"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "削除(_D)"
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "タブを閉じる(_C)"
 
-#: tryton/gui/window/dbcreate.py:32
 #, fuzzy
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
@@ -696,11 +534,9 @@ msgid ""
 "change the address."
 msgstr "これはTrytonサーバーのURLです。このコンピュータにインストールされているのならばサーバーに'localhost',ポート番号に'8070'を使って下さい。'変更'をクリックするとアドレスを変更します。"
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "接続がありません!"
 
-#: tryton/gui/window/dbcreate.py:48
 #, fuzzy
 msgid ""
 "Can not connect to the server!\n"
@@ -717,28 +553,21 @@ msgstr ""
 "サーバーとクライアントの間にファイアウォールがある場合,サーバーのアドレスとポート番号(通常は8070)がブロックされてないか確かめて下さい。\n"
 "'変更'をクリックしてアドレスを変更して下さい。"
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "新しいデータベースを作成する"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "作成(_C)"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "新しいデータベースを作成する。"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "サーバーセットアップ:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "サーバー接続:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 #, fuzzy
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
@@ -746,36 +575,26 @@ msgid ""
 " address."
 msgstr "これはサーバーのURLです。このコンピュータにサーバーがインストールされていればサーバーは'localhost'でポート番号は'8070'です。'変更'をクリックしてアドレスを変更します。"
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "変更(_C)"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "サーバ接続をセットアップする"
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Trytonサーバパスワード:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
 msgstr "これはTrytonサーバーのパスワードです。ユーザーに結びつけられてはいません。このパスワードはtrytondの設定で定義されています。"
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "新規データベースセットアップ:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "データベース名:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -786,22 +605,18 @@ msgstr ""
 "英数字と_(アンダースコア)が使えます。\n"
 "アセントや空白・特殊文字は避けて下さい! 例: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "デフォルトの言語:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
 "administration menu."
 msgstr "このデータベースにインストールするデフォルトの言語を選択。インストール後に管理者メニューから新しい言語をインストールできます。"
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "管理者パスワード:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -812,37 +627,29 @@ msgstr ""
 "ユーザー名: admin\n"
 "パスワード: <ここにパスワードを入力>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "管理者パスワードを確認:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "管理者パスワードを再入力して下さい"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "管理者パスワードが再確認入力と一致しません\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "パスワードが一致しません!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
 msgstr "同じ名前のデータベースが存在します。別の名前を試して下さい。"
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "このデータベース名は存在します!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Trytonサーバーのパスワードが違います。再び試して下さい。"
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -853,161 +660,117 @@ msgstr ""
 "作成されていたとしても壊れているでしょう。データベースが削除されているかもしれません。可能な情報をエラーメッセージでチェックして下さい。\n"
 "エラーメッセージ:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "データベースの作成エラー!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "サーバーに接続できませんでした!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "クライアントのバージョンがサーバと互換性がありません!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "データベースがありません。まず作成して下さい!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "データベースのバックアップ"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "バックアップ"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "選択したデータベースをバックアップ"
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "バックアップするデータベースを選択:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "データベースの削除"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "削除"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "選択されたデータベースを削除します。"
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "削除するTrytonデータベースを選択:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "サーバ接続:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "データベース:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "追加(_A)"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "削除(_R)"
 
-#: tryton/gui/window/dblogin.py:70
 #, fuzzy
-msgid "Hostname:"
-msgstr "ユーザー名:"
+msgid "Host:"
+msgstr "ポート番号:"
 
-#: tryton/gui/window/dblogin.py:107
 #, fuzzy
 msgid "Create"
 msgstr "作成(_C)"
 
-#: tryton/gui/window/dblogin.py:110
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "新規データベースセットアップ:"
 
-#: tryton/gui/window/dblogin.py:128
 #, fuzzy
 msgid "Username:"
 msgstr "ユーザー名:"
 
-#: tryton/gui/window/dblogin.py:308
 #, fuzzy
 msgid "Could not connect to the server"
 msgstr "サーバーに接続できませんでした!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "サーバのバージョンが非互換です!"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "ログイン"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "キャンセル(_C)"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Trytonサーバへの接続を中止する"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "接続(_N)"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Trytonサーバーへ接続する"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:434
-#, fuzzy
-msgid "Host:"
-msgstr "ポート番号:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "ユーザー名:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "データベースの復元"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "復元するファイル:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1019,221 +782,164 @@ msgstr ""
 "アセントや空白・特殊文字は使えません!\n"
 "例: tryton "
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "新しいデータベース名:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "データベースをアップデートする:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr "以前のTrytonのバージョンのデータベースから復元したデータベースが自動的に更新できるか確認"
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "復元"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "データベースをファイルから復元"
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Eメール"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Emailプログラムの設定"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "コマンドライン:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "利用できるプレースホルダーの凡例:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "宛先:\n"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "題名:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "本文:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "添付:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "前"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "前のレコード"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "次"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "次のレコード"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "添付(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "レコードに添付を追加する"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "複製(_D)"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "前(_P)"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "次(_N)"
 
-#: tryton/gui/window/form.py:64
 #, fuzzy
 msgid "_Search"
 msgstr "検索"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "ログの閲覧(_L)"
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "添付:"
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "実行(_A)"
 
-#: tryton/gui/window/form.py:75
 #, fuzzy
 msgid "_Relate..."
 msgstr "削除(_D)"
 
-#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Report..."
 msgstr "データのインポート(_I)"
 
-#: tryton/gui/window/form.py:80
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "Eメール(_E)"
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "印刷(_P)"
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "データのエクスポート(_E)"
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "データのインポート(_I)"
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "添付(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "レコードを一つ選択して下さい!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "作成日:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "最終更新ユーザー:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "モデル:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "レコードが削除されませんでした!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "レコードが削除されました!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "重複したレコードで作業中です!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "レコードが保存されました!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "不正なフォームです!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " 中 "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1241,167 +947,128 @@ msgstr ""
 "レコードが変更されています\n"
 "保存しますか?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "実行"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Relate"
 msgstr "作成(_C)"
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Open related records"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Report"
 msgstr "レポート"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Open report"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/form.py:542
 #, fuzzy
 msgid "E-Mail"
 msgstr "Eメール"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "印刷"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "未知"
 
-#: tryton/gui/window/limit.py:17
 #, fuzzy
 msgid "Limit"
 msgstr "リミット:"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "リミット:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "設定"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "個人設定の編集"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "設定"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "現在のパスワード:"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "前"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "選択"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "キーボードショートカット"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "選択されたテキストを切り取り"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "選択されたテキストをコピー"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "コピーされたテキストを貼り付け"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "次のウィジェット"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "前のウィジェット"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "リレーションエントリショートカット\n"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "新しいリレーションを作る"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "リレーションを開く/検索"
 
-#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
-#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "新しいリレーションを作る"
 
-#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "リレーションを開く/検索"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "エディションウィジェット"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1411,7 +1078,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1436,7 +1102,6 @@ msgstr ""
 "これには輪と他の12の月を含んでいます。\n"
 "またこれは太陽系の他の159のより小さな衛星の合計より大きな質量です。\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1448,92 +1113,70 @@ msgstr ""
 "どんなリストからも Ctrl + Cでコピーでき\n"
 "どんなアプリケーションにも Ctrl + V で貼り付けできます"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "技"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "新しい技を次回も表示する(_D)"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "CSVにエクスポート"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>定義済みエキスポート</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>全てのフィールド</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "クリア"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "エクスポートを保存"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "エクスポートを削除"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>エクスポートするフィールド</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>オプション</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "開く"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "フィールド名を追加(_F)"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "名前"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "このエクスポートの名前は何ですか?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1544,370 +1187,273 @@ msgstr ""
 "エラーメッセージ:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "リンク"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "追加"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "レコードの新規作成"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "CSVからインポート"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "自動検出"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>インポートするフィールド</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "インポートするファイル:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "開く"
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSVパラメータ"
 
-#: tryton/gui/window/win_import.py:124
 #, fuzzy
 msgid "Field Separator:"
 msgstr "フィールドの区切:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "テキストの区切"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "エンコーディング:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "スキップする行:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "フィールド名"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "最初にインポートするファイルを選択して下さい!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "CSVファイルを開くときにエラーが起こりました"
 
-#: tryton/gui/window/win_import.py:289
 #, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "ファイルの%sフィールドの処理でエラーが起こりました。"
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d レコードをインポートしました!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d レコードをインポートしました。"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "ウィザード"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 #, fuzzy
 msgid "ID"
 msgstr "日"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "作成日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "名前をつけて保存"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "画像サイズ"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "幅:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "高さ:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG画像 (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "画像サイズが大きすぎます!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 #, fuzzy
 msgid "F_ilters"
 msgstr "ファイル(_F)"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "検索"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "本文:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 #, fuzzy
 msgid "Select a File..."
 msgstr "ファイルを選択"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 #, fuzzy
 msgid "Select an Image..."
 msgstr "ファイルを選択"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "全てのファイル"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "画像"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 #, fuzzy
 msgid "Add existing record"
 msgstr "レコードの保存"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "レコードを検索する"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 #, fuzzy
 msgid "Remove selected record"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "選択したレコードを編集"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 #, fuzzy
 msgid "Translation"
 msgstr "翻訳を追加"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "翻訳を追加する前にレコードを保存して下さい!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "他の利用できる言語はありません"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "翻訳ビュー"
 
diff --git a/share/locale/lt_LT/LC_MESSAGES/tryton.mo b/share/locale/lt_LT/LC_MESSAGES/tryton.mo
index 0c3e6cd..cff0ece 100644
Binary files a/share/locale/lt_LT/LC_MESSAGES/tryton.mo and b/share/locale/lt_LT/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/lt_LT/LC_MESSAGES/tryton.po b/share/locale/lt_LT/LC_MESSAGES/tryton.po
index bc6c7ac..ac2755b 100644
--- a/share/locale/lt_LT/LC_MESSAGES/tryton.po
+++ b/share/locale/lt_LT/LC_MESSAGES/tryton.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 2.3.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2013-04-18 11:37+0300\n"
 "Last-Translator: Giedrius Slavinskas <giedrius at inovera.lt>\n"
 "Language-Team: lt_LT <LL at li.org>\n"
@@ -18,109 +18,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr ""
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr ""
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr ""
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr ""
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr ""
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr ""
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr ""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr ""
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Pasirinkite veiksmą"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Nėra apibrėžtų veiksmų!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton prisijungimas"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Serveris:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Prievadas:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Pasirinkimas"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Jūsų pasirinkimas:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Įrašyti kaip..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Daugiau nepaisyti šio pranešimo."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Ar tikrai norite vykdyti?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Patvirtinimas"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Lygiagretaus duomenų rašymo klaida"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,50 +107,37 @@ msgstr ""
 "    - \"Palyginti\", kad peržiūrėti pakeistą versiją;\n"
 "    - \"Rašyti visvien\", kad išsaugoti jūsų turimą versiją."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Palyginti"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Rašyti visvien"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Klaida"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Pranešti apie klaidą"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Programos klaida!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Klaida: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Klaidų pranešimui reikalinga naudotojo paskyra <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Klaidų pėdsekys"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Naudotojas:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Slaptažodis:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -190,11 +146,9 @@ msgstr ""
 "Norėdami informuoti apie klaidos tvarkymo eigą, jūsų naudotojo vardas "
 "buvo pridėtas prie klaidos pranešimo sąrašo"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Užregistruoti naują klaidą su ID"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,11 +156,9 @@ msgstr ""
 "Prisijungimo klaida!\n"
 "Neteisingas naudotojo vardas arba slaptažodis!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Klaida:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -217,12 +169,9 @@ msgstr ""
 "Programa nustos jungtis su šiuos serveriui, kol bus sutvarkytas "
 "identifikatorius."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Saugumo pavojus!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -230,299 +179,228 @@ msgstr ""
 "Prisijungimo klaida!\n"
 "Nepavyko prisijungti prie serverio!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Tinklo klaida!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "Y"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "w"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
-
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "h"
-
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
-
-#: tryton/common/completion.py:21
 msgid "<i>Search...</i>"
 msgstr "<i>Ieškoti...</i>"
 
-#: tryton/common/completion.py:22
 msgid "<i>Create...</i>"
 msgstr "<i>Sukurti...</i>"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
+#, fuzzy
+msgid "Value"
+msgstr "Pridėti reikšmę"
+
+#, fuzzy
+msgid "Displayed value"
+msgstr "Pridėti reikšmę"
+
+#, fuzzy
+msgid "Format"
+msgstr "Sta_ndartinis"
+
+msgid "Display format"
+msgstr ""
+
+#, fuzzy
+msgid "Open the calendar"
 msgstr "Atverti kalendorių <F2>"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Datos pasirinkimas"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "taip"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "teisa"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Tiesa"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Netiesa"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Išei_ti..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Priedai..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Veiksmai..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Susiję įrašai..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Ataskaita..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "El. paštas..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Spausdinti..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "Y"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "w"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "h"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "_Failas"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Naudotojas"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Parinktys"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "_Mėgstami"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Žinynas"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Ieškoti"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "Nerasta rezultatų."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Prisijungti..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "_Atsijungti"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "Duomenų bazė"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nauja duomenų bazė..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Atkurti duomenų bazę..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "_Duomenų bazės atsarginė kopija..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Nai_kinti duomenų bazę"
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "Išei_ti..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "Nus_tatymai..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "Pekrauti meniu"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Įjungti/išjungti _meniu"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Globali paieška"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Įrankių _juosta"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Numatytasis"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Tekstas ir piktogramos"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "P_iktogramos"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Tekstas"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Meniu juosta"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Keisti trumpinius"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Rėžimas"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "Sta_ndartinis"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "_Forma"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Įsiminti plotį/aukštį"
 
-#: tryton/gui/main.py:624
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Įsiminti hierarchinio sąrašo išskleistas šakas"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Rašybos klaidų tikrinimas"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Kortelių pozicija"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Viršuje"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Kairėje"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Dešinėje"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Apačioje"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "_Buvusi kortelė"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "Kita kortelė"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Paieškos ribojimas..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_El. paštas..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "Iš_saugoti pasirinktis"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "Pa_tarimai..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "_Trumpiniai..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Apie..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Tvarkyti mėgstamus"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -530,11 +408,9 @@ msgstr ""
 "Atliekant šį veiksmą bus uždarytos visos kortelės.\n"
 "Ar norite tęsti?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Uždaryti kortelę"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -542,7 +418,6 @@ msgstr ""
 "Bus ištrinta Tryton duomenų bazė.\n"
 "Ar jūs tikrai norite tęsti?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -550,28 +425,21 @@ msgstr ""
 "Neteisingas Tryon serverio slaptažodis\n"
 "Bandykite iš naujo."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Neturite teisių!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Nepavyko sunaikinti duomenų bazės. Klaidos pranešimas:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Nepavyko sunaikinti duomenų bazės!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Sėkmingai sunaikinta duomenų bazė!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Atverti atsarginę kopiją atkūrimui..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -579,11 +447,9 @@ msgstr ""
 "Negalima atkurti duomenų bazės apsaugotos slaptažodžiu.\n"
 "Atsarginės kopijos sukūrimą bei atkūrimą atlikite savarankiškai."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Duomenų bazės slaptažodis yra apsaugotas!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -591,19 +457,15 @@ msgstr ""
 "Neteisingas Tryton serverio slaptažodis.\n"
 "Bandykite iš naujo."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Nepavyko sunaikinti duomenų bazės. Klaidos pranešimas:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Nepavyko sunaikinti duomenų bazės!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Sėkmingai sunaikinta duomenų bazė!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -612,79 +474,57 @@ msgstr ""
 "kopijos.\n"
 "Atsarginės kopijos sukūrimą bei atkūrimą atlikite savarankiškai."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Nepavyko padaryti duomenų bazės atsarginės kopijos.Klaidos pranešimas:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Nepavyko padaryti duomenų bazės atsarginės kopijos!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Sėkmingai padaryta duomenų bazės atsarginė kopija!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Naujas"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Sukurti naują įrašą"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Išsaugoti"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Išsaugoti šį įrašą"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Perjungti"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "Pe_rkrauti"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Perkrauti"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Naujas"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Saugoti"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "_Perjungti rodymą"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Pe_rkrauti/atšaukti"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "_Ištrinti..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Uždaryti _kortelę"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -694,11 +534,9 @@ msgstr ""
 "prievadą '8000', jeigu serveris įdiegtas šiame kompiuteryje. Spauskite "
 "ant 'Keisti' norėdami pakeisti serverio adresą."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Nėra ryšio su serveriu!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -714,28 +552,21 @@ msgstr ""
 "serverio adresas ir prievadas (dažniausiai 8000) yra neužblokuoti.\n"
 "Spauskite 'Keisti', kad pakeisti serverio jungtį."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Kurti naują duomenų bazę"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "Ku_rti"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Kurti naują duomenų bazę"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Serverio nustatymai:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Serverio jungtis:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -745,22 +576,15 @@ msgstr ""
 "'8000', jeigu serveris įdiegtas šiame kompiuteryje. Spauskite ant "
 "'Keisti' norėdami pakeisti serverio adresą."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "Ke_isti"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Keisti serverio jungtį..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Tryton serverio slaptažodis:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -769,15 +593,12 @@ msgstr ""
 "kuriam nors naudotojui. Slaptažodis dažniausiai nurodomas trytond "
 "konfiguraciniame faile."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Naujos duomenų bazės nustatymai:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Duomenų bazės pavadinimas:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -790,11 +611,9 @@ msgstr ""
 "Negalima įvesti nelotyniškų raidžių, tarpų bei skyrybos ženklų! Pavyzdys:"
 " tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Numatytoji kalba:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -804,11 +623,9 @@ msgstr ""
 "Papildomas kalbas galima įdiegti per administravimo meniu, kai bus "
 "sukurta nauja duomenų bazė"
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Administratoriaus slaptažodis:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -820,23 +637,18 @@ msgstr ""
 "Naudotojas: admin\n"
 "Slaptažodis: <Slaptažodis, kurį įvedėte čia>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Pakartokite slaptažodį:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Pakartotinai įrašykite administratoriaus slaptažodį"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Naujas administratoriaus slaptažodis nesutampa su pakartotinu.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Slaptažodžiai nesutampa!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -844,15 +656,12 @@ msgstr ""
 "Duomenų bazė tokiu pavadinimu jau yra sukurta.\n"
 "Pasirinkite kitą pavadinimą."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Duomenų bazė tokiu pavadinimu jau yra sukurta!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Neteisingas Tryton serverio slaptažodis. Bandykite iš naujo."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -865,154 +674,111 @@ msgstr ""
 "papildomos informacijos.\n"
 "Klaidos pranešimas:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Klaida kuriant duomenų bazę!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Nepavyko prisijungti prie serverio!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Šį programos versija nėra suderinama su serveriu!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Nėra nei vienos duomenų bazės!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Duomenų bazės atsarginė kopija"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Saugoti"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Daryti pasirinktos duomenų bazės atsarginę kopiją."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Pasirinkite Tryton duomenų bazę atsarginės kopijos sukūrimui:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Naikinti duomenų bazę"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Naikinti"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Naikinti pasirinktą duomenų bazę."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Pasirinkite duomenų bazę, kurią sunaikinti:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Serverio jungtis:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Duomenų bazė:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Profilių tvarkymas"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Profilis"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Pridėti"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Ištrinti"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
-msgstr "Serverio adresas:"
+msgid "Host:"
+msgstr "Serveris:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Kurti"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Gaunamas duomenų bazių sąrašas"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Naudotojas:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Nepavyko prisijungti prie serverio"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Nesuderinama serverio versija"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Prisijungti"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Atsisakyti"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Atšaukti prisijungimą prie Tryton serverio"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "_Prisijungti"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Prisijungti prie Tryton serverio"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Profilis:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Tvarkyti profilius"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Serverio / duomenų bazės duomenys"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Serveris:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Naudotojas:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Atkurti duomenų bazę"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Atkuriama iš failo:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1025,15 +791,12 @@ msgstr ""
 "Negalima įvesti nelotyniškų raidžių, tarpų bei skyrybos ženklų! Pavyzdys:"
 " tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Naujos duomenų bazės pavadinimas:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Atnaujinti duomenų bazę:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1041,202 +804,148 @@ msgstr ""
 "Pažymėkite, jeigu norite, kad po duomenų bazė atkūrimo būtų atnaujinama "
 "iki esamos Tryton versijos."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Atkurti"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Atkurti duomenų bazę iš failo."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "El. paštas"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "El. pašto programos nustatymai"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Komandinė eilutė:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Galimos žymekliai:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Kam:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Tema:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Turinys:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Priedas:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Buvęs"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Buvęs įrašas"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Kitas"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Kitas įrašas"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Priedai(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Prisegti failą prie įrašo"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "Sukurti ko_piją"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "_Buvęs"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "_Kitas"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "I_eškoti"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Žiūrėti _žurnalus..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "P_riedas:"
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Veiksmai..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Susiję įrašai..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "_Ataskaita..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "Siųsti _el. paštu..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "_Spausdinti..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Eksportuoti duomenis..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importuoti duomenis..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priedai(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Pasirinkite bent vieną įrašą!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Paskutinį kartą redagavo:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Modelis:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Ar tikrai norite ištrinti šį įrašą?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Ar tikrai norite ištrinti šiuos įrašus?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Įrašai nebuvo ištrinti!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Įrašai ištrinti!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Dabar dirbate su įrašo(-ų) kopija(-omis)!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Įrašas išsaugotas!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Netinkama forma!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " iš "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1244,158 +953,119 @@ msgstr ""
 "Šis įrašas buvo pakeistas\n"
 "Ar norite jį išsaugoti?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Veiksmai"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Vykdyti veiksmą"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Susijęs"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Atverti susijusius įrašus"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Ataskaitos"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Atverti ataskaitą"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Siuntimas"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Siųsti ataskaitą el. paštu"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Spausdinimas"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Spausdinti ataskaitą"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Nežinomas"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Riba"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Paieškos ribojimo nustatymai"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Riba:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nustatymai"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Keisti naudotojo nustatymus"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nustatymai"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Dabartinis slaptažodis:"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "Buvęs"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "Pasirinkimas"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Spartieji klavišai"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Teksto laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Iškirpti pažymėtą tekstą"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopijuoti pažymėtą tekstą"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Įdėti nukopijuotą tekstą"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Peršokti į kitą lauką"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Grįžti į buvusį lauką"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Sąryšinių laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Kurti naują sąryšį"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Atverti/ieškoti sąryšinio įrašo"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Sąrašo laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Kurti naują eilutę"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Atverti sąryšį"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Pažymėti eilutę ištrinimui"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Nužymėti eilutę ištrinimui"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Trumpiniai pagal laukus"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1405,7 +1075,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1437,7 +1106,6 @@ msgstr ""
 "159\n"
 "žinomi mažesni Saulės sistemos planetų palydovai kartu sudėjus.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1449,7 +1117,6 @@ msgstr ""
 "Jūsų galite nukopijuoti įrašus iš bet kurio sąrašo naudodami Ctrl + C\n"
 "bei įdėti į bet kurią programą spustelėje Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1460,85 +1127,64 @@ msgstr ""
 "Jūs galite išsaugoti bet kurią diagramą PNG formatu, spustelėję\n"
 "dešinį pelės mygtuką ant diagramos.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Patarimai"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "_Rodyti patarimus ir kitą kartą"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Eksportuoti CSV formatu"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Išsaugoti eksportavimo šablonai</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Galimi laukai</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Valyti"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Išsaugoti šabloną"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Ištrinti šabloną"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Eksportuojami laukai</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Nustatymai</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Atvėrimas"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Pridėti laukų pavadinimus"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Pavadinimas"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Kokiu pavadinimu išsaugoti šį eksportavimo šabloną?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d įrašas išsaugotas!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d įrašai išsaugoti!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1549,355 +1195,258 @@ msgstr ""
 "Klaidos pranešimas:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Nuoroda"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Pridėti"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Šalinti <Del>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Sukurti naują įrašą <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Atkurti pasirinktą įrašą <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importuoti iš CSV failo"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Aptikti automatiškai"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Importuojami laukai</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Importuoti iš failo:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Atverti..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSV parametrai"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Laukų skirtukas:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Teksto skyriklis:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Koduotė:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Praleisti eilutes:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Lauko pavadinimas"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Pasirinkite failą iš kurio importuosite!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Klaida atveriant CSV failą"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Klaida apdorojant failą ties lauku %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d įrašas importuotas!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d įrašai importuoti!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Vedlys"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Įrašyti kaip"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Paveiklėlio dydis"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Plotis:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Aukštis"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG paveikslėlis (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Paveikslėlis yra per didelis!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "F_iltras"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Rodyti filtrų žymeles"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Šalinti šią žymelę"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Sukurti šio filtro žymelę"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Žymelės pavadinimas:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Rasti"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Turinys:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Pasirinkite failą..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Rodyti paprastą tekstą"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Pridėti reikšmę"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Šalinti \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Pasirinkite paveikslėlį..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Visi failai"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Paveikslėliai"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Pridėti turimą įrašą"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Atverti įrašą <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Ieškoti įrašo <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Pašalinti pasirinktą įrašą"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Keisti pasirinktą įrašą <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Paryškinti tekstą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Kursyvas tekstas"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Pabraukti tekstą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Pasirinkite šriftą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Pasirinkite šrifto dydį"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Lygiuoti tekstą kairėje"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Lygiuoti tekstą centre"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Lygiuoti tekstą dešinėje"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Pritaikyti abipusę lygiuotę"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Pakeisti teksto spalvą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Pakeisti fono spalvą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Rodyti teksto žymėjimo kalbos rodinį"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Pasirinkite teksto spalvą"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Pasirinkite fono spalvą"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Vertimas"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Keisti"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Neaiškus"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Išsaugokite įrašą prieš pridedant vertimą!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Jokia kita kalba nėra prieinama!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Vertimų peržiūra"
 
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.mo b/share/locale/nl_NL/LC_MESSAGES/tryton.mo
index a8d6b3b..712b918 100644
Binary files a/share/locale/nl_NL/LC_MESSAGES/tryton.mo and b/share/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.po b/share/locale/nl_NL/LC_MESSAGES/tryton.po
index e4c5d0a..7db2d94 100644
--- a/share/locale/nl_NL/LC_MESSAGES/tryton.po
+++ b/share/locale/nl_NL/LC_MESSAGES/tryton.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tryton 1.8\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2012-04-23 11:07+0200\n"
 "Last-Translator: Bram van der Sar <avdsar at telfort.nl>\n"
 "Language-Team: \n"
@@ -13,109 +13,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "specificeer een vervangend configuratiebestand"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "logboek bijhouden op INFO niveau"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "specificeer de inlog gebruiker"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr " Stel de serverpoort in"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "Stel de servernaam in"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr ""
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Bestand \"%s\" niet gevonden"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Kan configuratiebestand %s niet opslaan! "
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Selecteer je handeling."
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Geen handeling gedefinieerd!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton verbinding"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Poort:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Selectie"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Uw selectie:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Opslaan als..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Altijd deze waarschuwing negeren."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Bevestiging"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Simultaan gebruik"
 
-#: tryton/common/common.py:817
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -134,50 +103,37 @@ msgstr ""
 " - \"Vergelijk\" om de verschillen te vergelijken;\n"
 " - \"Toch opslaan\" om deze versie op te slaan. "
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Vergelijk"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Overschrijven"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Fout"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Programmafout melden"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Programmafout"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Fout: "
 
-#: tryton/common/common.py:911
 #, fuzzy, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Om programmafouten aan te melden moet je een account hebben bij <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Foutrapportage"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Gebruiker:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Wachtwoord:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -186,11 +142,9 @@ msgstr ""
 "Om je op de hoogte te houden is je gebuikersnaam toegevoegd aan de lijst "
 "van belangstellenden"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Nieuwe foutmelding gemaakt met ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -198,11 +152,9 @@ msgstr ""
 "Geen verbinding!\n"
 "Verkeerde gebruikersnaam of wachtwoord!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Uitzondering:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -213,12 +165,9 @@ msgstr ""
 "Het programma maakt geen verbinding meer met de server totdat de "
 "identificatiecode is hersteld."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Beveiligingsrisico!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -226,319 +175,244 @@ msgstr ""
 "Verbinding mislukt!\n"
 "Verbinden met de server niet mogelijk!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Netwerkfout."
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr " J"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "w"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr " d"
+msgid "<i>Search...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "u"
+msgid "<i>Create...</i>"
+msgstr ""
 
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+#, fuzzy
+msgid "Value"
+msgstr "Niet waar"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
+msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
+#, fuzzy
+msgid "Format"
+msgstr "_Normaal"
+
+msgid "Display format"
 msgstr ""
 
-#: tryton/common/date_widget.py:67
 #, fuzzy
-msgid "Open the calendar <F2>"
+msgid "Open the calendar"
 msgstr "Open de kalender"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Datum selecteren"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "yes"
 msgstr "bytes"
 
-#: tryton/common/domain_parser.py:229
 #, fuzzy
 msgid "true"
 msgstr "Waar"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Waar"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Niet waar"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "Afsluiten"
 
-#: tryton/common/popup_menu.py:82
 #, fuzzy
 msgid "Attachments..."
 msgstr "Bijlage:"
 
-#: tryton/common/popup_menu.py:92
 #, fuzzy
 msgid "Actions..."
 msgstr "_Acties.."
 
-#: tryton/common/popup_menu.py:93
 #, fuzzy
 msgid "Relate..."
 msgstr "Verwijderen... "
 
-#: tryton/common/popup_menu.py:94
 #, fuzzy
 msgid "Report..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/common/popup_menu.py:95
 #, fuzzy
 msgid "E-Mail..."
 msgstr "E-mail"
 
-#: tryton/common/popup_menu.py:96
 #, fuzzy
 msgid "Print..."
 msgstr "Afdrukken"
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr " J"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "w"
+
+msgid "d"
+msgstr " d"
+
+msgid "h"
+msgstr "u"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "_Bestand"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Gebruiker"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Opties"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Help"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Zoeken"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "Verbinding verbreken"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "Data_base"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nieuwe database..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Herstel database..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Reservekopie van database..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Verwijder database..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "Afsluiten"
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Voorkeuren..."
 
-#: tryton/gui/main.py:488
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "He_rladen"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "_Werkbalk"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Standaard"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "_Tekst en pictogrammen"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "Pictogrammen..."
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Tekst"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Menubalk"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Versnellers aanpassen"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Modus"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Normaal"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "Formulier"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Bewaar breedte/hoogte"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Spellingscontrole uitvoeren"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Positie tabbladeren"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Bovenkant"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Links"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Rechts"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Onderkant"
-
-#: tryton/gui/main.py:692
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "V_orige"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Zoek limiet..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "E-mail"
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Sla opties op"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Tips..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "Sneltoetsen"
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "I_nfo..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Tabblad sluiten"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -546,7 +420,6 @@ msgstr ""
 "U gaat een Tryton database verwijderen.\n"
 "Weet u zeker dat u door wil gaan?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -554,28 +427,21 @@ msgstr ""
 "Verkeerde wachtwoord voor de Tryton server\n"
 "Probeer het opnieuw."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Geen toegang!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Verwijderen database is mislukt met foutmelding:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Database kan niet worden verwijderd."
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Database succesvol verwijderd!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Open reservekopie om te herstellen..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -583,11 +449,9 @@ msgstr ""
 "Een met een wachtwoord beveiligde database kan niet terug gezet worden.\n"
 "Voer deze handeling handmatig uit."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Database beveiligd met een wachtwoord!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -595,19 +459,15 @@ msgstr ""
 "Verkeerde wachtwoord voor de Tryton server\n"
 "Probeer het opnieuw."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Herstellen database is mislukt met foutmelding:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Database terugzetten mislukt!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Database succesvol teruggezet!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -615,79 +475,57 @@ msgstr ""
 "Een met een wachtwoord beveiligde database kan niet verwijderd worden.\n"
 "Voer deze handeling handmatig uit."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Verwijderen database is mislukt met foutmelding:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Database verwijderen mislukt!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Reservekopie van database gemaakt!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Maak een nieuw item"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Opslaan"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Bewaar dit item"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Omschakelen"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "He_rladen"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Herladen"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nieuw"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Op_slaan"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "_Ongedaan maken"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "Verwijderen... "
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Tabblad sluiten"
 
-#: tryton/gui/window/dbcreate.py:32
 #, fuzzy
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
@@ -698,11 +536,9 @@ msgstr ""
 "als de server op deze computer is geïnstalleerd. Klik op 'Wijzig' om het "
 "adres aan te passen."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Geen verbinding met server"
 
-#: tryton/gui/window/dbcreate.py:48
 #, fuzzy
 msgid ""
 "Can not connect to the server!\n"
@@ -720,28 +556,21 @@ msgstr ""
 "geblokkeerd worden.\n"
 "Klik op 'Wijzig' om het adres aan te passen."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Maak een nieuwe Database."
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "Aan_maken"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Maak de nieuwe Database."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Server instelling:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Server verbinding:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 #, fuzzy
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
@@ -752,22 +581,15 @@ msgstr ""
 "als de server op deze computer is geïnstalleerd. Klik op 'Wijzig' om het "
 "adres aan te passen."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "_Wijzigen"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Verbinden met server..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Wachtwoord Tryton server:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -776,15 +598,12 @@ msgstr ""
 "van een gebruiker. Dit wachtwoord is doorgaans gedefinieerd in de trytond"
 " configuratie."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Maak een nieuwe database:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Naam database:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -795,11 +614,9 @@ msgstr ""
 "Toegestane tekens zijn alfa-numeriek of _ (underscore).\n"
 "Vermijd alle accenten, spaties en speciale tekens! Voorbeeld: tryton."
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Standaardtaal:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -808,11 +625,9 @@ msgstr ""
 "Kies de standaardtaal welke geïnstalleerd wordt voor deze database. Het "
 "is mogelijk de taal te wijzigen na installatie in het Systeembeheer menu."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Admin wachtwoord:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -824,23 +639,18 @@ msgstr ""
 "Gebruikersnaam: admin\n"
 "Wachtwoord: <het wachtwoord dat je hier ingeeft>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Bevestig admin wachtwoord:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Admin wachtwoord opnieuw invoeren"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Het nieuwe wachtwoord voor admin komt niet overeen met de bevestiging.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Wachtwoorden komen niet overeen!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -848,15 +658,12 @@ msgstr ""
 "Een database met deze naam bestaat al.\n"
 "Probeer een andere database naam. "
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Deze database bestaat al!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Sorry, verkeerde wachtwoord voor de Tryton server. Probeer het opnieuw. "
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -869,163 +676,119 @@ msgstr ""
 "informatie.\n"
 "Foutmelding:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Database maken mislukt!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Geen verbinding met de server!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr ""
 "Deze software versie kan niet gebruik worden in combinatie met de versie "
 "op de server! "
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Geen database aanwezig; maak een nieuwe aan!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Reservekopie van database"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Reservekopie"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Maak reservekopie van deze database."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Kies een Tryton database voor een reservekopie:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Verwijder een database"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Verwijder de gekozen database."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Kies een Tryton database om te verwijderen:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Verbinding met server:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Database:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Toevoegen"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Verwijderen"
 
-#: tryton/gui/window/dblogin.py:70
 #, fuzzy
-msgid "Hostname:"
-msgstr "Gebruikersnaam:"
+msgid "Host:"
+msgstr "Poort:"
 
-#: tryton/gui/window/dblogin.py:107
 #, fuzzy
 msgid "Create"
 msgstr "Aan_maken"
 
-#: tryton/gui/window/dblogin.py:110
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Maak een nieuwe database:"
 
-#: tryton/gui/window/dblogin.py:128
 #, fuzzy
 msgid "Username:"
 msgstr "Gebruikersnaam:"
 
-#: tryton/gui/window/dblogin.py:308
 #, fuzzy
 msgid "Could not connect to the server"
 msgstr "Geen verbinding met de server!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Deze versie is onverenigbaar met de server! "
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Inlognaam"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr " _Annuleren"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Verbreek verbinding met Tryton server"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "_Verbinden"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Verbind met Tryton server"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:434
-#, fuzzy
-msgid "Host:"
-msgstr "Poort:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Gebruikersnaam:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Database terug zetten"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Terug te zetten bestand:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1037,15 +800,12 @@ msgstr ""
 "Vermijd alle accenten, spaties en speciale tekens!\n"
 "Voorbeeld: tryton "
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Naam nieuwe database:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Database bijwerken:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1053,207 +813,153 @@ msgstr ""
 "Inschakelen voor het automatisch bijwerken van de database uit een vorige"
 " Tryton versie."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Herstellen"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Herstel database uit bestand."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "E-mail"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "E-mail instellingen "
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Opdrachtregel:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Legenda van beschikbare sjablonen: "
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Aan:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Onderwerp:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Bericht:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Bijlage:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Vorige"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Vorige item"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Volgende"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Volgende item"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Bijlage"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Voeg een bijlage aan dit item toe"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Dupliceren"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "V_orige"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "_Volgende"
 
-#: tryton/gui/window/form.py:64
 #, fuzzy
 msgid "_Search"
 msgstr "Zoeken"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Bekijk logregister"
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 #, fuzzy
 msgid "A_ttachments..."
 msgstr "Bijlage:"
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Acties.."
 
-#: tryton/gui/window/form.py:75
 #, fuzzy
 msgid "_Relate..."
 msgstr "Verwijderen... "
 
-#: tryton/gui/window/form.py:78
 #, fuzzy
 msgid "_Report..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/gui/window/form.py:80
 #, fuzzy
 msgid "_E-Mail..."
 msgstr "E-mail"
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "Afdrukken"
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "_Exporteer gegevens... "
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Bijlage (%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Je moet één item selecteren!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Laatste wijziging door:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Weet je zeker dat je dit item wilt verwijderen?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Weet je zeker dat je deze items wilt verwijderen?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Items niet verwijderd!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Items verwijderd!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Je werkt nu met het gekopieerde item!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Item opgeslagen!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Ongeldige invoer in formulier!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " van "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1261,166 +967,127 @@ msgstr ""
 "Item is aangepast.\n"
 "Wil je de wijzigingen opslaan?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Actie"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Relate"
 msgstr "Aan_maken"
 
-#: tryton/gui/window/form.py:539
 #, fuzzy
 msgid "Open related records"
 msgstr "Item openen"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Report"
 msgstr "Rapporten"
 
-#: tryton/gui/window/form.py:541
 #, fuzzy
 msgid "Open report"
 msgstr "Item openen"
 
-#: tryton/gui/window/form.py:542
 #, fuzzy
 msgid "E-Mail"
 msgstr "E-mail"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Afdrukken"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Onbekend"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Limiet:"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Zoek limiet instellen"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr " Limiet:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Voorkeuren"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Voorkeuren gebruiker aanpassen"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Voorkeur"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Huidig Wachtwoord:"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "Vorige"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "Selectie"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Sneltoetsen"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Knip geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopieer geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Plak geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Volgend element"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Vorig element"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Relatie sneltoetsen"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Nieuwe relatie aanmaken"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Zoek / open relatie"
 
-#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
-#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Create new line"
 msgstr "Nieuwe relatie aanmaken"
 
-#: tryton/gui/window/shortcuts.py:39
 #, fuzzy
 msgid "Open relation"
 msgstr "Zoek / open relatie"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Versies widgets"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1430,7 +1097,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1462,7 +1128,6 @@ msgstr ""
 "omvangrijker\n"
 "dan de 159 nu bekende kleinere manen van het zonnestelsel bij elkaar.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1474,7 +1139,6 @@ msgstr ""
 "Kopieer gegevens van elke lijst met Ctrl + C\n"
 "en plak ze in elke toepassing met Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1484,85 +1148,64 @@ msgstr ""
 "\n"
 "Met een rechts-klik kan je elke grafiek in PNG exporteren.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Tips"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "Volgende keer een tip"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Exporteer naar CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Voorgedefinieerde exportinstellingen</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Alle velden</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Wissen"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Exportgegevens opslaan"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Exportgegevens verwijderen"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Velden om te exporteren</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Opties</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Open"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Voeg veldnamen toe"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Naam"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Wat is de naam voor deze export?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d item opgeslagen!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d items opgeslagen!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1573,370 +1216,273 @@ msgstr ""
 "Foutmelding:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Koppeling"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Toevoegen"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Maak een nieuw item"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Importeer uit CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Automatisch"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Velden om te importeren</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Bestand om te importeren:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Openen..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSV parameters"
 
-#: tryton/gui/window/win_import.py:124
 #, fuzzy
 msgid "Field Separator:"
 msgstr "Veldscheidingsteken:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Tekstscheidingsteken:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Codering:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Regels overslaan:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Veldnaam"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "U moet eerst een import bestand selecteren!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Fout bij openen CSV-bestand"
 
-#: tryton/gui/window/win_import.py:289
 #, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "Fout bij inlezen van bestand bij veld%s"
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d item geïmporteerd!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d items geïmporteerd!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 #, fuzzy
 msgid "ID"
 msgstr " d"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Opslaan als"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Afbeeldingsgrootte"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Breedte:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Hoogte:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG afbeelding (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Afbeelding te groot!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Bestand"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Vind"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Bericht:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 #, fuzzy
 msgid "Select a File..."
 msgstr "Kies een bestand"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 #, fuzzy
 msgid "Select an Image..."
 msgstr "Kies een bestand"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Alle bestanden"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Afbeeldingen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 #, fuzzy
 msgid "Add existing record"
 msgstr "Bewaar dit item"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 #, fuzzy
 msgid "Open a record <F2>"
 msgstr "Item openen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Item zoeken"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Geselecteerd item aanpassen"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 #, fuzzy
 msgid "Translation"
 msgstr "Voeg vertaling toe"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Gegevens eerst opslaan voordat u een vertaling toevoegt! "
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Geen andere taal beschikbaar!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Vertaal aanzicht"
 
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.mo b/share/locale/ru_RU/LC_MESSAGES/tryton.mo
index be768b8..236ff77 100644
Binary files a/share/locale/ru_RU/LC_MESSAGES/tryton.mo and b/share/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.po b/share/locale/ru_RU/LC_MESSAGES/tryton.po
index 59df63b..d913177 100644
--- a/share/locale/ru_RU/LC_MESSAGES/tryton.po
+++ b/share/locale/ru_RU/LC_MESSAGES/tryton.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 1.3.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
+"POT-Creation-Date: 2015-03-23 18:56+0100\n"
 "PO-Revision-Date: 2013-04-12 23:16+0500\n"
 "Last-Translator: Ilya Melnikov <rayanayar at mail.ru>\n"
 "Language-Team: ru_RU <k-dmitry2 at narod.ru>\n"
@@ -18,109 +18,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "указать альтернативный конфигурационный файл"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "режим разработки"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "все сообщения на уровне INFO"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "указать уровень вывода сообщений: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "указать имя пользователя"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "укажите порт сервера"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "укажите имя сервера"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Слишком много аргументов"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Файл \"%s\" не найден"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Невозможно записать файл конфигурации %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Выберите действие"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Не определены действия!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton соединение"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Сервер:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Порт:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Выбор"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Ваш выбор:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Сохранить как..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Всегда игнорировать это предупреждение."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Вы хотите продолжить?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Подтвердите"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Прерывание конкурентных записей"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,50 +107,37 @@ msgstr ""
 "- \" Сравнить \", чтобы увидеть модифицированный вариант;\n"
 "- \" Переписать \", чтобы сохранить вашу текущую версию."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Сравнить"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Записать все равно"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Ошибка"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Сообщить об ошибке"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Ошибка приложения!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Ошибка: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Вы можете отправить отчет об ошибке если вы зарегистрированны на <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Система сбора ошибок"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Пользователь:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Пароль:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -190,11 +146,9 @@ msgstr ""
 "Чтобы держать вас в курсе ваше имя пользователя будет добавлен в список "
 "перечень по этому вопросу"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Создан новый отчет об ошибке с идентификатором"
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,11 +156,9 @@ msgstr ""
 "Ошибка соединения!\n"
 "Неверное имя пользователя или пароль!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Исключительная ситуация:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -216,12 +168,9 @@ msgstr ""
 "Подключение к серверу приостановлено до тех пор пока сертификат не будет "
 "исправлен."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Угроза безопасности!"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -229,299 +178,228 @@ msgstr ""
 "Ошибка соединения!\n"
 "Невозможно соединиться с сервером!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Сетевая ошибка!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "Г"
-
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "М"
-
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "н"
-
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "д"
-
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "ч"
-
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "м"
-
-#: tryton/common/completion.py:21
 msgid "<i>Search...</i>"
 msgstr "<i>Поиск...</i>"
 
-#: tryton/common/completion.py:22
 msgid "<i>Create...</i>"
 msgstr "<i>Создать...</i>"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
+#, fuzzy
+msgid "Value"
+msgstr "Добавить значение"
+
+#, fuzzy
+msgid "Displayed value"
+msgstr "Добавить значение"
+
+#, fuzzy
+msgid "Format"
+msgstr "Нормальный"
+
+msgid "Display format"
+msgstr ""
+
+#, fuzzy
+msgid "Open the calendar"
 msgstr "Открыть календарь <F2>"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Выбор даты"
+msgid "Date Format"
+msgstr ""
+
+msgid "Displayed date format"
+msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "да"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "истинный"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Истинный"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Ложный"
 
-#: tryton/common/popup_menu.py:77
 #, fuzzy
 msgid "Edit..."
 msgstr "_Выход..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Вложения..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "Связанные..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Отчет..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "Эл.почта..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "Печать..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "Г"
+
+msgid "M"
+msgstr "М"
+
+msgid "w"
+msgstr "н"
+
+msgid "d"
+msgstr "д"
+
+msgid "h"
+msgstr "ч"
+
+msgid "m"
+msgstr "м"
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr "Файл"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Пользователь"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Параметры"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "Избранное"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "Помощь"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Поиск"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "Ничего не найдено."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "Подключение..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "Отключение"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "База данных"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "Новая база данных..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "Восстановить базу данных..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Сохранить базу данных..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "Удалить базу данных..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Выход..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "Настройки..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "Обновить меню"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "Показать/скрыть меню"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "Глобальный поиск"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "Панель инструментов"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "По умолчанию"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Текст и Значки"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "Значки"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "Текст"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Меню"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Режим изменения быстрых клавиш"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "Режим"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "Нормальный"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "Упрощенный"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "Форма"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Сохранить размеры"
 
-#: tryton/gui/main.py:624
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запомнить состояние дерева"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Проверка орфографии"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Положение вкладок"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Вверху"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Влево"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "В право"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Снизу"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "Предыдущая вкладка"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "Следующая вкладка"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Максимальное количество строк..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "Настройки _Эл.почты"
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "Сохранить настройки"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Советы..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "_Быстрые клавиши"
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "О программе"
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "Управление закладками"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -529,11 +407,9 @@ msgstr ""
 "Данное действие приведет к закрытию всех вкладок.\n"
 "Продолжить?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Закрыть вкладку"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -541,7 +417,6 @@ msgstr ""
 "Вы собираетесь удалить базу данных.\n"
 "Вы действительно уверены, продолжить?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -549,28 +424,21 @@ msgstr ""
 "Неверный административный пароль сервера Tryton\n"
 "Пожалуйста, попробуйте снова"
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Доступ запрещен!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Удаление базы данных завершено с сообщением об ошибке:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Не удалось удалить базу данных!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "База успешно удалена!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Открыть файл для восстановления..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -578,11 +446,9 @@ msgstr ""
 "Не возможно восстановить на защищенной паролем базе данных.\n"
 "Резервное копирование и восстановление необходимо выполнить вручную."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "База данных защищена паролем!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -590,19 +456,15 @@ msgstr ""
 "Неверный административный пароль сервера Tryton\n"
 "Пожалуйста, попробуйте снова"
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Восстановление базы данных с сообщением об ошибке:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Базу данных восстановить не удалось!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "База данных восстановлена полностью!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -610,79 +472,57 @@ msgstr ""
 "Не возможно сделать снимок на защищенной паролем базе данных. \n"
 "Резервное копирование и восстановление необходимо выполнить вручную."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Резервное копирование базы данных завершилось с сообщением об ошибке:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Не удалось выполнить резервное копирование базы данных!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "База данных сохранена успешно!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Новый"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Создать новую запись"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Сохранить"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Сохранить эту запись"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Переключить"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Обновить"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Обновить"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "Новый"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "Сохранить"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Сменить просмотр"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Обновить/Отменить"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "Удалить..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Закрыть вкладку"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -692,11 +532,9 @@ msgstr ""
 "'8000', если сервер установлен на этом компьютере. Нажмите кнопку "
 "'Изменить' для изменения адреса."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Нет соединения!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -713,28 +551,21 @@ msgstr ""
 "Нажмите на 'Изменить' для изменения адреса.\n"
 "4. Если это не помогло обратитесь к администратору вашей сети."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Создать новую базу данных"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "С_оздать"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Создать новую базу данных"
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Параметры подключения к серверу:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Соединение с сервером:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -744,22 +575,15 @@ msgstr ""
 "если сервер установлен на этом компьютере. Нажмите кнопку 'Изменить' для "
 "изменения адреса."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "Изменить"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Настройка соединения с сервером"
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Пароль сервера Tryton:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -767,15 +591,12 @@ msgstr ""
 "Это пароль для сервера Tryton. Он не относится к реальному пользователю. "
 "Этот пароль обычно определяется в серверной конфигурации."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Параметры новой базы данных:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Имя базы данных:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -787,11 +608,9 @@ msgstr ""
 "Недопустимо использование пробелов и других специальных символов!\n"
 "Примеры: Tryton, test_1, MyCompany"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Язык по умолчанию:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -801,11 +620,9 @@ msgstr ""
 "данных. Вы сможете установить новые языки после установки через "
 "административное меню."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Пароль администратора:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -817,23 +634,18 @@ msgstr ""
 "Имя пользователя: Admin\n"
 "Пароль: <пароль вы установите здесь>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Подтвердите пароль администратора:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Введите административный пароль повторно"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Новый пароль не совпадает с полем подтверждения.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Пароли не совпадают!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -841,15 +653,12 @@ msgstr ""
 "База данных с таким же названием уже существует.\n"
 "Попробуйте другое имя базы данных."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "Такая база данных уже существует!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Извините, неверный пароль для сервера. Попробуйте еще раз."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -861,154 +670,111 @@ msgstr ""
 "данных! Дополнительная информация может быть в сообщении об ошибке.\n"
 "Сообщение об ошибке:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Ошибка создания базы данных!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Не удается подключиться к серверу!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Эта версия клиента не совместима с сервером!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "База данный не найдена, вы должны сначала создать её!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Резервное копирование базы данных"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Резервное копирование"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Резервное копирование выбранной базы данных"
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Выберите базу данных Tryton для резервного копирования:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Удаление базы данных"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Удалить"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Удалить выбранную базу данных"
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Выберите базу данных для удаления:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Соединение с сервером:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "База данных:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Редактор профилей"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Профиль"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Добавить"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Удалить"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
-msgstr "Сервер:"
+msgid "Host:"
+msgstr "Сервер:порт"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Создать"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Получение списка баз данных"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Имя пользователя:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Не удается подключиться к серверу!"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Несовместимая версия сервера"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Логин"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "Отмена"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Отмена подключения к серверу"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "Соединение"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Соединение с сервером"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Профиль:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "Управление профилями"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Сервер / база данных"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Сервер:порт"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Имя пользователя:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Восстановить базу данных"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Файл для восстановления:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1020,15 +786,12 @@ msgstr ""
 "Недопустимо использование пробелов и других специальных символов!\n"
 "Примеры: Tryton, test_1, MyCompany"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Название новой базы данных:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Обновить базу данных:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1036,202 +799,148 @@ msgstr ""
 "Проверить наличие автоматического обновления базы данных после "
 "восстановления базы данных из предыдущей версии Tryton."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Восстановить"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Восстановить базу данных из файла."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Эл.почта"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Настройки программы электронной почты"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Командная строка:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Переменные доступные для подстановки:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Кому:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "Скрытая копия:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Тема:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Сообщение:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Вложение:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Предыдущий"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Предыдущая запись"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Следующий"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Следующая запись"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Вложений (0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Добавить вложение для этой записи"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "Копировать"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "Предыдущая"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Следующая"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "Поиск"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Просмотр изменений"
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "Вложения..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "Действия"
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "Связанные..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "Отчет..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "Эл.почта..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "печать"
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "Экспорт данных"
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "Импорт данных"
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Вложений (%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Вы должны выбрать одну запись!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "Номер строки"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Дата создания"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Изменена пользователем:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Модель:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Вы уверены что хотите удалить эту запись?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Вы уверены что хотите удалить эти записи?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Записи не удалены!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Записи удалены!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Сейчас работает на дублирующихся записях!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Запись сохранена!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Недопустимая форма!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr "из"
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1239,158 +948,119 @@ msgstr ""
 "Эта запись была изменена\n"
 "Вы хотите её сохранить?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Действие"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Выполнить действие"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Связанные"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Открыть связанные записи"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Отчет"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Открыть отчет"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Эл.почта"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Отправить отчет по Эл.почте"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Печать"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Печать отчета"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Неизвестно"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Ограничение"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Настройки ограничения поиска"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Кол-во записей"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Изменить настройки пользователя"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Настройка"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Текущий пароль:"
 
-#: tryton/gui/window/revision.py:20
 #, fuzzy
 msgid "Revision"
 msgstr "Предыдущий"
 
-#: tryton/gui/window/revision.py:29
 #, fuzzy
 msgid "Select a revision"
 msgstr "Выбор"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Сочетания клавиш быстрого доступа"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Горячие клавиши в текстовых полях"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Вырезать  выделенный текст"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Скопировать выделенный текст"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Вставить скопированный текст"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Следующий Widget"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Предыдущий Widget"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Связи записей \"быстрого доступа\""
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Создать новую связь"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Открыть / Поиск связей"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Список горячих клавиш"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Создать новую строку"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Открыть связь"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Отметить линию на удаление"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Убрать отметку на удаление"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Редактируемые поля"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1400,7 +1070,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1429,7 +1098,6 @@ msgstr ""
 "известных\n"
 "меньших спутники Солнечной системы вместе взятых.\n"
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1441,7 +1109,6 @@ msgstr ""
 "Вы можете копировать записи из любого списка по Ctrl + C\n"
 "и вставить в любое приложение по Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1452,85 +1119,64 @@ msgstr ""
 "Можно сохранить график в PNG-формате щелкнув по нему правой кнопкой мыши."
 "\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Советы"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "Показывать  новый совет при следующем запуске"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Экспорт в CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Предопределенные экспорты</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Все поля</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Очистить"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Сохранить настройку экспорта"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Удалить настройку экспорта"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Поля для экспорта</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Опции</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Открыть"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Добавить имя поля"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Имя"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Укажите имя для экспорта."
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d запись сохранена!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d записей сохранено!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1541,355 +1187,258 @@ msgstr ""
 "Сообщение об ошибке:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Ссылка"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Добавить"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Удалить <Del>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Создать новую запись <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Восстановить выбраную запись <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Импорт из файла CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Авто-обнаружение"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Поля для импорта</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Файл для импорта:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Открыть..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "Параметры CVS"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Разделитель полей:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Ограничитель текста:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Кодировка:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Строки для пропуска:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Наименование поля"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Вы должны сначала выбрать файл для импорта!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Ошибка открытия файла CSV"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Ошибка при обработке файла на поле %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d запись импортирована!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d записей импортировано!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Мастер"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 #, fuzzy
 msgid "Creation User"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата создания"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Сохранить как"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Размер изображения"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Ширина:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Ввысота:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Размер изображения слишком большой!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "Фильтры"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Показать сохраненные фильтры"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Удалить эту закладку"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Запомнить этот фильтр"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Имя закладки:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Найти"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 #, fuzzy
 msgid "Today"
 msgstr "Сообщение:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 #, fuzzy
 msgid "Week View"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 #, fuzzy
 msgid "Month View"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Выбрать файл..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Показать в виде текста"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Добавить значение"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Удалить \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Выбрать изображение..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Все фалы"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Изображения"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Добавить существующую запись"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Открыть запись <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Поиск записи <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Удалить выбраную запись"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Изменить выбранную запись <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Сделать текст полужирным"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Сделать текст курсивом"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Сделать текст подчеркнутым"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Выбрать имя шрифта"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Выбрать размер шрифта"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Выравнивание по левому краю"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Выравнивание по центру"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Выравнивание по правому краю"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Выравнивание по ширине"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Изменить основной текст"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Изменить текст фона"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Изменить текст разметки"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Выбрать цвет"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Выбрать цвет фона"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Перевод"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Редактировать"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Неточный"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Необходимо сохранить запись перед добавлением перевода!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Отсутствуют другие доступные языки!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Перевод текущего окна"
 
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.mo b/share/locale/sl_SI/LC_MESSAGES/tryton.mo
index 8016491..33421e3 100644
Binary files a/share/locale/sl_SI/LC_MESSAGES/tryton.mo and b/share/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.po b/share/locale/sl_SI/LC_MESSAGES/tryton.po
index 5c6addb..852541d 100644
--- a/share/locale/sl_SI/LC_MESSAGES/tryton.po
+++ b/share/locale/sl_SI/LC_MESSAGES/tryton.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tryton 3.0\n"
 "Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: 2014-10-15 11:36+0200\n"
+"POT-Creation-Date: 2015-04-04 11:14+0200\n"
+"PO-Revision-Date: 2015-04-04 11:19+0200\n"
 "Last-Translator: Venceslav Vezjak <vezjakv at gmail.com>\n"
 "Language-Team: sl_SI <LL at li.org>\n"
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 "
@@ -18,109 +18,78 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr "določi alterntivno konfiguracijsko datoteko"
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr "Razvijalski način"
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr "beleženje vsega na INFO ravni"
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr "določi nivo beleženja: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr "določi uporabniško ime"
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr "določi strežniška vrata"
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr "določi strežniškega gostitelja"
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr "Preveč argumentov"
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr "Datoteke \"%s\" ni moč najti"
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr "Ni možno zapisati konfiguracijske datoteke %s!"
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Ni možno nastaviti krajevnih nastavitev %s"
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr "Izberi ukrep"
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr "Nobenega ukrepa ni določenega!"
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr "Tryton povezava"
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr "Strežnik:"
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr "Vrata:"
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr "Izbira"
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr "Vaša izbira:"
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr "Shrani kot..."
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr "Vedno prezri to opozorilo."
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr "Ali želite nadaljevati?"
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr "Potrditev"
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr "Izjema sočasnega izvajanja"
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -138,50 +107,37 @@ msgstr ""
 "    - \"Primerjaj\" za vpogled v spremenjeno inačico;\n"
 "    - \"Vseeno zapiši\" za shranitev vaše trenutne inačice."
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr "Primerjaj"
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr "Vseeno zapiši"
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr "Napaka"
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr "Prijava programske napake"
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr "Napaka programa!"
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr "Napaka: "
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Za prijavo programskih napak morate imeti odprt račun pri <u>%s</u>"
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr "Sledilnik programskih napak"
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr "Uporabnik:"
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr "Geslo:"
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
@@ -190,11 +146,9 @@ msgstr ""
 "Zaradi obveščanja je vaše uporabniško ime dodano na seznam te programske "
 "napake"
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr "Evidentirana je nova programska napaka z ID "
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
@@ -202,11 +156,9 @@ msgstr ""
 "Napaka pri povezavovanju!\n"
 "Napačno uporabniško ime ali geslo!"
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr "Izjema:"
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
@@ -216,12 +168,9 @@ msgstr ""
 "Program bo ustavil povezovanje na ta strežnik, dokler ne bo njegov prstni"
 " odtis popravljen."
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr "Varnostno tveganje"
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
@@ -229,297 +178,222 @@ msgstr ""
 "Napaka pri povezovanju!\n"
 "Ni se možno povezati na strežnik!"
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr "Napaka mreže!"
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr "l"
+msgid "<i>Search...</i>"
+msgstr "<i>Išči...</i>"
 
-#: tryton/common/common.py:1406
-msgid "M"
-msgstr "M"
+msgid "<i>Create...</i>"
+msgstr "<i>Ustvari...</i>"
 
-#: tryton/common/common.py:1407
-msgid "w"
-msgstr "t"
+msgid "Value"
+msgstr "Vrednost"
 
-#: tryton/common/common.py:1408
-msgid "d"
-msgstr "d"
+msgid "Displayed value"
+msgstr "Prikazana vrednost"
 
-#: tryton/common/common.py:1409
-msgid "h"
-msgstr "u"
-
-#: tryton/common/common.py:1410
-msgid "m"
-msgstr "m"
+msgid "Format"
+msgstr "Oblika"
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
-msgstr "<i>Išči...</i>"
+msgid "Display format"
+msgstr "Oblika prikaza"
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
-msgstr "<i>Ustvari...</i>"
+msgid "Open the calendar"
+msgstr "Odpri koledar"
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
-msgstr "Odpri koledar <F2>"
+msgid "Date Format"
+msgstr "Oblika datuma"
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
-msgstr "Izbira datuma"
+msgid "Displayed date format"
+msgstr "Prikazana oblika datuma"
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr "d"
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr "da"
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr "da"
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr "Da"
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr "Ne"
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr "Uredi ..."
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr "Priponke..."
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr "_Ukrepi..."
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr "_Veze..."
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr "Poročila..."
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr "_Elektronska pošta..."
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr "_Izpis..."
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr "l"
+
+msgid "M"
+msgstr "M"
+
+msgid "w"
+msgstr "t"
+
+msgid "d"
+msgstr "d"
+
+msgid "h"
+msgstr "u"
+
+msgid "m"
+msgstr "m"
+
+msgid "s"
+msgstr "s"
+
 msgid "_File"
 msgstr "_Datoteka"
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr "_Uporabnik"
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr "_Možnosti"
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr "P_riljubljeno"
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr "_Pomoč"
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr "Išči"
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr "Brez rezultatov."
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr "_Poveži..."
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr "Pre_kini povezavo"
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr "Podatkovna _baza"
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr "_Nova podatkovna baza ..."
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr "_Obnovitev podatkovne baze ..."
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr "Varnostno _kopiranje podatkovne baze ..."
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr "_Brisanje podatkovne baze ..."
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr "_Izhod..."
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr "_Nastavitve..."
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr "_Ponovno naloži meni"
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr "_Preklopi meni"
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr "_Globalno iskanje"
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr "_Orodna vrstica"
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr "_Privzeto"
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr "Bese_dilo in ikone"
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr "_Ikone"
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr "_Besedilo"
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr "_Menu vrstica"
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr "Spremeni bližnjice"
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr "_Način"
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr "_Navaden"
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr "O_brazec"
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr "Shrani širino/višino"
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr "Shrani stanje drevesa"
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr "Črkovanje"
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr "Položaj zavihkov"
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr "Zgoraj"
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr "Levo"
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr "Desno"
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr "Spodaj"
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr "P_rejšnji zavihek"
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr "_Naslednji zavihek"
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr "Omejitev iskanja..."
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr "_Epošta..."
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr "_Shrani možnosti"
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr "_Nasveti..."
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr "_Bližnjice na tipkovnici..."
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr "_Vizitka..."
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr "_Upravljaj zaznamke"
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,11 +401,9 @@ msgstr ""
 "Za naslednji ukrep morajo biti vsi zavihki zaprti.\n"
 "Ali želite nadaljevati?"
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr "Zapri zavihek"
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
@@ -539,7 +411,6 @@ msgstr ""
 "Nameravate izbrisati Tryton podatkovno bazo.\n"
 "Ali ste res želite nadaljevati?"
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
@@ -547,28 +418,21 @@ msgstr ""
 "Napačno geslo za Tryton strežnik.\n"
 "Prosimo, poskusite še enkrat."
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr "Dostop zavrnjen!"
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr "Brisanje podatkovne baze je odpovedalo z napako:\n"
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr "Brisanje podatkovne baze je odpovedalo!"
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr "Brisanje podatkovne baze uspešno zaključeno!"
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr "Odpri varnostno kopijo za obnovitev..."
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
@@ -576,11 +440,9 @@ msgstr ""
 "Ni možno obnoviti podatkovne baze, ki so zaščitene z geslom.\n"
 "Varnostno kopiranje in obnovitev se mora ročno izvesti."
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr "Podatkovna baza je zaščitena z geslom!"
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
@@ -588,19 +450,15 @@ msgstr ""
 "Napačno geslo za Tryton strežnik.\n"
 "Prosimo, poskusite še enkrat."
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr "Obnovitev podatkovne baze je odpovedala z napako:\n"
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr "Obnovitev podatkovne baze je odpovedala!"
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr "Obnovitev podatkovne baze uspešno zaključena!"
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
@@ -608,79 +466,57 @@ msgstr ""
 "Ni možno zapisati podatkovne baze, ki je zaščitena z geslom.\n"
 "Varnostno kopiranje in obnovitev se mora ročno izvesti."
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr "Zapisovanje podatkovne baze je odpovedalo z napako:\n"
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr "Zapisovanje podatkovne baze odpovedalo!"
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr "Varnostno kopiranje podatkovne baze uspešno zaključeno!"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr "Novo"
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr "Ustvari nov zapis"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr "Shrani"
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr "Shrani ta zapis"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr "Preklopi"
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr "Preklopi pogled"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr "_Ponovno naloži"
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr "Ponovno naloži"
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr "_Nov"
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr "_Shrani"
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr "Preklopi po_gled"
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr "Ponovno naloži/Razvel_javi"
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr "Z_briši..."
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr "Zapri zavi_hek"
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
@@ -690,11 +526,9 @@ msgstr ""
 "uporabi strežnik 'localhost' in vrata '8000'. Za spremembo naslova klikni"
 " na 'Spremeni'."
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr "Ni povezave!"
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -710,28 +544,21 @@ msgstr ""
 "naslov in vrata (ponavadi 8000) strežnika nista blokirana.\n"
 "Za spremembo naslova klikni na 'Spremeni'."
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr "Ustvari novo podatkovno bazo"
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr "_Ustvari"
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr "Ustvari novo podatkovno bazo."
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr "Nastavitev strežnika:"
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr "Povezava do strežnika:"
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
@@ -741,22 +568,15 @@ msgstr ""
 "uporabi strežnik 'localhost' in vrata '8000'. Za spremembo naslova klikni"
 " na 'Spremeni'."
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr "_Spremeni"
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr "Nastavi povezavo s strežnikom..."
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr "Geslo za Tryton strežnik:"
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
@@ -764,15 +584,12 @@ msgstr ""
 "To je geslo Tryton strežnika in ni povezano s pravim uporabnikom. To "
 "geslo je ponavadi določeno v trytond konfiguraciji."
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr "Namestitev nove podatkovne baze:"
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr "Ime podatkovne baze:"
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -784,11 +601,9 @@ msgstr ""
 "Izogibaj se vsem znakom za naglaševanje, presledku ali posebnim znakom! "
 "Primer: tryton"
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr "Privzet jezik:"
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
@@ -797,11 +612,9 @@ msgstr ""
 "Izberi privzet jezik, ki bo nameščen za to podatkovno bazo. Po namestitvi"
 " lahko nove jezike dodate preko skrbniškega menija."
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr "Skrbniško geslo:"
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -813,23 +626,18 @@ msgstr ""
 "Uporabniško ime: admin\n"
 "Geslo: <tu nastavljeno geslo>"
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr "Potrdi skrbniško geslo:"
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr "Ponovno vtipkaj skrbniško geslo"
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr "Novo skrbniško geslo se ne ujema s tistim v potrditvenem polju.\n"
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr "Gesli se ne ujemata!"
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
@@ -837,15 +645,12 @@ msgstr ""
 "Podatkovna baza s tem imenom že obstaja.\n"
 "Poskusi z drugim imenom."
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr "To ime podatkovne baze že obstaja!"
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr "Žal napačno geslo za Tryton strežnik. Prosim, poskusi znova."
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -857,154 +662,111 @@ msgstr ""
 "zbrišete! Prosimo, preveri sporočilo napake za dodatne informacije.\n"
 "Sporočilo napake:\n"
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr "Napaka pri izdelavi podatkovne baze!"
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr "Ni se možno povezati s strežnikom!"
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr "Inačica tega odjemalca ni združljiva s strežnikom!"
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr "Nobene podatkovne baze ni možno najti, morate jo ustvariti!"
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr "Varnostno kopiranje podatkovne baze"
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr "Varnostno kopiranje"
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr "Varnostno kopiranje izbrane podatkovne baze."
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr "Izberi Tryton podatkovno bazo za varnostno kopiranje:"
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr "Brisanje podatkovne baze"
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr "Zbriši"
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr "Zbriši izbrano podatkovno bazo."
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr "Za brisanje izberi Tryton podatkovno bazo:"
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr "Povezava do strežnika:"
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr "Podatkovna baza:"
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Urejevalnik profilov"
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr "_Dodaj"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr "_Odstrani"
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr "Strežnik:"
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr "Ustvari"
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr "Pridobivanje seznama podatkovnih baz"
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr "Uporabniško ime:"
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr "Ni se možno povezati s strežnikom"
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr "Nezdružljiva inačica strežnika"
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr "Prijava"
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr "_Prekliči"
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr "Prekliči povezavo do Tryton strežnika"
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr "P_oveži"
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr "Poveži se s Tryton strežnikom"
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr "Profil:"
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr "_Upravljaj profile"
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr "Strežnik in podatkovna baza"
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr "Strežnik:"
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr "Uporabnik:"
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr "Obnovitev podatkovne baze"
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr "Datoteka za obnovitev:"
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -1017,15 +779,12 @@ msgstr ""
 "znakom.\n"
 "Primer: tryton"
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr "Novo ime podatkovne baze:"
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr "Posodobitev podatkovne baze:"
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
@@ -1033,202 +792,148 @@ msgstr ""
 "Po obnovitvi podatkovne baze iz prejšnje Tryton inačice preveri samodejno"
 " posodabljanje podatkovne baze."
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr "Obnovi"
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr "Obnovitev podatkovne baze iz datoteke."
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Epošta"
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr "Nastavitve poštnega odjemalca"
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr "Ukazna vrstica:"
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Opis možnih prostornikov:"
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Za:"
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "Kp:"
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Zadeva:"
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Vsebina:"
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Priponka:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr "Prejšnji"
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr "Prejšnji zapis"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr "Naslednji"
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr "Naslednji zapis"
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr "Priponka(0)"
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr "Dodaj priponko zapisu"
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr "_Podvoji"
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr "P_rejšnji"
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr "Nas_lednji"
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr "_Išči"
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr "Poglej dnevni_k..."
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr "Prikaži različice ..."
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr "P_riponke..."
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr "_Ukrepi..."
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr "_Veze..."
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr "P_oročila..."
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr "_Elektronska pošta..."
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr "_Tiskaj..."
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr "I_zvozi podatke..."
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr "Uv_ozi podatke..."
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priponka(%d)"
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr "Izbrati moraš zapis!"
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr "Ustvaril:"
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr "Ustvarjeno:"
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr "Nazadnje popravil:"
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr "Nazadnje popravljeno:"
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr "Ali res želiš izbrisati ta zapis?"
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr "Ali res želiš izbrisati te zapise?"
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr "Zapisi niso izbrisani!"
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr "Zapisi izbrisani!"
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr "Sedaj se dela na podvojenih zapisih!"
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr "Zapis shranjen!"
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr "Neveljaven obrazec!"
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr " od "
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
@@ -1236,156 +941,117 @@ msgstr ""
 "Ta zapis je bil spremenjen,\n"
 "ga želiš shraniti?"
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr "Ukrep"
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr "Zaženi ukrep"
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr "Veza"
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr "Odpri vezo"
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr "Poročila"
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr "Odpri poročilo"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr "Pošlji"
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr "Pošlji poročilo"
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr "Tisk"
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr "Izpis poročila"
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr "Neznano"
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr "Omejitev"
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr "Nastavitev omejitev iskanja"
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr "Omejitev:"
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavitve"
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr "Uredi uporabniške nastavitve"
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr "Nastavitev"
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr "Trenutno geslo:"
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr "Različica"
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr "Izberi različico"
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr "Različica:"
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr "Bližnjice"
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr "Bližnjice za urejanje"
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr "Izreži vsebino"
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr "Kopiraj vsebino"
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr "Prilepi vsebino"
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr "Naslednje polje"
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr "Prejšnje polje"
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr "Bližnjice za veze"
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr "Dodajanje nove veze"
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr "Urejanje/iskanje veze"
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr "Bližnjice za postavke"
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr "Dodajanje postavke"
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr "Urejenje postavke"
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr "Postavka označena za brisanje"
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr "Postavka neoznačena za brisanje"
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr "Vnašanje podatkov"
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
@@ -1395,7 +1061,6 @@ msgstr ""
 "\n"
 "\n"
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1422,7 +1087,6 @@ msgstr ""
 "lunami. Je tudi bolj masiven od skupaj vseh 159 znanih manjših lun v\n"
 "sončnem sistemu."
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1434,7 +1098,6 @@ msgstr ""
 "Iz kateregakoli seznama lahko kopirate zapise z Ctrl + C\n"
 "in jih prilepite v katerokoli aplikacijo z Ctrl + V\n"
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
@@ -1444,85 +1107,64 @@ msgstr ""
 "\n"
 "Z desnim klikom lahko shranite katerikoli graf v PNG datoteko.\n"
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr "Namigi"
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr "Naslednjič _prikaži nov namig"
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr "Izvozi v CSV"
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr "<b>Predefinirani izvozi</b>"
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr "<b>Vsa polja</b>"
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr "Počisti"
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr "Shrani izvoz"
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr "Izbriši izvoz"
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr "<b>Polja za izvoz</b>"
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr "<b>Možnosti</b>"
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr "Odpri"
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr "Dodaj imena _polj"
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr "Naziv"
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr "%s (niz)"
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr "Kako se imenuje ta izvoz?"
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Prepišem definicijo izvoza '%s'?"
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr "%d zapis shranjen!"
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr "%d zapisov shranjenih!"
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1533,347 +1175,250 @@ msgstr ""
 "Sporočilo napake:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr "Povezava"
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr "Dodaj"
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr "Odstrani <Del>"
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr "Ustvari nov zapis <F3>"
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr "Zbriši izbran zapis <Del>"
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr "Povrni izbran zapis <Ins>"
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr "Uvozi iz CSV"
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr "Samozaznava"
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr "<b>Polja za uvoz</b>"
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr "Datoteka za uvoz:"
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr "Odpri..."
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr "CSV parametri"
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr "Ločevalec polj:"
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr "Ločevalec besedila:"
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr "Kodiranje:"
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr "Izpuščene vrstice:"
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr "Naziv polja"
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr "Najprej morate izbrati datoteke za uvažanje!"
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr "Napaka pri odpiranju CSV datoteke"
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Napaka obdelave datoteke pri polju %s."
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr "%d zapis uvožen!"
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr "%d zapisov uvoženih!"
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr "Čarovnik"
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr "Ustvaril"
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr "Ustvarjeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr "Popravil"
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr "Popravljeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr "Stanja obrazca ni možno dobiti"
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr "Ni možno nastaviti stanja obrazca"
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr "Shrani kot"
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr "Velikost slike"
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr "Širina:"
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr "Velikost:"
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr "PNG slika (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr "Slika je prevelika!"
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr "_Filtri"
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr "Prikaži zaznamke filtrov"
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr "Odstrani ta zaznamek"
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr "Shrani ta filter"
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr "Ime zaznamka:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr "Najdi"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr "Danes"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr "Tedensko"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr "Mesečno"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr "Teden"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr "Izberi datoteko..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr "Prikaži navadno besedilo"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr "Dodaj vrednost"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Odstrani \"%s\""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr "Izberi sliko..."
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr "Vse datoteke"
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr "Slike"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr "Dodaj obstoječi zapis"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr "Odstrani izbran zapis <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr "Odpri zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr "Poišči zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr "Odstrani izbran zapis"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr "Uredi izbran zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr "Postavi besedilo v krepki tisk"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr "Postavi besedilo v poševni tisk"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr "Podčrtaj besedilo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr "Izberi družino pisave"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr "Izberi velikost pisave"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr "Poravnaj vrstico v levo"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr "Poravnaj vrstico v sredino"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr "Poravnaj besedilo v desno"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr "Poravnaj vrstico v obe smeri"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr "Spremeni besedilo v ospredju"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr "Spremeni besedilo v ozadju"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr "Spremeni pogled označevalnega besedila"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr "Izberi barvo besedila"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr "Izberi barvo ozadja"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr "Prevod"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr "Uredi"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr "Nejasno"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr "Pred dodajanjem prevodov morate zapis shraniti!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr "Drugih jezikov ni na voljo!"
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr "Prevedi pogled"
 
diff --git a/share/locale/tryton.pot b/share/locale/tryton.pot
index 266ef12..e96d1ee 100644
--- a/share/locale/tryton.pot
+++ b/share/locale/tryton.pot
@@ -1,125 +1,75 @@
-# Translations template for tryton.
-# Copyright (C) 2014 Tryton
-# This file is distributed under the same license as the tryton project.
-# FIRST AUTHOR <EMAIL at ADDRESS>, 2014.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: tryton 3.3.dev0\n"
-"Report-Msgid-Bugs-To: issue_tracker at tryton.org\n"
-"POT-Creation-Date: 2014-10-19 12:07+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
-
-#: tryton/config.py:84
 msgid "specify alternate config file"
 msgstr ""
 
-#: tryton/config.py:87
 msgid "development mode"
 msgstr ""
 
-#: tryton/config.py:90
 msgid "logging everything at INFO level"
 msgstr ""
 
-#: tryton/config.py:92
 msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
 msgstr ""
 
-#: tryton/config.py:95
 msgid "specify the login user"
 msgstr ""
 
-#: tryton/config.py:97
 msgid "specify the server port"
 msgstr ""
 
-#: tryton/config.py:99
 msgid "specify the server hostname"
 msgstr ""
 
-#: tryton/config.py:103
 msgid "Too much arguments"
 msgstr ""
 
-#: tryton/config.py:106
 #, python-format
 msgid "File \"%s\" not found"
 msgstr ""
 
-#: tryton/config.py:144
 #, python-format
 msgid "Unable to write config file %s!"
 msgstr ""
 
-#: tryton/translate.py:184
 #, python-format
 msgid "Unable to set locale %s"
 msgstr ""
 
-#: tryton/action/main.py:171
 msgid "Select your action"
 msgstr ""
 
-#: tryton/action/main.py:177
 msgid "No action defined!"
 msgstr ""
 
-#: tryton/common/common.py:284
 msgid "Tryton Connection"
 msgstr ""
 
-#: tryton/common/common.py:295
 msgid "Server:"
 msgstr ""
 
-#: tryton/common/common.py:313 tryton/gui/window/dblogin.py:79
 msgid "Port:"
 msgstr ""
 
-#: tryton/common/common.py:381
 msgid "Selection"
 msgstr ""
 
-#: tryton/common/common.py:390
 msgid "Your selection:"
 msgstr ""
 
-#: tryton/common/common.py:526 tryton/gui/main.py:1422
-#: tryton/gui/window/win_export.py:459
-#: tryton/gui/window/view_form/view/graph.py:178
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:69
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:144
-#: tryton/gui/window/view_form/view/form_gtk/image.py:71
-#: tryton/gui/window/view_form/view/form_gtk/image.py:155
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
 msgid "Save As..."
 msgstr ""
 
-#: tryton/common/common.py:673
 msgid "Always ignore this warning."
 msgstr ""
 
-#: tryton/common/common.py:678
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:697
 msgid "Confirmation"
 msgstr ""
 
-#: tryton/common/common.py:803 tryton/common/common.py:1111
 msgid "Concurrency Exception"
 msgstr ""
 
-#: tryton/common/common.py:817
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -130,538 +80,403 @@ msgid ""
 "    - \"Write Anyway\" to save your current version."
 msgstr ""
 
-#: tryton/common/common.py:826
 msgid "Compare"
 msgstr ""
 
-#: tryton/common/common.py:831
 msgid "Write Anyway"
 msgstr ""
 
-#: tryton/common/common.py:857 tryton/gui/window/win_export.py:492
-#: tryton/gui/window/win_import.py:262 tryton/gui/window/win_import.py:290
 msgid "Error"
 msgstr ""
 
-#: tryton/common/common.py:861
 msgid "Report Bug"
 msgstr ""
 
-#: tryton/common/common.py:868
 msgid "Application Error!"
 msgstr ""
 
-#: tryton/common/common.py:891
 msgid "Error: "
 msgstr ""
 
-#: tryton/common/common.py:911
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr ""
 
-#: tryton/common/common.py:941
 msgid "Bug Tracker"
 msgstr ""
 
-#: tryton/common/common.py:959
 msgid "User:"
 msgstr ""
 
-#: tryton/common/common.py:967 tryton/common/common.py:1129
-#: tryton/gui/window/dblogin.py:462
 msgid "Password:"
 msgstr ""
 
-#: tryton/common/common.py:1022
 msgid ""
 "The same bug was already reported by another user.\n"
 "To keep you informed your username is added to the nosy-list of this issue"
 msgstr ""
 
-#: tryton/common/common.py:1033
 msgid "Created new bug with ID "
 msgstr ""
 
-#: tryton/common/common.py:1041 tryton/gui/main.py:935
 msgid ""
 "Connection error!\n"
 "Bad username or password!"
 msgstr ""
 
-#: tryton/common/common.py:1046
 msgid "Exception:"
 msgstr ""
 
-#: tryton/common/common.py:1063
 msgid ""
 "The server fingerprint has changed since last connection!\n"
 "The application will stop connecting to this server until its fingerprint"
 " is fixed."
 msgstr ""
 
-#: tryton/common/common.py:1065
 msgid "Security risk!"
 msgstr ""
 
-#: tryton/common/common.py:1070 tryton/common/common.py:1135
-#: tryton/gui/main.py:932
 msgid ""
 "Connection error!\n"
 "Unable to connect to the server!"
 msgstr ""
 
-#: tryton/common/common.py:1150
 msgid "Network Error!"
 msgstr ""
 
-#: tryton/common/common.py:1405
-msgid "Y"
-msgstr ""
-
-#: tryton/common/common.py:1406
-msgid "M"
+msgid "<i>Search...</i>"
 msgstr ""
 
-#: tryton/common/common.py:1407
-msgid "w"
+msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/common.py:1408
-msgid "d"
+msgid "Value"
 msgstr ""
 
-#: tryton/common/common.py:1409
-msgid "h"
+msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/common.py:1410
-msgid "m"
+msgid "Format"
 msgstr ""
 
-#: tryton/common/completion.py:21
-msgid "<i>Search...</i>"
+msgid "Display format"
 msgstr ""
 
-#: tryton/common/completion.py:22
-msgid "<i>Create...</i>"
+msgid "Open the calendar"
 msgstr ""
 
-#: tryton/common/date_widget.py:67
-msgid "Open the calendar <F2>"
+msgid "Date Format"
 msgstr ""
 
-#: tryton/common/date_widget.py:275
-msgid "Date Selection"
+msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "yes"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "true"
 msgstr ""
 
-#: tryton/common/domain_parser.py:229
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "True"
 msgstr ""
 
-#: tryton/common/domain_parser.py:430
-#: tryton/gui/window/view_form/view/screen_container.py:464
 msgid "False"
 msgstr ""
 
-#: tryton/common/popup_menu.py:77
 msgid "Edit..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:82
 msgid "Attachments..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:92
 msgid "Actions..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:93
 msgid "Relate..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:94
 msgid "Report..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:95
 msgid "E-Mail..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:96
 msgid "Print..."
 msgstr ""
 
-#: tryton/gui/main.py:218
+msgid "Y"
+msgstr ""
+
+msgid "M"
+msgstr ""
+
+msgid "w"
+msgstr ""
+
+msgid "d"
+msgstr ""
+
+msgid "h"
+msgstr ""
+
+msgid "m"
+msgstr ""
+
+msgid "s"
+msgstr ""
+
 msgid "_File"
 msgstr ""
 
-#: tryton/gui/main.py:226
 msgid "_User"
 msgstr ""
 
-#: tryton/gui/main.py:240
 msgid "_Options"
 msgstr ""
 
-#: tryton/gui/main.py:248
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
 msgid "_Help"
 msgstr ""
 
-#: tryton/gui/main.py:286 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:102
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:334
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:39
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:44
 msgid "Search"
 msgstr ""
 
-#: tryton/gui/main.py:374
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:396
 msgid "_Connect..."
 msgstr ""
 
-#: tryton/gui/main.py:405
 msgid "_Disconnect"
 msgstr ""
 
-#: tryton/gui/main.py:415
 msgid "Data_base"
 msgstr ""
 
-#: tryton/gui/main.py:426
 msgid "_New Database..."
 msgstr ""
 
-#: tryton/gui/main.py:435
 msgid "_Restore Database..."
 msgstr ""
 
-#: tryton/gui/main.py:444
 msgid "_Backup Database..."
 msgstr ""
 
-#: tryton/gui/main.py:453
 msgid "Dro_p Database..."
 msgstr ""
 
-#: tryton/gui/main.py:462
 msgid "_Quit..."
 msgstr ""
 
-#: tryton/gui/main.py:477
 msgid "_Preferences..."
 msgstr ""
 
-#: tryton/gui/main.py:488
 msgid "_Menu Reload"
 msgstr ""
 
-#: tryton/gui/main.py:497
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:504
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:519
 msgid "_Toolbar"
 msgstr ""
 
-#: tryton/gui/main.py:527
 msgid "_Default"
 msgstr ""
 
-#: tryton/gui/main.py:537
 msgid "_Text and Icons"
 msgstr ""
 
-#: tryton/gui/main.py:547
 msgid "_Icons"
 msgstr ""
 
-#: tryton/gui/main.py:556
 msgid "_Text"
 msgstr ""
 
-#: tryton/gui/main.py:565
 msgid "_Menubar"
 msgstr ""
 
-#: tryton/gui/main.py:573
 msgid "Change Accelerators"
 msgstr ""
 
-#: tryton/gui/main.py:581
 msgid "_Mode"
 msgstr ""
 
-#: tryton/gui/main.py:589
 msgid "_Normal"
 msgstr ""
 
-#: tryton/gui/main.py:597
 msgid "_PDA"
 msgstr ""
 
-#: tryton/gui/main.py:604
 msgid "_Form"
 msgstr ""
 
-#: tryton/gui/main.py:613
 msgid "Save Width/Height"
 msgstr ""
 
-#: tryton/gui/main.py:624
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:636
 msgid "Spell Checking"
 msgstr ""
 
-#: tryton/gui/main.py:646
-msgid "Tabs Position"
-msgstr ""
-
-#: tryton/gui/main.py:654
-msgid "Top"
-msgstr ""
-
-#: tryton/gui/main.py:663
-msgid "Left"
-msgstr ""
-
-#: tryton/gui/main.py:673
-msgid "Right"
-msgstr ""
-
-#: tryton/gui/main.py:683
-msgid "Bottom"
-msgstr ""
-
-#: tryton/gui/main.py:692
 msgid "_Previous Tab"
 msgstr ""
 
-#: tryton/gui/main.py:698
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:704
 msgid "Search Limit..."
 msgstr ""
 
-#: tryton/gui/main.py:710
 msgid "_Email..."
 msgstr ""
 
-#: tryton/gui/main.py:718
 msgid "_Save Options"
 msgstr ""
 
-#: tryton/gui/main.py:730
 msgid "_Tips..."
 msgstr ""
 
-#: tryton/gui/main.py:739
 msgid "_Keyboard Shortcuts..."
 msgstr ""
 
-#: tryton/gui/main.py:748
 msgid "_About..."
 msgstr ""
 
-#: tryton/gui/main.py:799
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:949
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1208
 msgid "Close Tab"
 msgstr ""
 
-#: tryton/gui/main.py:1329
 msgid ""
 "You are going to delete a Tryton database.\n"
 "Are you really sure to proceed?"
 msgstr ""
 
-#: tryton/gui/main.py:1339
 msgid ""
 "Wrong Tryton Server Password\n"
 "Please try again."
 msgstr ""
 
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377 tryton/gui/main.py:1413
-#: tryton/gui/window/dbcreate.py:362
 msgid "Access denied!"
 msgstr ""
 
-#: tryton/gui/main.py:1344
 msgid "Database drop failed with error message:\n"
 msgstr ""
 
-#: tryton/gui/main.py:1345
 msgid "Database drop failed!"
 msgstr ""
 
-#: tryton/gui/main.py:1347
 msgid "Database dropped successfully!"
 msgstr ""
 
-#: tryton/gui/main.py:1352
 msgid "Open Backup File to Restore..."
 msgstr ""
 
-#: tryton/gui/main.py:1369
 msgid ""
 "It is not possible to restore a password protected database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
 
-#: tryton/gui/main.py:1373 tryton/gui/main.py:1409
 msgid "Database is password protected!"
 msgstr ""
 
-#: tryton/gui/main.py:1375 tryton/gui/main.py:1411
 msgid ""
 "Wrong Tryton Server Password.\n"
 "Please try again."
 msgstr ""
 
-#: tryton/gui/main.py:1380
 msgid "Database restore failed with error message:\n"
 msgstr ""
 
-#: tryton/gui/main.py:1382 tryton/gui/main.py:1387
 msgid "Database restore failed!"
 msgstr ""
 
-#: tryton/gui/main.py:1385
 msgid "Database restored successfully!"
 msgstr ""
 
-#: tryton/gui/main.py:1406
 msgid ""
 "It is not possible to dump a password protected Database.\n"
 "Backup and restore needed to be proceed manual."
 msgstr ""
 
-#: tryton/gui/main.py:1416
 msgid "Database dump failed with error message:\n"
 msgstr ""
 
-#: tryton/gui/main.py:1418
 msgid "Database dump failed!"
 msgstr ""
 
-#: tryton/gui/main.py:1429
 msgid "Database backuped successfully!"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
 msgstr ""
 
-#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "Create a new record"
 msgstr ""
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:143
 msgid "Save"
 msgstr ""
 
-#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
 msgid "Save this record"
 msgstr ""
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:232
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:153
 msgid "Switch"
 msgstr ""
 
-#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
 msgid "Switch view"
 msgstr ""
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "_Reload"
 msgstr ""
 
-#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
 msgid "Reload"
 msgstr ""
 
-#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:50
 msgid "_New"
 msgstr ""
 
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:51
-#: tryton/gui/window/win_form.py:67
 msgid "_Save"
 msgstr ""
 
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:52
 msgid "_Switch View"
 msgstr ""
 
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:54
 msgid "_Reload/Undo"
 msgstr ""
 
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:58
 msgid "_Delete..."
 msgstr ""
 
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:68
 msgid "_Close Tab"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:32
 msgid ""
 "This is the URL of the Tryton server. Use server 'localhost' and port "
 "'8000' if the server is installed on this computer. Click on 'Change' to "
 "change the address."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:45
 msgid "No connection!"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:48
 msgid ""
 "Can not connect to the server!\n"
 "1. Try to check if the server is running.\n"
@@ -671,64 +486,47 @@ msgid ""
 "Click on 'Change' to change the address."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:139
 msgid "Create new database"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:149
 msgid "C_reate"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:157
 msgid "Create the new database."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:168
 msgid "Server Setup:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:173
 msgid "Server connection:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:182 tryton/gui/window/dbdumpdrop.py:140
-#: tryton/gui/window/dbrestore.py:88
 msgid ""
 "This is the URL of the server. Use server 'localhost' and port '8000' if "
 "the server is installed on this computer. Click on 'Change' to change the"
 " address."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:185 tryton/gui/window/dbdumpdrop.py:147
-#: tryton/gui/window/dbrestore.py:93
 msgid "C_hange"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:194 tryton/gui/window/dbrestore.py:99
 msgid "Setup the server connection..."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:197 tryton/gui/window/dbdumpdrop.py:186
-#: tryton/gui/window/dbrestore.py:102
 msgid "Tryton Server Password:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:207 tryton/gui/window/dbdumpdrop.py:196
-#: tryton/gui/window/dbrestore.py:111
 msgid ""
 "This is the password of the Tryton server. It doesn't belong to a real "
 "user. This password is usually defined in the trytond configuration."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:218
 msgid "New database setup:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:224
 msgid "Database name:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:236
 msgid ""
 "Choose the name of the new database.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -736,22 +534,18 @@ msgid ""
 "tryton"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:243
 msgid "Default language:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:253
 msgid ""
 "Choose the default language that will be installed for this database. You"
 " will be able to install new languages after installation through the "
 "administration menu."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:257
 msgid "Admin password:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:267
 msgid ""
 "Choose a password for the admin user of the new database. With these "
 "credentials you will be later able to login into the database:\n"
@@ -759,37 +553,29 @@ msgid ""
 "Password: <The password you set here>"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:275
 msgid "Confirm admin password:"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:284
 msgid "Type the Admin password again"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:333
 msgid "The new admin password doesn't match the confirmation field.\n"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:335
 msgid "Passwords doesn't match!"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:343
 msgid ""
 "A database with the same name already exists.\n"
 "Try another database name."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:346
 msgid "This database name already exist!"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:359
 msgid "Sorry, wrong password for the Tryton server. Please try again."
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:367
 msgid ""
 "Can't create the database, caused by an unknown reason.\n"
 "If there is a database created, it could be broken. Maybe drop this "
@@ -797,154 +583,111 @@ msgid ""
 "Error message:\n"
 msgstr ""
 
-#: tryton/gui/window/dbcreate.py:375
 msgid "Error creating database!"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:26
 msgid "Could not connect to server!"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:30
 msgid "This client version is not compatible with the server!"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:39
 msgid "No database found, you must create one!"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:77
 msgid "Backup a database"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:78
 msgid "Backup"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:79
 msgid "Backup the choosen database."
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:81
 msgid "Choose a Tryton database to backup:"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:83
 msgid "Delete a database"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:84
 msgid "Delete"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:85
 msgid "Delete the choosen database."
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:87
 msgid "Choose a Tryton database to delete:"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
 msgid "Server Connection:"
 msgstr ""
 
-#: tryton/gui/window/dbdumpdrop.py:156 tryton/gui/window/dblogin.py:89
-#: tryton/gui/window/dblogin.py:444
 msgid "Database:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_export.py:66
-#: tryton/gui/window/win_import.py:47
 msgid "_Add"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_export.py:74
-#: tryton/gui/window/win_import.py:55
 msgid "_Remove"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:70
-msgid "Hostname:"
+msgid "Host:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:107
 msgid "Create"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:110
 msgid "Fetching databases list"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:128
 msgid "Username:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:308
 msgid "Could not connect to the server"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:310 tryton/gui/window/dblogin.py:616
 msgid "Incompatible version of the server"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:370
 msgid "Login"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:377
 msgid "_Cancel"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:382
 msgid "Cancel connection to the Tryton server"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:384
 msgid "C_onnect"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:389
 msgid "Connect the Tryton server"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:417
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:421
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:431
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:434
-msgid "Host:"
-msgstr ""
-
-#: tryton/gui/window/dblogin.py:467
 msgid "User name:"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:66
 msgid "Restore Database"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:119
 msgid "File to Restore:"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:133
 msgid ""
 "Choose the name of the database to be restored.\n"
 "Allowed characters are alphanumerical or _ (underscore)\n"
@@ -952,378 +695,281 @@ msgid ""
 "Example: tryton"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:139
 msgid "New Database Name:"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:142
 msgid "Update Database:"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:146
 msgid ""
 "Check for an automatic database update after restoring a database from a "
 "previous Tryton version."
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:156
 msgid "Restore"
 msgstr ""
 
-#: tryton/gui/window/dbrestore.py:165
 msgid "Restore the database from file."
 msgstr ""
 
-#: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr ""
 
-#: tryton/gui/window/email.py:25
 msgid "Email Program Settings"
 msgstr ""
 
-#: tryton/gui/window/email.py:28
 msgid "Command Line:"
 msgstr ""
 
-#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr ""
 
-#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr ""
 
-#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr ""
 
-#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr ""
 
-#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr ""
 
-#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr ""
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:74
-#: tryton/gui/window/win_form.py:205
-#: tryton/gui/window/view_form/view/screen_container.py:165
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:127
 msgid "Previous"
 msgstr ""
 
-#: tryton/gui/window/form.py:42
 msgid "Previous Record"
 msgstr ""
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:81
-#: tryton/gui/window/win_form.py:219
-#: tryton/gui/window/view_form/view/screen_container.py:177
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:141
 msgid "Next"
 msgstr ""
 
-#: tryton/gui/window/form.py:43
 msgid "Next Record"
 msgstr ""
 
-#: tryton/gui/window/form.py:46
 msgid "Attachment(0)"
 msgstr ""
 
-#: tryton/gui/window/form.py:47
 msgid "Add an attachment to the record"
 msgstr ""
 
-#: tryton/gui/window/form.py:56
 msgid "_Duplicate"
 msgstr ""
 
-#: tryton/gui/window/form.py:61
 msgid "_Previous"
 msgstr ""
 
-#: tryton/gui/window/form.py:63
 msgid "_Next"
 msgstr ""
 
-#: tryton/gui/window/form.py:64
 msgid "_Search"
 msgstr ""
 
-#: tryton/gui/window/form.py:65
 msgid "View _Logs..."
 msgstr ""
 
-#: tryton/gui/window/form.py:66
 msgid "Show revisions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:71
 msgid "A_ttachments..."
 msgstr ""
 
-#: tryton/gui/window/form.py:73
 msgid "_Actions..."
 msgstr ""
 
-#: tryton/gui/window/form.py:75
 msgid "_Relate..."
 msgstr ""
 
-#: tryton/gui/window/form.py:78
 msgid "_Report..."
 msgstr ""
 
-#: tryton/gui/window/form.py:80
 msgid "_E-Mail..."
 msgstr ""
 
-#: tryton/gui/window/form.py:82
 msgid "_Print..."
 msgstr ""
 
-#: tryton/gui/window/form.py:85
 msgid "_Export Data..."
 msgstr ""
 
-#: tryton/gui/window/form.py:87
 msgid "_Import Data..."
 msgstr ""
 
-#: tryton/gui/window/form.py:216
 #, python-format
 msgid "Attachment(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:234
 msgid "You have to select one record!"
 msgstr ""
 
-#: tryton/gui/window/form.py:238
 msgid "ID:"
 msgstr ""
 
-#: tryton/gui/window/form.py:239
 msgid "Creation User:"
 msgstr ""
 
-#: tryton/gui/window/form.py:240
 msgid "Creation Date:"
 msgstr ""
 
-#: tryton/gui/window/form.py:241
 msgid "Latest Modification by:"
 msgstr ""
 
-#: tryton/gui/window/form.py:242
 msgid "Latest Modification Date:"
 msgstr ""
 
-#: tryton/gui/window/form.py:260
 msgid "Model:"
 msgstr ""
 
-#: tryton/gui/window/form.py:308
 msgid "Are you sure to remove this record?"
 msgstr ""
 
-#: tryton/gui/window/form.py:310
 msgid "Are you sure to remove those records?"
 msgstr ""
 
-#: tryton/gui/window/form.py:313
 msgid "Records not removed!"
 msgstr ""
 
-#: tryton/gui/window/form.py:315
 msgid "Records removed!"
 msgstr ""
 
-#: tryton/gui/window/form.py:342
 msgid "Working now on the duplicated record(s)!"
 msgstr ""
 
-#: tryton/gui/window/form.py:352
 msgid "Record saved!"
 msgstr ""
 
-#: tryton/gui/window/form.py:355
 msgid "Invalid form!"
 msgstr ""
 
-#: tryton/gui/window/form.py:464
 msgid " of "
 msgstr ""
 
-#: tryton/gui/window/form.py:485
 msgid ""
 "This record has been modified\n"
 "do you want to save it ?"
 msgstr ""
 
-#: tryton/gui/window/form.py:538
 msgid "Action"
 msgstr ""
 
-#: tryton/gui/window/form.py:538
 msgid "Launch action"
 msgstr ""
 
-#: tryton/gui/window/form.py:539
 msgid "Relate"
 msgstr ""
 
-#: tryton/gui/window/form.py:539
 msgid "Open related records"
 msgstr ""
 
-#: tryton/gui/window/form.py:541
 msgid "Report"
 msgstr ""
 
-#: tryton/gui/window/form.py:541
 msgid "Open report"
 msgstr ""
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail"
 msgstr ""
 
-#: tryton/gui/window/form.py:542
 msgid "E-Mail report"
 msgstr ""
 
-#: tryton/gui/window/form.py:543
 msgid "Print"
 msgstr ""
 
-#: tryton/gui/window/form.py:543
 msgid "Print report"
 msgstr ""
 
-#: tryton/gui/window/form.py:609
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:848
 msgid "Unknown"
 msgstr ""
 
-#: tryton/gui/window/limit.py:17
 msgid "Limit"
 msgstr ""
 
-#: tryton/gui/window/limit.py:26
 msgid "Search Limit Settings"
 msgstr ""
 
-#: tryton/gui/window/limit.py:29
 msgid "Limit:"
 msgstr ""
 
-#: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr ""
 
-#: tryton/gui/window/preference.py:49
 msgid "Edit User Preferences"
 msgstr ""
 
-#: tryton/gui/window/preference.py:75
 msgid "Preference"
 msgstr ""
 
-#: tryton/gui/window/preference.py:88
 msgid "Current Password:"
 msgstr ""
 
-#: tryton/gui/window/revision.py:20
 msgid "Revision"
 msgstr ""
 
-#: tryton/gui/window/revision.py:29
 msgid "Select a revision"
 msgstr ""
 
-#: tryton/gui/window/revision.py:32
 msgid "Revision:"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:17
 msgid "Keyboard Shortcuts"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:28
 msgid "Text Entries Shortcuts"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:29
 msgid "Cut selected text"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:30
 msgid "Copy selected text"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:31
 msgid "Paste copied text"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:32
 msgid "Next widget"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:33
 msgid "Previous widget"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:34
 msgid "Relation Entries Shortcuts"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:35
 msgid "Create new relation"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:36
 msgid "Open/Search relation"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:37
 msgid "List Entries Shortcuts"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:38
 msgid "Create new line"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:39
 msgid "Open relation"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:40
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
 msgid "Edition Widgets"
 msgstr ""
 
-#: tryton/gui/window/tips.py:17
 msgid ""
 "<b>Welcome to Tryton</b>\n"
 "\n"
 "\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:21
 msgid ""
 "<b>Do you know Triton, one of the namesakes for our project?</b>\n"
 "\n"
@@ -1339,7 +985,6 @@ msgid ""
 "159 known smaller moons combined.\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:34
 msgid ""
 "<b>Export list records</b>\n"
 "\n"
@@ -1347,92 +992,70 @@ msgid ""
 "and paste in any application with Ctrl + V\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:39
 msgid ""
 "<b>Export graphs</b>\n"
 "\n"
 "You can save any graphs in PNG file with right-click on it.\n"
 msgstr ""
 
-#: tryton/gui/window/tips.py:46
 msgid "Tips"
 msgstr ""
 
-#: tryton/gui/window/tips.py:66
 msgid "_Display a new tip next time"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:25
 msgid "Export to CSV"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:40
 msgid "<b>Predefined exports</b>"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:52 tryton/gui/window/win_import.py:38
 msgid "<b>All fields</b>"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:83 tryton/gui/window/win_import.py:64
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
-#: tryton/gui/window/view_form/view/form_gtk/image.py:81
 msgid "Clear"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:95
 msgid "Save Export"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:104
 msgid "Delete Export"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:115
 msgid "<b>Fields to export</b>"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:132
 msgid "<b>Options</b>"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:142
 msgid "Open"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:147
 msgid "Add _field names"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:217
 msgid "Name"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:249
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:350
 msgid "What is the name of this export?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:356
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:486
 #, python-format
 msgid "%d record saved!"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:488
 #, python-format
 msgid "%d records saved!"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:491
 #, python-format
 msgid ""
 "Operation failed!\n"
@@ -1440,347 +1063,250 @@ msgid ""
 "%s"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:36
 msgid "Link"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:136
 msgid "Add"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:149
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:164
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:85
 msgid "Create a new record <F3>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:176
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Delete selected record <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:190
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
 msgid "Undelete selected record <Ins>"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:20
 msgid "Import from CSV"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:76
 msgid "Auto-Detect"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:93
 msgid "<b>Fields to import</b>"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:109
 msgid "File to Import:"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:111
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:57
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:112
-#: tryton/gui/window/view_form/view/form_gtk/image.py:59
-#: tryton/gui/window/view_form/view/form_gtk/image.py:125
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:462
 msgid "Open..."
 msgstr ""
 
-#: tryton/gui/window/win_import.py:116
 msgid "CSV Parameters"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:124
 msgid "Field Separator:"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:133
 msgid "Text Delimiter:"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:141
 msgid "Encoding:"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:150
 msgid "Lines to Skip:"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:185 tryton/gui/window/win_import.py:190
 msgid "Field name"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:251
 msgid "You must select an import file first!"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:262
 msgid "Error opening CSV file"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:289
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr ""
 
-#: tryton/gui/window/win_import.py:364
 #, python-format
 msgid "%d record imported!"
 msgstr ""
 
-#: tryton/gui/window/win_import.py:366
 #, python-format
 msgid "%d records imported!"
 msgstr ""
 
-#: tryton/gui/window/wizard.py:289
 msgid "Wizard"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:130
 msgid "ID"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:131
 msgid "Creation User"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:132
 msgid "Creation Date"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:133
 msgid "Modification User"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:134
 msgid "Modification Date"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:632
 msgid "Unable to get view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:691
 msgid "Unable to set view tree state"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:180
-#: tryton/gui/window/view_form/view/form.py:182
-#: tryton/gui/window/view_form/view/list.py:511
-#: tryton/gui/window/view_form/view/list.py:513
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:450
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:452
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:199
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:201
 msgid ":"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Save As"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:111
 msgid "Image Size"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:120
 msgid "Width:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:127
 msgid "Height:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:139
 msgid "PNG image (*.png)"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:168
 msgid "Image size too large!"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:95
 msgid "F_ilters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:149
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:314
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:321
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:386
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:493
 msgid "Find"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
 msgid "Today"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
 msgid "Week View"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
 msgid "Month View"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:47
 msgid "Select a File..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:161
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:350
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:462
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:48
 msgid "Select an Image..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:115
 msgid "All files"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/image.py:119
 msgid "Images"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:57
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:60
 msgid "Add existing record"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:68
 msgid "Remove selected record <Del>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:296
 msgid "Open a record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:298
 msgid "Search a record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:72
 msgid "Remove selected record"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
 msgid "Edit selected record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:157
 msgid "Change text to bold"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:158
 msgid "Change text to italic"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:159
 msgid "Change text to underline"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:160
 msgid "Choose font-family"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:161
 msgid "Choose font-size"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:162
 msgid "Justify of line to the left"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:164
 msgid "Justify of line to the center"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:165
 msgid "Justify of line to the right"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:167
 msgid "Justify of line to fill window"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:169
 msgid "Change the foreground text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:171
 msgid "Change the background text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:172
 msgid "Change the markup text view"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:507
 msgid "Select a foreground color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:508
 msgid "Select a background color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:175
 msgid "Translation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:231
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:236
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:305
 msgid "You need to save the record before adding translations!"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:316
 msgid "No other language available!"
 msgstr ""
 
-#: tryton/plugins/translation/__init__.py:18
 msgid "Translate view"
 msgstr ""
 
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 23f70d1..ecfd1fd 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 3.4.3
+Version: 3.6.0
 Summary: Tryton client
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
 Description: tryton
         ======
         
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index a4daab6..7ef7058 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -5,7 +5,6 @@ LICENSE
 MANIFEST.in
 Microsoft.VC90.CRT.manifest
 README
-TODO
 catalan.nsh
 english.nsh
 french.nsh
@@ -22,27 +21,12 @@ bin/tryton
 doc/Makefile
 doc/build.py
 doc/conf.py
-doc/glossary.pot
 doc/glossary.rst
-doc/index.pot
 doc/index.rst
-doc/installation.pot
 doc/installation.rst
-doc/introduction.pot
 doc/introduction.rst
 doc/make.bat
-doc/usage.pot
 doc/usage.rst
-doc/de_DE/glossary.po
-doc/de_DE/glossary.rst
-doc/de_DE/index.po
-doc/de_DE/index.rst
-doc/de_DE/installation.po
-doc/de_DE/installation.rst
-doc/de_DE/introduction.po
-doc/de_DE/introduction.rst
-doc/de_DE/usage.po
-doc/de_DE/usage.rst
 share/locale/tryton.pot
 share/locale/bg_BG/LC_MESSAGES/tryton.mo
 share/locale/bg_BG/LC_MESSAGES/tryton.po
@@ -139,7 +123,6 @@ tryton/pyson.py
 tryton/rpc.py
 tryton/signal_event.py
 tryton/translate.py
-tryton/version.py
 tryton.egg-info/PKG-INFO
 tryton.egg-info/SOURCES.txt
 tryton.egg-info/dependency_links.txt
@@ -154,14 +137,13 @@ tryton/common/cellrendererbinary.py
 tryton/common/cellrendererbutton.py
 tryton/common/cellrendererclickablepixbuf.py
 tryton/common/cellrenderercombo.py
-tryton/common/cellrendererdate.py
 tryton/common/cellrendererfloat.py
 tryton/common/cellrendererinteger.py
 tryton/common/cellrenderertext.py
 tryton/common/cellrenderertoggle.py
 tryton/common/common.py
 tryton/common/completion.py
-tryton/common/date_widget.py
+tryton/common/datetime_.py
 tryton/common/datetime_strftime.py
 tryton/common/domain_inversion.py
 tryton/common/domain_parser.py
@@ -171,6 +153,7 @@ tryton/common/focus.py
 tryton/common/placeholder_entry.py
 tryton/common/popup_menu.py
 tryton/common/selection.py
+tryton/common/timedelta.py
 tryton/common/treeviewcontrol.py
 tryton/gui/__init__.py
 tryton/gui/main.py
@@ -224,7 +207,6 @@ tryton/gui/window/view_form/view/form_gtk/char.py
 tryton/gui/window/view_form/view/form_gtk/checkbox.py
 tryton/gui/window/view_form/view/form_gtk/dictionary.py
 tryton/gui/window/view_form/view/form_gtk/float.py
-tryton/gui/window/view_form/view/form_gtk/float_time.py
 tryton/gui/window/view_form/view/form_gtk/image.py
 tryton/gui/window/view_form/view/form_gtk/integer.py
 tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -238,6 +220,7 @@ tryton/gui/window/view_form/view/form_gtk/richtextbox.py
 tryton/gui/window/view_form/view/form_gtk/selection.py
 tryton/gui/window/view_form/view/form_gtk/state_widget.py
 tryton/gui/window/view_form/view/form_gtk/textbox.py
+tryton/gui/window/view_form/view/form_gtk/timedelta.py
 tryton/gui/window/view_form/view/form_gtk/url.py
 tryton/gui/window/view_form/view/form_gtk/widget.py
 tryton/gui/window/view_form/view/graph_gtk/__init__.py
diff --git a/tryton/__init__.py b/tryton/__init__.py
index a6e19da..61b26b3 100644
--- a/tryton/__init__.py
+++ b/tryton/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import client
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+__version__ = "3.6.0"
diff --git a/tryton/action/__init__.py b/tryton/action/__init__.py
index 5115afa..ed2a492 100644
--- a/tryton/action/__init__.py
+++ b/tryton/action/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from main import *
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 71431b9..34b99d4 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import tryton.rpc as rpc
 from tryton.common import message, selection, file_open, mailto
 from tryton.gui.window import Window
@@ -68,7 +68,7 @@ class Action(object):
                     action, = actions()
                 except RPCException:
                     return
-                Action._exec_action(action, data)
+                Action._exec_action(action, data, context=context)
 
             RPCExecute('model', action_type, 'search_read',
                 [('action', '=', act_id)], 0, 1, None, None,
@@ -114,6 +114,9 @@ class Action(object):
             ctx.update(action_ctx)
             ctx.update(context)
             action_ctx.update(context)
+            if 'date_format' not in action_ctx:
+                action_ctx['date_format'] = rpc.CONTEXT.get(
+                    'locale', {}).get('date', '%x')
 
             ctx['context'] = ctx
             decoder = PYSONDecoder(ctx)
diff --git a/tryton/client.py b/tryton/client.py
index 6c4f2ae..b6b35fc 100644
--- a/tryton/client.py
+++ b/tryton/client.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 """
 %prog [options]
 """
@@ -88,11 +88,11 @@ class TrytonClient(object):
             signal.signal(signal.SIGQUIT,
                 lambda signum, frame: main.sig_quit())
 
-        def excepthook(exctyp, exception, tb):
+        def excepthook(*args):
             import common
             import traceback
-            tb = '\n'.join(traceback.format_tb(tb))
-            common.process_exception(exception, tb=tb)
+            detail = ''.join(traceback.format_exception(*args))
+            common.error(str(args[1]), detail)
 
         sys.excepthook = excepthook
 
diff --git a/tryton/common/__init__.py b/tryton/common/__init__.py
index dda9261..032fa6e 100644
--- a/tryton/common/__init__.py
+++ b/tryton/common/__init__.py
@@ -1,7 +1,8 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from common import *
 from datetime_strftime import *
 from domain_inversion import domain_inversion, eval_domain, localize_domain, \
-        merge, inverse_leaf, concat, simplify
+        merge, inverse_leaf, filter_leaf, concat, simplify, unique_value
 from environment import EvalEnvironment
+import timedelta
diff --git a/tryton/common/button.py b/tryton/common/button.py
index 9281d00..0a4bb28 100644
--- a/tryton/common/button.py
+++ b/tryton/common/button.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 
 from tryton.common import ICONFACTORY
@@ -43,9 +43,10 @@ class Button(gtk.Button):
             self.show()
         self.set_sensitive(not states.get('readonly', False))
         self._set_icon(states.get('icon', self.attrs.get('icon')))
-        parent = record.parent if record else None
-        while parent:
-            if parent.modified:
-                self.set_sensitive(False)
-                break
-            parent = parent.parent
+        if self.attrs.get('type', 'class') == 'class':
+            parent = record.parent if record else None
+            while parent:
+                if parent.modified:
+                    self.set_sensitive(False)
+                    break
+                parent = parent.parent
diff --git a/tryton/common/cellrendererbinary.py b/tryton/common/cellrendererbinary.py
index a4e96c7..e57efc3 100644
--- a/tryton/common/cellrendererbinary.py
+++ b/tryton/common/cellrendererbinary.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import pango
diff --git a/tryton/common/cellrendererbutton.py b/tryton/common/cellrendererbutton.py
index 0d1ed1f..6f8175b 100644
--- a/tryton/common/cellrendererbutton.py
+++ b/tryton/common/cellrendererbutton.py
@@ -1,12 +1,12 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import pango
 
 
 class CellRendererButton(gtk.GenericCellRenderer):
-    #TODO Add keyboard editing
+    # TODO Add keyboard editing
     __gproperties__ = {
             "text": (gobject.TYPE_STRING, None, "Text",
                 "Displayed text", gobject.PARAM_READWRITE),
diff --git a/tryton/common/cellrendererclickablepixbuf.py b/tryton/common/cellrendererclickablepixbuf.py
index 9aebbac..c8f03f5 100644
--- a/tryton/common/cellrendererclickablepixbuf.py
+++ b/tryton/common/cellrendererclickablepixbuf.py
@@ -1,14 +1,13 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 
 
 class CellRendererClickablePixbuf(gtk.CellRendererPixbuf):
     __gsignals__ = {
-            'clicked': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
-                (gobject.TYPE_STRING, )),
-
+        'clicked': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
+            (gobject.TYPE_STRING, )),
         }
 
     def __init__(self):
diff --git a/tryton/common/cellrenderercombo.py b/tryton/common/cellrenderercombo.py
index 69b320d..34fd386 100644
--- a/tryton/common/cellrenderercombo.py
+++ b/tryton/common/cellrenderercombo.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import pango
@@ -9,31 +9,31 @@ from tryton.common.selection import selection_shortcuts
 
 class CellRendererCombo(gtk.GenericCellRenderer):
     __gproperties__ = {
-            'text': (gobject.TYPE_STRING, None, 'Text',
-                'Text', gobject.PARAM_READWRITE),
-            'foreground': (gobject.TYPE_STRING, None, 'Foreground',
-                'Foreground', gobject.PARAM_WRITABLE),
-            'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
-                'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'background': (gobject.TYPE_STRING, None, 'Background',
-                'Background', gobject.PARAM_WRITABLE),
-            'background-set': (gobject.TYPE_INT, 'Background Set',
-                'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'editable': (gobject.TYPE_INT, 'Editable',
-                'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
-            'xalign': (gobject.TYPE_FLOAT, 'XAlign',
-                'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
-            'visible': (gobject.TYPE_INT, 'Visible',
-                'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-            'has-entry': (gobject.TYPE_INT, 'Has Entry',
-                'Has Entry', 0, 10, 0, gobject.PARAM_READWRITE),
-            'model': (gobject.TYPE_OBJECT, 'Model', 'Model',
-                gobject.PARAM_READWRITE),
-            'text-column': (gobject.TYPE_INT, 'Text Column',
-                'Text Column', 0, 10, 0, gobject.PARAM_READWRITE),
-            'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
-                'Strikethrough', False, gobject.PARAM_WRITABLE),
-    }
+        'text': (gobject.TYPE_STRING, None, 'Text',
+            'Text', gobject.PARAM_READWRITE),
+        'foreground': (gobject.TYPE_STRING, None, 'Foreground',
+            'Foreground', gobject.PARAM_WRITABLE),
+        'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
+            'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
+        'background': (gobject.TYPE_STRING, None, 'Background',
+            'Background', gobject.PARAM_WRITABLE),
+        'background-set': (gobject.TYPE_INT, 'Background Set',
+            'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
+        'editable': (gobject.TYPE_INT, 'Editable',
+            'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
+        'xalign': (gobject.TYPE_FLOAT, 'XAlign',
+            'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
+        'visible': (gobject.TYPE_INT, 'Visible',
+            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
+        'has-entry': (gobject.TYPE_INT, 'Has Entry',
+            'Has Entry', 0, 10, 0, gobject.PARAM_READWRITE),
+        'model': (gobject.TYPE_OBJECT, 'Model', 'Model',
+            gobject.PARAM_READWRITE),
+        'text-column': (gobject.TYPE_INT, 'Text Column',
+            'Text Column', 0, 10, 0, gobject.PARAM_READWRITE),
+        'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
+            'Strikethrough', False, gobject.PARAM_WRITABLE),
+        }
 
     def __init__(self):
         self.__gobject_init__()
diff --git a/tryton/common/cellrendererdate.py b/tryton/common/cellrendererdate.py
deleted file mode 100644
index 04400c1..0000000
--- a/tryton/common/cellrendererdate.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-import gobject
-import pango
-
-from date_widget import DateEntry
-
-
-class CellRendererDate(gtk.GenericCellRenderer):
-    __gproperties__ = {
-            'text': (gobject.TYPE_STRING, None, 'Text',
-                'Text', gobject.PARAM_READWRITE),
-            'foreground': (gobject.TYPE_STRING, None, 'Foreground',
-                'Foreground', gobject.PARAM_WRITABLE),
-            'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
-                'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'background': (gobject.TYPE_STRING, None, 'Background',
-                'Background', gobject.PARAM_WRITABLE),
-            'background-set': (gobject.TYPE_INT, 'Background Set',
-                'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'editable': (gobject.TYPE_INT, 'Editable',
-                'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
-            'visible': (gobject.TYPE_INT, 'Visible',
-                'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-            'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
-                'Strikethrough', False, gobject.PARAM_WRITABLE),
-    }
-
-    def __init__(self, format):
-        self.__gobject_init__()
-        self._renderer = gtk.CellRendererText()
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-        self.format = format
-        self.cmd = ''
-        self.text = self._renderer.get_property('text')
-        self.editable = self._renderer.get_property('editable')
-        self.visible = True
-
-    def set_sensitive(self, value):
-        if hasattr(self._renderer, 'set_sensitive'):
-            return self._renderer.set_sensitive(value)
-        return self._renderer.set_property('sensitive', value)
-
-    def do_set_property(self, pspec, value):
-        setattr(self, pspec.name, value)
-        if pspec.name == 'visible':
-            return
-        self._renderer.set_property(pspec.name, value)
-        self.set_property("mode", self._renderer.get_property("mode"))
-
-    def do_get_property(self, pspec):
-        return getattr(self, pspec.name)
-
-    def on_get_size(self, widget, cell_area):
-        return self._renderer.get_size(widget, cell_area)
-
-    def on_render(self, window, widget, background_area, cell_area,
-            expose_area, flags):
-        if not self.visible:
-            return
-        # Handle Pixmap window as pygtk failed
-        if type(window) == gtk.gdk.Pixmap:
-            layout = widget.create_pango_layout(self.text)
-            layout.set_font_description(widget.style.font_desc)
-            w, h = layout.get_size()
-            xalign = self._renderer.get_property('xalign')
-            x = int(cell_area.x + (cell_area.width - w / pango.SCALE) * xalign)
-            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-            window.draw_layout(widget.style.text_gc[0], x, y, layout)
-            return
-        return self._renderer.render(window, widget, background_area,
-                cell_area, expose_area, flags)
-
-    def on_activate(self, event, widget, path, background_area, cell_area,
-            flags):
-        if not self.visible:
-            return
-        return self._renderer.activate(event, widget, path, background_area,
-                cell_area, flags)
-
-    def on_start_editing(self, event, widget, path, background_area,
-            cell_area, flags):
-        if not self.visible:
-            return
-        editable = DateEntry(self.format)
-        editable.set_property('shadow-type', gtk.SHADOW_NONE)
-
-        colormap = editable.get_colormap()
-        style = editable.get_style()
-        if hasattr(self, 'background') \
-                and getattr(self, 'background') != 'white':
-            bg_color = colormap.alloc_color(getattr(self, 'background'))
-            fg_color = gtk.gdk.color_parse("black")
-            editable.modify_bg(gtk.STATE_ACTIVE, bg_color)
-            editable.modify_base(gtk.STATE_NORMAL, bg_color)
-            editable.modify_fg(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_NORMAL, fg_color)
-            editable.modify_text(gtk.STATE_INSENSITIVE, fg_color)
-        else:
-            editable.modify_bg(gtk.STATE_ACTIVE, style.bg[gtk.STATE_ACTIVE])
-            editable.modify_base(gtk.STATE_NORMAL,
-                style.base[gtk.STATE_NORMAL])
-            editable.modify_fg(gtk.STATE_NORMAL, style.fg[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_NORMAL,
-                style.text[gtk.STATE_NORMAL])
-            editable.modify_text(gtk.STATE_INSENSITIVE,
-                style.text[gtk.STATE_INSENSITIVE])
-
-        if self.text:
-            editable.set_text(self.text)
-        else:
-            editable.clear()
-        editable.grab_focus()
-        editable.show()
-        return editable
-
-gobject.type_register(CellRendererDate)
diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py
index 4fdd6d8..5ff8a17 100644
--- a/tryton/common/cellrendererfloat.py
+++ b/tryton/common/cellrendererfloat.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import locale
diff --git a/tryton/common/cellrendererinteger.py b/tryton/common/cellrendererinteger.py
index d2c85c3..8705544 100644
--- a/tryton/common/cellrendererinteger.py
+++ b/tryton/common/cellrendererinteger.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gobject
 from cellrenderertext import CellRendererText
 import locale
diff --git a/tryton/common/cellrenderertext.py b/tryton/common/cellrenderertext.py
index 743221e..0f15701 100644
--- a/tryton/common/cellrenderertext.py
+++ b/tryton/common/cellrenderertext.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import pango
@@ -7,25 +7,28 @@ import pango
 
 class CellRendererText(gtk.GenericCellRenderer):
     __gproperties__ = {
-            'text': (gobject.TYPE_STRING, None, 'Text',
-                'Text', gobject.PARAM_READWRITE),
-            'foreground': (gobject.TYPE_STRING, None, 'Foreground',
-                'Foreground', gobject.PARAM_WRITABLE),
-            'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
-                'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'background': (gobject.TYPE_STRING, None, 'Background',
-                'Background', gobject.PARAM_WRITABLE),
-            'background-set': (gobject.TYPE_INT, 'Background Set',
-                'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
-            'editable': (gobject.TYPE_INT, 'Editable',
-                'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
-            'xalign': (gobject.TYPE_FLOAT, 'XAlign',
-                'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
-            'visible': (gobject.TYPE_INT, 'Visible',
-                'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-            'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
-                'Strikethrough', False, gobject.PARAM_WRITABLE),
-    }
+        'text': (gobject.TYPE_STRING, None, 'Text',
+            'Text', gobject.PARAM_READWRITE),
+        'foreground': (gobject.TYPE_STRING, None, 'Foreground',
+            'Foreground', gobject.PARAM_WRITABLE),
+        'foreground-set': (gobject.TYPE_INT, 'Foreground Set',
+            'Foreground Set', 0, 10, 0, gobject.PARAM_READWRITE),
+        'background': (gobject.TYPE_STRING, None, 'Background',
+            'Background', gobject.PARAM_WRITABLE),
+        'background-set': (gobject.TYPE_INT, 'Background Set',
+            'Background Set', 0, 10, 0, gobject.PARAM_READWRITE),
+        'editable': (gobject.TYPE_INT, 'Editable',
+            'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
+        'xalign': (gobject.TYPE_FLOAT, 'XAlign',
+            'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
+        'visible': (gobject.TYPE_INT, 'Visible',
+            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
+        'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
+            'Strikethrough', False, gobject.PARAM_WRITABLE),
+        'single-paragraph-mode': (gobject.TYPE_BOOLEAN,
+            'Single Paragraph Mode', 'Single Paragraph Mode', False,
+            gobject.PARAM_WRITABLE),
+        }
 
     def __init__(self):
         self.__gobject_init__()
diff --git a/tryton/common/cellrenderertoggle.py b/tryton/common/cellrenderertoggle.py
index b9cafbc..32f74be 100644
--- a/tryton/common/cellrenderertoggle.py
+++ b/tryton/common/cellrenderertoggle.py
@@ -1,21 +1,21 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 
 
 class CellRendererToggle(gtk.GenericCellRenderer):
     __gproperties__ = {
-            'activatable': (gobject.TYPE_INT, 'Activatable',
-                'Activatable', 0, 10, 0, gobject.PARAM_READWRITE),
-            'visible': (gobject.TYPE_INT, 'Visible',
-                'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
-    }
+        'activatable': (gobject.TYPE_INT, 'Activatable',
+            'Activatable', 0, 10, 0, gobject.PARAM_READWRITE),
+        'visible': (gobject.TYPE_INT, 'Visible',
+            'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
+        }
 
     __gsignals__ = {
-            'toggled': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
-                (gobject.TYPE_STRING, )),
-    }
+        'toggled': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
+            (gobject.TYPE_STRING, )),
+        }
 
     def __init__(self):
         self.__gobject_init__()
diff --git a/tryton/common/common.py b/tryton/common/common.py
index 2a3dfbd..11df775 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import gtk
 import gobject
@@ -11,6 +11,7 @@ import subprocess
 import re
 import logging
 import unicodedata
+import colorsys
 from functools import partial
 from tryton.config import CONFIG
 from tryton.config import TRYTON_ICON, PIXMAPS_DIR
@@ -27,8 +28,7 @@ import threading
 import tryton.rpc as rpc
 import locale
 import socket
-import tempfile
-from tryton.version import VERSION
+from tryton import __version__
 import thread
 import urllib
 from string import Template
@@ -111,20 +111,10 @@ class TrytonIconFactory(gtk.IconFactory):
         except TrytonServerError:
             icons = []
         for icon in icons:
-            # svg file cannot be loaded from data into a pixbuf
-            fileno, path = tempfile.mkstemp()
-            with os.fdopen(fileno, 'w') as svgfile:
-                svgfile.write(icon['icon'])
-            try:
-                pixbuf = gtk.gdk.pixbuf_new_from_file(path.decode(
-                    sys.getfilesystemencoding().encode('utf-8')))
-            except glib.GError:
-                continue
-            finally:
-                os.remove(path)
-                self._tryton_icons.remove((icon['id'], icon['name']))
-                del self._name2id[icon['name']]
-                self._loaded_icons.add(icon['name'])
+            pixbuf = _data2pixbuf(icon['icon'])
+            self._tryton_icons.remove((icon['id'], icon['name']))
+            del self._name2id[icon['name']]
+            self._loaded_icons.add(icon['name'])
             iconset = gtk.IconSet(pixbuf)
             self.add(icon['name'], iconset)
 
@@ -241,7 +231,7 @@ def test_server_version(host, port):
     version = rpc.server_version(host, port)
     if not version:
         return False
-    return version.split('.')[:2] == VERSION.split('.')[:2]
+    return version.split('.')[:2] == __version__.split('.')[:2]
 
 
 def refresh_dblist(host, port):
@@ -284,8 +274,8 @@ def request_server(server_widget):
         title=_('Tryton Connection'),
         parent=parent,
         flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT |
-            gtk.WIN_POS_CENTER_ON_PARENT |
-            gtk.gdk.WINDOW_TYPE_HINT_DIALOG,)
+        gtk.WIN_POS_CENTER_ON_PARENT |
+        gtk.gdk.WINDOW_TYPE_HINT_DIALOG,)
     dialog.set_has_separator(True)
     vbox = gtk.VBox()
     table = gtk.Table(2, 2, False)
@@ -581,7 +571,7 @@ def mailto(to=None, cc=None, subject=None, body=None, attachment=None):
             return
         except OSError:
             pass
-    #http://www.faqs.org/rfcs/rfc2368.html
+    # http://www.faqs.org/rfcs/rfc2368.html
     url = "mailto:"
     if to:
         if isinstance(to, unicode):
@@ -1154,10 +1144,7 @@ def process_exception(exception, *args, **kwargs):
         error_title, error_detail = exception.faultCode, exception.faultString
     else:
         error_title = str(exception)
-        if 'tb' in kwargs:
-            error_detail = kwargs['tb']
-        else:
-            error_detail = traceback.format_exc()
+        error_detail = traceback.format_exc()
     error(error_title, error_detail)
     return False
 
@@ -1188,33 +1175,26 @@ def hex2rgb(hexstring, digits=2):
     return r / top, g / top, b / top
 
 
-def clamp(minValue, maxValue, value):
-    """Make sure value is between minValue and maxValue"""
-    if value < minValue:
-                return minValue
-    if value > maxValue:
-                return maxValue
-    return value
-
-
-def lighten(r, g, b, amount):
-    """Return a lighter version of the color (r, g, b)"""
-    return (clamp(0.0, 1.0, r + amount),
-            clamp(0.0, 1.0, g + amount),
-            clamp(0.0, 1.0, b + amount))
+def highlight_rgb(r, g, b, amount=0.1):
+    h, s, v = colorsys.rgb_to_hsv(r, g, b)
+    return colorsys.hsv_to_rgb(h, s, (v + amount) % 1)
 
 
-def generateColorscheme(masterColor, keys, light=0.06):
+def generateColorscheme(masterColor, keys, light=0.1):
     """
     Generates a dictionary where the keys match the keys argument and
     the values are colors derivated from the masterColor.
-    Each color is a lighter version of masterColor separated by a difference
-    given by the light argument.
+    Each color has a value higher then the previous of `light`.
+    Each color has a hue separated from the previous by the golden angle.
     The masterColor is given in a hex string format.
     """
     r, g, b = hex2rgb(COLOR_SCHEMES.get(masterColor, masterColor))
-    return dict([(key, lighten(r, g, b, light * i))
-        for i, key in enumerate(keys)])
+    h, s, v = colorsys.rgb_to_hsv(r, g, b)
+    if keys:
+        light = min(light, (1. - v) / len(keys))
+    golden_angle = 0.618033988749895
+    return {key: colorsys.hsv_to_rgb((h + golden_angle * i) % 1,
+            s, (v + light * i) % 1) for i, key in enumerate(keys)}
 
 
 class DBProgress(object):
@@ -1392,108 +1372,6 @@ COLORS = {
     'required': '#d2d2ff',
 }
 
-FLOAT_TIME_CONV = {
-    'Y': 8760,
-    'M': 672,
-    'w': 168,
-    'd': 24,
-    'h': 1,
-    'm': 1.0 / 60,
-}
-
-FLOAT_TIME_SEPS = {
-    'Y': _('Y'),
-    'M': _('M'),
-    'w': _('w'),
-    'd': _('d'),
-    'h': _('h'),
-    'm': _('m'),
-}
-
-
-def text_to_float_time(text, conv=None, digit=2):
-    if not text:
-        return None
-    try:
-        try:
-            return round(locale.atof(text), digit)
-        except ValueError:
-            pass
-        if conv:
-            tmp_conv = FLOAT_TIME_CONV.copy()
-            tmp_conv.update(conv)
-            conv = tmp_conv
-        else:
-            conv = FLOAT_TIME_CONV
-        for key in FLOAT_TIME_SEPS.keys():
-            text = text.replace(FLOAT_TIME_SEPS[key], key + ' ')
-        value = 0
-        for buf in text.split(' '):
-            buf = buf.strip()
-            if ':' in buf:
-                hour, min = buf.split(':')
-                value += abs(int(hour or 0))
-                value += abs(int(min or 0) * conv['m'])
-                continue
-            elif '-' in buf and not buf.startswith('-'):
-                hour, min = buf.split('-')
-                value += abs(int(hour or 0))
-                value += abs(int(min or 0) * conv['m'])
-                continue
-            try:
-                value += abs(locale.atof(buf))
-                continue
-            except ValueError:
-                pass
-            for sep in conv.keys():
-                if buf.endswith(sep):
-                    value += abs(locale.atof(buf[:-len(sep)])) * conv[sep]
-                    break
-        if text.startswith('-'):
-            value *= -1
-        return round(value, digit)
-    except ValueError:
-        return 0.0
-
-
-def float_time_to_text(val, conv=None):
-    if val is None:
-        return ''
-    if conv:
-        tmp_conv = FLOAT_TIME_CONV.copy()
-        tmp_conv.update(conv)
-        conv = tmp_conv
-    else:
-        conv = FLOAT_TIME_CONV
-
-    value = ''
-    if val < 0:
-        value += '-'
-    val = abs(val)
-    years = int(val / conv['Y'])
-    val = val - years * conv['Y']
-    months = int(val / conv['M'])
-    val = val - months * conv['M']
-    weeks = int(val / conv['w'])
-    val = val - weeks * conv['w']
-    days = int(val / conv['d'])
-    val = val - days * conv['d']
-    hours = int(val)
-    val = val - hours
-    mins = int((val % 1 + 0.01) / conv['m'])
-    if years:
-        value += ' ' + locale.format('%d', years, True) + FLOAT_TIME_SEPS['Y']
-    if months:
-        value += ' ' + locale.format('%d', months, True) + FLOAT_TIME_SEPS['M']
-    if weeks:
-        value += ' ' + locale.format('%d', weeks, True) + FLOAT_TIME_SEPS['w']
-    if days:
-        value += ' ' + locale.format('%d', days, True) + FLOAT_TIME_SEPS['d']
-    if hours or mins or not value:
-        value += ' %02d:%02d' % (hours, mins)
-    value = value.strip()
-    return value
-
 
 def filter_domain(domain):
     '''
@@ -1518,7 +1396,7 @@ def timezoned_date(date, reverse=False):
     szone = dateutil.tz.tzutc()
     if reverse:
         lzone, szone = szone, lzone
-    return date.replace(tzinfo=szone).astimezone(lzone)
+    return date.replace(tzinfo=szone).astimezone(lzone).replace(tzinfo=None)
 
 
 def untimezoned_date(date):
diff --git a/tryton/common/completion.py b/tryton/common/completion.py
index 057c5d3..0c2ceca 100644
--- a/tryton/common/completion.py
+++ b/tryton/common/completion.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import gobject
@@ -11,15 +11,17 @@ from tryton.exceptions import TrytonServerError, TrytonError
 _ = gettext.gettext
 
 
-def get_completion():
+def get_completion(search=True, create=True):
     "Return a EntryCompletion"
     completion = gtk.EntryCompletion()
     completion.set_match_func(lambda *a: True)
     completion.set_model(gtk.ListStore(str, int))
     completion.set_text_column(0)
     completion.props.popup_set_width = False
-    completion.insert_action_markup(0, _('<i>Search...</i>'))
-    completion.insert_action_markup(1, _('<i>Create...</i>'))
+    if search:
+        completion.insert_action_markup(0, _('<i>Search...</i>'))
+    if create:
+        completion.insert_action_markup(1, _('<i>Create...</i>'))
     return completion
 
 
diff --git a/tryton/common/date_widget.py b/tryton/common/date_widget.py
deleted file mode 100644
index 20b4f23..0000000
--- a/tryton/common/date_widget.py
+++ /dev/null
@@ -1,340 +0,0 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-"Date Widget"
-
-import gobject
-import gtk
-import re
-import time
-import datetime
-import gettext
-
-from dateutil.relativedelta import relativedelta
-
-from datetime_strftime import datetime_strftime
-from common import TRYTON_ICON
-
-_ = gettext.gettext
-
-__all__ = ['DateEntry']
-
-MAPPING = {
-    '%y': ('__', '([_ 0-9][_ 0-9])'),
-    '%Y': ('____', '([_ 0-9][_ 0-9][_ 0-9][_ 0-9])'),
-    '%m': ('__', '([_ 0-9][_ 0-9])'),
-    '%d': ('__', '([_ 0-9][_ 0-9])'),
-    '%H': ('__', '([_ 0-9][_ 0-9])'),
-    '%I': ('__', '([_ 0-9][_ 0-9])'),
-    '%M': ('__', '([_ 0-9][_ 0-9])'),
-    '%S': ('__', '([_ 0-9][_ 0-9])'),
-    '%p': ('__', '([_ AP][_ M])'),
-    '%f': ('______', '([_0-9][_0-9][_0-9][_0-9][_0-9][_0-9])'),
-    }
-OPERATORS = {
-    gtk.keysyms.S: relativedelta(seconds=-1),
-    gtk.keysyms.s: relativedelta(seconds=1),
-    gtk.keysyms.I: relativedelta(minutes=-1),
-    gtk.keysyms.i: relativedelta(minutes=1),
-    gtk.keysyms.H: relativedelta(hours=-1),
-    gtk.keysyms.h: relativedelta(hours=1),
-    gtk.keysyms.D: relativedelta(days=-1),
-    gtk.keysyms.d: relativedelta(days=1),
-    gtk.keysyms.W: relativedelta(weeks=-1),
-    gtk.keysyms.w: relativedelta(weeks=1),
-    gtk.keysyms.M: relativedelta(months=-1),
-    gtk.keysyms.m: relativedelta(months=1),
-    gtk.keysyms.Y: relativedelta(years=-1),
-    gtk.keysyms.y: relativedelta(years=1),
-    }
-
-
-class DateEntry(gtk.Entry):
-
-    def __init__(self, format):
-        super(DateEntry, self).__init__()
-
-        self.set_format(format)
-
-        self.connect('key-press-event', self._on_key_press)
-        self.connect('insert-text', self._on_insert_text)
-        self.connect('delete-text', self._on_delete_text)
-
-        self.connect('focus-in-event', self._focus_in)
-        self.connect('focus-out-event', self._focus_out)
-
-        self.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, 'tryton-find')
-        self.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY,
-            _('Open the calendar <F2>'))
-        self.connect('icon-press', DateEntry.cal_open)
-
-        self._interactive_input = True
-        self.idle_set_position(0)
-
-    def set_format(self, format):
-        self.format = format
-        self.regex = self.initial_value = format
-        for key, val in MAPPING.items():
-            self.regex = self.regex.replace(key, val[1])
-            self.initial_value = self.initial_value.replace(key, val[0])
-
-        self.regex = re.compile(self.regex)
-
-        assert self.regex.match(self.initial_value), \
-            'Error, the initial value should be validated by regex'
-        self.set_width_chars(len(self.initial_value) + 3)  # space for icon
-        self.set_max_length(len(self.initial_value))
-
-    def idle_set_position(self, value):
-        def idle_func():
-            with gtk.gdk.lock:
-                self.set_position(value)
-                return False
-        gobject.idle_add(idle_func)
-
-    def _on_insert_text(self, editable, value, length, position):
-        if not self._interactive_input:
-            return
-
-        pos = self.get_position()
-
-        text = self.get_text()
-        if not text:
-            text = self.initial_value
-        if text == self.initial_value and pos >= len(self.initial_value):
-            pos = 0
-
-        for char in value:
-            if pos >= len(self.initial_value):
-                continue
-            if char not in ('_', ' ') and char in self.initial_value[pos:]:
-                pos += self.initial_value[pos:].index(char)
-            else:
-                while self.initial_value[pos] not in ('_', ' '):
-                    pos += 1
-                text = text[:pos] + char + text[pos + 1:]
-            pos += 1
-
-        if self.regex.match(text) and self.test_date(text):
-            self.set_text(text)
-            self.idle_set_position(pos)
-        self.stop_emission('insert-text')
-        self.show()
-        return
-
-    def _on_delete_text(self, editable, start, end):
-        if not self._interactive_input:
-            return
-
-        if start > len(self.initial_value):
-            start = len(self.initial_value)
-        if start < 0:
-            start = 0
-        if end > len(self.initial_value):
-            end = len(self.initial_value)
-        if end < 0:
-            end = 0
-        while (start > 0
-                and self.initial_value[start] not in ['_', ' ', '0', 'X']):
-            start -= 1
-        text = self.get_text()
-        text = text[:start] + self.initial_value[start:end] + text[end:]
-        self.set_text(text)
-        self.idle_set_position(start)
-        self.stop_emission('delete-text')
-        return
-
-    def _focus_in(self, editable, event):
-        if not self.get_text():
-            self.set_text(self.initial_value)
-
-    def _focus_out(self, editable, event):
-        if self.get_text() == self.initial_value or not self.date_get():
-            self.set_text('')
-
-    def set_text(self, text):
-        self._interactive_input = False
-        try:
-            # Force position as _on_insert_text use it
-            position = self.get_position()
-            self.set_position(0)
-            gtk.Entry.set_text(self, text)
-            self.idle_set_position(position)
-        finally:
-            self._interactive_input = True
-
-    def date_set(self, dt):
-        if dt:
-            self.set_text(datetime_strftime(dt, self.format))
-        else:
-            if self.is_focus():
-                self.set_text(self.initial_value)
-            else:
-                self.set_text('')
-
-    def compute_date(self, text, default=None, year=None):
-        if default is None:
-            default = datetime_strftime(datetime.datetime.now(), self.format)
-        if text == self.initial_value or not text:
-            return ''
-
-        match = self.regex.match(text)
-        if not match:
-            return ''
-        for i in range(len(match.groups())):
-            val = match.group(i + 1)
-            n = len(val)
-            val = val.strip()
-            val = val.strip('_')
-            if n != 4:
-                val = val.lstrip('0')
-            if not val:
-                continue
-            fchar = '0'
-            if n == 4:
-                fchar = '_'
-                if len(val) == 1:
-                    val = '0' + val
-            if year and n == 4 and len(val) != 4:
-                val = year
-            val = (fchar * (n - len(val))) + val
-            start = match.start(i + 1)
-            end = match.end(i + 1)
-            text = text[:start] + val + text[end:]
-
-        for a in range(len(self.initial_value)):
-            if self.initial_value[a] == text[a]:
-                text = text[:a] + default[a] + text[a + 1:]
-        return text
-
-    def test_date(self, text):
-        default = datetime_strftime(datetime.datetime(2000, 1, 1),
-                self.format)
-        try:
-            time.strptime(
-                self.compute_date(text, default=default, year='2000'),
-                self.format)
-        except ValueError:
-            return False
-        return True
-
-    def date_get(self, set_text=True):
-        res = None
-        date = self.compute_date(self.get_text())
-        try:
-            res = datetime.datetime.strptime(date, self.format)
-        except ValueError:
-            return None
-        if set_text:
-            self.set_text(date)
-        return res
-
-    def delete_text(self, start, end):
-        self._interactive_input = False
-        try:
-            gtk.Entry.delete_text(self, start, end)
-        finally:
-            self._interactive_input = True
-
-    def insert_text(self, text, position=0):
-        self._interactive_input = False
-        try:
-            gtk.Entry.insert_text(self, text, position)
-        finally:
-            self._interactive_input = True
-
-    def clear(self):
-        if self.is_focus():
-            self.set_text(self.initial_value)
-        else:
-            self.set_text('')
-
-    def _on_key_press(self, editable, event):
-        if not self.get_editable():
-            return False
-        if event.keyval in (gtk.keysyms.KP_Equal, gtk.keysyms.equal):
-            now = datetime.datetime.now()
-            self.date_set(now)
-            self.stop_emission("key-press-event")
-            return True
-        elif event.keyval == gtk.keysyms.F2:
-            DateEntry.cal_open(editable)
-            self.stop_emission("key-press-event")
-            return True
-        elif event.keyval in OPERATORS:
-            date = self.date_get()
-            if date:
-                self.date_set(date + OPERATORS[event.keyval])
-            self.stop_emission("key-press-event")
-            return True
-        return False
-
-    def cal_open(self, *args):
-        if not self.get_editable():
-            return False
-        parent = self.get_toplevel()
-        dialog = gtk.Dialog(_('Date Selection'), parent,
-            gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
-            (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
-                gtk.STOCK_OK, gtk.RESPONSE_OK))
-        dialog.set_has_separator(True)
-        dialog.set_icon(TRYTON_ICON)
-        dialog.set_default_response(gtk.RESPONSE_OK)
-
-        calendar = gtk.Calendar()
-        calendar.set_display_options(
-            gtk.CALENDAR_SHOW_HEADING |
-            gtk.CALENDAR_SHOW_DAY_NAMES |
-            gtk.CALENDAR_SHOW_WEEK_NUMBERS |
-            gtk.CALENDAR_WEEK_START_MONDAY)
-        calendar.connect('day-selected-double-click',
-            lambda *x: dialog.response(gtk.RESPONSE_OK))
-        dialog.vbox.pack_start(calendar, expand=True, fill=True)
-
-        date = self.date_get()
-        if date:
-            calendar.select_month(date.month - 1, date.year)
-            calendar.select_day(date.day)
-        else:
-            date = datetime.datetime.now()
-
-        x, y = self.window.get_origin()
-        allocation = self.get_allocation()
-        dialog.move(x, y + allocation.height)
-
-        dialog.show_all()
-
-        response = dialog.run()
-        if response == gtk.RESPONSE_OK:
-            year, month, day = calendar.get_date()
-            date += relativedelta(year=year, month=month + 1, day=day)
-            self.date_set(date)
-
-        parent.present()
-        self.grab_focus()
-        dialog.destroy()
-
-if __name__ == '__main__':
-    win = gtk.Window()
-    win.set_title('DateEntry')
-
-    def cb(window, event):
-        gtk.main_quit()
-    win.connect('delete-event', cb)
-    vbox = gtk.VBox()
-    win.add(vbox)
-
-    for format in (
-            '%d.%m.%Y %H:%M:%S',
-            '%m/%d/%Y %H:%M:%S',
-            '%d/%m/%Y %H:%M:%S',
-            '%Y-%m-%d %H:%M%S',
-            '%d.%m.%Y',
-            '%m/%d/%Y',
-            '%d/%m/%Y',
-            '%Y-%m-%d',
-            ):
-        widget = DateEntry(format)
-        vbox.pack_start(widget, False, False)
-
-    win.show_all()
-    gtk.main()
diff --git a/tryton/common/datetime_.py b/tryton/common/datetime_.py
new file mode 100644
index 0000000..a6765c6
--- /dev/null
+++ b/tryton/common/datetime_.py
@@ -0,0 +1,577 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+import gettext
+import datetime
+
+import pygtk
+
+pygtk.require('2.0')
+
+import gobject
+import gtk
+
+from dateutil.relativedelta import relativedelta
+from dateutil.parser import parse
+
+from datetime_strftime import datetime_strftime as strftime
+
+__all__ = ['Date', 'CellRendererDate', 'Time', 'CellRendererTime', 'DateTime']
+
+_ = gettext.gettext
+
+
+def date_parse(text, format_='%x'):
+    dayfirst = datetime.date(1988, 8, 16).strftime(format_).index('16') == 0
+    yearfirst = datetime.date(1988, 8, 16).strftime(format_).index('88') <= 2
+    return parse(text, dayfirst=dayfirst, yearfirst=yearfirst, ignoretz=True)
+
+
+class Date(gtk.Entry):
+    __gtype_name__ = 'Date'
+    __gproperties__ = {
+        'value': (gobject.TYPE_PYOBJECT,
+            _('Value'),
+            _('Displayed value'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        'format': (gobject.TYPE_STRING,
+            '%x',
+            _('Format'),
+            _('Display format'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        }
+    __gsignals__ = {
+        'date-changed': (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION,
+            gobject.TYPE_NONE, ()),
+        }
+
+    def __init__(self):
+        self.__date = None
+        self.__format = '%x'
+
+        gtk.Entry.__init__(self)
+
+        self.set_width_chars(12)
+
+        self.connect('focus-out-event', self.focus_out)
+        self.connect('activate', self.activate)
+
+        # Calendar Popup
+        self.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, 'tryton-find')
+        self.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY,
+            _('Open the calendar'))
+        self.connect('icon-press', self.icon_press)
+
+        self.__cal_popup = gtk.Window(gtk.WINDOW_POPUP)
+        self.__cal_popup.set_events(
+            self.__cal_popup.get_events() | gtk.gdk.KEY_PRESS_MASK)
+        self.__cal_popup.set_resizable(False)
+        self.__cal_popup.connect('delete-event', self.cal_popup_closed)
+        self.__cal_popup.connect('key-press-event', self.cal_popup_key_pressed)
+        self.__cal_popup.connect('button-press-event',
+            self.cal_popup_button_pressed)
+
+        self.__calendar = gtk.Calendar()
+        cal_options = gtk.CALENDAR_SHOW_DAY_NAMES | gtk.CALENDAR_SHOW_HEADING
+        self.__calendar.set_display_options(cal_options)
+        self.__cal_popup.add(self.__calendar)
+        self.__calendar.connect('day-selected', self.cal_popup_changed)
+        self.__calendar.connect('day-selected-double-click',
+            self.cal_popup_double_click)
+        self.__calendar.show()
+
+    def parse(self):
+        text = self.get_text()
+        date = None
+        if text:
+            try:
+                date = date_parse(text, self.__format).date()
+            except (ValueError, OverflowError):
+                pass
+
+        self.__date = date
+
+    def update_label(self):
+        if not self.__date:
+            self.set_text('')
+            return
+        self.set_text(strftime(self.__date, self.__format))
+
+    def icon_press(self, entry, icon_pos, event):
+        if icon_pos == gtk.ENTRY_ICON_SECONDARY:
+            self.cal_popup_open()
+
+    def cal_popup_open(self):
+        self.parse()
+        if self.__date:
+            self.__calendar.select_month(
+                self.__date.month - 1, self.__date.year)
+            self.__calendar.select_day(self.__date.day)
+        popup_position(self, self.__cal_popup)
+        popup_show(self.__cal_popup)
+
+    def cal_popup_changed(self, calendar):
+        year, month, day = self.__calendar.get_date()
+        self.__date = datetime.date(year, month + 1, day)
+
+        self.update_label()
+
+        self.emit('date-changed')
+
+    def cal_popup_double_click(self, calendar):
+        self.cal_popup_hide()
+
+    def cal_popup_key_pressed(self, calendar, event):
+        if event.keyval != gtk.keysyms.Escape:
+            return False
+
+        self.stop_emission('key-press-event')
+        self.cal_popup_hide()
+        return True
+
+    def cal_popup_button_pressed(self, calendar, event):
+        child = event.window
+        if child != calendar.window:
+            while child:
+                if child == calendar.window:
+                    return False
+                child = child.get_parent()
+        self.cal_popup_hide()
+        return True
+
+    def cal_popup_closed(self, popup):
+        self.cal_popup_hide()
+        return True
+
+    def cal_popup_hide(self):
+        popup_hide(self.__cal_popup)
+        self.grab_focus()
+        self.emit('date-changed')
+
+    def focus_out(self, entry, event):
+        self.parse()
+        self.update_label()
+        self.emit('date-changed')
+        return False
+
+    def activate(self, entry):
+        self.parse()
+        self.update_label()
+        self.emit('date-changed')
+        return False
+
+    def do_set_property(self, prop, value):
+        if prop.name == 'value':
+            if isinstance(value, basestring):
+                self.set_text(value)
+                self.parse()
+                value = self.__date
+            if value:
+                if isinstance(value, datetime.datetime):
+                    value = value.date()
+                assert isinstance(value, datetime.date), value
+            self.__date = value
+            self.update_label()
+        elif prop.name == 'format':
+            self.__format = value
+            self.update_label()
+
+    def do_get_property(self, prop):
+        if prop.name == 'value':
+            return self.__date
+        elif prop.name == 'format':
+            return self.__format
+
+gobject.type_register(Date)
+
+
+class CellRendererDate(gtk.CellRendererText):
+    __gproperties__ = {
+        'format': (gobject.TYPE_STRING,
+            _('Format'),
+            _('Display format'),
+            '%x',
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        }
+
+    def __init__(self):
+        self.__format = '%x'
+
+        gtk.CellRendererText.__init__(self)
+
+    def do_set_property(self, prop, value):
+        if prop.name == 'format':
+            self.__format = value
+            return
+        gtk.CellRendererText.set_property(self, prop, value)
+
+    def do_get_property(self, prop):
+        if prop.name == 'format':
+            return self.__format
+        return gtk.CellRendererText.get_property(self, prop)
+
+    def do_start_editing(
+            self, event, widget, path, background_area, cell_area, flags):
+        widget = add_operators(Date())  # TODO add_operators has option
+        widget.props.format = self.props.format
+        widget.props.value = self.props.text
+        if self.props.background_set:
+            widget.modify_base(gtk.STATE_NORMAL, self.props.background_gdk)
+        if self.props.foreground_set:
+            widget.modify_fg(gtk.STATE_NORMAL, self.props.foreground_gdk)
+        widget.grab_focus()
+        widget.show()
+        return widget
+
+gobject.type_register(CellRendererDate)
+
+
+class Time(gtk.ComboBoxEntry):
+    __gtype_name__ = 'Time'
+    __gproperties__ = {
+        'value': (gobject.TYPE_PYOBJECT,
+            _('Value'),
+            _('Displayed value'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        'format': (gobject.TYPE_STRING,
+            _('Format'),
+            _('Display format'),
+            '%X',
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        }
+    __gsignals__ = {
+        'time-changed': (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION,
+            gobject.TYPE_NONE, ()),
+        }
+
+    def __init__(self):
+        self.__time = None
+        self.__format = '%X'
+
+        gtk.ComboBoxEntry.__init__(self)
+
+        self.__entry = self.get_child()
+        self.__entry.set_width_chars(10)
+
+        self.__entry.connect('focus-out-event', self.focus_out)
+        self.__entry.connect('activate', self.activate)
+        self.connect('changed', self.changed)
+
+        self.__model = gtk.ListStore(
+            gobject.TYPE_STRING, gobject.TYPE_PYOBJECT)
+        self.update_model()
+        self.set_model(self.__model)
+        self.set_text_column(0)
+
+    def parse(self):
+        text = self.__entry.get_text()
+        time = None
+        if text:
+            try:
+                time = date_parse(text).time()
+            except (ValueError, OverflowError):
+                pass
+
+        self.__time = time
+
+    def update_label(self):
+        if not self.__time:
+            self.__entry.set_text('')
+            return
+
+        self.__entry.set_text(self.__time.strftime(self.__format))
+
+    def update_model(self):
+        self.__model.clear()
+        timelist_set_list(
+            self.__model, datetime.time(0, 0), datetime.time(23, 59),
+            self.__format)
+
+    def focus_out(self, entry, event):
+        self.parse()
+        self.update_label()
+        self.emit('time-changed')
+        return False
+
+    def activate(self, entry):
+        self.parse()
+        self.update_label()
+        self.emit('time-changed')
+        return False
+
+    def changed(self, combobox):
+        # "changed" signal is also triggered by text editing
+        # so only parse when a row is active
+        if combobox.get_active_iter():
+            self.parse()
+            self.update_label()
+            self.emit('time-changed')
+        return False
+
+    def do_set_property(self, prop, value):
+        if prop.name == 'value':
+            if isinstance(value, basestring):
+                self.__entry.set_text(value)
+                self.parse()
+                value = self.__time
+            if value:
+                if isinstance(value, datetime.datetime):
+                    value = value.time()
+            self.__time = value
+            self.update_label()
+        elif prop.name == 'format':
+            self.__format = value
+            self.update_label()
+            self.update_model()
+
+    def do_get_property(self, prop):
+        if prop.name == 'value':
+            return self.__time
+        elif prop.name == 'format':
+            return self.__format
+
+gobject.type_register(Time)
+
+
+class CellRendererTime(gtk.CellRendererText):
+    __gproperties__ = {
+        'format': (gobject.TYPE_STRING,
+            '%X',
+            _('Format'),
+            _('Display format'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        }
+
+    def __init__(self):
+        self.__format = '%X'
+
+        gtk.CellRendererText.__init__(self)
+
+    def do_set_property(self, prop, value):
+        if prop.name == 'format':
+            self.__format = value
+            return
+        gtk.CellRendererText.set_property(self, prop, value)
+
+    def do_get_property(self, prop):
+        if prop.name == 'format':
+            return self.__format
+        return gtk.CellRendererText.get_property(self, prop)
+
+    def do_start_editing(
+            self, event, widget, path, background_area, cell_area, flags):
+        if not self.props.editable:
+            return
+        widget = add_operators(Time())  # TODO add_operators has option
+        widget.props.format = self.props.format
+        widget.props.value = self.props.text
+        if self.props.background_set:
+            widget.modify_base(gtk.STATE_NORMAL, self.props.background_gdk)
+        if self.props.foreground_set:
+            widget.modify_fg(gtk.STATE_NORMAL, self.props.foreground_gdk)
+        widget.grab_focus()
+        widget.show()
+        return widget
+
+gobject.type_register(CellRendererTime)
+
+
+class DateTime(gtk.HBox):
+    __gtype_name__ = 'DateTime'
+    __gproperties__ = {
+        'value': (gobject.TYPE_PYOBJECT,
+            _('Value'),
+            _('Displayed value'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        'date-format': (gobject.TYPE_STRING,
+            '%x',
+            _('Date Format'),
+            _('Displayed date format'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        'time-format': (gobject.TYPE_STRING,
+            '%X',
+            _('Date Format'),
+            _('Displayed date format'),
+            gobject.PARAM_READABLE | gobject.PARAM_WRITABLE),
+        }
+    __gsignals__ = {
+        'datetime-changed': (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION,
+            gobject.TYPE_NONE, ()),
+        }
+
+    def __init__(self):
+        gtk.HBox.__init__(self, spacing=4)
+
+        self.__date = Date()
+        self.pack_start(self.__date, True, True, 0)
+        self.__date.show()
+        self.__date.connect('date-changed',
+            lambda e: self.emit('datetime-changed'))
+
+        self.__time = Time()
+        self.pack_start(self.__time, True, True, 0)
+        self.__time.show()
+        self.__time.connect('time-changed',
+            lambda e: self.emit('datetime-changed'))
+
+    def do_set_property(self, prop, value):
+        if prop.name == 'value':
+            self.__date.props.value = value
+            self.__time.props.value = value
+        elif prop.name == 'date-format':
+            self.__date.props.format = value
+        elif prop.name == 'time-format':
+            self.__time.props.format = value
+
+    def do_get_property(self, prop):
+        if prop.name == 'value':
+            date = self.__date.props.value
+            time = self.__time.props.value or datetime.time()
+            if date:
+                return datetime.datetime.combine(date, time)
+            else:
+                return
+        elif prop.name == 'date-format':
+            return self.__date.props.format
+        elif prop.name == 'time-format':
+            return self.__time.props.format
+
+    def modify_bg(self, state, color):
+        self.__date.modify_bg(state, color)
+        self.__time.child.modify_bg(state, color)
+
+    def modify_base(self, state, color):
+        self.__date.modify_base(state, color)
+        self.__time.child.modify_base(state, color)
+
+    def modify_fg(self, state, color):
+        self.__date.modify_fg(state, color)
+        self.__time.child.modify_fg(state, color)
+
+    def modify_text(self, state, color):
+        self.__date.modify_text(state, color)
+        self.__time.child.modify_text(state, color)
+
+gobject.type_register(DateTime)
+
+
+def popup_position(widget, popup):
+
+    req_width, req_height = popup.size_request()
+    x, y = widget.window.get_origin()
+    allocation = widget.get_allocation()
+    width = allocation.width
+    height = allocation.height
+
+    x += width - req_width
+    y += height
+
+    x = max(x, 0)
+    y = max(y, 0)
+
+    popup.move(x, y)
+
+
+def popup_show(popup):
+    popup.show()
+    popup.grab_focus()
+    popup.grab_add()
+
+    cursor = gtk.gdk.Cursor(gtk.gdk.ARROW)
+    gtk.gdk.pointer_grab(popup.window, True,
+        (gtk.gdk.BUTTON_PRESS_MASK
+            | gtk.gdk.BUTTON_RELEASE_MASK
+            | gtk.gdk.POINTER_MOTION_MASK),
+        None, cursor, 0L)
+
+
+def popup_hide(popup):
+    popup.hide()
+    popup.grab_remove()
+    gtk.gdk.pointer_ungrab(0L)
+
+
+def timelist_set_list(model, min_, max_, format_):
+    time = min_
+    delta = 30
+    while time < max_:
+        model.append((time.strftime(format_), time))
+        hour = time.hour
+        minute = time.minute + delta
+        hour += minute / 60
+        if hour >= 24:
+            break
+        minute = minute % 60
+        time = datetime.time(hour, minute)
+
+
+def add_operators(widget):
+    def key_press(editable, event):
+        if event.keyval in OPERATORS:
+            value = widget.props.value
+            if value:
+                if isinstance(value, datetime.time):
+                    value = datetime.datetime.combine(
+                        datetime.date.today(), value)
+                try:
+                    widget.props.value = value + OPERATORS[event.keyval]
+                except TypeError:
+                    return False
+            return True
+        elif event.keyval in (gtk.keysyms.KP_Equal, gtk.keysyms.equal):
+            widget.props.value = datetime.datetime.now()
+            return True
+        return False
+
+    if isinstance(widget, gtk.ComboBoxEntry):
+        editable = widget.get_child()
+    else:
+        editable = widget
+    editable.connect('key-press-event', key_press)
+    return widget
+
+OPERATORS = {
+    gtk.keysyms.S: relativedelta(seconds=-1),
+    gtk.keysyms.s: relativedelta(seconds=1),
+    gtk.keysyms.I: relativedelta(minutes=-1),
+    gtk.keysyms.i: relativedelta(minutes=1),
+    gtk.keysyms.H: relativedelta(hours=-1),
+    gtk.keysyms.h: relativedelta(hours=1),
+    gtk.keysyms.D: relativedelta(days=-1),
+    gtk.keysyms.d: relativedelta(days=1),
+    gtk.keysyms.W: relativedelta(weeks=-1),
+    gtk.keysyms.w: relativedelta(weeks=1),
+    gtk.keysyms.M: relativedelta(months=-1),
+    gtk.keysyms.m: relativedelta(months=1),
+    gtk.keysyms.Y: relativedelta(years=-1),
+    gtk.keysyms.y: relativedelta(years=1),
+    }
+
+if __name__ == '__main__':
+    win = gtk.Window()
+    win.connect('delete-event', gtk.main_quit)
+
+    v = gtk.VBox()
+    v.show()
+
+    d = add_operators(Date())
+    d.show()
+    v.pack_start(d, False, False)
+
+    t = add_operators(Time())
+    t.show()
+    v.pack_start(t, False, False)
+
+    t = add_operators(Time())
+    t.props.format = '%H:%M'
+    t.show()
+    v.pack_start(t, False, False)
+
+    dt = DateTime()
+    [add_operators(c) for c in dt.get_children()]
+    dt.show()
+    v.pack_start(dt, False, False)
+
+    win.add(v)
+    win.show()
+
+    gtk.main()
diff --git a/tryton/common/datetime_strftime.py b/tryton/common/datetime_strftime.py
index 2420eee..a9c6ad2 100644
--- a/tryton/common/datetime_strftime.py
+++ b/tryton/common/datetime_strftime.py
@@ -1,6 +1,6 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-#Copyright (c) 2002-2007 John D. Hunter; All Rights Reserved
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+# Copyright (c) 2002-2007 John D. Hunter; All Rights Reserved
 import time
 
 
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
index 892c01a..ae67e5a 100644
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import operator
 import types
@@ -112,6 +112,18 @@ def inverse_leaf(domain):
         return map(inverse_leaf, domain)
 
 
+def filter_leaf(domain, field, model):
+    if domain in ('AND', 'OR'):
+        return domain
+    elif is_leaf(domain):
+        if domain[0].startswith(field) and len(domain) > 3:
+            if domain[3] != model:
+                return ('id', '=', None)
+        return domain
+    else:
+        return [filter_leaf(d, field, model) for d in domain]
+
+
 def eval_domain(domain, context, boolop=operator.and_):
     "compute domain boolean value according to the context"
     if is_leaf(domain):
@@ -193,6 +205,17 @@ def concat(*domains, **kwargs):
     return simplify(merge(result))
 
 
+def unique_value(domain):
+    "Return if unique, the field and the value"
+    if (isinstance(domain, list)
+            and len(domain) == 1
+            and '.' not in domain[0][0]
+            and domain[0][1] == '='):
+        return True, domain[0][1], domain[0][2]
+    else:
+        return False, None, None
+
+
 def parse(domain):
     if is_leaf(domain):
         return domain
@@ -295,7 +318,7 @@ class Or(And):
                 field = self.base(field)
                 if (field in context
                         and (eval_leaf(part, context, operator.or_)
-                                or constrained_leaf(part, operator.or_))):
+                            or constrained_leaf(part, operator.or_))):
                     return True
                 elif (field in context
                         and not eval_leaf(part, context, operator.or_)):
@@ -481,6 +504,17 @@ def test_concat():
         'OR', [['a', '=', 1]], [['b', '=', 2]]]
 
 
+def test_unique_value():
+    domain = [['a', '=', 1]]
+    assert unique_value(domain) == (True, '=', 1)
+    domain = [['a', '!=', 1]]
+    assert unique_value(domain)[0] is False
+    domain = [['a', '=', 1], ['a', '=', 2]]
+    assert unique_value(domain)[0] is False
+    domain = [['a.b', '=', 1]]
+    assert unique_value(domain)[0] is False
+
+
 def test_evaldomain():
     domain = [['x', '>', 5]]
     assert eval_domain(domain, {'x': 6})
diff --git a/tryton/common/domain_parser.py b/tryton/common/domain_parser.py
index 77e324b..2f93858 100644
--- a/tryton/common/domain_parser.py
+++ b/tryton/common/domain_parser.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from shlex import shlex
 from types import GeneratorType
 import gettext
@@ -7,12 +7,11 @@ import locale
 import decimal
 from decimal import Decimal
 import datetime
-import time
 import io
 from collections import OrderedDict
 
-from tryton.translate import date_format
 from tryton.common import untimezoned_date, timezoned_date, datetime_strftime
+from tryton.common.datetime_ import date_parse
 from tryton.pyson import PYSONDecoder
 
 __all__ = ['DomainParser']
@@ -223,8 +222,10 @@ def test_split_target_value():
         assert split_target_value(field, value) == result
 
 
-def convert_value(field, value):
+def convert_value(field, value, context=None):
     "Convert value for field"
+    if context is None:
+        context = {}
 
     def convert_boolean():
         if isinstance(value, basestring):
@@ -259,28 +260,31 @@ def convert_value(field, value):
         return value
 
     def convert_datetime():
+        if not value:
+            return
+        format_ = context.get('date_format', '%X') + ' %x'
         try:
-            return untimezoned_date(datetime.datetime(*time.strptime(value,
-                        date_format() + ' ' + time_format(field))[:6]))
+            dt = date_parse(value, format_)
+            if dt.time() == datetime.time.min:
+                return dt
+            return untimezoned_date(dt)
         except ValueError:
-            try:
-                return datetime.datetime(*time.strptime(value,
-                        date_format())[:6])
-            except ValueError:
-                return
-        except TypeError:
             return
 
     def convert_date():
+        if not value:
+            return
+        format_ = context.get('date_format', '%x')
         try:
-            return datetime.date(*time.strptime(value, date_format())[:3])
+            return date_parse(value, format_).date()
         except (ValueError, TypeError):
             return
 
     def convert_time():
+        if not value:
+            return
         try:
-            return datetime.time(*time.strptime(value,
-                    time_format(field))[3:6])
+            return date_parse(value).time()
         except (ValueError, TypeError):
             return
 
@@ -426,8 +430,10 @@ def test_convert_time():
         assert convert_value(field, value) == result
 
 
-def format_value(field, value, target=None):
+def format_value(field, value, target=None, context=None):
     "Format value for field"
+    if context is None:
+        context = {}
 
     def format_boolean():
         return _('True') if value else _('False')
@@ -461,10 +467,10 @@ def format_value(field, value, target=None):
     def format_datetime():
         if not value:
             return ''
-        format_ = date_format() + ' ' + time_format(field)
+        format_ = context.get('date_format', '%x') + ' ' + time_format(field)
         if (not isinstance(value, datetime.datetime)
                 or value.time() == datetime.time.min):
-            format_ = date_format()
+            format_ = '%x'
             time = value
         else:
             time = timezoned_date(value)
@@ -473,7 +479,8 @@ def format_value(field, value, target=None):
     def format_date():
         if not value:
             return ''
-        return datetime_strftime(value, date_format())
+        format_ = context.get('date_format', '%x')
+        return datetime_strftime(value, format_)
 
     def format_time():
         if not value:
@@ -498,7 +505,7 @@ def format_value(field, value, target=None):
         'many2one': format_many2one,
         }
     if isinstance(value, (list, tuple)):
-        return ';'.join(format_value(field, x) for x in value)
+        return ';'.join(format_value(field, x, context=context) for x in value)
     return quote(converts.get(field['type'],
             lambda: value if value is not None else '')())
 
@@ -592,10 +599,10 @@ def test_format_datetime():
         'format': '"%H:%M:%S"',
         }
     for value, result in (
-            (datetime.date(2002, 12, 4), '12/04/2002'),
-            (datetime.datetime(2002, 12, 4), '12/04/2002'),
+            (datetime.date(2002, 12, 4), '12/04/02'),
+            (datetime.datetime(2002, 12, 4), '12/04/02'),
             (untimezoned_date(datetime.datetime(2002, 12, 4, 12, 30)),
-                '"12/04/2002 12:30:00"'),
+                '"12/04/02 12:30:00"'),
             (False, ''),
             (None, ''),
             ):
@@ -607,7 +614,7 @@ def test_format_date():
         'type': 'date',
         }
     for value, result in (
-            (datetime.date(2002, 12, 4), '12/04/2002'),
+            (datetime.date(2002, 12, 4), '12/04/02'),
             (False, ''),
             (None, ''),
             ):
@@ -778,6 +785,8 @@ def test_operatorize():
     a = ('a', 'a', 'a')
     b = ('b', 'b', 'b')
     c = ('c', 'c', 'c')
+    null_ = ('d', None, 'x')
+    double_null_ = ('e', None, None)
     for value, result in (
             (['a'], ['a']),
             (['a', 'or', 'b'], [['OR', 'a', 'b']]),
@@ -803,6 +812,8 @@ def test_operatorize():
             (['a', iter(['b', 'or', 'c'])], ['a', [['OR', 'b', 'c']]]),
             ([a, iter([b, ('or',), c])], [a, [['OR', b, c]]]),
             (['a', iter(['b', 'or'])], ['a', [['OR', 'b']]]),
+            ([null_], [null_]),
+            ([null_, 'or', double_null_], [['OR', null_, double_null_]]),
             ):
         assert rlist(operatorize(iter(value))) == result
 
@@ -810,13 +821,14 @@ def test_operatorize():
 class DomainParser(object):
     "A parser for domain"
 
-    def __init__(self, fields):
+    def __init__(self, fields, context=None):
         self.fields = OrderedDict((name, f)
             for name, f in fields.iteritems()
             if f.get('searchable', True))
         self.strings = dict((f['string'].lower(), f)
             for f in fields.itervalues()
             if f.get('searchable', True))
+        self.context = context
 
     def parse(self, input_):
         "Return domain for the input string"
@@ -898,7 +910,7 @@ class DomainParser(object):
                     operator = '!'
                 else:
                     operator = ''
-            formatted_value = format_value(field, value, target)
+            formatted_value = format_value(field, value, target, self.context)
             if (operator in OPERATORS and
                     field['type'] in ('char', 'text', 'selection')
                     and value == ''):
@@ -1093,20 +1105,21 @@ class DomainParser(object):
                             'datetime', 'date', 'time'):
                         if value and '..' in value:
                             lvalue, rvalue = value.split('..', 1)
-                            lvalue = convert_value(field, lvalue)
-                            rvalue = convert_value(field, rvalue)
+                            lvalue = convert_value(field, lvalue, self.context)
+                            rvalue = convert_value(field, rvalue, self.context)
                             yield iter([
                                     (field_name, '>=', lvalue),
                                     (field_name, '<=', rvalue),
                                     ])
                             continue
                     if isinstance(value, list):
-                        value = [convert_value(field, v) for v in value]
+                        value = [convert_value(field, v, self.context)
+                            for v in value]
                         if field['type'] in ('many2one', 'one2many',
                                 'many2many', 'one2one'):
                             field_name += '.rec_name'
                     else:
-                        value = convert_value(field, value)
+                        value = convert_value(field, value, self.context)
                     if 'like' in operator:
                         value = likify(value)
                     if target:
@@ -1199,7 +1212,7 @@ def test_string():
     assert dom.string([]) == ''
     assert dom.string([('surname', 'ilike', '%Doe%')]) == '"(Sur)Name": Doe'
     assert dom.string([('date', '>=', datetime.date(2012, 10, 24))]) == \
-        'Date: >=10/24/2012'
+        'Date: >=10/24/12'
     assert dom.string([('selection', '=', '')]) == 'Selection: '
     assert dom.string([('selection', '=', None)]) == 'Selection: '
     assert dom.string([('selection', '!=', '')]) == 'Selection: !""'
diff --git a/tryton/common/entry_position.py b/tryton/common/entry_position.py
index 5f92c36..c277132 100644
--- a/tryton/common/entry_position.py
+++ b/tryton/common/entry_position.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import string
 
 import gtk
diff --git a/tryton/common/environment.py b/tryton/common/environment.py
index b97e738..042ab87 100644
--- a/tryton/common/environment.py
+++ b/tryton/common/environment.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 
 class EvalEnvironment(dict):
diff --git a/tryton/common/focus.py b/tryton/common/focus.py
index 9d54df1..4c8371b 100644
--- a/tryton/common/focus.py
+++ b/tryton/common/focus.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from functools import cmp_to_key
 
 import gtk
@@ -41,6 +41,15 @@ def tab_compare(a, b):
         return (y1 > y2) - (y1 < y2)
 
 
+def get_focus_chain(widget):
+    focus_chain = widget.get_focus_chain()
+    # If the focus_chain is not defined on the widget then we will simply
+    # search into all its children widgets
+    return (focus_chain
+        if focus_chain is not None
+        else sorted(widget.get_children(), key=cmp_to_key(tab_compare)))
+
+
 def find_focusable_child(widget):
     if not widget.get_visible():
         return None
@@ -48,13 +57,7 @@ def find_focusable_child(widget):
         return widget
     if not hasattr(widget, 'get_children'):
         return None
-    focus_chain = widget.get_focus_chain()
-    # If the focus_chain is not defined on the widget then we will simply
-    # search into all its children widgets
-    widgets = (focus_chain
-        if focus_chain is not None
-        else sorted(widget.get_children(), key=cmp_to_key(tab_compare)))
-    for child in widgets:
+    for child in get_focus_chain(widget):
         focusable = find_focusable_child(child)
         if focusable:
             return focusable
@@ -79,3 +82,13 @@ def next_focus_widget(widget):
             return focus_widget
         else:
             return next_focus_widget(widget.parent)
+
+
+def find_first_focus_widget(ancestor, widgets):
+    "Return the widget from widgets which should have first the focus"
+    if len(widgets) == 1:
+        return widgets[0]
+    for child in get_focus_chain(ancestor):
+        common = [w for w in widgets if w.is_ancestor(child)]
+        if common:
+            return find_first_focus_widget(child, common)
diff --git a/tryton/common/placeholder_entry.py b/tryton/common/placeholder_entry.py
index bea4fae..427fe01 100644
--- a/tryton/common/placeholder_entry.py
+++ b/tryton/common/placeholder_entry.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 
 
diff --git a/tryton/common/popup_menu.py b/tryton/common/popup_menu.py
index 08e465e..d577aea 100644
--- a/tryton/common/popup_menu.py
+++ b/tryton/common/popup_menu.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 from tryton.common import RPCExecute, RPCException
diff --git a/tryton/common/selection.py b/tryton/common/selection.py
index fd0678c..720c97e 100644
--- a/tryton/common/selection.py
+++ b/tryton/common/selection.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import operator
 import math
 
diff --git a/tryton/common/timedelta.py b/tryton/common/timedelta.py
new file mode 100644
index 0000000..f5afdb7
--- /dev/null
+++ b/tryton/common/timedelta.py
@@ -0,0 +1,144 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from __future__ import division
+import datetime
+import gettext
+import locale
+import operator
+
+__all__ = ['format', 'parse']
+
+_ = gettext.gettext
+
+DEFAULT_CONVERTER = {
+    's': 1,
+    }
+DEFAULT_CONVERTER['m'] = DEFAULT_CONVERTER['s'] * 60
+DEFAULT_CONVERTER['h'] = DEFAULT_CONVERTER['m'] * 60
+DEFAULT_CONVERTER['d'] = DEFAULT_CONVERTER['h'] * 24
+DEFAULT_CONVERTER['w'] = DEFAULT_CONVERTER['d'] * 7
+DEFAULT_CONVERTER['M'] = DEFAULT_CONVERTER['w'] * 4
+DEFAULT_CONVERTER['Y'] = DEFAULT_CONVERTER['d'] * 365
+
+
+def _get_separators():
+    return {
+        'Y': _('Y'),
+        'M': _('M'),
+        'w': _('w'),
+        'd': _('d'),
+        'h': _('h'),
+        'm': _('m'),
+        's': _('s'),
+        }
+
+
+def format(value, converter=None):
+    'Convert timedelta to text'
+    if value is None:
+        return ''
+    if not converter:
+        converter = DEFAULT_CONVERTER
+
+    text = []
+    value = value.total_seconds()
+    sign = ''
+    if value < 0:
+        sign = '-'
+    value = abs(value)
+    converter = sorted(converter.items(), key=operator.itemgetter(1),
+        reverse=True)
+    values = []
+    for k, v in converter:
+        part = value // v
+        value -= part * v
+        values.append(part)
+
+    for (k, _), v in zip(converter[:-3], values):
+        if v:
+            text.append(locale.format('%d', v, True) + _get_separators()[k])
+    if any(values[-3:]) or not text:
+        time = '%02d:%02d' % tuple(values[-3:-1])
+        if values[-1] or value:
+            time += ':%02d' % values[-1]
+        text.append(time)
+    text = sign + ' '.join(text)
+    if value:
+        if not any(values[-3:]):
+            # Add space if no time
+            text += ' '
+        text += ('%.6f' % value)[1:]
+    return text
+
+
+def parse(text, converter=None):
+    if not text:
+        return
+    if not converter:
+        converter = DEFAULT_CONVERTER
+
+    for separator in _get_separators().values():
+        text = text.replace(separator, separator + ' ')
+
+    seconds = 0
+    for part in text.split():
+        if ':' in part:
+            for t, v in zip(part.split(':'),
+                    [converter['h'], converter['m'], converter['s']]):
+                try:
+                    seconds += abs(float(t)) * v
+                except ValueError:
+                    pass
+        else:
+            for key, separator in _get_separators().items():
+                if part.endswith(separator):
+                    part = part[:-len(separator)]
+                    try:
+                        seconds += abs(int(part)) * converter[key]
+                    except ValueError:
+                        pass
+                    break
+            else:
+                try:
+                    seconds += abs(float(part))
+                except ValueError:
+                    pass
+
+    if '-' in text:
+        seconds *= -1
+    return datetime.timedelta(seconds=seconds)
+
+_tests = [
+    (None, ''),
+    (datetime.timedelta(), '00:00'),
+    (datetime.timedelta(days=3, hours=5, minutes=30), '3d 05:30'),
+    (datetime.timedelta(weeks=48), '12M'),
+    (datetime.timedelta(weeks=50), '12M 2w'),
+    (datetime.timedelta(days=365), '1Y'),
+    (datetime.timedelta(hours=2, minutes=5, seconds=10), '02:05:10'),
+    (datetime.timedelta(minutes=15, microseconds=42), '00:15:00.000042'),
+    (datetime.timedelta(days=1, microseconds=42), '1d .000042'),
+    (datetime.timedelta(seconds=-1), '-00:00:01'),
+    (datetime.timedelta(days=-1, hours=-5, minutes=-30), '-1d 05:30'),
+    ]
+
+
+def test_format():
+    for timedelta, text in _tests:
+        assert format(timedelta) == text
+
+
+_tests_parse = [
+    (datetime.timedelta(), '  '),
+    (datetime.timedelta(), 'foo'),
+    (datetime.timedelta(), '1.5d'),
+    (datetime.timedelta(days=-2), '1d -1d'),
+    (datetime.timedelta(hours=1, minutes=5, seconds=10), '1:5:10:42'),
+    (datetime.timedelta(hours=2), '1: 1:'),
+    (datetime.timedelta(hours=.25), ':15'),
+    ]
+
+
+def test_parse():
+    for timedelta, text, in _tests + _tests_parse:
+        assert parse(text) == timedelta
diff --git a/tryton/config.py b/tryton/config.py
index be3c9ed..a58bce9 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -1,11 +1,10 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Options"
 import ConfigParser
 import optparse
 import os
 import gettext
-from version import VERSION
 import logging
 import sys
 import locale
@@ -13,6 +12,7 @@ import gtk
 import site
 
 from tryton.exceptions import TrytonError
+from tryton import __version__
 
 _ = gettext.gettext
 
@@ -26,9 +26,9 @@ def get_home_dir():
 def get_config_dir():
     if os.name == 'nt':
         return os.path.join(os.environ['APPDATA'], '.config', 'tryton',
-                VERSION.rsplit('.', 1)[0])
+                __version__.rsplit('.', 1)[0])
     return os.path.join(os.environ['HOME'], '.config', 'tryton',
-            VERSION.rsplit('.', 1)[0])
+            __version__.rsplit('.', 1)[0])
 if not os.path.isdir(get_config_dir()):
     os.makedirs(get_config_dir(), 0700)
 
@@ -37,10 +37,9 @@ class ConfigManager(object):
     "Config manager"
 
     def __init__(self):
-        short_version = '.'.join(VERSION.split('.', 2)[:2])
+        short_version = '.'.join(__version__.split('.', 2)[:2])
         demo_server = 'demo%s.tryton.org' % short_version
         demo_database = 'demo%s' % short_version
-        form_tab = 'left' if os.name != 'nt' else 'top'
         self.defaults = {
             'login.profile': demo_server,
             'login.login': 'demo',
@@ -55,7 +54,6 @@ class ConfigManager(object):
             'client.default_height': 750,
             'client.modepda': False,
             'client.toolbar': 'default',
-            'client.form_tab': form_tab,
             'client.maximize': False,
             'client.save_width_height': True,
             'client.save_tree_state': True,
@@ -78,7 +76,7 @@ class ConfigManager(object):
         self.arguments = []
 
     def parse(self):
-        parser = optparse.OptionParser(version=("Tryton %s" % VERSION),
+        parser = optparse.OptionParser(version=("Tryton %s" % __version__),
                 usage="Usage: %prog [options] [url]")
         parser.add_option("-c", "--config", dest="config",
                 help=_("specify alternate config file"))
diff --git a/tryton/exceptions.py b/tryton/exceptions.py
index bac5bc1..eb50b4e 100644
--- a/tryton/exceptions.py
+++ b/tryton/exceptions.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from jsonrpc import Fault
 
 TrytonServerError = Fault
diff --git a/tryton/fingerprints.py b/tryton/fingerprints.py
index 101feda..8b720ed 100644
--- a/tryton/fingerprints.py
+++ b/tryton/fingerprints.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import os
 from tryton.config import get_config_dir
 
diff --git a/tryton/gui/__init__.py b/tryton/gui/__init__.py
index 5115afa..ed2a492 100644
--- a/tryton/gui/__init__.py
+++ b/tryton/gui/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from main import *
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index fcdaec0..03178e2 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import os
 import sys
@@ -43,9 +43,9 @@ from tryton.common.placeholder_entry import PlaceholderEntry
 import pango
 import time
 try:
-    import gtk_osxapplication
+    import gtkosx_application
 except ImportError:
-    gtk_osxapplication = None
+    gtkosx_application = None
 try:
     import gtkspell
 except ImportError:
@@ -84,8 +84,8 @@ class Main(object):
         self.window.add_accel_group(self.accel_group)
 
         self.macapp = None
-        if gtk_osxapplication is not None:
-            self.macapp = gtk_osxapplication.OSXApplication()
+        if gtkosx_application is not None:
+            self.macapp = gtkosx_application.Application()
             self.macapp.connect("NSApplicationBlockTermination",
                 self.sig_close)
 
@@ -94,9 +94,9 @@ class Main(object):
         gtk.accel_map_add_entry('<tryton>/File/Quit', gtk.keysyms.Q,
                 gtk.gdk.CONTROL_MASK)
         if sys.platform != 'darwin':
-            gtk.accel_map_add_entry('<tryton>/User/Menu Reload', gtk.keysyms.T,
+            gtk.accel_map_add_entry('<tryton>/User/Reload Menu', gtk.keysyms.T,
                     gtk.gdk.MOD1_MASK)
-        gtk.accel_map_add_entry('<tryton>/User/Menu Toggle', gtk.keysyms.T,
+        gtk.accel_map_add_entry('<tryton>/User/Toggle Menu', gtk.keysyms.T,
                 gtk.gdk.CONTROL_MASK)
         gtk.accel_map_add_entry('<tryton>/User/Global Search', gtk.keysyms.K,
             gtk.gdk.CONTROL_MASK)
@@ -283,7 +283,6 @@ class Main(object):
 
     def set_global_search(self):
         self.global_search_entry = PlaceholderEntry()
-        self.global_search_entry.set_placeholder_text(_('Search'))
         global_search_completion = gtk.EntryCompletion()
         global_search_completion.set_match_func(lambda *a: True)
         global_search_completion.set_model(gtk.ListStore(
@@ -643,52 +642,6 @@ class Main(object):
             if CONFIG['client.spellcheck']:
                 checkmenuitem_spellcheck.set_active(True)
 
-        menuitem_tab = gtk.MenuItem(_('Tabs Position'))
-        menu_form.add(menuitem_tab)
-
-        menu_tab = gtk.Menu()
-        menu_tab.set_accel_group(self.accel_group)
-        menu_tab.set_accel_path('<tryton>/Options/Tabs Position')
-        menuitem_tab.set_submenu(menu_tab)
-
-        radiomenuitem_top = gtk.RadioMenuItem(label=_('Top'))
-        radiomenuitem_top.connect('activate',
-                lambda x: CONFIG.__setitem__('client.form_tab', 'top'))
-        radiomenuitem_top.set_accel_path('<tryton>/Options/Tabs Position/Top')
-        menu_tab.add(radiomenuitem_top)
-        if (CONFIG['client.form_tab'] or 'left') == 'top':
-            radiomenuitem_top.set_active(True)
-
-        radiomenuitem_left = gtk.RadioMenuItem(group=radiomenuitem_top,
-                label=_('Left'))
-        radiomenuitem_left.connect('activate',
-                lambda x: CONFIG.__setitem__('client.form_tab', 'left'))
-        radiomenuitem_left.set_accel_path(
-            '<tryton>/Options/Tabs Position/Left')
-        menu_tab.add(radiomenuitem_left)
-        if (CONFIG['client.form_tab'] or 'left') == 'left':
-            radiomenuitem_left.set_active(True)
-
-        radiomenuitem_right = gtk.RadioMenuItem(group=radiomenuitem_top,
-                label=_('Right'))
-        radiomenuitem_right.connect('activate',
-                lambda x: CONFIG.__setitem__('client.form_tab', 'right'))
-        radiomenuitem_right.set_accel_path(
-            '<tryton>/Options/Tabs Position/Right')
-        menu_tab.add(radiomenuitem_right)
-        if (CONFIG['client.form_tab'] or 'left') == 'right':
-            radiomenuitem_right.set_active(True)
-
-        radiomenuitem_bottom = gtk.RadioMenuItem(group=radiomenuitem_top,
-                label=_('Bottom'))
-        radiomenuitem_bottom.connect('activate',
-                lambda x: CONFIG.__setitem__('client.form_tab', 'bottom'))
-        radiomenuitem_bottom.set_accel_path(
-            '<tryton>/Options/Tabs Position/Bottom')
-        menu_tab.add(radiomenuitem_bottom)
-        if (CONFIG['client.form_tab'] or 'left') == 'bottom':
-            radiomenuitem_bottom.set_active(True)
-
         imagemenuitem_win_prev = gtk.ImageMenuItem(_('_Previous Tab'),
             self.accel_group)
         imagemenuitem_win_prev.connect('activate', self.sig_win_prev)
@@ -892,6 +845,8 @@ class Main(object):
                     self.set_menubar()
                     self.favorite_unset()
                 CONFIG['client.lang'] = prefs['language']
+            # Set placeholder after language is set to get correct translation
+            self.global_search_entry.set_placeholder_text(_('Search'))
             CONFIG.save()
 
         def _get_preferences():
@@ -1438,7 +1393,7 @@ class Main(object):
         hostname, port = map(urllib.unquote,
             (urlp.netloc.split(':', 1) + [CONFIG.defaults['login.port']])[:2])
         database, path = map(urllib.unquote,
-            (urlp.path[1:].split('/', 1) + [None])[:2])
+            (urlp.path[1:].split('/', 1) + [''])[:2])
         if (not path or
                 hostname != rpc._HOST or
                 int(port) != rpc._PORT or
diff --git a/tryton/gui/window/__init__.py b/tryton/gui/window/__init__.py
index d0d616f..359c96f 100644
--- a/tryton/gui/window/__init__.py
+++ b/tryton/gui/window/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from window import *
 from email import *
 from limit import *
diff --git a/tryton/gui/window/about.py b/tryton/gui/window/about.py
index 8757d71..0f4cec5 100644
--- a/tryton/gui/window/about.py
+++ b/tryton/gui/window/about.py
@@ -1,12 +1,12 @@
 # -*- coding: utf-8 -*-
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import webbrowser
 from tryton.config import TRYTON_ICON
-from tryton.version import VERSION, WEBSITE
 from tryton.common import get_toplevel_window
+from tryton import __version__
 
 COPYRIGHT = '''\
 Copyright (C) 2010-2011 Nicolas Évrard.
@@ -719,10 +719,10 @@ class About(object):
         self.win = gtk.AboutDialog()
         self.win.set_transient_for(parent)
         self.win.set_name('Tryton')
-        self.win.set_version(VERSION)
+        self.win.set_version(__version__)
         self.win.set_copyright(COPYRIGHT)
         self.win.set_license(LICENSE)
-        self.win.set_website(WEBSITE)
+        self.win.set_website('http://www.tryton.org/')
         self.win.set_authors(AUTHORS)
         self.win.set_logo(TRYTON_ICON)
 
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index ea32637..72aa578 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Attachment"
 import os
 import urllib
diff --git a/tryton/gui/window/board.py b/tryton/gui/window/board.py
index 406e02c..bc91bfe 100644
--- a/tryton/gui/window/board.py
+++ b/tryton/gui/window/board.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Board"
 import gettext
 from tryton.signal_event import SignalEvent
diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py
index 6dd4ee3..a981377 100644
--- a/tryton/gui/window/dbcreate.py
+++ b/tryton/gui/window/dbcreate.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import gettext
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index 5a6cae6..f181bba 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import ConfigParser
 import gtk
@@ -7,7 +7,7 @@ import gobject
 import os
 import gettext
 
-from tryton.version import VERSION
+from tryton import __version__
 import tryton.common as common
 from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR, get_config_dir
 import tryton.rpc as rpc
@@ -67,7 +67,7 @@ class DBListEditor(object):
         table = gtk.Table(4, 2, homogeneous=False)
         table.set_row_spacings(3)
         table.set_col_spacings(3)
-        host = gtk.Label(_(u'Hostname:'))
+        host = gtk.Label(_(u'Host:'))
         host.set_alignment(1, 0.5)
         host.set_padding(3, 3)
         self.host_entry = gtk.Entry()
@@ -76,16 +76,6 @@ class DBListEditor(object):
         self.host_entry.set_activates_default(True)
         table.attach(host, 0, 1, 1, 2, yoptions=False, xoptions=gtk.FILL)
         table.attach(self.host_entry, 1, 2, 1, 2, yoptions=False)
-        port = gtk.Label(_(u'Port:'))
-        port.set_alignment(1, 0.5)
-        port.set_padding(3, 3)
-        self.port_entry = gtk.Entry()
-        self.port_entry.connect('focus-out-event', self.display_dbwidget)
-        self.port_entry.connect('changed', self.update_profiles, 'port')
-        self.port_entry.connect('insert_text', self.insert_text_port)
-        self.port_entry.set_activates_default(True)
-        table.attach(port, 0, 1, 2, 3, yoptions=False, xoptions=gtk.FILL)
-        table.attach(self.port_entry, 1, 2, 2, 3, yoptions=False)
         database = gtk.Label(_(u'Database:'))
         database.set_alignment(1, 0.5)
         database.set_padding(3, 3)
@@ -123,8 +113,8 @@ class DBListEditor(object):
             cwidth, cheight = child.size_request()
             width, height = max(width, cwidth), max(height, cheight)
         db_box.set_size_request(width, height)
-        table.attach(database, 0, 1, 3, 4, yoptions=False, xoptions=gtk.FILL)
-        table.attach(db_box, 1, 2, 3, 4, yoptions=False)
+        table.attach(database, 0, 1, 2, 3, yoptions=False, xoptions=gtk.FILL)
+        table.attach(db_box, 1, 2, 2, 3, yoptions=False)
         username = gtk.Label(_(u'Username:'))
         username.set_alignment(1, 0.5)
         username.set_padding(3, 3)
@@ -132,8 +122,8 @@ class DBListEditor(object):
         self.username_entry.connect('changed', self.update_profiles,
             'username')
         self.username_entry.set_activates_default(True)
-        table.attach(username, 0, 1, 4, 5, yoptions=False, xoptions=gtk.FILL)
-        table.attach(self.username_entry, 1, 2, 4, 5, yoptions=False)
+        table.attach(username, 0, 1, 3, 4, yoptions=False, xoptions=gtk.FILL)
+        table.attach(self.username_entry, 1, 2, 3, 4, yoptions=False)
         hpaned.add2(table)
         hpaned.set_position(250)
 
@@ -171,13 +161,10 @@ class DBListEditor(object):
         return {'name': model[selection][0], 'iter': selection}
 
     def clear_entries(self):
-        for entryname in ('host', 'port', 'database', 'username'):
+        for entryname in ('host', 'database', 'username'):
             entry = getattr(self, '%s_entry' % entryname)
             entry.handler_block_by_func(self.update_profiles)
-            if entryname == 'port':
-                entry.set_text('8000')
-            else:
-                entry.set_text('')
+            entry.set_text('')
             entry.handler_unblock_by_func(self.update_profiles)
         self.current_database = None
         self.database_combo.set_active(-1)
@@ -218,7 +205,7 @@ class DBListEditor(object):
             selection = treeview.get_selection()
             selection.select_iter(self.old_profile['iter'])
             return
-        fields = ('host', 'port', 'database', 'username')
+        fields = ('host', 'database', 'username')
         for field in fields:
             entry = getattr(self, '%s_entry' % field)
             try:
@@ -274,14 +261,15 @@ class DBListEditor(object):
         if not selection:
             return
         active = all(self.profiles.has_option(profile_name, option)
-            for option in ('host', 'port', 'database'))
+            for option in ('host', 'database'))
         model[selection][1] = active
 
     def display_dbwidget(self, entry, event, dbname=None):
-        host = self.host_entry.get_text()
-        port = self.port_entry.get_text()
-        if not (host and port):
+        netloc = self.host_entry.get_text()
+        host = common.get_hostname(netloc)
+        if not host:
             return
+        port = common.get_port(netloc)
         if (host, port, self.current_profile['name']) == self.db_cache:
             return
         if self.updating_db:
@@ -289,14 +277,13 @@ class DBListEditor(object):
         if dbname is None:
             dbname = self.current_database
 
-        dbprogress = common.DBProgress(host, int(port))
+        dbprogress = common.DBProgress(host, port)
         self.hide_database_info()
         self.add_button.set_sensitive(False)
         self.remove_button.set_sensitive(False)
         self.ok_button.set_sensitive(False)
         self.cell.set_property('editable', False)
         self.host_entry.set_sensitive(False)
-        self.port_entry.set_sensitive(False)
         self.updating_db = True
 
         def callback(dbs):
@@ -323,7 +310,6 @@ class DBListEditor(object):
             self.ok_button.set_sensitive(True)
             self.cell.set_property('editable', True)
             self.host_entry.set_sensitive(True)
-            self.port_entry.set_sensitive(True)
 
         dbprogress.update(self.database_combo,
             self.database_progressbar, callback, dbname)
@@ -331,8 +317,9 @@ class DBListEditor(object):
     def db_create(self, button):
         if not self.current_profile['name']:
             return
-        host = self.host_entry.get_text()
-        port = int(self.port_entry.get_text())
+        netloc = self.host_entry.get_text()
+        host = common.get_hostname(netloc)
+        port = common.get_port(netloc)
         dia = DBCreate(host, port)
         dbname = dia.run()
         self.db_cache = None
@@ -473,7 +460,7 @@ class DBLogin(object):
         self.profile_cfg = os.path.join(get_config_dir(), 'profiles.cfg')
         self.profiles = ConfigParser.SafeConfigParser({'port': '8000'})
         if not os.path.exists(self.profile_cfg):
-            short_version = '.'.join(VERSION.split('.', 2)[:2])
+            short_version = '.'.join(__version__.split('.', 2)[:2])
             name = 'demo%s.tryton.org' % short_version
             self.profiles.add_section(name)
             self.profiles.set(name, 'host', name)
@@ -516,10 +503,7 @@ class DBLogin(object):
         except ConfigParser.NoOptionError:
             username = ''
         host = self.profiles.get(profile, 'host')
-        if ':' in host:
-            host = '[%s]' % host
-        port = self.profiles.get(profile, 'port')
-        self.entry_host.set_text('%s:%s' % (host, port))
+        self.entry_host.set_text('%s' % host)
         self.entry_database.set_text(self.profiles.get(profile, 'database'))
         if username:
             self.entry_login.set_text(username)
@@ -529,19 +513,17 @@ class DBLogin(object):
     def clear_profile_combo(self, entry, event):
         netloc = self.entry_host.get_text()
         host = common.get_hostname(netloc)
-        try:
-            port = str(common.get_port(netloc))
-        except ValueError:
-            host = ''
-            port = ''
+        port = common.get_port(netloc)
         database = self.entry_database.get_text().strip()
         for idx, profile_info in enumerate(self.profile_store):
             if not profile_info[1]:
                 continue
             profile = profile_info[0]
-            if (host == self.profiles.get(profile, 'host')
-                    and port == self.profiles.get(profile, 'port')
-                    and database == self.profiles.get(profile, 'database')):
+            profile_host = self.profiles.get(profile, 'host')
+            profile_db = self.profiles.get(profile, 'database')
+            if (host == common.get_hostname(profile_host)
+                    and port == common.get_port(profile_host)
+                    and database == profile_db):
                 break
         else:
             idx = -1
@@ -606,10 +588,7 @@ class DBLogin(object):
                 CONFIG['login.profile'] = profile
             netloc = self.entry_host.get_text()
             host = common.get_hostname(netloc)
-            try:
-                port = common.get_port(netloc)
-            except ValueError:
-                continue
+            port = common.get_port(netloc)
             try:
                 if not common.test_server_version(host, port):
                     common.warning('',
diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py
index 156435b..daad2e4 100644
--- a/tryton/gui/window/dbrestore.py
+++ b/tryton/gui/window/dbrestore.py
@@ -181,7 +181,7 @@ class DBRestore(object):
             passwd = False
             url = False
             update = False
-            #TODO: This needs to be unified with the other widgets
+            # TODO: This needs to be unified with the other widgets
             self.button_server_change.connect_after('clicked',
                 lambda a, b: common.request_server(b),
                 self.entry_server_url)
diff --git a/tryton/gui/window/email.py b/tryton/gui/window/email.py
index d9e6d1d..7475dcc 100644
--- a/tryton/gui/window/email.py
+++ b/tryton/gui/window/email.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import gtk
 import gettext
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index 0b1fce0..6fcab91 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Form"
 import gettext
 import gtk
@@ -15,7 +15,6 @@ from tryton.gui.window.revision import Revision
 from tryton.signal_event import SignalEvent
 from tryton.common import message, sur, sur_3b, COLOR_SCHEMES, timezoned_date
 import tryton.common as common
-from tryton.translate import date_format
 from tryton.common import RPCExecute, RPCException
 from tryton.common.datetime_strftime import datetime_strftime
 from tryton import plugins
@@ -253,9 +252,8 @@ class Form(SignalEvent, TabContent):
                 value = str(line.get(key, False) or '/')
                 if line.get(key, False) \
                         and key in ('create_date', 'write_date'):
-                    display_format = date_format() + ' %H:%M:%S'
                     date = timezoned_date(line[key])
-                    value = common.datetime_strftime(date, display_format)
+                    value = common.datetime_strftime(date, '%X')
                 message_str += val + ' ' + value + '\n'
         message_str += _('Model:') + ' ' + self.model
         message(message_str)
@@ -272,7 +270,9 @@ class Form(SignalEvent, TabContent):
         except RPCException:
             return
         revision = self.screen.context.get('_datetime')
-        revision = Revision(revisions, revision).run()
+        format_ = self.screen.context.get('date_format', '%x')
+        format_ += ' %X.%f'
+        revision = Revision(revisions, revision, format_).run()
         # Prevent too old revision in form view
         if (self.screen.current_view.view_type == 'form'
                 and revision
@@ -294,7 +294,8 @@ class Form(SignalEvent, TabContent):
     def update_revision(self):
         revision = self.screen.context.get('_datetime')
         if revision:
-            format_ = date_format() + ' %H:%M:%S.%f'
+            format_ = self.screen.context.get('date_format', '%x')
+            format_ += ' %X.%f'
             revision = datetime_strftime(revision, format_)
             self.title.set_label('%s @ %s' % (self.name, revision))
         else:
diff --git a/tryton/gui/window/limit.py b/tryton/gui/window/limit.py
index af4797a..66779bd 100644
--- a/tryton/gui/window/limit.py
+++ b/tryton/gui/window/limit.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import sys
 import gtk
 import gettext
diff --git a/tryton/gui/window/nomodal.py b/tryton/gui/window/nomodal.py
index 36c4310..1368d3a 100644
--- a/tryton/gui/window/nomodal.py
+++ b/tryton/gui/window/nomodal.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 
 import tryton.common as common
diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py
index 10050a7..d81f789 100644
--- a/tryton/gui/window/preference.py
+++ b/tryton/gui/window/preference.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Preference"
 import gettext
 import gtk
diff --git a/tryton/gui/window/revision.py b/tryton/gui/window/revision.py
index ec371b8..483696d 100644
--- a/tryton/gui/window/revision.py
+++ b/tryton/gui/window/revision.py
@@ -1,13 +1,12 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 
 from tryton.config import TRYTON_ICON
 from tryton.common import get_toplevel_window
-from tryton.common.date_widget import DateEntry
 from tryton.common.datetime_strftime import datetime_strftime
-from tryton.translate import date_format
+from tryton.common.datetime_ import date_parse
 
 _ = gettext.gettext
 
@@ -15,7 +14,7 @@ _ = gettext.gettext
 class Revision(object):
     'Ask revision'
 
-    def __init__(self, revisions, revision=None):
+    def __init__(self, revisions, revision=None, format_='%x %X.%f'):
         self.parent = get_toplevel_window()
         self.win = gtk.Dialog(_('Revision'), self.parent,
             gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
@@ -30,39 +29,74 @@ class Revision(object):
         self.win.vbox.pack_start(gtk.HSeparator())
         hbox = gtk.HBox(spacing=3)
         hbox.pack_start(gtk.Label(_('Revision:')), expand=True, fill=True)
-        format_ = date_format() + ' %H:%M:%S.%f'
-        self.entry = DateEntry(format_)
-        if revision:
-            self.entry.set_text(datetime_strftime(revision, format_))
         list_store = gtk.ListStore(str, str)
-        list_store.append(('', ''))
-        for revision, id_, name in revisions:
-            list_store.append((datetime_strftime(revision, format_), name))
         combobox = gtk.ComboBoxEntry(list_store)
-        combobox.add(self.entry)
+        self.entry = combobox.child
+        self.entry.connect('focus-out-event', self.focus_out)
+        self.entry.connect('activate', self.activate)
+        combobox.connect('changed', self.changed)
+        self.entry.set_property('activates_default', True)
+        self._format = format_
+        if revision:
+            self.entry.set_text(datetime_strftime(revision, self._format))
+            self._value = revision
+            active = -1
+        else:
+            self._value = None
+            active = 0
+        list_store.append(('', ''))
+        for i, (rev, id_, name) in enumerate(revisions, 1):
+            list_store.append((datetime_strftime(rev, self._format), name))
+            if rev == revision:
+                active = i
+        combobox.set_active(active)
         cell = gtk.CellRendererText()
         combobox.pack_start(cell, True)
         combobox.add_attribute(cell, 'text', 1)
         hbox.pack_start(combobox, expand=True, fill=True)
         combobox.set_entry_text_column(0)
-        combobox.connect('changed', self.changed)
-        self.entry.set_property('activates_default', True)
         self.win.vbox.pack_start(hbox, expand=True, fill=True)
         self.win.show_all()
 
+    def focus_out(self, entry, event):
+        self.parse()
+        self.update()
+        return False
+
+    def activate(self, entry):
+        self.parse()
+        self.update()
+        return False
+
     def changed(self, combobox):
-        # set_text must be called because DateEntry doesn't work correctly with
-        # the default insert/delete text behavior of combobox
-        model = combobox.get_model()
-        idx = combobox.get_active()
-        if idx >= 0:
-            self.entry.set_text(model[idx][0])
+        # "changed" signal is also triggered by text editing
+        # so only parse when a row is active
+        if combobox.get_active_iter():
+            self.parse()
+            self.update()
+        return False
+
+    def parse(self):
+        text = self.entry.get_text()
+        value = None
+        if text:
+            try:
+                value = date_parse(text, self._format)
+            except ValueError:
+                pass
+        self._value = value
+
+    def update(self):
+        if not self._value:
+            self.entry.set_text('')
+        else:
+            self.entry.set_text(datetime_strftime(self._value, self._format))
 
     def run(self):
         response = self.win.run()
         revision = None
         if response == gtk.RESPONSE_OK:
-            revision = self.entry.date_get()
+            revision = self._value
         self.parent.present()
         self.win.destroy()
         return revision
diff --git a/tryton/gui/window/shortcuts.py b/tryton/gui/window/shortcuts.py
index d7687fb..83298b1 100644
--- a/tryton/gui/window/shortcuts.py
+++ b/tryton/gui/window/shortcuts.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level
-#of this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import gtk
 import gettext
diff --git a/tryton/gui/window/tabcontent.py b/tryton/gui/window/tabcontent.py
index 401c0dc..780704e 100644
--- a/tryton/gui/window/tabcontent.py
+++ b/tryton/gui/window/tabcontent.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import gettext
 import gtk
diff --git a/tryton/gui/window/tips.py b/tryton/gui/window/tips.py
index e6528fa..cb414ef 100644
--- a/tryton/gui/window/tips.py
+++ b/tryton/gui/window/tips.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import os
@@ -18,8 +18,7 @@ class Tips(object):
 
 
 '''),
-            _(
-u'''<b>Do you know Triton, one of the namesakes for our project?</b>
+            _(u'''<b>Do you know Triton, one of the namesakes for our project?</b>
 
 Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the
 largest moon of the planet Neptune, discovered on October 10, 1846
diff --git a/tryton/gui/window/view_board/__init__.py b/tryton/gui/window/view_board/__init__.py
index 1902cc2..a4789b0 100644
--- a/tryton/gui/window/view_board/__init__.py
+++ b/tryton/gui/window/view_board/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from view_board import *
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 747815d..ecc4bca 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 'Action'
 import gtk
 from tryton.gui.window.view_form.screen import Screen
diff --git a/tryton/gui/window/view_board/view_board.py b/tryton/gui/window/view_board/view_board.py
index 10d3ddb..54af38a 100644
--- a/tryton/gui/window/view_board/view_board.py
+++ b/tryton/gui/window/view_board/view_board.py
@@ -1,12 +1,11 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 
 import xml.dom.minidom
 from tryton.gui.window.view_form.view.form import Container
 from tryton.common import node_attributes, ICONFACTORY
-from tryton.config import CONFIG
 from .action import Action
 
 _ = gettext.gettext
@@ -83,36 +82,14 @@ class ViewBoard(object):
         attributes.setdefault('yfill', True)
         notebook = gtk.Notebook()
         notebook.set_scrollable(True)
-        positions = {
-            'top': gtk.POS_TOP,
-            'left': gtk.POS_LEFT,
-            'right': gtk.POS_RIGHT,
-            'bottom': gtk.POS_BOTTOM,
-            }
-        notebook.set_tab_pos(positions[CONFIG['client.form_tab']])
         container.add(notebook, attributes)
         self.parse(node, notebook)
 
     def _parse_page(self, node, notebook, attributes):
-        if CONFIG['client.form_tab'] == 'left':
-            angle = 90
-            tab_box = gtk.VBox(spacing=3)
-            image_pos, image_rotate = ('end',
-                gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE)
-        elif CONFIG['client.form_tab'] == 'right':
-            angle = -90
-            tab_box = gtk.VBox(spacing=3)
-            image_pos, image_rotate = ('start',
-                gtk.gdk.PIXBUF_ROTATE_CLOCKWISE)
-        else:
-            angle = 0
-            tab_box = gtk.HBox(spacing=3)
-            image_pos, image_rotate = ('start',
-                gtk.gdk.PIXBUF_ROTATE_NONE)
+        tab_box = gtk.HBox(spacing=3)
         if '_' not in attributes['string']:
             attributes['string'] = '_' + attributes['string']
         label = gtk.Label(attributes['string'])
-        label.set_angle(angle)
         label.set_use_underline(True)
         tab_box.pack_start(label)
 
@@ -120,13 +97,9 @@ class ViewBoard(object):
             ICONFACTORY.register_icon(attributes['icon'])
             pixbuf = tab_box.render_icon(attributes['icon'],
                 gtk.ICON_SIZE_SMALL_TOOLBAR)
-            pixbuf = pixbuf.rotate_simple(image_rotate)
             icon = gtk.Image()
             icon.set_from_pixbuf(pixbuf)
-            if image_pos == 'end':
-                tab_box.pack_end(icon)
-            else:
-                tab_box.pack_start(icon)
+            tab_box.pack_start(icon)
         tab_box.show_all()
 
         viewport = gtk.Viewport()
diff --git a/tryton/gui/window/view_form/__init__.py b/tryton/gui/window/view_form/__init__.py
index f95dc5e..fdb85fd 100644
--- a/tryton/gui/window/view_form/__init__.py
+++ b/tryton/gui/window/view_form/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import screen
diff --git a/tryton/gui/window/view_form/model/__init__.py b/tryton/gui/window/view_form/model/__init__.py
index c86640b..4effdfa 100644
--- a/tryton/gui/window/view_form/model/__init__.py
+++ b/tryton/gui/window/view_form/model/__init__.py
@@ -1,2 +1,2 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 136b48d..da2b16c 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -1,20 +1,20 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import os
 from itertools import chain
 import tempfile
 import locale
-from tryton.common import datetime_strftime, \
+from tryton.common import \
         domain_inversion, eval_domain, localize_domain, \
-        merge, inverse_leaf, concat, simplify, EvalEnvironment
+        merge, inverse_leaf, filter_leaf, concat, simplify, unique_value, \
+        EvalEnvironment
 import tryton.common as common
-import time
 import datetime
 import decimal
 from decimal import Decimal
 import math
-from tryton.translate import date_format
 from tryton.common import RPCExecute, RPCException
+import tryton.rpc as rpc
 
 
 class Field(object):
@@ -88,14 +88,12 @@ class Field(object):
         elif domain == [('id', '=', None)]:
             res = False
         else:
-            if (isinstance(domain, list)
-                    and len(domain) == 1
-                    and domain[0][1] == '='):
+            unique, leftpart, value = unique_value(domain)
+            if unique:
                 # If the inverted domain is so constraint that only one value
                 # is possible we should use it. But we must also pay attention
                 # to the fact that the original domain might be a 'OR' domain
                 # and thus not preventing the modification of fields.
-                leftpart, _, value = domain[0][:3]
                 if value is False:
                     # XXX to remove once server domains are fixed
                     value = None
@@ -202,12 +200,18 @@ class DateTimeField(Field):
     _default = None
 
     def set_client(self, record, value, force_change=False):
-        if isinstance(value, basestring):
-            try:
-                value = datetime.datetime(*time.strptime(value,
-                        date_format() + ' ' + self.time_format(record))[:6])
-            except ValueError:
-                value = self._default
+        if isinstance(value, datetime.time):
+            current_value = self.get_client(record)
+            if current_value:
+                value = datetime.datetime.combine(
+                    current_value.date(), value)
+            else:
+                value = None
+        elif value and not isinstance(value, datetime.datetime):
+            current_value = self.get_client(record)
+            if current_value:
+                value = datetime.datetime.combine(
+                    value, current_value.time())
         if value:
             value = common.untimezoned_date(value)
         super(DateTimeField, self).set_client(record, value,
@@ -216,10 +220,11 @@ class DateTimeField(Field):
     def get_client(self, record):
         value = super(DateTimeField, self).get_client(record)
         if value:
-            value = common.timezoned_date(value)
-            return datetime_strftime(value, date_format() + ' ' +
-                self.time_format(record))
-        return ''
+            return common.timezoned_date(value)
+
+    def date_format(self, record):
+        context = self.context_get(record)
+        return context.get('date_format', '%x')
 
     def time_format(self, record):
         return record.expr_eval(self.attrs['format'])
@@ -230,23 +235,15 @@ class DateField(Field):
     _default = None
 
     def set_client(self, record, value, force_change=False):
-        if isinstance(value, basestring):
-            try:
-                value = datetime.date(*time.strptime(value,
-                        date_format())[:3])
-            except ValueError:
-                value = self._default
-        elif isinstance(value, datetime.datetime):
+        if isinstance(value, datetime.datetime):
             assert(value.time() == datetime.time())
             value = value.date()
         super(DateField, self).set_client(record, value,
             force_change=force_change)
 
-    def get_client(self, record):
-        value = super(DateField, self).get_client(record)
-        if value:
-            return datetime_strftime(value, date_format())
-        return ''
+    def date_format(self, record):
+        context = self.context_get(record)
+        return context.get('date_format', '%x')
 
 
 class TimeField(Field):
@@ -254,27 +251,34 @@ class TimeField(Field):
     _default = None
 
     def set_client(self, record, value, force_change=False):
-        if isinstance(value, basestring):
-            try:
-                value = datetime.time(*time.strptime(value,
-                        self.time_format(record))[3:6])
-            except ValueError:
-                value = self._default
-        elif isinstance(value, datetime.datetime):
+        if isinstance(value, datetime.datetime):
             value = value.time()
         super(TimeField, self).set_client(record, value,
             force_change=force_change)
 
-    def get_client(self, record):
-        value = super(TimeField, self).get_client(record)
-        if value is not None:
-            return value.strftime(self.time_format(record))
-        return ''
-
     def time_format(self, record):
         return record.expr_eval(self.attrs['format'])
 
 
+class TimeDeltaField(Field):
+
+    _default = None
+
+    def converter(self, record):
+        # TODO allow local context converter
+        return rpc.CONTEXT.get(self.attrs.get('converter'))
+
+    def set_client(self, record, value, force_change=False):
+        if isinstance(value, basestring):
+            value = common.timedelta.parse(value, self.converter(record))
+        super(TimeDeltaField, self).set_client(
+            record, value, force_change=force_change)
+
+    def get_client(self, record):
+        value = super(TimeDeltaField, self).get_client(record)
+        return common.timedelta.format(value, self.converter(record))
+
+
 class FloatField(Field):
     _default = None
     default_digits = (16, 2)
@@ -676,7 +680,7 @@ class O2MField(Field):
                 fields = {}
 
         to_remove = []
-        for record2 in record.value.get(self.name, []):
+        for record2 in record.value[self.name]:
             if not record2.id:
                 to_remove.append(record2)
         if value and value.get('remove'):
@@ -833,17 +837,32 @@ class ReferenceField(Field):
         screen_domain, attr_domain = self.domains_get(record, pre_validate)
         return screen_domain
 
+    def domain_get(self, record):
+        if record.value.get(self.name):
+            model = record.value[self.name][0]
+        else:
+            model = None
+        screen_domain, attr_domain = self.domains_get(record)
+        return concat(localize_domain(
+                filter_leaf(screen_domain, self.name, model)), attr_domain)
+
+
+class _FileCache(object):
+    def __init__(self, path):
+        self.path = path
+
 
 class BinaryField(Field):
 
     _default = None
+    cast = bytearray if bytes == str else bytes
 
     def get(self, record):
         result = record.value.get(self.name, self._default)
-        if isinstance(result, basestring):
+        if isinstance(result, _FileCache):
             try:
-                with open(result, 'rb') as fp:
-                    result = buffer(fp.read())
+                with open(result.path, 'rb') as fp:
+                    result = self.cast(fp.read())
             except IOError:
                 result = self.get_data(record)
         return result
@@ -855,7 +874,7 @@ class BinaryField(Field):
         _, filename = tempfile.mkstemp(prefix='tryton_')
         with open(filename, 'wb') as fp:
             fp.write(value or '')
-        self.set(record, filename)
+        self.set(record, _FileCache(filename))
         record.modified_fields.setdefault(self.name)
         record.signal('record-modified')
         self.sig_changed(record)
@@ -864,14 +883,15 @@ class BinaryField(Field):
 
     def get_size(self, record):
         result = record.value.get(self.name) or 0
-        if isinstance(result, basestring):
-            result = os.stat(result).st_size
-        elif isinstance(result, buffer):
+        if isinstance(result, _FileCache):
+            result = os.stat(result.path).st_size
+        elif isinstance(result, (basestring, bytes, bytearray)):
             result = len(result)
         return result
 
     def get_data(self, record):
-        if not isinstance(record.value.get(self.name), (basestring, buffer)):
+        if not isinstance(record.value.get(self.name),
+                (basestring, bytes, bytearray)):
             if record.id < 0:
                 return ''
             context = record.context_get()
@@ -883,7 +903,7 @@ class BinaryField(Field):
             _, filename = tempfile.mkstemp(prefix='tryton_')
             with open(filename, 'wb') as fp:
                 fp.write(values[self.name] or '')
-            self.set(record, filename)
+            self.set(record, _FileCache(filename))
         return self.get(record)
 
 
@@ -906,9 +926,15 @@ class DictField(Field):
         return concat(localize_domain(inverse_leaf(screen_domain)),
             attr_domain)
 
+    def date_format(self, record):
+        context = self.context_get(record)
+        return context.get('date_format', '%x')
+
+    def time_format(self, record):
+        return '%X'
+
 TYPES = {
     'char': CharField,
-    'float_time': FloatField,
     'integer': IntegerField,
     'biginteger': IntegerField,
     'float': FloatField,
@@ -922,6 +948,7 @@ TYPES = {
     'datetime': DateTimeField,
     'date': DateField,
     'time': TimeField,
+    'timedelta': TimeDeltaField,
     'one2one': O2OField,
     'binary': BinaryField,
     'dict': DictField,
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index be82c80..53c607f 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from record import Record
 from field import Field, M2OField, ReferenceField
 from tryton.signal_event import SignalEvent
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 5751903..3beed43 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import tryton.rpc as rpc
 from tryton.signal_event import SignalEvent
 import tryton.common as common
@@ -270,6 +270,7 @@ class Record(SignalEvent):
     def cancel(self):
         self._loaded.clear()
         self.modified_fields.clear()
+        self._timestamp = None
 
     def get_timestamp(self):
         result = {self.model_name + ',' + str(self.id): self._timestamp}
@@ -311,8 +312,7 @@ class Record(SignalEvent):
                             [self.id], value, context=context)
                     except RPCException:
                         return False
-            self._loaded.clear()
-            self.modified_fields = {}
+            self.cancel()
             if force_reload:
                 self.reload()
             if self.group:
diff --git a/tryton/gui/window/view_form/screen/__init__.py b/tryton/gui/window/view_form/screen/__init__.py
index 1b1fba1..a33693a 100644
--- a/tryton/gui/window/view_form/screen/__init__.py
+++ b/tryton/gui/window/view_form/screen/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from screen import *
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index be8368a..34b0562 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Screen"
 import copy
 import gobject
@@ -886,6 +886,8 @@ class Screen(SignalEvent):
         def is_active(record, button):
             if record.group.readonly or record.readonly:
                 return False
+            if button.attrs.get('type', 'class') == 'instance':
+                return False
             states = record.expr_eval(button.attrs.get('states', {}))
             return not (states.get('invisible') or states.get('readonly'))
 
@@ -902,11 +904,7 @@ class Screen(SignalEvent):
 
     def button(self, button):
         'Execute button on the selected records'
-        if button.get('confirm', False) and not sur(button['confirm']):
-            return
         self.current_view.set_value()
-        if not self.current_record.save(force_reload=False):
-            return
         fields = self.current_view.get_fields()
         for record in self.selected_records:
             domain = record.expr_eval(
@@ -917,10 +915,37 @@ class Screen(SignalEvent):
                     # Reset valid state with normal domain
                     record.validate(fields)
                 return
+        if button.get('confirm', False) and not sur(button['confirm']):
+            return
+        if button.get('type', 'class') == 'class':
+            if not self.current_record.save(force_reload=False):
+                return
+        if button.get('type', 'class') == 'class':
+            self._button_class(button)
+        else:
+            self._button_instance(button)
+
+    def _button_instance(self, button):
+        record = self.current_record
+        args = record.expr_eval(button.get('change', []))
+        values = record._get_on_change_args(args)
+        try:
+            changes = RPCExecute('model', self.model_name, button['name'],
+                values, context=self.context)
+        except RPCException:
+            return
+        record.set_on_change(changes)
+        record.signal('record-changed')
+
+    def _button_class(self, button):
         ids = [r.id for r in self.selected_records]
+        context = self.context.copy()
+        context['_timestamp'] = {}
+        for record in self.selected_records:
+            context['_timestamp'].update(record.get_timestamp())
         try:
             action = RPCExecute('model', self.model_name, button['name'],
-                ids, context=self.context)
+                ids, context=context)
         except RPCException:
             action = None
         self.reload(ids, written=True)
@@ -929,7 +954,7 @@ class Screen(SignalEvent):
         elif action:
             Action.execute(action, {
                     'model': self.model_name,
-                    'id': record.id,
+                    'id': self.current_record.id,
                     'ids': ids,
                     }, context=self.context)
 
@@ -958,6 +983,10 @@ class Screen(SignalEvent):
         elif action.startswith('switch'):
             _, view_type = action.split(None, 1)
             self.switch_view(view_type=view_type)
+        elif action == 'reload':
+            if (self.current_view.view_type in ['tree', 'graph', 'calendar']
+                    and not self.parent):
+                self.search_filter()
         elif action == 'reload menu':
             from tryton.gui import Main
             RPCContextReload(Main.get_main().sig_win_menu)
diff --git a/tryton/gui/window/view_form/view/__init__.py b/tryton/gui/window/view_form/view/__init__.py
index ef1268c..14c6d24 100644
--- a/tryton/gui/window/view_form/view/__init__.py
+++ b/tryton/gui/window/view_form/view/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from tryton.common import node_attributes
 
 
diff --git a/tryton/gui/window/view_form/view/calendar_.py b/tryton/gui/window/view_form/view/calendar_.py
index a3a8a24..f1818d5 100644
--- a/tryton/gui/window/view_form/view/calendar_.py
+++ b/tryton/gui/window/view_form/view/calendar_.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from functools import wraps
 
 import gtk
diff --git a/tryton/gui/window/view_form/view/calendar_gtk/__init__.py b/tryton/gui/window/view_form/view/calendar_gtk/__init__.py
index c86640b..4effdfa 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/__init__.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/__init__.py
@@ -1,2 +1,2 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
diff --git a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
index a30e262..c408ef9 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import calendar
 import datetime
 import goocalendar
diff --git a/tryton/gui/window/view_form/view/calendar_gtk/dates_period.py b/tryton/gui/window/view_form/view/calendar_gtk/dates_period.py
index 90b780d..ba5addd 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/dates_period.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/dates_period.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import datetime
 
 
diff --git a/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py b/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py
index 630f7d4..5c0923f 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import datetime
 import calendar
 import gettext
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index 0edf6c0..748da1d 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -1,23 +1,22 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import operator
-from functools import cmp_to_key
 import gtk
 import gettext
 from collections import defaultdict
 
 from . import View
 from tryton.common.focus import (get_invisible_ancestor, find_focused_child,
-    next_focus_widget, find_focusable_child, tab_compare)
+    next_focus_widget, find_focusable_child, find_first_focus_widget)
 from tryton.common import Tooltips, node_attributes, ICONFACTORY
 from tryton.common.button import Button
 from tryton.config import CONFIG
-from .form_gtk.calendar import Calendar, DateTime, Time
+from .form_gtk.calendar import Date, Time, DateTime
 from .form_gtk.float import Float
 from .form_gtk.integer import Integer
 from .form_gtk.selection import Selection
 from .form_gtk.char import Char, Password
-from .form_gtk.float_time import FloatTime
+from .form_gtk.timedelta import TimeDelta
 from .form_gtk.checkbox import CheckBox
 from .form_gtk.reference import Reference
 from .form_gtk.binary import Binary
@@ -206,13 +205,6 @@ class ViewForm(View):
         attributes.setdefault('colspan', 4)
         notebook = Notebook(attrs=attributes)
         notebook.set_scrollable(True)
-        positions = {
-            'top': gtk.POS_TOP,
-            'left': gtk.POS_LEFT,
-            'right': gtk.POS_RIGHT,
-            'bottom': gtk.POS_BOTTOM,
-            }
-        notebook.set_tab_pos(positions[CONFIG['client.form_tab']])
         notebook.set_border_width(3)
 
         # Force to display the first time it switches on a page
@@ -232,21 +224,7 @@ class ViewForm(View):
         self.parse(node, notebook)
 
     def _parse_page(self, node, notebook, attributes):
-        if CONFIG['client.form_tab'] == 'left':
-            angle = 90
-            tab_box = gtk.VBox(spacing=3)
-            image_pos, image_rotate = ('end',
-                gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE)
-        elif CONFIG['client.form_tab'] == 'right':
-            angle = -90
-            tab_box = gtk.VBox(spacing=3)
-            image_pos, image_rotate = ('start',
-                gtk.gdk.PIXBUF_ROTATE_CLOCKWISE)
-        else:
-            angle = 0
-            tab_box = gtk.HBox(spacing=3)
-            image_pos, image_rotate = ('start',
-                gtk.gdk.PIXBUF_ROTATE_NONE)
+        tab_box = gtk.HBox(spacing=3)
         if 'name' in attributes:
             field = self.screen.group.fields[attributes['name']]
             if attributes['name'] == self.screen.exclude_field:
@@ -257,7 +235,6 @@ class ViewForm(View):
         if '_' not in attributes['string']:
             attributes['string'] = '_' + attributes['string']
         label = gtk.Label(attributes['string'])
-        label.set_angle(angle)
         label.set_use_underline(True)
         tab_box.pack_start(label)
 
@@ -265,13 +242,9 @@ class ViewForm(View):
             ICONFACTORY.register_icon(attributes['icon'])
             pixbuf = tab_box.render_icon(attributes['icon'],
                 gtk.ICON_SIZE_SMALL_TOOLBAR)
-            pixbuf = pixbuf.rotate_simple(image_rotate)
             icon = gtk.Image()
             icon.set_from_pixbuf(pixbuf)
-            if image_pos == 'end':
-                tab_box.pack_end(icon)
-            else:
-                tab_box.pack_start(icon)
+            tab_box.pack_start(icon)
         tab_box.show_all()
 
         viewport = gtk.Viewport()
@@ -365,7 +338,7 @@ class ViewForm(View):
         pack(container.table, resize=True, shrink=True)
 
     WIDGETS = {
-        'date': Calendar,
+        'date': Date,
         'datetime': DateTime,
         'time': Time,
         'float': Float,
@@ -375,7 +348,7 @@ class ViewForm(View):
         'selection': Selection,
         'char': Char,
         'password': Password,
-        'float_time': FloatTime,
+        'timedelta': TimeDelta,
         'boolean': CheckBox,
         'reference': Reference,
         'binary': Binary,
@@ -502,9 +475,9 @@ class ViewForm(View):
                         invalid_widget = find_focusable_child(widget.widget)
                         if invalid_widget:
                             invalid_widgets.append(invalid_widget)
-            invalid_widgets.sort(key=cmp_to_key(tab_compare))
             if invalid_widgets:
-                focus_widget = invalid_widgets[0]
+                focus_widget = find_first_focus_widget(
+                    self._viewport, invalid_widgets)
         if focus_widget:
             for notebook in self.notebooks:
                 for i in range(notebook.get_n_pages()):
diff --git a/tryton/gui/window/view_form/view/form_gtk/__init__.py b/tryton/gui/window/view_form/view/form_gtk/__init__.py
index c86640b..4effdfa 100644
--- a/tryton/gui/window/view_form/view/form_gtk/__init__.py
+++ b/tryton/gui/window/view_form/view/form_gtk/__init__.py
@@ -1,2 +1,2 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
diff --git a/tryton/gui/window/view_form/view/form_gtk/binary.py b/tryton/gui/window/view_form/view/form_gtk/binary.py
index 50bc773..6606492 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import os
diff --git a/tryton/gui/window/view_form/view/form_gtk/calendar.py b/tryton/gui/window/view_form/view/form_gtk/calendar.py
index 2739a5d..dac644b 100644
--- a/tryton/gui/window/view_form/view/form_gtk/calendar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py
@@ -1,35 +1,43 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 
 from .widget import Widget
-from tryton.common.date_widget import DateEntry
-from tryton.translate import date_format
+from tryton.common.datetime_ import (Date as DateEntry, Time as TimeEntry,
+    DateTime as DateTimeEntry, add_operators)
 
 _ = gettext.gettext
 
 
-class Calendar(Widget):
-    "Calendar"
+class Date(Widget):
 
-    def __init__(self, view, attrs):
-        super(Calendar, self).__init__(view, attrs)
+    def __init__(self, view, attrs, _entry=DateEntry):
+        super(Date, self).__init__(view, attrs)
 
         self.widget = gtk.HBox()
-        self.entry = DateEntry('')
-        self.entry.set_property('activates_default', True)
-        self.entry.connect('key_press_event', self.sig_key_press)
-        self.entry.connect('activate', self.sig_activate)
-        self.entry.connect('changed', lambda _: self.send_modified())
-        self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
+        self.entry = add_operators(_entry())
+        self.real_entry.set_property('activates_default', True)
+        self.real_entry.connect('key_press_event', self.sig_key_press)
+        self.real_entry.connect('activate', self.sig_activate)
+        self.real_entry.connect('changed', lambda _: self.send_modified())
+        self.real_entry.connect('focus-out-event',
+            lambda x, y: self._focus_out())
         self.widget.pack_start(self.entry, expand=False, fill=False)
 
+    @property
+    def real_entry(self):
+        return self.entry
+
     def _color_widget(self):
         return self.entry
 
+    def _set_editable(self, value):
+        self.entry.set_editable(value)
+        self.entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
+
     def _readonly_set(self, value):
-        self.entry.set_editable(not value)
+        self._set_editable(not value)
         if value:
             self.widget.set_focus_chain([])
         else:
@@ -38,8 +46,7 @@ class Calendar(Widget):
     @property
     def modified(self):
         if self.record and self.field:
-            value = self.entry.compute_date(self.entry.get_text())
-            return self.field.get_client(self.record) != value
+            return self.field.get_client(self.record) != self.entry.props.value
         return False
 
     def sig_key_press(self, widget, event):
@@ -49,41 +56,83 @@ class Calendar(Widget):
         field.set_client(record, self.get_value())
 
     def get_value(self):
-        return self.entry.date_get(set_text=False)
+        return self.entry.props.value
 
-    def get_format(self, record, field):
-        return date_format()
+    def set_format(self, record, field):
+        if field and record:
+            format_ = field.date_format(record)
+        else:
+            format_ = '%x'
+        self.entry.props.format = format_
 
     def display(self, record, field):
-        if not field:
-            self.entry.set_format('')
-            self.entry.clear()
-            return False
-        self.entry.set_format(self.get_format(record, field))
-        super(Calendar, self).display(record, field)
-        value = field.get_client(record)
-        if not value:
-            self.entry.clear()
+        super(Date, self).display(record, field)
+        if field and record:
+            value = field.get_client(record)
         else:
-            if len(value) > self.entry.get_width_chars():
-                self.entry.set_width_chars(len(value))
-            self.entry.set_text(value)
-        return True
+            value = ''
+        self.entry.props.value = value
+        self.set_format(record, field)
+
+
+class Time(Date):
+    def __init__(self, view, attrs):
+        super(Time, self).__init__(view, attrs, _entry=TimeEntry)
+        self.entry.set_focus_chain([self.entry.get_child()])
 
+    def _color_widget(self):
+        return self.entry.child
 
-class DateTime(Calendar):
-    "DateTime"
+    def _set_editable(self, value):
+        self.entry.set_sensitive(value)
 
-    def get_format(self, record, field):
-        return date_format() + ' ' + field.time_format(record)
+    @property
+    def real_entry(self):
+        return self.entry.get_child()
 
+    def display(self, record, field):
+        super(Time, self).display(record, field)
+
+    def set_format(self, record, field):
+        if field and record:
+            format_ = field.time_format(record)
+        else:
+            format_ = '%X'
+        self.entry.props.format = format_
 
-class Time(Calendar):
-    "Time"
 
+class DateTime(Date):
     def __init__(self, view, attrs):
-        super(Time, self).__init__(view, attrs)
-        self.entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, None)
+        Widget.__init__(self, view, attrs)
 
-    def get_format(self, record, field):
-        return field.time_format(record)
+        self.widget = gtk.HBox()
+        self.entry = DateTimeEntry()
+        for child in self.entry.get_children():
+            add_operators(child)
+            if isinstance(child, gtk.ComboBoxEntry):
+                child.set_focus_chain([child.get_child()])
+                child = child.get_child()
+            child.set_property('activates_default', True)
+            child.connect('key_press_event', self.sig_key_press)
+            child.connect('activate', self.sig_activate)
+            child.connect('changed', lambda _: self.send_modified())
+            child.connect('focus-out-event', lambda x, y: self._focus_out())
+        self.widget.pack_start(self.entry, expand=False, fill=False)
+
+    def _set_editable(self, value):
+        for child in self.entry.get_children():
+            if isinstance(child, gtk.Entry):
+                child.set_editable(value)
+                child.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
+            elif isinstance(child, gtk.ComboBoxEntry):
+                child.set_sensitive(value)
+
+    def set_format(self, record, field):
+        if field and record:
+            date_format = field.date_format(record)
+            time_format = field.time_format(record)
+        else:
+            date_format = '%x'
+            time_format = '%X'
+        self.entry.props.date_format = date_format
+        self.entry.props.time_format = time_format
diff --git a/tryton/gui/window/view_form/view/form_gtk/char.py b/tryton/gui/window/view_form/view/form_gtk/char.py
index 746b173..4bae844 100644
--- a/tryton/gui/window/view_form/view/form_gtk/char.py
+++ b/tryton/gui/window/view_form/view/form_gtk/char.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gettext
 
 import gobject
diff --git a/tryton/gui/window/view_form/view/form_gtk/checkbox.py b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
index 25a6b88..6e6bf82 100644
--- a/tryton/gui/window/view_form/view/form_gtk/checkbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 from .widget import Widget
 import gettext
diff --git a/tryton/gui/window/view_form/view/form_gtk/dictionary.py b/tryton/gui/window/view_form/view/form_gtk/dictionary.py
index faecc69..d6ded4d 100644
--- a/tryton/gui/window/view_form/view/form_gtk/dictionary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/dictionary.py
@@ -12,12 +12,13 @@ from decimal import Decimal
 from .widget import Widget
 from tryton.config import CONFIG
 from tryton.gui.window.win_search import WinSearch
-from tryton.common import RPCExecute, RPCException, timezoned_date, \
-    datetime_strftime, Tooltips
-from tryton.common.date_widget import DateEntry
+from tryton.common import RPCExecute, RPCException, Tooltips, \
+    timezoned_date, untimezoned_date
 from tryton.common.placeholder_entry import PlaceholderEntry
 from tryton.common.selection import selection_shortcuts
-from tryton.translate import date_format
+from tryton.common.completion import get_completion, update_completion
+from tryton.common.datetime_ import Date, DateTime
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -248,50 +249,45 @@ class DictDateTimeEntry(DictEntry):
     fill = False
 
     def create_widget(self):
-        widget = DateEntry('')
-        widget.set_format(self.get_format())
+        widget = DateTime()
+        record = self.parent_widget.record
+        field = self.parent_widget.field
+        if record and field:
+            format_ = field.time_format(record)
+            widget.props.format = format_
         widget.connect('key_press_event', self.parent_widget.send_modified)
         widget.connect('focus-out-event', lambda w, e:
             self.parent_widget._focus_out())
         return widget
 
-    def modified(self, value):
-        if value.get(self.name):
-            text = datetime_strftime(timezoned_date(value[self.name]),
-                self.get_format())
-        else:
-            text = ''
-        return self.widget.compute_date(self.widget.get_text()) != text
-
-    def get_format(self):
-        return date_format() + ' %H:%M:%S'  # got to find a way
-
     def get_value(self):
-        return self.widget.date_get()
+        return untimezoned_date(self.widget.props.value)
 
     def set_value(self, value):
-        self.widget.date_set(value)
-        txt = self.widget.get_text()
-        if txt:
-            if len(txt) > self.widget.get_width_chars():
-                self.widget.set_width_chars(len(txt))
-
+        self.widget.props.value = timezoned_date(value)
 
-class DictDateEntry(DictDateTimeEntry):
 
-    def modified(self, value):
-        if value.get(self.name):
-            text = datetime_strftime(value[self.name], self.get_format())
-        else:
-            text = ''
-        return self.widget.compute_date(self.widget.get_text()) != text
+class DictDateEntry(DictEntry):
+    expand = False
+    fill = False
 
-    def get_format(self):
-        return date_format()
+    def create_widget(self):
+        widget = Date()
+        record = self.parent_widget.record
+        field = self.parent_widget.field
+        if record and field:
+            format_ = field.date_format(record)
+            widget.props.format = format_
+        widget.connect('key_press_event', self.parent_widget.send_modified)
+        widget.connect('focus-out-event', lambda w, e:
+            self.parent_widget._focus_out())
+        return widget
 
     def get_value(self):
-        dt = super(DictDateEntry, self).get_value()
-        return dt.date() if dt else None
+        return self.widget.props.value
+
+    def set_value(self, value):
+        self.widget.props.value = value
 
 
 DICT_ENTRIES = {
@@ -335,6 +331,16 @@ class DictWidget(Widget):
         self.wid_text.props.width_chars = 13
         self.wid_text.connect('activate', self._sig_activate)
         hbox.pack_start(self.wid_text, expand=True, fill=True)
+
+        if int(self.attrs.get('completion', 1)):
+            self.wid_completion = get_completion(search=False, create=False)
+            self.wid_completion.connect('match-selected',
+                self._completion_match_selected)
+            self.wid_text.set_completion(self.wid_completion)
+            self.wid_text.connect('changed', self._update_completion)
+        else:
+            self.wid_completion = None
+
         self.but_add = gtk.Button()
         self.but_add.connect('clicked', self._sig_add)
         img_add = gtk.Image()
@@ -374,22 +380,33 @@ class DictWidget(Widget):
 
         def callback(result):
             if result:
-                self.send_modified()
-                try:
-                    new_fields = RPCExecute('model', self.schema_model,
-                        'get_keys', [r[0] for r in result],
-                        context=context)
-                except RPCException:
-                    new_fields = []
-                for new_field in new_fields:
-                    if new_field['name'] not in self.fields:
-                        self.keys[new_field['name']] = new_field
-                        self.add_line(new_field['name'])
+                self.add_new_keys([r[0] for r in result])
             self.wid_text.set_text('')
 
         win = WinSearch(self.schema_model, callback, sel_multi=True,
             context=context, domain=domain, new=False)
-        win.screen.search_filter(value)
+        win.screen.search_filter(quote(value))
+        win.show()
+
+    def add_new_keys(self, ids):
+        context = self.field.context_get(self.record)
+        self.send_modified()
+        try:
+            new_fields = RPCExecute('model', self.schema_model,
+                'get_keys', ids, context=context)
+        except RPCException:
+            new_fields = []
+        focus = False
+        for new_field in new_fields:
+            if new_field['name'] not in self.fields:
+                self.keys[new_field['name']] = new_field
+                self.add_line(new_field['name'])
+                if not focus:
+                    # Use idle add because it can be called from the callback
+                    # of WinSearch while the popup is still there
+                    gobject.idle_add(
+                        self.fields[new_field['name']].widget.grab_focus)
+                    focus = True
 
     def _sig_remove(self, button, key, modified=True):
         del self.fields[key]
@@ -422,7 +439,7 @@ class DictWidget(Widget):
         self._set_button_sensitive()
         for widget in self.fields.values():
             widget.set_readonly(readonly)
-        self.wid_text.set_editable(not readonly)
+        self.wid_text.set_sensitive(not readonly)
 
     def _set_button_sensitive(self):
         self.but_add.set_sensitive(bool(
@@ -516,3 +533,21 @@ class DictWidget(Widget):
             self._sig_remove(None, key, modified=False)
 
         self._set_button_sensitive()
+
+    def _completion_match_selected(self, completion, model, iter_):
+        record_id, = model.get(iter_, 1)
+        self.add_new_keys([record_id])
+        self.wid_text.set_text('')
+
+        completion_model = self.wid_completion.get_model()
+        completion_model.clear()
+        completion_model.search_text = self.wid_text.get_text()
+        return True
+
+    def _update_completion(self, widget):
+        if not self.wid_text.get_editable():
+            return
+        if not self.record:
+            return
+        update_completion(self.wid_text, self.record, self.field,
+            self.schema_model)
diff --git a/tryton/gui/window/view_form/view/form_gtk/float.py b/tryton/gui/window/view_form/view/form_gtk/float.py
index c0555f3..7de8a8a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import locale
 from .integer import Integer
diff --git a/tryton/gui/window/view_form/view/form_gtk/image.py b/tryton/gui/window/view_form/view/form_gtk/image.py
index 0410f2f..0d6eb52 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import os
@@ -18,8 +18,8 @@ class Image(Widget):
         super(Image, self).__init__(view, attrs)
 
         self.filename = attrs.get('filename')
-        self.height = int(attrs.get('img_height', 100))
-        self.width = int(attrs.get('img_width', 300))
+        self.height = int(attrs.get('height', 100))
+        self.width = int(attrs.get('width', 300))
 
         self.widget = gtk.VBox(spacing=3)
         self.event = gtk.EventBox()
diff --git a/tryton/gui/window/view_form/view/form_gtk/integer.py b/tryton/gui/window/view_form/view/form_gtk/integer.py
index 256c344..102bd14 100644
--- a/tryton/gui/window/view_form/view/form_gtk/integer.py
+++ b/tryton/gui/window/view_form/view/form_gtk/integer.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from .char import Char
 import locale
 
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py
index 3810bc5..8874674 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 
 from tryton.gui.window.view_form.screen import Screen
@@ -10,6 +10,7 @@ import tryton.common as common
 import gettext
 from tryton.common.placeholder_entry import PlaceholderEntry
 from tryton.common.completion import get_completion, update_completion
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -43,7 +44,9 @@ class Many2Many(Widget):
         hbox.pack_start(self.wid_text, expand=True, fill=True)
 
         if int(self.attrs.get('completion', 1)):
-            self.wid_completion = get_completion()
+            self.wid_completion = get_completion(
+                create=self.attrs.get('create', True)
+                and common.MODELACCESS[self.attrs['relation']]['create'])
             self.wid_completion.connect('match-selected',
                 self._completion_match_selected)
             self.wid_completion.connect('action-activated',
@@ -103,25 +106,29 @@ class Many2Many(Widget):
     def on_keypress(self, widget, event):
         editable = self.wid_text.get_editable()
         activate_keys = [gtk.keysyms.Tab, gtk.keysyms.ISO_Left_Tab]
+        remove_keys = [gtk.keysyms.Delete, gtk.keysyms.KP_Delete]
         if not self.wid_completion:
             activate_keys.append(gtk.keysyms.Return)
-        if event.keyval == gtk.keysyms.F3:
-            self._sig_add()
-            return True
-        if event.keyval == gtk.keysyms.F2 \
-                and widget == self.screen.widget:
-            self._sig_edit()
-            return True
-        if event.keyval in (gtk.keysyms.Delete, gtk.keysyms.KP_Delete) \
-                and widget == self.screen.widget:
-            self._sig_remove()
-            return True
-        if (widget == self.wid_text
-                and event.keyval in activate_keys
-                and editable
-                and self.wid_text.get_text()):
-            self._sig_add()
-            self.wid_text.grab_focus()
+        if widget == self.screen.widget:
+            if event.keyval == gtk.keysyms.F3 and editable:
+                self._sig_add()
+                return True
+            elif event.keyval == gtk.keysyms.F2:
+                self._sig_edit()
+                return True
+            elif event.keyval in remove_keys and editable:
+                self._sig_remove()
+                return True
+        elif widget == self.wid_text:
+            if event.keyval == gtk.keysyms.F3:
+                self._sig_new()
+                return True
+            elif event.keyval == gtk.keysyms.F2:
+                self._sig_add()
+                return True
+            elif event.keyval in activate_keys and self.wid_text.get_text():
+                self._sig_add()
+                self.wid_text.grab_focus()
         return False
 
     def destroy(self):
@@ -161,7 +168,8 @@ class Many2Many(Widget):
             view_ids=self.attrs.get('view_ids', '').split(','),
             views_preload=self.attrs.get('views', {}),
             new=self.attrs.get('create', True))
-        win.screen.search_filter(value)
+        win.screen.search_filter(quote(value))
+        win.show()
 
     def _sig_remove(self, *args):
         self.screen.remove(remove=True)
@@ -178,10 +186,13 @@ class Many2Many(Widget):
         add_remove = self.record.expr_eval(self.attrs.get('add_remove'))
         if add_remove:
             domain = [domain, add_remove]
+        context = self.field.context_get(self.record)
+
         screen = Screen(self.attrs['relation'], domain=domain,
             view_ids=self.attrs.get('view_ids', '').split(','),
             mode=['form'], views_preload=self.attrs.get('views', {}),
-            readonly=self.attrs.get('readonly', False))
+            readonly=self.attrs.get('readonly', False),
+            context=context)
         screen.load([self.screen.current_record.id])
 
         def callback(result):
@@ -193,9 +204,33 @@ class Many2Many(Widget):
                 self.screen.display()
         WinForm(screen, callback)
 
+    def _sig_new(self):
+        domain = self.field.domain_get(self.record)
+        add_remove = self.record.expr_eval(self.attrs.get('add_remove'))
+        if add_remove:
+            domain = [domain, add_remove]
+        context = self.field.context_get(self.record)
+
+        screen = Screen(self.attrs['relation'], domain=domain,
+            view_ids=self.attrs.get('view_ids', '').split(','),
+            mode=['form'], views_preload=self.attrs.get('views', {}),
+            context=context)
+
+        def callback(result):
+            self.focus_out = True
+            if result:
+                record = screen.current_record
+                self.screen.load([record.id], modified=True)
+            self.wid_text.set_text('')
+            self.wid_text.grab_focus()
+
+        self.focus_out = False
+        WinForm(screen, callback, new=True, save_current=True)
+
     def _readonly_set(self, value):
         self._readonly = value
         self._set_button_sensitive()
+        self.wid_text.set_sensitive(not value)
 
     def _set_button_sensitive(self):
         if self.record and self.field:
@@ -206,7 +241,6 @@ class Many2Many(Widget):
         else:
             size_limit = False
 
-        self.wid_text.set_sensitive(not self._readonly)
         self.but_add.set_sensitive(bool(
                 not self._readonly
                 and not size_limit))
@@ -260,22 +294,4 @@ class Many2Many(Widget):
             self._sig_add()
             self.wid_text.grab_focus()
         elif index == 1:
-            model = self.attrs['relation']
-            domain = self.field.domain_get(self.record)
-            add_remove = self.record.expr_eval(self.attrs.get('add_remove'))
-            if add_remove:
-                domain = [domain, add_remove]
-            context = self.field.context_get(self.record)
-
-            screen = Screen(model, domain, context=context, mode=['form'])
-
-            def callback(result):
-                self.focus_out = True
-                if result:
-                    record = screen.current_record
-                    self.screen.load([record.id], modified=True)
-                self.wid_text.set_text('')
-                self.wid_text.grab_focus()
-
-            self.focus_out = False
-            WinForm(screen, callback, new=True, save_current=True)
+            self._sig_new()
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 7d051c1..a786fc7 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import gettext
@@ -12,6 +12,7 @@ from tryton.gui.window.win_form import WinForm
 from tryton.common.popup_menu import populate
 from tryton.common.completion import get_completion, update_completion
 from tryton.common.entry_position import manage_entry_position
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -38,15 +39,8 @@ class Many2One(Widget):
         self.focus_out = True
 
         if int(self.attrs.get('completion', 1)):
-            self.wid_completion = get_completion()
-            self.wid_completion.connect('match-selected',
-                self._completion_match_selected)
-            self.wid_completion.connect('action-activated',
-                self._completion_action_activated)
-            self.wid_text.set_completion(self.wid_completion)
             self.wid_text.connect('changed', self._update_completion)
-        else:
-            self.wid_completion = None
+        self.wid_completion = None
 
         self.wid_text.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY,
             'tryton-find')
@@ -146,7 +140,11 @@ class Many2One(Widget):
                     view_ids=self.attrs.get('view_ids', '').split(','),
                     views_preload=self.attrs.get('views', {}),
                     new=self.create_access)
-                win.screen.search_filter(text)
+                win.screen.search_filter(quote(text))
+                if len(win.screen.group) == 1:
+                    win.response(None, gtk.RESPONSE_OK)
+                else:
+                    win.show()
                 return
         self.focus_out = True
         self.changed = True
@@ -216,7 +214,8 @@ class Many2One(Widget):
                 view_ids=self.attrs.get('view_ids', '').split(','),
                 views_preload=self.attrs.get('views', {}),
                 new=self.create_access)
-            win.screen.search_filter(text)
+            win.screen.search_filter(quote(text))
+            win.show()
             return
         self.focus_out = True
         self.changed = True
@@ -285,6 +284,7 @@ class Many2One(Widget):
         super(Many2One, self).display(record, field)
 
         self._set_button_sensitive()
+        self._set_completion()
 
         if not field:
             self.wid_text.set_text('')
@@ -308,6 +308,18 @@ class Many2One(Widget):
                 self.id_from_value(value), '', self.field)
         return True
 
+    def _set_completion(self):
+        if not int(self.attrs.get('completion', 1)):
+            return
+        self.wid_completion = get_completion(
+            search=self.read_access,
+            create=self.create_access)
+        self.wid_completion.connect('match-selected',
+            self._completion_match_selected)
+        self.wid_completion.connect('action-activated',
+            self._completion_action_activated)
+        self.wid_text.set_completion(self.wid_completion)
+
     def _completion_match_selected(self, completion, model, iter_):
         rec_name, record_id = model.get(iter_, 0, 1)
         self.field.set_client(self.record,
diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py
index b7e3b64..edd39bf 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -1,7 +1,8 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
+import itertools
 
 from .widget import Widget
 from tryton.gui.window.view_form.screen import Screen
@@ -10,6 +11,7 @@ from tryton.gui.window.win_form import WinForm
 import tryton.common as common
 from tryton.common.placeholder_entry import PlaceholderEntry
 from tryton.common.completion import get_completion, update_completion
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -48,7 +50,10 @@ class One2Many(Widget):
             hbox.pack_start(self.wid_text, expand=True, fill=True)
 
             if int(self.attrs.get('completion', 1)):
-                self.wid_completion = get_completion()
+                access = common.MODELACCESS[attrs['relation']]
+                self.wid_completion = get_completion(
+                    search=access['read'] and access['write'],
+                    create=attrs.get('create', True) and access['create'])
                 self.wid_completion.connect('match-selected',
                     self._completion_match_selected)
                 self.wid_completion.connect('action-activated',
@@ -287,7 +292,6 @@ class One2Many(Widget):
                 self._position
                 and self._position > 1))
         if self.attrs.get('add_remove'):
-            self.wid_text.set_sensitive(not self._readonly)
             self.but_add.set_sensitive(bool(
                     not self._readonly
                     and not size_limit
@@ -298,6 +302,7 @@ class One2Many(Widget):
                     and self._position
                     and access['write']
                     and access['read']))
+            self.wid_text.set_sensitive(self.but_add.get_sensitive())
 
         # New button must be added to focus chain to allow keyboard only
         # creation when there is no existing record on form view.
@@ -322,11 +327,18 @@ class One2Many(Widget):
                 return False
         return True
 
-    def _sig_new(self, widget=None):
+    def _sig_new(self, *args):
         if not common.MODELACCESS[self.screen.model_name]['create']:
             return
         if not self._validate():
             return
+
+        if self.attrs.get('product'):
+            self._new_product()
+        else:
+            self._new_single()
+
+    def _new_single(self):
         ctx = {}
         ctx.update(self.field.context_get(self.record))
         sequence = None
@@ -350,6 +362,56 @@ class One2Many(Widget):
             WinForm(self.screen, lambda a: update_sequence(), new=True,
                 many=field_size, context=ctx)
 
+    def _new_product(self):
+        fields = self.attrs['product'].split(',')
+        product = {}
+
+        first = self.screen.new(default=False)
+        default = first.default_get()
+        first.set_default(default)
+
+        def search_set(*args):
+            if not fields:
+                return make_product()
+            field = self.screen.group.fields[fields.pop()]
+            relation = field.attrs.get('relation')
+            if not relation:
+                search_set()
+
+            domain = field.domain_get(first)
+            context = field.context_get(first)
+
+            def callback(result):
+                if result:
+                    product[field.name] = result
+
+            win_search = WinSearch(relation, callback, sel_multi=True,
+                context=context, domain=domain)
+            win_search.win.connect('destroy', search_set)
+            win_search.screen.search_filter()
+            win_search.show()
+
+        def make_product(first=first):
+            if not product:
+                self.screen.group.remove(first, remove=True)
+                return
+
+            fields = product.keys()
+            for values in itertools.product(*product.values()):
+                if first:
+                    record = first
+                    first = None
+                else:
+                    record = self.screen.new(default=False)
+                default_value = default.copy()
+                for field, value in zip(fields, values):
+                    id_, rec_name = value
+                    default_value[field] = id_
+                    default_value[field + '.rec_name'] = rec_name
+                record.set_default(default_value)
+
+        search_set()
+
     def _sig_edit(self, widget=None):
         if not common.MODELACCESS[self.screen.model_name]['read']:
             return
@@ -418,7 +480,8 @@ class One2Many(Widget):
             view_ids=self.attrs.get('view_ids', '').split(','),
             views_preload=self.attrs.get('views', {}),
             new=self.but_new.get_property('sensitive'))
-        win.screen.search_filter(text)
+        win.screen.search_filter(quote(text))
+        win.show()
 
     def _sig_label(self, screen, signal_data):
         self._position = signal_data[0]
diff --git a/tryton/gui/window/view_form/view/form_gtk/one2one.py b/tryton/gui/window/view_form/view/form_gtk/one2one.py
index 334c8af..effb6a7 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2one.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from .many2one import Many2One
 
 
diff --git a/tryton/gui/window/view_form/view/form_gtk/progressbar.py b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
index 4051149..a7edbc4 100644
--- a/tryton/gui/window/view_form/view/form_gtk/progressbar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 from .widget import Widget
 import locale
@@ -12,7 +12,7 @@ class ProgressBar(Widget):
         'right_to_left': gtk.PROGRESS_RIGHT_TO_LEFT,
         'bottom_to_top': gtk.PROGRESS_BOTTOM_TO_TOP,
         'top_to_bottom': gtk.PROGRESS_TOP_TO_BOTTOM,
-    }
+        }
 
     def __init__(self, view, attrs):
         super(ProgressBar, self).__init__(view, attrs)
diff --git a/tryton/gui/window/view_form/view/form_gtk/reference.py b/tryton/gui/window/view_form/view/form_gtk/reference.py
index 089c9f2..d997f8b 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 
@@ -129,6 +129,9 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
                 active = i
                 break
         self.widget_combo.set_active(active)
+        if active == -1:
+            # When setting no item GTK doesn't clear the entry
+            self.widget_combo.child.set_text('')
 
     def display(self, record, field):
         self.update_selection(record, field)
diff --git a/tryton/gui/window/view_form/view/form_gtk/selection.py b/tryton/gui/window/view_form/view/form_gtk/selection.py
index fe49d9d..78e2a28 100644
--- a/tryton/gui/window/view_form/view/form_gtk/selection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 
@@ -68,6 +68,8 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
         self.set_popdown(self.selection, self.entry)
         if not field:
             self.entry.set_active(-1)
+            # When setting no item GTK doesn't clear the entry
+            self.entry.child.set_text('')
             return
         super(Selection, self).display(record, field)
         value = field.get(record)
@@ -77,6 +79,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
 
         self.entry.handler_block_by_func(self.changed)
         if not self.set_popdown_value(self.entry, value):
-            self.get_inactive_selection(value)
+            text = self.get_inactive_selection(value)
+            self.set_popdown(self.selection[:] + [(value, text)], self.entry)
             self.set_popdown_value(self.entry, value)
         self.entry.handler_unblock_by_func(self.changed)
diff --git a/tryton/gui/window/view_form/view/form_gtk/state_widget.py b/tryton/gui/window/view_form/view/form_gtk/state_widget.py
index a88369b..1d28e29 100644
--- a/tryton/gui/window/view_form/view/form_gtk/state_widget.py
+++ b/tryton/gui/window/view_form/view/form_gtk/state_widget.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 
 
diff --git a/tryton/gui/window/view_form/view/form_gtk/textbox.py b/tryton/gui/window/view_form/view/form_gtk/textbox.py
index d09754e..9fdd8d3 100644
--- a/tryton/gui/window/view_form/view/form_gtk/textbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/textbox.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 from .widget import Widget, TranslateMixin
 from tryton.config import CONFIG
@@ -23,10 +23,7 @@ class TextBox(Widget, TranslateMixin):
         self.scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
         self.scrolledwindow.set_size_request(-1, 80)
 
-        self.textview = gtk.TextView()
-        self.textview.set_wrap_mode(gtk.WRAP_WORD)
-        #TODO better tab solution
-        self.textview.set_accepts_tab(False)
+        self.textview = self._get_textview()
         self.textview.connect('focus-out-event',
             lambda x, y: self._focus_out())
         self.textview.connect('key-press-event', self.send_modified)
@@ -43,6 +40,17 @@ class TextBox(Widget, TranslateMixin):
             self.button = self.translate_button()
             hbox.pack_start(self.button, False, False)
 
+    def _get_textview(self):
+        if self.attrs.get('size'):
+            textbuffer = TextBufferLimitSize(int(self.attrs['size']))
+            textview = gtk.TextView(textbuffer)
+        else:
+            textview = gtk.TextView()
+        textview.set_wrap_mode(gtk.WRAP_WORD)
+        # TODO better tab solution
+        textview.set_accepts_tab(False)
+        return textview
+
     def translate_widget(self):
         scrolledwindow = gtk.ScrolledWindow()
         scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
@@ -50,10 +58,7 @@ class TextBox(Widget, TranslateMixin):
         scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
         scrolledwindow.set_size_request(-1, 80)
 
-        textview = gtk.TextView()
-        textview.set_wrap_mode(gtk.WRAP_WORD)
-        textview.set_accepts_tab(False)
-
+        textview = self._get_textview()
         scrolledwindow.add(textview)
         return scrolledwindow
 
@@ -170,3 +175,20 @@ class TextBox(Widget, TranslateMixin):
             elif spell:
                 spell.detach()
                 del spell
+
+
+class TextBufferLimitSize(gtk.TextBuffer):
+    __gsignals__ = {
+        'insert-text': 'override',
+        }
+
+    def __init__(self, max_length):
+        super(TextBufferLimitSize, self).__init__()
+        self.max_length = max_length
+
+    def do_insert_text(self, iter, text, length):
+        free_chars = self.max_length - self.get_char_count()
+        # Slice operation needs an unicode string to work as expected
+        text = text.decode('utf-8')[0:free_chars].encode('utf-8')
+        length = len(text)
+        return gtk.TextBuffer.do_insert_text(self, iter, text, length)
diff --git a/tryton/gui/window/view_form/view/form_gtk/float_time.py b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
similarity index 54%
rename from tryton/gui/window/view_form/view/form_gtk/float_time.py
rename to tryton/gui/window/view_form/view/form_gtk/timedelta.py
index c35cfde..f82bd87 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float_time.py
+++ b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
@@ -1,15 +1,14 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
+
 from .widget import Widget
-import tryton.common as common
-import tryton.rpc as rpc
 
 
-class FloatTime(Widget):
+class TimeDelta(Widget):
 
     def __init__(self, view, attrs):
-        super(FloatTime, self).__init__(view, attrs)
+        super(TimeDelta, self).__init__(view, attrs)
 
         self.widget = gtk.HBox()
         self.entry = gtk.Entry()
@@ -21,10 +20,6 @@ class FloatTime(Widget):
         self.entry.connect('key-press-event', self.send_modified)
         self.widget.pack_start(self.entry)
 
-        self.conv = None
-        if attrs and attrs.get('float_time'):
-            self.conv = rpc.CONTEXT.get(attrs['float_time'])
-
     def _color_widget(self):
         return self.entry
 
@@ -32,30 +27,26 @@ class FloatTime(Widget):
     def modified(self):
         if self.record and self.field:
             value = self.entry.get_text()
-            return common.float_time_to_text(self.field.get(self.record),
-                self.conv) != value
+            return self.field.get_client(self.record) != value
         return False
 
     def set_value(self, record, field):
         value = self.entry.get_text()
-        digits = field.digits(record)
-        return field.set_client(record,
-            common.text_to_float_time(value, self.conv, digits[1]))
+        return field.set_client(record, value)
 
     def get_value(self):
         return self.entry.get_text()
 
     def display(self, record, field):
-        super(FloatTime, self).display(record, field)
+        super(TimeDelta, self).display(record, field)
         if not field:
-            self.entry.set_text('')
-            return False
-        val = field.get(record)
-
-        self.entry.set_text(common.float_time_to_text(val, self.conv))
+            value = ''
+        else:
+            value = field.get_client(record)
+        self.entry.set_text(value)
 
     def _readonly_set(self, value):
-        super(FloatTime, self)._readonly_set(value)
+        super(TimeDelta, self)._readonly_set(value)
         self.entry.set_editable(not value)
         if value:
             self.widget.set_focus_chain([])
diff --git a/tryton/gui/window/view_form/view/form_gtk/url.py b/tryton/gui/window/view_form/view/form_gtk/url.py
index 9edb072..39a834d 100644
--- a/tryton/gui/window/view_form/view/form_gtk/url.py
+++ b/tryton/gui/window/view_form/view/form_gtk/url.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 from .char import Char
 import webbrowser
diff --git a/tryton/gui/window/view_form/view/form_gtk/widget.py b/tryton/gui/window/view_form/view/form_gtk/widget.py
index b1b9bdf..0ec5b83 100644
--- a/tryton/gui/window/view_form/view/form_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/form_gtk/widget.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import gettext
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index bcba52c..3430947 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import sys
 import os
 
diff --git a/tryton/gui/window/view_form/view/graph_gtk/__init__.py b/tryton/gui/window/view_form/view/graph_gtk/__init__.py
index 5218f22..aef2a92 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/__init__.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/__init__.py
@@ -1,3 +1,3 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from parser import *
diff --git a/tryton/gui/window/view_form/view/graph_gtk/bar.py b/tryton/gui/window/view_form/view/graph_gtk/bar.py
index 0d99af6..65e0b46 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/bar.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/bar.py
@@ -1,12 +1,15 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-#This code is inspired by the pycha project
-#(http://www.lorenzogil.com/projects/pycha/)
-from graph import Graph
-from tryton.common import float_time_to_text
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+# This code is inspired by the pycha project
+# (http://www.lorenzogil.com/projects/pycha/)
 import locale
 import math
+import datetime
+
 import cairo
+
+from graph import Graph
+import tryton.common as common
 import tryton.rpc as rpc
 
 
@@ -37,7 +40,7 @@ class Bar(Graph):
             self.drawRectangle(cr, x, y, w, h)
             r, g, b = self.colorScheme[bar.yname]
             if bar.highlight:
-                r, g, b = self.colorScheme['__highlight']
+                r, g, b = common.highlight_rgb(r, g, b)
             cr.set_source(self.sourceRectangle(x, y, w, h, r, g, b))
             cr.fill_preserve()
             cr.stroke()
@@ -80,19 +83,19 @@ class Bar(Graph):
 
         highlight = False
         draw_bars = []
-        yfields_float_time = dict(
-            (x.get('key', x['name']), x.get('float_time'))
-            for x in self.yfields if x.get('widget'))
+        yfields_timedelta = {x.get('key', x['name']): x.get('timedelta')
+            for x in self.yfields if 'timedelta' in x}
         for bar in self.bars:
             if intersect(bar, event):
                 if not bar.highlight:
                     bar.highlight = True
-                    if bar.yname in yfields_float_time:
-                        conv = None
-                        if yfields_float_time[bar.yname]:
-                            conv = rpc.CONTEXT.get(
-                                    yfields_float_time[bar.yname])
-                        label = float_time_to_text(bar.yval, conv)
+                    if bar.yname in yfields_timedelta:
+                        converter = None
+                        if yfields_timedelta[bar.yname]:
+                            converter = rpc.CONTEXT.get(
+                                yfields_timedelta[bar.yname])
+                        label = common.timedelta.format(
+                            datetime.timedelta(seconds=bar.yval), converter)
                     else:
                         label = locale.format('%.2f', bar.yval, True)
                     label += '\n'
@@ -175,17 +178,17 @@ class VerticalBar(Bar):
 
     def YLabels(self):
         ylabels = super(VerticalBar, self).YLabels()
-        if len([x.get('key', x['name']) for x in self.yfields
-                    if x.get('widget')]) == len(self.yfields):
-
-            def format(val):
-                val = locale.atof(val)
-                res = '%02d:%02d' % (math.floor(abs(val)),
-                        round(abs(val) % 1 + 0.01, 2) * 60)
-                if val < 0:
-                    res = '-' + res
-                return res
-            return [(x[0], format(x[1])) for x in ylabels]
+        if all('timedelta' in f for f in self.yfields):
+            converter = {f.get('timedelta') for f in self.yfields}
+            if len(converter) == 1:
+                converter = rpc.CONTEXT.get(converter.pop())
+            else:
+                converter = None
+            return [
+                (x[0], common.timedelta.format(
+                        datetime.timedelta(seconds=locale.atof(x[1])),
+                        converter))
+                for x in ylabels]
         return ylabels
 
     def _getShadowRectangle(self, x, y, w, h):
@@ -234,15 +237,17 @@ class HorizontalBar(Bar):
 
     def XLabels(self):
         ylabels = super(HorizontalBar, self).YLabels()
-        if len([x.get('key', x['name']) for x in self.yfields
-                    if x.get('widget')]) == len(self.yfields):
-            conv = None
-            float_time = reduce(lambda x, y: x == y and x or False,
-                    [x.get('float_time') for x in self.yfields])
-            if float_time:
-                conv = rpc.CONTEXT.get(float_time)
-            return [(x[0], float_time_to_text(locale.atof(x[1]), conv))
-                    for x in ylabels]
+        if all('timedelta' in f for f in self.yfields):
+            converter = {f.get('timedelta') for f in self.yfields}
+            if len(converter) == 1:
+                converter = rpc.CONTEXT.get(converter.pop())
+            else:
+                converter = None
+            return [
+                (x[0], common.timedelta.format(
+                        datetime.timedelta(seconds=locale.atof(x[1])),
+                        converter))
+                for x in ylabels]
         return [(x[0], x[1]) for x in ylabels]
 
     def _getShadowRectangle(self, x, y, w, h):
diff --git a/tryton/gui/window/view_form/view/graph_gtk/graph.py b/tryton/gui/window/view_form/view/graph_gtk/graph.py
index 76a4a05..642a55e 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -1,7 +1,7 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-#This code is inspired by the pycha project
-#(http://www.lorenzogil.com/projects/pycha/)
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+# This code is inspired by the pycha project
+# (http://www.lorenzogil.com/projects/pycha/)
 import gtk
 from functools import reduce
 from tryton.common import hex2rgb, generateColorscheme, \
@@ -15,7 +15,6 @@ import tryton.rpc as rpc
 import cairo
 from tryton.action import Action
 from tryton.gui.window import Window
-from tryton.translate import date_format
 
 
 class Popup(object):
@@ -376,12 +375,16 @@ class Graph(gtk.DrawingArea):
                 if yfield['name'] == '#':
                     self.datas[x][key] += 1
                 else:
-                    self.datas[x][key] += \
-                        float(model[yfield['name']].get(model) or 0)
+                    value = model[yfield['name']].get(model)
+                    if isinstance(value, datetime.timedelta):
+                        value = value.total_seconds()
+                    self.datas[x][key] += float(value or 0)
+        date_format = self.view.screen.context.get('date_format', '%x')
+        datetime_format = date_format + ' %X'
         if isinstance(minx, datetime.datetime):
             date = minx
             while date <= maxx:
-                self.labels[date] = datetime_strftime(date, date_format())
+                self.labels[date] = datetime_strftime(date, datetime_format)
                 self.datas.setdefault(date, {})
                 for yfield in self.yfields:
                     self.datas[date].setdefault(
@@ -390,7 +393,7 @@ class Graph(gtk.DrawingArea):
         elif isinstance(minx, datetime.date):
             date = minx
             while date <= maxx:
-                self.labels[date] = datetime_strftime(date, date_format())
+                self.labels[date] = datetime_strftime(date, date_format)
                 self.datas.setdefault(date, {})
                 for yfield in self.yfields:
                     self.datas[date].setdefault(
@@ -454,7 +457,7 @@ class Graph(gtk.DrawingArea):
         color = self.attrs.get('color', 'blue')
         r, g, b = hex2rgb(COLOR_SCHEMES.get(color, color))
         maxcolor = max(max(r, g), b)
-        self.colorScheme = generateColorscheme(color, keys + ['__highlight'],
+        self.colorScheme = generateColorscheme(color, keys,
                 maxcolor / (len(keys) or 1))
         for yfield in self.yfields:
             if yfield.get('color'):
diff --git a/tryton/gui/window/view_form/view/graph_gtk/line.py b/tryton/gui/window/view_form/view/graph_gtk/line.py
index 13868f4..18509b7 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/line.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/line.py
@@ -1,12 +1,15 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-#This code is inspired by the pycha project
-#(http://www.lorenzogil.com/projects/pycha/)
-from graph import Graph
-from tryton.common import hex2rgb, float_time_to_text
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+# This code is inspired by the pycha project
+# (http://www.lorenzogil.com/projects/pycha/)
 import locale
 import math
+import datetime
+
 import cairo
+
+from graph import Graph
+import tryton.common as common
 import tryton.rpc as rpc
 
 
@@ -139,14 +142,15 @@ class Line(Graph):
         for point in self.points:
             if point.highlight:
                 cr.set_line_width(2)
-                cr.set_source_rgb(*hex2rgb('#000000'))
+                cr.set_source_rgb(*common.hex2rgb('#000000'))
                 cr.move_to(point.x * self.area.w + self.area.x,
                         point.y * self.area.h + self.area.y)
                 cr.arc(point.x * self.area.w + self.area.x,
                     point.y * self.area.h + self.area.y,
                     3, 0, 2 * math.pi)
                 cr.stroke()
-                cr.set_source_rgb(*self.colorScheme['__highlight'])
+                cr.set_source_rgb(*common.highlight_rgb(
+                        *self.colorScheme[point.yname]))
                 cr.arc(point.x * self.area.w + self.area.x,
                     point.y * self.area.h + self.area.y,
                     3, 0, 2 * math.pi)
@@ -175,21 +179,20 @@ class Line(Graph):
 
         highlight = False
         draw_points = []
-        yfields_float_time = dict(
-            (x.get('key', x['name']), x.get('float_time'))
-            for x in self.yfields if x.get('widget'))
+        yfields_timedelta = {x.get('key', x['name']): x.get('timedelta')
+            for x in self.yfields if 'timedelta' in x}
         for point in self.points:
             if point == nearest[0] and nearest[1] < dia / 100:
                 if not point.highlight:
                     point.highlight = True
                     label = keys2txt[point.yname]
                     label += '\n'
-                    if point.yname in yfields_float_time:
-                        conv = None
-                        if yfields_float_time[point.yname]:
-                            conv = rpc.CONTEXT.get(
-                                    yfields_float_time[point.yname])
-                        label += float_time_to_text(point.yval, conv)
+                    if point.yval in yfields_timedelta:
+                        converter = None
+                        if yfields_timedelta[point.yname]:
+                            converter = rpc.CONTEXT.get(
+                                yfields_timedelta[point.yname])
+                        label += common.timedelta.format(point.yval, converter)
                     else:
                         label += locale.format('%.2f', point.yval, True)
                     label += '\n'
@@ -246,15 +249,15 @@ class Line(Graph):
 
     def YLabels(self):
         ylabels = super(Line, self).YLabels()
-        if len([x.get('key', x['name']) for x in self.yfields
-                    if x.get('widget')]) == len(self.yfields):
-            conv = None
-            float_time = reduce(lambda x, y: x == y and x or False,
-                    [x.get('float_time') for x in self.yfields])
-            if float_time:
-                conv = rpc.CONTEXT.get(float_time)
-            return [(x[0], float_time_to_text(locale.atof(x[1]), conv))
-                    for x in ylabels]
+        if all('timedelta' in f for f in self.yfields):
+            converter = {f.get('timedelta') for f in self.yfields}
+            if len(converter) == 1:
+                converter = rpc.CONTEXT.get(converter.pop())
+            return [
+                (x[0], common.timedelta.format(
+                        datetime.timedelta(seconds=locale.atof(x[1])),
+                        converter))
+                for x in ylabels]
         return ylabels
 
 
diff --git a/tryton/gui/window/view_form/view/graph_gtk/pie.py b/tryton/gui/window/view_form/view/graph_gtk/pie.py
index 9018288..aa7469a 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/pie.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/pie.py
@@ -1,12 +1,15 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-#This code is inspired by the pycha project
-#(http://www.lorenzogil.com/projects/pycha/)
-from graph import Graph, Area
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+# This code is inspired by the pycha project
+# (http://www.lorenzogil.com/projects/pycha/)
 import math
-import cairo
-from tryton.common import hex2rgb, float_time_to_text
 import locale
+import datetime
+
+import cairo
+
+from graph import Graph, Area
+import tryton.common as common
 import tryton.rpc as rpc
 
 
@@ -19,7 +22,7 @@ class Pie(Graph):
         pass
 
     def drawAxis(self, cr, width, height):
-        cr.set_source_rgb(*hex2rgb('#000000'))
+        cr.set_source_rgb(*common.hex2rgb('#000000'))
 
         for slice in self.slices:
             normalisedAngle = slice.normalisedAngle()
@@ -94,11 +97,11 @@ class Pie(Graph):
                 if bool(int(self.yfields[0].get('fill', 1))):
                     color = self.colorScheme[slice.xname]
                     if slice.highlight:
-                        color = self.colorScheme['__highlight']
+                        color = common.highlight_rgb(*color)
                     cr.set_source_rgba(*color)
                     slice.draw(cr, self.centerx, self.centery, self.radius)
                     cr.fill()
-                cr.set_source_rgb(*hex2rgb(
+                cr.set_source_rgb(*common.hex2rgb(
                         self.attrs.get('background', '#f5f5f5')))
                 slice.draw(cr, self.centerx, self.centery, self.radius)
                 cr.set_line_width(2)
@@ -142,14 +145,16 @@ class Pie(Graph):
             if slice.startAngle <= angle <= slice.endAngle:
                 if not slice.highlight:
                     slice.highlight = True
-                    if self.yfields[0].get('widget') == 'float_time':
-                        conv = None
-                        if self.yfields[0].get('float_time'):
-                            conv = rpc.CONTEXT.get(
-                                self.yfields[0]['float_time'])
-                        value = float_time_to_text(slice.fraction * self.sum,
-                                conv)
-                        sum = float_time_to_text(self.sum, conv)
+                    if 'timedelta' in self.yfields[0]:
+                        converter = self.yfields[0].get('timedelta')
+                        if converter:
+                            converter = rpc.CONTEXT.get(converter)
+                        value = common.timedelta.format(
+                            datetime.timedelta(
+                                seconds=slice.fraction * self.sum),
+                            converter)
+                        sum = common.timedelta.format(
+                            datetime.timedelta(seconds=self.sum), converter)
                     else:
                         value = locale.format('%.2f',
                             slice.fraction * self.sum)
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index 9c6bd04..988f043 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gobject
 import gtk
 import sys
@@ -10,6 +10,7 @@ except ImportError:
 import locale
 import gettext
 from functools import wraps
+from collections import defaultdict
 
 from tryton.config import CONFIG
 from tryton.common.cellrendererbutton import CellRendererButton
@@ -17,10 +18,12 @@ from tryton.common.cellrenderertoggle import CellRendererToggle
 from tryton.gui.window import Window
 from tryton.common.popup_menu import populate
 from tryton.common import RPCExecute, RPCException, node_attributes, Tooltips
+from tryton.common import domain_inversion, simplify, unique_value
+import tryton.common as common
 from . import View
 from .list_gtk.editabletree import EditableTreeView, TreeView
-from .list_gtk.widget import (Affix, Char, Int, Boolean, URL, Date, Datetime,
-    Time, Float, FloatTime, Binary, M2O, O2O, O2M, M2M, Selection, Reference,
+from .list_gtk.widget import (Affix, Char, Text, Int, Boolean, URL, Date,
+    Time, Float, TimeDelta, Binary, M2O, O2O, O2M, M2M, Selection, Reference,
     ProgressBar, Button, Image)
 
 _ = gettext.gettext
@@ -264,7 +267,7 @@ class ViewTree(View):
     def __init__(self, screen, xml, children_field):
         super(ViewTree, self).__init__(screen, xml)
         self.view_type = 'tree'
-        self.widgets = {}
+        self.widgets = defaultdict(list)
         self.state_widgets = []
         self.children_field = children_field
         self.sum_widgets = []
@@ -344,8 +347,7 @@ class ViewTree(View):
 
         Widget = self.get_widget(node_attrs['widget'])
         widget = Widget(self, node_attrs)
-        assert name not in self.widgets
-        self.widgets[name] = widget
+        self.widgets[name].append(widget)
 
         column = gtk.TreeViewColumn(field.attrs['string'])
         column._type = 'field'
@@ -388,9 +390,6 @@ class ViewTree(View):
                 and not self.children_field
                 and field.attrs.get('sortable', True)):
             column.connect('clicked', self.sort_model)
-        column.set_visible(not node_attrs.get('tree_invisible', False))
-        if name == self.screen.exclude_field:
-            column.set_visible(False)
 
         self.treeview.append_column(column)
 
@@ -423,13 +422,12 @@ class ViewTree(View):
         'selection': Selection,
         'float': Float,
         'numeric': Float,
-        'float_time': FloatTime,
+        'timedelta': TimeDelta,
         'integer': Int,
         'biginteger': Int,
-        'datetime': Datetime,
         'time': Time,
         'boolean': Boolean,
-        'text': Char,
+        'text': Text,
         'url': URL,
         'email': URL,
         'callto': URL,
@@ -474,9 +472,10 @@ class ViewTree(View):
             'biginteger': 60,
             'float': 80,
             'numeric': 80,
-            'float_time': 100,
-            'date': 110,
-            'datetime': 160,
+            'timedelta': 100,
+            'date': 100,
+            'datetime': 100,
+            'time': 100,
             'selection': 90,
             'char': 100,
             'one2many': 50,
@@ -504,6 +503,12 @@ class ViewTree(View):
         column.set_resizable(True)
         column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
 
+    def get_column_widget(self, column):
+        'Return the widget of the column'
+        idx = [c for c in self.treeview.get_columns()
+            if c.name == column.name].index(column)
+        return self.widgets[column.name][idx]
+
     def add_sum(self, attributes):
         if 'sum' not in attributes:
             return
@@ -707,7 +712,7 @@ class ViewTree(View):
         for col in self.treeview.get_columns():
             if not col.get_visible() or not col.name:
                 continue
-            widget = self.widgets[col.name]
+            widget = self.get_column_widget(col)
             values.append('"'
                 + str(widget.get_textual_value(record)).replace('"', '""')
                 + '"')
@@ -766,7 +771,7 @@ class ViewTree(View):
                 group.add(record)
             record = group[idx]
             for col, value in zip(columns, line):
-                widget = self.widgets[col.name]
+                widget = self.get_column_widget(col)
                 if widget.get_textual_value(record) != value:
                     widget.value_from_text(record, value)
                     if value and not widget.get_textual_value(record):
@@ -966,8 +971,8 @@ class ViewTree(View):
             if (col.get_width() != col.width and col.get_visible()
                     and not col.get_expand()):
                 fields[col.name] = col.get_width()
-        #Don't set width for last visible columns
-        #as it depends of the screen size
+        # Don't set width for last visible columns
+        # as it depends of the screen size
         if last_col and last_col.name in fields:
             del fields[last_col.name]
 
@@ -1080,6 +1085,30 @@ class ViewTree(View):
             self.set_state()
         self.update_sum()
 
+        # Set column visibility depending on attributes and domain
+        domain = []
+        if self.screen.domain:
+            domain.append(self.screen.domain)
+        tab_domain = self.screen.screen_container.get_tab_domain()
+        if tab_domain:
+            domain.append(tab_domain)
+        domain = simplify(domain)
+        for column in self.treeview.get_columns():
+            name = column.name
+            if not name:
+                continue
+            widget = self.get_column_widget(column)
+            if widget.attrs.get('tree_invisible', False):
+                column.set_visible(False)
+            elif name == self.screen.exclude_field:
+                column.set_visible(False)
+            else:
+                inv_domain = domain_inversion(domain, name)
+                if not isinstance(inv_domain, bool):
+                    inv_domain = simplify(inv_domain)
+                unique, _, _ = unique_value(inv_domain)
+                column.set_visible(not unique)
+
     def set_state(self):
         record = self.screen.current_record
         if record:
@@ -1092,26 +1121,42 @@ class ViewTree(View):
     def update_sum(self):
         selected_records = self.selected_records
         for name, label in self.sum_widgets:
-            sum_ = 0
-            selected_sum = 0
+            sum_ = None
+            selected_sum = None
             loaded = True
             digit = 0
+            field = self.screen.group.fields[name]
             for record in self.screen.group:
                 if not record.get_loaded([name]) and record.id >= 0:
                     loaded = False
                     break
-                field = record[name]
                 value = field.get(record)
                 if value is not None:
-                    sum_ += value
+                    if sum_ is None:
+                        sum_ = value
+                    else:
+                        sum_ += value
                     if record in selected_records or not selected_records:
-                        selected_sum += value
-                    digit = max(field.digits(record)[1], digit)
+                        if selected_sum is None:
+                            selected_sum = value
+                        else:
+                            selected_sum += value
+                    if hasattr(field, 'digits'):
+                        digit = max(field.digits(record)[1], digit)
 
             if loaded:
-                text = '%s / %s' % (
-                    locale.format('%.*f', (digit, selected_sum), True),
-                    locale.format('%.*f', (digit, sum_), True))
+                if field.attrs['type'] == 'timedelta':
+                    converter = self.screen.context.get(
+                        field.attrs.get('converter'))
+                    selected_sum = common.timedelta.format(
+                        selected_sum, converter)
+                    sum_ = common.timedelta.format(sum_, converter)
+                else:
+                    selected_sum = locale.format(
+                        '%.*f', (digit, selected_sum or 0), True)
+                    sum_ = locale.format('%.*f', (digit, sum_ or 0), True)
+
+                text = '%s / %s' % (selected_sum, sum_)
             else:
                 text = '-'
             label.set_text(text)
diff --git a/tryton/gui/window/view_form/view/list_gtk/__init__.py b/tryton/gui/window/view_form/view/list_gtk/__init__.py
index c86640b..4effdfa 100644
--- a/tryton/gui/window/view_form/view/list_gtk/__init__.py
+++ b/tryton/gui/window/view_form/view/list_gtk/__init__.py
@@ -1,2 +1,2 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index eb24be4..6d244f3 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -1,12 +1,12 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import gobject
 from itertools import islice, cycle
 
 from tryton.common import MODELACCESS
-from tryton.common.date_widget import DateEntry
+from tryton.common.datetime_ import Date, Time
 
 _ = gettext.gettext
 
@@ -54,9 +54,9 @@ class EditableTreeView(TreeView):
         self.editable = position
         self.view = view
 
-    def on_quit_cell(self, current_record, fieldname, value, callback=None):
-        field = current_record[fieldname]
-        widget = self.view.widgets[fieldname]
+    def on_quit_cell(self, current_record, column, value, callback=None):
+        field = current_record[column.name]
+        widget = self.view.get_column_widget(column)
 
         # The value has not changed and is valid ... do nothing.
         if value == widget.get_textual_value(current_record) \
@@ -66,9 +66,9 @@ class EditableTreeView(TreeView):
             return
         widget.value_from_text(current_record, value, callback=callback)
 
-    def on_open_remote(self, current_record, fieldname, create, value,
+    def on_open_remote(self, current_record, column, create, value,
             entry=None, callback=None):
-        widget = self.view.widgets[fieldname]
+        widget = self.view.get_column_widget(column)
         if value != widget.get_textual_value(current_record) or not value:
             changed = True
         else:
@@ -110,11 +110,13 @@ class EditableTreeView(TreeView):
         field = record[column.name]
         if hasattr(field, 'editabletree_entry'):
             entry = field.editabletree_entry
+            if isinstance(entry, (Date, Time)):
+                txt = entry.props.value
             if isinstance(entry, gtk.Entry):
                 txt = entry.get_text()
             else:
                 txt = entry.get_active_text()
-            self.on_quit_cell(record, column.name, txt)
+            self.on_quit_cell(record, column, txt)
         return True
 
     def on_keypressed(self, entry, event):
@@ -141,9 +143,9 @@ class EditableTreeView(TreeView):
                 leaving = True
 
         if event.keyval in self.leaving_events or leaving:
-            if isinstance(entry, gtk.Entry):
-                if isinstance(entry, DateEntry):
-                    entry.date_get()
+            if isinstance(entry, (Date, Time)):
+                txt = entry.props.value
+            elif isinstance(entry, gtk.Entry):
                 txt = entry.get_text()
             else:
                 txt = entry.get_active_text()
@@ -195,7 +197,7 @@ class EditableTreeView(TreeView):
                         entry.handler_unblock(entry.editing_done_id)
                 else:
                     gobject.idle_add(self.set_cursor, path, column, True)
-            self.on_quit_cell(record, column.name, txt, callback=callback)
+            self.on_quit_cell(record, column, txt, callback=callback)
             return True
         elif event.keyval in (gtk.keysyms.F3, gtk.keysyms.F2):
             if isinstance(entry, gtk.Entry):
@@ -205,14 +207,14 @@ class EditableTreeView(TreeView):
             entry.handler_block(entry.editing_done_id)
 
             def callback():
-                widget = self.view.widgets[column.name]
+                widget = self.view.get_column_widget(column)
                 value = widget.get_textual_value(record)
                 if isinstance(entry, gtk.Entry):
                     entry.set_text(value)
                 else:
                     entry.set_active_text(value)
                 entry.handler_unblock(entry.editing_done_id)
-            self.on_open_remote(record, column.name,
+            self.on_open_remote(record, column,
                 create=(event.keyval == gtk.keysyms.F3), value=value,
                 callback=callback)
         else:
@@ -260,9 +262,9 @@ class EditableTreeView(TreeView):
             return True
         model = self.get_model()
         record = model.get_value(model.get_iter(path), 0)
-        if isinstance(entry, gtk.Entry):
-            if isinstance(entry, DateEntry):
-                entry.date_get()
-            self.on_quit_cell(record, column.name, entry.get_text())
+        if isinstance(entry, (Date, Time)):
+            self.on_quit_cell(record, column, entry.props.value)
+        elif isinstance(entry, gtk.Entry):
+            self.on_quit_cell(record, column, entry.get_text())
         elif isinstance(entry, (gtk.ComboBoxEntry, gtk.ComboBox)):
-            self.on_quit_cell(record, column.name, entry.get_active_text())
+            self.on_quit_cell(record, column, entry.get_active_text())
diff --git a/tryton/gui/window/view_form/view/list_gtk/widget.py b/tryton/gui/window/view_form/view/list_gtk/widget.py
index ef4a949..e1aedaa 100644
--- a/tryton/gui/window/view_form/view/list_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/list_gtk/widget.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import os
 import tempfile
@@ -13,11 +13,9 @@ from functools import wraps, partial
 from tryton.gui.window.win_search import WinSearch
 from tryton.gui.window.win_form import WinForm
 from tryton.gui.window.view_form.screen import Screen
-import tryton.rpc as rpc
 from tryton.common import COLORS, file_selection, file_open, slugify
 import tryton.common as common
 from tryton.common.cellrendererbutton import CellRendererButton
-from tryton.common.cellrendererdate import CellRendererDate
 from tryton.common.cellrenderertext import CellRendererText, \
     CellRendererTextCompletion
 from tryton.common.cellrenderertoggle import CellRendererToggle
@@ -27,10 +25,12 @@ from tryton.common.cellrendererfloat import CellRendererFloat
 from tryton.common.cellrendererbinary import CellRendererBinary
 from tryton.common.cellrendererclickablepixbuf import \
     CellRendererClickablePixbuf
-from tryton.translate import date_format
 from tryton.common import data2pixbuf
 from tryton.common.completion import get_completion, update_completion
 from tryton.common.selection import SelectionMixin, PopdownMixin
+from tryton.common.datetime_ import CellRendererDate, CellRendererTime
+from tryton.common.datetime_strftime import datetime_strftime
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -108,7 +108,13 @@ class CellCache(list):
         return wrapper
 
 
-class Affix(object):
+class Cell(object):
+
+    def get_color(self, record):
+        return record.expr_eval(self.view.attributes.get('colors', '"black"'))
+
+
+class Affix(Cell):
 
     def __init__(self, view, attrs, protocol=None):
         super(Affix, self).__init__()
@@ -148,6 +154,12 @@ class Affix(object):
             if not text:
                 text = field.get_client(record) or ''
             cell.set_property('text', text)
+            fg_color = self.get_color(record)
+            cell.set_property('foreground', fg_color)
+            if fg_color == 'black':
+                cell.set_property('foreground-set', False)
+            else:
+                cell.set_property('foreground-set', True)
 
     def clicked(self, renderer, path):
         store = self.view.treeview.get_model()
@@ -163,10 +175,10 @@ class Affix(object):
             webbrowser.open(value, new=2)
 
 
-class Char(object):
+class GenericText(Cell):
 
     def __init__(self, view, attrs, renderer=None):
-        super(Char, self).__init__()
+        super(GenericText, self).__init__()
         self.attrs = attrs
         if renderer is None:
             renderer = CellRendererText
@@ -210,7 +222,7 @@ class Char(object):
 
         if self.attrs.get('type', field.attrs.get('type')) in \
                 ('float', 'integer', 'biginteger', 'boolean',
-                'numeric', 'float_time'):
+                'numeric', 'timedelta'):
             align = 1
         else:
             align = 0
@@ -255,9 +267,6 @@ class Char(object):
 
         cell.set_property('xalign', align)
 
-    def get_color(self, record):
-        return record.expr_eval(self.view.attributes.get('colors', '"black"'))
-
     def open_remote(self, record, create, changed=False, text=None,
             callback=None):
         raise NotImplementedError
@@ -283,7 +292,20 @@ class Char(object):
         return record, field
 
 
-class Int(Char):
+class Char(GenericText):
+
+    @realized
+    @CellCache.cache
+    def setter(self, column, cell, store, iter_):
+        super(Char, self).setter(column, cell, store, iter_)
+        cell.set_property('single-paragraph-mode', True)
+
+
+class Text(GenericText):
+    pass
+
+
+class Int(GenericText):
 
     def __init__(self, view, attrs, renderer=None):
         if renderer is None:
@@ -304,7 +326,7 @@ class Int(Char):
             callback()
 
 
-class Boolean(Char):
+class Boolean(GenericText):
 
     def __init__(self, view, attrs=None,
             renderer=None):
@@ -338,35 +360,61 @@ class URL(Char):
         cell.set_property('visible', not readonly)
 
 
-class Date(Char):
+class Date(GenericText):
 
     def __init__(self, view, attrs, renderer=None):
         if renderer is None:
-            renderer = partial(CellRendererDate, date_format())
+            renderer = CellRendererDate
         super(Date, self).__init__(view, attrs, renderer=renderer)
-        self.renderer.connect('editing-started', self.editing_started)
-
-
-class Datetime(Date):
 
     @realized
     def setter(self, column, cell, store, iter):
-        super(Datetime, self).setter(column, cell, store, iter)
         record = store.get_value(iter, 0)
         field = record[self.attrs['name']]
-        time_format = field.time_format(record)
-        self.renderer.format = date_format() + ' ' + time_format
+        self.renderer.props.format = self.get_format(record, field)
+        super(Date, self).setter(column, cell, store, iter)
+
+    def get_format(self, record, field):
+        if field and record:
+            return field.date_format(record)
+        else:
+            return '%x'
+
+    def get_textual_value(self, record):
+        if not record:
+            return ''
+        value = record[self.attrs['name']].get_client(record)
+        if value:
+            return datetime_strftime(value, self.renderer.props.format)
+        else:
+            return ''
 
 
 class Time(Date):
 
-    @realized
-    def setter(self, column, cell, store, iter):
-        super(Time, self).setter(column, cell, store, iter)
-        record = store.get_value(iter, 0)
-        field = record[self.attrs['name']]
-        time_format = field.time_format(record)
-        self.renderer.format = time_format
+    def __init__(self, view, attrs, renderer=None):
+        if renderer is None:
+            renderer = CellRendererTime
+        super(Time, self).__init__(view, attrs, renderer=renderer)
+
+    def get_format(self, record, field):
+        if field and record:
+            return field.time_format(record)
+        else:
+            return '%X'
+
+    def get_textual_value(self, record):
+        if not record:
+            return ''
+        value = record[self.attrs['name']].get_client(record)
+        if value:
+            return value.strftime(self.renderer.props.format)
+        else:
+            return ''
+
+
+class TimeDelta(GenericText):
+    pass
 
 
 class Float(Int):
@@ -385,28 +433,7 @@ class Float(Int):
         cell.digits = digits
 
 
-class FloatTime(Char):
-
-    def __init__(self, view, attrs, renderer=None):
-        super(FloatTime, self).__init__(view, attrs, renderer=renderer)
-        self.conv = None
-        if attrs and attrs.get('float_time'):
-            self.conv = rpc.CONTEXT.get(attrs['float_time'])
-
-    def get_textual_value(self, record):
-        val = record[self.attrs['name']].get(record)
-        return common.float_time_to_text(val, self.conv)
-
-    def value_from_text(self, record, text, callback=None):
-        field = record[self.attrs['name']]
-        digits = field.digits(record)
-        field.set_client(record,
-            common.text_to_float_time(text, self.conv, digits[1]))
-        if callback:
-            callback()
-
-
-class Binary(Char):
+class Binary(GenericText):
 
     def __init__(self, view, attrs, renderer=None):
         self.filename = attrs.get('filename')
@@ -509,7 +536,7 @@ class Binary(Char):
         field.set_client(record, False)
 
 
-class Image(Char):
+class Image(GenericText):
 
     def __init__(self, view, attrs=None, renderer=None):
         if renderer is None:
@@ -530,13 +557,14 @@ class Image(Char):
             else:
                 value = field.get_data(record)
         pixbuf = data2pixbuf(value)
-        if self.attrs['width'] != -1 or self.attrs['height'] != -1:
+        if (self.attrs.get('width', -1) != -1 or
+                self.attrs.get('height', -1) != -1):
             pixbuf = common.resize_pixbuf(pixbuf,
                 self.attrs['width'], self.attrs['height'])
         cell.set_property('pixbuf', pixbuf)
 
 
-class M2O(Char):
+class M2O(GenericText):
 
     def __init__(self, view, attrs, renderer=None):
         if renderer is None and int(attrs.get('completion', 1)):
@@ -554,8 +582,12 @@ class M2O(Char):
         relation = record[self.attrs['name']].attrs['relation']
         domain = record[self.attrs['name']].domain_get(record)
         context = record[self.attrs['name']].context_get(record)
-        self.search_remote(record, relation, text, domain=domain,
+        win = self.search_remote(record, relation, text, domain=domain,
             context=context, callback=callback)
+        if len(win.screen.group) == 1:
+            win.response(None, gtk.RESPONSE_OK)
+        else:
+            win.show()
 
     def open_remote(self, record, create=True, changed=False, text=None,
             callback=None):
@@ -563,7 +595,8 @@ class M2O(Char):
         relation = field.attrs['relation']
 
         access = common.MODELACCESS[relation]
-        if create and not access['create']:
+        if (create
+                and not (self.attrs.get('create', True) and access['create'])):
             return
         elif not access['read']:
             return
@@ -576,7 +609,7 @@ class M2O(Char):
             obj_id = field.get(record)
         else:
             self.search_remote(record, relation, text, domain=domain,
-                context=context, callback=callback)
+                context=context, callback=callback).show()
             return
         screen = Screen(relation, domain=domain, context=context,
             mode=['form'])
@@ -607,12 +640,16 @@ class M2O(Char):
                 callback()
         win = WinSearch(relation, search_callback, sel_multi=False,
             context=context, domain=domain)
-        win.screen.search_filter(text.decode('utf-8'))
+        win.screen.search_filter(quote(text.decode('utf-8')))
+        return win
 
     def set_completion(self, entry, path):
         if entry.get_completion():
             entry.set_completion(None)
-        completion = get_completion()
+        access = common.MODELACCESS[self.attrs['relation']]
+        completion = get_completion(
+            search=access['read'],
+            create=self.attrs.get('create', True) and access['create'])
         completion.connect('match-selected', self._completion_match_selected,
             path)
         completion.connect('action-activated',
@@ -665,7 +702,7 @@ class O2O(M2O):
     pass
 
 
-class O2M(Char):
+class O2M(GenericText):
 
     @realized
     def setter(self, column, cell, store, iter):
@@ -723,7 +760,7 @@ class M2M(O2M):
             context=context)
 
 
-class Selection(Char, SelectionMixin, PopdownMixin):
+class Selection(GenericText, SelectionMixin, PopdownMixin):
 
     def __init__(self, *args):
         super(Selection, self).__init__(*args)
@@ -775,7 +812,7 @@ class Selection(Char, SelectionMixin, PopdownMixin):
         return False
 
 
-class Reference(Char, SelectionMixin):
+class Reference(GenericText, SelectionMixin):
 
     def __init__(self, view, attrs, renderer=None):
         super(Reference, self).__init__(view, attrs, renderer=renderer)
diff --git a/tryton/gui/window/view_form/view/screen_container.py b/tryton/gui/window/view_form/view/screen_container.py
index b071732..5ae9cba 100644
--- a/tryton/gui/window/view_form/view/screen_container.py
+++ b/tryton/gui/window/view_form/view/screen_container.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import gobject
@@ -8,7 +8,7 @@ import tryton.common as common
 from tryton.common.domain_parser import quote
 from tryton.common.placeholder_entry import PlaceholderEntry
 from tryton.common.treeviewcontrol import TreeViewControl
-from tryton.translate import date_format
+from tryton.common.datetime_ import Date, Time, DateTime, add_operators
 from tryton.config import TRYTON_ICON
 from tryton.pyson import PYSONDecoder
 
@@ -17,17 +17,25 @@ _ = gettext.gettext
 
 class Dates(gtk.HBox):
 
-    def __init__(self, format_):
+    def __init__(self, format_=None, _entry=Date):
         super(Dates, self).__init__()
-        self.from_ = common.date_widget.DateEntry(format_)
+        self.from_ = add_operators(_entry())
         self.pack_start(self.from_, expand=True, fill=True)
         self.pack_start(gtk.Label(_('..')), expand=False, fill=False)
-        self.to = common.date_widget.DateEntry(format_)
+        self.to = add_operators(_entry())
         self.pack_start(self.to, expand=True, fill=True)
+        if format_:
+            self.from_.props.format = format_
+            self.to.props.format = format_
+
+    def _get_value(self, widget):
+        value = widget.props.value
+        if value:
+            return common.datetime_strftime(value, widget.props.format)
 
     def get_value(self):
-        from_ = self.from_.get_text()
-        to = self.to.get_text()
+        from_ = self._get_value(self.from_)
+        to = self._get_value(self.to)
         if from_ and to:
             if from_ != to:
                 return '%s..%s' % (quote(from_), quote(to))
@@ -38,6 +46,47 @@ class Dates(gtk.HBox):
         elif to:
             return '<=%s' % quote(to)
 
+    def connect_activate(self, callback):
+        self.from_.connect('activate', callback)
+        self.to.connect('activate', callback)
+
+    def set_values(self, from_, to):
+        self.from_.props.value = from_
+        self.to.props.value = to
+
+
+class Times(Dates):
+
+    def __init__(self, format_, _entry=Time):
+        super(Times, self).__init__(_entry=_entry)
+
+    def connect_activate(self, callback):
+        for widget in self.from_.get_children() + self.to.get_children():
+            widget.child.connect('activate', callback)
+
+
+class DateTimes(Dates):
+
+    def __init__(self, date_format, time_format, _entry=DateTime):
+        super(DateTimes, self).__init__(_entry=_entry)
+        self.from_.props.date_format = date_format
+        self.to.props.date_format = date_format
+        self.from_.props.time_format = time_format
+        self.to.props.time_format = time_format
+
+    def _get_value(self, widget):
+        value = widget.props.value
+        if value:
+            return common.datetime_strftime(value,
+                widget.props.date_format + ' ' + widget.props.time_format)
+
+    def connect_activate(self, callback):
+        for widget in self.from_.get_children() + self.to.get_children():
+            if isinstance(widget, Date):
+                widget.connect('activate', callback)
+            elif isinstance(widget, Time):
+                widget.child.connect('activate', callback)
+
 
 class Selection(gtk.ScrolledWindow):
 
@@ -274,10 +323,6 @@ class ScreenContainer(object):
         for r in res:
             model.append([r.strip()])
 
-    def clear(self, widget=None):
-        self.search_entry.set_text('')
-        self.bookmark_match()
-
     def get_text(self):
         return self.search_entry.get_text().decode('utf-8')
 
@@ -420,12 +465,10 @@ class ScreenContainer(object):
                 if value is not None:
                     text += quote(label) + ': ' + value + ' '
             self.set_text(text)
-            self.last_search_text = self.get_text()
             self.do_search()
-
-        def date_activate(entry):
-            entry._focus_out(entry, None)
-            search()
+            # Store text after doing the search
+            # because domain parser could simplify the text
+            self.last_search_text = self.get_text()
 
         if not self.search_window:
             self.search_window = gtk.Window()
@@ -469,15 +512,16 @@ class ScreenContainer(object):
                     entry = Selection(selections)
                     yoptions = gtk.FILL | gtk.EXPAND
                 elif field['type'] in ('date', 'datetime', 'time'):
+                    date_format = self.screen.context.get('date_format', '%x')
                     if field['type'] == 'date':
-                        format_ = date_format()
+                        entry = Dates(date_format)
                     elif field['type'] in ('datetime', 'time'):
-                        format_ = PYSONDecoder({}).decode(field['format'])
-                        if field['type'] == 'datetime':
-                            format_ = date_format() + ' ' + format_
-                    entry = Dates(format_)
-                    entry.from_.connect('activate', date_activate)
-                    entry.to.connect('activate', date_activate)
+                        time_format = PYSONDecoder({}).decode(field['format'])
+                        if field['type'] == 'time':
+                            entry = Times(time_format)
+                        elif field['type'] == 'datetime':
+                            entry = DateTimes(date_format, time_format)
+                    entry.connect_activate(lambda *a: search())
                 else:
                     entry = gtk.Entry()
                     entry.connect('activate', lambda *a: search())
@@ -539,8 +583,7 @@ class ScreenContainer(object):
                     if isinstance(entry, gtk.ComboBox):
                         entry.set_active(-1)
                     elif isinstance(entry, Dates):
-                        entry.from_.set_text('')
-                        entry.to.set_text('')
+                        entry.set_values(None, None)
                     elif isinstance(entry, Selection):
                         entry.treeview.get_selection().unselect_all()
                     else:
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index 07f9731..31d8a4b 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of this
-#repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import sys
 import gtk
 import gobject
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 4a536e9..1272f16 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -1,13 +1,12 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 from tryton.common import TRYTON_ICON, COLOR_SCHEMES
 import tryton.common as common
-from tryton.config import CONFIG
 import gtk
 import pango
 import gettext
 from tryton.gui.window.nomodal import NoModal
-from tryton.common import RPCExecute, RPCException
+from tryton.common.domain_parser import quote
 
 _ = gettext.gettext
 
@@ -72,6 +71,8 @@ class WinForm(NoModal):
             self.but_ok.set_can_default(True)
             self.but_ok.show()
             self.win.add_action_widget(self.but_ok, gtk.RESPONSE_OK)
+            if not new:
+                self.but_ok.props.sensitive = False
         else:
             self.but_ok = self.win.add_button(gtk.STOCK_OK,
                 gtk.RESPONSE_OK)
@@ -332,17 +333,7 @@ class WinForm(NoModal):
         from tryton.gui.window.win_search import WinSearch
         domain = self.domain[:]
         model_name = self.screen.model_name
-
-        try:
-            if self.wid_text.get_text():
-                dom = [('rec_name', 'ilike',
-                        '%' + self.wid_text.get_text() + '%'), domain]
-            else:
-                dom = domain
-            ids = RPCExecute('model', model_name, 'search', dom,
-                    0, CONFIG['client.limit'], None, context=self.context)
-        except RPCException:
-            return False
+        value = self.wid_text.get_text().decode('utf-8')
 
         def callback(result):
             if result:
@@ -351,11 +342,11 @@ class WinForm(NoModal):
                 self.screen.display(res_id=ids[0])
             self.screen.set_cursor()
             self.wid_text.set_text('')
-        if len(ids) != 1:
-            WinSearch(model_name, callback, sel_multi=True,
-                ids=ids, context=self.context, domain=domain)
-        else:
-            callback([(i, None) for i in ids])
+
+        win = WinSearch(model_name, callback, sel_multi=True,
+            context=self.context, domain=domain)
+        win.screen.search_filter(quote(value))
+        win.show()
 
     def _sig_label(self, screen, signal_data):
         name = '_'
@@ -388,9 +379,11 @@ class WinForm(NoModal):
 
     def activate_save(self, *args):
         modified = self.screen.modified()
-        self.but_ok.props.sensitive = modified
+        # Keep sensible as change could have been trigger by a Many2One edition
+        sensitive = modified or self.but_ok.props.sensitive
+        self.but_ok.props.sensitive = sensitive
         self.win.set_default_response(
-            gtk.RESPONSE_OK if modified else gtk.RESPONSE_CANCEL)
+            gtk.RESPONSE_OK if sensitive else gtk.RESPONSE_CANCEL)
 
     def close(self, widget):
         widget.emit_stop_by_name('close')
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index 7f8284b..aff8d38 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gobject
 import gettext
diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py
index 5ee48c7..7e2b698 100644
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import gettext
 import tryton.common as common
@@ -13,7 +13,7 @@ _ = gettext.gettext
 
 class WinSearch(NoModal):
 
-    def __init__(self, model, callback, sel_multi=True, ids=None, context=None,
+    def __init__(self, model, callback, sel_multi=True, context=None,
             domain=None, view_ids=None, views_preload=None, new=True):
         NoModal.__init__(self)
         if views_preload is None:
@@ -76,17 +76,12 @@ class WinSearch(NoModal):
 
         self.model_name = model
 
-        if ids:
-            self.screen.load(ids)
-
         self.win.set_size_request(700, 500)
 
         self.register()
         sensible_allocation = self.sensible_widget.get_allocation()
         self.win.set_default_size(int(sensible_allocation.width * 0.9),
             int(sensible_allocation.height * 0.9))
-        self.win.show()
-        common.center_window(self.win, self.parent, self.sensible_widget)
 
     def sig_activate(self, *args):
         self.view.treeview.emit_stop_by_name('row_activated')
@@ -100,6 +95,7 @@ class WinSearch(NoModal):
 
     def show(self):
         self.win.show()
+        common.center_window(self.win, self.parent, self.sensible_widget)
 
     def hide(self):
         self.win.hide()
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index c073c6b..5f23790 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 
 class Window(object):
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index b46a700..1c73c38 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gtk
 import pango
 import gettext
@@ -107,6 +107,12 @@ class Wizard(object):
 
             def execute_actions():
                 for action in result.get('actions', []):
+                    for k, v in [
+                            ('direct_print', self.direct_print),
+                            ('email_print', self.email_print),
+                            ('email', self.email),
+                            ]:
+                        action[0].setdefault(k, v)
                     Action._exec_action(*action, context=self.context.copy())
 
             if self.state == self.end_state:
diff --git a/tryton/ipc.py b/tryton/ipc.py
index 1c0d6fb..101f69c 100644
--- a/tryton/ipc.py
+++ b/tryton/ipc.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 """
 Inter-Process Communication
 """
diff --git a/tryton/jsonrpc.py b/tryton/jsonrpc.py
index 9e259e2..56fd4dd 100644
--- a/tryton/jsonrpc.py
+++ b/tryton/jsonrpc.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import xmlrpclib
 try:
     import simplejson as json
@@ -15,6 +15,7 @@ import StringIO
 import hashlib
 import base64
 import threading
+import errno
 from functools import partial
 from contextlib import contextmanager
 
@@ -55,8 +56,11 @@ def object_hook(dct):
         elif dct['__class__'] == 'time':
             return datetime.time(dct['hour'], dct['minute'], dct['second'],
                 dct['microsecond'])
-        elif dct['__class__'] == 'buffer':
-            return buffer(base64.decodestring(dct['base64']))
+        elif dct['__class__'] == 'timedelta':
+            return datetime.timedelta(seconds=dct['seconds'])
+        elif dct['__class__'] == 'bytes':
+            cast = bytearray if bytes == str else bytes
+            return cast(base64.decodestring(dct['base64']))
         elif dct['__class__'] == 'Decimal':
             return Decimal(dct['decimal'])
     return dct
@@ -93,8 +97,12 @@ class JSONEncoder(json.JSONEncoder):
                 'second': obj.second,
                 'microsecond': obj.microsecond,
                 }
-        elif isinstance(obj, buffer):
-            return {'__class__': 'buffer',
+        elif isinstance(obj, datetime.timedelta):
+            return {'__class__': 'timedelta',
+                'seconds': obj.total_seconds(),
+                }
+        elif isinstance(obj, (bytes, bytearray)):
+            return {'__class__': 'bytes',
                 'base64': base64.encodestring(obj),
                 }
         elif isinstance(obj, Decimal):
@@ -170,7 +178,7 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
     def make_connection(self, host):
         if self._connection and host == self._connection[0]:
             return self._connection[1]
-        host, extra_headers, x509 = self.get_host_info(host)
+        host, self._extra_headers, x509 = self.get_host_info(host)
 
         ca_certs = self.__ca_certs
         cert_reqs = ssl.CERT_REQUIRED if ca_certs else ssl.CERT_NONE
@@ -192,6 +200,7 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
             self._connection[1].connect()
             sock = self._connection[1].sock
             sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+            sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
 
         def https_connection():
             self._connection = host, HTTPSConnection(host,
@@ -200,6 +209,7 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
                 self._connection[1].connect()
                 sock = self._connection[1].sock
                 sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+                sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
                 try:
                     peercert = sock.getpeercert(True)
                 except socket.error:
@@ -261,8 +271,8 @@ class ServerProxy(xmlrpclib.ServerProxy):
                 verbose=self.__verbose
                 )
         except (socket.error, httplib.HTTPException), v:
-            # trap  'Broken pipe'
-            if isinstance(v, socket.error) and v.args[0] != 32:
+            if (isinstance(v, socket.error)
+                    and v.args[0] == errno.EPIPE):
                 raise
             # try one more time
             self.__transport.close()
diff --git a/tryton/plugins/__init__.py b/tryton/plugins/__init__.py
index 4aaa9c4..c97e445 100644
--- a/tryton/plugins/__init__.py
+++ b/tryton/plugins/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import os
 import sys
 import imp
@@ -19,7 +19,7 @@ def register():
     paths = [
         os.path.join(get_config_dir(), 'plugins'),
         os.path.dirname(__file__),
-        #py2exe
+        # py2exe
         os.path.join(os.path.abspath(os.path.normpath(
                     os.path.dirname(sys.argv[0]))), 'plugins'),
         ]
diff --git a/tryton/plugins/translation/__init__.py b/tryton/plugins/translation/__init__.py
index d88cf6e..cb64db1 100644
--- a/tryton/plugins/translation/__init__.py
+++ b/tryton/plugins/translation/__init__.py
@@ -1,8 +1,10 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-from tryton.gui.window import Window
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import gettext
 
+from tryton.gui.window import Window
+from tryton.common import MODELACCESS
+
 _ = gettext.gettext
 
 
@@ -14,6 +16,10 @@ def translate_view(datas):
 
 
 def get_plugins(model):
-    return [
-        (_('Translate view'), translate_view),
-    ]
+    access = MODELACCESS['ir.translation']
+    if access['read'] and access['write']:
+        return [
+            (_('Translate view'), translate_view),
+            ]
+    else:
+        return []
diff --git a/tryton/pyson.py b/tryton/pyson.py
index 48c5b15..7f55826 100644
--- a/tryton/pyson.py
+++ b/tryton/pyson.py
@@ -1,12 +1,28 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 try:
     import simplejson as json
 except ImportError:
     import json
 import datetime
 from dateutil.relativedelta import relativedelta
-from functools import reduce
+from functools import reduce, wraps
+
+
+def reduced_type(types):
+    types = types.copy()
+    for k, r in [(long, int), (str, basestring), (unicode, basestring)]:
+        if k in types:
+            types.remove(k)
+            types.add(r)
+    return types
+
+
+def reduce_type(func):
+    @wraps(func)
+    def wrapper(*args, **kwargs):
+        return reduced_type(func(*args, **kwargs))
+    return wrapper
 
 
 class PYSON(object):
@@ -79,6 +95,14 @@ class PYSON(object):
     def contains(self, k):
         return In(k, self)
 
+    def __repr__(self):
+        klass = self.__class__.__name__
+        return '%s(%s)' % (klass, ', '.join(map(repr, self.__repr_params__)))
+
+    @property
+    def __repr_params__(self):
+        return NotImplementedError
+
 
 class PYSONEncoder(json.JSONEncoder):
 
@@ -97,24 +121,34 @@ class PYSONEncoder(json.JSONEncoder):
 
 class PYSONDecoder(json.JSONDecoder):
 
-    def __init__(self, context=None):
+    def __init__(self, context=None, noeval=False):
         self.__context = context or {}
+        self.noeval = noeval
         super(PYSONDecoder, self).__init__(object_hook=self._object_hook)
 
     def _object_hook(self, dct):
         if '__class__' in dct:
-            klass = globals().get(dct['__class__'])
-            if klass and hasattr(klass, 'eval'):
-                return klass.eval(dct, self.__context)
+            klass = CONTEXT.get(dct['__class__'])
+            if klass:
+                if not self.noeval:
+                    return klass.eval(dct, self.__context)
+                else:
+                    dct = dct.copy()
+                    del dct['__class__']
+                    return klass(**dct)
         return dct
 
 
 class Eval(PYSON):
 
-    def __init__(self, value, default=''):
+    def __init__(self, v, d=''):
         super(Eval, self).__init__()
-        self._value = value
-        self._default = default
+        self._value = v
+        self._default = d
+
+    @property
+    def __repr_params__(self):
+        return self._value, self._default
 
     def pyson(self):
         return {
@@ -123,6 +157,7 @@ class Eval(PYSON):
             'd': self._default,
             }
 
+    @reduce_type
     def types(self):
         if isinstance(self._default, PYSON):
             return self._default.types()
@@ -136,13 +171,17 @@ class Eval(PYSON):
 
 class Not(PYSON):
 
-    def __init__(self, value):
+    def __init__(self, v):
         super(Not, self).__init__()
-        if isinstance(value, PYSON):
-            assert value.types() == set([bool]), 'value must be boolean'
+        if isinstance(v, PYSON):
+            assert v.types() == set([bool]), 'value must be boolean'
         else:
-            assert isinstance(value, bool), 'value must be boolean'
-        self._value = value
+            assert isinstance(v, bool), 'value must be boolean'
+        self._value = v
+
+    @property
+    def __repr_params__(self):
+        return (self._value,)
 
     def pyson(self):
         return {
@@ -160,9 +199,13 @@ class Not(PYSON):
 
 class Bool(PYSON):
 
-    def __init__(self, value):
+    def __init__(self, v):
         super(Bool, self).__init__()
-        self._value = value
+        self._value = v
+
+    @property
+    def __repr_params__(self):
+        return (self._value,)
 
     def pyson(self):
         return {
@@ -180,8 +223,9 @@ class Bool(PYSON):
 
 class And(PYSON):
 
-    def __init__(self, *statements):
+    def __init__(self, *statements, **kwargs):
         super(And, self).__init__()
+        statements = list(statements) + kwargs.get('s', [])
         for statement in statements:
             if isinstance(statement, PYSON):
                 assert statement.types() == set([bool]), \
@@ -190,7 +234,11 @@ class And(PYSON):
                 assert isinstance(statement, bool), \
                     'statement must be boolean'
         assert len(statements) >= 2, 'must have at least 2 statements'
-        self._statements = list(statements)
+        self._statements = statements
+
+    @property
+    def __repr_params__(self):
+        return tuple(self._statements)
 
     def pyson(self):
         return {
@@ -220,20 +268,25 @@ class Or(And):
 
 class Equal(PYSON):
 
-    def __init__(self, statement1, statement2):
+    def __init__(self, s1, s2):
+        statement1, statement2 = s1, s2
         super(Equal, self).__init__()
         if isinstance(statement1, PYSON):
             types1 = statement1.types()
         else:
-            types1 = set([type(statement1)])
+            types1 = reduced_type(set([type(s1)]))
         if isinstance(statement2, PYSON):
             types2 = statement2.types()
         else:
-            types2 = set([type(statement2)])
+            types2 = reduced_type(set([type(s2)]))
         assert types1 == types2, 'statements must have the same type'
         self._statement1 = statement1
         self._statement2 = statement2
 
+    @property
+    def __repr_params__(self):
+        return (self._statement1, self._statement2)
+
     def pyson(self):
         return {
             '__class__': 'Equal',
@@ -251,7 +304,8 @@ class Equal(PYSON):
 
 class Greater(PYSON):
 
-    def __init__(self, statement1, statement2, equal=False):
+    def __init__(self, s1, s2, e=False):
+        statement1, statement2, equal = s1, s2, e
         super(Greater, self).__init__()
         for i in (statement1, statement2):
             if isinstance(i, PYSON):
@@ -268,6 +322,10 @@ class Greater(PYSON):
         self._statement2 = statement2
         self._equal = equal
 
+    @property
+    def __repr_params__(self):
+        return (self._statement1, self._statement2, self._equal)
+
     def pyson(self):
         return {
             '__class__': 'Greater',
@@ -314,7 +372,8 @@ class Less(Greater):
 
 class If(PYSON):
 
-    def __init__(self, condition, then_statement, else_statement=None):
+    def __init__(self, c, t, e=None):
+        condition, then_statement, else_statement = c, t, e
         super(If, self).__init__()
         if isinstance(condition, PYSON):
             assert condition.types() == set([bool]), \
@@ -324,17 +383,21 @@ class If(PYSON):
         if isinstance(then_statement, PYSON):
             then_types = then_statement.types()
         else:
-            then_types = set([type(then_statement)])
+            then_types = reduced_type(set([type(then_statement)]))
         if isinstance(else_statement, PYSON):
-            assert then_types == else_statement.types(), \
-                'then and else statements must be the same type'
+            else_types = else_statement.types()
         else:
-            assert then_types == set([type(else_statement)]), \
-                'then and else statements must be the same type'
+            else_types = reduced_type(set([type(else_statement)]))
+        assert then_types == else_types, \
+            'then and else statements must be the same type'
         self._condition = condition
         self._then_statement = then_statement
         self._else_statement = else_statement
 
+    @property
+    def __repr_params__(self):
+        return (self._condition, self._then_statement, self._else_statement)
+
     def pyson(self):
         return {
             '__class__': 'If',
@@ -343,6 +406,7 @@ class If(PYSON):
             'e': self._else_statement,
             }
 
+    @reduce_type
     def types(self):
         if isinstance(self._then_statement, PYSON):
             return self._then_statement.types()
@@ -359,7 +423,8 @@ class If(PYSON):
 
 class Get(PYSON):
 
-    def __init__(self, obj, key, default=''):
+    def __init__(self, v, k, d=''):
+        obj, key, default = v, k, d
         super(Get, self).__init__()
         if isinstance(obj, PYSON):
             assert obj.types() == set([dict]), 'obj must be a dict'
@@ -367,12 +432,16 @@ class Get(PYSON):
             assert isinstance(obj, dict), 'obj must be a dict'
         self._obj = obj
         if isinstance(key, PYSON):
-            assert key.types() == set([str]), 'key must be a string'
+            assert key.types() == set([basestring]), 'key must be a string'
         else:
-            assert type(key) == str, 'key must be a string'
+            assert isinstance(key, basestring), 'key must be a string'
         self._key = key
         self._default = default
 
+    @property
+    def __repr_params__(self):
+        return (self._obj, self._key, self._default)
+
     def pyson(self):
         return {
             '__class__': 'Get',
@@ -381,6 +450,7 @@ class Get(PYSON):
             'd': self._default,
             }
 
+    @reduce_type
     def types(self):
         if isinstance(self._default, PYSON):
             return self._default.types()
@@ -394,26 +464,31 @@ class Get(PYSON):
 
 class In(PYSON):
 
-    def __init__(self, key, obj):
+    def __init__(self, k, v):
+        key, obj = k, v
         super(In, self).__init__()
         if isinstance(key, PYSON):
-            assert key.types().issubset(set([str, int, long])), \
+            assert key.types().issubset(set([basestring, int])), \
                 'key must be a string or an integer or a long'
         else:
-            assert type(key) in [str, int, long], \
+            assert isinstance(key, (basestring, int, long)), \
                 'key must be a string or an integer or a long'
         if isinstance(obj, PYSON):
             assert obj.types().issubset(set([dict, list])), \
                 'obj must be a dict or a list'
             if obj.types() == set([dict]):
-                assert type(key) == str, 'key must be a string'
+                assert isinstance(key, basestring), 'key must be a string'
         else:
-            assert type(obj) in [dict, list]
-            if type(obj) == dict:
-                assert type(key) == str, 'key must be a string'
+            assert isinstance(obj, (dict, list))
+            if isinstance(obj, dict):
+                assert isinstance(key, basestring), 'key must be a string'
         self._key = key
         self._obj = obj
 
+    @property
+    def __repr_params__(self):
+        return (self._key, self._obj)
+
     def pyson(self):
         return {
             '__class__': 'In',
@@ -432,7 +507,13 @@ class In(PYSON):
 class Date(PYSON):
 
     def __init__(self, year=None, month=None, day=None,
-            delta_years=0, delta_months=0, delta_days=0):
+            delta_years=0, delta_months=0, delta_days=0, **kwargs):
+        year = kwargs.get('y', year)
+        month = kwargs.get('M', month)
+        day = kwargs.get('d', day)
+        delta_years = kwargs.get('dy', delta_years)
+        delta_months = kwargs.get('dM', delta_months)
+        delta_days = kwargs.get('dd', delta_days)
         super(Date, self).__init__()
         for i in (year, month, day, delta_years, delta_months, delta_days):
             if isinstance(i, PYSON):
@@ -448,6 +529,11 @@ class Date(PYSON):
         self._delta_months = delta_months
         self._delta_days = delta_days
 
+    @property
+    def __repr_params__(self):
+        return (self._year, self._month, self._day,
+            self._delta_years, self._delta_months, self._delta_days)
+
     def pyson(self):
         return {
             '__class__': 'Date',
@@ -480,14 +566,22 @@ class DateTime(Date):
             hour=None, minute=None, second=None, microsecond=None,
             delta_years=0, delta_months=0, delta_days=0,
             delta_hours=0, delta_minutes=0, delta_seconds=0,
-            delta_microseconds=0):
+            delta_microseconds=0, **kwargs):
+        hour = kwargs.get('h', hour)
+        minute = kwargs.get('m', minute)
+        second = kwargs.get('s', second)
+        microsecond = kwargs.get('ms', microsecond)
+        delta_hours = kwargs.get('dh', delta_hours)
+        delta_minutes = kwargs.get('dm', delta_minutes)
+        delta_seconds = kwargs.get('ds', delta_seconds)
+        delta_microseconds = kwargs.get('dms', delta_microseconds)
         super(DateTime, self).__init__(year=year, month=month, day=day,
                 delta_years=delta_years, delta_months=delta_months,
-                delta_days=delta_days)
+                delta_days=delta_days, **kwargs)
         for i in (hour, minute, second, microsecond,
                 delta_hours, delta_minutes, delta_seconds, delta_microseconds):
             if isinstance(i, PYSON):
-                assert i.types() == set([int, long, type(None)]), \
+                assert i.types() == set([int, type(None)]), \
                     '%s must be an integer or None' % (i,)
             else:
                 assert isinstance(i, (int, long, type(None))), \
@@ -501,6 +595,15 @@ class DateTime(Date):
         self._delta_seconds = delta_seconds
         self._delta_microseconds = delta_microseconds
 
+    @property
+    def __repr_params__(self):
+        date_params = super(DateTime, self).__repr_params__
+        return (date_params[:3]
+            + (self._hour, self._minute, self._second, self._microsecond)
+            + date_params[3:]
+            + (self._delta_hours, self._delta_minutes, self._delta_seconds,
+                self._delta_microseconds))
+
     def pyson(self):
         res = super(DateTime, self).pyson()
         res['__class__'] = 'DateTime'
@@ -539,15 +642,19 @@ class DateTime(Date):
 
 class Len(PYSON):
 
-    def __init__(self, value):
+    def __init__(self, v):
         super(Len, self).__init__()
-        if isinstance(value, PYSON):
-            assert value.types().issubset(set([dict, list, str])), \
+        if isinstance(v, PYSON):
+            assert v.types().issubset(set([dict, list, basestring])), \
                 'value must be a dict or a list or a string'
         else:
-            assert type(value) in [dict, list, str], \
+            assert isinstance(v, (dict, list, basestring)), \
                 'value must be a dict or list or a string'
-        self._value = value
+        self._value = v
+
+    @property
+    def __repr_params__(self):
+        return (self._value,)
 
     def pyson(self):
         return {
@@ -556,7 +663,7 @@ class Len(PYSON):
             }
 
     def types(self):
-        return set([int, long])
+        return set([int])
 
     @staticmethod
     def eval(dct, context):
@@ -577,4 +684,4 @@ CONTEXT = {
     'Date': Date,
     'DateTime': DateTime,
     'Len': Len,
-}
+    }
diff --git a/tryton/rpc.py b/tryton/rpc.py
index b0af1a4..d5f476a 100644
--- a/tryton/rpc.py
+++ b/tryton/rpc.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 import httplib
 import logging
 import socket
diff --git a/tryton/signal_event.py b/tryton/signal_event.py
index 3b8759b..6cb6107 100644
--- a/tryton/signal_event.py
+++ b/tryton/signal_event.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Signal event"
 
 
diff --git a/tryton/translate.py b/tryton/translate.py
index 7073039..8b8d8de 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -1,10 +1,9 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 "Translate"
 import os
 import locale
 import gettext
-from version import PACKAGE
 from tryton.config import CURRENT_DIR
 import logging
 import gtk
@@ -150,8 +149,6 @@ _LOCALE2WIN32 = {
     'zh_TW': 'Chinese_Taiwan',
 }
 
-_DATE_FORMAT = '%m/%d/%Y'
-
 
 def setlang(lang=None, locale_dict=None):
     "Set language"
@@ -184,15 +181,13 @@ def setlang(lang=None, locale_dict=None):
                     _('Unable to set locale %s') % lang2 + '.' + encoding)
 
     if os.path.isdir(locale_dir):
-        gettext.bindtextdomain(PACKAGE, locale_dir)
-    gettext.textdomain(PACKAGE)
+        gettext.bindtextdomain('tryton', locale_dir)
+    gettext.textdomain('tryton')
 
     if locale_dict:
         conv = locale.localeconv()
         for field in locale_dict.keys():
             if field == 'date':
-                global _DATE_FORMAT
-                _DATE_FORMAT = str(locale_dict[field]).replace('%-', '%')
                 continue
             conv[field] = locale_dict[field]
         locale.localeconv = lambda: conv
@@ -203,11 +198,3 @@ def set_language_direction(direction):
         gtk.widget_set_default_direction(gtk.TEXT_DIR_RTL)
     else:
         gtk.widget_set_default_direction(gtk.TEXT_DIR_LTR)
-
-
-def date_format():
-    '''
-    Return the locale date format
-    '''
-    global _DATE_FORMAT
-    return _DATE_FORMAT
diff --git a/tryton/version.py b/tryton/version.py
deleted file mode 100644
index 51d3886..0000000
--- a/tryton/version.py
+++ /dev/null
@@ -1,6 +0,0 @@
-#This file is part of Tryton.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-PACKAGE = "tryton"
-VERSION = "3.4.3"
-LICENSE = "GPL-3"
-WEBSITE = "http://www.tryton.org/"
-- 
tryton-client



More information about the tryton-debian-vcs mailing list