[tryton-debian-vcs] tryton-client branch upstream updated. upstream/4.0.6-1-g277aaf8

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Tue Dec 6 15:11:18 UTC 2016


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/4.0.6-1-g277aaf8

commit 277aaf89085f46a0ff34d46e27425ad623a97021
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Dec 5 09:34:05 2016 +0100

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

diff --git a/CHANGELOG b/CHANGELOG
index 26f62c7..11335a1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,20 +1,21 @@
-Version 4.0.6 - 2016-11-06
-* Bug fixes (see mercurial logs for details)
-
-Version 4.0.5 - 2016-10-02
-* Bug fixes (see mercurial logs for details)
-
-Version 4.0.4 - 2016-09-03
-* Bug fixes (see mercurial logs for details)
-
-Version 4.0.3 - 2016-08-02
-* Bug fixes (see mercurial logs for details)
-
-Version 4.0.2 - 2016-07-04
-* Bug fixes (see mercurial logs for details)
-
-Version 4.0.1 - 2016-05-11
+Version 4.2.0 - 2016-11-28
 * Bug fixes (see mercurial logs for details)
+* Add support for GTK+ 3.0
+* Add PYSON Widget
+* Show records names in wizard title
+* Add support for datetime_field to Reference
+* Show non editable widget as insensitive
+* Move info-bar at the bottom
+* Manage readonly on fields translation dialog
+* Restore tab default order when no manual change
+* Call autocompletion when setting record value
+* Remove database management
+* Limit readonly state for xxx2Many
+* Show records names in relate window title
+* Add support for count on Action Window Domains
+* Manage custom login process
+* Add clear icon on Many2One
+* Re-position icons on Many2One widget
 
 Version 4.0.0 - 2016-05-02
 * Bug fixes (see mercurial logs for details)
diff --git a/MANIFEST.in b/MANIFEST.in
index 6804662..a4bd4cf 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -8,7 +8,9 @@ include setup-single.nsi
 include setup-bundle.sh
 include tryton.desktop
 include *.nsh
-include Microsoft.VC90.CRT.manifest
+include setup-freeze.py
+include make-*-installer.sh
+include */gtk-2.0/*
 include doc/*
 recursive-include doc *.rst
 recursive-include doc *.po
diff --git a/Microsoft.VC90.CRT.manifest b/Microsoft.VC90.CRT.manifest
deleted file mode 100644
index 4b85b06..0000000
--- a/Microsoft.VC90.CRT.manifest
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-    <assemblyIdentity
-        version="5.0.0.0"
-        processorArchitecture="x86"
-        name="Tryton"
-        type="win32"
-    />
-    <description>Tryton client</description>
-    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
-        <security>
-            <requestedPrivileges>
-                <requestedExecutionLevel
-                    level="asInvoker"
-                    uiAccess="false">
-                </requestedExecutionLevel>
-            </requestedPrivileges>
-        </security>
-    </trustInfo>
-    <dependency>
-        <dependentAssembly>
-            <assemblyIdentity
-                type="win32"
-                name="Microsoft.VC90.CRT"
-                version="9.0.21022.8"
-                processorArchitecture="x86"
-                publicKeyToken="1fc8b3b9a1e18e3b">
-            </assemblyIdentity>
-        </dependentAssembly>
-    </dependency>
-    <dependency>
-        <dependentAssembly>
-            <assemblyIdentity
-                type="win32"
-                name="Microsoft.Windows.Common-Controls"
-                version="6.0.0.0"
-                processorArchitecture="X86"
-                publicKeyToken="6595b64144ccf1df"
-                language="*"
-            />
-        </dependentAssembly>
-    </dependency>
-</assembly>
diff --git a/PKG-INFO b/PKG-INFO
index d9105d7..e60659f 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 4.0.6
+Version: 4.2.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/4.0/
+Download-URL: http://downloads.tryton.org/4.2/
 Description: tryton
         ======
         
@@ -79,10 +79,11 @@ Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Hungarian
 Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Polish
 Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
-Classifier: Natural Language :: Spanish
 Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Spanish
 Classifier: Natural Language :: Japanese
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
diff --git a/bin/tryton b/bin/tryton
index 58ecd1e..576f8d7 100755
--- a/bin/tryton
+++ b/bin/tryton
@@ -9,33 +9,21 @@ try:
 except NameError:
     pass
 
-# True only if running as a py2exe app
-if os.name == 'nt' and hasattr(sys, "frozen"):
+if hasattr(sys, 'frozen'):
     if not ('-v' in sys.argv or '--verbose' in sys.argv or
             '-l' in sys.argv or '--log-level' in sys.argv):
         sys.stdout = open(os.devnull, 'w')
         sys.stderr = open(os.devnull, 'w')
-    etc = os.path.join(os.path.dirname(sys.executable), 'etc')
+    prefix = os.path.dirname(sys.executable)
+    os.environ['GTK_EXE_PREFIX'] = prefix
+    os.environ['GTK_DATA_PREFIX'] = prefix
+    etc = os.path.join(prefix, 'etc')
     os.environ['GTK2_RC_FILES'] = os.path.join(etc, 'gtk-2.0', 'gtkrc')
-    os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(etc, 'gtk-2.0',
-        'gdk-pixbuf.loaders')
-    os.environ['GTK_IM_MODULE_FILE'] = os.path.join(etc, 'gtk-2.0',
-        'gtk.immodules')
+    os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(
+            etc, 'gtk-2.0', 'gdk-pixbuf.loaders')
+    os.environ['GTK_IM_MODULE_FILE'] = os.path.join(
+            etc, 'gtk-2.0', 'gtk.immodules')
 
-if os.name == 'mac' or \
-        (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
-    resources = os.path.join(os.path.dirname(sys.argv[0]), '..', 'Resources')
-    gtkrc = os.path.join(resources, 'gtkrc')
-    pixbuf_loader = os.path.join(resources, 'gdk-pixbuf.loaders')
-    pangorc = os.path.join(resources, 'pangorc')
-    immodules = os.path.join(resources, 'gtk.immodules')
-    if os.path.isdir(resources):
-        os.environ['GTK2_RC_FILES'] = gtkrc
-        os.environ['GTK_EXE_PREFIX'] = resources
-        os.environ['GTK_DATA_PREFIX'] = resources
-        os.environ['GDK_PIXBUF_MODULE_FILE'] = pixbuf_loader
-        os.environ['PANGO_RC_FILE'] = pangorc
-        os.environ['GTK_IM_MODULE_FILE'] = immodules
 
 # Disable dbusmenu to show second menu in tabs
 os.environ['UBUNTU_MENUPROXY'] = '0'
diff --git a/darwin/gtk-2.0/gdk-pixbuf.loaders b/darwin/gtk-2.0/gdk-pixbuf.loaders
new file mode 100644
index 0000000..fe2e0be
--- /dev/null
+++ b/darwin/gtk-2.0/gdk-pixbuf.loaders
@@ -0,0 +1,107 @@
+# GdkPixbuf Image Loader Modules file
+# Automatically generated file, do not edit
+# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.34.0
+#
+# LoaderDir = @executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders
+#
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so"
+"ani" 4 "gdk-pixbuf" "Windows animated cursor" "LGPL"
+"application/x-navi-animation" ""
+"ani" ""
+"RIFF    ACON" "    xxxx    " 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
+"bmp" 5 "gdk-pixbuf" "BMP" "LGPL"
+"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
+"bmp" ""
+"BM" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
+"gif" 4 "gdk-pixbuf" "GIF" "LGPL"
+"image/gif" ""
+"gif" ""
+"GIF8" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so"
+"icns" 4 "gdk-pixbuf" "MacOS X icon" "GPL"
+"image/x-icns" ""
+"icns" ""
+"icns" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so"
+"ico" 5 "gdk-pixbuf" "Windows icon" "LGPL"
+"image/x-icon" "image/x-ico" "image/x-win-bitmap" "image/vnd.microsoft.icon" "application/ico" "image/ico" "image/icon" "text/ico" ""
+"ico" "cur" ""
+"  \001   " "zz znz" 100
+"  \002   " "zz znz" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
+"jpeg" 5 "gdk-pixbuf" "JPEG" "LGPL"
+"image/jpeg" ""
+"jpeg" "jpe" "jpg" ""
+"\377\330" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so"
+"png" 5 "gdk-pixbuf" "PNG" "LGPL"
+"image/png" ""
+"png" ""
+"\211PNG\r\n\032\n" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
+"pnm" 4 "gdk-pixbuf" "PNM/PBM/PGM/PPM" "LGPL"
+"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
+"pnm" "pbm" "pgm" "ppm" ""
+"P1" "" 100
+"P2" "" 100
+"P3" "" 100
+"P4" "" 100
+"P5" "" 100
+"P6" "" 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so"
+"qtif" 4 "gdk-pixbuf" "QuickTime" "LGPL"
+"image/x-quicktime" "image/qtif" ""
+"qtif" "qif" ""
+"abcdidsc" "xxxx    " 100
+"abcdidat" "xxxx    " 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so"
+"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
+"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
+"svg" "svgz" "svg.gz" ""
+" <svg" "*    " 100
+" <!DOCTYPE svg" "*             " 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so"
+"tga" 4 "gdk-pixbuf" "Targa" "LGPL"
+"image/x-tga" ""
+"tga" "targa" ""
+" \001\001" "x  " 100
+" \001\t" "x  " 100
+"  \002" "xz " 99
+"  \003" "xz " 100
+"  \n" "xz " 100
+"  \v" "xz " 100
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
+"tiff" 5 "gdk-pixbuf" "TIFF" "LGPL"
+"image/tiff" ""
+"tiff" "tif" ""
+"MM *" "  z " 100
+"II* " "   z" 100
+"II* \020   CR\002 " "   z zzz   z" 0
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
+"xbm" 4 "gdk-pixbuf" "XBM" "LGPL"
+"image/x-xbitmap" ""
+"xbm" ""
+"#define " "" 100
+"/*" "" 50
+
+"@executable_path/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
+"xpm" 4 "gdk-pixbuf" "XPM" "LGPL"
+"image/x-xpixmap" ""
+"xpm" ""
+"/* XPM */" "" 100
+
+
diff --git a/darwin/gtk-2.0/gtk.immodules b/darwin/gtk-2.0/gtk.immodules
new file mode 100644
index 0000000..e010446
--- /dev/null
+++ b/darwin/gtk-2.0/gtk.immodules
@@ -0,0 +1,40 @@
+# GTK+ Input Method Modules file
+# Automatically generated file, do not edit
+# Created by gtk-query-immodules-2.0 from gtk+-2.24.30
+#
+# ModulesPath = /Users/ced/.gtk-2.0/2.10.0/x86_64-apple-darwin15.5.0/immodules:/Users/ced/.gtk-2.0/2.10.0/immodules:/Users/ced/.gtk-2.0/x86_64-apple-darwin15.5.0/immodules:/Users/ced/.gtk-2.0/immodules:@executable_path/lib/gtk-2.0/2.10.0/x86_64-apple-darwin15.5.0/immodules:/Users/ced/gtk/inst/lib/gtk-2.0/2.10.0/immodules:/Users/ced/gtk/inst/lib/gtk-2.0/x86_64-apple-darwin15.5.0/immodules:/Users/ced/gtk/inst/lib/gtk-2.0/immodules
+#
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-am-et.so" 
+"am_et" "Amharic (EZ+)" "gtk20" "@executable_path/share/locale" "am" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so" 
+"cedilla" "Cedilla" "gtk20" "@executable_path/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so" 
+"cyrillic_translit" "Cyrillic (Transliterated)" "gtk20" "@executable_path/share/locale" "" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.so" 
+"inuktitut" "Inuktitut (Transliterated)" "gtk20" "@executable_path/share/locale" "iu" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-ipa.so" 
+"ipa" "IPA" "gtk20" "@executable_path/share/locale" "" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-multipress.so" 
+"multipress" "Multipress" "gtk20" "" "" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-quartz.so" 
+"quartz" "Mac OS X Quartz" "gtk20" "@executable_path/share/locale" "ja:ko:zh:*" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-thai.so" 
+"thai" "Thai-Lao" "gtk20" "@executable_path/share/locale" "lo:th" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-ti-er.so" 
+"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk20" "@executable_path/share/locale" "ti" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-ti-et.so" 
+"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk20" "@executable_path/share/locale" "ti" 
+
+"@executable_path/lib/gtk-2.0/2.10.0/immodules/im-viqr.so" 
+"viqr" "Vietnamese (VIQR)" "gtk20" "@executable_path/share/locale" "vi" 
+
+
diff --git a/darwin/gtk-2.0/gtkrc b/darwin/gtk-2.0/gtkrc
new file mode 100644
index 0000000..45be19a
--- /dev/null
+++ b/darwin/gtk-2.0/gtkrc
@@ -0,0 +1,2 @@
+include "../../share/themes/Clearlooks/gtk-2.0/gtkrc"
+include "../../share/themes/Mac/gtk-2.0-key/gtkrc"
diff --git a/doc/conf.py b/doc/conf.py
index 5183344..bf2682e 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -46,9 +46,9 @@ copyright = u'2008-2011,  Anne Krings, Bertrand Chenal, Cédric Krier, \
 # built documents.
 #
 # The short X.Y version.
-version = '4.0'
+version = '4.2'
 # The full version, including alpha/beta/rc tags.
-release = '4.0'
+release = '4.2'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/doc/installation.rst b/doc/installation.rst
index b4b0bb3..6895965 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -5,11 +5,11 @@ Prerequisites
 -------------
 
  * Python 2.7 or later (http://www.python.org/)
- * pygtk 2.22 or later (http://www.pygtk.org/)
+ * gtk+ 2.6 or later and pygtk 2.22 or later (http://www.pygtk.org/)
+ * gtk+ 3.20 or later and py-gobject3 (http://www.gtk.org/)
  * librsvg (http://librsvg.sourceforge.net/)
  * python-dateutil (http://labix.org/python-dateutil)
  * chardet (http://pypi.python.org/pypi/chardet)
- * Optional: simplejson (http://undefined.org/python/#simplejson)
  * Optional: cdecimal (http://www.bytereef.org/mpdecimal/index.html)
  * Optional: GooCalendar (http://code.google.com/p/goocalendar/)
 
@@ -28,7 +28,7 @@ site-packages directory on your system.
 For advanced options, please refer to the easy_install__ and/or the
 distutils__ documentation:
 
-__ http://peak.telecommunity.com/DevCenter/EasyInstall
+__ http://setuptools.readthedocs.io/en/latest/easy_install.html
 
 __ http://docs.python.org/inst/inst.html
 
diff --git a/doc/usage.rst b/doc/usage.rst
index f3799c7..8f26461 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -22,7 +22,7 @@ Synopsis
 After startup, there raises the `login dialog`__ and optionally a
 `tips dialog`__.
 
-__ Menu-File-Connect_
+__ Menu-Connection_
 __ Menu-Help-Tips_
 
 
@@ -89,7 +89,7 @@ Figure: Tryton client application::
   Client Window       ________________________________________________________________
                      |                      Tryton                               _ o x|
                      |----------------------------------------------------------------|
-  Menu bar           | File User Options Favorites Help                               |
+  Menu bar           | Connection User Options Favorites Help                         |
                      |________________________________________________________________|
                      |             |          ______                                  |
   Tabs               | Menu        |  [Tab1] |[Tab2]| [Tab3]...                       |
@@ -202,12 +202,12 @@ menu action. Most dialogs provide a *Cancel* button, used to stop the
 complete dialog process.
 
 
-File
-^^^^
-The file menu level provides functions about Tryton server login,
-Database maintenance and closing the client application.
+Connection
+^^^^^^^^^^
+The connection menu level provides functions about Tryton server login,
+logout and closing the client application.
 
-.. _Menu-File-Connect:
+.. _Menu-Connection:
 
 Connect...
   By choosing this menu entry the client will be connected to an available
@@ -226,138 +226,19 @@ Connect...
    user may be logged out of the current session, and need to login again.
    Default timeout for inactivity logout is six minutes.
 
-__ File-Server-Connection_
+__ Connection-Server-Connection_
 
 
-.. _Menu-File-Disconnect:
+.. _Menu-Connection-Disconnect:
 
 Disconnect...
   Disconnects the client from an active server connection. In case of unsaved
   changes in an open tab, the Tryton client will request for saving the
   changes.
 
-Database
-++++++++
-This menu level provides tools to maintain Tryton databases.
-For all database operations the user needs to know the Tryton server password.
-
-.. warning:: Consider not to use this server-site maintaining functions,
-             if there are security concerns. Since there are always security
-             concerns in a multiuser environment, better disclaim to provide
-             these functions on database level.
-
-.. note:: Database names are restricted by some rules:
-
-          * Allowed characters are alpha-nummeric [A-Za-z0-9] and
-            underscore (_).
-          * First character must be an alphabetic letter.
-          * The maximum length of a database name is 64 characters.
-
-          Tryton automatically checks if the given database name follows
-          the rules.
-
-.. _Menu-File-New_Database:
-
-New Database
-  Opens a :term:`dialog` for creating a new Tryton database with an initial
-  user called *admin*.
-
-  * Server Setup:
-
-    - `Server Connection`__
-    - Tryton Server Password: The password given in the Tryton server
-      configuration.
-
-  * New Database Setup:
-
-    - Database Name: The name of the new database.
-    - Default Language: The default language of the new database.
-    - Admin Password: The *admin*-user password of the new database.
-    - Confirm Admin Password: Repeat the password of the new 'admin' user.
-
-  * Actions:
-
-    - Create: Creates the new database with initial user *admin* and the
-      provided password.
-    - Cancel
-
-__ File-Server-Connection_
-
-.. note:: The appropriate Tryton database user (defined in the Tryton server
-   configuration) needs to be authorized to create databases for this step.
-
-.. _Menu-File-Restore_Database:
-
-Restore Database
-  Opens a :term:`dialog` to restore a previously created database backup
-  file.
-
-  * File choose menu dialog
-
-    - Choose a database backup file in the file system to be restored.
-    - Actions:
-
-      + Open: Open the chosen backup file.
-      + Cancel
+__ Connection-Server-Connection_
 
-  * Restore Database dialog:
-
-    - `Server Connection`__
-    - Tryton Server Password: The password given in the Tryton server
-      configuration.
-    - File to Restore: Show filename and path.
-    - New Database Name: Enter a new name for the database to be restored
-    - Actions:
-
-      + Restore: Proceed database restore.
-      + Cancel
-
-__ File-Server-Connection_
-
-.. _Menu-File-Backup_Database:
-
-Backup Database
-  Open a :term:`dialog` to backup an existing database and save it as a file.
-
-  * `Backup a Database` dialog
-
-    - `Server connection`__
-    - Database: Choose the Tryton database to backup.
-    - Tryton Server Password: The password given in the Tryton server
-      configuration.
-    - Actions:
-
-      + Backup: Proceed database backup.
-      + Cancel
-
-  * `Save Backup File` dialog
-
-    - Choose a filename and location for the created backup file.
-    - Save the backup file.
-
-__ File-Server-Connection_
-
-.. _Menu-File-Drop_Database:
-
-Drop Database
-  Open a :term:`dialog` to delete an existing Tryton database.
-
-  * `Delete a Database` dialog
-
-    - `Server Connection`__
-    - Database: Choose a database to delete.
-    - Tryton Server Password: The password given in the Tryton server
-      configuration.
-
-  * Confirmation Dialog
-
-    - Yes: Drop the database
-    - No: Do not drop the database
-    - Cancel
-
-__ File-Server-Connection_
-
-.. _File-Server-Connection:
+.. _Connection-Server-Connection:
 
 Server (connection) dialog:
   This :term:`dialog` is widely used to setup a Tryton server connection.
@@ -878,3 +759,7 @@ Configuration File
    ~/.config/tryton/x.y/ca_certs         # Certification Authority (http://docs.python.org/library/ssl.html#ssl-certificates)
    ~/.config/tryton/x.y/profiles.cfg     # Profile configuration
    ~/.config/tryton/x.y/plugins          # Local user plugins directory
+
+.. note::
+    `~` means the home directory of the user.
+    But on Windows system it is the `APPDATA` directory.
diff --git a/make-darwin-installer.sh b/make-darwin-installer.sh
new file mode 100644
index 0000000..ee844f9
--- /dev/null
+++ b/make-darwin-installer.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+version=`python setup.py --version`
+python setup-freeze.py bdist_mac
+rm -rf dist
+mkdir dist
+mv build/Tryton.app dist/
+for f in CHANGELOG COPYRIGHT LICENSE README; do
+    cp ${f} dist/${f}.txt
+done
+cp -r doc dist/
+rm -f "tryton-${version}.dmg"
+hdiutil create "tryton-${version}.dmg" -volname "Tryton Client ${version}" \
+    -fs HFS+ -srcfolder dist
diff --git a/make-win32-installer.sh b/make-win32-installer.sh
new file mode 100644
index 0000000..2c48f1c
--- /dev/null
+++ b/make-win32-installer.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+version=`python setup.py --version`
+python setup-freeze.py install_exe -d dist
+makensis -DVERSION=${version} setup.nsi
+makensis -DVERSION=${version} setup-single.nsi
diff --git a/setup-freeze.py b/setup-freeze.py
new file mode 100644
index 0000000..0ef6f3a
--- /dev/null
+++ b/setup-freeze.py
@@ -0,0 +1,70 @@
+import os
+import sys
+from subprocess import Popen, PIPE
+
+from cx_Freeze import setup, Executable
+
+include_files = [
+    ('tryton/data', 'data'),
+    ('tryton/plugins', 'plugins'),
+    (os.path.join(sys.prefix, 'lib/gtk-2.0'), 'lib/gtk-2.0'),
+    (os.path.join(sys.prefix, 'lib/gdk-pixbuf-2.0'), 'lib/gdk-pixbuf-2.0'),
+    (os.path.join(sys.prefix, 'share/locale'), 'share/locale'),
+    ('%s/gtk-2.0/gtkrc' % sys.platform, 'etc/gtk-2.0/gtkrc'),
+    ('%s/gtk-2.0/gtk.immodules' % sys.platform, 'etc/gtk-2.0/gtk.immodules'),
+    ('%s/gtk-2.0/gdk-pixbuf.loaders' % sys.platform,
+        'etc/gtk-2.0/gdk-pixbuf.loaders'),
+    ]
+
+if sys.platform == 'win32':
+    include_files.extend([
+        (os.path.join(sys.prefix, 'share/themes/MS-Windows'),
+            'share/themes/MS-Windows'),
+        ])
+    dll_paths = os.getenv('PATH', os.defpath).split(os.pathsep)
+    required_dlls = [
+        'librsvg-2-2.dll',
+        'libcroco-0.6-3.dll',
+        ]
+    for dll in required_dlls:
+        for path in dll_paths:
+            path = os.path.join(path, dll)
+            if os.path.isfile(path):
+                break
+        else:
+            raise Exception('%s not found' % dll)
+        include_files.append((path, dll))
+
+elif sys.platform == 'darwin':
+    include_files.extend([
+        (os.path.join(sys.prefix, 'share/themes/Clearlooks'),
+            'share/themes/Clearlooks'),
+        (os.path.join(sys.prefix, 'share/themes/Mac'),
+            'share/themes/Mac'),
+        ])
+
+version = Popen(
+    'python setup.py --version', stdout=PIPE, shell=True).stdout.read()
+version = version.strip()
+
+setup(name='tryton',
+    version=version,
+    options={
+        'build_exe': {
+            'compressed': False,
+            'include_files': include_files,
+            'silent': True,
+            'packages': ['gtk'],
+            'icon': os.path.join(
+                'tryton', 'data', 'pixmaps', 'tryton', 'tryton.ico'),
+            'include_msvcr': True,
+            },
+        'bdist_mac': {
+            'iconfile': os.path.join(
+                'tryton', 'data', 'pixmaps', 'tryton', 'tryton.icns'),
+            'bundle_name': 'Tryton',
+            }
+        },
+    executables=[Executable(
+            'bin/tryton',
+            base='Win32GUI' if sys.platform == 'win32' else None)])
diff --git a/setup.py b/setup.py
index 62c3d7b..3329d8a 100644
--- a/setup.py
+++ b/setup.py
@@ -4,8 +4,6 @@
 
 from setuptools import setup, find_packages
 import os
-import glob
-import sys
 import re
 
 
@@ -42,61 +40,6 @@ package_data = {
     }
 data_files = []
 
-if os.name == 'nt':
-    import py2exe
-
-    args['windows'] = [{
-        'script': os.path.join('bin', 'tryton'),
-        'icon_resources': [
-                (1, os.path.join('tryton', 'data', 'pixmaps',
-                        'tryton', 'tryton.ico'))],
-    }]
-    args['options'] = {
-        'py2exe': {
-            'optimize': 0,
-            'bundle_files': 3,  # don't bundle because gtk doesn't support it
-            'packages': [
-                'encodings',
-                'gtk',
-                'atk',
-                'pango',
-                'pangocairo',
-                'gio',
-            ],
-            'dll_excludes': ['dnsapi.dll', 'usp10.dll', 'iphlpapi.dll'],
-            'excludes': ['Tkconstants', 'Tkinter', 'tcl'],
-        }
-    }
-    args['zipfile'] = 'library.zip'
-
-    data_files.append(('', ['msvcr90.dll', 'msvcp90.dll', 'msvcm90.dll']))
-    manifest = read('Microsoft.VC90.CRT.manifest')
-    args['windows'][0]['other_resources'] = [(24, 1, manifest)]
-
-
-elif sys.platform == 'darwin':
-    import py2app
-    from modulegraph.find_modules import PY_SUFFIXES
-    PY_SUFFIXES.append('')
-    args['app'] = [os.path.join('bin', 'tryton')]
-    args['options'] = {
-        'py2app': {
-            'argv_emulation': True,
-            'includes': ('pygtk, gtk, glib, cairo, pango, pangocairo, atk, '
-                'gobject, gio, gtk.keysyms'),
-            'resources': 'tryton/plugins, tryton/data',
-            'frameworks':
-            'librsvg-2.2.dylib, libjpeg.9.dylib, libtiff.5.dylib',
-            'plist': {
-                'CFBundleIdentifier': 'org.tryton',
-                'CFBundleName': 'Tryton',
-            },
-            'iconfile': os.path.join('tryton', 'data', 'pixmaps',
-                'tryton', 'tryton.icns'),
-        },
-    }
-    del package_data['tryton']
-
 
 def get_version():
     init = read(os.path.join('tryton', '__init__.py'))
@@ -144,10 +87,11 @@ dist = setup(name=name,
         'Natural Language :: German',
         'Natural Language :: Hungarian',
         'Natural Language :: Italian',
+        'Natural Language :: Polish',
         'Natural Language :: Portuguese (Brazilian)',
         'Natural Language :: Russian',
-        'Natural Language :: Spanish',
         'Natural Language :: Slovenian',
+        'Natural Language :: Spanish',
         'Natural Language :: Japanese',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.7',
@@ -161,230 +105,9 @@ dist = setup(name=name,
         "chardet",
         ],
     extras_require={
-        'simplejson': ['simplejson'],
         'cdecimal': ['cdecimal'],
         'calendar': ['GooCalendar'],
         },
     zip_safe=False,
     **args
     )
-
-if os.name == 'nt':
-    def find_gtk_dir():
-        for directory in os.environ['PATH'].split(';'):
-            if not os.path.isdir(directory):
-                continue
-            for file in ('gtk-demo.exe', 'gdk-pixbuf-query-loaders.exe'):
-                if os.path.isfile(os.path.join(directory, file)):
-                    return os.path.dirname(directory)
-        return None
-
-    def find_makensis():
-        default_path = os.path.join(os.environ['PROGRAMFILES'], 'NSIS')
-        for directory in os.environ['PATH'].split(';') + [default_path]:
-            if not os.path.isdir(directory):
-                continue
-            path = os.path.join(directory, 'makensis.exe')
-            if os.path.isfile(path):
-                return path
-        return None
-
-    if 'py2exe' in dist.commands:
-        import shutil
-
-        gtk_dir = find_gtk_dir()
-
-        dist_dir = dist.command_obj['py2exe'].dist_dir
-
-        for dirname in ['plugins', 'data']:
-            if os.path.isdir(os.path.join(dist_dir, dirname)):
-                shutil.rmtree(os.path.join(dist_dir, dirname))
-            shutil.copytree(os.path.join(os.path.dirname(__file__), 'tryton',
-                    dirname), os.path.join(dist_dir, dirname))
-
-        if os.path.isdir(os.path.join(dist_dir, 'etc')):
-            shutil.rmtree(os.path.join(dist_dir, 'etc'))
-        shutil.copytree(os.path.join(gtk_dir, 'etc'),
-            os.path.join(dist_dir, 'etc'))
-
-        from subprocess import Popen, PIPE
-        query_loaders = Popen(os.path.join(gtk_dir, 'bin',
-                'gdk-pixbuf-query-loaders'), stdout=PIPE).stdout.read()
-        query_loaders = query_loaders.replace(
-            gtk_dir.replace(os.sep, '/') + '/', '')
-
-        loaders_path = os.path.join(dist_dir, 'etc', 'gtk-2.0',
-                'gdk-pixbuf.loaders')
-        with open(loaders_path, 'w') as loaders:
-            loaders.writelines([line + "\n" for line in
-                    query_loaders.split(os.linesep)])
-
-        if os.path.isdir(os.path.join(dist_dir, 'lib')):
-            shutil.rmtree(os.path.join(dist_dir, 'lib'))
-        shutil.copytree(os.path.join(gtk_dir, 'lib'),
-            os.path.join(dist_dir, 'lib'))
-
-        for file in glob.iglob(os.path.join(gtk_dir, 'bin', '*.dll')):
-            if os.path.isfile(file):
-                shutil.copy(file, dist_dir)
-
-        if os.path.isdir(os.path.join(dist_dir, 'share', 'locale')):
-            shutil.rmtree(os.path.join(dist_dir, 'share', 'locale'))
-        shutil.copytree(os.path.join(gtk_dir, 'share', 'locale'),
-            os.path.join(dist_dir, 'share', 'locale'))
-
-        if os.path.isdir(os.path.join(dist_dir, 'share', 'themes',
-                    'MS-Windows')):
-            shutil.rmtree(os.path.join(dist_dir, 'share', 'themes',
-                    'MS-Windows'))
-        shutil.copytree(os.path.join(gtk_dir, 'share', 'themes', 'MS-Windows'),
-            os.path.join(dist_dir, 'share', 'themes', 'MS-Windows'))
-
-        makensis = find_makensis()
-        if makensis:
-            from subprocess import Popen
-            Popen([makensis, "/DVERSION=" + version,
-                str(os.path.join(os.path.dirname(__file__),
-                    'setup.nsi'))]).wait()
-            Popen([makensis, "/DVERSION=" + version,
-                str(os.path.join(os.path.dirname(__file__),
-                    'setup-single.nsi'))]).wait()
-        else:
-            print "makensis.exe not found: installers can not be created, "\
-                "skip setup.nsi and setup-single.nsi"
-elif sys.platform == 'darwin':
-
-    def find_gtk_dir():
-        for directory in os.environ['PATH'].split(':'):
-            if not os.path.isdir(directory):
-                continue
-            for file in ('gtk-demo',):
-                if os.path.isfile(os.path.join(directory, file)):
-                    return os.path.dirname(directory)
-        return None
-
-    if 'py2app' in dist.commands:
-        import shutil
-        from subprocess import Popen, PIPE
-        from itertools import chain
-        from glob import iglob
-        gtk_dir = find_gtk_dir()
-        gtk_binary_version = Popen(['pkg-config',
-                '--variable=gtk_binary_version', 'gtk+-2.0'],
-            stdout=PIPE).stdout.read().strip()
-
-        dist_dir = dist.command_obj['py2app'].dist_dir
-        resources_dir = os.path.join(dist_dir, 'Tryton.app', 'Contents',
-            'Resources')
-        gtk_2_dist_dir = os.path.join(resources_dir, 'lib', 'gtk-2.0')
-        pango_dist_dir = os.path.join(resources_dir, 'lib', 'pango')
-
-        if os.path.isdir(pango_dist_dir):
-            shutil.rmtree(pango_dist_dir)
-        shutil.copytree(os.path.join(gtk_dir, 'lib', 'pango'), pango_dist_dir)
-
-        query_pango = Popen(os.path.join(gtk_dir, 'bin', 'pango-querymodules'),
-                stdout=PIPE).stdout.read()
-        query_pango = query_pango.replace(gtk_dir,
-            '@executable_path/../Resources')
-        pango_modules_path = os.path.join(resources_dir, 'pango.modules')
-        with open(pango_modules_path, 'w') as pango_modules:
-            pango_modules.write(query_pango)
-
-        with open(os.path.join(resources_dir, 'pangorc'), 'w') as pangorc:
-            pangorc.write('[Pango]\n')
-            pangorc.write('ModuleFiles=./pango.modules\n')
-
-        if not os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                    'engines')):
-            os.makedirs(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                    'engines'))
-        shutil.copyfile(os.path.join(gtk_dir, 'lib', 'gtk-2.0',
-                gtk_binary_version, 'engines', 'libclearlooks.so'),
-            os.path.join(gtk_2_dist_dir, gtk_binary_version, 'engines',
-                'libclearlooks.so'))
-
-        query_loaders = Popen(os.path.join(gtk_dir, 'bin',
-                'gdk-pixbuf-query-loaders'), stdout=PIPE).stdout.read()
-        loader_dir, = re.findall('# LoaderDir = (.*)', query_loaders)
-        loader_pkg = (loader_dir.replace(os.path.join(gtk_dir, 'lib'),
-                '').split(os.path.sep)[-3])
-        loader_dist_dir = os.path.join(resources_dir, 'lib', loader_pkg,
-                gtk_binary_version, 'loaders')
-        if os.path.isdir(loader_dist_dir):
-            shutil.rmtree(loader_dist_dir)
-        if os.path.isdir(loader_dir):
-            shutil.copytree(loader_dir, loader_dist_dir)
-        query_loaders = query_loaders.replace(gtk_dir,
-            '@executable_path/../Resources')
-
-        loaders_path = os.path.join(resources_dir, 'gdk-pixbuf.loaders')
-        with open(loaders_path, 'w') as loaders:
-            loaders.write(query_loaders)
-
-        if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                    'immodules')):
-            shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                    'immodules'))
-        shutil.copytree(os.path.join(gtk_dir, 'lib', 'gtk-2.0',
-                gtk_binary_version, 'immodules'), os.path.join(gtk_2_dist_dir,
-                gtk_binary_version, 'immodules'))
-
-        query_immodules = Popen(os.path.join(gtk_dir, 'bin',
-                'gtk-query-immodules-2.0'), stdout=PIPE).stdout.read()
-        query_immodules = query_immodules.replace(gtk_dir,
-            '@executable_path/../Resources')
-
-        immodules_path = os.path.join(resources_dir, 'gtk.immodules')
-        with open(immodules_path, 'w') as immodules:
-            immodules.write(query_immodules)
-
-        with open(os.path.join(resources_dir, 'gtkrc'), 'w') as gtkrc:
-            for name, dirname in (
-                    ('Clearlooks', 'gtk-2.0'),
-                    ('Mac', 'gtk-2.0-key'),
-                    ):
-                rcfile = os.path.join(gtk_dir, 'share', 'themes', name,
-                    dirname, 'gtkrc')
-                gtkrc.write(open(rcfile).read())
-
-        if os.path.isdir(os.path.join(resources_dir, 'share', 'locale')):
-            shutil.rmtree(os.path.join(resources_dir, 'share', 'locale'))
-        shutil.copytree(os.path.join(gtk_dir, 'share', 'locale'),
-            os.path.join(resources_dir, 'share', 'locale'))
-
-        # fix pathes within shared libraries
-        for library in chain(
-                iglob(os.path.join(loader_dist_dir, '*.so')),
-                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                        'engines', '*.so')),
-                iglob(os.path.join(gtk_2_dist_dir, gtk_binary_version,
-                        'immodules', '*.so')),
-                iglob(os.path.join(pango_dist_dir, '*', 'modules', '*.so'))):
-            libs = [lib.split('(')[0].strip()
-                for lib in Popen(['otool', '-L', library],
-                    stdout=PIPE).communicate()[0].splitlines()
-                if 'compatibility' in lib]
-            libs = dict(((lib, None) for lib in libs if gtk_dir in lib))
-            for lib in libs.keys():
-                fixed = lib.replace(gtk_dir + '/lib',
-                    '@executable_path/../Frameworks')
-                Popen(['install_name_tool', '-change', lib, fixed, library]
-                    ).wait()
-
-        for file in ('CHANGELOG', 'COPYRIGHT', 'LICENSE', 'README'):
-            shutil.copyfile(os.path.join(os.path.dirname(__file__), file),
-                os.path.join(dist_dir, file + '.txt'))
-
-        doc_dist_dir = os.path.join(dist_dir, 'doc')
-        if os.path.isdir(doc_dist_dir):
-            shutil.rmtree(doc_dist_dir)
-        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')
-        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()
diff --git a/tryton.desktop b/tryton.desktop
index 9339198..e9018bd 100644
--- a/tryton.desktop
+++ b/tryton.desktop
@@ -26,5 +26,5 @@ Keywords=Business;Management;Enterprise;ERP;Framework;Client;
 Exec=tryton %u
 Icon=tryton-icon
 Terminal=false
-MimeType=application/tryton
+MimeType=application/tryton;
 Categories=Office;Finance;
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index d9105d7..e60659f 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: tryton
-Version: 4.0.6
+Version: 4.2.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/4.0/
+Download-URL: http://downloads.tryton.org/4.2/
 Description: tryton
         ======
         
@@ -79,10 +79,11 @@ Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Hungarian
 Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Polish
 Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
-Classifier: Natural Language :: Spanish
 Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Spanish
 Classifier: Natural Language :: Japanese
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index 3914812..f29fff1 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -3,14 +3,16 @@ COPYRIGHT
 INSTALL
 LICENSE
 MANIFEST.in
-Microsoft.VC90.CRT.manifest
 README
 catalan.nsh
 english.nsh
 french.nsh
 german.nsh
+make-darwin-installer.sh
+make-win32-installer.sh
 portuguese.nsh
 russian.nsh
+setup-freeze.py
 setup-single.nsi
 setup.cfg
 setup.nsi
@@ -19,6 +21,9 @@ slovenian.nsh
 spanish.nsh
 tryton.desktop
 bin/tryton
+darwin/gtk-2.0/gdk-pixbuf.loaders
+darwin/gtk-2.0/gtk.immodules
+darwin/gtk-2.0/gtkrc
 doc/Makefile
 doc/build.py
 doc/conf.py
@@ -72,44 +77,41 @@ tryton/common/popup_menu.py
 tryton/common/selection.py
 tryton/common/timedelta.py
 tryton/common/treeviewcontrol.py
-tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
-tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
-tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
-tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
-tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
-tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
-tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
-tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
-tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
-tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
-tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
-tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
-tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
-tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
-tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
-tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
-tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
-tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
-tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
-tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
+tryton/common/widget_style.py
+tryton/data/locale/bg/LC_MESSAGES/tryton.mo
+tryton/data/locale/bg/LC_MESSAGES/tryton.po
+tryton/data/locale/ca/LC_MESSAGES/tryton.mo
+tryton/data/locale/ca/LC_MESSAGES/tryton.po
+tryton/data/locale/cs/LC_MESSAGES/tryton.mo
+tryton/data/locale/cs/LC_MESSAGES/tryton.po
+tryton/data/locale/de/LC_MESSAGES/tryton.mo
+tryton/data/locale/de/LC_MESSAGES/tryton.po
+tryton/data/locale/es/LC_MESSAGES/tryton.mo
+tryton/data/locale/es/LC_MESSAGES/tryton.po
+tryton/data/locale/es_419/LC_MESSAGES/tryton.mo
+tryton/data/locale/es_419/LC_MESSAGES/tryton.po
+tryton/data/locale/fr/LC_MESSAGES/tryton.mo
+tryton/data/locale/fr/LC_MESSAGES/tryton.po
 tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
 tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
 tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
 tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
 tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
 tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
-tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo
-tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
-tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
-tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
-tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
-tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
+tryton/data/locale/lo/LC_MESSAGES/tryton.mo
+tryton/data/locale/lo/LC_MESSAGES/tryton.po
+tryton/data/locale/lt/LC_MESSAGES/tryton.mo
+tryton/data/locale/lt/LC_MESSAGES/tryton.po
+tryton/data/locale/nl/LC_MESSAGES/tryton.mo
+tryton/data/locale/nl/LC_MESSAGES/tryton.po
+tryton/data/locale/pl/LC_MESSAGES/tryton.mo
+tryton/data/locale/pl/LC_MESSAGES/tryton.po
 tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
 tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
-tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
-tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
-tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
-tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
+tryton/data/locale/ru/LC_MESSAGES/tryton.mo
+tryton/data/locale/ru/LC_MESSAGES/tryton.po
+tryton/data/locale/sl/LC_MESSAGES/tryton.mo
+tryton/data/locale/sl/LC_MESSAGES/tryton.po
 tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo
 tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
 tryton/data/pixmaps/tryton/tryton-attachment-hi.svg
@@ -174,10 +176,7 @@ tryton/gui/window/__init__.py
 tryton/gui/window/about.py
 tryton/gui/window/attachment.py
 tryton/gui/window/board.py
-tryton/gui/window/dbcreate.py
-tryton/gui/window/dbdumpdrop.py
 tryton/gui/window/dblogin.py
-tryton/gui/window/dbrestore.py
 tryton/gui/window/email.py
 tryton/gui/window/form.py
 tryton/gui/window/infobar.py
@@ -231,6 +230,7 @@ tryton/gui/window/view_form/view/form_gtk/multiselection.py
 tryton/gui/window/view_form/view/form_gtk/one2many.py
 tryton/gui/window/view_form/view/form_gtk/one2one.py
 tryton/gui/window/view_form/view/form_gtk/progressbar.py
+tryton/gui/window/view_form/view/form_gtk/pyson.py
 tryton/gui/window/view_form/view/form_gtk/reference.py
 tryton/gui/window/view_form/view/form_gtk/richtextbox.py
 tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -248,4 +248,7 @@ tryton/gui/window/view_form/view/list_gtk/__init__.py
 tryton/gui/window/view_form/view/list_gtk/editabletree.py
 tryton/gui/window/view_form/view/list_gtk/widget.py
 tryton/plugins/__init__.py
-tryton/plugins/translation/__init__.py
\ No newline at end of file
+tryton/plugins/translation/__init__.py
+win32/gtk-2.0/gdk-pixbuf.loaders
+win32/gtk-2.0/gtk.immodules
+win32/gtk-2.0/gtkrc
\ No newline at end of file
diff --git a/tryton.egg-info/requires.txt b/tryton.egg-info/requires.txt
index 3504372..387cfa4 100644
--- a/tryton.egg-info/requires.txt
+++ b/tryton.egg-info/requires.txt
@@ -6,6 +6,3 @@ GooCalendar
 
 [cdecimal]
 cdecimal
-
-[simplejson]
-simplejson
diff --git a/tryton/__init__.py b/tryton/__init__.py
index 0f6c404..9d9331b 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.
-__version__ = "4.0.6"
+__version__ = "4.2.0"
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 64900ea..7159c0f 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -81,6 +81,17 @@ class Action(object):
         if 'type' not in (action or {}):
             return
 
+        def add_name_suffix(name):
+            if not data.get('ids') or not data.get('model'):
+                return name
+            max_records = 5
+            rec_names = RPCExecute('model', data['model'],
+                'read', data['ids'][:max_records], ['rec_name'])
+            name_suffix = _(', ').join([x['rec_name'] for x in rec_names])
+            if len(data['ids']) > max_records:
+                name_suffix += _(u',\u2026')
+            return _('%s (%s)') % (name, name_suffix)
+
         data['action_id'] = action['id']
         if action['type'] == 'ir.action.act_window':
             view_ids = False
@@ -111,11 +122,12 @@ class Action(object):
             domain = decoder.decode(action['pyson_domain'])
             order = decoder.decode(action['pyson_order'])
             search_value = decoder.decode(action['pyson_search_value'] or '[]')
-            tab_domain = [(n, decoder.decode(d)) for n, d in action['domains']]
+            tab_domain = [(n, decoder.decode(d), c)
+                for n, d, c in action['domains']]
 
-            name = False
-            if action.get('window_name', True):
-                name = action.get('name', False)
+            name = action.get('name', '')
+            if action.get('keyword', '') == 'form_relate':
+                name = add_name_suffix(name)
 
             res_model = action.get('res_model', data.get('res_model'))
             res_id = action.get('res_id', data.get('res_id'))
@@ -128,10 +140,13 @@ class Action(object):
                     tab_domain=tab_domain,
                     context_model=action['context_model'])
         elif action['type'] == 'ir.action.wizard':
+            name = action.get('name', '')
+            if action.get('keyword', 'form_action') == 'form_action':
+                name = add_name_suffix(name)
             Window.create_wizard(action['wiz_name'], data,
                 direct_print=action.get('direct_print', False),
                 email_print=action.get('email_print', False),
-                email=action.get('email'), name=action.get('name', False),
+                email=action.get('email'), name=name,
                 context=context, icon=(action.get('icon.rec_name') or ''),
                 window=action.get('window', False))
 
@@ -166,7 +181,7 @@ class Action(object):
             Action._exec_action(action, data, context=context)
             return (name, action)
         elif not len(keyact) and warning:
-            message(_('No action defined!'))
+            message(_('No action defined.'))
         return False
 
     @staticmethod
diff --git a/tryton/client.py b/tryton/client.py
index b6b35fc..f57d4d1 100644
--- a/tryton/client.py
+++ b/tryton/client.py
@@ -13,10 +13,132 @@ except ImportError:
     import decimal
     sys.modules['cdecimal'] = decimal
 import os
-import pygtk
-pygtk.require('2.0')
+
+if os.environ.get('GTK_VERSION', '2').startswith('3'):
+    import pygtkcompat
+    pygtkcompat.enable()
+    pygtkcompat.enable_gtk(version='3.0')
+    try:
+        pygtkcompat.enable_goocanvas()
+    except ValueError:
+        pass
+
+    from gi.repository import GdkPixbuf
+    _unset = object()
+
+    Gdk = sys.modules['gtk.gdk']
+    # XXX this prevents isinstance test
+    Gdk.PixbufLoader = GdkPixbuf.PixbufLoader.new
+
+    Gtk = sys.modules['gtk']
+    Gtk.widget_set_default_direction = Gtk.Widget.set_default_direction
+    Gtk.accel_map_add_entry = Gtk.AccelMap.add_entry
+    Gtk.accel_map_load = Gtk.AccelMap.load
+    Gtk.accel_map_save = Gtk.AccelMap.save
+
+    Gtk.PROGRESS_LEFT_TO_RIGHT = (Gtk.Orientation.HORIZONTAL, False)
+    Gtk.PROGRESS_RIGHT_TO_LEFT = (Gtk.Orientation.HORIZONTAL, True)
+    Gtk.PROGRESS_BOTTOM_TO_TOP = (Gtk.Orientation.VERTICAL, True)
+    Gtk.PROGRESS_TOP_TO_BOTTOM = (Gtk.Orientation.VERTICAL, False)
+
+    orig_tree_view_column_set_cell_data_func = (
+        Gtk.TreeViewColumn.set_cell_data_func)
+
+    def set_cell_data_func(self, cell, func, user_data=_unset):
+        def callback(*args):
+            if args[-1] == _unset:
+                args = args[:-1]
+            return func(*args)
+        orig_tree_view_column_set_cell_data_func(
+            self, cell, callback, user_data)
+    Gtk.TreeViewColumn.set_cell_data_func = set_cell_data_func
+
+    Gtk.TreeViewColumn.get_cell_renderers = Gtk.TreeViewColumn.get_cells
+
+    orig_set_orientation = Gtk.ProgressBar.set_orientation
+
+    def set_orientation(self, orientation):
+        orientation, inverted = orientation
+        orig_set_orientation(self, orientation)
+        self.set_inverted(inverted)
+    Gtk.ProgressBar.set_orientation = set_orientation
+
+    orig_set_orientation = Gtk.CellRendererProgress.set_orientation
+
+    def set_orientation(self, orientation):
+        orientation, inverted = orientation
+        orig_set_orientation(self, orientation)
+        self.set_property('inverted', inverted)
+    Gtk.CellRendererProgress.set_orientation = set_orientation
+
+    orig_popup = Gtk.Menu.popup
+
+    def popup(self, parent_menu_shell, parent_menu_item, func, button,
+            activate_time, data=None):
+        if func:
+            def position_func(menu, x, y, user_data=None):
+                return func(menu, user_data)
+        else:
+            position_func = None
+        orig_popup(self, parent_menu_shell, parent_menu_item,
+            position_func, data, button, activate_time)
+    Gtk.Menu.popup = popup
+
+    def get_active_text(self):
+        active = self.get_active()
+        if active < 0:
+            return None
+        else:
+            model = self.get_model()
+            index = self.get_property('entry-text-column')
+            return model[active][index]
+    Gtk.ComboBox.get_active_text = get_active_text
+
+    Gtk.GenericCellRenderer.__gobject_init__ = Gtk.GenericCellRenderer.__init__
+
+    from gi.repository import Pango
+    Pango.SCALE_XX_SMALL = 1 / (1.2 * 1.2 * 1.2)
+    Pango.SCALE_X_SMALL = 1 / (1.2 * 1.2)
+    Pango.SCALE_SMALL = 1 / 1.2
+    Pango.SCALE_MEDIUM = 1
+    Pango.SCALE_LARGE = 1.2
+    Pango.SCALE_X_LARGE = 1.2 * 1.2
+    Pango.SCALE_XX_LARGE = 1.2 * 1.2 * 1.2
+
+    style_provider = Gtk.CssProvider()
+    css = """
+    #editable {
+        background-color: @theme_base_color;
+        color: @theme_text_color;
+    }
+    #readonly {
+        background-color: @insensitive_bg_color;
+        color: @insensitive_fg_color;
+    }
+    """
+    style_provider.load_from_data(css)
+    Gtk.StyleContext.add_provider_for_screen(
+        Gdk.Screen.get_default(),
+        style_provider,
+        Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
+
+else:
+    import pygtk
+    pygtk.require('2.0')
 import gtk
+
+if not hasattr(gtk, 'TreePath'):
+    gtk.TreePath = tuple
+if not hasattr(gtk, 'TargetEntry'):
+    gtk.TargetEntry = lambda *a: a
+    gtk.TargetEntry.new = lambda *a: a
+
 import gobject
+try:
+    # Import earlier otherwise there is a segmentation fault on MSYS2
+    import goocalendar
+except ImportError:
+    pass
 gobject.threads_init()
 from urlparse import urlparse
 import threading
diff --git a/tryton/common/button.py b/tryton/common/button.py
index 6ba98c0..3190c48 100644
--- a/tryton/common/button.py
+++ b/tryton/common/button.py
@@ -1,16 +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.
+import gettext
+
 import gtk
 
 from tryton.common import ICONFACTORY
 
+_ = gettext.gettext
+
 
 class Button(gtk.Button):
 
     def __init__(self, attrs=None):
         self.attrs = attrs or {}
-        label = '_' + attrs.get('string', '').replace('_', '__')
-        super(Button, self).__init__(label=label, stock=None,
+        self.label = '_' + attrs.get('string', '').replace('_', '__')
+        super(Button, self).__init__(label=self.label, stock=None,
             use_underline=True)
         self._set_icon(attrs.get('icon'))
 
@@ -31,8 +35,6 @@ class Button(gtk.Button):
     def state_set(self, record):
         if record:
             states = record.expr_eval(self.attrs.get('states', {}))
-            if record.group.readonly or record.readonly:
-                states['readonly'] = True
         else:
             states = {}
         if states.get('invisible', False):
@@ -41,6 +43,20 @@ class Button(gtk.Button):
             self.show()
         self.set_sensitive(not states.get('readonly', False))
         self._set_icon(states.get('icon', self.attrs.get('icon')))
+
+        if self.attrs.get('rule'):
+            label = self.label
+            tip = self.attrs.get('help', '')
+            if record:
+                clicks = record.get_button_clicks(self.attrs['name'])
+                if clicks:
+                    label += ' (%s)' % len(clicks)
+                    if tip:
+                        tip += '\n'
+                    tip += _('By: ') + _(', ').join(clicks.itervalues())
+            self.set_label(label)
+            self.set_tooltip_text(tip)
+
         if self.attrs.get('type', 'class') == 'class':
             parent = record.parent if record else None
             while parent:
diff --git a/tryton/common/cellrendererbinary.py b/tryton/common/cellrendererbinary.py
index cfdf05e..d5c710f 100644
--- a/tryton/common/cellrendererbinary.py
+++ b/tryton/common/cellrendererbinary.py
@@ -4,6 +4,8 @@ import gtk
 import gobject
 import pango
 
+gtk_version = getattr(gtk, 'get_major_version', lambda: 2)()
+
 BUTTON_BORDER = 10
 BUTTON_SPACING = 2
 
@@ -72,6 +74,7 @@ class CellRendererBinary(gtk.GenericCellRenderer):
         else:
             return (cell_area.x, cell_area.y,
                 cell_area.width, cell_area.height)
+    do_get_size = on_get_size
 
     def on_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
@@ -103,58 +106,134 @@ class CellRendererBinary(gtk.GenericCellRenderer):
                 self.clicking = ''
                 widget.queue_draw()
             gobject.timeout_add(60, timeout, self, widget)
-
-    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:
-            return
-
-        button_width = self.button_width()
-
-        # display size
-        layout = widget.create_pango_layout(self.size)
-        layout.set_font_description(widget.style.font_desc)
-        w, h = layout.get_size()
-        x = int(cell_area.x + cell_area.width - button_width - w / pango.SCALE
-            - BUTTON_SPACING)
-        y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-        layout.set_width(((cell_area.width / 2) - 2) * pango.SCALE)
-        state = gtk.STATE_NORMAL
-        if flags & gtk.CELL_RENDERER_SELECTED:
-            state = gtk.STATE_ACTIVE
-        if x >= cell_area.x:
-            widget.style.paint_layout(window, state, True, expose_area,
-                widget, "cellrendererbinary", x, y, layout)
-
-        # display buttons
-        for index, button_name in enumerate(self.buttons):
+    do_start_editing = on_start_editing
+
+    if gtk_version == 2:
+        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:
+                return
+
+            button_width = self.button_width()
+
+            # display size
+            layout = widget.create_pango_layout(self.size)
+            layout.set_font_description(widget.style.font_desc)
+            w, h = layout.get_size()
+            x = int(cell_area.x + cell_area.width - button_width
+                - w / pango.SCALE - BUTTON_SPACING)
+            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
+            layout.set_width(((cell_area.width / 2) - 2) * pango.SCALE)
             state = gtk.STATE_NORMAL
-            shadow = gtk.SHADOW_OUT
-            pxbf_sens, pxbf_insens, pxbf_width, pxbf_height = \
-                self.images[button_name]
-            if (self.clicking == button_name
-                    and flags & gtk.CELL_RENDERER_SELECTED):
+            if flags & gtk.CELL_RENDERER_SELECTED:
                 state = gtk.STATE_ACTIVE
-                shadow = gtk.SHADOW_IN
-            if (not self.editable and button_name in ('select', 'clear')
-                    or not self.size and button_name in ('open', 'save')):
-                state = gtk.STATE_INSENSITIVE
-                pixbuf = pxbf_insens
-            else:
-                pixbuf = pxbf_sens
-            x_offset = (cell_area.width - button_width
-                + (pxbf_width + (2 * BUTTON_BORDER) + BUTTON_SPACING) * index)
-            if x_offset < 0:
-                continue
-            widget.style.paint_box(window, state, shadow,
-                None, widget, "button", cell_area.x + x_offset, cell_area.y,
-                pxbf_width + (2 * BUTTON_BORDER), cell_area.height)
-            window.draw_pixbuf(widget.style.black_gc,
-                pixbuf, 0, 0,
-                cell_area.x + x_offset + BUTTON_BORDER,
-                cell_area.y + (cell_area.height - pxbf_height) / 2)
+            if x >= cell_area.x:
+                widget.style.paint_layout(window, state, True, expose_area,
+                    widget, "cellrendererbinary", x, y, layout)
+
+            # display buttons
+            for index, button_name in enumerate(self.buttons):
+                state = gtk.STATE_NORMAL
+                shadow = gtk.SHADOW_OUT
+                pxbf_sens, pxbf_insens, pxbf_width, pxbf_height = \
+                    self.images[button_name]
+                if (self.clicking == button_name
+                        and flags & gtk.CELL_RENDERER_SELECTED):
+                    state = gtk.STATE_ACTIVE
+                    shadow = gtk.SHADOW_IN
+                if (not self.editable and button_name in ('select', 'clear')
+                        or not self.size and button_name in ('open', 'save')):
+                    state = gtk.STATE_INSENSITIVE
+                    pixbuf = pxbf_insens
+                else:
+                    pixbuf = pxbf_sens
+                x_offset = (cell_area.width - button_width
+                    + (pxbf_width + (2 * BUTTON_BORDER) + BUTTON_SPACING)
+                    * index)
+                if x_offset < 0:
+                    continue
+                widget.style.paint_box(window, state, shadow,
+                    None, widget, "button",
+                    cell_area.x + x_offset, cell_area.y,
+                    pxbf_width + (2 * BUTTON_BORDER), cell_area.height)
+                window.draw_pixbuf(widget.style.black_gc,
+                    pixbuf, 0, 0,
+                    cell_area.x + x_offset + BUTTON_BORDER,
+                    cell_area.y + (cell_area.height - pxbf_height) / 2)
+
+    else:
+        def do_render(self, cr, widget, background_area, cell_area, flags):
+            if not self.visible:
+                return
+
+            button_width = self.button_width()
+
+            state = self.get_state(widget, flags)
+
+            context = widget.get_style_context()
+            context.save()
+            context.add_class('button')
+
+            xpad, ypad = self.get_padding()
+            x = cell_area.x + xpad
+            y = cell_area.y + ypad
+            w = cell_area.width - 2 * xpad
+            h = cell_area.height - 2 * ypad
+
+            padding = context.get_padding(state)
+            layout = widget.create_pango_layout(self.size)
+            lwidth = (
+                min(w / 2, w - button_width) - padding.left - padding.right)
+            if lwidth < 0:
+                lwidth = 0
+            layout.set_width(lwidth * pango.SCALE)
+            layout.set_ellipsize(pango.ELLIPSIZE_END)
+            layout.set_wrap(pango.WRAP_CHAR)
+
+            if lwidth > 0:
+                lw, lh = layout.get_size()  # Can not use get_pixel_extents
+                lw /= pango.SCALE
+                lh /= pango.SCALE
+
+                lx = x + padding.left
+                ly = y + padding.top + 0.5 * (
+                    h - padding.top - padding.bottom - lh)
+
+                gtk.render_layout(context, cr, lx, ly, layout)
+
+            for index, button_name in enumerate(self.buttons):
+                pxbf_sens, pxbf_insens, pxbf_width, pxbf_height = \
+                    self.images[button_name]
+                state = gtk.StateFlags.NORMAL
+                if (self.clicking == button_name
+                        and flags & gtk.CELL_RENDERER_SELECTED):
+                    state = gtk.StateFlags.ACTIVE
+                if (not self.editable and button_name in {'select', 'clear'}
+                        or not self.size and button_name in {'open', 'save'}):
+                    state = gtk.StateFlags.INSENSITIVE
+                    pixbuf = pxbf_insens
+                else:
+                    pixbuf = pxbf_sens
+
+                x_offset = (w - button_width
+                    + (pxbf_width + (2 * BUTTON_BORDER) + BUTTON_SPACING)
+                    * index)
+                if x_offset < 0:
+                    continue
+                bx = cell_area.x + x_offset
+                by = cell_area.y
+                bw = pxbf_width + (2 * BUTTON_BORDER)
+
+                gtk.render_background(context, cr, bx, by, bw, h)
+                gtk.render_frame(context, cr, bx, by, bw, h)
+
+                gtk.gdk.cairo_set_source_pixbuf(
+                    cr, pixbuf, bx + BUTTON_BORDER, by + (h - pxbf_height) / 2)
+                cr.paint()
+            context.restore()
+
 
 gobject.type_register(CellRendererBinary)
diff --git a/tryton/common/cellrendererbutton.py b/tryton/common/cellrendererbutton.py
index 6f8175b..c98e547 100644
--- a/tryton/common/cellrendererbutton.py
+++ b/tryton/common/cellrendererbutton.py
@@ -4,6 +4,8 @@ import gtk
 import gobject
 import pango
 
+gtk_version = getattr(gtk, 'get_major_version', lambda: 2)()
+
 
 class CellRendererButton(gtk.GenericCellRenderer):
     # TODO Add keyboard editing
@@ -35,46 +37,91 @@ class CellRendererButton(gtk.GenericCellRenderer):
     def do_get_property(self, pspec):
         return getattr(self, pspec.name)
 
-    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:
-            return
-        state = gtk.STATE_NORMAL
-        shadow = gtk.SHADOW_OUT
-        if self.clicking and flags & gtk.CELL_RENDERER_SELECTED:
-            state = gtk.STATE_ACTIVE
-            shadow = gtk.SHADOW_IN
-        elif not self.sensitive:
-            state = gtk.STATE_INSENSITIVE
-        widget.style.paint_box(window, state, shadow,
-                None, widget, "button",
-                cell_area.x, cell_area.y,
-                cell_area.width, cell_area.height)
-        layout = widget.create_pango_layout('')
-        layout.set_font_description(widget.style.font_desc)
-        w, h = layout.get_size()
-        x = cell_area.x
-        y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-        window.draw_layout(widget.style.text_gc[0], x, y, layout)
-        widget.style.paint_layout(window, state, True, expose_area, widget,
-            "cellrendererbutton", x, y, layout)
-
-        layout = widget.create_pango_layout(self.text)
-        layout.set_font_description(widget.style.font_desc)
-        layout.set_ellipsize(pango.ELLIPSIZE_END)
-        w, h = layout.get_size()
-        if cell_area.width < w / pango.SCALE:
-            x = cell_area.x + 2 / pango.SCALE
-        else:
-            x = int(cell_area.x + (cell_area.width - w / pango.SCALE) / 2)
-        y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
-        layout.set_width((cell_area.width - 4) * pango.SCALE)
-        layout.set_wrap(pango.WRAP_CHAR)
-        widget.style.paint_layout(window, state, True, expose_area, widget,
-            "cellrendererbutton", x, y, layout)
+    if gtk_version == 2:
+        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:
+                return
+            state = gtk.STATE_NORMAL
+            shadow = gtk.SHADOW_OUT
+            if self.clicking and flags & gtk.CELL_RENDERER_SELECTED:
+                state = gtk.STATE_ACTIVE
+                shadow = gtk.SHADOW_IN
+            elif not self.sensitive:
+                state = gtk.STATE_INSENSITIVE
+            widget.style.paint_box(window, state, shadow,
+                    None, widget, "button",
+                    cell_area.x, cell_area.y,
+                    cell_area.width, cell_area.height)
+            layout = widget.create_pango_layout('')
+            layout.set_font_description(widget.style.font_desc)
+            w, h = layout.get_size()
+            x = cell_area.x
+            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
+            window.draw_layout(widget.style.text_gc[0], x, y, layout)
+            widget.style.paint_layout(window, state, True, expose_area, widget,
+                "cellrendererbutton", x, y, layout)
+
+            layout = widget.create_pango_layout(self.text)
+            layout.set_font_description(widget.style.font_desc)
+            layout.set_ellipsize(pango.ELLIPSIZE_END)
+            w, h = layout.get_size()
+            if cell_area.width < w / pango.SCALE:
+                x = cell_area.x + 2 / pango.SCALE
+            else:
+                x = int(cell_area.x + (cell_area.width - w / pango.SCALE) / 2)
+            y = int(cell_area.y + (cell_area.height - h / pango.SCALE) / 2)
+            layout.set_width((cell_area.width - 4) * pango.SCALE)
+            layout.set_wrap(pango.WRAP_CHAR)
+            widget.style.paint_layout(window, state, True, expose_area, widget,
+                "cellrendererbutton", x, y, layout)
+
+    else:
+        def do_render(self, cr, widget, background_area, cell_area, flags):
+            if not self.visible:
+                return
+
+            state = gtk.StateFlags.NORMAL
+            if self.clicking and flags & gtk.CELL_RENDERER_SELECTED:
+                state = gtk.StateFlags.ACTIVE
+            elif not self.sensitive:
+                state = gtk.StateFlags.INSENSITIVE
+
+            context = widget.get_style_context()
+            context.save()
+            context.add_class('button')
+            context.set_state(state)
+
+            xpad, ypad = self.get_padding()
+            x = cell_area.x + xpad
+            y = cell_area.y + ypad
+            w = cell_area.width - 2 * xpad
+            h = cell_area.height - 2 * ypad
+
+            gtk.render_background(context, cr, x, y, w, h)
+            gtk.render_frame(context, cr, x, y, w, h)
+
+            padding = context.get_padding(state)
+            layout = widget.create_pango_layout(self.text)
+            layout.set_width((w - padding.left - padding.right) * pango.SCALE)
+            layout.set_ellipsize(pango.ELLIPSIZE_END)
+            layout.set_wrap(pango.WRAP_CHAR)
+
+            lw, lh = layout.get_size()  # Can not use get_pixel_extents
+            lw /= pango.SCALE
+            lh /= pango.SCALE
+            if w < lw:
+                x = x + padding.left
+            else:
+                x = x + padding.left + 0.5 * (
+                    w - padding.left - padding.right - lw)
+            y = y + padding.top + 0.5 * (h - padding.top - padding.bottom - lh)
+
+            gtk.render_layout(context, cr, x, y, layout)
+            context.restore()
 
     def on_get_size(self, widget, cell_area=None):
         if cell_area is None:
@@ -82,6 +129,7 @@ class CellRendererButton(gtk.GenericCellRenderer):
         else:
             return (cell_area.x, cell_area.y,
                 cell_area.width, cell_area.height)
+    do_get_size = on_get_size
 
     def on_start_editing(self, event, widget, path, background_area,
             cell_area, flags):
@@ -100,5 +148,6 @@ class CellRendererButton(gtk.GenericCellRenderer):
                 self.clicking = False
                 widget.queue_draw()
             gobject.timeout_add(60, timeout, self, widget)
+    do_start_editing = on_start_editing
 
 gobject.type_register(CellRendererButton)
diff --git a/tryton/common/cellrenderercombo.py b/tryton/common/cellrenderercombo.py
index 0d81655..4e33437 100644
--- a/tryton/common/cellrenderercombo.py
+++ b/tryton/common/cellrenderercombo.py
@@ -23,7 +23,10 @@ class CellRendererCombo(gtk.CellRendererCombo):
         if not self.props.visible:
             return
         if not event:
-            event = gtk.gdk.Event(gtk.keysyms.Tab)
+            if hasattr(gtk.gdk.Event, 'new'):
+                event = gtk.gdk.Event.new(gtk.gdk.KEY_PRESS)
+            else:
+                event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
         editable = gtk.CellRendererCombo.do_start_editing(self, event, widget,
             path, background_area, cell_area, flags)
         return selection_shortcuts(editable)
diff --git a/tryton/common/cellrenderertext.py b/tryton/common/cellrenderertext.py
index b4bc9b7..af9fb9c 100644
--- a/tryton/common/cellrenderertext.py
+++ b/tryton/common/cellrenderertext.py
@@ -21,7 +21,10 @@ class CellRendererText(gtk.CellRendererText):
         if not self.props.visible:
             return
         if not event:
-            event = gtk.gdk.Event(gtk.keysyms.Tab)
+            if hasattr(gtk.gdk.Event, 'new'):
+                event = gtk.gdk.Event.new(gtk.gdk.KEY_PRESS)
+            else:
+                event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
         return gtk.CellRendererText.do_start_editing(self, event, widget,
             path, background_area, cell_area, flags)
 
diff --git a/tryton/common/cellrenderertoggle.py b/tryton/common/cellrenderertoggle.py
index cfb3e1c..34ada71 100644
--- a/tryton/common/cellrenderertoggle.py
+++ b/tryton/common/cellrenderertoggle.py
@@ -14,7 +14,10 @@ class CellRendererToggle(gtk.CellRendererToggle):
         if not self.props.visible:
             return
         if not event:
-            event = gtk.gdk.Event(gtk.keysyms.KP_Space)
+            if hasattr(gtk.gdk.Event, 'new'):
+                event = gtk.gdk.Event.new(gtk.gdk.KEY_PRESS)
+            else:
+                event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)
         return gtk.CellRendererToggle.do_activate(self, event, widget, path,
             background_area, cell_area, flags)
 
diff --git a/tryton/common/common.py b/tryton/common/common.py
index fd9696e..a5dc066 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -24,11 +24,8 @@ except ImportError:
     import md5
 import webbrowser
 import traceback
-import threading
 import tryton.rpc as rpc
-import locale
 import socket
-from tryton import __version__
 import thread
 import urllib
 from string import Template
@@ -227,46 +224,6 @@ def find_in_path(name):
     return name
 
 
-def test_server_version(host, port):
-    version = rpc.server_version(host, port)
-    if not version:
-        return False
-    return version.split('.')[:2] == __version__.split('.')[:2]
-
-
-def refresh_dblist(host, port):
-    '''
-    Return the number of database available
-        or None if it is impossible to connect
-        or -1 if the server version doesn't match the client version
-    '''
-    rpc.logout()
-    if not test_server_version(host, port):
-        return -1
-    return rpc.db_list(host, port)
-
-
-def refresh_langlist(lang_widget, host, port):
-    liststore = lang_widget.get_model()
-    liststore.clear()
-    try:
-        lang_list = rpc.db_exec(host, port, 'list_lang')
-    except socket.error:
-        return []
-    index = -1
-    i = 0
-    lang = locale.getdefaultlocale()[0]
-    for key, val in lang_list:
-        liststore.insert(i, (val, key))
-        if key == lang:
-            index = i
-        if key == 'en_US' and index < 0:
-            index = i
-        i += 1
-    lang_widget.set_active(index)
-    return lang_list
-
-
 def request_server(server_widget):
     result = False
     parent = get_toplevel_window()
@@ -276,7 +233,6 @@ def request_server(server_widget):
         flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT |
         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)
     table.set_border_width(12)
@@ -305,7 +261,7 @@ def request_server(server_widget):
     label_port.set_padding(3, 3)
     table.attach(label_port, 0, 1, 1, 2, yoptions=False,
         xoptions=False)
-    dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL | gtk.CAN_DEFAULT)
+    dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
     dialog.add_button("gtk-ok", gtk.RESPONSE_OK)
     dialog.vbox.pack_start(vbox)
     dialog.set_icon(TRYTON_ICON)
@@ -330,7 +286,7 @@ def request_server(server_widget):
 
 def get_toplevel_window():
     windows = [x for x in gtk.window_list_toplevels()
-        if x.window and x.props.visible
+        if x.get_window() and x.props.visible
         and x.props.type == gtk.WINDOW_TOPLEVEL]
     trans2windows = dict((x.get_transient_for(), x) for x in windows)
     for window in set(windows) - set(trans2windows.iterkeys()):
@@ -350,7 +306,7 @@ def get_sensible_widget(window):
 
 
 def center_window(window, parent, sensible):
-    parent_x, parent_y = parent.window.get_origin()
+    parent_x, parent_y = sensible.get_window().get_origin()
     window_allocation = window.get_allocation()
     sensible_allocation = sensible.get_allocation()
     x = (parent_x + sensible_allocation.x +
@@ -373,7 +329,6 @@ def selection(title, values, alwaysask=False):
             (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                 gtk.STOCK_OK, gtk.RESPONSE_OK))
     dialog.set_icon(TRYTON_ICON)
-    dialog.set_has_separator(True)
     dialog.set_default_response(gtk.RESPONSE_OK)
     dialog.set_default_size(400, 400)
 
@@ -441,6 +396,8 @@ def file_selection(title, filename='',
             win.set_current_name(filename)
         else:
             win.set_filename(filename)
+    if hasattr(win, 'set_do_overwrite_confirmation'):
+        win.set_do_overwrite_confirmation(True)
     win.set_select_multiple(multi)
     win.set_default_response(gtk.RESPONSE_OK)
     if filters is not None:
@@ -672,7 +629,6 @@ class ConfirmationDialog(UniqueDialog):
         dialog = gtk.Dialog(_('Confirmation'), parent, gtk.DIALOG_MODAL
                 | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
                 | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
-        dialog.set_has_separator(True)
         hbox = gtk.HBox()
         image = gtk.Image()
         image.set_from_stock('tryton-dialog-information',
@@ -690,8 +646,7 @@ class SurDialog(ConfirmationDialog):
     def build_dialog(self, parent, message):
         dialog = super(SurDialog, self).build_dialog(parent, message)
         dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
-        dialog.add_button("gtk-ok", gtk.RESPONSE_OK | gtk.CAN_DEFAULT
-                | gtk.HAS_DEFAULT)
+        dialog.set_default(dialog.add_button("gtk-ok", gtk.RESPONSE_OK))
         dialog.set_default_response(gtk.RESPONSE_OK)
         return dialog
 
@@ -714,8 +669,7 @@ class Sur3BDialog(ConfirmationDialog):
         dialog = super(Sur3BDialog, self).build_dialog(parent, message)
         dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
         dialog.add_button("gtk-no", gtk.RESPONSE_NO)
-        dialog.add_button("gtk-yes", gtk.RESPONSE_YES | gtk.CAN_DEFAULT
-                | gtk.HAS_DEFAULT)
+        dialog.set_default(dialog.add_button("gtk-yes", gtk.RESPONSE_YES))
         dialog.set_default_response(gtk.RESPONSE_YES)
         return dialog
 
@@ -729,11 +683,10 @@ sur_3b = Sur3BDialog()
 class AskDialog(UniqueDialog):
 
     def build_dialog(self, parent, question, visibility):
-        win = gtk.Dialog('Tryton', parent,
+        win = gtk.Dialog(CONFIG['client.title'], parent,
                 gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
                 (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                     gtk.STOCK_OK, gtk.RESPONSE_OK))
-        win.set_has_separator(True)
         win.set_default_response(gtk.RESPONSE_OK)
 
         hbox = gtk.HBox()
@@ -778,7 +731,6 @@ class ConcurrencyDialog(UniqueDialog):
         dialog = gtk.Dialog(_('Concurrency Exception'), parent,
             gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT |
             gtk.WIN_POS_CENTER_ON_PARENT | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
-        dialog.set_has_separator(True)
         dialog.set_default_response(gtk.RESPONSE_CANCEL)
         hbox = gtk.HBox()
         image = gtk.Image()
@@ -831,7 +783,6 @@ class ErrorDialog(UniqueDialog):
     def build_dialog(self, parent, title, details):
         dialog = gtk.Dialog(_('Error'), parent,
             gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
-        dialog.set_has_separator(True)
 
         but_send = gtk.Button(_('Report Bug'))
         dialog.add_action_widget(but_send, gtk.RESPONSE_OK)
@@ -840,7 +791,7 @@ class ErrorDialog(UniqueDialog):
 
         vbox = gtk.VBox()
         label_title = gtk.Label()
-        label_title.set_markup('<b>' + _('Application Error!') + '</b>')
+        label_title.set_markup('<b>' + _('Application Error.') + '</b>')
         label_title.set_padding(-1, 5)
         vbox.pack_start(label_title, False, False)
         vbox.pack_start(gtk.HSeparator(), False, False)
@@ -919,7 +870,6 @@ def send_bugtracker(title, msg):
                 gtk.STOCK_OK, gtk.RESPONSE_OK))
     win.set_icon(TRYTON_ICON)
     win.set_default_response(gtk.RESPONSE_OK)
-    win.set_has_separator(True)
 
     hbox = gtk.HBox()
     image = gtk.Image()
@@ -1013,7 +963,7 @@ def send_bugtracker(title, msg):
             if (isinstance(exception, xmlrpclib.Fault)
                     and 'roundup.cgi.exceptions.Unauthorised' in
                     exception.faultString):
-                message(_('Connection error!\nBad username or password!'))
+                message(_('Connection error.\nBad username or password.'))
                 return send_bugtracker(title, msg)
             tb_s = reduce(lambda x, y: x + y,
                     traceback.format_exception(sys.exc_type,
@@ -1035,15 +985,15 @@ def process_exception(exception, *args, **kwargs):
     if isinstance(exception, TrytonError):
         if exception.faultCode == 'BadFingerprint':
             warning(
-                _('The server fingerprint has changed since last connection!\n'
+                _('The server fingerprint has changed since last connection.\n'
                 'The application will stop connecting to this server '
-                'until its fingerprint is fixed.'), _('Security risk!'))
+                'until its fingerprint is fixed.'), _('Security risk.'))
             from tryton.gui.main import Main
             Main.sig_quit()
         elif exception.faultCode.startswith('403'):
             if rpc.CONNECTION is None:
-                message(_('Connection error!\n'
-                        'Unable to connect to the server!'))
+                message(_('Connection error.\n'
+                        'Unable to connect to the server.'))
                 return False
     elif isinstance(exception, TrytonServerError):
         if exception.faultCode == 'UserWarning':
@@ -1089,32 +1039,26 @@ def process_exception(exception, *args, **kwargs):
             from tryton.gui.main import Main
             if not PLOCK.acquire(False):
                 return False
-            hostname = rpc._HOST
-            port = rpc._PORT
+            language = CONFIG['client.lang']
+            func = lambda parameters: rpc.login(
+                rpc._HOST, rpc._PORT, rpc._DATABASE, rpc._USERNAME, parameters,
+                language)
             try:
-                while True:
-                    password = ask(_('Password:'), visibility=False)
-                    if password is None:
-                        Main.get_main().sig_quit()
-                    res = rpc.login(rpc._USERNAME, password, hostname, port,
-                            rpc._DATABASE)
-                    if res == -1:
-                        message(_('Connection error!\n'
-                                'Unable to connect to the server!'))
-                        return False
-                    if res < 0:
-                        continue
-                    if args:
-                        try:
-                            return rpc_execute(*args)
-                        except TrytonServerError, exception:
-                            return process_exception(exception, *args,
-                                rpc_execute=rpc_execute)
-                    return True
+                Login(func)
+            except TrytonError, exception:
+                if exception.faultCode == 'QueryCanceled':
+                    Main.get_main().sig_quit()
+                raise
             finally:
                 PLOCK.release()
+            if args:
+                try:
+                    return rpc_execute(*args)
+                except TrytonServerError, exception:
+                    return process_exception(exception, *args,
+                        rpc_execute=rpc_execute)
     elif isinstance(exception, (socket.error, TrytonServerUnavailable)):
-        warning(str(exception), _('Network Error!'))
+        warning(str(exception), _('Network Error.'))
         return False
 
     if isinstance(exception, TrytonServerError):
@@ -1126,6 +1070,36 @@ def process_exception(exception, *args, **kwargs):
     return False
 
 
+class Login(object):
+    def __init__(self, func):
+        parameters = {}
+        while True:
+            try:
+                func(parameters)
+            except TrytonServerError, exception:
+                if exception.faultCode.startswith('403'):
+                    parameters.clear()
+                    continue
+                if exception.faultCode != 'LoginException':
+                    raise
+                name, message, type = exception.args
+                value = getattr(self, 'get_%s' % type)(message)
+                if value is None:
+                    raise TrytonError('QueryCanceled')
+                parameters[name] = value
+                continue
+            else:
+                return
+
+    @classmethod
+    def get_char(self, message):
+        return ask(message)
+
+    @classmethod
+    def get_password(self, message):
+        return ask(message, visibility=False)
+
+
 def node_attributes(node):
     result = {}
     attrs = node.attributes
@@ -1174,54 +1148,6 @@ def generateColorscheme(masterColor, keys, light=0.1):
             s, (v + light * i) % 1) for i, key in enumerate(keys)}
 
 
-class DBProgress(object):
-
-    def __init__(self, host, port):
-        self.dbs = None, None
-        self.host, self.port = host, port
-        self.updated = threading.Event()
-
-    def start(self):
-        dbs = None
-        try:
-            dbs = refresh_dblist(self.host, self.port)
-        except Exception:
-            pass
-        finally:
-            self.dbs = dbs
-            self.updated.set()
-
-    def update(self, combo, progressbar, callback, dbname=''):
-        self.db_info = None
-        threading.Thread(target=self.start).start()
-        gobject.timeout_add(100, self.end, combo, progressbar, callback,
-            dbname)
-
-    def end(self, combo, progressbar, callback, dbname):
-        if not self.updated.isSet():
-            progressbar.show()
-            progressbar.pulse()
-            return True
-        progressbar.hide()
-        dbs = self.dbs
-
-        if dbs is not None and dbs not in (-1, -2):
-            liststore = combo.get_model()
-            liststore.clear()
-            index = -1
-            for db_num, db_name in enumerate(dbs):
-                liststore.append([db_name])
-                if db_name == dbname:
-                    index = db_num
-            if index == -1:
-                index = 0
-            combo.set_active(index)
-            dbs = len(dbs)
-
-        callback(dbs)
-        return False
-
-
 class RPCException(Exception):
 
     def __init__(self, exception):
@@ -1233,7 +1159,7 @@ class RPCProgress(object):
     def __init__(self, method, args):
         self.method = method
         self.args = args
-        self.parent = get_toplevel_window()
+        self.parent = None
         self.res = None
         self.error = False
         self.exception = None
@@ -1256,11 +1182,14 @@ class RPCProgress(object):
     def run(self, process_exception_p=True, callback=None):
         self.process_exception_p = process_exception_p
         self.callback = callback
-        if self.parent.window:
-            watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
-            self.parent.window.set_cursor(watch)
 
         if callback:
+            # Parent is only useful if it is asynchronous
+            # otherwise the cursor is not updated.
+            self.parent = get_toplevel_window()
+            if self.parent.window:
+                watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
+                self.parent.window.set_cursor(watch)
             thread.start_new_thread(self.start, ())
             return
         else:
@@ -1268,7 +1197,7 @@ class RPCProgress(object):
             return self.process()
 
     def process(self):
-        if self.parent.window:
+        if self.parent and self.parent.window:
             self.parent.window.set_cursor(None)
         if self.exception:
             if self.process_exception_p:
@@ -1308,7 +1237,10 @@ def RPCExecute(*args, **kwargs):
 def RPCContextReload(callback=None):
     def update(context):
         rpc.CONTEXT.clear()
-        rpc.CONTEXT.update(context())
+        try:
+            rpc.CONTEXT.update(context())
+        except RPCException:
+            pass
         if callback:
             callback()
     # Use RPCProgress to not send rpc.CONTEXT
@@ -1417,7 +1349,7 @@ def resize_pixbuf(pixbuf, width, height):
 
 def _data2pixbuf(data):
     loader = gtk.gdk.PixbufLoader()
-    loader.write(bytes(data), len(data))
+    loader.write(bytes(data))
     loader.close()
     return loader.get_pixbuf()
 
@@ -1434,3 +1366,23 @@ def data2pixbuf(data):
         except glib.GError:
             pass
     return pixbuf
+
+
+def get_label_attributes(readonly, required):
+    "Return the pango attributes applied to a label according to its state"
+    if readonly:
+        style = pango.STYLE_NORMAL
+        weight = pango.WEIGHT_NORMAL
+    else:
+        style = pango.STYLE_ITALIC
+        if required:
+            weight = pango.WEIGHT_BOLD
+        else:
+            weight = pango.WEIGHT_NORMAL
+    attrlist = pango.AttrList()
+    if hasattr(pango, 'AttrWeight'):
+        # FIXME when Pango.attr_weight_new is introspectable
+        attrlist.change(pango.AttrWeight(weight, 0, -1))
+    if hasattr(pango, 'AttrStyle'):
+        attrlist.change(pango.AttrStyle(style, 0, -1))
+    return attrlist
diff --git a/tryton/common/datetime_.py b/tryton/common/datetime_.py
index b6d261f..d93fbd7 100644
--- a/tryton/common/datetime_.py
+++ b/tryton/common/datetime_.py
@@ -458,20 +458,10 @@ gobject.type_register(DateTime)
 
 
 def popup_position(widget, popup):
-
-    req_width, req_height = popup.size_request()
+    # XXX It does not result in the same position in GTK2 and GTK3
     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)
+    popup.move(x + allocation.x, y + allocation.y + allocation.height)
 
 
 def popup_show(popup):
diff --git a/tryton/common/domain_parser.py b/tryton/common/domain_parser.py
index 2e2208e..eb07110 100644
--- a/tryton/common/domain_parser.py
+++ b/tryton/common/domain_parser.py
@@ -232,7 +232,8 @@ def convert_value(field, value, context=None):
     def convert_boolean():
         if isinstance(value, basestring):
             return any(test.decode('utf-8').lower().startswith(value.lower())
-                for test in (_('y'), _('yes'), _('true'), _('t'), '1'))
+                for test in (
+                    _('y'), _('Yes'), _('True'), _('t'), '1'))
         else:
             return bool(value)
 
@@ -755,6 +756,25 @@ def test_complete_selection():
         assert list(complete_value(field_with_empty, value)) == result
 
 
+def test_complete_reference():
+    field = {
+        'type': 'reference',
+        'selection': [
+            ('spam', 'Spam'),
+            ('ham', 'Ham'),
+            ('', ''),
+            ],
+        }
+    for value, result in (
+            ('s', ['%spam%']),
+            ('test', []),
+            ('', ['%spam%', '%ham%', '%']),
+            (None, ['%spam%', '%ham%', '%']),
+            (['spam', 'h'], [['spam', 'ham']]),
+            ):
+        assert list(complete_value(field, value)) == result
+
+
 def parenthesize(tokens):
     "Nest tokens according to parenthesis"
     for token in tokens:
@@ -1451,6 +1471,11 @@ def test_parse_clause():
     assert rlist(dom.parse_clause([('Reference', None, ['foo', 'bar'])])) == [
         ('reference', 'in', ['foo', 'bar']),
         ]
+    assert rlist(dom.parse_clause(['OR',
+                ('Name', None, 'John'), ('Name', None, 'Jane')])) == ['OR',
+        ('name', 'ilike', '%John%'),
+        ('name', 'ilike', '%Jane%'),
+        ]
     assert rlist(dom.parse_clause([('Many2One', None, 'John')])) == [
         ('many2one', 'ilike', '%John%'),
         ]
@@ -1472,3 +1497,5 @@ def test_completion():
     assert list(dom.completion(u'Name: foo')) == []
     assert list(dom.completion(u'Name: !=')) == []
     assert list(dom.completion(u'Name: !=foo')) == []
+    assert list(dom.completion(u'')) == ['Name: ']
+    assert list(dom.completion(u' ')) == ['', 'Name: ']
diff --git a/tryton/common/focus.py b/tryton/common/focus.py
index 4c8371b..b91446e 100644
--- a/tryton/common/focus.py
+++ b/tryton/common/focus.py
@@ -8,9 +8,9 @@ import gtk
 def get_invisible_ancestor(widget):
     if not widget.get_visible():
         return widget
-    if not widget.parent:
+    if not widget.props.parent:
         return None
-    return get_invisible_ancestor(widget.parent)
+    return get_invisible_ancestor(widget.props.parent)
 
 
 def find_focused_child(widget):
@@ -26,12 +26,14 @@ def find_focused_child(widget):
 
 def tab_compare(a, b):
     text_direction = gtk.widget_get_default_direction()
-    y1 = a.allocation.y + a.allocation.height // 2
-    y2 = b.allocation.y + b.allocation.height // 2
+    a_allocation = a.get_allocation()
+    b_allocation = b.get_allocation()
+    y1 = a_allocation.y + a_allocation.height // 2
+    y2 = b_allocation.y + b_allocation.height // 2
 
     if y1 == y2:
-        x1 = a.allocation.x + a.allocation.width // 2
-        x2 = b.allocation.x + b.allocation.width // 2
+        x1 = a_allocation.x + a_allocation.width // 2
+        x2 = b_allocation.x + b_allocation.width // 2
 
         if text_direction == gtk.TEXT_DIR_RTL:
             return (x2 > x1) - (x2 < x1)
@@ -64,9 +66,9 @@ def find_focusable_child(widget):
 
 
 def next_focus_widget(widget):
-    if not widget.parent:
+    if not widget.props.parent:
         return None
-    focus_chain = widget.parent.get_focus_chain()
+    focus_chain = widget.props.parent.get_focus_chain()
     if focus_chain is not None:
         idx = focus_chain.index(widget)
         focus_widget = None
@@ -75,13 +77,13 @@ def next_focus_widget(widget):
             if focus_widget:
                 return focus_widget
         if not focus_widget:
-            return next_focus_widget(widget.parent)
+            return next_focus_widget(widget.props.parent)
     else:
-        focus_widget = find_focusable_child(widget.parent)
+        focus_widget = find_focusable_child(widget.props.parent)
         if focus_widget:
             return focus_widget
         else:
-            return next_focus_widget(widget.parent)
+            return next_focus_widget(widget.props.parent)
 
 
 def find_first_focus_widget(ancestor, widgets):
diff --git a/tryton/common/htmltextbuffer.py b/tryton/common/htmltextbuffer.py
index abd0e07..c8dac47 100644
--- a/tryton/common/htmltextbuffer.py
+++ b/tryton/common/htmltextbuffer.py
@@ -10,6 +10,8 @@ import gtk
 import chardet
 
 MIME = 'text/html'
+if hasattr(gtk.gdk, 'Atom'):
+    MIME = gtk.gdk.Atom.intern(MIME, False)
 
 
 def _reverse_dict(dct):
@@ -260,7 +262,7 @@ def serialize(register, content, start, end, data):
 
 def deserialize(register, content, iter_, text, create_tags, data):
     if not isinstance(text, unicode):
-        encoding = chardet.detect(text)['encoding']
+        encoding = chardet.detect(text)['encoding'] or 'utf-8'
         text = text.decode(encoding)
     text = text.encode('utf-8')
     text, tags = parse_markup(normalize_markup(text, method='xml'))
diff --git a/tryton/common/placeholder_entry.py b/tryton/common/placeholder_entry.py
index 427fe01..a9e5c35 100644
--- a/tryton/common/placeholder_entry.py
+++ b/tryton/common/placeholder_entry.py
@@ -3,48 +3,52 @@
 import gtk
 
 
-class PlaceholderEntry(gtk.Entry):
+if hasattr(gtk.Entry, 'set_placeholder_text'):
+    PlaceholderEntry = gtk.Entry
+else:
+    class PlaceholderEntry(gtk.Entry):
 
-    _placeholder = ''
-    _default = True
+        _placeholder = ''
+        _default = True
 
-    def __init__(self, *args, **kwargs):
-        super(PlaceholderEntry, self).__init__(*args, **kwargs)
-        style = self.get_style()
-        self._text_color_normal = style.text[gtk.STATE_NORMAL]
-        self._text_color_placeholder = style.text[gtk.STATE_INSENSITIVE]
-        self.connect('focus-in-event', PlaceholderEntry._focus_in)
-        self.connect('focus-out-event', PlaceholderEntry._focus_out)
+        def __init__(self, *args, **kwargs):
+            super(PlaceholderEntry, self).__init__(*args, **kwargs)
+            style = self.get_style()
+            self._text_color_normal = style.text[gtk.STATE_NORMAL]
+            self._text_color_placeholder = style.text[gtk.STATE_INSENSITIVE]
+            self.connect('focus-in-event', PlaceholderEntry._focus_in)
+            self.connect('focus-out-event', PlaceholderEntry._focus_out)
 
-    def _focus_in(self, event):
-        if self._default:
-            super(PlaceholderEntry, self).set_text('')
-            self.modify_text(gtk.STATE_NORMAL, self._text_color_normal)
-        self._default = False
-
-    def _focus_out(self, event=None):
-        if super(PlaceholderEntry, self).get_text() == '':
-            super(PlaceholderEntry, self).set_text(self._placeholder)
-            self.modify_text(gtk.STATE_NORMAL, self._text_color_placeholder)
-            self._default = True
-        else:
-            self.modify_text(gtk.STATE_NORMAL, self._text_color_normal)
+        def _focus_in(self, event):
+            if self._default:
+                super(PlaceholderEntry, self).set_text('')
+                self.modify_text(gtk.STATE_NORMAL, self._text_color_normal)
             self._default = False
 
-    def set_placeholder_text(self, text):
-        self._placeholder = text
-        if not self.has_focus():
-            self._focus_out()
+        def _focus_out(self, event=None):
+            if super(PlaceholderEntry, self).get_text() == '':
+                super(PlaceholderEntry, self).set_text(self._placeholder)
+                self.modify_text(gtk.STATE_NORMAL,
+                    self._text_color_placeholder)
+                self._default = True
+            else:
+                self.modify_text(gtk.STATE_NORMAL, self._text_color_normal)
+                self._default = False
+
+        def set_placeholder_text(self, text):
+            self._placeholder = text
+            if not self.has_focus():
+                self._focus_out()
 
-    def get_text(self):
-        if self._default:
-            return ''
-        return super(PlaceholderEntry, self).get_text()
+        def get_text(self):
+            if self._default:
+                return ''
+            return super(PlaceholderEntry, self).get_text()
 
-    def set_text(self, text):
-        super(PlaceholderEntry, self).set_text(text)
-        if not self.has_focus():
-            self._focus_out()
+        def set_text(self, text):
+            super(PlaceholderEntry, self).set_text(text)
+            if not self.has_focus():
+                self._focus_out()
 
 if __name__ == '__main__':
     win = gtk.Window()
diff --git a/tryton/common/popup_menu.py b/tryton/common/popup_menu.py
index 9cf201e..20289e2 100644
--- a/tryton/common/popup_menu.py
+++ b/tryton/common/popup_menu.py
@@ -62,7 +62,7 @@ def populate(menu, model, record, title='', field=None):
     def edit(menuitem):
         with Window(hide_current=True, allow_similar=True):
             Window.create(field.attrs.get('view_ids'), model, id_(record),
-                mode=['form'])
+                mode=['form'], name=field.attrs.get('string'))
 
     if title:
         if len(menu):
@@ -82,12 +82,18 @@ def populate(menu, model, record, title='', field=None):
         edit_item.connect('activate', edit)
         action_menu.append(edit_item)
         action_menu.append(gtk.SeparatorMenuItem())
-    attachment_item = gtk.ImageMenuItem('tryton-attachment')
+    attachment_item = gtk.ImageMenuItem()
     attachment_item.set_label(_('Attachments...'))
+    attachment_icon = gtk.Image()
+    attachment_icon.set_from_stock('tryton-attachment', gtk.ICON_SIZE_MENU)
+    attachment_item.set_image(attachment_icon)
     action_menu.append(attachment_item)
     attachment_item.connect('activate', attachment)
-    note_item = gtk.ImageMenuItem('tryton-note')
+    note_item = gtk.ImageMenuItem()
     note_item.set_label(_('Notes...'))
+    note_icon = gtk.Image()
+    note_icon.set_from_stock('tryton-note', gtk.ICON_SIZE_MENU)
+    note_item.set_image(note_icon)
     action_menu.append(note_item)
     note_item.connect('activate', note)
 
@@ -105,8 +111,11 @@ def populate(menu, model, record, title='', field=None):
                 ):
             if len(action_menu):
                 action_menu.append(gtk.SeparatorMenuItem())
-            title_item = gtk.ImageMenuItem(icon)
+            title_item = gtk.ImageMenuItem()
             title_item.set_label(label)
+            title_icon = gtk.Image()
+            title_icon.set_from_stock(icon, gtk.ICON_SIZE_MENU)
+            title_item.set_image(title_icon)
             action_menu.append(title_item)
             if not toolbar[atype]:
                 title_item.set_sensitive(False)
diff --git a/tryton/common/selection.py b/tryton/common/selection.py
index 720c97e..d2faf1e 100644
--- a/tryton/common/selection.py
+++ b/tryton/common/selection.py
@@ -135,7 +135,8 @@ def freeze_value(value):
 class PopdownMixin(object):
 
     def set_popdown(self, selection, entry):
-        if not entry.child:  # entry is destroyed
+        child = entry.get_child()
+        if not child:  # entry is destroyed
             return
         model, lengths = self.get_popdown_model(selection)
         entry.set_model(model)
@@ -147,7 +148,7 @@ class PopdownMixin(object):
         completion = gtk.EntryCompletion()
         completion.set_inline_selection(True)
         completion.set_model(model)
-        entry.child.set_completion(completion)
+        child.set_completion(completion)
         if lengths:
             pop = sorted(lengths, reverse=True)
             average = sum(pop) / len(pop)
@@ -156,9 +157,9 @@ class PopdownMixin(object):
             width = max(next((x for x in pop if x < (deviation * 4)), 10), 10)
         else:
             width = 10
-        entry.child.set_width_chars(width)
+        child.set_width_chars(width)
         if lengths:
-            entry.child.set_max_length(max(lengths))
+            child.set_max_length(max(lengths))
         completion.set_text_column(0)
         completion.connect('match-selected', self.match_selected, entry)
 
@@ -179,13 +180,16 @@ class PopdownMixin(object):
                 entry.set_active(i)
                 break
 
-    def get_popdown_value(self, entry):
+    def get_popdown_value(self, entry, index=1):
         active = entry.get_active()
         if active < 0:
             return None
         else:
             model = entry.get_model()
-            return model[active][1]
+            return model[active][index]
+
+    def get_popdown_text(self, entry):
+        return self.get_popdown_value(entry, index=0)
 
     def set_popdown_value(self, entry, value):
         active = -1
@@ -200,7 +204,7 @@ class PopdownMixin(object):
         entry.set_active(active)
         if active == -1:
             # When setting no item GTK doesn't clear the entry
-            entry.child.set_text('')
+            entry.get_child().set_text('')
         return True
 
 
diff --git a/tryton/common/widget_style.py b/tryton/common/widget_style.py
new file mode 100644
index 0000000..09ccceb
--- /dev/null
+++ b/tryton/common/widget_style.py
@@ -0,0 +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.
+import gtk
+
+gtk_version = getattr(gtk, 'get_major_version', lambda: 2)()
+
+if gtk_version == 2:
+    def set_widget_style(widget, editable):
+        style = widget.__class__().get_style()
+        if editable:
+            widget.modify_fg(gtk.STATE_NORMAL, style.fg[gtk.STATE_NORMAL])
+            widget.modify_base(gtk.STATE_NORMAL, style.base[gtk.STATE_NORMAL])
+            widget.modify_bg(gtk.STATE_NORMAL, style.bg[gtk.STATE_NORMAL])
+        else:
+            widget.modify_fg(gtk.STATE_NORMAL, style.fg[gtk.STATE_INSENSITIVE])
+            widget.modify_base(
+                gtk.STATE_NORMAL, style.base[gtk.STATE_INSENSITIVE])
+            widget.modify_bg(gtk.STATE_NORMAL, style.bg[gtk.STATE_INSENSITIVE])
+else:
+    def set_widget_style(widget, editable):
+        widget.set_name('editable' if editable else 'readonly')
diff --git a/tryton/config.py b/tryton/config.py
index ce1b8d9..c563c8e 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -43,6 +43,7 @@ class ConfigManager(object):
             'tip.autostart': False,
             'tip.position': 0,
             'form.toolbar': True,
+            'client.title': 'Tryton',
             'client.default_width': 900,
             'client.default_height': 750,
             'client.modepda': False,
@@ -132,7 +133,7 @@ class ConfigManager(object):
             configparser.write(open(self.rcfile, 'wb'))
         except IOError:
             logging.getLogger(__name__).warn(
-                _('Unable to write config file %s!')
+                _('Unable to write config file %s.')
                 % (self.rcfile,))
             return False
         return True
@@ -165,15 +166,9 @@ class ConfigManager(object):
 CONFIG = ConfigManager()
 CURRENT_DIR = unicode(os.path.dirname(__file__),
     sys.getfilesystemencoding())
-if (os.name == 'nt' and hasattr(sys, 'frozen')
-        and os.path.basename(sys.executable) == 'tryton.exe'):
+if hasattr(sys, 'frozen'):
     CURRENT_DIR = os.path.dirname(unicode(sys.executable,
         sys.getfilesystemencoding()))
-elif (os.name == 'mac'
-        or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin')):
-    resources = os.path.join(os.path.dirname(sys.argv[0]), '..', 'Resources')
-    if os.path.isdir(resources):
-        CURRENT_DIR = resources
 
 PIXMAPS_DIR = os.path.join(CURRENT_DIR, 'data', 'pixmaps', 'tryton')
 if not os.path.isdir(PIXMAPS_DIR):
diff --git a/tryton/data/locale/bg/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..67f3faf
Binary files /dev/null and b/tryton/data/locale/bg/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po b/tryton/data/locale/bg/LC_MESSAGES/tryton.po
similarity index 53%
rename from tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
rename to tryton/data/locale/bg/LC_MESSAGES/tryton.po
index 7e04e6f..e78eff1 100644
--- a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/bg/LC_MESSAGES/tryton.po
@@ -43,69 +43,89 @@ msgid "File \"%s\" not found"
 msgstr "Файла \"%s\" не е намерен"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Не може да запише конфигурационен файл %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Изберете действие"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Не е зададено действие!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton връзка"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Сървър:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Порт:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Избор:"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Вашия избор"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Запис като ..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Винаги игнорирай това предупреждение."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Потвърждение"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Грешка при достъп"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -123,50 +143,50 @@ msgstr ""
 "   - \"Сравняване\" за да видите променената версия;\n"
 "   - \"Запис \" за да запишете вашата текуща версия."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Сравняване"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Запис"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Грешка"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Съобщаване за грешка"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Грешка в приложението!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Грешка: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "За да съобщите за грешка трябва да имате сметка на <u>%s</u>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr ""
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Потребител: "
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Парола:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -174,45 +194,49 @@ msgstr ""
 "Тази грешка е вече съобщена от друг потребител..\n"
 "За да бъдете информирани потребителя ви е добавен списъка за този проблем"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Създадена е нова грешка с ID"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Грешка при свързване!\n"
 "Грешно потребителско име или парола!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Грешка:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Идентификатора на сървъра е променен след последната връзка!\n"
 "Приложението ще спре да се връзва към сървъра докато не бъде оправен идентификатора му."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Риск за сигурността"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Грешка при свързване!\n"
 "Невъзможност да се свърже със сървъра!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Мрежова грешка!"
 
 #: tryton/common/completion.py:22
@@ -223,64 +247,60 @@ msgstr ""
 msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "Лъжа"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "Нормален"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Отваряне на календара"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "г"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "да"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "Истина"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Истина"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Лъжа"
 
@@ -293,28 +313,28 @@ msgstr "Изход..."
 msgid "Attachments..."
 msgstr "Прикачен файл:"
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 #, fuzzy
 msgid "Relate..."
 msgstr "Свързани..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Справки..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Печат..."
 
@@ -346,186 +366,167 @@ msgstr "м"
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "Файл"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "Потребител"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "Настройки"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "Помощ"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "Свързване..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Изключване"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "База данни"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "Нова база данни"
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "Възтановяване на база данни..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Архивиране на база данни..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Изтриване на база данни..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "Изход..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "Предпочитания..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "Презареждане"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Превключване на меню"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "Лента с инструменти"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "По подразбиране"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Текс и икони"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "Икони"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "Текст"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "Лента с меню"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Смяна на бързи клавиши"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "Режим"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "Нормален"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "Форма"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Запазване на ширина/височина"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запазване на състояние разгърнато дърво"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Проверка на правопис"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "Предишен"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Ограничение при търсене..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "Email..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Запазване на опции"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "Подсказки..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "Бързи клавиши..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "Относно..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 #, fuzzy
 msgid "Manage Favorites"
 msgstr "Управление на профили"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Търсене"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -533,98 +534,14 @@ msgstr ""
 "Следващите действия изискват затваряне на всички прозорци.\n"
 "Искате ли да продължите?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Затваряне на таб"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Ще изтриете Tryton база данни.\n"
-"Сигурни ли сте че искате да продължите?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Грешна парола за Tryton сървъра\n"
-"Моля опитайте отново."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Достъпа отказан!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Изтриването на базата данни неуспя с грешка:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Изтриването на базата данни неуспешно!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Базата данни изтрита успешно!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Отваряне на архивиран файл за възтановяване..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Не може да се възтановяви база данни защитена с парола.\n"
-"Архивирането и възтановяването трябва да стане ръчно."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Базата данни е защитена с парола!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Грешна парола за Tryton сървъра.\n"
-"Моля опитайте отново."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Възтановяването на базата данни неуспя с грешка:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Възтановяването на базата неуспешно"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Възтановяването на базата данни неуспешно"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Не е възможно да се извлече база данни защитена с парола.\n"
-"Архивирането и възтановяването трябва да стане ръчно."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Извличането на базата данни неуспя с грешка:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Извличането на базата данни неуспешно!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Базата данни архивирана успешно!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Прикачен файл(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -635,7 +552,7 @@ msgid "Create a new record"
 msgstr "Създаване на нов запис"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Съхраняване"
 
@@ -644,8 +561,8 @@ msgid "Save this record"
 msgstr "Съхраняване на този запис"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Превключване"
 
@@ -686,394 +603,122 @@ msgstr "Изтриване..."
 msgid "_Close Tab"
 msgstr "Затваряне на таб"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"Това е URL адреса на Tryton сървъра. Използвайте за сървър 'localhost' и "
-"порт'8000' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна' за"
-" да промените адреса."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Няма връзка!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Не може да се свърже със сървъра!\n"
-"1. Проверете дали сървъра е пуснат.\n"
-"2. Проверете на кой адрес и порт приема връзки.\n"
-"3. Ако има защитна  стена между сървъра и този клиент уверете се че адреса на сървъра и порта(обикновенно 8000) не са блокирани.\n"
-"Натиснете на 'Промяна' за да смените адреса."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Създаване на нова база данни"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "Създаване"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Създай новата база данни"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Настройка на сървър"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Връзка към сървъра:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"Това е URL адреса на Tryton сървъра. Използвайте за сървър 'localhost' и "
-"порт'8000' ако сървъра е инсталиран на този компютър. Натиснете 'Промяна' за"
-" да промените адреса."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "Промяна"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Настройка на връзката със сървъра..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Парола за Tryton сървъра"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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:215
-msgid "New database setup:"
-msgstr "Настройка на нова база данни:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Име:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Изберете име на новата база данни.\n"
-"Позволени символи за букви, цифри и _ (под черта)\n"
-"Избягвайте акценти, празен символ или специални символи! Пример: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Език по подразбиране"
-
-#: tryton/gui/window/dbcreate.py:251
-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:255
-msgid "Admin password:"
-msgstr "Парола на администратор:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Изберете парола за потребителя-администратор на новата база данни. С тези данни по-късно ще може да влезете в базата данни:\n"
-"Потребителско име: admin\n"
-"Парола: <Паролата която сте избрали>"
-
-#: tryton/gui/window/dbcreate.py:274
-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 ""
-"Вече съществува база данни с това име.\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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"По неизвестна причина не базата данни не може да бъде създадена.\n"
-"Ако има така създадена база данни вероятно е с грешки. Може да изтриете тази база данни! За повече информация вижте съобщинието за грешка.\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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "База данни:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Редактор на профили"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Профил"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "Изтриване"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Хост:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Създаване"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "База данни:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Вземане на списъка с бази данни:"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Потребителско име:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Не може да се свърже със сървъра!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Несъвместима версия на сървъра!"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Не може да се свърже със сървъра!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Потребителско име"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "Отказ"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Отказ от свръзване с Tryton сървъра"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "Свързване"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Свързване с Tryton сървъра"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Профил:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "Управление на профили"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Информация за Хост / База данни"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Потребителско име:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Възтановяване на база данни"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Файл за възтановяването"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Избор на името на базата данни която да бъде възтановена.\n"
-"Позволени символи са букви, цифри или – (под черта)\n"
-"Не може да използвате акценти, празен символ или специални символи! \n"
-"Пример: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Име на нова база данни:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Обновяване на база данни:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Проверка за автоматични обновявания след възтановяване на база данни от "
-"предишна Tryton версия."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Възтановяване"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "Възтановяване на база данни от файл."
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Настройки на програма за email"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Команден ред:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Лагенда за налични контейнери:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "До"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Относно:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Тяло:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Прикачен файл:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Предишен"
 
@@ -1081,10 +726,10 @@ msgstr "Предишен"
 msgid "Previous Record"
 msgstr "Предишен запис"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Следващ"
 
@@ -1170,78 +815,78 @@ msgstr "Извличане на данни..."
 msgid "_Import Data..."
 msgstr "Вмъкване на данни..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Прикачен файл(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Трябва да изберете един запис!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Последно променен от:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Модел:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Наистина ли искате да изтриете този запис?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Наистина ли искате да изтриете тези записи?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Записа не е изтрит!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Записите изтрити!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Работите върху дублиран(и) запис(и)!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Записа съхранен!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " от"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1291,7 +936,7 @@ msgid "Print report"
 msgstr "Отпечатване на справка"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Неизвестен"
 
@@ -1299,19 +944,24 @@ msgstr "Неизвестен"
 msgid "Limit"
 msgstr "Ограничение"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Настройки на органичения за търсене"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Ограничение:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Редактиране на потребителски настройки"
 
@@ -1319,21 +969,17 @@ msgstr "Редактиране на потребителски настройк
 msgid "Preference"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Текуща парола"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Предишен"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "Избор:"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "Предишен"
@@ -1342,153 +988,153 @@ msgstr "Предишен"
 msgid "Keyboard Shortcuts"
 msgstr "Бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Текстови бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Изрязване на избрания текст"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Копиране на избрания текст"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Поставяне на копирания текст"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Следваща джаджа"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Предишенна джаджа"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 #, fuzzy
 msgid "Relation Entries Shortcuts"
 msgstr "Текстови бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Създаване на нова връзка"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Отваряне/Търсене на връзка"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Списък бързи клавиши"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Създаване на нов ред"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Отваряне на връзка"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Отбелязване на ред за изтриване"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Изчистване на ред за изтриване"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1554,7 +1200,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Подсказки"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Показвай нова подсказка следващия път"
 
@@ -1587,7 +1233,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Кодиране:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Име на поле"
 
@@ -1613,42 +1259,42 @@ msgstr "Запис на извличане"
 msgid "_Delete Export"
 msgstr "Изтриване на извличане"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Отваряне"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Добавяне на имена на полета"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Какво е името на това извличане?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d заспис съхранен!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d записа съхранени!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1656,30 +1302,30 @@ msgstr ""
 "Съобщение за грешка:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Връзка"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Добавяне"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Изтриване <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Създаване на нов запис <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Възтановяване на избрания запис <Ins>"
 
@@ -1696,9 +1342,9 @@ msgstr "Автоматично разпознаване"
 msgid "File to Import:"
 msgstr "Файл за вмъкване:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Отваряне..."
 
@@ -1706,194 +1352,217 @@ msgstr "Отваряне..."
 msgid "Lines to Skip:"
 msgstr "Редове за пропускане:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Първо трябва да изберете файл за вмъкване!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Грешка при отваряне на CSV файл"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Грешка при обработка на файл при поле %s"
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d запис вмъкнат!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d записи вмъкнати!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Помощник"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 #, fuzzy
 msgid "ID"
 msgstr "д"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "Потребител създал:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата на създаване:"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата на последна промяна:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не може да зададе локални настройки %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Запис като"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Размер на изображение"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Ширина:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Височина:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Запис като"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "Филтри"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Търсене"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "Тяло:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "Превключване на изглед"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Изчистване"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Всички файлове"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Показване само на текст"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1902,67 +1571,74 @@ msgstr ""
 msgid "Images"
 msgstr "Изображения"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 #, fuzzy
 msgid "Add existing record"
 msgstr "Съхраняване на този запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "Отваряне на запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Тъсене на запис"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Изтриване на избрания запис <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Редактиране на избрания запис"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 #, fuzzy
 msgid "Translation"
 msgstr "Добавяне на превод"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Редактиране"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Неясно"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "Трябва да съхраните записа преди да добавите преводи!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Няма наличен друг език!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo b/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 2bb6c16..0000000
Binary files a/tryton/data/locale/bg_BG/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/ca/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..0499b42
Binary files /dev/null and b/tryton/data/locale/ca/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/ca/LC_MESSAGES/tryton.po
similarity index 51%
rename from tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
rename to tryton/data/locale/ca/LC_MESSAGES/tryton.po
index 9ecc961..da42d08 100644
--- a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ca/LC_MESSAGES/tryton.po
@@ -3,7 +3,6 @@
 # This file is distributed under the same license as the tryton project.
 # Sergi Almacellas Abellana <sergi at koolpi.com> 2012.
 # Jordi Esteve Cusiné <jesteve at zikzakmedia.com> 2012.
-#, 2014.
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
@@ -45,69 +44,86 @@ msgid "File \"%s\" not found"
 msgstr "No s'ha trobat el fitxer \"%s\""
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, python-format, python-format
+msgid "Unable to write config file %s."
 msgstr "No s'ha pogut escriure el fitxer configuració %s"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No s'ha pogut establir l'idioma %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Seleccioneu la vostra acció"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+msgid "No action defined."
 msgstr "No s'ha definit cap acció."
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Per: "
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Connexió a Tryton"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Selecció"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "La vostra selecció:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Desa com..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Ignora sempre aquest advertiment."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Voleu continuar?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Confirmació"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Excepció de concurrència"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -125,50 +141,49 @@ msgstr ""
 "   - \"Compara\" per veure la versió modificada;\n"
 "   - \"Desa de totes formes\" per desar els vostres canvis."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Compara"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Desa de totes formes"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Informa de l'error"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+msgid "Application Error."
 msgstr "Error d'aplicació."
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Seguiment d'errors"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Usuari:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Contrasenya:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,45 +191,44 @@ msgstr ""
 "El mateix error ja ha estat notificat per un altre usuari.\n"
 "Per mantenir-vos informat afegirem el vostre usuari a la llista d'interessats en aquest assumpte."
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "S'ha creat una nou informe d'error amb l'identificador "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Error de connexió.\n"
 "Nom d'usuari o contrasenya incorrectes."
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Excepció:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "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 amb aquest servidor fins que es corregeixi l'empremta digital del servidor."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+msgid "Security risk."
 msgstr "Risc de seguretat."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Error de connexió.\n"
 "No ha estat possible connectar amb el servidor."
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+msgid "Network Error."
 msgstr "Error de xarxa."
 
 #: tryton/common/completion.py:22
@@ -225,61 +239,57 @@ msgstr "<i>Cerca...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Crea...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Valor"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Valor a mostrar"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Format"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Format a mostrar"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Obre el calendari"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Format dates"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Format dates a mostrar"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr "Si"
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdader"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Verdader"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdader"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Fals"
 
@@ -291,27 +301,27 @@ msgstr "Edita..."
 msgid "Attachments..."
 msgstr "Adjunts..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Notes..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Accions..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Relacionat..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "Correu electrònic..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Imprimeix..."
 
@@ -343,183 +353,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Fitxer"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "_Conexió"
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "U_suari"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Opcions"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "_Preferits"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "Aj_uda"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "No s'han trobat resultats."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Connecta..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Desconnecta"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de dades"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nova base de dades..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaura una base de dades..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Fes _còpia de seguretat de la base de dades..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Elimina una base de dades..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Surt..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Preferències..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Recarrega el menú"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Commuta el _menú"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Cerca _Global"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "Barra d'_eines"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "Per _defecte"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Text _i icones"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Icones"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Canvia tecles ràpides"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Mode"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Formulari"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Desa ample/alt"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Desa l'estat de l'arbre"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Tabulació ràpida"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Correcció ortogràfica"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Anterior"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_Següent"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "_Límit de cerca..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Correu electrònic..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Desa opcions"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "Conse_lls..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binacions de tecles..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Quant a..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
-msgstr "_Gestiona els preferits"
-
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+msgstr "_Gestiona els favorits"
+
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Cerca"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,98 +518,14 @@ msgstr ""
 "L'acció seleccionada requereix tancar totes les pestanyes.\n"
 "Voleu continuar?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Tanca pestanya"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Esteu a punt d'eliminar una base de dades de Tryton.\n"
-"Esteu segur que voleu continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contrasenya del servidor Tryton és incorrecta.\n"
-"Intenteu-ho de nou."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Accés denegat."
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "Ha fallat l'eliminació de la base de dades."
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "La base de dades s'ha eliminat correctament."
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Obre una còpia de seguretat per restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "La base de dades està protegida amb contrasenya."
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contrasenya del servidor Tryton és incorrecta.\n"
-"Intenteu-ho de nou."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "La restauració de la base de dades ha fallat."
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "La base de dades s'ha restaurat correctament."
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "L'extracció de la base de dades ha fallat."
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "La còpia de seguretat de la base de dades ha finalitzat correctament."
+#: tryton/gui/window/attachment.py:22
+#, python-format, python-format, python-format
+msgid "Attachments (%s)"
+msgstr "Adjunts (%s)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -629,7 +536,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Desa"
 
@@ -638,8 +545,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Canvia la vista"
 
@@ -680,396 +587,122 @@ msgstr "_Elimina..."
 msgid "_Close Tab"
 msgstr "_Tanca la pestanya"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"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:42
-msgid "No connection!"
-msgstr "No hi ha connexió."
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"No ha estat possible connectar amb el 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"
-"Premeu a «Canvia» per canviar l'adreça."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crea nova base de dades"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rea"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crea la nova base de dades."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuració del servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Connexió amb el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"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:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_anvia"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configura la connexió amb el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contrasenya del servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"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:215
-msgid "New database setup:"
-msgstr "Nova configuració de la base de dades:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nom de la base de dades:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma per defecte:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contrasenya de l'administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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"
-"Nom d'usuari: admin\n"
-"Contrasenya: <La contrasenya que introduïu aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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"
-"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 ha estat possible connectar amb el 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ó amb el servidor:"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Afegeix"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Elimina"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crea"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Base de dades:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Recuperant llista de bases de dades"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Nom d'usuari:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No ha estat possible connectar amb el servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "El client no és compatible amb la versió del servidor"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "No ha estat possible connectar amb el servidor"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Usuari"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Cancel·la"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancel·la connexió amb el servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "C_onnecta"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Connecta amb el servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Administra perfils"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Informació del Servidor / Base de dades"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 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:122
-msgid "File to Restore:"
-msgstr "Fitxer a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Trieu el nom de la base de dades a restaurar.\n"
-"Els caràcters permesos són alfanumèrics o _ (guió baix)\n"
-"Eviteu tots els accents, espais, o caràcters especials. \n"
-"Exemple: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nom de la base de dades nova:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualitza base de dades:"
-
-#: tryton/gui/window/dbrestore.py:151
-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."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Restaura"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Configuració del programa de correu electrònic"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Línia de comandes:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Llegenda de paraules clau disponibles:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "A:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Assumpte:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Missatge:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunt:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Anterior"
 
@@ -1077,10 +710,10 @@ msgstr "Anterior"
 msgid "Previous Record"
 msgstr "Registre anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Següent"
 
@@ -1164,73 +797,73 @@ msgstr "_Exporta dades..."
 msgid "_Import Data..."
 msgstr "_Importa dades..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunt(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Nota(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "Heu de triar un registre."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
-msgstr "ID:"
+msgstr "Identificador:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Creat per:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
-msgstr "Data de creació:"
+msgstr "Data creació:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Última modificació per:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Última data de modificació:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Esteu segur que voleu eliminar aquest registre?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Esteu segur que voleu eliminar aquests registres?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Els registres no s'han eliminat."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Registres eliminats."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Ara esteu treballant en el registre duplicat."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Registre desat."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1279,7 +912,7 @@ msgid "Print report"
 msgstr "Imprimeix informe"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Desconegut"
 
@@ -1287,19 +920,24 @@ msgstr "Desconegut"
 msgid "Limit"
 msgstr "Límit"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Preferències del límit de cerca"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Límit:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Notes (%s)"
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferències"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Edita preferències d'usuari"
 
@@ -1307,19 +945,15 @@ msgstr "Edita preferències d'usuari"
 msgid "Preference"
 msgstr "Preferències"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Contrasenya actual:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Revisió"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Seleccioneu una revisió"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Revisió:"
 
@@ -1327,152 +961,152 @@ msgstr "Revisió:"
 msgid "Keyboard Shortcuts"
 msgstr "Combinacions de tecles"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Dreceres en camps de text"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Talla el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Copia el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Enganxa el text seleccionat"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Camp següent"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Camp anterior"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Dreceres en relacions"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Crea una nova relació"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Obre/Cerca una relació"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Dreceres en llistes"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Crea una nova línia"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Obre una relació"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Marca la línia per ser eliminada"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Desmarca la línia per ser eliminada"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Controls en l'edició"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Mou cursor"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Mou a la dreta"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Mou a l'esquerra"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Mou amunt"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Mou avall"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Mou amunt una pàgina"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Mou avall una pàgina"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "Mou al principi"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Mou al final"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Mou al pare"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Selecciona tot"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Deselecciona tot"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Selecciona pare"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Selecciona/Activa fila actual"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Commuta selecció"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Expandeix/Contrau"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Expandeix fila"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Contrau fila"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Commuta fila"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "Expandeix totes les files"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "Contrau totes les files"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Vista d'arbre"
 
@@ -1538,7 +1172,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Consells"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nou consell la propera vegada"
 
@@ -1560,7 +1194,7 @@ msgstr "Paràmetres CSV"
 
 #: tryton/gui/window/win_csv.py:134
 msgid "Delimiter:"
-msgstr "Separador de camp:"
+msgstr "Separador:"
 
 #: tryton/gui/window/win_csv.py:148
 msgid "Quote char:"
@@ -1570,7 +1204,7 @@ msgstr "Delimitador de text:"
 msgid "Encoding:"
 msgstr "Codificació:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Nom del camp"
 
@@ -1594,42 +1228,42 @@ msgstr "_Desa exportació"
 msgid "_Delete Export"
 msgstr "_Elimina exportació"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Obre"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Afegeix noms de _camp"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (text)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Quin és el nom d'aquesta exportació?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
-msgstr "Voleu sobrescriure la definició de '%s'?"
+msgstr "Voleu sobreescriure la definició de '%s'?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, python-format, python-format
+msgid "%d record saved."
 msgstr "S'ha desat %d registre."
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, python-format, python-format
+msgid "%d records saved."
 msgstr "S'han desat %d registres."
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, python-format, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1637,30 +1271,30 @@ msgstr ""
 "Missatge d'error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Enllaç"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Afegeix"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Elimina <Supr>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Crea un nou registre <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Recupera el registre seleccionat <Ins>"
 
@@ -1670,15 +1304,15 @@ msgstr "Importa des de CSV"
 
 #: tryton/gui/window/win_import.py:32
 msgid "_Auto-Detect"
-msgstr "_Auto-detecta"
+msgstr "Detecta _automàticament "
 
 #: tryton/gui/window/win_import.py:43
 msgid "File to Import:"
 msgstr "Fitxer a importar:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Obre..."
 
@@ -1686,184 +1320,205 @@ msgstr "Obre..."
 msgid "Lines to Skip:"
 msgstr "Línies a ometre:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "Primer heu de triar un fitxer a importar."
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
+msgstr "Primer heu de seleccionar un fitxer a importar."
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Error a l'obrir el fitxer CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, 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:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, python-format, python-format
+msgid "%d record imported."
 msgstr "S'ha importat %d registre."
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, python-format, python-format
+msgid "%d records imported."
 msgstr "S'han importat %d registres."
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr "Cerca %s"
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Creat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Data de creació"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Modificat per"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Data de modificació"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 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:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 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/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" no és vàlid segons el seu domini."
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" és obligatori."
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Els valors de \"%s\" no són vàlids."
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Prevalidació"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Anomena i desa"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Mida de la imatge"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Amplada:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "Imatge PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Anomena i desa"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltres"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Mostra les cerques preferides"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Elimina de les cerques preferides"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Desa com a cerca preferida"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Nom de la cerca preferida:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Cerca"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Avui"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "vés enrere"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "vés endavant"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "any anterior"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "l'any següent"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Vista setmanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Setmana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Selecciona..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Neteja"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Tots els fitxers"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Selecciona"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Mostra com a text pla"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Afegeix un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1872,63 +1527,67 @@ msgstr "Eliminar \"%s\""
 msgid "Images"
 msgstr "Imatges"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Afegeix un registre existent"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Elimina el registre seleccionat <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
 msgstr "Obre el registre <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Eliminar el registe <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Cerca un registre <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Elimina el registre seleccionat"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Edita registre seleccionat <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Primer pla"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Seleccioneu un color"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Traducció"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Edita"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
-msgstr "Dubtós"
+msgstr "Dubtosa"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+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:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
 msgstr "No hi ha cap altre idioma disponible."
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 26d80aa..0000000
Binary files a/tryton/data/locale/ca_ES/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/cs/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..ca1f5cb
Binary files /dev/null and b/tryton/data/locale/cs/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po b/tryton/data/locale/cs/LC_MESSAGES/tryton.po
similarity index 51%
rename from tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
rename to tryton/data/locale/cs/LC_MESSAGES/tryton.po
index 97040f5..3710b80 100644
--- a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/cs/LC_MESSAGES/tryton.po
@@ -44,69 +44,89 @@ msgid "File \"%s\" not found"
 msgstr ""
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Nelze zapsat konfigurační soubor %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Vyberte akci"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Žádná akce není definována!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton spojení"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Výběr"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Váš výběr:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Uložit jako..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "zadejte alternativní konfigurační soubor"
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Potvrzení"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Výjimka při souběhu"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -125,50 +145,50 @@ msgstr ""
 "  - \"Porovnat\" pro zobrazení změněné verze,\n"
 "  - \"Přesto zapsat\" pro zapsání vaší verze."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Porovnat"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Přesto zapsat"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Chyba"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Nahlásit chybu"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Chyba aplikace!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Chyba:"
 
-#: tryton/common/common.py:880
-#, python-format, fuzzy, python-format
+#: tryton/common/common.py:837
+#, python-format, python-format, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Sledování chyb"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Uživatel:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Heslo:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,43 +196,45 @@ 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:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Založena nová chyba s ID"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Chyba při spojení!\n"
 "Špatné uživatelské jméno nebo heslo!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Výjimka:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"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:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+msgid "Security risk."
 msgstr ""
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Chyba spojení!\n"
 "Nelze se připojit k serveru!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Chyba sítě!"
 
 #: tryton/common/completion.py:22
@@ -223,66 +245,60 @@ msgstr ""
 msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "Nepravda"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "_Normální"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Otevřít kalendář"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "yes"
-msgstr "bajtů"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "Pravda"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Pravda"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Nepravda"
 
@@ -296,31 +312,31 @@ msgstr "Konec..."
 msgid "Attachments..."
 msgstr "Příloha:"
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 #, fuzzy
 msgid "Actions..."
 msgstr "Akce..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 #, fuzzy
 msgid "Relate..."
 msgstr "_Odstranit..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 #, fuzzy
 msgid "Report..."
 msgstr "Importovat data..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 #, fuzzy
 msgid "E-Mail..."
 msgstr "_Email..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 #, fuzzy
 msgid "Print..."
 msgstr "_Tisk..."
@@ -353,283 +369,180 @@ msgstr ""
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Soubor"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Uživatel"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Volby"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "Nápo_věda"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Připojit..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Odpojit"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Databáze"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "Nová databáze..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "Obnovit databázi..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Zazálohovat databázi..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Smazat databázi"
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "Konec..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Vlastnosti..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "_Obnovit"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 #, fuzzy
 msgid "_Toolbar"
 msgstr "Nástrojová lišta"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Výchozí"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Text a ikony"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Ikony"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "Hlavní nabídka"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr ""
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Režim"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normální"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "Formulář"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr ""
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Kontrola pravopisu"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "_Předchozí"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr ""
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Email..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Uložit nastavení"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Tipy..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Klávesové zkratky..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_O programu..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Hledat"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Zavřít záložku"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Bude smazána Tryton databáze.\n"
-"Opravdu chcete pokračovat?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Přístup odepřen!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Odstranění databáze selhalo s chybovou zprávou:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Odstranění databáze selhalo!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Databáze úspěšné odstraněna!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Otevřít soubor se zálohou pro obnovu..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Databáze je chráněna heslem!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Špatné heslo Tryton serveru\n"
-"Zkuste to znovu."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Obnovení databáze selhalo s chybovou zprávou:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Obnova databáze selhala!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Databáze úspěšně obnovena!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Záloha databáze selhala s chybovou zprávou:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Záloha databáze selhala!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Databáze úspěšně zazálohována!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Příloha(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 #, fuzzy
@@ -641,7 +554,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 #, fuzzy
 msgid "Save"
 msgstr "_Uložit"
@@ -651,8 +564,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Přepnout"
 
@@ -693,402 +606,127 @@ msgstr "_Odstranit..."
 msgid "_Close Tab"
 msgstr "_Zavřít kartu"
 
-#: tryton/gui/window/dbcreate.py:29
-#, fuzzy
-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 ""
-"Toto je URL Tryton serveru. Použijte server 'localhost' a port '8070', pokud"
-" je server nainstalován na tomto počítači. Klikněte na \"Změnit\" pro změnu "
-"adresy."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Není spojení!"
-
-#: tryton/gui/window/dbcreate.py:43
-#, fuzzy
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Nelze se připojit k serveru!\n"
-"1. Zkontrolujte, jestli server běží.\n"
-"2. Zjistěte, na které adrese a portu poslouchá.\n"
-"3. Pokud je mezi klientem a serverem firewall, zajistěte, že adresa a port (obvykle 8070) serveru nejsou blokovány.\n"
-"Klikněte na \"Změnit\" pro změnu adresy."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Vytvořit novou databázi"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "_Vytvořit"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Vytvořit novou databázi."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Nastavení serveru:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Spojení k serveru:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-#, fuzzy
-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 ""
-"Toto je URL Tryton serveru. Použijte server 'localhost' a port '8070', pokud"
-" je server nainstalován na tomto počítači. Klikněte na \"Změnit\" pro změnu "
-"adresy."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "Změnit"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Nastavení spojení k serveru..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Heslo pro Tryton server:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"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:215
-msgid "New database setup:"
-msgstr "Nastavení nové databáze:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Název databáze:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Vyberte název nové databáze.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Výchozí jazyk:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Vyberte výchozí jazyk, který bude nainstalován pro tuto databázi. Po "
-"instalaci budete schopni instalovat další jazyky pomocí administračního "
-"menu."
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Heslo správce:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Vyberte heslo pro správce nové databáze. Pomocí následujících údajů se pak budete schopni k této databázi připojit:\n"
-"Uživatel: admin\n"
-"Heslo: <právě zadané heslo>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Databázi nelze vytvořit, příčina je neznámá.\n"
-"Pokud je databáze již vytvořená, může být poškozená. Zkuste ji odstranit. 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Databáze:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Přidat"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Odstranit"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 #, fuzzy
 msgid "Host:"
 msgstr "Port:"
 
-#: tryton/gui/window/dblogin.py:98
-#, fuzzy
-msgid "Create"
-msgstr "_Vytvořit"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Databáze:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Nastavení nové databáze:"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 #, fuzzy
 msgid "Username:"
 msgstr "Uživatelské jméno:"
 
-#: tryton/gui/window/dblogin.py:297
-#, fuzzy
-msgid "Could not connect to the server"
-msgstr "Nelze se spojit se serverem!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Verze serveru není kompatibilní!"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+#, fuzzy
+msgid "Could not connect to the server"
+msgstr "Nelze se spojit se serverem!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Přihlášení"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Zrušit"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Zrušit spojení k Tryton serveru."
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "_Připojit"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Připojit k Tryton serveru"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 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:122
-msgid "File to Restore:"
-msgstr "Obnovit ze souboru:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Vyberte název databáze pro obnovu.\n"
-"Povolené znaky jsou alfanumerické a _ (podtržítko)\n"
-"Nepoužívejte znaky s akcenty, mezeru nebo speciální znaky!\n"
-"Příklad: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Název nové databáze:"
-
-#: tryton/gui/window/dbrestore.py:146
-#, fuzzy
-msgid "Update Database:"
-msgstr "Zálohovat databázi"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Obnovit"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Poslat nastavení programu emailem"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Příkazový řádek:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Seznam dostupných náhrad:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Komu:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Předmět: "
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Tělo:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Příloha:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Předchozí"
 
@@ -1096,10 +734,10 @@ msgstr "Předchozí"
 msgid "Previous Record"
 msgstr "Předchozí záznam"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Další"
 
@@ -1188,78 +826,78 @@ msgstr "Exportovat data"
 msgid "_Import Data..."
 msgstr "Importovat data..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Příloha(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Musíte vybrat právě jeden záznam!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Poslední úpravu provedl:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Opravdu chcete odstranit tento záznam?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Opravdu chcete odstranit tyto záznamy?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Záznamy neodstraněny!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Záznamy odstraněny!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Nyní pracujete s duplicitním záznamem!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Záznam uložen!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " z "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1314,7 +952,7 @@ msgid "Print report"
 msgstr ""
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Neznámý"
 
@@ -1323,20 +961,25 @@ msgstr "Neznámý"
 msgid "Limit"
 msgstr "Omezit:"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr ""
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 #, fuzzy
 msgid "Limit:"
 msgstr "Omezit:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavení"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Upravit uživatelské nastavení"
 
@@ -1344,22 +987,17 @@ msgstr "Upravit uživatelské nastavení"
 msgid "Preference"
 msgstr "Nastavení"
 
-#: tryton/gui/window/preference.py:88
-#, fuzzy
-msgid "Current Password:"
-msgstr "Heslo správce:"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Předchozí"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "Výběr"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "Předchozí"
@@ -1368,155 +1006,155 @@ msgstr "Předchozí"
 msgid "Keyboard Shortcuts"
 msgstr "Klávesové zkratky"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Vyjmout vybraný text"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Kopírovat vybraný text"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Vložit vybraný text"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Další prvek"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Předchozí prvek"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Zkratky pro relace"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Vytvořit novou relaci"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Otevřít/prohledat relaci"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Zkratky pro texty"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "Create new line"
 msgstr "Vytvořit novou relaci"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Open relation"
 msgstr "Otevřít/prohledat relaci"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Editovací prvky"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1577,7 +1215,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Tipy"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Zobrazit příště další tip"
 
@@ -1610,7 +1248,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Kódování:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Jméno pole"
 
@@ -1636,42 +1274,42 @@ msgstr "Uložit exportu"
 msgid "_Delete Export"
 msgstr "Smazat exportu"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Otevřít"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Přidat jména polí"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d záznam uložen!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d záznamů uloženo!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1679,32 +1317,32 @@ msgstr ""
 "Chybová zpráva:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Odkaz"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Přidat"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Vytvořit nový záznam"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Smazat vybraný záznam"
@@ -1722,9 +1360,9 @@ msgstr "Automatická detekce"
 msgid "File to Import:"
 msgstr "Soubor k importu:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Otevřít..."
 
@@ -1732,195 +1370,218 @@ msgstr "Otevřít..."
 msgid "Lines to Skip:"
 msgstr "Vynechané řádky:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Nejprve je nutné vybrat soubor pro import!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Chyba při otevírání CSV souboru"
 
-#: tryton/gui/window/win_import.py:137
-#, python-format, fuzzy, python-format
+#: tryton/gui/window/win_import.py:141
+#, python-format, python-format, 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:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d záznam načten!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d záznamů načteno!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Průvodce"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 #, fuzzy
 msgid "ID"
 msgstr "Najít"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "Vytvořeno uživatelem:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "Datum vytvoření:"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "Datum poslední úpravy:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nemohu nastavit lokalizaci %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Uložit jako"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Velikost obrázku"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Šířka:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Výška:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "Obrázek PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Uložit jako"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Soubor"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Najít"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "Tělo:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "Přepnout pohled"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Vymazat"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Všechny soubory"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1929,70 +1590,76 @@ msgstr ""
 msgid "Images"
 msgstr "Obrázky"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 #, fuzzy
 msgid "Add existing record"
 msgstr "Uložit tento záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
 #, fuzzy
-msgid "Open a record <F2>"
+msgid "Open the record <F2>"
 msgstr "Otevřít záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Hledat záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Smazat vybraný záznam"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Upravit vybraný záznam"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 #, fuzzy
 msgid "Translation"
 msgstr "Přidat překlad"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+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:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Jiný jazyk není k dispozici!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo b/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo
deleted file mode 100644
index d23be4d..0000000
Binary files a/tryton/data/locale/cs_CZ/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/de/LC_MESSAGES/tryton.mo b/tryton/data/locale/de/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..54174ec
Binary files /dev/null and b/tryton/data/locale/de/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po b/tryton/data/locale/de/LC_MESSAGES/tryton.po
similarity index 50%
rename from tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
rename to tryton/data/locale/de/LC_MESSAGES/tryton.po
index 18c7917..f249753 100644
--- a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/de/LC_MESSAGES/tryton.po
@@ -44,69 +44,86 @@ msgid "File \"%s\" not found"
 msgstr "Datei \"%s\" nicht gefunden"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
-msgstr "Kann Konfigurationsdatei '%s' nicht schreiben!"
+#, python-format, python-format
+msgid "Unable to write config file %s."
+msgstr "Kann Konfigurationsdatei '%s' nicht schreiben."
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Kann locale %s nicht setzen."
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Aktion wählen"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "Keine Aktion angegeben!"
+#: tryton/action/main.py:184
+msgid "No action defined."
+msgstr "Keine Aktion definiert."
+
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Von: "
 
-#: tryton/common/common.py:274
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Verbindung"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Auswahl"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Ihre Auswahl:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Speichern unter..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Diese Warnung künftig nicht mehr anzeigen."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Fortfahren?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Bestätigung"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Aktualisierungskonflikt"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -124,51 +141,50 @@ msgstr ""
 "    - \"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:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Vergleichen"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Überschreiben"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Fehler"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Fehler berichten"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "Anwendungsfehler!"
+#: tryton/common/common.py:794
+msgid "Application Error."
+msgstr "Anwendungsfehler."
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Fehler:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Fehler melden"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Anmeldename:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Passwort:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,46 +192,45 @@ msgstr ""
 "Derselbe Fehlerbericht wurde bereits von einem anderen Benutzer berichtet.\n"
 "Zu Ihrer Information wurde Ihr Benutzername auf der Interessentenliste eingetragen."
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Neuer Fehlerbericht angelegt mit ID "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
-"Verbindungsfehler!\n"
+"Verbindungsfehler.\n"
 "Anmeldename oder Passwort fehlerhaft."
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Ausnahme:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "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 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:1034
-msgid "Security risk!"
-msgstr "Sicherheitsrisiko!"
+#: tryton/common/common.py:990
+msgid "Security risk."
+msgstr "Sicherheitsrisiko."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
-"Verbindungsfehler!\n"
+"Verbindungsfehler.\n"
 "Kann nicht zum Server verbinden."
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "Netzwerkfehler!"
+#: tryton/common/common.py:1061
+msgid "Network Error."
+msgstr "Netzwerkfehler."
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
@@ -225,61 +240,57 @@ msgstr "<i>Suche...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Erstelle...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Wert"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Angezeigter Wert"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Format"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Angezeigtes Format"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Kalender öffnen"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Datumsformat"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Angezeigtes Datumsformat"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "J"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
 msgstr "Ja"
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "Wahr"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "w"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Wahr"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Falsch"
 
@@ -291,27 +302,27 @@ msgstr "Bearbeiten..."
 msgid "Attachments..."
 msgstr "Anhänge..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Notizen..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Aktionen..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Beziehungen..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Berichte..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Drucken..."
 
@@ -343,183 +354,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Datei"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "_Verbindung"
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Benutzer"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Einstellungen"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_voriten"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Kein Ergebnis."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Verbindung _trennen"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Datenbank"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Neue Datenbank..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "Datenbank _wiederherstellen..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Datenbankbackup er_stellen..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Datenbank _löschen..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Beenden..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Einstellungen..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Menü neu laden"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Menü _umschalten"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "_Globale Suche"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Werkzeugleiste"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Standard"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Text _und Symbole"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Symbole"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Text"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Menüleiste"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Schnelltasten ändern"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Modus"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Formular"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Breite/Höhe speichern"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Menüansicht speichern"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Schneller Feldwechsel mit Tabulatortaste"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Rechtschreibkorrektur"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Vorherige Registerkarte"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_Nächste Registerkarte"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Suchlimitierung..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_E-Mail..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Einstellungen _speichern"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Tipps..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Schnelltasten..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Über..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "Favoriten verwalten"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Suchen"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,101 +519,14 @@ msgstr ""
 "Die folgende Aktion erfordert die Schließung aller Registerkarten.\n"
 "Fortfahren?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Registerkarte schließen"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Sie werden eine Tryton Datenbank löschen.\n"
-"Wirklich fortfahren?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Falsches Passwort für den Tryton Server.\n"
-"Bitte geben Sie es noch einmal ein."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Zugang verweigert!"
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "Datenbank konnte nicht gelöscht werden!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Datenbank erfolgreich gelöscht."
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Backupdatei für Wiederherstellung öffnen..."
-
-#: tryton/gui/main.py:1335
-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"
-"Backup und Wiederherstellung müssen in diesem Fall manuell durchgeführt werden."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Datenbank ist passwortgeschützt!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Falsches Passwort für den Tryton Server.\n"
-"Bitte geben Sie es noch einmal ein."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr ""
-"Wiederherstellung der Datenbank ist fehlgeschlagen mit der Fehlermeldung:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Wiederherstellung der Datenbank ist fehlgeschlagen!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Datenbank wurde erfolgreich wiederhergestellt."
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Es ist nicht möglich eine passwortgeschützte Datenbank zu sichern.\n"
-"Backup und Wiederherstellung müssen in diesem Fall manuell durchgeführt werden."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Die Datenbanksicherung ist fehlgeschlagen mit der Fehlermeldung:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Datenbank konnte nicht gesichert werden!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Datenbank erfolgreich gesichert."
+#: tryton/gui/window/attachment.py:22
+#, python-format, python-format
+msgid "Attachments (%s)"
+msgstr "Anhänge (%s)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -632,7 +537,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Speichern"
 
@@ -641,8 +546,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Ansicht wechseln"
 
@@ -683,400 +588,122 @@ msgstr "_Löschen..."
 msgid "_Close Tab"
 msgstr "Registerkarte schließen"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"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:42
-msgid "No connection!"
-msgstr "Keine Verbindung!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"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"
-"3. Wenn sich eine Firewall zwischen dem Tryton-Server und diesem Client befindet, stellen Sie sicher, dass die Tryton-Serveradresse 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:134
-msgid "Create new database"
-msgstr "Neue Datenbank erstellen"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "_Erstellen"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Neue Datenbank erstellen"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Tryton Server Einstellungen:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Serververbindung:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"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:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "_Bearbeiten"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Serververbindung konfigurieren..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Tryton Server Passwort:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"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:215
-msgid "New database setup:"
-msgstr "Datenbank Einstellungen:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Name:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Geben Sie hier den Namen der neuen Datenbank ein.\n"
-"Erlaubt sind alle Buchstaben, Zahlen und _ (Unterstrich).\n"
-"Nicht erlaubt sind Umlaute, Akzente, Leerzeichen oder Sonderzeichen wie 'ß'. Beispielname: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Standard Sprache:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Administrator Passwort:"
-
-#: tryton/gui/window/dbcreate.py:266
-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"
-"Anmeldename: admin\n"
-"Passwort: <Das hier vergebene Passwort>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-
-#: 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."
-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."
-
-#: 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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-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"
-"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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Datenbank:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Profilbearbeitung"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Hinzufügen"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Entfernen"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Host:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Erstellen"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Datenbank:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Datenbankliste wird abgefragt..."
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Anmeldename:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Kann nicht zum Server verbinden!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Inkompatible Serverversion"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Kann nicht zum Server verbinden!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Anmeldung"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Abbrechen"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Abbrechen"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "_Verbinden"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Verbindung zum Tryton Server herstellen"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Profile verwalten"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Host-/Datenbankdetails"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Anmeldename:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Datenbank wiederherstellen"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Datei zur Wiederherstellung:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Wählen Sie die Datenbank, die wiederhergestellt werden soll.\n"
-"Erlaubt sind alphanumerische Zeichen und _ (Unterstrich)\n"
-"Nicht erlaubt sind Akzente, Leerzeichen oder spezielle Zeichen! \n"
-"Beispiel: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Name für neue Datenbank:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Datenbank aktualisieren:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Bei Aktivierung wird nach der Wiederherstellung einer Datenbank, die mit "
-"einer früheren Version von Tryton erstellt wurde, eine automatische "
-"Aktualisierung der Datenbank durchgeführt."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Wiederherstellen"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Einstellungen E-Mail"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Kommandozeile:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Legende der verfügbaren Platzhalter:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "An:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Betreff:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Textkörper:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Anhang:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Vorheriger"
 
@@ -1084,10 +711,10 @@ msgstr "Vorheriger"
 msgid "Previous Record"
 msgstr "Vorheriger Datensatz"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Nächster"
 
@@ -1171,73 +798,73 @@ msgstr "Daten _exportieren..."
 msgid "_Import Data..."
 msgstr "Daten _importieren..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anhänge(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Notiz(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "Ein Datensatz muss ausgewählt werden."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modell:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Möchten Sie diesen Datensatz wirklich löschen?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Möchten Sie diese Datensätze wirklich löschen?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Die Datensätze wurden nicht gelöscht."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Die Datensätze wurden gelöscht."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Sie arbeiten nun an dem/den duplizierten Datensatz/Datensätzen."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Der Datensatz wurde gespeichert."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " von "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1286,7 +913,7 @@ msgid "Print report"
 msgstr "Bericht drucken"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Unbekannt"
 
@@ -1294,19 +921,24 @@ msgstr "Unbekannt"
 msgid "Limit"
 msgstr "Limitierung"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Einstellung Suchlimitierung"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Limit:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Notizen (%s)"
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Benutzereinstellungen bearbeiten"
 
@@ -1314,19 +946,15 @@ msgstr "Benutzereinstellungen bearbeiten"
 msgid "Preference"
 msgstr "Einstellung"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Aktuelles Passwort:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Bearbeitung"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Bearbeitung auswählen"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Bearbeitung:"
 
@@ -1334,152 +962,152 @@ msgstr "Bearbeitung:"
 msgid "Keyboard Shortcuts"
 msgstr "Schnelltasten"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Schnelltasten für Texteinträge"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Ausgewählten Text ausschneiden"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Ausgewählten Text kopieren"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Ausgewählten Text einfügen"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Nächstes Widget"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Vorheriges Widget"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in verknüpften Feldern"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Neue Beziehung erstellen"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Beziehung suchen/öffnen"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Schnelltasten für Einträge in Listenfelder"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Neue Zeile erstellen"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Beziehung öffnen"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Zeile zum Löschen markieren"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Löschmarkierung für Zeile aufheben"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Widgets zur Bearbeitung"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Cursor bewegen"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Nach rechts bewegen"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Nach links bewegen"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Nach oben bewegen"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Nach unten bewegen"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Eine Seite nach oben bewegen"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Eine Seite nach unten bewegen"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "An den Anfang bewegen"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Zum Ende bewegen"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Zum übergeordneten Datensatz bewegen"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Alle auswählen"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Auswahl aufheben"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Übergeordneten Datensatz auswählen"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Aktuelle Zeile auswählen/akivieren"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Auswahl umkehren"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Ausklappen/Einklappen"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Zeile ausklappen"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Zeile einklappen"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Auswahl für Zeile umkehren"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
-msgstr "Alle Zeilen ausklappen"
+msgstr "Alle Zeilen einklappen"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
-msgstr "Alle Zeilen einklappen"
+msgstr "Alle Zeilen ausklappen"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Baumansicht"
 
@@ -1545,7 +1173,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Tipps"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Tipps beim Start von Tryton anzeigen"
 
@@ -1577,7 +1205,7 @@ msgstr "Anführungszeichen:"
 msgid "Encoding:"
 msgstr "Kodierung:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Feldname"
 
@@ -1595,79 +1223,79 @@ msgstr "Name"
 
 #: tryton/gui/window/win_export.py:60
 msgid "_Save Export"
-msgstr "Export _speichern"
+msgstr "Exportkonfiguration _speichern"
 
 #: tryton/gui/window/win_export.py:69
 msgid "_Delete Export"
-msgstr "Export _löschen"
+msgstr "Exportkonfiguration _löschen"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Öffnen"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Feldnamen _hinzufügen"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Wie soll der Name des Exports lauten?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Definition von '%s' nicht berücksichtigen?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, python-format
+msgid "%d record saved."
 msgstr "%d Datensatz gespeichert."
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, python-format
+msgid "%d records saved."
 msgstr "%d Datensätze gespeichert."
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
-"Operation fehlgeschlagen!\n"
+"Operation fehlgeschlagen.\n"
 "Fehlermeldung:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Verknüpfung"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Entfernen <Entf>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Neuen Datensatz erstellen <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Ausgewählte Datensätze löschen <Entf>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Löschung der ausgewählten Datensätze rückgängig machen <Einfg>"
 
@@ -1683,9 +1311,9 @@ msgstr "_Automatische Erkennung"
 msgid "File to Import:"
 msgstr "Importdatei:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Öffnen..."
 
@@ -1693,184 +1321,205 @@ msgstr "Öffnen..."
 msgid "Lines to Skip:"
 msgstr "Zu überspringende Zeilen:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "Zuerst muss eine Importdatei ausgewählt werden!"
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
+msgstr "Zuerst muss eine Importdatei ausgewählt werden."
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
-msgstr "Fehler beim öffnen der CSV-Datei"
+msgstr "Fehler beim Öffnen der CSV-Datei"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, 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:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, python-format
+msgid "%d record imported."
 msgstr "%d Datensatz importiert."
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, python-format
+msgid "%d records imported."
 msgstr "%d Datensätze importiert."
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr "Suche %s"
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Erstellt von"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Erstellt am"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Zuletzt verändert von"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Zuletzt verändert am"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 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:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "Kann Sicht für den Menübaum nicht anwenden."
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" liegt nicht im gültigen Wertebereich (Domain)."
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "In Feld \"%s\" ist ein Eintrag erforderlich."
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Die Werte von \"%s\" sind ungültig."
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Vorvalidierung"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Speichern unter..."
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Bildgröße"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Breite:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Höhe:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG Bild (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
-msgstr "Bild ist zu groß!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Speichern unter..."
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_ilter"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Filterlesezeichen anzeigen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Dieses Lesezeichen entfernen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Diesen Filter als Lesezeichen hinzufügen"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Lesezeichenname:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Suchen"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Heute"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "Vorwärts bewegen"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "Rückwärts bewegen"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "Vorheriges Jahr"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "Nächstes Jahr"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Wochenansicht"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Monatsansicht"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Woche"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Auswählen..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Leeren"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Alle Dateien"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Auswählen"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Klartext anzeigen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Wert hinzufügen"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "\"%s\" entfernen"
@@ -1879,66 +1528,70 @@ msgstr "\"%s\" entfernen"
 msgid "Images"
 msgstr "Bilder"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Bestehenden Datensatz hinzufügen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
 msgstr "Datensatz öffnen <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Datensatz löschen <Entf>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Datensatz suchen <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Ausgewählten Datensatz löschen <Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Ausgewählten Datensatz bearbeiten <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Vordergrund"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Eine Farbe auswählen"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Übersetzung"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Unscharf"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+msgid "You need to save the record before adding translations."
 msgstr ""
 "Der Datensatz muss gespeichert werden, bevor eine Übersetzung hinzugefügt "
 "werden kann."
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
-msgstr "Keine anderen Sprachen verfügbar."
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
+msgstr "Keine weiteren Sprachen verfügbar."
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
diff --git a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo b/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 2f2dded..0000000
Binary files a/tryton/data/locale/de_DE/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es/LC_MESSAGES/tryton.mo b/tryton/data/locale/es/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..069520f
Binary files /dev/null and b/tryton/data/locale/es/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po b/tryton/data/locale/es/LC_MESSAGES/tryton.po
similarity index 51%
rename from tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
rename to tryton/data/locale/es/LC_MESSAGES/tryton.po
index ed1edde..6b769e5 100644
--- a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/es/LC_MESSAGES/tryton.po
@@ -48,69 +48,86 @@ msgid "File \"%s\" not found"
 msgstr "El archivo «%s» no se ha encontrado"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, python-format, 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
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "No se ha podido establecer el idioma %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Seleccione su acción"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+msgid "No action defined."
 msgstr "No se ha definido ninguna acción."
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Por: "
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Conexión a Tryton"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Puerto:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Selección"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Su selección:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Ignorar siempre esta advertencia."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "¿Desea continuar?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Confirmación"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Excepción de concurrencia"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -128,50 +145,49 @@ msgstr ""
 "   - \"Comparar\" para ver la versión modificada;\n"
 "   - \"Guardar de todas formas\" para guardar sus cambios."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Guardar de todas formas"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Error"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Informar del error"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+msgid "Application Error."
 msgstr "Error de aplicación."
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Error: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Seguimiento de errores"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Usuario:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -179,45 +195,44 @@ 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."
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Se creó un nuevo error con identificador "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Error de conexión.\n"
 "Nombre de usuario o contraseña incorrectos."
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Excepción:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"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. \n"
 "La aplicación no se podrá conectar con este servidor hasta que se corrija la huella de seguridad del servidor."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+msgid "Security risk."
 msgstr "Riesgo de seguridad."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Error de conexión.\n"
 "No se ha podido conectar con el servidor."
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+msgid "Network Error."
 msgstr "Error de red."
 
 #: tryton/common/completion.py:22
@@ -228,61 +243,57 @@ msgstr "<i>Buscar...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Crear...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Valor"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Valor a mostrar"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Format"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Format a mostrar"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Abrir el calendario"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Formato fecha"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Formato fecha actual"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr "Sí"
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadero"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Verdadero"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadero"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Falso"
 
@@ -294,27 +305,27 @@ msgstr "Editar..."
 msgid "Attachments..."
 msgstr "Adjuntos..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Notas..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Acciones..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Informe..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "Correo electrónico..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -346,183 +357,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Archivo"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "_Conexión"
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "U_suario"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Opciones"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "Ay_uda"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "No se han encontrado resultados."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de datos"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nueva base de datos..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar base de datos..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Hacer _copia de seguridad de la base de datos..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Eliminar base de datos..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Salir..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Preferencias..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Recargar menú"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Conmutar _menú"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Búsqueda _global"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "Barra de herramien_tas"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "Por _defecto"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Texto _e iconos"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Iconos"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "Barra de _menú"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Cambiar teclas rápidas"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Formulario"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Guardar ancho/alto"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Guardar estado de expansión del árbol"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Tabulación rápida"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Corrección ortográfica"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Anterior"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "Siguiente"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "_Límite de búsqueda..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Correo electrónico..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Guardar opciones"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "Conse_jos..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "Com_binaciones de teclas..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Acerca de..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "_Administrar menús favoritos"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Buscar"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -530,100 +522,14 @@ msgstr ""
 "La acción seleccionada requiere cerrar todas las pestañas.\n"
 "¿Desea continuar?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Cerrar pestaña"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Va a eliminar una base de datos de Tryton.\n"
-"¿Está seguro que quiere continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Acceso denegado."
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "Falló la eliminación de la base de datos."
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "La base de datos se ha eliminado correctamente."
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir una copia de seguridad para restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "La base de datos está protegida con contraseña."
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "La restauración de la base de datos ha fallado."
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "La base de datos se ha restaurado correctamente."
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "La extracción de la base de datos ha fallado."
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr ""
-"La copia de seguridad de la base de datos ha finalizado correctamente."
+#: tryton/gui/window/attachment.py:22
+#, python-format, python-format, python-format
+msgid "Attachments (%s)"
+msgstr "Adjuntos (%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -634,7 +540,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Guardar"
 
@@ -643,8 +549,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Cambiar vista"
 
@@ -685,395 +591,122 @@ msgstr "_Eliminar..."
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: tryton/gui/window/dbcreate.py:29
-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 en «Cambiar» "
-"para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "No se ha podido conectar con el servidor."
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"No se ha podido conectar con el 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"
-"Pulse en «Cambiar» para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crear nueva base de datos"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rear"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crear la nueva base de datos."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuración del servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexión con el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 «Cambiar» para "
-"cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambiar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurar la conexión con el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contraseña del servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 define en la configuración de trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Nueva configuración de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nombre de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma por defecto:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contraseña del administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Elija una contraseña para el usuario administrador de la nueva base de datos. Podrá acceder a la base de datos con dichas credenciales:\n"
-"Nombre de usuario: admin\n"
-"Contraseña: <La contraseña que introduzca aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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 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 con el 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 con el servidor:"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Añadir"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eliminar"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crear"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Base de datos:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Recuperando lista de bases de datos"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Nombre de usuario:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No se ha podido conectar con el servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "El cliente no es compatible con la versión del servidor"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "No se ha podido conectar con el servidor"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Usuario"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar conexión con el servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Conectar con el servidor Tryton"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Administrar perfiles"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Información del Servidor / Base de datos"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 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:122
-msgid "File to Restore:"
-msgstr "Archivo a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Elija el nombre de la base de datos a restaurar.\n"
-"Los caracteres permitidos son alfanuméricos o _ (subrayado)\n"
-"Evite todos los acentos, espacios, o caracteres especiales. \n"
-"Ejemplo: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nombre de la base de datos nueva:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualizar base de datos:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-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:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Configuración del programa de correo electrónico"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Línea de comando:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leyenda de palabras clave disponibles:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Asunto:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Mensaje:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Adjunto:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Anterior"
 
@@ -1081,10 +714,10 @@ msgstr "Anterior"
 msgid "Previous Record"
 msgstr "Registro anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Siguiente"
 
@@ -1168,73 +801,73 @@ msgstr "_Exportar datos..."
 msgid "_Import Data..."
 msgstr "_Importar datos..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Adjunto(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Nota(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "Debe elegir un registro."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Creado por:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
-msgstr "Fecha de creación:"
+msgstr "Fecha creación:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "¿Está seguro que quiere eliminar este registro?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "¿Está seguro que quiere eliminar estos registros?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Los registros no se han eliminado."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Registros eliminados."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Ahora está trabajando en el registro duplicado."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Registro guardado."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1283,7 +916,7 @@ msgid "Print report"
 msgstr "Imprimir informe"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Desconocido"
 
@@ -1291,19 +924,24 @@ msgstr "Desconocido"
 msgid "Limit"
 msgstr "Límite"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Preferencias del límite de búsqueda"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Límite:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Notas (%s)"
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Editar preferencias de usuario"
 
@@ -1311,19 +949,15 @@ msgstr "Editar preferencias de usuario"
 msgid "Preference"
 msgstr "Preferencias"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Contraseña actual:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Versión"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Seleccionar una versión"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Versión:"
 
@@ -1331,152 +965,152 @@ msgstr "Versión:"
 msgid "Keyboard Shortcuts"
 msgstr "Combinaciones de teclas"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Atajos en campos de texto"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Cortar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Copiar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Pegar texto seleccionado"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Campo siguiente"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Atajos en relaciones"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Crear nueva relación"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relación"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Atajos en listas"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Crear nueva línea"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Abrir relación"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Marcar para eliminación"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Desmarcar para eliminación"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Controles de edición"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Mover cursor"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Mover a la derecha"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Mover a la izquierda"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Mover arriba"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Mover abajo"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Mover arriba una página"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Mover abajo una página"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "Mover al principio"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Mover al final"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Mover al padre"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Seleccionar todo"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Deseleccionar todo"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Seleccionar padre"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Seleccionar/Activar fila actual"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Conmutar selección"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Expandir/Contraer"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Expandir fila"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Contraer fila"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Conmutar fila"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "Expandir todas las filas"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "Contraer todas las filas"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Vista de árbol"
 
@@ -1542,7 +1176,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Consejos"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Mostrar un nuevo consejo la próxima vez"
 
@@ -1574,7 +1208,7 @@ msgstr "Delimitador de texto:"
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Nombre del campo"
 
@@ -1598,42 +1232,42 @@ msgstr "_Guardar exportación"
 msgid "_Delete Export"
 msgstr "_Eliminar exportación"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Añadir nombres de _campo"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (cadena)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "¿Cuál es el nombre de esta exportación?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescribir la definición de '%s'?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, python-format, python-format
+msgid "%d record saved."
 msgstr "Se ha guardado %d registro."
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, python-format, python-format
+msgid "%d records saved."
 msgstr "Se han guardado %d registros."
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, python-format, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1641,30 +1275,30 @@ msgstr ""
 "Mensaje de error:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Enlace"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Añadir"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Eliminar <Supr>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Crear un nuevo registro <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar registro seleccionado <Ins>"
 
@@ -1680,9 +1314,9 @@ msgstr "_Auto-detectar"
 msgid "File to Import:"
 msgstr "Archivo a importar:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
@@ -1690,184 +1324,205 @@ msgstr "Abrir..."
 msgid "Lines to Skip:"
 msgstr "Líneas a omitir:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
 msgstr "Primero debe elegir un archivo a importar."
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Error al abrir el archivo CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, 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:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, python-format, python-format
+msgid "%d record imported."
 msgstr "Se ha importado %d registro."
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, python-format, python-format
+msgid "%d records imported."
 msgstr "Se han importado %d registros."
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr "Buscar %s"
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Asistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Creado por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
-msgstr "Fecha de creación:"
+msgstr "Fecha creación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Última modificación por:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Última fecha de modificación:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 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:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 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/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" no es válido según su dominio."
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" es obligatorio."
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Los valores de \"%s\" no son válidos."
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Prevalidación"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Guardar como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Tamaño de la imagen"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Anchura:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "Imagen PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Guardar como"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Muestra las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Eliminar de las búsquedas favoritas"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Guardar como búsqueda favorita"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Nombre de la búsqueda favorita:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Buscar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Hoy:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "retroceder"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "ir adelante"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "año anterior"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "año próximo"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Vista semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Vista mensual"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Seleccionar…"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Limpiar"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Todos los archivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Seleccionar"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Mostrar como texto plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Añadir un valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Eliminar \"%s\""
@@ -1876,63 +1531,67 @@ msgstr "Eliminar \"%s\""
 msgid "Images"
 msgstr "Imágenes"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Añadir un registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Eliminar registro seleccionado <Supr>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
 msgstr "Abrir registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Eliminar el registro <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Buscar registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Eliminar registro seleccionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Editar registro seleccionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Primer plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Seleccione un color"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Traducción"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Confuso"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+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:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
 msgstr "No hay otro idioma disponible."
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..565f539
Binary files /dev/null and b/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/es_419/LC_MESSAGES/tryton.po b/tryton/data/locale/es_419/LC_MESSAGES/tryton.po
new file mode 100644
index 0000000..0257b3c
--- /dev/null
+++ b/tryton/data/locale/es_419/LC_MESSAGES/tryton.po
@@ -0,0 +1,1553 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+#: tryton/config.py:76
+msgid "specify alternate config file"
+msgstr ""
+
+#: tryton/config.py:79
+msgid "development mode"
+msgstr ""
+
+#: tryton/config.py:82
+msgid "logging everything at INFO level"
+msgstr ""
+
+#: tryton/config.py:84
+msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr ""
+
+#: tryton/config.py:87
+msgid "specify the login user"
+msgstr ""
+
+#: tryton/config.py:89
+msgid "specify the server port"
+msgstr ""
+
+#: tryton/config.py:91
+msgid "specify the server hostname"
+msgstr ""
+
+#: tryton/config.py:95
+msgid "Too much arguments"
+msgstr ""
+
+#: tryton/config.py:98
+#, python-format
+msgid "File \"%s\" not found"
+msgstr ""
+
+#: tryton/config.py:136
+#, python-format
+msgid "Unable to write config file %s."
+msgstr ""
+
+#: tryton/translate.py:185
+#, python-format
+msgid "Unable to set locale %s"
+msgstr ""
+
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
+msgid "Select your action"
+msgstr ""
+
+#: tryton/action/main.py:184
+msgid "No action defined."
+msgstr ""
+
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
+msgid "Tryton Connection"
+msgstr ""
+
+#: tryton/common/common.py:241
+msgid "Server:"
+msgstr ""
+
+#: tryton/common/common.py:259
+msgid "Port:"
+msgstr ""
+
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
+msgid "Selection"
+msgstr ""
+
+#: tryton/common/common.py:335
+msgid "Your selection:"
+msgstr ""
+
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
+msgid "Save As..."
+msgstr ""
+
+#: tryton/common/common.py:605
+msgid "Always ignore this warning."
+msgstr ""
+
+#: tryton/common/common.py:610
+msgid "Do you want to proceed?"
+msgstr ""
+
+#: tryton/common/common.py:629
+msgid "Confirmation"
+msgstr ""
+
+#: tryton/common/common.py:731 tryton/common/common.py:1036
+msgid "Concurrency Exception"
+msgstr ""
+
+#: tryton/common/common.py:744
+msgid ""
+"<b>Write Concurrency Warning:</b>\n"
+"\n"
+"This record has been modified while you were editing it.\n"
+" Choose:\n"
+"    - \"Cancel\" to cancel saving;\n"
+"    - \"Compare\" to see the modified version;\n"
+"    - \"Write Anyway\" to save your current version."
+msgstr ""
+
+#: tryton/common/common.py:753
+msgid "Compare"
+msgstr ""
+
+#: tryton/common/common.py:758
+msgid "Write Anyway"
+msgstr ""
+
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
+msgid "Error"
+msgstr ""
+
+#: tryton/common/common.py:787
+msgid "Report Bug"
+msgstr ""
+
+#: tryton/common/common.py:794
+msgid "Application Error."
+msgstr ""
+
+#: tryton/common/common.py:817
+msgid "Error: "
+msgstr ""
+
+#: tryton/common/common.py:837
+#, python-format
+msgid "To report bugs you must have an account on <u>%s</u>"
+msgstr ""
+
+#: tryton/common/common.py:867
+msgid "Bug Tracker"
+msgstr ""
+
+#: tryton/common/common.py:884
+msgid "User:"
+msgstr ""
+
+#: tryton/common/common.py:892
+msgid "Password:"
+msgstr ""
+
+#: tryton/common/common.py:947
+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:958
+msgid "Created new bug with ID "
+msgstr ""
+
+#: tryton/common/common.py:966
+msgid ""
+"Connection error.\n"
+"Bad username or password."
+msgstr ""
+
+#: tryton/common/common.py:971
+msgid "Exception:"
+msgstr ""
+
+#: tryton/common/common.py:988
+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:990
+msgid "Security risk."
+msgstr ""
+
+#: tryton/common/common.py:995
+msgid ""
+"Connection error.\n"
+"Unable to connect to the server."
+msgstr ""
+
+#: tryton/common/common.py:1061
+msgid "Network Error."
+msgstr ""
+
+#: tryton/common/completion.py:22
+msgid "<i>Search...</i>"
+msgstr ""
+
+#: tryton/common/completion.py:24
+msgid "<i>Create...</i>"
+msgstr ""
+
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
+msgid "Value"
+msgstr ""
+
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
+msgid "Displayed value"
+msgstr ""
+
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
+msgid "Format"
+msgstr ""
+
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
+msgid "Display format"
+msgstr ""
+
+#: tryton/common/datetime_.py:63
+msgid "Open the calendar"
+msgstr ""
+
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
+msgid "Date Format"
+msgstr ""
+
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
+msgid "Displayed date format"
+msgstr ""
+
+#: tryton/common/domain_parser.py:236
+msgid "y"
+msgstr ""
+
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
+
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr ""
+
+#: tryton/common/domain_parser.py:236
+msgid "t"
+msgstr ""
+
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "False"
+msgstr ""
+
+#: tryton/common/popup_menu.py:81
+msgid "Edit..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:86
+msgid "Attachments..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:93
+msgid "Notes..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:106
+msgid "Actions..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:107
+msgid "Relate..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:108
+msgid "Report..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:109
+msgid "E-Mail..."
+msgstr ""
+
+#: tryton/common/popup_menu.py:110
+msgid "Print..."
+msgstr ""
+
+#: tryton/common/timedelta.py:26
+msgid "Y"
+msgstr ""
+
+#: tryton/common/timedelta.py:27
+msgid "M"
+msgstr ""
+
+#: tryton/common/timedelta.py:28
+msgid "w"
+msgstr ""
+
+#: tryton/common/timedelta.py:29
+msgid "d"
+msgstr ""
+
+#: tryton/common/timedelta.py:30
+msgid "h"
+msgstr ""
+
+#: tryton/common/timedelta.py:31
+msgid "m"
+msgstr ""
+
+#: tryton/common/timedelta.py:32
+msgid "s"
+msgstr ""
+
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
+
+#: tryton/gui/main.py:219
+msgid "_User"
+msgstr ""
+
+#: tryton/gui/main.py:233
+msgid "_Options"
+msgstr ""
+
+#: tryton/gui/main.py:241
+msgid "Fa_vorites"
+msgstr ""
+
+#: tryton/gui/main.py:257
+msgid "_Help"
+msgstr ""
+
+#: tryton/gui/main.py:366
+msgid "No result found."
+msgstr ""
+
+#: tryton/gui/main.py:388
+msgid "_Connect..."
+msgstr ""
+
+#: tryton/gui/main.py:398
+msgid "_Disconnect"
+msgstr ""
+
+#: tryton/gui/main.py:408
+msgid "_Quit..."
+msgstr ""
+
+#: tryton/gui/main.py:424
+msgid "_Preferences..."
+msgstr ""
+
+#: tryton/gui/main.py:436
+msgid "_Menu Reload"
+msgstr ""
+
+#: tryton/gui/main.py:446
+msgid "_Menu Toggle"
+msgstr ""
+
+#: tryton/gui/main.py:454
+msgid "_Global Search"
+msgstr ""
+
+#: tryton/gui/main.py:470
+msgid "_Toolbar"
+msgstr ""
+
+#: tryton/gui/main.py:478
+msgid "_Default"
+msgstr ""
+
+#: tryton/gui/main.py:489
+msgid "_Text and Icons"
+msgstr ""
+
+#: tryton/gui/main.py:499
+msgid "_Icons"
+msgstr ""
+
+#: tryton/gui/main.py:508
+msgid "_Text"
+msgstr ""
+
+#: tryton/gui/main.py:517
+msgid "_Menubar"
+msgstr ""
+
+#: tryton/gui/main.py:525
+msgid "Change Accelerators"
+msgstr ""
+
+#: tryton/gui/main.py:534
+msgid "_Mode"
+msgstr ""
+
+#: tryton/gui/main.py:542
+msgid "_Normal"
+msgstr ""
+
+#: tryton/gui/main.py:551
+msgid "_PDA"
+msgstr ""
+
+#: tryton/gui/main.py:558
+msgid "_Form"
+msgstr ""
+
+#: tryton/gui/main.py:567
+msgid "Save Width/Height"
+msgstr ""
+
+#: tryton/gui/main.py:578
+msgid "Save Tree State"
+msgstr ""
+
+#: tryton/gui/main.py:590
+msgid "Fast Tabbing"
+msgstr ""
+
+#: tryton/gui/main.py:600
+msgid "Spell Checking"
+msgstr ""
+
+#: tryton/gui/main.py:611
+msgid "_Previous Tab"
+msgstr ""
+
+#: tryton/gui/main.py:618
+msgid "_Next Tab"
+msgstr ""
+
+#: tryton/gui/main.py:625
+msgid "Search Limit..."
+msgstr ""
+
+#: tryton/gui/main.py:631
+msgid "_Email..."
+msgstr ""
+
+#: tryton/gui/main.py:639
+msgid "_Save Options"
+msgstr ""
+
+#: tryton/gui/main.py:652
+msgid "_Tips..."
+msgstr ""
+
+#: tryton/gui/main.py:662
+msgid "_Keyboard Shortcuts..."
+msgstr ""
+
+#: tryton/gui/main.py:672
+msgid "_About..."
+msgstr ""
+
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
+msgid "Manage Favorites"
+msgstr ""
+
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
+msgid "Search"
+msgstr ""
+
+#: tryton/gui/main.py:880
+msgid ""
+"The following action requires to close all tabs.\n"
+"Do you want to continue?"
+msgstr ""
+
+#: tryton/gui/main.py:1139
+msgid "Close Tab"
+msgstr ""
+
+#: tryton/gui/window/attachment.py:22
+#, python-format
+msgid "Attachments (%s)"
+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:86
+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/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
+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:52
+msgid "_New"
+msgstr ""
+
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
+msgid "_Save"
+msgstr ""
+
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
+msgid "_Switch View"
+msgstr ""
+
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
+msgid "_Reload/Undo"
+msgstr ""
+
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
+msgid "_Delete..."
+msgstr ""
+
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
+msgid "_Close Tab"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:31
+msgid "Profile Editor"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:45
+msgid "Profile"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
+msgid "_Add"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
+msgid "_Remove"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
+msgid "Host:"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:98
+msgid "Fetching databases list"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:114
+msgid "Username:"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
+msgid "Incompatible version of the server"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:379
+msgid "Login"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:385
+msgid "_Cancel"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:390
+msgid "Cancel connection to the Tryton server"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:392
+msgid "C_onnect"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:397
+msgid "Connect the Tryton server"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:425
+msgid "Profile:"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:429
+msgid "_Manage profiles"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:441
+msgid "Host / Database information"
+msgstr ""
+
+#: tryton/gui/window/dblogin.py:470
+msgid "User name:"
+msgstr ""
+
+#: tryton/gui/window/email.py:16
+msgid "Email"
+msgstr ""
+
+#: tryton/gui/window/email.py:24
+msgid "Email Program Settings"
+msgstr ""
+
+#: tryton/gui/window/email.py:27
+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:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
+msgid "Previous"
+msgstr ""
+
+#: tryton/gui/window/form.py:42
+msgid "Previous Record"
+msgstr ""
+
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
+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:48
+msgid "Note(0)"
+msgstr ""
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr ""
+
+#: tryton/gui/window/form.py:58
+msgid "_Duplicate"
+msgstr ""
+
+#: tryton/gui/window/form.py:63
+msgid "_Previous"
+msgstr ""
+
+#: tryton/gui/window/form.py:65
+msgid "_Next"
+msgstr ""
+
+#: tryton/gui/window/form.py:66
+msgid "_Search"
+msgstr ""
+
+#: tryton/gui/window/form.py:67
+msgid "View _Logs..."
+msgstr ""
+
+#: tryton/gui/window/form.py:68
+msgid "Show revisions..."
+msgstr ""
+
+#: tryton/gui/window/form.py:73
+msgid "A_ttachments..."
+msgstr ""
+
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr ""
+
+#: tryton/gui/window/form.py:76
+msgid "_Actions..."
+msgstr ""
+
+#: tryton/gui/window/form.py:78
+msgid "_Relate..."
+msgstr ""
+
+#: tryton/gui/window/form.py:81
+msgid "_Report..."
+msgstr ""
+
+#: tryton/gui/window/form.py:83
+msgid "_E-Mail..."
+msgstr ""
+
+#: tryton/gui/window/form.py:85
+msgid "_Print..."
+msgstr ""
+
+#: tryton/gui/window/form.py:88
+msgid "_Export Data..."
+msgstr ""
+
+#: tryton/gui/window/form.py:90
+msgid "_Import Data..."
+msgstr ""
+
+#: tryton/gui/window/form.py:204
+#, python-format
+msgid "Attachment(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:230
+#, python-format
+msgid "Note(%d)"
+msgstr ""
+
+#: tryton/gui/window/form.py:252
+msgid "You have to select one record."
+msgstr ""
+
+#: tryton/gui/window/form.py:256
+msgid "ID:"
+msgstr ""
+
+#: tryton/gui/window/form.py:257
+msgid "Creation User:"
+msgstr ""
+
+#: tryton/gui/window/form.py:258
+msgid "Creation Date:"
+msgstr ""
+
+#: tryton/gui/window/form.py:259
+msgid "Latest Modification by:"
+msgstr ""
+
+#: tryton/gui/window/form.py:260
+msgid "Latest Modification Date:"
+msgstr ""
+
+#: tryton/gui/window/form.py:279
+msgid "Model:"
+msgstr ""
+
+#: tryton/gui/window/form.py:340
+msgid "Are you sure to remove this record?"
+msgstr ""
+
+#: tryton/gui/window/form.py:342
+msgid "Are you sure to remove those records?"
+msgstr ""
+
+#: tryton/gui/window/form.py:345
+msgid "Records not removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:347
+msgid "Records removed."
+msgstr ""
+
+#: tryton/gui/window/form.py:376
+msgid "Working now on the duplicated record(s)."
+msgstr ""
+
+#: tryton/gui/window/form.py:388
+msgid "Record saved."
+msgstr ""
+
+#: tryton/gui/window/form.py:491
+msgid " of "
+msgstr ""
+
+#: tryton/gui/window/form.py:512
+msgid ""
+"This record has been modified\n"
+"do you want to save it?"
+msgstr ""
+
+#: tryton/gui/window/form.py:566
+msgid "Action"
+msgstr ""
+
+#: tryton/gui/window/form.py:566
+msgid "Launch action"
+msgstr ""
+
+#: tryton/gui/window/form.py:567
+msgid "Relate"
+msgstr ""
+
+#: tryton/gui/window/form.py:567
+msgid "Open related records"
+msgstr ""
+
+#: tryton/gui/window/form.py:569
+msgid "Report"
+msgstr ""
+
+#: tryton/gui/window/form.py:569
+msgid "Open report"
+msgstr ""
+
+#: tryton/gui/window/form.py:570
+msgid "E-Mail"
+msgstr ""
+
+#: tryton/gui/window/form.py:570
+msgid "E-Mail report"
+msgstr ""
+
+#: tryton/gui/window/form.py:571
+msgid "Print"
+msgstr ""
+
+#: tryton/gui/window/form.py:571
+msgid "Print report"
+msgstr ""
+
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
+msgid "Unknown"
+msgstr ""
+
+#: tryton/gui/window/limit.py:17
+msgid "Limit"
+msgstr ""
+
+#: tryton/gui/window/limit.py:25
+msgid "Search Limit Settings"
+msgstr ""
+
+#: tryton/gui/window/limit.py:28
+msgid "Limit:"
+msgstr ""
+
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
+#: tryton/gui/window/preference.py:23
+msgid "Preferences"
+msgstr ""
+
+#: tryton/gui/window/preference.py:48
+msgid "Edit User Preferences"
+msgstr ""
+
+#: tryton/gui/window/preference.py:75
+msgid "Preference"
+msgstr ""
+
+#: tryton/gui/window/revision.py:19
+msgid "Revision"
+msgstr ""
+
+#: tryton/gui/window/revision.py:27
+msgid "Select a revision"
+msgstr ""
+
+#: tryton/gui/window/revision.py:30
+msgid "Revision:"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:17
+msgid "Keyboard Shortcuts"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:27
+msgid "Text Entries Shortcuts"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:28
+msgid "Cut selected text"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:29
+msgid "Copy selected text"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:30
+msgid "Paste copied text"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:31
+msgid "Next widget"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:32
+msgid "Previous widget"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:33
+msgid "Relation Entries Shortcuts"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:34
+msgid "Create new relation"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:35
+msgid "Open/Search relation"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:36
+msgid "List Entries Shortcuts"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:37
+msgid "Create new line"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:38
+msgid "Open relation"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:39
+msgid "Mark line for deletion"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:40
+msgid "Unmark line for deletion"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:43
+msgid "Edition Widgets"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:46
+msgid "Move Cursor"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move to right"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to left"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move up"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move down"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move up of one page"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move down of one page"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move to top"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to bottom"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to parent"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
+msgid "Select all"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
+msgid "Unselect all"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:61
+msgid "Select parent"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
+msgid "Select/Activate current row"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:66
+msgid "Toggle selection"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Expand/Collapse"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand row"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Collapse row"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Toggle row"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Expand all rows"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Collapse all rows"
+msgstr ""
+
+#: tryton/gui/window/shortcuts.py:75
+msgid "Tree view"
+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"
+"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
+"largest moon of the planet Neptune, discovered on October 10, 1846\n"
+"by William Lassell. It is the only large moon in the Solar System\n"
+"with a retrograde orbit, which is an orbit in the opposite direction\n"
+"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
+"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
+"the mass known to orbit Neptune, including the planet's rings and twelve\n"
+"other known moons. It is also more massive than all the Solar System's\n"
+"159 known smaller moons combined.\n"
+msgstr ""
+
+#: tryton/gui/window/tips.py:33
+msgid ""
+"<b>Export list records</b>\n"
+"\n"
+"You can copy records from any list with Ctrl + C\n"
+"and paste in any application with Ctrl + V\n"
+msgstr ""
+
+#: tryton/gui/window/tips.py:38
+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:45
+msgid "Tips"
+msgstr ""
+
+#: tryton/gui/window/tips.py:64
+msgid "_Display a new tip next time"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:86
+msgid "_Clear"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr ""
+
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
+msgid "Field name"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:28
+msgid "Export to CSV"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:39
+msgid "<b>Predefined exports</b>"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:46
+msgid "Name"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:60
+msgid "_Save Export"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:69
+msgid "_Delete Export"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:85
+msgid "Open"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:90
+msgid "Add _field names"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:104
+#, python-format
+msgid "%s (string)"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:202
+msgid "What is the name of this export?"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:208
+#, python-format
+msgid "Override '%s' definition?"
+msgstr ""
+
+#: tryton/gui/window/win_export.py:325
+#, python-format
+msgid "%d record saved."
+msgstr ""
+
+#: tryton/gui/window/win_export.py:327
+#, python-format
+msgid "%d records saved."
+msgstr ""
+
+#: tryton/gui/window/win_export.py:330
+#, python-format
+msgid ""
+"Operation failed.\n"
+"Error message:\n"
+"%s"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:37
+msgid "Link"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:125
+msgid "Add"
+msgstr ""
+
+#: tryton/gui/window/win_form.py:138
+msgid "Remove <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
+msgid "Create a new record <F3>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
+msgid "Delete selected record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
+msgid "Undelete selected record <Ins>"
+msgstr ""
+
+#: tryton/gui/window/win_import.py:25
+msgid "Import from CSV"
+msgstr ""
+
+#: tryton/gui/window/win_import.py:32
+msgid "_Auto-Detect"
+msgstr ""
+
+#: tryton/gui/window/win_import.py:43
+msgid "File to Import:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
+#: tryton/gui/window/win_import.py:45
+msgid "Open..."
+msgstr ""
+
+#: tryton/gui/window/win_import.py:50
+msgid "Lines to Skip:"
+msgstr ""
+
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
+msgstr ""
+
+#: tryton/gui/window/win_import.py:113
+msgid "Error opening CSV file"
+msgstr ""
+
+#: tryton/gui/window/win_import.py:141
+#, python-format
+msgid "Error processing the file at field %s."
+msgstr ""
+
+#: tryton/gui/window/win_import.py:200
+#, python-format
+msgid "%d record imported."
+msgstr ""
+
+#: tryton/gui/window/win_import.py:202
+#, python-format
+msgid "%d records imported."
+msgstr ""
+
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
+msgid "Wizard"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:197
+msgid "ID"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:198
+msgid "Creation User"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:199
+msgid "Creation Date"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:200
+msgid "Modification User"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:201
+msgid "Modification Date"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:748
+msgid "Unable to get view tree state"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:807
+msgid "Unable to set view tree state"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:983
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:990
+#, python-format
+msgid "\"%s\" is required"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:994
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr ""
+
+#: tryton/gui/window/view_form/screen/screen.py:1045
+msgid "Pre-validation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
+msgid ":"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:100
+msgid "Image Size"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:110
+msgid "Width:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:118
+msgid "Height:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:128
+msgid "PNG image (*.png)"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:145
+msgid "F_ilters"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/screen_container.py:199
+msgid "Show bookmarks of filters"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/screen_container.py:369
+msgid "Remove this bookmark"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/screen_container.py:376
+msgid "Bookmark this filter"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/screen_container.py:462
+msgid "Bookmark Name:"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/screen_container.py:570
+msgid "Find"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
+msgid "Today"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
+msgid "Week View"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
+msgid "Month View"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
+msgid "Week"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
+msgid "Select..."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
+msgid "Clear"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
+msgid "All files"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
+msgid "Select"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
+msgid "Show plain text"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
+msgid "Add value"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
+#, python-format
+msgid "Remove \"%s\""
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
+msgid "Images"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
+msgid "Add existing record"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
+msgid "Remove selected record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
+msgid "Search a record <F2>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
+msgid "Remove selected record"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
+msgid "Edit selected record <F2>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
+#, python-format
+msgid "%s%%"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
+msgid "Foreground"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
+msgid "Select a color"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
+msgid "Translation"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
+msgid "Edit"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
+msgid "Fuzzy"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+msgid "You need to save the record before adding translations."
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
+msgstr ""
+
+#: tryton/plugins/translation/__init__.py:22
+msgid "Translate view"
+msgstr ""
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo
deleted file mode 100644
index a71a3cc..0000000
Binary files a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po b/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
deleted file mode 100644
index 1a6669a..0000000
--- a/tryton/data/locale/es_AR/LC_MESSAGES/tryton.po
+++ /dev/null
@@ -1,1935 +0,0 @@
-# Spanish (Argentina) translations for tryton.
-# 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-2015.
-msgid ""
-msgstr "Content-Type: text/plain; charset=utf-8\n"
-
-#: tryton/config.py:76
-msgid "specify alternate config file"
-msgstr "Indica un archivo de configuración alternativo"
-
-#: tryton/config.py:79
-msgid "development mode"
-msgstr "Modo desarrollo"
-
-#: tryton/config.py:82
-msgid "logging everything at INFO level"
-msgstr "Registra toda la información con nivel INFO"
-
-#: tryton/config.py:84
-msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "Indica el nivel de registro: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-
-#: tryton/config.py:87
-msgid "specify the login user"
-msgstr "Indica el usuario"
-
-#: tryton/config.py:89
-msgid "specify the server port"
-msgstr "Indica el puerto del servidor"
-
-#: tryton/config.py:91
-msgid "specify the server hostname"
-msgstr "Indica el nombre del servidor"
-
-#: tryton/config.py:95
-msgid "Too much arguments"
-msgstr "Demasiados argumentos"
-
-#: tryton/config.py:98
-#, python-format
-msgid "File \"%s\" not found"
-msgstr "El archivo «%s» no se ha encontrado"
-
-#: tryton/config.py:136
-#, 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:162
-msgid "Select your action"
-msgstr "Seleccione su acción"
-
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "¡No se ha definido ninguna acción!"
-
-#: tryton/common/common.py:274
-msgid "Tryton Connection"
-msgstr "Conexión a Tryton"
-
-#: tryton/common/common.py:285
-msgid "Server:"
-msgstr "Servidor:"
-
-#: tryton/common/common.py:303
-msgid "Port:"
-msgstr "Puerto:"
-
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
-msgid "Selection"
-msgstr "Selección"
-
-#: tryton/common/common.py:380
-msgid "Your selection:"
-msgstr "Su selección:"
-
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
-msgid "Save As..."
-msgstr "Guardar como..."
-
-#: tryton/common/common.py:642
-msgid "Always ignore this warning."
-msgstr "Ignorar siempre esta advertencia."
-
-#: tryton/common/common.py:647
-msgid "Do you want to proceed?"
-msgstr "¿Desea continuar?"
-
-#: tryton/common/common.py:666
-msgid "Confirmation"
-msgstr "Confirmación"
-
-#: tryton/common/common.py:772 tryton/common/common.py:1080
-msgid "Concurrency Exception"
-msgstr "Excepción de concurrencia"
-
-#: tryton/common/common.py:786
-msgid ""
-"<b>Write Concurrency Warning:</b>\n"
-"\n"
-"This record has been modified while you were editing it.\n"
-" Choose:\n"
-"    - \"Cancel\" to cancel saving;\n"
-"    - \"Compare\" to see the modified version;\n"
-"    - \"Write Anyway\" to save your current version."
-msgstr ""
-"<b>Aviso de concurrencia de escritura:</b>\n"
-"\n"
-"Este registro ha sido modificado mientras lo editaba.\n"
-"  Elija:\n"
-"   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada:\n"
-"   - \"Guardar de todas formas\" para guardar sus cambios."
-
-#: tryton/common/common.py:795
-msgid "Compare"
-msgstr "Comparar"
-
-#: tryton/common/common.py:800
-msgid "Write Anyway"
-msgstr "Guardar de todas formas"
-
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
-msgid "Error"
-msgstr "Error"
-
-#: tryton/common/common.py:830
-msgid "Report Bug"
-msgstr "Informar de un error"
-
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "¡Error de aplicación!"
-
-#: tryton/common/common.py:860
-msgid "Error: "
-msgstr "Error: "
-
-#: tryton/common/common.py:880
-#, 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:910
-msgid "Bug Tracker"
-msgstr "Seguimiento de errores"
-
-#: tryton/common/common.py:928
-msgid "User:"
-msgstr "Usuario:"
-
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
-msgid "Password:"
-msgstr "Contraseña:"
-
-#: tryton/common/common.py:991
-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 este asunto"
-
-#: tryton/common/common.py:1002
-msgid "Created new bug with ID "
-msgstr "Se creó un nuevo error con ID "
-
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
-msgid ""
-"Connection error!\n"
-"Bad username or password!"
-msgstr ""
-"¡Error de conexión!\n"
-"¡Nombre de usuario o contraseña incorrectos!"
-
-#: tryton/common/common.py:1015
-msgid "Exception:"
-msgstr "Excepción:"
-
-#: tryton/common/common.py:1032
-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!\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:1034
-msgid "Security risk!"
-msgstr "¡Riesgo de seguridad!"
-
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
-msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
-msgstr ""
-"¡Error de conexión!\n"
-"¡No ha sido posible conectarse al servidor!"
-
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "¡Error de red!"
-
-#: tryton/common/completion.py:22
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
-
-#: tryton/common/completion.py:24
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
-
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
-msgid "Value"
-msgstr "Valor"
-
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
-msgid "Displayed value"
-msgstr "Valor a mostrar"
-
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
-msgid "Format"
-msgstr "Formato"
-
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
-msgid "Display format"
-msgstr "Formato a mostrar"
-
-#: tryton/common/datetime_.py:61
-msgid "Open the calendar"
-msgstr "Abrir el calendario"
-
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
-msgid "Date Format"
-msgstr "Formato fecha"
-
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
-msgid "Displayed date format"
-msgstr "Formato fecha a mostrar"
-
-#: tryton/common/domain_parser.py:235
-msgid "y"
-msgstr "a"
-
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
-
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadero"
-
-#: tryton/common/domain_parser.py:235
-msgid "t"
-msgstr "v"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadero"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "False"
-msgstr "Falso"
-
-#: tryton/common/popup_menu.py:81
-msgid "Edit..."
-msgstr "Editar..."
-
-#: tryton/common/popup_menu.py:86
-msgid "Attachments..."
-msgstr "Adjuntos..."
-
-#: tryton/common/popup_menu.py:90
-msgid "Notes..."
-msgstr "Notas..."
-
-#: tryton/common/popup_menu.py:100
-msgid "Actions..."
-msgstr "Acciones..."
-
-#: tryton/common/popup_menu.py:101
-msgid "Relate..."
-msgstr "Relacionado..."
-
-#: tryton/common/popup_menu.py:102
-msgid "Report..."
-msgstr "Informe..."
-
-#: tryton/common/popup_menu.py:103
-msgid "E-Mail..."
-msgstr "Correo electrónico..."
-
-#: tryton/common/popup_menu.py:104
-msgid "Print..."
-msgstr "Imprimir..."
-
-#: tryton/common/timedelta.py:26
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/timedelta.py:27
-msgid "M"
-msgstr "M"
-
-#: tryton/common/timedelta.py:28
-msgid "w"
-msgstr "S"
-
-#: tryton/common/timedelta.py:29
-msgid "d"
-msgstr "d"
-
-#: tryton/common/timedelta.py:30
-msgid "h"
-msgstr "h"
-
-#: tryton/common/timedelta.py:31
-msgid "m"
-msgstr "m"
-
-#: tryton/common/timedelta.py:32
-msgid "s"
-msgstr "s"
-
-#: tryton/gui/main.py:218
-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:373
-msgid "No result found."
-msgstr "No se han encontrado resultados."
-
-#: tryton/gui/main.py:395
-msgid "_Connect..."
-msgstr "_Conectar..."
-
-#: tryton/gui/main.py:404
-msgid "_Disconnect"
-msgstr "_Desconectar"
-
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de datos"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nueva base de datos..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar base de datos..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Hacer _copia de seguridad de la base de datos..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Eliminar base de datos..."
-
-#: tryton/gui/main.py:461
-msgid "_Quit..."
-msgstr "_Salir..."
-
-#: tryton/gui/main.py:476
-msgid "_Preferences..."
-msgstr "_Preferencias..."
-
-#: tryton/gui/main.py:487
-msgid "_Menu Reload"
-msgstr "_Recargar menú"
-
-#: tryton/gui/main.py:496
-msgid "_Menu Toggle"
-msgstr "Conmutar _menú"
-
-#: tryton/gui/main.py:503
-msgid "_Global Search"
-msgstr "Búsqueda _global"
-
-#: tryton/gui/main.py:518
-msgid "_Toolbar"
-msgstr "Barra de herramien_tas"
-
-#: tryton/gui/main.py:526
-msgid "_Default"
-msgstr "Por _defecto"
-
-#: tryton/gui/main.py:536
-msgid "_Text and Icons"
-msgstr "Texto _e iconos"
-
-#: tryton/gui/main.py:546
-msgid "_Icons"
-msgstr "_Iconos"
-
-#: tryton/gui/main.py:555
-msgid "_Text"
-msgstr "_Texto"
-
-#: tryton/gui/main.py:564
-msgid "_Menubar"
-msgstr "Barra de _menú"
-
-#: tryton/gui/main.py:572
-msgid "Change Accelerators"
-msgstr "Cambiar teclas rápidas"
-
-#: tryton/gui/main.py:580
-msgid "_Mode"
-msgstr "_Modo"
-
-#: tryton/gui/main.py:588
-msgid "_Normal"
-msgstr "_Normal"
-
-#: tryton/gui/main.py:596
-msgid "_PDA"
-msgstr "_PDA"
-
-#: tryton/gui/main.py:603
-msgid "_Form"
-msgstr "_Formulario"
-
-#: tryton/gui/main.py:612
-msgid "Save Width/Height"
-msgstr "Guardar ancho/alto"
-
-#: tryton/gui/main.py:623
-msgid "Save Tree State"
-msgstr "Guardar estado del árbol"
-
-#: tryton/gui/main.py:635
-msgid "Fast Tabbing"
-msgstr "Tabulación rápida"
-
-#: tryton/gui/main.py:645
-msgid "Spell Checking"
-msgstr "Corrección ortográfica"
-
-#: tryton/gui/main.py:655
-msgid "_Previous Tab"
-msgstr "_Anterior pestaña"
-
-#: tryton/gui/main.py:661
-msgid "_Next Tab"
-msgstr "_Siguiente pestaña"
-
-#: tryton/gui/main.py:667
-msgid "Search Limit..."
-msgstr "_Límite de búsqueda..."
-
-#: tryton/gui/main.py:673
-msgid "_Email..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/main.py:681
-msgid "_Save Options"
-msgstr "_Guardar opciones"
-
-#: tryton/gui/main.py:693
-msgid "_Tips..."
-msgstr "Conse_jos..."
-
-#: tryton/gui/main.py:702
-msgid "_Keyboard Shortcuts..."
-msgstr "Com_binaciones de teclas..."
-
-#: tryton/gui/main.py:711
-msgid "_About..."
-msgstr "_Acerca de..."
-
-#: tryton/gui/main.py:762
-msgid "Manage Favorites"
-msgstr "_Administrar favoritos"
-
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
-msgid "Search"
-msgstr "Buscar"
-
-#: tryton/gui/main.py:914
-msgid ""
-"The following action requires to close all tabs.\n"
-"Do you want to continue?"
-msgstr ""
-"La acción seleccionada requiere cerrar todas las pestañas.\n"
-"¿Desea continuar?"
-
-#: tryton/gui/main.py:1173
-msgid "Close Tab"
-msgstr "Cerrar pestaña"
-
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Va a eliminar una base de datos de Tryton.\n"
-"¿Está seguro que quiere continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "¡Acceso denegado!"
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "¡Falló la eliminación de la base de datos!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "¡La base de datos se ha eliminado satisfactoriamente!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir una copia de seguridad para restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "¡La base de datos está protegida por contraseña!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "¡La restauración de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "¡La base de datos se ha restaurado correctamente!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "¡La extracción de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1395
-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:83
-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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
-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:52
-msgid "_New"
-msgstr "_Nuevo"
-
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
-#: tryton/gui/window/win_form.py:68
-msgid "_Save"
-msgstr "_Guardar"
-
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
-msgid "_Switch View"
-msgstr "Cambiar vi_sta"
-
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
-msgid "_Reload/Undo"
-msgstr "_Recargar/Deshacer"
-
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
-msgid "_Delete..."
-msgstr "_Eliminar..."
-
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
-msgid "_Close Tab"
-msgstr "_Cerrar pestaña"
-
-#: tryton/gui/window/dbcreate.py:29
-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 en «Cambiar» "
-"para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "¡No hay conexión!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"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"
-"Pulse en «Cambiar» para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crear nueva base de datos"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rear"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crear la nueva base de datos."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuración del servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexión con el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 «Cambiar» para "
-"cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambiar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurar la conexión con el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contraseña del servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 define en la configuración de trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Nueva configuración de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nombre de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma por defecto:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contraseña del administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Elija una contraseña para el usuario administrador de la nueva base de datos. Podrá acceder a la base de datos con dichas credenciales:\n"
-"Nombre de usuario: admin\n"
-"Contraseña: <La contraseña que introduzca aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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_csv.py:68
-msgid "_Add"
-msgstr "_Añadir"
-
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
-msgid "_Remove"
-msgstr "_Eliminar"
-
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crear"
-
-#: tryton/gui/window/dblogin.py:101
-msgid "Fetching databases list"
-msgstr "Recuperando lista de bases de datos"
-
-#: tryton/gui/window/dblogin.py:119
-msgid "Username:"
-msgstr "Nombre de usuario:"
-
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No se ha podido conectar al servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-msgid "Incompatible version of the server"
-msgstr "El cliente no es compatible con la versión del servidor"
-
-#: tryton/gui/window/dblogin.py:359
-msgid "Login"
-msgstr "Usuario"
-
-#: tryton/gui/window/dblogin.py:366
-msgid "_Cancel"
-msgstr "_Cancelar"
-
-#: tryton/gui/window/dblogin.py:371
-msgid "Cancel connection to the Tryton server"
-msgstr "Cancelar conexión al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:373
-msgid "C_onnect"
-msgstr "C_onectar"
-
-#: tryton/gui/window/dblogin.py:378
-msgid "Connect the Tryton server"
-msgstr "Conectar al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:406
-msgid "Profile:"
-msgstr "Perfil:"
-
-#: tryton/gui/window/dblogin.py:410
-msgid "_Manage profiles"
-msgstr "_Administrar perfiles"
-
-#: tryton/gui/window/dblogin.py:420
-msgid "Host / Database information"
-msgstr "Información del Servidor / Base de datos"
-
-#: tryton/gui/window/dblogin.py:459
-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:122
-msgid "File to Restore:"
-msgstr "Archivo a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Elija el nombre de la base de datos a restaurar.\n"
-"Los caracteres permitidos son alfanuméricos o _ (subrayado)\n"
-"¡Evite todos los acentos, espacios, o caracteres especiales! \n"
-"Ejemplo: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nombre de la nueva base de datos:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualizar base de datos:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-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:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-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:38
-msgid "Legend of Available Placeholders:"
-msgstr "Leyenda de palabras clave disponibles:"
-
-#: tryton/gui/window/email.py:45
-msgid "To:"
-msgstr "Para:"
-
-#: tryton/gui/window/email.py:49
-msgid "CC:"
-msgstr "CC:"
-
-#: tryton/gui/window/email.py:53
-msgid "Subject:"
-msgstr "Asunto:"
-
-#: tryton/gui/window/email.py:57
-msgid "Body:"
-msgstr "Mensaje:"
-
-#: tryton/gui/window/email.py:61
-msgid "Attachment:"
-msgstr "Adjunto:"
-
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
-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:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
-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:48
-msgid "Note(0)"
-msgstr "Nota(0)"
-
-#: tryton/gui/window/form.py:49
-msgid "Add a note to the record"
-msgstr "Añadir una nota al registro"
-
-#: tryton/gui/window/form.py:58
-msgid "_Duplicate"
-msgstr "_Duplicar"
-
-#: tryton/gui/window/form.py:63
-msgid "_Previous"
-msgstr "_Anterior"
-
-#: tryton/gui/window/form.py:65
-msgid "_Next"
-msgstr "Sig_uiente"
-
-#: tryton/gui/window/form.py:66
-msgid "_Search"
-msgstr "_Buscar"
-
-#: tryton/gui/window/form.py:67
-msgid "View _Logs..."
-msgstr "Ver _Registro..."
-
-#: tryton/gui/window/form.py:68
-msgid "Show revisions..."
-msgstr "Mostrar versiones..."
-
-#: tryton/gui/window/form.py:73
-msgid "A_ttachments..."
-msgstr "Adjun_tos..."
-
-#: tryton/gui/window/form.py:75
-msgid "_Notes..."
-msgstr "_Notas..."
-
-#: tryton/gui/window/form.py:76
-msgid "_Actions..."
-msgstr "_Acciones..."
-
-#: tryton/gui/window/form.py:78
-msgid "_Relate..."
-msgstr "_Relacionado..."
-
-#: tryton/gui/window/form.py:81
-msgid "_Report..."
-msgstr "_Informe..."
-
-#: tryton/gui/window/form.py:83
-msgid "_E-Mail..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/window/form.py:85
-msgid "_Print..."
-msgstr "Im_primir..."
-
-#: tryton/gui/window/form.py:88
-msgid "_Export Data..."
-msgstr "_Exportar datos..."
-
-#: tryton/gui/window/form.py:90
-msgid "_Import Data..."
-msgstr "_Importar datos..."
-
-#: tryton/gui/window/form.py:210
-#, python-format
-msgid "Attachment(%d)"
-msgstr "Adjunto(%d)"
-
-#: tryton/gui/window/form.py:236
-#, python-format
-msgid "Note(%d)"
-msgstr "Nota(%d)"
-
-#: tryton/gui/window/form.py:258
-msgid "You have to select one record."
-msgstr "Debe seleccionar un registro."
-
-#: tryton/gui/window/form.py:262
-msgid "ID:"
-msgstr "ID:"
-
-#: tryton/gui/window/form.py:263
-msgid "Creation User:"
-msgstr "Creado por:"
-
-#: tryton/gui/window/form.py:264
-msgid "Creation Date:"
-msgstr "Fecha de creación:"
-
-#: tryton/gui/window/form.py:265
-msgid "Latest Modification by:"
-msgstr "Última modificación por:"
-
-#: tryton/gui/window/form.py:266
-msgid "Latest Modification Date:"
-msgstr "Última fecha de modificación:"
-
-#: tryton/gui/window/form.py:285
-msgid "Model:"
-msgstr "Modelo:"
-
-#: tryton/gui/window/form.py:345
-msgid "Are you sure to remove this record?"
-msgstr "¿Está seguro que quiere eliminar este registro?"
-
-#: tryton/gui/window/form.py:347
-msgid "Are you sure to remove those records?"
-msgstr "¿Está seguro que quiere eliminar estos registros?"
-
-#: tryton/gui/window/form.py:350
-msgid "Records not removed."
-msgstr "Los registros no se han eliminado."
-
-#: tryton/gui/window/form.py:352
-msgid "Records removed."
-msgstr "Registros eliminados."
-
-#: tryton/gui/window/form.py:380
-msgid "Working now on the duplicated record(s)."
-msgstr "Ahora está trabajando en registro(s) duplicado(s)."
-
-#: tryton/gui/window/form.py:390
-msgid "Record saved."
-msgstr "Registro guardado."
-
-#: tryton/gui/window/form.py:492
-msgid " of "
-msgstr " de "
-
-#: tryton/gui/window/form.py:513
-msgid ""
-"This record has been modified\n"
-"do you want to save it?"
-msgstr ""
-"Este registro ha sido modificado\n"
-"¿desea guardarlo?"
-
-#: tryton/gui/window/form.py:566
-msgid "Action"
-msgstr "Acción"
-
-#: tryton/gui/window/form.py:566
-msgid "Launch action"
-msgstr "Ejecutar acción"
-
-#: tryton/gui/window/form.py:567
-msgid "Relate"
-msgstr "_Relacionado"
-
-#: tryton/gui/window/form.py:567
-msgid "Open related records"
-msgstr "Abrir registros relacionados"
-
-#: tryton/gui/window/form.py:569
-msgid "Report"
-msgstr "Informes"
-
-#: tryton/gui/window/form.py:569
-msgid "Open report"
-msgstr "Abrir informe"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail"
-msgstr "Email"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail report"
-msgstr "Informe por email"
-
-#: tryton/gui/window/form.py:571
-msgid "Print"
-msgstr "Imprimir"
-
-#: tryton/gui/window/form.py:571
-msgid "Print report"
-msgstr "Imprimir informe"
-
-#: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
-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:19
-msgid "Revision"
-msgstr "Versión"
-
-#: tryton/gui/window/revision.py:28
-msgid "Select a revision"
-msgstr "Selecione una versión"
-
-#: tryton/gui/window/revision.py:31
-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/shortcuts.py:47
-msgid "Move Cursor"
-msgstr "Mover cursor"
-
-#: tryton/gui/window/shortcuts.py:48
-msgid "Move to right"
-msgstr "Mover a la derecha"
-
-#: tryton/gui/window/shortcuts.py:49
-msgid "Move to left"
-msgstr "Mover a la izquierda"
-
-#: tryton/gui/window/shortcuts.py:50
-msgid "Move up"
-msgstr "Mover hacia arriba"
-
-#: tryton/gui/window/shortcuts.py:51
-msgid "Move down"
-msgstr "Mover hacia abajo"
-
-#: tryton/gui/window/shortcuts.py:52
-msgid "Move up of one page"
-msgstr "Mover una página hacia arriba"
-
-#: tryton/gui/window/shortcuts.py:53
-msgid "Move down of one page"
-msgstr "Mover una página hacia abajo"
-
-#: tryton/gui/window/shortcuts.py:54
-msgid "Move to top"
-msgstr "Mover al principio"
-
-#: tryton/gui/window/shortcuts.py:55
-msgid "Move to bottom"
-msgstr "Mover al final"
-
-#: tryton/gui/window/shortcuts.py:56
-msgid "Move to parent"
-msgstr "Mover al padre"
-
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
-msgid "Select all"
-msgstr "Seleccionar todos"
-
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
-msgid "Unselect all"
-msgstr "Deseleccionar todos"
-
-#: tryton/gui/window/shortcuts.py:62
-msgid "Select parent"
-msgstr "Seleccionar padre"
-
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
-msgid "Select/Activate current row"
-msgstr "Seleccionar/Activar fila actual"
-
-#: tryton/gui/window/shortcuts.py:67
-msgid "Toggle selection"
-msgstr "Conmutar selección"
-
-#: tryton/gui/window/shortcuts.py:68
-msgid "Expand/Collapse"
-msgstr "Expandir/Contraer"
-
-#: tryton/gui/window/shortcuts.py:69
-msgid "Expand row"
-msgstr "Expandir fila"
-
-#: tryton/gui/window/shortcuts.py:70
-msgid "Collapse row"
-msgstr "Contraer fila"
-
-#: tryton/gui/window/shortcuts.py:71
-msgid "Toggle row"
-msgstr "Conmutar fila"
-
-#: tryton/gui/window/shortcuts.py:72
-msgid "Expand all rows"
-msgstr "Expandir todas las filas"
-
-#: tryton/gui/window/shortcuts.py:73
-msgid "Collapse all rows"
-msgstr "Contraer todas las filas"
-
-#: tryton/gui/window/shortcuts.py:76
-msgid "Tree view"
-msgstr "Vista de árbol"
-
-#: tryton/gui/window/tips.py:17
-msgid ""
-"<b>Welcome to Tryton</b>\n"
-"\n"
-"\n"
-msgstr ""
-"<b>Bienvenido a Tryton</b>\n"
-"\n"
-"\n"
-
-#: tryton/gui/window/tips.py:21
-msgid ""
-"<b>Do you know Triton, one of the namesakes for our project?</b>\n"
-"\n"
-"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
-"largest moon of the planet Neptune, discovered on October 10, 1846\n"
-"by William Lassell. It is the only large moon in the Solar System\n"
-"with a retrograde orbit, which is an orbit in the opposite direction\n"
-"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
-"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
-"the mass known to orbit Neptune, including the planet's rings and twelve\n"
-"other known moons. It is also more massive than all the Solar System's\n"
-"159 known smaller moons combined.\n"
-msgstr ""
-"<b>¿Conoce Triton? uno de los apelativos de nuestro proyecto</b>\n"
-"\n"
-"Triton (pronunciado /ˈtraɪtən/ TRYE-tən, o en griego Τρίτων) es la\n"
-"luna más grande del planeta Neptuno, descubierta el 10 de Octubre de\n"
-"1846 por William Lassell. Es la única luna grande del Sistema Solar\n"
-"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"
-"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:33
-msgid ""
-"<b>Export list records</b>\n"
-"\n"
-"You can copy records from any list with Ctrl + C\n"
-"and paste in any application with Ctrl + V\n"
-msgstr ""
-"<b>Exportar lista de registros</b>\n"
-"\n"
-"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:38
-msgid ""
-"<b>Export graphs</b>\n"
-"\n"
-"You can save any graphs in PNG file with right-click on it.\n"
-msgstr ""
-"<b>Exportar gráficos</b>\n"
-"\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:45
-msgid "Tips"
-msgstr "Consejos"
-
-#: tryton/gui/window/tips.py:65
-msgid "_Display a new tip next time"
-msgstr "_Mostrar un nuevo consejo la próxima vez"
-
-#: tryton/gui/window/win_csv.py:59
-msgid "<b>All fields</b>"
-msgstr "<b>Todos los campos</b>"
-
-#: tryton/gui/window/win_csv.py:86
-msgid "_Clear"
-msgstr "_Limpiar"
-
-#: tryton/gui/window/win_csv.py:107
-msgid "<b>Fields selected</b>"
-msgstr "<b>Campos seleccionados</b>"
-
-#: tryton/gui/window/win_csv.py:126
-msgid "CSV Parameters"
-msgstr "Parámetros CSV"
-
-#: tryton/gui/window/win_csv.py:134
-msgid "Delimiter:"
-msgstr "Delimitador:"
-
-#: tryton/gui/window/win_csv.py:148
-msgid "Quote char:"
-msgstr "Caracter de entrecomillado:"
-
-#: tryton/gui/window/win_csv.py:157
-msgid "Encoding:"
-msgstr "Codificación:"
-
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
-msgid "Field name"
-msgstr "Nombre del campo"
-
-#: tryton/gui/window/win_export.py:28
-msgid "Export to CSV"
-msgstr "Exportar a CSV"
-
-#: tryton/gui/window/win_export.py:39
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Exportaciones predeterminadas</b>"
-
-#: tryton/gui/window/win_export.py:46
-msgid "Name"
-msgstr "Nombre"
-
-#: tryton/gui/window/win_export.py:60
-msgid "_Save Export"
-msgstr "_Guardar exportación"
-
-#: tryton/gui/window/win_export.py:69
-msgid "_Delete Export"
-msgstr "_Eliminar exportación"
-
-#: tryton/gui/window/win_export.py:82
-msgid "Open"
-msgstr "Abrir"
-
-#: tryton/gui/window/win_export.py:87
-msgid "Add _field names"
-msgstr "Añadir nombres de _campo"
-
-#: tryton/gui/window/win_export.py:101
-#, python-format
-msgid "%s (string)"
-msgstr "%s (cadena)"
-
-#: tryton/gui/window/win_export.py:199
-msgid "What is the name of this export?"
-msgstr "¿Cuál es el nombre de esta exportación?"
-
-#: tryton/gui/window/win_export.py:205
-#, python-format
-msgid "Override '%s' definition?"
-msgstr "¿Sobrescribir definición de '%s'?"
-
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "¡Se ha guardado %d registro!"
-
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "¡Se han guardado %d registros!"
-
-#: tryton/gui/window/win_export.py:329
-#, python-format
-msgid ""
-"Operation failed!\n"
-"Error message:\n"
-"%s"
-msgstr ""
-"¡Ha fallado la operación!\n"
-"Mensaje de error:\n"
-"%s"
-
-#: tryton/gui/window/win_form.py:36
-msgid "Link"
-msgstr "Enlace"
-
-#: tryton/gui/window/win_form.py:128
-msgid "Add"
-msgstr "Añadir"
-
-#: tryton/gui/window/win_form.py:141
-msgid "Remove <Del>"
-msgstr "Eliminar <Supr>"
-
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-msgid "Create a new record <F3>"
-msgstr "Crear un nuevo registro <F3>"
-
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-msgid "Delete selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-msgid "Undelete selected record <Ins>"
-msgstr "Recuperar registro seleccionado <Ins>"
-
-#: tryton/gui/window/win_import.py:25
-msgid "Import from CSV"
-msgstr "Importar desde CSV"
-
-#: tryton/gui/window/win_import.py:32
-msgid "_Auto-Detect"
-msgstr "_Auto-detectar"
-
-#: tryton/gui/window/win_import.py:43
-msgid "File to Import:"
-msgstr "Archivo a importar:"
-
-#: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
-msgid "Open..."
-msgstr "Abrir..."
-
-#: tryton/gui/window/win_import.py:50
-msgid "Lines to Skip:"
-msgstr "Líneas a omitir:"
-
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "¡Primero debe elegir un archivo a importar!"
-
-#: tryton/gui/window/win_import.py:109
-msgid "Error opening CSV file"
-msgstr "Error al abrir el archivo CSV"
-
-#: tryton/gui/window/win_import.py:137
-#, 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:198
-#, python-format
-msgid "%d record imported!"
-msgstr "¡Se ha importado %d registro!"
-
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
-msgstr "¡Se han importado %d registros!"
-
-#: tryton/gui/window/wizard.py:287
-msgid "Wizard"
-msgstr "Asistente"
-
-#: tryton/gui/window/view_form/screen/screen.py:183
-msgid "ID"
-msgstr "ID"
-
-#: tryton/gui/window/view_form/screen/screen.py:184
-msgid "Creation User"
-msgstr "Creado por:"
-
-#: tryton/gui/window/view_form/screen/screen.py:185
-msgid "Creation Date"
-msgstr "Fecha de creación:"
-
-#: tryton/gui/window/view_form/screen/screen.py:186
-msgid "Modification User"
-msgstr "Última modificación por:"
-
-#: tryton/gui/window/view_form/screen/screen.py:187
-msgid "Modification Date"
-msgstr "Última fecha de modificación:"
-
-#: tryton/gui/window/view_form/screen/screen.py:710
-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:769
-msgid "Unable to set view tree state"
-msgstr "No se ha podido establecer el estado del árbol"
-
-#: tryton/gui/window/view_form/screen/screen.py:945
-#, python-format
-msgid "\"%s\" is not valid according to its domain"
-msgstr "«%s» no es válido según su dominio"
-
-#: tryton/gui/window/view_form/screen/screen.py:952
-#, python-format
-msgid "\"%s\" is required"
-msgstr "«%s» es requerido"
-
-#: tryton/gui/window/view_form/screen/screen.py:956
-#, python-format
-msgid "The values of \"%s\" are not valid"
-msgstr "Los valores de «%s» no son válidos"
-
-#: tryton/gui/window/view_form/screen/screen.py:1007
-msgid "Pre-validation"
-msgstr "Pre-validación"
-
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
-msgid ":"
-msgstr ":"
-
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Guardar como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
-msgid "Image Size"
-msgstr "Tamaño de la imagen"
-
-#: tryton/gui/window/view_form/view/graph.py:119
-msgid "Width:"
-msgstr "Anchura:"
-
-#: tryton/gui/window/view_form/view/graph.py:126
-msgid "Height:"
-msgstr "Altura:"
-
-#: tryton/gui/window/view_form/view/graph.py:137
-msgid "PNG image (*.png)"
-msgstr "Imagen PNG (*.png)"
-
-#: tryton/gui/window/view_form/view/graph.py:159
-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:144
-msgid "F_ilters"
-msgstr "F_iltros"
-
-#: tryton/gui/window/view_form/view/screen_container.py:198
-msgid "Show bookmarks of filters"
-msgstr "Muestra las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:359
-msgid "Remove this bookmark"
-msgstr "Eliminar de las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:366
-msgid "Bookmark this filter"
-msgstr "Guardar como búsqueda favorita"
-
-#: tryton/gui/window/view_form/view/screen_container.py:431
-msgid "Bookmark Name:"
-msgstr "Nombre de la búsqueda favorita:"
-
-#: tryton/gui/window/view_form/view/screen_container.py:539
-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:33
-msgid "Select..."
-msgstr "Seleccionar..."
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
-msgid "Clear"
-msgstr "Limpiar"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
-msgid "All files"
-msgstr "Todos los archivos"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
-msgid "Select"
-msgstr "Seleccionar"
-
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
-msgid "Show plain text"
-msgstr "Mostrar como texto plano"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
-msgid "Add value"
-msgstr "Añadir un valor"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
-#, python-format
-msgid "Remove \"%s\""
-msgstr "Eliminar \"%s\""
-
-#: tryton/gui/window/view_form/view/form_gtk/image.py:49
-msgid "Images"
-msgstr "Imágenes"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
-msgid "Add existing record"
-msgstr "Añadir un registro existente"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-msgid "Remove selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
-msgstr "Abrir registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-msgid "Search a record <F2>"
-msgstr "Buscar registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-msgid "Remove selected record"
-msgstr "Eliminar registro seleccionado"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-msgid "Edit selected record <F2>"
-msgstr "Editar registro seleccionado <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
-#, python-format
-msgid "%s%%"
-msgstr "%s%%"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
-msgid "Foreground"
-msgstr "Color de texto"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
-msgid "Select a color"
-msgstr "Seleccionar un color"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-msgid "Translation"
-msgstr "Traducción"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
-msgid "Edit"
-msgstr "Editar"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
-msgid "Fuzzy"
-msgstr "Confuso"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-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:258
-msgid "No other language available!"
-msgstr "¡No hay otro idioma disponible!"
-
-#: tryton/plugins/translation/__init__.py:22
-msgid "Translate view"
-msgstr "Traducir vista"
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 0de3ec0..0000000
Binary files a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po b/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
deleted file mode 100644
index 553981d..0000000
--- a/tryton/data/locale/es_CO/LC_MESSAGES/tryton.po
+++ /dev/null
@@ -1,1936 +0,0 @@
-# Spanish (Colombia) translations for tryton.
-# Copyright (C) 2014 Presik Technologies
-# This file is distributed under the same license as the tryton project.
-# FIRST AUTHOR <EMAIL at ADDRESS>, 2012.
-# Oscar Alvarez <oscar.alvarez.montero at gmail.com>, 2012.
-msgid ""
-msgstr "Content-Type: text/plain; charset=utf-8\n"
-
-#: tryton/config.py:76
-msgid "specify alternate config file"
-msgstr "Especifique un archivo de configuración alternativo"
-
-#: tryton/config.py:79
-msgid "development mode"
-msgstr "modo desarrollo"
-
-#: tryton/config.py:82
-msgid "logging everything at INFO level"
-msgstr "Registra toda la información con nivel INFO"
-
-#: tryton/config.py:84
-msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "especifique el nivel log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-
-#: tryton/config.py:87
-msgid "specify the login user"
-msgstr "especifique el usuario"
-
-#: tryton/config.py:89
-msgid "specify the server port"
-msgstr "especifique el puerto del servidor"
-
-#: tryton/config.py:91
-msgid "specify the server hostname"
-msgstr "especifique el nombre del servidor"
-
-#: tryton/config.py:95
-msgid "Too much arguments"
-msgstr "Demasiados argumentos"
-
-#: tryton/config.py:98
-#, python-format
-msgid "File \"%s\" not found"
-msgstr "No se ha encontró el archivo \"%s\""
-
-#: tryton/config.py:136
-#, 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:162
-msgid "Select your action"
-msgstr "Seleccione su acción"
-
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "No hay acción definida!"
-
-#: tryton/common/common.py:274
-msgid "Tryton Connection"
-msgstr "Conexión a Tryton"
-
-#: tryton/common/common.py:285
-msgid "Server:"
-msgstr "Servidor:"
-
-#: tryton/common/common.py:303
-msgid "Port:"
-msgstr "Puerto:"
-
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
-msgid "Selection"
-msgstr "Selección"
-
-#: tryton/common/common.py:380
-msgid "Your selection:"
-msgstr "Su selección:"
-
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
-msgid "Save As..."
-msgstr "Guardar como..."
-
-#: tryton/common/common.py:642
-msgid "Always ignore this warning."
-msgstr "Ignorar siempre esta advertencia."
-
-#: tryton/common/common.py:647
-msgid "Do you want to proceed?"
-msgstr "Desea continuar?"
-
-#: tryton/common/common.py:666
-msgid "Confirmation"
-msgstr "Confirmación"
-
-#: tryton/common/common.py:772 tryton/common/common.py:1080
-msgid "Concurrency Exception"
-msgstr "Excepción de Concurrencia"
-
-#: tryton/common/common.py:786
-msgid ""
-"<b>Write Concurrency Warning:</b>\n"
-"\n"
-"This record has been modified while you were editing it.\n"
-" Choose:\n"
-"    - \"Cancel\" to cancel saving;\n"
-"    - \"Compare\" to see the modified version;\n"
-"    - \"Write Anyway\" to save your current version."
-msgstr ""
-"<b>Aviso de concurrencia de escritura:</b>\n"
-"\n"
-"Este registro ha sido modificado mientras lo editaba.\n"
-"  Elija:\n"
-"   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada:\n"
-"   - \"Guardar de todas formas\" para guardar sus cambios."
-
-#: tryton/common/common.py:795
-msgid "Compare"
-msgstr "Comparar"
-
-#: tryton/common/common.py:800
-msgid "Write Anyway"
-msgstr "Guardar de todas formas"
-
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
-msgid "Error"
-msgstr "Error"
-
-#: tryton/common/common.py:830
-msgid "Report Bug"
-msgstr "Reportar Fallo"
-
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "Error de Aplicación!"
-
-#: tryton/common/common.py:860
-msgid "Error: "
-msgstr "Error: "
-
-#: tryton/common/common.py:880
-#, 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:910
-msgid "Bug Tracker"
-msgstr "Seguimiento de Fallos"
-
-#: tryton/common/common.py:928
-msgid "User:"
-msgstr "Usuario:"
-
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
-msgid "Password:"
-msgstr "Contraseña:"
-
-#: tryton/common/common.py:991
-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."
-
-#: tryton/common/common.py:1002
-msgid "Created new bug with ID "
-msgstr "Se creó un nuevo fallo con ID "
-
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
-msgid ""
-"Connection error!\n"
-"Bad username or password!"
-msgstr ""
-"Error de conexión!\n"
-"Nombre de usuario o contraseña incorrectos!"
-
-#: tryton/common/common.py:1015
-msgid "Exception:"
-msgstr "Excepción:"
-
-#: tryton/common/common.py:1032
-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!\n"
-"La aplicación detendrá la conexión al servidor hasta que se corrija la huella de seguridad."
-
-#: tryton/common/common.py:1034
-msgid "Security risk!"
-msgstr "Riesgo de seguridad!"
-
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
-msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
-msgstr ""
-"Error de conexión!\n"
-"No ha sido posible conectarse al servidor!"
-
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "Error de Red!"
-
-#: tryton/common/completion.py:22
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
-
-#: tryton/common/completion.py:24
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
-
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
-msgid "Value"
-msgstr "Valor"
-
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
-msgid "Displayed value"
-msgstr "Valor Mostrado"
-
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
-msgid "Format"
-msgstr "Formato"
-
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
-msgid "Display format"
-msgstr "Formato a Mostrar"
-
-#: tryton/common/datetime_.py:61
-msgid "Open the calendar"
-msgstr "Abrir el calendario <F2>"
-
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
-msgid "Date Format"
-msgstr "Formato de Fecha"
-
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
-msgid "Displayed date format"
-msgstr "Fromato de Fecha Mostrado"
-
-#: tryton/common/domain_parser.py:235
-msgid "y"
-msgstr "s"
-
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
-
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadero"
-
-#: tryton/common/domain_parser.py:235
-msgid "t"
-msgstr "v"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadero"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "False"
-msgstr "Falso"
-
-#: tryton/common/popup_menu.py:81
-msgid "Edit..."
-msgstr "_Editar..."
-
-#: tryton/common/popup_menu.py:86
-msgid "Attachments..."
-msgstr "Adjuntos..."
-
-#: tryton/common/popup_menu.py:90
-msgid "Notes..."
-msgstr "Notas..."
-
-#: tryton/common/popup_menu.py:100
-msgid "Actions..."
-msgstr "Acciones..."
-
-#: tryton/common/popup_menu.py:101
-msgid "Relate..."
-msgstr "Relación..."
-
-#: tryton/common/popup_menu.py:102
-msgid "Report..."
-msgstr "Reporte..."
-
-#: tryton/common/popup_menu.py:103
-msgid "E-Mail..."
-msgstr "Correo Electrónico..."
-
-#: tryton/common/popup_menu.py:104
-msgid "Print..."
-msgstr "Imprimir..."
-
-#: tryton/common/timedelta.py:26
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/timedelta.py:27
-msgid "M"
-msgstr "M"
-
-#: tryton/common/timedelta.py:28
-msgid "w"
-msgstr "S"
-
-#: tryton/common/timedelta.py:29
-msgid "d"
-msgstr "d"
-
-#: tryton/common/timedelta.py:30
-msgid "h"
-msgstr "h"
-
-#: tryton/common/timedelta.py:31
-msgid "m"
-msgstr "m"
-
-#: tryton/common/timedelta.py:32
-msgid "s"
-msgstr "s"
-
-#: tryton/gui/main.py:218
-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:373
-msgid "No result found."
-msgstr "No hay resultados."
-
-#: tryton/gui/main.py:395
-msgid "_Connect..."
-msgstr "_Conectar..."
-
-#: tryton/gui/main.py:404
-msgid "_Disconnect"
-msgstr "_Desconectar"
-
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de datos"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nueva Base de Datos..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar Base de Datos..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_Copia de Seguridad de la Base de Datos..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Eliminar Base de Datos..."
-
-#: tryton/gui/main.py:461
-msgid "_Quit..."
-msgstr "_Salir..."
-
-#: tryton/gui/main.py:476
-msgid "_Preferences..."
-msgstr "_Preferencias..."
-
-#: tryton/gui/main.py:487
-msgid "_Menu Reload"
-msgstr "_Recargar Menú"
-
-#: tryton/gui/main.py:496
-msgid "_Menu Toggle"
-msgstr "Conmutar _Menú"
-
-#: tryton/gui/main.py:503
-msgid "_Global Search"
-msgstr "_Busqueda Global"
-
-#: tryton/gui/main.py:518
-msgid "_Toolbar"
-msgstr "Barra de herramien_tas"
-
-#: tryton/gui/main.py:526
-msgid "_Default"
-msgstr "Por _Defecto"
-
-#: tryton/gui/main.py:536
-msgid "_Text and Icons"
-msgstr "_Texto e Iconos"
-
-#: tryton/gui/main.py:546
-msgid "_Icons"
-msgstr "_Iconos"
-
-#: tryton/gui/main.py:555
-msgid "_Text"
-msgstr "_Texto"
-
-#: tryton/gui/main.py:564
-msgid "_Menubar"
-msgstr "Barra de _Menú"
-
-#: tryton/gui/main.py:572
-msgid "Change Accelerators"
-msgstr "Cambiar Teclas Rápidas"
-
-#: tryton/gui/main.py:580
-msgid "_Mode"
-msgstr "_Modo"
-
-#: tryton/gui/main.py:588
-msgid "_Normal"
-msgstr "_Normal"
-
-#: tryton/gui/main.py:596
-msgid "_PDA"
-msgstr "_Celular"
-
-#: tryton/gui/main.py:603
-msgid "_Form"
-msgstr "_Formulario"
-
-#: tryton/gui/main.py:612
-msgid "Save Width/Height"
-msgstr "Guardar ancho/alto"
-
-#: tryton/gui/main.py:623
-msgid "Save Tree State"
-msgstr "Guardar Estado de Árbol"
-
-#: tryton/gui/main.py:635
-msgid "Fast Tabbing"
-msgstr "Tabulación Rápida"
-
-#: tryton/gui/main.py:645
-msgid "Spell Checking"
-msgstr "Corrección Ortográfica"
-
-#: tryton/gui/main.py:655
-msgid "_Previous Tab"
-msgstr "_Anterior Pestaña"
-
-#: tryton/gui/main.py:661
-msgid "_Next Tab"
-msgstr "_Siguiente Pestaña"
-
-#: tryton/gui/main.py:667
-msgid "Search Limit..."
-msgstr "Límite de Búsqueda..."
-
-#: tryton/gui/main.py:673
-msgid "_Email..."
-msgstr "_Correo Electrónico..."
-
-#: tryton/gui/main.py:681
-msgid "_Save Options"
-msgstr "_Guardar Opciones"
-
-#: tryton/gui/main.py:693
-msgid "_Tips..."
-msgstr "Conse_jos..."
-
-#: tryton/gui/main.py:702
-msgid "_Keyboard Shortcuts..."
-msgstr "Com_binaciones de teclas..."
-
-#: tryton/gui/main.py:711
-msgid "_About..."
-msgstr "_Acerca de..."
-
-#: tryton/gui/main.py:762
-msgid "Manage Favorites"
-msgstr "_Administrar Favoritos"
-
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
-msgid "Search"
-msgstr "Buscar"
-
-#: tryton/gui/main.py:914
-msgid ""
-"The following action requires to close all tabs.\n"
-"Do you want to continue?"
-msgstr ""
-"La acción seleccionada requiere cerrar todas las pestañas. \n"
-"¿Desea continuar?"
-
-#: tryton/gui/main.py:1173
-msgid "Close Tab"
-msgstr "Cerrar pestaña"
-
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Va a eliminar una base de datos de Tryton.\n"
-"Está seguro que quiere continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contraseña del Servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "¡Acceso denegado!"
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "Falló la eliminación de la base de datos!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "La base de datos se ha eliminado satisfactoriamente!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir una Copia de Seguridad a Restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "La base de datos está protegida por contraseña!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "¡La restauración de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "¡La base de datos se ha restaurado correctamente!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "La extracción de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1395
-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:83
-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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
-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:52
-msgid "_New"
-msgstr "_Nuevo"
-
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
-#: tryton/gui/window/win_form.py:68
-msgid "_Save"
-msgstr "_Guardar"
-
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
-msgid "_Switch View"
-msgstr "Cambiar Vi_sta"
-
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
-msgid "_Reload/Undo"
-msgstr "_Recargar/Deshacer"
-
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
-msgid "_Delete..."
-msgstr "_Eliminar..."
-
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
-msgid "_Close Tab"
-msgstr "_Cerrar pestaña"
-
-#: tryton/gui/window/dbcreate.py:29
-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 «Cambiar» para"
-" cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "No hay conexión!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"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"
-"Pulse en «Cambiar» para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crear nueva base de datos"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rear"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crear la nueva base de datos."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuración del Servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexión con el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 «Cambiar» para "
-"cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambiar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurar la conexión con el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contraseña del Servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Nueva configuración de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nombre de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma por defecto:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contraseña del administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Elija una contraseña para el usuario administrador de la nueva base de datos. Podrá acceder a la base de datos con dichas credenciales:\n"
-"Nombre de usuario: admin\n"
-"Contraseña: <La contraseña que introduzca aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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_csv.py:68
-msgid "_Add"
-msgstr "_Agregar"
-
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
-msgid "_Remove"
-msgstr "_Eliminar"
-
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crear"
-
-#: tryton/gui/window/dblogin.py:101
-msgid "Fetching databases list"
-msgstr "Recuperando lista de bases de datos"
-
-#: tryton/gui/window/dblogin.py:119
-msgid "Username:"
-msgstr "Nombre de usuario:"
-
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No se ha podido conectar al servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-msgid "Incompatible version of the server"
-msgstr "Incompatible versión del servidor"
-
-#: tryton/gui/window/dblogin.py:359
-msgid "Login"
-msgstr "Usuario"
-
-#: tryton/gui/window/dblogin.py:366
-msgid "_Cancel"
-msgstr "_Cancelar"
-
-#: tryton/gui/window/dblogin.py:371
-msgid "Cancel connection to the Tryton server"
-msgstr "Cancelar conexión al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:373
-msgid "C_onnect"
-msgstr "C_onectar"
-
-#: tryton/gui/window/dblogin.py:378
-msgid "Connect the Tryton server"
-msgstr "Conectar al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:406
-msgid "Profile:"
-msgstr "Perfil:"
-
-#: tryton/gui/window/dblogin.py:410
-msgid "_Manage profiles"
-msgstr "_Administrar perfiles"
-
-#: tryton/gui/window/dblogin.py:420
-msgid "Host / Database information"
-msgstr "Información del Servidor / Base de datos"
-
-#: tryton/gui/window/dblogin.py:459
-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:122
-msgid "File to Restore:"
-msgstr "Archivo a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Elija el nombre de la base de datos a restaurar.\n"
-"Los caracteres permitidos son alfanuméricos o _ (subrayado)\n"
-"¡Evite todos los acentos, espacios, o caracteres especiales! \n"
-"Ejemplo: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nombre de la nueva base de datos:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualizar base de datos:"
-
-#: tryton/gui/window/dbrestore.py:151
-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."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-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:38
-msgid "Legend of Available Placeholders:"
-msgstr "Leyenda de Palabras Clave Disponibles:"
-
-#: tryton/gui/window/email.py:45
-msgid "To:"
-msgstr "Para:"
-
-#: tryton/gui/window/email.py:49
-msgid "CC:"
-msgstr "CC:"
-
-#: tryton/gui/window/email.py:53
-msgid "Subject:"
-msgstr "Asunto:"
-
-#: tryton/gui/window/email.py:57
-msgid "Body:"
-msgstr "Mensaje:"
-
-#: tryton/gui/window/email.py:61
-msgid "Attachment:"
-msgstr "Adjunto:"
-
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
-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:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
-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:48
-msgid "Note(0)"
-msgstr "Nota(0)"
-
-#: tryton/gui/window/form.py:49
-msgid "Add a note to the record"
-msgstr "Agregar nota al registro"
-
-#: tryton/gui/window/form.py:58
-msgid "_Duplicate"
-msgstr "_Duplicar"
-
-#: tryton/gui/window/form.py:63
-msgid "_Previous"
-msgstr "_Anterior"
-
-#: tryton/gui/window/form.py:65
-msgid "_Next"
-msgstr "Sig_uiente"
-
-#: tryton/gui/window/form.py:66
-msgid "_Search"
-msgstr "_Buscar"
-
-#: tryton/gui/window/form.py:67
-msgid "View _Logs..."
-msgstr "Ver _Registro..."
-
-#: tryton/gui/window/form.py:68
-msgid "Show revisions..."
-msgstr "Mostrar revisiones..."
-
-#: tryton/gui/window/form.py:73
-msgid "A_ttachments..."
-msgstr "Adjun_tos..."
-
-#: tryton/gui/window/form.py:75
-msgid "_Notes..."
-msgstr "_Notas..."
-
-#: tryton/gui/window/form.py:76
-msgid "_Actions..."
-msgstr "_Acciones..."
-
-#: tryton/gui/window/form.py:78
-msgid "_Relate..."
-msgstr "_Relación..."
-
-#: tryton/gui/window/form.py:81
-msgid "_Report..."
-msgstr "_Reporte..."
-
-#: tryton/gui/window/form.py:83
-msgid "_E-Mail..."
-msgstr "_Correo Electrónico..."
-
-#: tryton/gui/window/form.py:85
-msgid "_Print..."
-msgstr "Im_primir..."
-
-#: tryton/gui/window/form.py:88
-msgid "_Export Data..."
-msgstr "_Exportar Datos..."
-
-#: tryton/gui/window/form.py:90
-msgid "_Import Data..."
-msgstr "_Importar Datos..."
-
-#: tryton/gui/window/form.py:210
-#, python-format
-msgid "Attachment(%d)"
-msgstr "Adjunto(%d)"
-
-#: tryton/gui/window/form.py:236
-#, python-format
-msgid "Note(%d)"
-msgstr "Nota(%d)"
-
-#: tryton/gui/window/form.py:258
-msgid "You have to select one record."
-msgstr "Debe seleccionar un registro."
-
-#: tryton/gui/window/form.py:262
-msgid "ID:"
-msgstr "ID:"
-
-#: tryton/gui/window/form.py:263
-msgid "Creation User:"
-msgstr "Creado por Usuario:"
-
-#: tryton/gui/window/form.py:264
-msgid "Creation Date:"
-msgstr "Fecha de Creación:"
-
-#: tryton/gui/window/form.py:265
-msgid "Latest Modification by:"
-msgstr "Última Modificación por:"
-
-#: tryton/gui/window/form.py:266
-msgid "Latest Modification Date:"
-msgstr "Fecha de Última Modificación:"
-
-#: tryton/gui/window/form.py:285
-msgid "Model:"
-msgstr "Modelo:"
-
-#: tryton/gui/window/form.py:345
-msgid "Are you sure to remove this record?"
-msgstr "Está seguro que quiere eliminar este registro?"
-
-#: tryton/gui/window/form.py:347
-msgid "Are you sure to remove those records?"
-msgstr "Está seguro que quiere eliminar estos registros?"
-
-#: tryton/gui/window/form.py:350
-msgid "Records not removed."
-msgstr "Los registros no se han eliminado."
-
-#: tryton/gui/window/form.py:352
-msgid "Records removed."
-msgstr "Registros eliminados."
-
-#: tryton/gui/window/form.py:380
-msgid "Working now on the duplicated record(s)."
-msgstr "Está trabajando ahora registro(s) duplicado(s)."
-
-#: tryton/gui/window/form.py:390
-msgid "Record saved."
-msgstr "Registro guardado."
-
-#: tryton/gui/window/form.py:492
-msgid " of "
-msgstr " de "
-
-#: tryton/gui/window/form.py:513
-msgid ""
-"This record has been modified\n"
-"do you want to save it?"
-msgstr ""
-"Este registro ha sido modificado.\n"
-"¿Desea guardarlo?"
-
-#: tryton/gui/window/form.py:566
-msgid "Action"
-msgstr "Acción"
-
-#: tryton/gui/window/form.py:566
-msgid "Launch action"
-msgstr "Lanzar acción"
-
-#: tryton/gui/window/form.py:567
-msgid "Relate"
-msgstr "Relación"
-
-#: tryton/gui/window/form.py:567
-msgid "Open related records"
-msgstr "Abrir registros relacionados"
-
-#: tryton/gui/window/form.py:569
-msgid "Report"
-msgstr "Reporte"
-
-#: tryton/gui/window/form.py:569
-msgid "Open report"
-msgstr "Abrir reporte"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail"
-msgstr "Email"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail report"
-msgstr "Reporte por email"
-
-#: tryton/gui/window/form.py:571
-msgid "Print"
-msgstr "Imprimir"
-
-#: tryton/gui/window/form.py:571
-msgid "Print report"
-msgstr "Imprimir reporte"
-
-#: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
-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:19
-msgid "Revision"
-msgstr "Revisión"
-
-#: tryton/gui/window/revision.py:28
-msgid "Select a revision"
-msgstr "Seleccione una revisión"
-
-#: tryton/gui/window/revision.py:31
-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/shortcuts.py:47
-msgid "Move Cursor"
-msgstr "Mover el Cursor"
-
-#: tryton/gui/window/shortcuts.py:48
-msgid "Move to right"
-msgstr "Mover a la derecha"
-
-#: tryton/gui/window/shortcuts.py:49
-msgid "Move to left"
-msgstr "Mover a la izquierda"
-
-#: tryton/gui/window/shortcuts.py:50
-msgid "Move up"
-msgstr "Mover arriba"
-
-#: tryton/gui/window/shortcuts.py:51
-msgid "Move down"
-msgstr "Mover abajo"
-
-#: tryton/gui/window/shortcuts.py:52
-msgid "Move up of one page"
-msgstr "Mover arriba una página"
-
-#: tryton/gui/window/shortcuts.py:53
-msgid "Move down of one page"
-msgstr "Mover abajo una página"
-
-#: tryton/gui/window/shortcuts.py:54
-msgid "Move to top"
-msgstr "Mover al inicio"
-
-#: tryton/gui/window/shortcuts.py:55
-msgid "Move to bottom"
-msgstr "Mover al final"
-
-#: tryton/gui/window/shortcuts.py:56
-msgid "Move to parent"
-msgstr "Mover al padre"
-
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
-msgid "Select all"
-msgstr "Seleccionar todo"
-
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
-msgid "Unselect all"
-msgstr "Deseleccionar todo"
-
-#: tryton/gui/window/shortcuts.py:62
-msgid "Select parent"
-msgstr "Seleccionar padre"
-
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
-msgid "Select/Activate current row"
-msgstr "Seleccionar/Activar fila actual"
-
-#: tryton/gui/window/shortcuts.py:67
-msgid "Toggle selection"
-msgstr "Alternar selección"
-
-#: tryton/gui/window/shortcuts.py:68
-msgid "Expand/Collapse"
-msgstr "Expandir/Colapsar"
-
-#: tryton/gui/window/shortcuts.py:69
-msgid "Expand row"
-msgstr "Expandir fila"
-
-#: tryton/gui/window/shortcuts.py:70
-msgid "Collapse row"
-msgstr "Colapsar fila"
-
-#: tryton/gui/window/shortcuts.py:71
-msgid "Toggle row"
-msgstr "Alternar fila"
-
-#: tryton/gui/window/shortcuts.py:72
-msgid "Expand all rows"
-msgstr "Expandir todas las filas"
-
-#: tryton/gui/window/shortcuts.py:73
-msgid "Collapse all rows"
-msgstr "Colapsar todas las filas"
-
-#: tryton/gui/window/shortcuts.py:76
-msgid "Tree view"
-msgstr "Vista de árbol"
-
-#: tryton/gui/window/tips.py:17
-msgid ""
-"<b>Welcome to Tryton</b>\n"
-"\n"
-"\n"
-msgstr ""
-"<b>Bienvenido a Tryton</b>\n"
-"\n"
-"\n"
-
-#: tryton/gui/window/tips.py:21
-msgid ""
-"<b>Do you know Triton, one of the namesakes for our project?</b>\n"
-"\n"
-"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
-"largest moon of the planet Neptune, discovered on October 10, 1846\n"
-"by William Lassell. It is the only large moon in the Solar System\n"
-"with a retrograde orbit, which is an orbit in the opposite direction\n"
-"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
-"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
-"the mass known to orbit Neptune, including the planet's rings and twelve\n"
-"other known moons. It is also more massive than all the Solar System's\n"
-"159 known smaller moons combined.\n"
-msgstr ""
-"<b>¿Conoce Triton? uno de los apelativos de nuestro proyecto</b>\n"
-"\n"
-"Triton (pronunciado /ˈtraɪtən/ TRYE-tən, o en griego Τρίτων) es la\n"
-"luna más grande del planeta Neptuno, descubierta el 10 de Octubre de\n"
-"1846 por William Lassell. Es la única luna grande del Sistema Solar\n"
-"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"
-"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:33
-msgid ""
-"<b>Export list records</b>\n"
-"\n"
-"You can copy records from any list with Ctrl + C\n"
-"and paste in any application with Ctrl + V\n"
-msgstr ""
-"<b>Exportar lista de registros</b>\n"
-"\n"
-"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:38
-msgid ""
-"<b>Export graphs</b>\n"
-"\n"
-"You can save any graphs in PNG file with right-click on it.\n"
-msgstr ""
-"<b>Exportar gráficos</b>\n"
-"\n"
-"Puedes guardar los gráficos como imagen PNG haciendo clic con el botón derecho sobre el mismo.\n"
-
-#: tryton/gui/window/tips.py:45
-msgid "Tips"
-msgstr "Consejos"
-
-#: tryton/gui/window/tips.py:65
-msgid "_Display a new tip next time"
-msgstr "_Mostrar un nuevo consejo la próxima vez"
-
-#: tryton/gui/window/win_csv.py:59
-msgid "<b>All fields</b>"
-msgstr "<b>Todos los campos</b>"
-
-#: tryton/gui/window/win_csv.py:86
-msgid "_Clear"
-msgstr "_Limpiar"
-
-#: tryton/gui/window/win_csv.py:107
-msgid "<b>Fields selected</b>"
-msgstr "<b>Campos seleccionados</b>"
-
-#: tryton/gui/window/win_csv.py:126
-msgid "CSV Parameters"
-msgstr "Parámetros CSV"
-
-#: tryton/gui/window/win_csv.py:134
-msgid "Delimiter:"
-msgstr "Delimitador:"
-
-#: tryton/gui/window/win_csv.py:148
-msgid "Quote char:"
-msgstr "Entrecomillar cadena:"
-
-#: tryton/gui/window/win_csv.py:157
-msgid "Encoding:"
-msgstr "Codificación:"
-
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
-msgid "Field name"
-msgstr "Nombre del campo"
-
-#: tryton/gui/window/win_export.py:28
-msgid "Export to CSV"
-msgstr "Exportar a CSV"
-
-#: tryton/gui/window/win_export.py:39
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Exportaciones predeterminadas</b>"
-
-#: tryton/gui/window/win_export.py:46
-msgid "Name"
-msgstr "Nombre"
-
-#: tryton/gui/window/win_export.py:60
-msgid "_Save Export"
-msgstr "_Guardar Exportación"
-
-#: tryton/gui/window/win_export.py:69
-msgid "_Delete Export"
-msgstr "_Eliminar Exportación"
-
-#: tryton/gui/window/win_export.py:82
-msgid "Open"
-msgstr "Abrir"
-
-#: tryton/gui/window/win_export.py:87
-msgid "Add _field names"
-msgstr "Añadir nombres de _campo"
-
-#: tryton/gui/window/win_export.py:101
-#, python-format
-msgid "%s (string)"
-msgstr "%s (cadena)"
-
-#: tryton/gui/window/win_export.py:199
-msgid "What is the name of this export?"
-msgstr "¿Cuál es el nombre de esta exportación?"
-
-#: tryton/gui/window/win_export.py:205
-#, python-format
-msgid "Override '%s' definition?"
-msgstr "Sobreescribir '%s' definición?"
-
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "%d registro guardado!"
-
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "%d registros guardados!"
-
-#: tryton/gui/window/win_export.py:329
-#, python-format
-msgid ""
-"Operation failed!\n"
-"Error message:\n"
-"%s"
-msgstr ""
-"¡Ha fallado la operación!\n"
-"Mensaje de error:\n"
-"%s"
-
-#: tryton/gui/window/win_form.py:36
-msgid "Link"
-msgstr "Enlace"
-
-#: tryton/gui/window/win_form.py:128
-msgid "Add"
-msgstr "Añadir"
-
-#: tryton/gui/window/win_form.py:141
-msgid "Remove <Del>"
-msgstr "Eliminar <Supr>"
-
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-msgid "Create a new record <F3>"
-msgstr "Crear un nuevo registro <F3>"
-
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-msgid "Delete selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-msgid "Undelete selected record <Ins>"
-msgstr "Recuperar registro seleccionado <Ins>"
-
-#: tryton/gui/window/win_import.py:25
-msgid "Import from CSV"
-msgstr "Importar desde CSV"
-
-#: tryton/gui/window/win_import.py:32
-msgid "_Auto-Detect"
-msgstr "_Auto-Detectar"
-
-#: tryton/gui/window/win_import.py:43
-msgid "File to Import:"
-msgstr "Archivo a importar:"
-
-#: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
-msgid "Open..."
-msgstr "Abrir..."
-
-#: tryton/gui/window/win_import.py:50
-msgid "Lines to Skip:"
-msgstr "Líneas a Omitir:"
-
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "Primero debe elegir un archivo a importar!"
-
-#: tryton/gui/window/win_import.py:109
-msgid "Error opening CSV file"
-msgstr "Error al abrir el archivo CSV"
-
-#: tryton/gui/window/win_import.py:137
-#, 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:198
-#, python-format
-msgid "%d record imported!"
-msgstr "%d registro importado!"
-
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
-msgstr "%d registros importados!"
-
-#: tryton/gui/window/wizard.py:287
-msgid "Wizard"
-msgstr "Asistente"
-
-#: tryton/gui/window/view_form/screen/screen.py:183
-msgid "ID"
-msgstr "ID"
-
-#: tryton/gui/window/view_form/screen/screen.py:184
-msgid "Creation User"
-msgstr "Creado por Usuario"
-
-#: tryton/gui/window/view_form/screen/screen.py:185
-msgid "Creation Date"
-msgstr "Fecha de Creación"
-
-#: tryton/gui/window/view_form/screen/screen.py:186
-msgid "Modification User"
-msgstr "Modificado por Usuario"
-
-#: tryton/gui/window/view_form/screen/screen.py:187
-msgid "Modification Date"
-msgstr "Fecha de Modificación"
-
-#: tryton/gui/window/view_form/screen/screen.py:710
-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:769
-msgid "Unable to set view tree state"
-msgstr "No se puede fijar la vista de estado del árbol"
-
-#: tryton/gui/window/view_form/screen/screen.py:945
-#, python-format
-msgid "\"%s\" is not valid according to its domain"
-msgstr "\"%s\" no es válido según su dominio"
-
-#: tryton/gui/window/view_form/screen/screen.py:952
-#, python-format
-msgid "\"%s\" is required"
-msgstr "\"%s\" es obligatorio"
-
-#: tryton/gui/window/view_form/screen/screen.py:956
-#, python-format
-msgid "The values of \"%s\" are not valid"
-msgstr "Los valores de \"%s\" no son válidos"
-
-#: tryton/gui/window/view_form/screen/screen.py:1007
-msgid "Pre-validation"
-msgstr "Pre-validación"
-
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
-msgid ":"
-msgstr ":"
-
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Guardar Como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
-msgid "Image Size"
-msgstr "Tamaño de la Imagen"
-
-#: tryton/gui/window/view_form/view/graph.py:119
-msgid "Width:"
-msgstr "Anchura:"
-
-#: tryton/gui/window/view_form/view/graph.py:126
-msgid "Height:"
-msgstr "Altura:"
-
-#: tryton/gui/window/view_form/view/graph.py:137
-msgid "PNG image (*.png)"
-msgstr "Imagen PNG (*.png)"
-
-#: tryton/gui/window/view_form/view/graph.py:159
-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:144
-msgid "F_ilters"
-msgstr "F_iltros"
-
-#: tryton/gui/window/view_form/view/screen_container.py:198
-msgid "Show bookmarks of filters"
-msgstr "Mostrar marcadores de filtros"
-
-#: tryton/gui/window/view_form/view/screen_container.py:359
-msgid "Remove this bookmark"
-msgstr "Eliminar este marcador"
-
-#: tryton/gui/window/view_form/view/screen_container.py:366
-msgid "Bookmark this filter"
-msgstr "Marcar este filtro"
-
-#: tryton/gui/window/view_form/view/screen_container.py:431
-msgid "Bookmark Name:"
-msgstr "Nombre del Marcador:"
-
-#: tryton/gui/window/view_form/view/screen_container.py:539
-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:33
-msgid "Select..."
-msgstr "Seleccionar..."
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
-msgid "Clear"
-msgstr "Limpiar"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
-msgid "All files"
-msgstr "Todos los archivos"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
-msgid "Select"
-msgstr "Seleccionar"
-
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
-msgid "Show plain text"
-msgstr "Mostrar como texto plano"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
-msgid "Add value"
-msgstr "Agregar valor"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
-#, python-format
-msgid "Remove \"%s\""
-msgstr "Remover \"%s\""
-
-#: tryton/gui/window/view_form/view/form_gtk/image.py:49
-msgid "Images"
-msgstr "Imágenes"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
-msgid "Add existing record"
-msgstr "Agregar registro existente"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-msgid "Remove selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
-msgstr "Abrir registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-msgid "Search a record <F2>"
-msgstr "Buscar registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-msgid "Remove selected record"
-msgstr "Eliminar registro seleccionado"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-msgid "Edit selected record <F2>"
-msgstr "Editar registro seleccionado <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
-#, python-format
-msgid "%s%%"
-msgstr "%s%%"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
-msgid "Foreground"
-msgstr "Primer Plano"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
-msgid "Select a color"
-msgstr "Seleccionar un color"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-msgid "Translation"
-msgstr "Traducción"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
-msgid "Edit"
-msgstr "Editar"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
-msgid "Fuzzy"
-msgstr "Dudosa"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-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:258
-msgid "No other language available!"
-msgstr "No hay otro idioma disponible!"
-
-#: tryton/plugins/translation/__init__.py:22
-msgid "Translate view"
-msgstr "Traducir vista"
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo
deleted file mode 100644
index b91cae1..0000000
Binary files a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po b/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
deleted file mode 100644
index 46e07da..0000000
--- a/tryton/data/locale/es_EC/LC_MESSAGES/tryton.po
+++ /dev/null
@@ -1,1937 +0,0 @@
-# Spanish (Ecuador) translations for tryton.
-# 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.
-msgid ""
-msgstr "Content-Type: text/plain; charset=utf-8\n"
-
-#: tryton/config.py:76
-msgid "specify alternate config file"
-msgstr "Especifique un archivo de configuración alternativo"
-
-#: tryton/config.py:79
-msgid "development mode"
-msgstr "Modo desarrollo"
-
-#: tryton/config.py:82
-msgid "logging everything at INFO level"
-msgstr "Registra toda la información con nivel INFO"
-
-#: tryton/config.py:84
-msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr "Indica el nivel de log: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-
-#: tryton/config.py:87
-msgid "specify the login user"
-msgstr "especifique el usuario"
-
-#: tryton/config.py:89
-msgid "specify the server port"
-msgstr "especifique el puerto del servidor"
-
-#: tryton/config.py:91
-msgid "specify the server hostname"
-msgstr "especifique el nombre del servidor"
-
-#: tryton/config.py:95
-msgid "Too much arguments"
-msgstr "Demasiados argumentos"
-
-#: tryton/config.py:98
-#, python-format
-msgid "File \"%s\" not found"
-msgstr "No se encontró el archivo \"%s\""
-
-#: tryton/config.py:136
-#, 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:162
-msgid "Select your action"
-msgstr "Seleccione su acción"
-
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "¡No se ha definido ninguna acción!"
-
-#: tryton/common/common.py:274
-msgid "Tryton Connection"
-msgstr "Conexión a Tryton"
-
-#: tryton/common/common.py:285
-msgid "Server:"
-msgstr "Servidor:"
-
-#: tryton/common/common.py:303
-msgid "Port:"
-msgstr "Puerto:"
-
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
-msgid "Selection"
-msgstr "Selección"
-
-#: tryton/common/common.py:380
-msgid "Your selection:"
-msgstr "Su selección:"
-
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
-msgid "Save As..."
-msgstr "Guardar como..."
-
-#: tryton/common/common.py:642
-msgid "Always ignore this warning."
-msgstr "Ignorar siempre esta advertencia."
-
-#: tryton/common/common.py:647
-msgid "Do you want to proceed?"
-msgstr "¿Desea continuar?"
-
-#: tryton/common/common.py:666
-msgid "Confirmation"
-msgstr "Confirmación"
-
-#: tryton/common/common.py:772 tryton/common/common.py:1080
-msgid "Concurrency Exception"
-msgstr "Excepción de concurrencia"
-
-#: tryton/common/common.py:786
-msgid ""
-"<b>Write Concurrency Warning:</b>\n"
-"\n"
-"This record has been modified while you were editing it.\n"
-" Choose:\n"
-"    - \"Cancel\" to cancel saving;\n"
-"    - \"Compare\" to see the modified version;\n"
-"    - \"Write Anyway\" to save your current version."
-msgstr ""
-"<b>Aviso de concurrencia de escritura:</b>\n"
-"\n"
-"Este registro ha sido modificado mientras lo editaba.\n"
-"  Elija:\n"
-"   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada;\n"
-"   - \"Guardar de todas formas\" para guardar sus cambios."
-
-#: tryton/common/common.py:795
-msgid "Compare"
-msgstr "Comparar"
-
-#: tryton/common/common.py:800
-msgid "Write Anyway"
-msgstr "Guardar de todas formas"
-
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
-msgid "Error"
-msgstr "Error"
-
-#: tryton/common/common.py:830
-msgid "Report Bug"
-msgstr "Informar de un error"
-
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "¡Error de aplicación!"
-
-#: tryton/common/common.py:860
-msgid "Error: "
-msgstr "Error: "
-
-#: tryton/common/common.py:880
-#, 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:910
-msgid "Bug Tracker"
-msgstr "Seguimiento de errores"
-
-#: tryton/common/common.py:928
-msgid "User:"
-msgstr "Usuario:"
-
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
-msgid "Password:"
-msgstr "Contraseña:"
-
-#: tryton/common/common.py:991
-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 este asunto."
-
-#: tryton/common/common.py:1002
-msgid "Created new bug with ID "
-msgstr "Se creó un nuevo error con ID "
-
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
-msgid ""
-"Connection error!\n"
-"Bad username or password!"
-msgstr ""
-"Error de conexión!\n"
-"¡Nombre de usuario o contraseña incorrectos!"
-
-#: tryton/common/common.py:1015
-msgid "Exception:"
-msgstr "Excepción:"
-
-#: tryton/common/common.py:1032
-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!\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:1034
-msgid "Security risk!"
-msgstr "¡Riesgo de seguridad!"
-
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
-msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
-msgstr ""
-"¡Error de conexión!\n"
-"¡No ha sido posible conectarse al servidor!"
-
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "¡Error de red!"
-
-#: tryton/common/completion.py:22
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
-
-#: tryton/common/completion.py:24
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
-
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
-msgid "Value"
-msgstr "Valor"
-
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
-msgid "Displayed value"
-msgstr "Valor mostrado"
-
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
-msgid "Format"
-msgstr "Formato"
-
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
-msgid "Display format"
-msgstr "Formato a mostrar"
-
-#: tryton/common/datetime_.py:61
-msgid "Open the calendar"
-msgstr "Abrir el calendario"
-
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
-msgid "Date Format"
-msgstr "Formato de fecha"
-
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
-msgid "Displayed date format"
-msgstr "Formato de fecha mostrado"
-
-#: tryton/common/domain_parser.py:235
-msgid "y"
-msgstr "s"
-
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
-
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadero"
-
-#: tryton/common/domain_parser.py:235
-msgid "t"
-msgstr "v"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadero"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "False"
-msgstr "Falso"
-
-#: tryton/common/popup_menu.py:81
-msgid "Edit..."
-msgstr "Editar..."
-
-#: tryton/common/popup_menu.py:86
-msgid "Attachments..."
-msgstr "Adjuntos..."
-
-#: tryton/common/popup_menu.py:90
-msgid "Notes..."
-msgstr "Notas..."
-
-#: tryton/common/popup_menu.py:100
-msgid "Actions..."
-msgstr "Acciones..."
-
-#: tryton/common/popup_menu.py:101
-msgid "Relate..."
-msgstr "Relacionado..."
-
-#: tryton/common/popup_menu.py:102
-msgid "Report..."
-msgstr "Informe..."
-
-#: tryton/common/popup_menu.py:103
-msgid "E-Mail..."
-msgstr "Correo electrónico..."
-
-#: tryton/common/popup_menu.py:104
-msgid "Print..."
-msgstr "Imprimir..."
-
-#: tryton/common/timedelta.py:26
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/timedelta.py:27
-msgid "M"
-msgstr "M"
-
-#: tryton/common/timedelta.py:28
-msgid "w"
-msgstr "S"
-
-#: tryton/common/timedelta.py:29
-msgid "d"
-msgstr "d"
-
-#: tryton/common/timedelta.py:30
-msgid "h"
-msgstr "h"
-
-#: tryton/common/timedelta.py:31
-msgid "m"
-msgstr "m"
-
-#: tryton/common/timedelta.py:32
-msgid "s"
-msgstr "s"
-
-#: tryton/gui/main.py:218
-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:373
-msgid "No result found."
-msgstr "No se han encontrado resultados."
-
-#: tryton/gui/main.py:395
-msgid "_Connect..."
-msgstr "_Conectar..."
-
-#: tryton/gui/main.py:404
-msgid "_Disconnect"
-msgstr "_Desconectar"
-
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de datos"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nueva base de datos..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar base de datos..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Realizar _copia de seguridad de la base de datos..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Eliminar base de datos..."
-
-#: tryton/gui/main.py:461
-msgid "_Quit..."
-msgstr "_Salir..."
-
-#: tryton/gui/main.py:476
-msgid "_Preferences..."
-msgstr "_Preferencias..."
-
-#: tryton/gui/main.py:487
-msgid "_Menu Reload"
-msgstr "_Recargar menú"
-
-#: tryton/gui/main.py:496
-msgid "_Menu Toggle"
-msgstr "Conmutar _menú"
-
-#: tryton/gui/main.py:503
-msgid "_Global Search"
-msgstr "Búsqueda _global"
-
-#: tryton/gui/main.py:518
-msgid "_Toolbar"
-msgstr "Barra de herramien_tas"
-
-#: tryton/gui/main.py:526
-msgid "_Default"
-msgstr "Por _defecto"
-
-#: tryton/gui/main.py:536
-msgid "_Text and Icons"
-msgstr "_Texto e iconos"
-
-#: tryton/gui/main.py:546
-msgid "_Icons"
-msgstr "_Iconos"
-
-#: tryton/gui/main.py:555
-msgid "_Text"
-msgstr "_Texto"
-
-#: tryton/gui/main.py:564
-msgid "_Menubar"
-msgstr "Barra de _menú"
-
-#: tryton/gui/main.py:572
-msgid "Change Accelerators"
-msgstr "Cambiar teclas rápidas"
-
-#: tryton/gui/main.py:580
-msgid "_Mode"
-msgstr "_Modo"
-
-#: tryton/gui/main.py:588
-msgid "_Normal"
-msgstr "_Normal"
-
-#: tryton/gui/main.py:596
-msgid "_PDA"
-msgstr "_PDA"
-
-#: tryton/gui/main.py:603
-msgid "_Form"
-msgstr "_Formulario"
-
-#: tryton/gui/main.py:612
-msgid "Save Width/Height"
-msgstr "Guardar ancho/alto"
-
-#: tryton/gui/main.py:623
-msgid "Save Tree State"
-msgstr "Guardar estado de árbol"
-
-#: tryton/gui/main.py:635
-msgid "Fast Tabbing"
-msgstr "Tabulación rápida"
-
-#: tryton/gui/main.py:645
-msgid "Spell Checking"
-msgstr "Corrección ortográfica"
-
-#: tryton/gui/main.py:655
-msgid "_Previous Tab"
-msgstr "_Pestaña anterior"
-
-#: tryton/gui/main.py:661
-msgid "_Next Tab"
-msgstr "_Siguiente pestaña"
-
-#: tryton/gui/main.py:667
-msgid "Search Limit..."
-msgstr "Límite de búsqueda..."
-
-#: tryton/gui/main.py:673
-msgid "_Email..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/main.py:681
-msgid "_Save Options"
-msgstr "_Guardar opciones"
-
-#: tryton/gui/main.py:693
-msgid "_Tips..."
-msgstr "Conse_jos..."
-
-#: tryton/gui/main.py:702
-msgid "_Keyboard Shortcuts..."
-msgstr "_Atajos de teclado..."
-
-#: tryton/gui/main.py:711
-msgid "_About..."
-msgstr "_Acerca de..."
-
-#: tryton/gui/main.py:762
-msgid "Manage Favorites"
-msgstr "_Administrar favoritos"
-
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
-msgid "Search"
-msgstr "Buscar"
-
-#: tryton/gui/main.py:914
-msgid ""
-"The following action requires to close all tabs.\n"
-"Do you want to continue?"
-msgstr ""
-"La acción seleccionada requiere cerrar todas las pestañas. \n"
-"¿Desea continuar?"
-
-#: tryton/gui/main.py:1173
-msgid "Close Tab"
-msgstr "Cerrar pestaña"
-
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Va a eliminar una base de datos de Tryton.\n"
-"¿Está seguro que quiere continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "¡Acceso denegado!"
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "¡Falló la eliminación de la base de datos!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "¡La base de datos se ha eliminado satisfactoriamente!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir una copia de seguridad para restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "¡La base de datos está protegida con contraseña!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr ""
-"La restauración de la base de datos ha fallado con el mensaje de error:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "¡La restauración de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "¡La base de datos se ha restaurado correctamente!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "¡La extracción de la base de datos ha fallado!"
-
-#: tryton/gui/main.py:1395
-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:83
-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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
-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:52
-msgid "_New"
-msgstr "_Nuevo"
-
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
-#: tryton/gui/window/win_form.py:68
-msgid "_Save"
-msgstr "_Guardar"
-
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
-msgid "_Switch View"
-msgstr "Cambiar Vi_sta"
-
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
-msgid "_Reload/Undo"
-msgstr "_Recargar/Deshacer"
-
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
-msgid "_Delete..."
-msgstr "_Eliminar..."
-
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
-msgid "_Close Tab"
-msgstr "_Cerrar pestaña"
-
-#: tryton/gui/window/dbcreate.py:29
-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 computador. Pulse «Cambiar» "
-"para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "¡No hay conexión!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"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"
-"Pulse en «Cambiar» para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crear nueva base de datos"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rear"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crear la nueva base de datos."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuración del servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexión con el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 computador. Pulse en «Cambiar» para "
-"cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambiar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurar la conexión con el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contraseña del servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Nueva configuración de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nombre de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma por defecto:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contraseña del administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Elija una contraseña para el usuario administrador de la nueva base de datos. Podrá acceder a la base de datos con dichas credenciales:\n"
-"Nombre de usuario: admin\n"
-"Contraseña: <La contraseña que introduzca aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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 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 "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 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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_csv.py:68
-msgid "_Add"
-msgstr "_Añadir"
-
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
-msgid "_Remove"
-msgstr "_Eliminar"
-
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crear"
-
-#: tryton/gui/window/dblogin.py:101
-msgid "Fetching databases list"
-msgstr "Recuperando lista de bases de datos"
-
-#: tryton/gui/window/dblogin.py:119
-msgid "Username:"
-msgstr "Nombre de usuario:"
-
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No se ha podido conectar al servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-msgid "Incompatible version of the server"
-msgstr "El cliente no es compatible con la versión del servidor"
-
-#: tryton/gui/window/dblogin.py:359
-msgid "Login"
-msgstr "Usuario"
-
-#: tryton/gui/window/dblogin.py:366
-msgid "_Cancel"
-msgstr "_Cancelar"
-
-#: tryton/gui/window/dblogin.py:371
-msgid "Cancel connection to the Tryton server"
-msgstr "Cancelar conexión al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:373
-msgid "C_onnect"
-msgstr "C_onectar"
-
-#: tryton/gui/window/dblogin.py:378
-msgid "Connect the Tryton server"
-msgstr "Conectar al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:406
-msgid "Profile:"
-msgstr "Perfil:"
-
-#: tryton/gui/window/dblogin.py:410
-msgid "_Manage profiles"
-msgstr "_Administrar perfiles"
-
-#: tryton/gui/window/dblogin.py:420
-msgid "Host / Database information"
-msgstr "Información del Servidor / Base de datos"
-
-#: tryton/gui/window/dblogin.py:459
-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:122
-msgid "File to Restore:"
-msgstr "Archivo a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Elija el nombre de la base de datos a restaurar.\n"
-"Los caracteres permitidos son alfanuméricos o _ (subrayado)\n"
-"¡Evite todos los acentos, espacios, o caracteres especiales! \n"
-"Ejemplo: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nombre de la nueva base de datos:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualizar base de datos:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-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:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-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:38
-msgid "Legend of Available Placeholders:"
-msgstr "Leyenda de palabras clave disponibles:"
-
-#: tryton/gui/window/email.py:45
-msgid "To:"
-msgstr "Para:"
-
-#: tryton/gui/window/email.py:49
-msgid "CC:"
-msgstr "CC:"
-
-#: tryton/gui/window/email.py:53
-msgid "Subject:"
-msgstr "Asunto:"
-
-#: tryton/gui/window/email.py:57
-msgid "Body:"
-msgstr "Mensaje:"
-
-#: tryton/gui/window/email.py:61
-msgid "Attachment:"
-msgstr "Adjunto:"
-
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
-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:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
-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:48
-msgid "Note(0)"
-msgstr "Nota(0)"
-
-#: tryton/gui/window/form.py:49
-msgid "Add a note to the record"
-msgstr "Agregar una nota al registro"
-
-#: tryton/gui/window/form.py:58
-msgid "_Duplicate"
-msgstr "_Duplicar"
-
-#: tryton/gui/window/form.py:63
-msgid "_Previous"
-msgstr "_Anterior"
-
-#: tryton/gui/window/form.py:65
-msgid "_Next"
-msgstr "Sig_uiente"
-
-#: tryton/gui/window/form.py:66
-msgid "_Search"
-msgstr "_Buscar"
-
-#: tryton/gui/window/form.py:67
-msgid "View _Logs..."
-msgstr "Ver _Registro..."
-
-#: tryton/gui/window/form.py:68
-msgid "Show revisions..."
-msgstr "Mostrar versiones..."
-
-#: tryton/gui/window/form.py:73
-msgid "A_ttachments..."
-msgstr "Adjun_tos..."
-
-#: tryton/gui/window/form.py:75
-msgid "_Notes..."
-msgstr "_Notas..."
-
-#: tryton/gui/window/form.py:76
-msgid "_Actions..."
-msgstr "_Acciones..."
-
-#: tryton/gui/window/form.py:78
-msgid "_Relate..."
-msgstr "_Relacionado..."
-
-#: tryton/gui/window/form.py:81
-msgid "_Report..."
-msgstr "_Informes..."
-
-#: tryton/gui/window/form.py:83
-msgid "_E-Mail..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/window/form.py:85
-msgid "_Print..."
-msgstr "Im_primir..."
-
-#: tryton/gui/window/form.py:88
-msgid "_Export Data..."
-msgstr "_Exportar datos..."
-
-#: tryton/gui/window/form.py:90
-msgid "_Import Data..."
-msgstr "_Importar datos..."
-
-#: tryton/gui/window/form.py:210
-#, python-format
-msgid "Attachment(%d)"
-msgstr "Adjunto(%d)"
-
-#: tryton/gui/window/form.py:236
-#, python-format
-msgid "Note(%d)"
-msgstr "Nota(%d)"
-
-#: tryton/gui/window/form.py:258
-msgid "You have to select one record."
-msgstr "¡Debe seleccionar un registro!"
-
-#: tryton/gui/window/form.py:262
-msgid "ID:"
-msgstr "ID:"
-
-#: tryton/gui/window/form.py:263
-msgid "Creation User:"
-msgstr "Creado por usuario:"
-
-#: tryton/gui/window/form.py:264
-msgid "Creation Date:"
-msgstr "Fecha de creación:"
-
-#: tryton/gui/window/form.py:265
-msgid "Latest Modification by:"
-msgstr "Última modificación por:"
-
-#: tryton/gui/window/form.py:266
-msgid "Latest Modification Date:"
-msgstr "Fecha de última modificación:"
-
-#: tryton/gui/window/form.py:285
-msgid "Model:"
-msgstr "Modelo:"
-
-#: tryton/gui/window/form.py:345
-msgid "Are you sure to remove this record?"
-msgstr "¿Está seguro que quiere eliminar este registro?"
-
-#: tryton/gui/window/form.py:347
-msgid "Are you sure to remove those records?"
-msgstr "¿Está seguro que quiere eliminar estos registros?"
-
-#: tryton/gui/window/form.py:350
-msgid "Records not removed."
-msgstr "Los registros no se han eliminado."
-
-#: tryton/gui/window/form.py:352
-msgid "Records removed."
-msgstr "Registros eliminados."
-
-#: tryton/gui/window/form.py:380
-msgid "Working now on the duplicated record(s)."
-msgstr "Ahora está trabajando en registro(s) duplicado(s)."
-
-#: tryton/gui/window/form.py:390
-msgid "Record saved."
-msgstr "Registro guardado."
-
-#: tryton/gui/window/form.py:492
-msgid " of "
-msgstr " de "
-
-#: tryton/gui/window/form.py:513
-msgid ""
-"This record has been modified\n"
-"do you want to save it?"
-msgstr ""
-"Este registro ha sido modificado.\n"
-"¿Desea guardarlo?"
-
-#: tryton/gui/window/form.py:566
-msgid "Action"
-msgstr "Acción"
-
-#: tryton/gui/window/form.py:566
-msgid "Launch action"
-msgstr "Lanzar acción"
-
-#: tryton/gui/window/form.py:567
-msgid "Relate"
-msgstr "Relacionado"
-
-#: tryton/gui/window/form.py:567
-msgid "Open related records"
-msgstr "Abrir registros relacionados"
-
-#: tryton/gui/window/form.py:569
-msgid "Report"
-msgstr "Informes"
-
-#: tryton/gui/window/form.py:569
-msgid "Open report"
-msgstr "Abrir informe"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail"
-msgstr "Email"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail report"
-msgstr "Informe por email"
-
-#: tryton/gui/window/form.py:571
-msgid "Print"
-msgstr "Imprimir"
-
-#: tryton/gui/window/form.py:571
-msgid "Print report"
-msgstr "Imprimir informe"
-
-#: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
-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:19
-msgid "Revision"
-msgstr "Versión"
-
-#: tryton/gui/window/revision.py:28
-msgid "Select a revision"
-msgstr "Seleccione una versión"
-
-#: tryton/gui/window/revision.py:31
-msgid "Revision:"
-msgstr "Versión:"
-
-#: tryton/gui/window/shortcuts.py:17
-msgid "Keyboard Shortcuts"
-msgstr "Atajos de teclado"
-
-#: 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 "Widgets de edición"
-
-#: tryton/gui/window/shortcuts.py:47
-msgid "Move Cursor"
-msgstr "Mover cursor"
-
-#: tryton/gui/window/shortcuts.py:48
-msgid "Move to right"
-msgstr "Mover a la derecha"
-
-#: tryton/gui/window/shortcuts.py:49
-msgid "Move to left"
-msgstr "Mover a la izquierda"
-
-#: tryton/gui/window/shortcuts.py:50
-msgid "Move up"
-msgstr "Mover hacia arriba"
-
-#: tryton/gui/window/shortcuts.py:51
-msgid "Move down"
-msgstr "Mover hacia abajo"
-
-#: tryton/gui/window/shortcuts.py:52
-msgid "Move up of one page"
-msgstr "Mover una página hacia arriba"
-
-#: tryton/gui/window/shortcuts.py:53
-msgid "Move down of one page"
-msgstr "Mover una página hacia abajo"
-
-#: tryton/gui/window/shortcuts.py:54
-msgid "Move to top"
-msgstr "Mover al principio"
-
-#: tryton/gui/window/shortcuts.py:55
-msgid "Move to bottom"
-msgstr "Mover al final"
-
-#: tryton/gui/window/shortcuts.py:56
-msgid "Move to parent"
-msgstr "Mover al padre"
-
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
-msgid "Select all"
-msgstr "Seleccionar todo"
-
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
-msgid "Unselect all"
-msgstr "Deseleccionar todo"
-
-#: tryton/gui/window/shortcuts.py:62
-msgid "Select parent"
-msgstr "Seleccionar padre"
-
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
-msgid "Select/Activate current row"
-msgstr "Seleccionar/Activar fila actual"
-
-#: tryton/gui/window/shortcuts.py:67
-msgid "Toggle selection"
-msgstr "Conmutar selección"
-
-#: tryton/gui/window/shortcuts.py:68
-msgid "Expand/Collapse"
-msgstr "Expandir/Contraer"
-
-#: tryton/gui/window/shortcuts.py:69
-msgid "Expand row"
-msgstr "Expandir fila"
-
-#: tryton/gui/window/shortcuts.py:70
-msgid "Collapse row"
-msgstr "Contraer fila"
-
-#: tryton/gui/window/shortcuts.py:71
-msgid "Toggle row"
-msgstr "Conmutar fila"
-
-#: tryton/gui/window/shortcuts.py:72
-msgid "Expand all rows"
-msgstr "Expandir todas las filas"
-
-#: tryton/gui/window/shortcuts.py:73
-msgid "Collapse all rows"
-msgstr "Contraer todas las filas"
-
-#: tryton/gui/window/shortcuts.py:76
-msgid "Tree view"
-msgstr "Vista de árbol"
-
-#: tryton/gui/window/tips.py:17
-msgid ""
-"<b>Welcome to Tryton</b>\n"
-"\n"
-"\n"
-msgstr ""
-"<b>Bienvenido a Tryton</b>\n"
-"\n"
-"\n"
-
-#: tryton/gui/window/tips.py:21
-msgid ""
-"<b>Do you know Triton, one of the namesakes for our project?</b>\n"
-"\n"
-"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
-"largest moon of the planet Neptune, discovered on October 10, 1846\n"
-"by William Lassell. It is the only large moon in the Solar System\n"
-"with a retrograde orbit, which is an orbit in the opposite direction\n"
-"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
-"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
-"the mass known to orbit Neptune, including the planet's rings and twelve\n"
-"other known moons. It is also more massive than all the Solar System's\n"
-"159 known smaller moons combined.\n"
-msgstr ""
-"<b>¿Conoce Triton? uno de los apelativos de nuestro proyecto</b>\n"
-"\n"
-"Triton (pronunciado /ˈtraɪtən/ TRYE-tən, o en griego Τρίτων) es la\n"
-"luna más grande del planeta Neptuno, descubierta el 10 de Octubre de\n"
-"1846 por William Lassell. Es la única luna grande del Sistema Solar\n"
-"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"
-"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:33
-msgid ""
-"<b>Export list records</b>\n"
-"\n"
-"You can copy records from any list with Ctrl + C\n"
-"and paste in any application with Ctrl + V\n"
-msgstr ""
-"<b>Exportar lista de registros</b>\n"
-"\n"
-"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:38
-msgid ""
-"<b>Export graphs</b>\n"
-"\n"
-"You can save any graphs in PNG file with right-click on it.\n"
-msgstr ""
-"<b>Exportar gráficos</b>\n"
-"\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:45
-msgid "Tips"
-msgstr "Consejos"
-
-#: tryton/gui/window/tips.py:65
-msgid "_Display a new tip next time"
-msgstr "_Mostrar un nuevo consejo la próxima vez"
-
-#: tryton/gui/window/win_csv.py:59
-msgid "<b>All fields</b>"
-msgstr "<b>Todos los campos</b>"
-
-#: tryton/gui/window/win_csv.py:86
-msgid "_Clear"
-msgstr "_Limpiar"
-
-#: tryton/gui/window/win_csv.py:107
-msgid "<b>Fields selected</b>"
-msgstr "<b>Campos seleccionados</b>"
-
-#: tryton/gui/window/win_csv.py:126
-msgid "CSV Parameters"
-msgstr "Parámetros CSV"
-
-#: tryton/gui/window/win_csv.py:134
-msgid "Delimiter:"
-msgstr "Delimitador:"
-
-#: tryton/gui/window/win_csv.py:148
-msgid "Quote char:"
-msgstr "Delimitador de texto:"
-
-#: tryton/gui/window/win_csv.py:157
-msgid "Encoding:"
-msgstr "Codificación:"
-
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
-msgid "Field name"
-msgstr "Nombre del campo"
-
-#: tryton/gui/window/win_export.py:28
-msgid "Export to CSV"
-msgstr "Exportar a CSV"
-
-#: tryton/gui/window/win_export.py:39
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Exportaciones predefinidas</b>"
-
-#: tryton/gui/window/win_export.py:46
-msgid "Name"
-msgstr "Nombre"
-
-#: tryton/gui/window/win_export.py:60
-msgid "_Save Export"
-msgstr "_Guardar exportación"
-
-#: tryton/gui/window/win_export.py:69
-msgid "_Delete Export"
-msgstr "_Eliminar exportación"
-
-#: tryton/gui/window/win_export.py:82
-msgid "Open"
-msgstr "Abrir"
-
-#: tryton/gui/window/win_export.py:87
-msgid "Add _field names"
-msgstr "Añadir nombres de _campo"
-
-#: tryton/gui/window/win_export.py:101
-#, python-format
-msgid "%s (string)"
-msgstr "%s (cadena)"
-
-#: tryton/gui/window/win_export.py:199
-msgid "What is the name of this export?"
-msgstr "¿Cuál es el nombre de esta exportación?"
-
-#: tryton/gui/window/win_export.py:205
-#, python-format
-msgid "Override '%s' definition?"
-msgstr "¿Sobreescribir la definición de '%s'?"
-
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "Se ha guardado %d registro."
-
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "Se han guardado %d registros."
-
-#: tryton/gui/window/win_export.py:329
-#, python-format
-msgid ""
-"Operation failed!\n"
-"Error message:\n"
-"%s"
-msgstr ""
-"¡Ha fallado la operación!\n"
-"Mensaje de error:\n"
-"%s"
-
-#: tryton/gui/window/win_form.py:36
-msgid "Link"
-msgstr "Enlace"
-
-#: tryton/gui/window/win_form.py:128
-msgid "Add"
-msgstr "Añadir"
-
-#: tryton/gui/window/win_form.py:141
-msgid "Remove <Del>"
-msgstr "Eliminar <Supr>"
-
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-msgid "Create a new record <F3>"
-msgstr "Crear un nuevo registro <F3>"
-
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-msgid "Delete selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-msgid "Undelete selected record <Ins>"
-msgstr "Recuperar registro seleccionado <Ins>"
-
-#: tryton/gui/window/win_import.py:25
-msgid "Import from CSV"
-msgstr "Importar desde CSV"
-
-#: tryton/gui/window/win_import.py:32
-msgid "_Auto-Detect"
-msgstr "_Auto-Detectar"
-
-#: tryton/gui/window/win_import.py:43
-msgid "File to Import:"
-msgstr "Archivo a importar:"
-
-#: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
-msgid "Open..."
-msgstr "Abrir..."
-
-#: tryton/gui/window/win_import.py:50
-msgid "Lines to Skip:"
-msgstr "Líneas a omitir:"
-
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "¡Primero debe seleccionar un archivo a importar!"
-
-#: tryton/gui/window/win_import.py:109
-msgid "Error opening CSV file"
-msgstr "Error al abrir el archivo CSV"
-
-#: tryton/gui/window/win_import.py:137
-#, 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:198
-#, python-format
-msgid "%d record imported!"
-msgstr "¡%d registro importado!"
-
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
-msgstr "¡%d registros importados!"
-
-#: tryton/gui/window/wizard.py:287
-msgid "Wizard"
-msgstr "Asistente"
-
-#: tryton/gui/window/view_form/screen/screen.py:183
-msgid "ID"
-msgstr "ID"
-
-#: tryton/gui/window/view_form/screen/screen.py:184
-msgid "Creation User"
-msgstr "Creado por usuario"
-
-#: tryton/gui/window/view_form/screen/screen.py:185
-msgid "Creation Date"
-msgstr "Fecha de creación"
-
-#: tryton/gui/window/view_form/screen/screen.py:186
-msgid "Modification User"
-msgstr "Modificado por usuario"
-
-#: tryton/gui/window/view_form/screen/screen.py:187
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#: tryton/gui/window/view_form/screen/screen.py:710
-msgid "Unable to get view tree state"
-msgstr "No se puede obtener el estado de la vista de árbol"
-
-#: tryton/gui/window/view_form/screen/screen.py:769
-msgid "Unable to set view tree state"
-msgstr "No se puede establecer el estado de la vista de árbol"
-
-#: tryton/gui/window/view_form/screen/screen.py:945
-#, python-format
-msgid "\"%s\" is not valid according to its domain"
-msgstr "\"%s\" no es válido de acuerdo a su dominio"
-
-#: tryton/gui/window/view_form/screen/screen.py:952
-#, python-format
-msgid "\"%s\" is required"
-msgstr "Se requiere \"%s\""
-
-#: tryton/gui/window/view_form/screen/screen.py:956
-#, python-format
-msgid "The values of \"%s\" are not valid"
-msgstr "Los valores de \"%s\" no son válidos"
-
-#: tryton/gui/window/view_form/screen/screen.py:1007
-msgid "Pre-validation"
-msgstr "Prevalidación"
-
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
-msgid ":"
-msgstr ":"
-
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Guardar como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
-msgid "Image Size"
-msgstr "Tamaño de la imagen"
-
-#: tryton/gui/window/view_form/view/graph.py:119
-msgid "Width:"
-msgstr "Anchura:"
-
-#: tryton/gui/window/view_form/view/graph.py:126
-msgid "Height:"
-msgstr "Altura:"
-
-#: tryton/gui/window/view_form/view/graph.py:137
-msgid "PNG image (*.png)"
-msgstr "Imagen PNG (*.png)"
-
-#: tryton/gui/window/view_form/view/graph.py:159
-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:144
-msgid "F_ilters"
-msgstr "F_iltros"
-
-#: tryton/gui/window/view_form/view/screen_container.py:198
-msgid "Show bookmarks of filters"
-msgstr "Muestra las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:359
-msgid "Remove this bookmark"
-msgstr "Eliminar de las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:366
-msgid "Bookmark this filter"
-msgstr "Guardar como búsqueda favorita"
-
-#: tryton/gui/window/view_form/view/screen_container.py:431
-msgid "Bookmark Name:"
-msgstr "Nombre de la búsqueda favorita:"
-
-#: tryton/gui/window/view_form/view/screen_container.py:539
-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:33
-msgid "Select..."
-msgstr "Seleccionar…"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
-msgid "Clear"
-msgstr "Limpiar"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
-msgid "All files"
-msgstr "Todos los archivos"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
-msgid "Select"
-msgstr "Seleccionar"
-
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
-msgid "Show plain text"
-msgstr "Mostrar como texto plano"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
-msgid "Add value"
-msgstr "Añadir un valor"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
-#, python-format
-msgid "Remove \"%s\""
-msgstr "Eliminar \"%s\""
-
-#: tryton/gui/window/view_form/view/form_gtk/image.py:49
-msgid "Images"
-msgstr "Imágenes"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
-msgid "Add existing record"
-msgstr "Añadir un registro existente"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-msgid "Remove selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
-msgstr "Abrir registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-msgid "Search a record <F2>"
-msgstr "Buscar registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-msgid "Remove selected record"
-msgstr "Eliminar registro seleccionado"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-msgid "Edit selected record <F2>"
-msgstr "Editar registro seleccionado <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
-#, python-format
-msgid "%s%%"
-msgstr "%s%%"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
-msgid "Foreground"
-msgstr "Color de texto"
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
-msgid "Select a color"
-msgstr "Seleccionar un color"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-msgid "Translation"
-msgstr "Traducción"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
-msgid "Edit"
-msgstr "Editar"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
-msgid "Fuzzy"
-msgstr "Confuso"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-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:258
-msgid "No other language available!"
-msgstr "¡No hay otro idioma disponible!"
-
-#: tryton/plugins/translation/__init__.py:22
-msgid "Translate view"
-msgstr "Traducir vista"
diff --git a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 7e46013..0000000
Binary files a/tryton/data/locale/es_ES/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 93d2028..0000000
Binary files a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po b/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
deleted file mode 100644
index bf8031b..0000000
--- a/tryton/data/locale/es_MX/LC_MESSAGES/tryton.po
+++ /dev/null
@@ -1,1948 +0,0 @@
-# Translations template for tryton.
-# Copyright (C) 2016 Tryton
-# This file is distributed under the same license as the tryton project.
-# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
-# 
-msgid ""
-msgstr "Content-Type: text/plain; charset=utf-8\n"
-
-#: tryton/config.py:76
-msgid "specify alternate config file"
-msgstr "Usar archivo de configuración alterno"
-
-#: tryton/config.py:79
-msgid "development mode"
-msgstr "Modo de desarrollo"
-
-#: tryton/config.py:82
-msgid "logging everything at INFO level"
-msgstr "Registrando todo a nivel INFO"
-
-#: tryton/config.py:84
-msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
-msgstr ""
-"indique el nivel de registro: DEBUG (revisión), INFO (normal), WARNING "
-"(advertencia), ERROR (error), CRITICAL (crítico)"
-
-#: tryton/config.py:87
-msgid "specify the login user"
-msgstr "Indique el usuario"
-
-#: tryton/config.py:89
-msgid "specify the server port"
-msgstr "Indique el puerto del servidor"
-
-#: tryton/config.py:91
-msgid "specify the server hostname"
-msgstr "Indique el nombre del servidor"
-
-#: tryton/config.py:95
-msgid "Too much arguments"
-msgstr "Demasiados argumentos"
-
-#: tryton/config.py:98
-#, python-format
-msgid "File \"%s\" not found"
-msgstr "El archivo «%s» no se ha encontrado"
-
-#: tryton/config.py:136
-#, 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:162
-msgid "Select your action"
-msgstr "Seleccione su acción"
-
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "No se ha definido ninguna acción."
-
-#: tryton/common/common.py:274
-msgid "Tryton Connection"
-msgstr "Conexión a Tryton"
-
-#: tryton/common/common.py:285
-msgid "Server:"
-msgstr "Servidor:"
-
-#: tryton/common/common.py:303
-msgid "Port:"
-msgstr "Puerto:"
-
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
-msgid "Selection"
-msgstr "Selección"
-
-#: tryton/common/common.py:380
-msgid "Your selection:"
-msgstr "Su selección:"
-
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
-msgid "Save As..."
-msgstr "Guardar como..."
-
-#: tryton/common/common.py:642
-msgid "Always ignore this warning."
-msgstr "Ignorar siempre esta advertencia."
-
-#: tryton/common/common.py:647
-msgid "Do you want to proceed?"
-msgstr "¿Desea continuar?"
-
-#: tryton/common/common.py:666
-msgid "Confirmation"
-msgstr "Confirmación"
-
-#: tryton/common/common.py:772 tryton/common/common.py:1080
-msgid "Concurrency Exception"
-msgstr "Excepción de concurrencia"
-
-#: tryton/common/common.py:786
-msgid ""
-"<b>Write Concurrency Warning:</b>\n"
-"\n"
-"This record has been modified while you were editing it.\n"
-" Choose:\n"
-"    - \"Cancel\" to cancel saving;\n"
-"    - \"Compare\" to see the modified version;\n"
-"    - \"Write Anyway\" to save your current version."
-msgstr ""
-"<b>Aviso de concurrencia de escritura:</b>\n"
-"\n"
-"Este registro ha sido modificado mientras lo editaba.\n"
-"  Elija:\n"
-"   - \"Cancelar\" para no guardar;\n"
-"   - \"Comparar\" para ver la versión modificada:\n"
-"   - \"Guardar de todas formas\" para guardar sus cambios."
-
-#: tryton/common/common.py:795
-msgid "Compare"
-msgstr "Comparar"
-
-#: tryton/common/common.py:800
-msgid "Write Anyway"
-msgstr "Guardar de todas formas"
-
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
-msgid "Error"
-msgstr "Error"
-
-#: tryton/common/common.py:830
-msgid "Report Bug"
-msgstr "Informar de un error"
-
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "Error de aplicación."
-
-#: tryton/common/common.py:860
-msgid "Error: "
-msgstr "Error: "
-
-#: tryton/common/common.py:880
-#, 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:910
-msgid "Bug Tracker"
-msgstr "Seguimiento de errores"
-
-#: tryton/common/common.py:928
-msgid "User:"
-msgstr "Usuario:"
-
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
-msgid "Password:"
-msgstr "Contraseña:"
-
-#: tryton/common/common.py:991
-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."
-
-#: tryton/common/common.py:1002
-msgid "Created new bug with ID "
-msgstr "Se creó un nuevo error con identificador"
-
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
-msgid ""
-"Connection error!\n"
-"Bad username or password!"
-msgstr ""
-"Error de conexión.\n"
-"Nombre de usuario o contraseña incorrectos."
-
-#: tryton/common/common.py:1015
-msgid "Exception:"
-msgstr "Excepción:"
-
-#: tryton/common/common.py:1032
-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. \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:1034
-msgid "Security risk!"
-msgstr "Riesgo de seguridad."
-
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
-msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
-msgstr ""
-"Error de conexión.\n"
-"No ha sido posible conectarse al servidor."
-
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "Error de red."
-
-#: tryton/common/completion.py:22
-msgid "<i>Search...</i>"
-msgstr "<i>Buscar...</i>"
-
-#: tryton/common/completion.py:24
-msgid "<i>Create...</i>"
-msgstr "<i>Crear...</i>"
-
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
-msgid "Value"
-msgstr "Valor"
-
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
-msgid "Displayed value"
-msgstr "Valor a mostrar"
-
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
-msgid "Format"
-msgstr "Format"
-
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
-msgid "Display format"
-msgstr "Format a mostrar"
-
-#: tryton/common/datetime_.py:61
-msgid "Open the calendar"
-msgstr "Abrir el calendario"
-
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
-msgid "Date Format"
-msgstr "Formato fecha"
-
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
-msgid "Displayed date format"
-msgstr "Formato fecha actual"
-
-#: tryton/common/domain_parser.py:235
-msgid "y"
-msgstr "a"
-
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sí"
-
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadero"
-
-#: tryton/common/domain_parser.py:235
-msgid "t"
-msgstr "v"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadero"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "False"
-msgstr "Falso"
-
-#: tryton/common/popup_menu.py:81
-msgid "Edit..."
-msgstr "Editar..."
-
-#: tryton/common/popup_menu.py:86
-msgid "Attachments..."
-msgstr "Adjuntos..."
-
-#: tryton/common/popup_menu.py:90
-msgid "Notes..."
-msgstr ""
-
-#: tryton/common/popup_menu.py:100
-msgid "Actions..."
-msgstr "Acciones..."
-
-#: tryton/common/popup_menu.py:101
-msgid "Relate..."
-msgstr "Relacionado..."
-
-#: tryton/common/popup_menu.py:102
-msgid "Report..."
-msgstr "Informe..."
-
-#: tryton/common/popup_menu.py:103
-msgid "E-Mail..."
-msgstr "Correo electrónico..."
-
-#: tryton/common/popup_menu.py:104
-msgid "Print..."
-msgstr "Imprimir..."
-
-#: tryton/common/timedelta.py:26
-msgid "Y"
-msgstr "A"
-
-#: tryton/common/timedelta.py:27
-msgid "M"
-msgstr "M"
-
-#: tryton/common/timedelta.py:28
-msgid "w"
-msgstr "S"
-
-#: tryton/common/timedelta.py:29
-msgid "d"
-msgstr "d"
-
-#: tryton/common/timedelta.py:30
-msgid "h"
-msgstr "h"
-
-#: tryton/common/timedelta.py:31
-msgid "m"
-msgstr "m"
-
-#: tryton/common/timedelta.py:32
-msgid "s"
-msgstr "s"
-
-#: tryton/gui/main.py:218
-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:373
-msgid "No result found."
-msgstr "No se han encontrado resultados."
-
-#: tryton/gui/main.py:395
-msgid "_Connect..."
-msgstr "_Conectar..."
-
-#: tryton/gui/main.py:404
-msgid "_Disconnect"
-msgstr "_Desconectar"
-
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de datos"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nueva base de datos..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar base de datos..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Hacer _copia de seguridad de la base de datos..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Eliminar base de datos..."
-
-#: tryton/gui/main.py:461
-msgid "_Quit..."
-msgstr "_Salir..."
-
-#: tryton/gui/main.py:476
-msgid "_Preferences..."
-msgstr "_Preferencias..."
-
-#: tryton/gui/main.py:487
-msgid "_Menu Reload"
-msgstr "_Recargar menú"
-
-#: tryton/gui/main.py:496
-msgid "_Menu Toggle"
-msgstr "Conmutar _menú"
-
-#: tryton/gui/main.py:503
-msgid "_Global Search"
-msgstr "Búsqueda _global"
-
-#: tryton/gui/main.py:518
-msgid "_Toolbar"
-msgstr "Barra de herramien_tas"
-
-#: tryton/gui/main.py:526
-msgid "_Default"
-msgstr "Por _defecto"
-
-#: tryton/gui/main.py:536
-msgid "_Text and Icons"
-msgstr "Texto _e iconos"
-
-#: tryton/gui/main.py:546
-msgid "_Icons"
-msgstr "_Iconos"
-
-#: tryton/gui/main.py:555
-msgid "_Text"
-msgstr "_Texto"
-
-#: tryton/gui/main.py:564
-msgid "_Menubar"
-msgstr "Barra de _menú"
-
-#: tryton/gui/main.py:572
-msgid "Change Accelerators"
-msgstr "Cambiar teclas rápidas"
-
-#: tryton/gui/main.py:580
-msgid "_Mode"
-msgstr "_Modo"
-
-#: tryton/gui/main.py:588
-msgid "_Normal"
-msgstr "_Normal"
-
-#: tryton/gui/main.py:596
-msgid "_PDA"
-msgstr "_PDA"
-
-#: tryton/gui/main.py:603
-msgid "_Form"
-msgstr "_Formulario"
-
-#: tryton/gui/main.py:612
-msgid "Save Width/Height"
-msgstr "Guardar ancho/alto"
-
-#: tryton/gui/main.py:623
-msgid "Save Tree State"
-msgstr "Guardar estado de expansión del árbol"
-
-#: tryton/gui/main.py:635
-msgid "Fast Tabbing"
-msgstr ""
-
-#: tryton/gui/main.py:645
-msgid "Spell Checking"
-msgstr "Corrección ortográfica"
-
-#: tryton/gui/main.py:655
-msgid "_Previous Tab"
-msgstr "_Anterior"
-
-#: tryton/gui/main.py:661
-msgid "_Next Tab"
-msgstr "Siguiente"
-
-#: tryton/gui/main.py:667
-msgid "Search Limit..."
-msgstr "_Límite de búsqueda..."
-
-#: tryton/gui/main.py:673
-msgid "_Email..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/main.py:681
-msgid "_Save Options"
-msgstr "_Guardar opciones"
-
-#: tryton/gui/main.py:693
-msgid "_Tips..."
-msgstr "Conse_jos..."
-
-#: tryton/gui/main.py:702
-msgid "_Keyboard Shortcuts..."
-msgstr "Com_binaciones de teclas..."
-
-#: tryton/gui/main.py:711
-msgid "_About..."
-msgstr "_Acerca de..."
-
-#: tryton/gui/main.py:762
-msgid "Manage Favorites"
-msgstr "_Administrar menús favoritos"
-
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
-msgid "Search"
-msgstr "Buscar"
-
-#: tryton/gui/main.py:914
-msgid ""
-"The following action requires to close all tabs.\n"
-"Do you want to continue?"
-msgstr ""
-"La acción seleccionada requiere cerrar todas las pestañas. \n"
-"¿Desea continuar?"
-
-#: tryton/gui/main.py:1173
-msgid "Close Tab"
-msgstr "Cerrar pestaña"
-
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Va a eliminar una base de datos de Tryton.\n"
-"¿Está seguro que quiere continuar?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Acceso denegado."
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "Falló la eliminación de la base de datos."
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "La base de datos se ha eliminado correctamente."
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir una copia de seguridad para restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "La base de datos está protegida con contraseña."
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"La contraseña del servidor Tryton es incorrecta.\n"
-"Inténtelo de nuevo."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "La restauración de la base de datos ha fallado."
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "La base de datos se ha restaurado correctamente."
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "La extracción de la base de datos ha fallado."
-
-#: tryton/gui/main.py:1395
-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:83
-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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
-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:52
-msgid "_New"
-msgstr "_Nuevo"
-
-#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
-#: tryton/gui/window/win_form.py:68
-msgid "_Save"
-msgstr "_Guardar"
-
-#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
-msgid "_Switch View"
-msgstr "Cambiar vi_sta"
-
-#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
-msgid "_Reload/Undo"
-msgstr "_Recargar/Deshacer"
-
-#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
-msgid "_Delete..."
-msgstr "_Eliminar..."
-
-#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
-msgid "_Close Tab"
-msgstr "_Cerrar pestaña"
-
-#: tryton/gui/window/dbcreate.py:29
-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 en «Cambiar» "
-"para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "No hay conexión."
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"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"
-"Pulse en «Cambiar» para cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crear nueva base de datos"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rear"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crear la nueva base de datos."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuración del servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexión con el servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 «Cambiar» para "
-"cambiar la dirección."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambiar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurar la conexión con el servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Contraseña del servidor Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 define en la configuración de trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Nueva configuración de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nombre de la base de datos:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-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:241
-msgid "Default language:"
-msgstr "Idioma por defecto:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Contraseña del administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Elija una contraseña para el usuario administrador de la nueva base de datos. Podrá acceder a la base de datos con dichas credenciales:\n"
-"Nombre de usuario: admin\n"
-"Contraseña: <La contraseña que introduzca aquí>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"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 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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_csv.py:68
-msgid "_Add"
-msgstr "_Añadir"
-
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
-msgid "_Remove"
-msgstr "_Eliminar"
-
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
-msgid "Host:"
-msgstr "Servidor:"
-
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crear"
-
-#: tryton/gui/window/dblogin.py:101
-msgid "Fetching databases list"
-msgstr "Recuperando lista de bases de datos"
-
-#: tryton/gui/window/dblogin.py:119
-msgid "Username:"
-msgstr "Nombre de usuario:"
-
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "No se ha podido conectar al servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
-msgid "Incompatible version of the server"
-msgstr "El cliente no es compatible con la versión del servidor"
-
-#: tryton/gui/window/dblogin.py:359
-msgid "Login"
-msgstr "Usuario"
-
-#: tryton/gui/window/dblogin.py:366
-msgid "_Cancel"
-msgstr "_Cancelar"
-
-#: tryton/gui/window/dblogin.py:371
-msgid "Cancel connection to the Tryton server"
-msgstr "Cancelar conexión al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:373
-msgid "C_onnect"
-msgstr "C_onectar"
-
-#: tryton/gui/window/dblogin.py:378
-msgid "Connect the Tryton server"
-msgstr "Conectar al servidor Tryton"
-
-#: tryton/gui/window/dblogin.py:406
-msgid "Profile:"
-msgstr "Perfil:"
-
-#: tryton/gui/window/dblogin.py:410
-msgid "_Manage profiles"
-msgstr "_Administrar perfiles"
-
-#: tryton/gui/window/dblogin.py:420
-msgid "Host / Database information"
-msgstr "Información del Servidor / Base de datos"
-
-#: tryton/gui/window/dblogin.py:459
-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:122
-msgid "File to Restore:"
-msgstr "Archivo a restaurar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Elija el nombre de la base de datos a restaurar.\n"
-"Los caracteres permitidos son alfanuméricos o _ (subrayado)\n"
-"Evite todos los acentos, espacios, o caracteres especiales. \n"
-"Ejemplo: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nombre de la base de datos nueva:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Actualizar base de datos:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-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:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-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:38
-msgid "Legend of Available Placeholders:"
-msgstr "Leyenda de palabras clave disponibles:"
-
-#: tryton/gui/window/email.py:45
-msgid "To:"
-msgstr "Para:"
-
-#: tryton/gui/window/email.py:49
-msgid "CC:"
-msgstr "CC:"
-
-#: tryton/gui/window/email.py:53
-msgid "Subject:"
-msgstr "Asunto:"
-
-#: tryton/gui/window/email.py:57
-msgid "Body:"
-msgstr "Mensaje:"
-
-#: tryton/gui/window/email.py:61
-msgid "Attachment:"
-msgstr "Adjunto:"
-
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
-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:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
-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:48
-msgid "Note(0)"
-msgstr ""
-
-#: tryton/gui/window/form.py:49
-msgid "Add a note to the record"
-msgstr ""
-
-#: tryton/gui/window/form.py:58
-msgid "_Duplicate"
-msgstr "_Duplicar"
-
-#: tryton/gui/window/form.py:63
-msgid "_Previous"
-msgstr "_Anterior"
-
-#: tryton/gui/window/form.py:65
-msgid "_Next"
-msgstr "Sig_uiente"
-
-#: tryton/gui/window/form.py:66
-msgid "_Search"
-msgstr "_Buscar"
-
-#: tryton/gui/window/form.py:67
-msgid "View _Logs..."
-msgstr "Ver _registro..."
-
-#: tryton/gui/window/form.py:68
-msgid "Show revisions..."
-msgstr "Mostrar versiones..."
-
-#: tryton/gui/window/form.py:73
-msgid "A_ttachments..."
-msgstr "Adjun_tos..."
-
-#: tryton/gui/window/form.py:75
-msgid "_Notes..."
-msgstr ""
-
-#: tryton/gui/window/form.py:76
-msgid "_Actions..."
-msgstr "_Acciones..."
-
-#: tryton/gui/window/form.py:78
-msgid "_Relate..."
-msgstr "_Relacionado..."
-
-#: tryton/gui/window/form.py:81
-msgid "_Report..."
-msgstr "_Informes..."
-
-#: tryton/gui/window/form.py:83
-msgid "_E-Mail..."
-msgstr "_Correo electrónico..."
-
-#: tryton/gui/window/form.py:85
-msgid "_Print..."
-msgstr "Im_primir..."
-
-#: tryton/gui/window/form.py:88
-msgid "_Export Data..."
-msgstr "_Exportar datos..."
-
-#: tryton/gui/window/form.py:90
-msgid "_Import Data..."
-msgstr "_Importar datos..."
-
-#: tryton/gui/window/form.py:210
-#, python-format
-msgid "Attachment(%d)"
-msgstr "Adjunto(%d)"
-
-#: tryton/gui/window/form.py:236
-#, python-format
-msgid "Note(%d)"
-msgstr ""
-
-#: tryton/gui/window/form.py:258
-#, fuzzy
-msgid "You have to select one record."
-msgstr "Debe elegir un registro."
-
-#: tryton/gui/window/form.py:262
-msgid "ID:"
-msgstr "ID:"
-
-#: tryton/gui/window/form.py:263
-msgid "Creation User:"
-msgstr "Creado por:"
-
-#: tryton/gui/window/form.py:264
-msgid "Creation Date:"
-msgstr "Fecha de creación:"
-
-#: tryton/gui/window/form.py:265
-msgid "Latest Modification by:"
-msgstr "Última modificación por:"
-
-#: tryton/gui/window/form.py:266
-msgid "Latest Modification Date:"
-msgstr "Última fecha de modificación:"
-
-#: tryton/gui/window/form.py:285
-msgid "Model:"
-msgstr "Modelo:"
-
-#: tryton/gui/window/form.py:345
-msgid "Are you sure to remove this record?"
-msgstr "¿Está seguro que quiere eliminar este registro?"
-
-#: tryton/gui/window/form.py:347
-msgid "Are you sure to remove those records?"
-msgstr "¿Está seguro que quiere eliminar estos registros?"
-
-#: tryton/gui/window/form.py:350
-#, fuzzy
-msgid "Records not removed."
-msgstr "Los registros no se han eliminado."
-
-#: tryton/gui/window/form.py:352
-#, fuzzy
-msgid "Records removed."
-msgstr "Registros eliminados."
-
-#: tryton/gui/window/form.py:380
-#, fuzzy
-msgid "Working now on the duplicated record(s)."
-msgstr "Ahora está trabajando en el registro duplicado."
-
-#: tryton/gui/window/form.py:390
-#, fuzzy
-msgid "Record saved."
-msgstr "Registro guardado."
-
-#: tryton/gui/window/form.py:492
-msgid " of "
-msgstr " de "
-
-#: tryton/gui/window/form.py:513
-#, fuzzy
-msgid ""
-"This record has been modified\n"
-"do you want to save it?"
-msgstr ""
-"Este registro ha sido modificado.\n"
-"¿Desea guardarlo?"
-
-#: tryton/gui/window/form.py:566
-msgid "Action"
-msgstr "Acción"
-
-#: tryton/gui/window/form.py:566
-msgid "Launch action"
-msgstr "Ejecutar acción"
-
-#: tryton/gui/window/form.py:567
-msgid "Relate"
-msgstr "_Relacionado"
-
-#: tryton/gui/window/form.py:567
-msgid "Open related records"
-msgstr "Abrir registros relacionados"
-
-#: tryton/gui/window/form.py:569
-msgid "Report"
-msgstr "Informes"
-
-#: tryton/gui/window/form.py:569
-msgid "Open report"
-msgstr "Abrir informe"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail"
-msgstr "Email"
-
-#: tryton/gui/window/form.py:570
-msgid "E-Mail report"
-msgstr "Informe por email"
-
-#: tryton/gui/window/form.py:571
-msgid "Print"
-msgstr "Imprimir"
-
-#: tryton/gui/window/form.py:571
-msgid "Print report"
-msgstr "Imprimir informe"
-
-#: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
-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:19
-msgid "Revision"
-msgstr "Versión"
-
-#: tryton/gui/window/revision.py:28
-msgid "Select a revision"
-msgstr "Seleccionar una versión"
-
-#: tryton/gui/window/revision.py:31
-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/shortcuts.py:47
-msgid "Move Cursor"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:48
-msgid "Move to right"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:49
-msgid "Move to left"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:50
-msgid "Move up"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:51
-msgid "Move down"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:52
-msgid "Move up of one page"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:53
-msgid "Move down of one page"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:54
-msgid "Move to top"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:55
-msgid "Move to bottom"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:56
-msgid "Move to parent"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
-msgid "Select all"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
-msgid "Unselect all"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:62
-msgid "Select parent"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
-msgid "Select/Activate current row"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:67
-msgid "Toggle selection"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:68
-msgid "Expand/Collapse"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:69
-msgid "Expand row"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:70
-msgid "Collapse row"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:71
-msgid "Toggle row"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:72
-msgid "Expand all rows"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:73
-msgid "Collapse all rows"
-msgstr ""
-
-#: tryton/gui/window/shortcuts.py:76
-msgid "Tree view"
-msgstr ""
-
-#: tryton/gui/window/tips.py:17
-msgid ""
-"<b>Welcome to Tryton</b>\n"
-"\n"
-"\n"
-msgstr ""
-"<b>Bienvenido a Tryton</b>\n"
-"\n"
-"\n"
-
-#: tryton/gui/window/tips.py:21
-msgid ""
-"<b>Do you know Triton, one of the namesakes for our project?</b>\n"
-"\n"
-"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
-"largest moon of the planet Neptune, discovered on October 10, 1846\n"
-"by William Lassell. It is the only large moon in the Solar System\n"
-"with a retrograde orbit, which is an orbit in the opposite direction\n"
-"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
-"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
-"the mass known to orbit Neptune, including the planet's rings and twelve\n"
-"other known moons. It is also more massive than all the Solar System's\n"
-"159 known smaller moons combined.\n"
-msgstr ""
-"<b>¿Conoce Triton? uno de los apelativos de nuestro proyecto</b>\n"
-"\n"
-"Triton (pronunciado /ˈtraɪtən/ TRYE-tən, o en griego Τρίτων) es la\n"
-"luna más grande del planeta Neptuno, descubierta el 10 de Octubre de\n"
-"1846 por William Lassell. Es la única luna grande del Sistema Solar\n"
-"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"
-"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:33
-msgid ""
-"<b>Export list records</b>\n"
-"\n"
-"You can copy records from any list with Ctrl + C\n"
-"and paste in any application with Ctrl + V\n"
-msgstr ""
-"<b>Exportar lista de registros</b>\n"
-"\n"
-"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:38
-msgid ""
-"<b>Export graphs</b>\n"
-"\n"
-"You can save any graphs in PNG file with right-click on it.\n"
-msgstr ""
-"<b>Exportar gráficos</b>\n"
-"\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:45
-msgid "Tips"
-msgstr "Consejos"
-
-#: tryton/gui/window/tips.py:65
-msgid "_Display a new tip next time"
-msgstr "_Mostrar un nuevo consejo la próxima vez"
-
-#: tryton/gui/window/win_csv.py:59
-msgid "<b>All fields</b>"
-msgstr "<b>Todos los campos</b>"
-
-#: tryton/gui/window/win_csv.py:86
-#, fuzzy
-msgid "_Clear"
-msgstr "Limpiar"
-
-#: tryton/gui/window/win_csv.py:107
-msgid "<b>Fields selected</b>"
-msgstr ""
-
-#: tryton/gui/window/win_csv.py:126
-msgid "CSV Parameters"
-msgstr "Parámetros CSV"
-
-#: tryton/gui/window/win_csv.py:134
-msgid "Delimiter:"
-msgstr ""
-
-#: tryton/gui/window/win_csv.py:148
-msgid "Quote char:"
-msgstr ""
-
-#: tryton/gui/window/win_csv.py:157
-msgid "Encoding:"
-msgstr "Codificación:"
-
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
-msgid "Field name"
-msgstr "Nombre del campo"
-
-#: tryton/gui/window/win_export.py:28
-msgid "Export to CSV"
-msgstr "Exportar a CSV"
-
-#: tryton/gui/window/win_export.py:39
-msgid "<b>Predefined exports</b>"
-msgstr "<b>Exportaciones predeterminadas</b>"
-
-#: tryton/gui/window/win_export.py:46
-msgid "Name"
-msgstr "Nombre"
-
-#: tryton/gui/window/win_export.py:60
-#, fuzzy
-msgid "_Save Export"
-msgstr "Guardar exportación"
-
-#: tryton/gui/window/win_export.py:69
-#, fuzzy
-msgid "_Delete Export"
-msgstr "Eliminar exportación"
-
-#: tryton/gui/window/win_export.py:82
-msgid "Open"
-msgstr "Abrir"
-
-#: tryton/gui/window/win_export.py:87
-msgid "Add _field names"
-msgstr "Añadir nombres de _campo"
-
-#: tryton/gui/window/win_export.py:101
-#, python-format
-msgid "%s (string)"
-msgstr "%s (cadena)"
-
-#: tryton/gui/window/win_export.py:199
-msgid "What is the name of this export?"
-msgstr "¿Cuál es el nombre de esta exportación?"
-
-#: tryton/gui/window/win_export.py:205
-#, python-format
-msgid "Override '%s' definition?"
-msgstr "Sobrescribir la definición de '%s'?"
-
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "Se ha guardado %d registro."
-
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "Se han guardado %d registros."
-
-#: tryton/gui/window/win_export.py:329
-#, python-format
-msgid ""
-"Operation failed!\n"
-"Error message:\n"
-"%s"
-msgstr ""
-"Ha fallado la operación.\n"
-"Mensaje de error:\n"
-"%s"
-
-#: tryton/gui/window/win_form.py:36
-msgid "Link"
-msgstr "Enlace"
-
-#: tryton/gui/window/win_form.py:128
-msgid "Add"
-msgstr "Añadir"
-
-#: tryton/gui/window/win_form.py:141
-msgid "Remove <Del>"
-msgstr "Eliminar <Supr>"
-
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
-msgid "Create a new record <F3>"
-msgstr "Crear un nuevo registro <F3>"
-
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
-msgid "Delete selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
-msgid "Undelete selected record <Ins>"
-msgstr "Recuperar registro seleccionado <Ins>"
-
-#: tryton/gui/window/win_import.py:25
-msgid "Import from CSV"
-msgstr "Importar desde CSV"
-
-#: tryton/gui/window/win_import.py:32
-#, fuzzy
-msgid "_Auto-Detect"
-msgstr "Auto-detectar"
-
-#: tryton/gui/window/win_import.py:43
-msgid "File to Import:"
-msgstr "Archivo a importar:"
-
-#: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
-msgid "Open..."
-msgstr "Abrir..."
-
-#: tryton/gui/window/win_import.py:50
-msgid "Lines to Skip:"
-msgstr "Líneas a omitir:"
-
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "Primero debe elegir un archivo a importar."
-
-#: tryton/gui/window/win_import.py:109
-msgid "Error opening CSV file"
-msgstr "Error al abrir el archivo CSV"
-
-#: tryton/gui/window/win_import.py:137
-#, 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:198
-#, python-format
-msgid "%d record imported!"
-msgstr "Se ha importado %d registro."
-
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
-msgstr "Se han importado %d registros."
-
-#: tryton/gui/window/wizard.py:287
-msgid "Wizard"
-msgstr "Asistente"
-
-#: tryton/gui/window/view_form/screen/screen.py:183
-msgid "ID"
-msgstr "ID"
-
-#: tryton/gui/window/view_form/screen/screen.py:184
-msgid "Creation User"
-msgstr "Creado por:"
-
-#: tryton/gui/window/view_form/screen/screen.py:185
-msgid "Creation Date"
-msgstr "Fecha de creación:"
-
-#: tryton/gui/window/view_form/screen/screen.py:186
-msgid "Modification User"
-msgstr "Última modificación por:"
-
-#: tryton/gui/window/view_form/screen/screen.py:187
-msgid "Modification Date"
-msgstr "Última fecha de modificación:"
-
-#: tryton/gui/window/view_form/screen/screen.py:710
-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:769
-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/screen/screen.py:945
-#, python-format
-msgid "\"%s\" is not valid according to its domain"
-msgstr ""
-
-#: tryton/gui/window/view_form/screen/screen.py:952
-#, python-format
-msgid "\"%s\" is required"
-msgstr ""
-
-#: tryton/gui/window/view_form/screen/screen.py:956
-#, python-format
-msgid "The values of \"%s\" are not valid"
-msgstr ""
-
-#: tryton/gui/window/view_form/screen/screen.py:1007
-msgid "Pre-validation"
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
-msgid ":"
-msgstr ":"
-
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Guardar como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
-msgid "Image Size"
-msgstr "Tamaño de la imagen"
-
-#: tryton/gui/window/view_form/view/graph.py:119
-msgid "Width:"
-msgstr "Anchura:"
-
-#: tryton/gui/window/view_form/view/graph.py:126
-msgid "Height:"
-msgstr "Altura:"
-
-#: tryton/gui/window/view_form/view/graph.py:137
-msgid "PNG image (*.png)"
-msgstr "Imagen PNG (*.png)"
-
-#: tryton/gui/window/view_form/view/graph.py:159
-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:144
-msgid "F_ilters"
-msgstr "F_iltros"
-
-#: tryton/gui/window/view_form/view/screen_container.py:198
-msgid "Show bookmarks of filters"
-msgstr "Muestra las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:359
-msgid "Remove this bookmark"
-msgstr "Eliminar de las búsquedas favoritas"
-
-#: tryton/gui/window/view_form/view/screen_container.py:366
-msgid "Bookmark this filter"
-msgstr "Guardar como búsqueda favorita"
-
-#: tryton/gui/window/view_form/view/screen_container.py:431
-msgid "Bookmark Name:"
-msgstr "Nombre de la búsqueda favorita:"
-
-#: tryton/gui/window/view_form/view/screen_container.py:539
-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:33
-msgid "Select..."
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
-msgid "Clear"
-msgstr "Limpiar"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
-msgid "All files"
-msgstr "Todos los archivos"
-
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
-msgid "Select"
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
-msgid "Show plain text"
-msgstr "Mostrar como texto plano"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
-msgid "Add value"
-msgstr "Añadir un valor"
-
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
-#, python-format
-msgid "Remove \"%s\""
-msgstr "Eliminar \"%s\""
-
-#: tryton/gui/window/view_form/view/form_gtk/image.py:49
-msgid "Images"
-msgstr "Imágenes"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
-msgid "Add existing record"
-msgstr "Añadir un registro existente"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
-msgid "Remove selected record <Del>"
-msgstr "Eliminar registro seleccionado <Supr>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
-msgstr "Abrir registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
-msgid "Search a record <F2>"
-msgstr "Buscar registro <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
-msgid "Remove selected record"
-msgstr "Eliminar registro seleccionado"
-
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
-msgid "Edit selected record <F2>"
-msgstr "Editar registro seleccionado <F2>"
-
-#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
-#, python-format
-msgid "%s%%"
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
-msgid "Foreground"
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
-msgid "Select a color"
-msgstr ""
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
-msgid "Translation"
-msgstr "Traducción"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
-msgid "Edit"
-msgstr "Editar"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
-msgid "Fuzzy"
-msgstr "Confuso"
-
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-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:258
-msgid "No other language available!"
-msgstr "No hay otro idioma disponible."
-
-#: tryton/plugins/translation/__init__.py:22
-msgid "Translate view"
-msgstr "Traducir vista"
diff --git a/tryton/data/locale/fr/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..17ba5b4
Binary files /dev/null and b/tryton/data/locale/fr/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po b/tryton/data/locale/fr/LC_MESSAGES/tryton.po
similarity index 50%
rename from tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
rename to tryton/data/locale/fr/LC_MESSAGES/tryton.po
index 196b72d..6a18789 100644
--- a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/fr/LC_MESSAGES/tryton.po
@@ -43,69 +43,86 @@ msgid "File \"%s\" not found"
 msgstr "Fichier « %s » non trouvé"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
-msgstr "Impossible d'écrire le fichier de configuration %s !"
+#, python-format, python-format, python-format
+msgid "Unable to write config file %s."
+msgstr "Impossible d'écrire le fichier de configuration %s."
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Impossible de sélectionner la locale %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Sélectionnez votre action"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "Pas d'action définie !"
+#: tryton/action/main.py:184
+msgid "No action defined."
+msgstr "Pas d'action définie."
+
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Par: "
 
-#: tryton/common/common.py:274
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Connexion Tryton"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Serveur :"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Port :"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Sélection"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Votre sélection :"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Toujours ignorer cet avertissement."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Souhaitez-vous continuer ?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Confirmation"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Erreur d'accès concurrent"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -123,50 +140,49 @@ msgstr ""
 "    - « Comparer » pour voir la nouvelle version ;\n"
 "    - « Écraser » pour sauver vos modifications."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Comparer"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Écraser"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Erreur"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Rapporter un bogue"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "Erreur Applicative !"
+#: tryton/common/common.py:794
+msgid "Application Error."
+msgstr "Erreur Applicative."
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Erreur : "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Bug Tracker"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Utilisateur :"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Mot de passe :"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -174,46 +190,45 @@ msgstr ""
 "Le même bogue a été déjà rapporté par un autre utilisateur.\n"
 "Pour vous garder informé, votre nom d'utilisateur a été ajouté à la liste de suivi de ce bogue"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Un nouveau bogue a été créé avec l'ID "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
-"Erreur de connexion !\n"
-"Mauvais nom d'utilisateur ou mot de passe !"
+"Erreur de connexion.\n"
+"Mauvais nom d'utilisateur ou mot de passe."
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Exception :"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
-"L'empreinte digitale du serveur a changé depuis la dernière connection !\n"
-"Les connections à ce serveur sont annulées tant que son empreinte n'est pas corrigée."
+"L'empreinte digitale du serveur a changé depuis la dernière connexion.\n"
+"Les connexions à ce serveur sont annulées tant que son empreinte n'est pas corrigée."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
-msgstr "Alerte sécurité !"
+#: tryton/common/common.py:990
+msgid "Security risk."
+msgstr "Alerte sécurité."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
-"Erreur de connexion !\n"
-"Impossible de se connecter au serveur !"
+"Erreur de connexion.\n"
+"Impossible de se connecter au serveur."
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "Erreur réseau !"
+#: tryton/common/common.py:1061
+msgid "Network Error."
+msgstr "Erreur réseau."
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
@@ -223,61 +238,57 @@ msgstr "<i>Recherche...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Créer...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Valeur"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Valeur affichée"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Format"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Format d'affichage"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Ouvrir le calendrier"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Format de date"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Format de date affichée"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "y"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "oui"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr "Oui"
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "vrai"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Vrai"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Vrai"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Faux"
 
@@ -289,27 +300,27 @@ msgstr "Éditer..."
 msgid "Attachments..."
 msgstr "Attachements..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Notes..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Actions..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Relation..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Rapport..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "Email..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Imprimer..."
 
@@ -341,183 +352,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Fichier"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "_Connexion"
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Utilisateur"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Options"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_voris"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Aide"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Aucun résultat trouvé."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Connecter..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Déconnecter"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "_Base de données"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nouvelle base de données..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurer une base de données..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_Sauvegarder une base de données..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Su_pprimer une base de données..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Quitter..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Préférences..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Recharger le menu"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Montrer / Cacher le _menu"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Recherche _globale"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Barre d'outils"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Défaut"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Textes et Icônes"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Icônes"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Textes"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Barre de menu"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Changer les raccourcis"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Mode"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Formulaire"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Sauver largeur / hauteur"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Sauver l'état des arbres"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Tabulation rapide"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Vérifier l'orthographe"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "Onglet _précédent"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "Onglet _suivant"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Limite la recherche à..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Email..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Sauver les options"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Astuces..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "Raccourcis _clavier..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_À Propos..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "_Gérer les favoris"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Recherche"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -525,101 +517,14 @@ msgstr ""
 "L'action suivante nécessite de fermer tous les onglets.\n"
 "Voulez-vous continuer ?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Fermer l'onglet"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Vous allez supprimer une base de données Tryton.\n"
-"Êtes-vous sûr de vouloir continuer ?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Mauvais mot de passe du serveur Tryton.\n"
-"Essayez à nouveau."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Accès refusé !"
-
-#: tryton/gui/main.py:1309
-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:1310
-msgid "Database drop failed!"
-msgstr "La suppression de la base de données a échouée !"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "La base de données a été supprimée avec succès !"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Ouvrir le Fichier de Sauvergarde..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Il n'est pas possible de restaurer une base de données protégée par un mot de passe.\n"
-"La sauvegarde et la restauration doivent être faites manuellement."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "La base de données est protégée par un mot de passe !"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Mauvais mot de passe du serveur Tryton.\n"
-"Essayez à nouveau."
-
-#: tryton/gui/main.py:1346
-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:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "La restauration de la base de données a échoué !"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "La base de données a été restaurée avec succès !"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Il n'est pas possible de sauvergarder une base de données protégée par un mot de passe.\n"
-"La sauvegarde et la restauration doivent être faites manuellement."
-
-#: tryton/gui/main.py:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "La sauvegarde de la base de données a échouée !"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "La base de données a été sauvegardée avec succès !"
+#: tryton/gui/window/attachment.py:22
+#, python-format, python-format, python-format
+msgid "Attachments (%s)"
+msgstr "Attachements (%s)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -630,7 +535,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Sauver"
 
@@ -639,8 +544,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Basculer"
 
@@ -681,395 +586,122 @@ msgstr "Su_pprimer..."
 msgid "_Close Tab"
 msgstr "_Fermer l'onglet"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"Ceci est l'URL du serveur Tryton. Utilisez le serveur « localhost » et le "
-"port « 8000 » si le serveur est installé sur cette machine. Cliquez sur « "
-"Changer » pour changer l'adresse."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Pas de connexion !"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Impossible de se connecter au serveur !\n"
-"1. Vérifiez si le serveur est en train de tourner.\n"
-"2. Trouvez sur quelle adresse et port il écoute.\n"
-"3. Si il y a un firewall entre le serveur et ce client, vérifiez que l'adresse du serveur et le port (habituellement 8000) ne sont pas bloqués.\n"
-"Cliquez sur « Changer » pour changer l'adresse."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Créer une nouvelle base de données"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_réer"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Créer une nouvelle base de données."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuration du serveur :"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Connexion au serveur :"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"Ceci est l'URL du serveur. Utilisez le serveur « localhost » et port « 8000 "
-"» si le serveur est installé sur cette machine. Cliquez sur « Changer » pour"
-" changer l'adresse."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_hanger"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configurer la connexion au serveur..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Mot de passe du serveur Tryton :"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"Ceci est le mot de passe du serveur Tryton. Il ne correspond pas à un vrai "
-"utilisateur. Ce mot de passe est défini dans la configuration de trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Configuration de la nouvelle base de données :"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nom de la base de données :"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Choisissez le nom de la nouvelle base de données.\n"
-"Seuls sont permis les caractères alphanumériques ou _ (caractère souligné)\n"
-"Vous devez proscrire les accents, espaces ou caractères spéciaux ! Example : tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Langue par défaut :"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Choisissez la langue par défaut qui sera utilisée pour cette base de "
-"données. Vous pourrez installer d'autres langues après l'installation sous "
-"le menu administration."
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Mot de passe admin :"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Choisissez un mot de passe pour l'utilisateur admin de la nouvelle base de données. Avec ce mot de passe, vous pourrez ensuite vous connecter à la base de données :\n"
-"Nom d'utilisateur : admin\n"
-"Mot de passe : <Le mot de passe que vous avez choisi>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Impossible de créer une base de données pour une raison inconnue.\n"
-"Si une base de données a été créée, elle pourrait être inutilisable. 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-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
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Ajouter"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Enlever"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Hôte :"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "C_réer"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Base de données :"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Récupération de la liste des bases de données"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Nom d'utilisateur :"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Impossible de se connecter au serveur"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Version du serveur incompatible"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Impossible de se connecter au serveur"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Connexion"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "A_nnuler"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Annuler la connexion au serveur Tryton"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "C_onnecter"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Se connecter au serveur Tryton"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profil :"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Gestionnaire de profils"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Hôte / Port"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 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:122
-msgid "File to Restore:"
-msgstr "Fichier à restaurer :"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Choisissez le nom de la base de données à restaurer.\n"
-"Seul sont permis les caractères alphanumériques ou _ (caractère souligné)\n"
-"Vous devez proscrire les accents, espaces ou caractères spéciaux !\n"
-"Example : tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nom de la nouvelle base de données :"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Mettre à jour la base de données :"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-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:161
-msgid "Restore"
-msgstr "Restaurer"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Paramètres d'email"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Commande :"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Légende des symboles :"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "À :"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC :"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Sujet :"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Corps :"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Attachement :"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Précédent"
 
@@ -1077,10 +709,10 @@ msgstr "Précédent"
 msgid "Previous Record"
 msgstr "Enregistrement précédent"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Suivant"
 
@@ -1164,73 +796,73 @@ msgstr "_Export de données..."
 msgid "_Import Data..."
 msgstr "_Import de données..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Attachement(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Note(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "Vous devez sélectionner un enregistrement."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID :"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Créé par l'utilisateur :"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Date de création :"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Dernière modification par :"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Date de dernière modification :"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modèle :"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Êtes-vous sûr de vouloir supprimer cet enregistrement ?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Êtes-vous sûr de vouloir supprimer ces enregistrements ?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Enregistrements non supprimés."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Enregistrements supprimés."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Sur les enregistrement(s) dupliqué(s) maintenant."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Enregistrement sauvegardé."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1279,7 +911,7 @@ msgid "Print report"
 msgstr "Imprimer un rapport"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Inconnu"
 
@@ -1287,19 +919,24 @@ msgstr "Inconnu"
 msgid "Limit"
 msgstr "Limite"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Limite de recherche"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Limite :"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Notes (%s)"
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Préférences"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Éditer les préférences utilisateur"
 
@@ -1307,19 +944,15 @@ msgstr "Éditer les préférences utilisateur"
 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:19
 msgid "Revision"
 msgstr "Révision"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Sélectionner une révision"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Révision :"
 
@@ -1327,152 +960,152 @@ msgstr "Révision :"
 msgid "Keyboard Shortcuts"
 msgstr "Raccourcis clavier"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Raccourcis des champs texte"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Couper le texte sélectionné"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Copier le texte sélectionné"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Coller le texte copié"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Widget suivant"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Widget précédent"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Raccourcis des champs relation"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Créer une nouvelle relation"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Ouvrir/Chercher une relation"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Raccourcis des listes"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Créer une nouvelle ligne"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Ouvrir une relation"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Marquer la ligne pour suppression"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Annuler le marquage de la ligne pour suppression"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Widgets d'édition"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Déplacer le curseur"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Déplacer vers la droite"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Déplacer vers la gauche"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Déplacer vers le haut"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Déplacer vers le bas"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Déplacer vers le haut d'une page"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Déplacer vers le bas d'une page"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "Déplacer au dessus"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Déplacer en bas"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Déplacer au parent"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Tout sélectionner"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Désélectionner tout"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Sélectionner le parent"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Sélectionner/Activer la ligne courante"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Basculer la sélection"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Déplier/Replier"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Déplier la ligne"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Replier la ligne"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Basculer la ligne"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "Déplier toutes les lignes"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "Replier toutes les lignes"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Vue arborescente"
 
@@ -1538,7 +1171,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Astuces"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Afficher une nouvelle astuce la prochaine fois"
 
@@ -1570,7 +1203,7 @@ msgstr "Caractère de guillemet :"
 msgid "Encoding:"
 msgstr "Codage :"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Nom du champ"
 
@@ -1594,73 +1227,73 @@ msgstr "_Sauver l'exportation"
 msgid "_Delete Export"
 msgstr "_Supprimer l'exportation"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Ouvrir"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Ajouter les noms des champs"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Quel est le nom de cet export ?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Surcharger la définition « %s » ?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "%d enregistrement sauvé !"
+#: tryton/gui/window/win_export.py:325
+#, python-format, python-format, python-format
+msgid "%d record saved."
+msgstr "%d enregistrement sauvé."
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "%d enregistrements sauvés !"
+#: tryton/gui/window/win_export.py:327
+#, python-format, python-format, python-format
+msgid "%d records saved."
+msgstr "%d enregistrements sauvés."
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, python-format, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
-"Échec de l'opération !\n"
+"Échec de l'opération.\n"
 "Message d'erreur :\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Lien"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Ajouter"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Supprimer <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Créer un nouvel enregistrement<F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Restaurer l'enregistrement sélectionné<Ins>"
 
@@ -1676,9 +1309,9 @@ msgstr "Détection _automatique"
 msgid "File to Import:"
 msgstr "Fichier à importer :"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Ouvrir..."
 
@@ -1686,184 +1319,205 @@ msgstr "Ouvrir..."
 msgid "Lines to Skip:"
 msgstr "Lignes à ignorer :"
 
-#: tryton/gui/window/win_import.py:99
-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:103
+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:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Erreur d'ouverture du fichier CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, 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:198
-#, python-format
-msgid "%d record imported!"
-msgstr "%d enregistrement importé !"
-
 #: tryton/gui/window/win_import.py:200
+#, python-format, python-format, python-format
+msgid "%d record imported."
+msgstr "%d enregistrement importé."
+
+#: tryton/gui/window/win_import.py:202
+#, python-format, python-format, python-format
+msgid "%d records imported."
+msgstr "%d enregistrements importés."
+
+#: tryton/gui/window/win_search.py:65
 #, python-format
-msgid "%d records imported!"
-msgstr "%d enregistrements importés !"
+msgid "Search %s"
+msgstr "Rechercher %s"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Assistant"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Créé par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Date de création"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Modifié par l'utilisateur"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Date de modification"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 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:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "Impossible de définir l'état de la vue arbre"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "« %s » n'est pas valide selon son domaine"
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "« %s » est requis"
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Les valeurs de « %s » ne sont pas valides"
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Pré-validation"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr " :"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Enregistrer sous"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Taille de l'image"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Largeur :"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Hauteur :"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "image PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
-msgstr "Taille de l'image trop grande !"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Enregistrer sous"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltrer"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Montrer les marques-pages des filtres"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Supprimer ce marque-page"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Sauver ce filtre"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Nom du marque-page :"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Chercher"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Aujourd'hui"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "revenir"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "avancer"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "année précédente"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "année suivante"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Vue semaine"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Vue mois"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Semaine"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Sélectionner..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Effacer"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Tous les fichiers"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Sélectionner"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Montrer en text clair"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Ajouter une valeur"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Supprimer « %s »"
@@ -1872,65 +1526,69 @@ msgstr "Supprimer « %s »"
 msgid "Images"
 msgstr "Images"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Ajouter un enregistrement existant"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Supprimer l'enregistrement sélectionné<Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
-msgstr "Ouvrir un enregistrement<F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
+msgstr "Ouvrir l'enregistrement <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Effacer l'enregistrement <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Chercher un enregistrement<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Supprimer l'enregistrement sélectionné"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Éditer l'enregistrement sélectionné<F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Couleur du texte"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Sélectionner une couleur"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Traduction"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Éditer"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Floue"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+msgid "You need to save the record before adding translations."
 msgstr ""
-"Vous devez sauvegarder l'enregistrement avant d'ajouter des traductions !"
+"Vous devez sauvegarder l'enregistrement avant d'ajouter des traductions."
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
-msgstr "Pas d'autre langue disponible !"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
+msgstr "Pas d'autre langue disponible."
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
diff --git a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo b/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 018b3b7..0000000
Binary files a/tryton/data/locale/fr_FR/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo
index 1569ab4..47ed466 100644
Binary files a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo and b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
index 2c3f763..930a3df 100644
--- a/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/hu_HU/LC_MESSAGES/tryton.po
@@ -44,69 +44,89 @@ msgid "File \"%s\" not found"
 msgstr "A fájl „%s” nem található"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Nem lehet a következő konfigurációs fájlba írni: „%s”"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nem lehet beállítani a csoportot: %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Válasszon műveletet"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Nincs megadva művelet"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Kapcsolódás"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Szerver:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Port:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Kiválasztás"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Kiválasztva"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Mentés másként…"
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Ne adja be többet ezt a figyelmeztetést"
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Akarja folyatni?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Jóváhagyás"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Aktualizálási ellentét"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -124,50 +144,50 @@ msgstr ""
 "\"Összehasonlít\", hogy az adat megváltoztatott verzióját megtekintse\n"
 "\"Felülír\", hogy a mentett verziót felülírja"
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Összehasonlítás"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Felülír"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Hiba"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Hibabejelentés"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Alkalmazási hiba"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Hiba:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Az online hibabejelentéshez szükség van <u>%s</u> fiókra"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Hiba bejelentése"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Felhasználó:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Jelszó:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -175,45 +195,49 @@ msgstr ""
 "Ez a hiba egy másik felhasználó által már be lett jelentve \n"
 "Az Ön felhasználóneve az érdekeltségi listára felkerült."
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Új hibabejelentés létesítése ezzel az ID -vel"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Kapcsolási hiba!\n"
 "Hibás felhasználónév vagy jelszó "
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Kivétel:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Az utolsó kapcsolás óta a szerver ujjlenyomata változott!\n"
 "A kliens nem lép kapcsolatba a szerverrel, amíg az ujjlenyomat nem felel meg a szerverével."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Biztonsági kockázat"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Kapcsolási hiba!\n"
 "Nem kapcsolódik a szerverrel!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Hálózati hiba"
 
 #: tryton/common/completion.py:22
@@ -224,61 +248,57 @@ msgstr "<i>keresés...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Készítve...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Érték"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Megjelenített érték"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Formátum"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Megjelenítési formátum"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Naptár megnyitása"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Dátumformátum"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Mutatott dátumformátum"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "J"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "Igen"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "Igaz"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "w"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Igaz"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Hamis"
 
@@ -290,27 +310,27 @@ msgstr "Szerkesztés…"
 msgid "Attachments..."
 msgstr "Mellékletek..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Műveletek"
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Kapcsolatok..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Jelentés..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "E-Mail..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Nyomtatás..."
 
@@ -342,183 +362,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Fájl"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Felhasználó"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Beállítások"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_vorit"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Segítség"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Nincs találat"
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Kapcsolódás…"
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Kapcsolat bontása"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Adatbank"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Új adatbank"
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "Adatbank visszaállítása"
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Adatbank Backup előállítása"
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Adatbank törlése"
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "Kilépés..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Beállítások…"
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "Menü újra mentése"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Menü átkapcsolása"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Globális keresés"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Eszköztár"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Alapértelmezett"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Szöveg és ikonok"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "Ikonok"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Szöveg"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Menüsáv"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Gyorsbillentyűk módosítása"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "Mód"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "Normál"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "Űrlap"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Szélesség/magasság mentése"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Menünézet mentése"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Helyesírás ellenőrzés"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "Előző lap"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "Következő lap"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Keresés limit"
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "E-mail..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Beállítások mentése"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "Tipp"
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Gyorsbillentyűk"
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "Felett"
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "Kedvencek kezelése..."
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Keresés"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -526,98 +527,14 @@ msgstr ""
 "A következő művelethez az összes lap bezárása szükséges\n"
 "Folytatja?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Lap bezárása"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Tryton adatbankot fog törölni.\n"
-"Biztos folytatja?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Rossz jelszó a Tryton szerverhez\n"
-"Kérem adja meg újra."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Hozzáférés megtagadva"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Az adatbank törlése hibás a következő hibajelentéssel\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Adatbank törlése sikertelen"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Adatbank sikeres törlése"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Backup adatbank az visszaállításhoz megnyitni..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Nem lehetséges jelszóval védett adatbank visszaállítása.\n"
-"Backup és visszaállítást ezért manuálisan kell véghez vinni."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Adatbank jelszóval védett"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Hibás jelszó a Tryton szerverhez\n"
-"Kérem újra megadni"
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Sikertelen adatbank visszaállítás a következő hibajelentéssel\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Adatbank visszaállítása sikertelen!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Adatbank sikeres visszaállítása"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Nem lehetséges jelszóval védett adatbank biztosítása.\n"
-"Backup és visszaállítást ezért manuálisan kell véghez vinni."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Sikertelen adatbank biztosítás a következő hibajelentéssel:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Adatbank sikertelen biztosítása!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Adatbank sikeres biztosítása!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Melléklet(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -628,7 +545,7 @@ msgid "Create a new record"
 msgstr "Új bejegyzés létrehozása"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Mentés"
 
@@ -637,8 +554,8 @@ msgid "Save this record"
 msgstr "Bejegyzés mentése"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Nézet váltása"
 
@@ -679,393 +596,122 @@ msgstr "_Törlés..."
 msgid "_Close Tab"
 msgstr "Lap bezárása"
 
-#: tryton/gui/window/dbcreate.py:29
-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-szerver címe mutatkozik. Vigye be a szerverhez a 'localhost' és Port"
-"  '8000', ha a szerver lokal ezen a számítógépen van telepítve. Kattintson "
-"az \"Átdolgozás\"-ra, hogy ezt a címet megváltoztassa."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Nincs kapcsolat"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Nem lép a Tryton-szerverrel kapcsolatba!\n"
-"1.Ellenőrizze, hogy fut a Tryton-szerver.\n"
-"2.Ellenőrizze, milyen címről és melyik portról elérhető a szerver.\n"
-"3.Ha a kliens és a szerver között tűzfal van, ellenőrizze, hogy a Tryton-szerver címet és portot (általában 8000) a tűzfal nem blokkoljaVálassza az \"Átdolgozás\"-t, hogy a címet hozzá igazítsa."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Új adatbank létrehozása"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "Létrehozás"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Új adatbank létrehozása."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Tryton-szerver beállításai"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Szerver kapcsolat"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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-szerver címe mutatkozik. Vigye be a szerverhez a 'localhost' és Port "
-"'8000', ha a szerver lokal ezen a számítógépen van telepítve. Kattintson az "
-"\"Átdolgozás\"-ra, hogy ezt a címet megváltoztassa."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "Átdolgoz"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Szerverkapcsolat konfiguráció..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Tryton Server jelszó:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"Adminisztrációs jelszó megadása a Tryton szerverhez. Ez a jelszó nem egy "
-"Tryton felhasználó jelszava, hanem általában a Tryton szerver "
-"konfigurációjában van megadva."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Adatbank beállítások"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Adatbank neve:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Adja meg az adatbank új nevét\n"
-"Minden betű, szám és _(aláhúzás) engedélyezett\n"
-"Nem engedélyezett: ékezet, szóköz vagy jelek mint"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Alapértelmezett nyelv:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Válasszon alapértelmezett nyelvet az új adatbankhoz. A telepítés után "
-"lehetőség van az adminisztrációs menüben a nyelvet beállítani."
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Adminisztrátor jelszava"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Válasszon jelszót adminisztrációra jogosult felhasználónak az új adatbankhoz.Ezzel a jelszóval bejelentkezhet az új adatbankba\n"
-"Felhasználónév: admin\n"
-"Jelszó<az itt megadott jelszó>"
-
-#: tryton/gui/window/dbcreate.py:274
-msgid "Confirm admin password:"
-msgstr "Jelszó megerősítése:"
-
-#: tryton/gui/window/dbcreate.py:284
-msgid "Type the Admin password again"
-msgstr ""
-"Ismételje meg a adminisztrátor jelszót, hogy biztos legyen, hogy nem ütötte "
-"fékre először."
-
-#: tryton/gui/window/dbcreate.py:333
-msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr "A két megadott adminisztrátor jelszó nem egyezik\n"
-
-#: tryton/gui/window/dbcreate.py:335
-msgid "Passwords doesn't match!"
-msgstr "A jelszavak nem azonosak!"
-
-#: tryton/gui/window/dbcreate.py:343
-msgid ""
-"A database with the same name already exists.\n"
-"Try another database name."
-msgstr ""
-"Létezik mér egy adatbank ezzel a névvel\n"
-"Próbáljon meg egy másik nevet."
-
-#: tryton/gui/window/dbcreate.py:346
-msgid "This database name already exist!"
-msgstr "Ez az adatbank név már létezik!"
-
-#: tryton/gui/window/dbcreate.py:359
-msgid "Sorry, wrong password for the Tryton server. Please try again."
-msgstr "Hibás jelszó a Tryton szerverbe. Próbálja meg újra."
-
-#: 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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Ismeretlen hiba miatt nem lép kapcsolatba a Tryton szerverrel\n"
-"Ha egy adatbank létesítve lett, lehet, hogy ez nem teljes vagy defektes. Tanácsos az adatbank törlése.Kérem ügyeljenek a következő hibajelentésre további információkhoz ezzel a hibával kapcsolatban.\n"
-"Hibajelentés:\n"
-
-#: tryton/gui/window/dbcreate.py:375
-msgid "Error creating database!"
-msgstr "Hiba az adatbank létrehozásakor"
-
-#: tryton/gui/window/dbdumpdrop.py:26
-msgid "Could not connect to server!"
-msgstr "Nem sikerült csatlakozni a kiszolgálóhoz."
-
-#: tryton/gui/window/dbdumpdrop.py:30
-msgid "This client version is not compatible with the server!"
-msgstr "Ennek a kliensnek a verziója nem kompatibilis a szerverrel!"
-
-#: tryton/gui/window/dbdumpdrop.py:39
-msgid "No database found, you must create one!"
-msgstr "Nem talált adatbankot! Kérem, egy újat létrehozni."
-
-#: tryton/gui/window/dbdumpdrop.py:77
-msgid "Backup a database"
-msgstr "Adatbank mentése"
-
-#: tryton/gui/window/dbdumpdrop.py:78
-msgid "Backup"
-msgstr "Mentés"
-
-#: tryton/gui/window/dbdumpdrop.py:79
-msgid "Backup the choosen database."
-msgstr "A kiválasztott adatbank mentése."
-
-#: tryton/gui/window/dbdumpdrop.py:81
-msgid "Choose a Tryton database to backup:"
-msgstr "Válassza ki a menteni kívánt adatbankot."
-
-#: tryton/gui/window/dbdumpdrop.py:83
-msgid "Delete a database"
-msgstr "Adatbank törlése"
-
-#: tryton/gui/window/dbdumpdrop.py:84
-msgid "Delete"
-msgstr "Töröl"
-
-#: tryton/gui/window/dbdumpdrop.py:85
-msgid "Delete the choosen database."
-msgstr "A kiválasztott adatbank törlése."
-
-#: tryton/gui/window/dbdumpdrop.py:87
-msgid "Choose a Tryton database to delete:"
-msgstr "Válassza ki a törölni kívánt adatbankot:"
-
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
-msgid "Server Connection:"
-msgstr "Kiszolgálókapcsolat"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Adatbank:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Profilszerkesztő"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Hozzáadás"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Eltávolítás"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Host:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Létrehozás"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Adatbank:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Adatbanklista lekérdezése..."
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Felhasználónév:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Nem sikerült csatlakozni a kiszolgálóhoz"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Inkompatibilis szerververzió"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Nem sikerült csatlakozni a kiszolgálóhoz"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Bejelentkezés"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Mégse"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "_Mégse"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "Kapcsolódik"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Kapcsolódás helyreállítása a Tryton szerverhez."
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "Profilok kezelése"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Host-/adatbank adatok"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Felhasználónév:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Adatbank visszaállítása"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Adatok a visszaállításhoz:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Válassza ki a visszaállítani kívánt adatbankot.\n"
-"Engedélyezett az alfanumerikus karakter és_(aláhúzás)\n"
-"pl.: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Új adatbank neve:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Adatbank aktualizálása:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Aktiváláskor egy adatbank újra előállításakor, amelyet egy korábbi Tryton "
-"verzióval lett előállítva, az adatbank automatikus aktualizálódik."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Visszaállítás"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "Adatbank visszaállítása adatokból."
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "E-mail"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "E-mail beállítások"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Parancssor:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Az elérhető helyettesítők jelmagyarázata:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "-hoz, -hez"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Tárgy:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Szöveg:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Melléklet:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Előző"
 
@@ -1073,10 +719,10 @@ msgstr "Előző"
 msgid "Previous Record"
 msgstr "Előző adat"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Következő"
 
@@ -1160,78 +806,78 @@ msgstr "Adat exportálása"
 msgid "_Import Data..."
 msgstr "Adat importálása"
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Melléklet(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Legalább egy adatot kell kiválasztani."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Által létrehozva"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Létrehozás dátuma"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Utolsó módosítás"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Módosítás dátuma "
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Típus:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Biztos törölni szeretné?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Biztos törölni  szeretné?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Adat nincs törölve!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Adat törölve"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "A másolaton dolgozik"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Adat mentve"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr "-tól"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1281,7 +927,7 @@ msgid "Print report"
 msgstr "Jelentés nyomtatása"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Ismeretlen"
 
@@ -1289,19 +935,24 @@ msgstr "Ismeretlen"
 msgid "Limit"
 msgstr "Korlátozás"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Keresési beállítások"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Korlát:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Beállítások"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Felhasználói beállítások szerkesztése"
 
@@ -1309,19 +960,15 @@ msgstr "Felhasználói beállítások szerkesztése"
 msgid "Preference"
 msgstr "Beállítások"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Jelenlegi jelszó:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Szerkesztés"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Szerkesztés kiválasztása"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Szerkesztés:"
 
@@ -1329,152 +976,152 @@ msgstr "Szerkesztés:"
 msgid "Keyboard Shortcuts"
 msgstr "Gyorsbillentyűk"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Gyorsbillentyű szövegbeíráshoz"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Kijelölt szöveg kiválasztása"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "_Kijelölt szöveg másolása"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Kijelölt szöveg beillesztése"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Következő Widget"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Előző Widget"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Gyorsbillentyű az összekötő mezők beírásához"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Új kapcsolat létrehozása"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Kapcsolatok keresése/megnyitása"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Gyorsbillentyűk lista mezők beírásához"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Új sor létrehozása"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Kapcsolat megnyitása"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Kijelölés törlésre"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "A törlési kijelölés visszavonása"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Widget szerkesztéshez"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1539,7 +1186,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Tippek"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Tippek mutatása Tryton indításakor"
 
@@ -1572,7 +1219,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Kódolás:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Mezőnév"
 
@@ -1598,42 +1245,42 @@ msgstr "Export mentése"
 msgid "_Delete Export"
 msgstr "Export törlése"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Megnyitás"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Mezőnév hozzáadása"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Mi legyen az export neve?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "'%s' definiálásának figyelembe vétele?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d adat mentve"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d adatok mentve!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1641,30 +1288,30 @@ msgstr ""
 "Error message:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Hivatkozás"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Hozzáad"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Mező eltávolítása<Entf>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Új adat létrehozása.<F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Kiválasztott adatok törlése<Entf>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Törlés visszavonása<Einfg>"
 
@@ -1681,9 +1328,9 @@ msgstr "Automatikus felismerés"
 msgid "File to Import:"
 msgstr "Importadatok:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Megnyitás..."
 
@@ -1691,184 +1338,207 @@ msgstr "Megnyitás..."
 msgid "Lines to Skip:"
 msgstr "Átugrandó sorok:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Először ki kell jelölni legalább egy fájlt."
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Hiba a CSV fájl megnyitásakor"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Hiba az adat feldolgozásnál a %s mezőben."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d adat importálva..."
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d adat importálva..."
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Wizard"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Által létrehozva"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Létrehozás dátuma"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Által módosítva"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Módosítás dátuma"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "A menü nem látható"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "A menü láthatósága nem állítható be"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Mentés másként"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Kép mérete"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Szélesség:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Magasság:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG Kép (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Mentés másként"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+msgid "Image size too large."
 msgstr "Kép túl nagy!"
 
 #: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "Szűrő"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Szűrő könyvjelzők megjelenítése"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Könyvjelző eltávolítása"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "A szűrőt könyvjelzőként hozzáadni"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Könyvjelző neve:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Keresés"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Ma"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Heti nézet"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Havi nézet"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Hét"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Törlés"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Összes fájl"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Magyarázat mutatása"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Érték hozzáadása"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "„%s” eltávolítása"
@@ -1877,63 +1547,70 @@ msgstr "„%s” eltávolítása"
 msgid "Images"
 msgstr "Képek"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Meglévő adat hozzáadása"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Kijelölt adat törlése<Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "Adat megnyitása<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Adat keresése<F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "A kiválasztott adat eltávolítása<Entf>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "A kiválasztott adat átdolgozása<F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Fordítás"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Szerkesztés"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Életlen"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "Az adatot menteni kell, mielőtt egy fordítást hozzá lehet adni!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Más nyelv nem használható!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo
index f561b42..ce33fa7 100644
Binary files a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo and b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
index 099da86..21405c0 100644
--- a/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/it_IT/LC_MESSAGES/tryton.po
@@ -45,69 +45,89 @@ msgid "File \"%s\" not found"
 msgstr "File \"%s\" non trovato"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Impossibile scrivere il file di configurazione %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Impossibile impostare la localizzazione %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Scegliere un'azione"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Nessuna azione definita!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Connessione Tryton"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Porta:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Selezione"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Selezione:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Salva come..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Ignorare sempre l'avviso"
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Procedere?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Conferma"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Eccezione di concorrenza"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -125,50 +145,50 @@ msgstr ""
 "- \"Compare\" per vedere la versione modificata;\n"
 "- \"Write Anyway\" per salvare la versione attuale."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Confrontare"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Scrivere comunque"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Errore"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Segnala un bug"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Errore di applicazione!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Errore:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Per segnalare bugs è necessario avere un account in  <u>%s</u>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Bug Tracker"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Utente:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Password:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,45 +196,49 @@ msgstr ""
 "Lo stesso bug è stato già segnalato da altro utente.\n"
 "Per tua informazione il tuo nome utente è aggiunto alla nosy-list di questo problema"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Creato nuovo bug con ID"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Errore di connessione!\n"
 "Nome utente o password errati!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Eccezione:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "La fingerprint del server è cambiata dall'ultima connessione!\n"
 "L'applicazione terminerà la connessione a questo server finché il fingerprint non sia corretto."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Rischio di sicurezza!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Errore di connessione!\n"
 "Impossibile connettersi al server!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Errore di rete!"
 
 #: tryton/common/completion.py:22
@@ -225,61 +249,57 @@ msgstr "<i>Cerca...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Crea...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Valore"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Valore visualizzato"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Formato"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Formato di visualizzazione"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Apertura calendario"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Formato data"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Formato data visualizzato"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sì"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "True"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "o"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "True"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "False"
 
@@ -291,27 +311,27 @@ msgstr "Modifica..."
 msgid "Attachments..."
 msgstr "Allegati..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Azioni..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Riferire..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Segnala..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "E-Mail"
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Stampa..."
 
@@ -343,183 +363,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_File"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_User"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Options"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_vorites"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Help"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Nessun risultato trovato."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Connect"
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Disconnect"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Data_base"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nuovo Database"
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Ripristina Database"
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_Copia Database"
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Elimi_na database"
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Esci"
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Preferenze"
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Ricarica menu"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "_Menu Toggle"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "_Global Search"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Toolbar"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Default"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Testo e Icone"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Icone"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Testo"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Barra dei Menu"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Cambia acceleratori"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Modalità"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normale"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Modulo"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Salva larghezza/altezza"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Salva diagramma ad albero"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Controllo ortogbrafico"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Scheda precedente"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_Scheda Successiva"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Limite di ricerca..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Email"
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Salva opzioni"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Tips"
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Scorciatoie da tastiera"
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_About"
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "Gestione Preferiti"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Ricerca"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,98 +528,14 @@ msgstr ""
 "L'azione seguente richiede la chiusura di tutte le finestre.\n"
 "Vuoi continuare?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Chiudere la scheda"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Stai per eliminare un database Tryton.\n"
-"Sei sicuro di procedere?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Password sbagliata per il server Tryton\n"
-"Fare un nuovo tentativo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Accesso negato!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Eliminazione del database non riuscita con messaggio di errore:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Eliminazione del database non riuscita!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Eliminazione del database riuscita!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Apertura file di backup per il ripristino"
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Non è possibile ripristinare un database protetto da password.\n"
-"Il backup ed il ripristino devono essere fatti manualmente."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Il database è protetto da password!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Password per il server Tryton errata.\n"
-"Per cortesia tentare di nuovo."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Il ripristino del database non è riuscito con messaggio di errore:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Ripristino del database non riuscito!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Database ripristinato con successo!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Non è possibile duplicare un database protetto da password.Il backup ed il "
-"ripristino necessitano di essere fatti manualmente."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Il dump del database non è riuscito, con messaggio di errore:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Dump del database non riuscito!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Copia del database riuscita!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Allegato(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -629,7 +546,7 @@ msgid "Create a new record"
 msgstr "Crea nuovo record"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Salva"
 
@@ -638,8 +555,8 @@ msgid "Save this record"
 msgstr "Salva questo record."
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Cambia"
 
@@ -680,392 +597,122 @@ msgstr "_Eliimina"
 msgid "_Close Tab"
 msgstr "_Chiudi scheda"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"Questo è l'URL del server Tryton. Usa il server 'localhost' e la porta "
-"'8000' se il server è installato in questo compiuter. Clicca su 'Change' per"
-" cambiare l'indirizzo."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Nessuna connessione!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Connessione al server non riuscita!\n"
-"1. Prova a verificare se il server è in funzione.\n"
-"2. Individua in quale indirizzo e porta è in ascolto.\n"
-"3. Se c'è un firewall fra server e questo client, assicura che l'indirizzo del server e la porta (normalmente 8000) non siano bloccati.\n"
-"Clicca su 'Change' per cambiare l'indirizzo."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Crea nuovo database"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_rea"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Crea il nuovo database"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Installazione del server:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Connessione del Server:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"Questo è l'URL del server. Usare il server 'localhost' e la porta '8000' se "
-"il server è installato in questo computer. Cliccare su 'Change' per cambiare"
-" l'indirizzo."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "C_ambia"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Impostazione della connessione del server..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Password del server Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"Questa è la password del server Tryton. Non appartiene ad un utente reale. "
-"Questa password viene generalmente definita nella configurazione di trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Configurazione nuovo database"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nome database:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Scegli il nome del nuovo database.\n"
-"I caratteri permessi sono alfanumerici o _(underscore)\n"
-"Devi evitare tutti gli accenti, lo spazio o i caratteri speciali! esempio: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Lingua di default:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Scegli la lingua di default da installare in questo database. Potrai "
-"installare nuove linque attraverso il menu di gestione del sistema."
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Password admin:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Scegli una password per l'utente admin del nuovo database. Con queste credenziali potrai poi accedere al database:\n"
-"Nome utente: admin\n"
-"Password:<The password you set here>"
-
-#: tryton/gui/window/dbcreate.py:274
-msgid "Confirm admin password:"
-msgstr "Conferma la password admin:"
-
-#: tryton/gui/window/dbcreate.py:284
-msgid "Type the Admin password again"
-msgstr "Ridigita la password admin"
-
-#: tryton/gui/window/dbcreate.py:333
-msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr "La nuova password admin non coincide con il campo di conferma.\n"
-
-#: tryton/gui/window/dbcreate.py:335
-msgid "Passwords doesn't match!"
-msgstr "Le passwords non coincidono!"
-
-#: tryton/gui/window/dbcreate.py:343
-msgid ""
-"A database with the same name already exists.\n"
-"Try another database name."
-msgstr ""
-"Un database con lo stesso nome esiste già.\n"
-"Prova un altro nome di database."
-
-#: tryton/gui/window/dbcreate.py:346
-msgid "This database name already exist!"
-msgstr "Questo database esiste già!"
-
-#: tryton/gui/window/dbcreate.py:359
-msgid "Sorry, wrong password for the Tryton server. Please try again."
-msgstr "Password errata per il server Tryton. Tentare di nuvo."
-
-#: 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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Il database non può essere creato per un motivo sconosciuto.\n"
-"Se c'è un database creato potrebbe essere danneggiato. Tenta di eliminare il database. Verifica il messaggio di errore per eventuali informazioni.\n"
-"Messaggio di errore:\n"
-
-#: tryton/gui/window/dbcreate.py:375
-msgid "Error creating database!"
-msgstr "Errore nella creazione del database!"
-
-#: tryton/gui/window/dbdumpdrop.py:26
-msgid "Could not connect to server!"
-msgstr "Collegamento con server non riuscito!"
-
-#: tryton/gui/window/dbdumpdrop.py:30
-msgid "This client version is not compatible with the server!"
-msgstr "Questa versione del client non è compatibile con il server!"
-
-#: tryton/gui/window/dbdumpdrop.py:39
-msgid "No database found, you must create one!"
-msgstr "Nessun database trovato, è necessario crearne uno!"
-
-#: tryton/gui/window/dbdumpdrop.py:77
-msgid "Backup a database"
-msgstr "Copia un database"
-
-#: tryton/gui/window/dbdumpdrop.py:78
-msgid "Backup"
-msgstr "Copia"
-
-#: tryton/gui/window/dbdumpdrop.py:79
-msgid "Backup the choosen database."
-msgstr "Copia il database selezionato."
-
-#: tryton/gui/window/dbdumpdrop.py:81
-msgid "Choose a Tryton database to backup:"
-msgstr "Seleziona un database tryton da copiare:"
-
-#: tryton/gui/window/dbdumpdrop.py:83
-msgid "Delete a database"
-msgstr "Elimina un database"
-
-#: tryton/gui/window/dbdumpdrop.py:84
-msgid "Delete"
-msgstr "Elimina"
-
-#: tryton/gui/window/dbdumpdrop.py:85
-msgid "Delete the choosen database."
-msgstr "Elimina il database selezionato"
-
-#: tryton/gui/window/dbdumpdrop.py:87
-msgid "Choose a Tryton database to delete:"
-msgstr "Scegliere un database Tryton da eliminare:"
-
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
-msgid "Server Connection:"
-msgstr "Connessione Server:"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Database:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor del profilo"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profilo"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "Profilo"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Rimuovi"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Host:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Crea"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Database:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Preleva la lista dei database"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Nome utente:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Impossibile connettersi al server"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Versione del server incompatibile"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Impossibile connettersi al server"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Accedi"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Cancella"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancella la connessione al server Tryton"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "C_onnetti"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Connetti il server Tryton"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profilo:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Gestisci profili"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Informazione su Host/ database"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "nome utente"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Ripristina Database"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "File da ripristinare"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Scegli il nome del database da ripristinare.\n"
-"I caratteri permessi sono alfanumerici o _(underscore)\n"
-"E' necesario evitare tutti gli acccenti, lo spazio o i caratteri speciali!\n"
-"Esempio: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nuovo nome del database"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Aggiorna Database:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Verifica se c'è un aggiornamento automatico del database dopo il ripristino "
-"del database da una versione precedente di Tryton."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Ripristina"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "Ripristina il database dal file"
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Impostazioni programma Email"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Riga di comando:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Leggenda dei segnaposto disponibili:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "a:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr ".CC"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Oggetto:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Corpo:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Allegato:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Precedente"
 
@@ -1073,10 +720,10 @@ msgstr "Precedente"
 msgid "Previous Record"
 msgstr "Record Precedente"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Prossimo"
 
@@ -1161,78 +808,78 @@ msgstr "_Esporta dati"
 msgid "_Import Data..."
 msgstr "_Importa dati"
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Allegato(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Devi selezionare un record!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Utente di creazione:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Data di creazione:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Ultima modifica a:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Ultima data di modifica:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modello:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Sei sicuro di rimuovere questo record?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Sei sicuro di rimuovere questi records?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Record non rimossi!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Records rimossi!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Attivo ora nel (nei) record duplicato!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Record salvato!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr "di"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1282,7 +929,7 @@ msgid "Print report"
 msgstr "Stampa report"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Sconosciuto"
 
@@ -1290,19 +937,24 @@ msgstr "Sconosciuto"
 msgid "Limit"
 msgstr "Limite"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Impostazione dei limiti di ricerca"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Limite:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferenze"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Modifica le preferenze dell'utente"
 
@@ -1310,19 +962,15 @@ msgstr "Modifica le preferenze dell'utente"
 msgid "Preference"
 msgstr "Preferenza"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Password attuale:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Revisione"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Scegli una revisione"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Revisione:"
 
@@ -1330,152 +978,152 @@ msgstr "Revisione:"
 msgid "Keyboard Shortcuts"
 msgstr "Scorciatoie da tastiera"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Scorciatoie imputazioni di testo"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Taglia testo selezionato"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Copia il testo selezionato"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Incolla il testo copiato"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Prossimo oggetto"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Oggetto precedente"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Scorciatoie imputazioni relazionate"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Crea nuova relazione"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Apri/Cerca relazione"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Lista scorciatoie registrazioni"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Crea nuova riga"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Apri relazione"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Seleziona riga da eliminare"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Deseleziona riga da eliminare"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Widget di modifica"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1530,7 +1178,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Tips"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Mostra un nuovo suggerimento la prossima volta"
 
@@ -1563,7 +1211,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Codifica:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Nome di campo"
 
@@ -1589,72 +1237,72 @@ msgstr "Salva esportazione"
 msgid "_Delete Export"
 msgstr "Elimina Esportazione"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Apri"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Aggiungi_nomi di campo"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (stringa)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Qual è il nome di questa esportazione?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sostituisci definizione '%s'?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d record salvato!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d record salvato!"
 
-#: tryton/gui/window/win_export.py:329
+#: tryton/gui/window/win_export.py:330
 #, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 #, fuzzy
 msgid "Add"
 msgstr "Profilo"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Crea nuovo record"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Elimina il record selezionato <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Non eliminare il record selezionato <Ins>"
 
@@ -1671,9 +1319,9 @@ msgstr "Autorilevamento"
 msgid "File to Import:"
 msgstr "File da importare:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Apri..."
 
@@ -1681,184 +1329,206 @@ msgstr "Apri..."
 msgid "Lines to Skip:"
 msgstr "Righe da saltare."
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Devi prima selezionare un file di import!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Errore nell'apertura del file CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Errore nel processare il file nel campo %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr " %d record importati"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr " %d record importati!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Creazione utente"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Data di creazione"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Utente di modifica"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Data di modifica"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "Impossibile ottenere la vista ad albero"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "Impossibile configurare la vista ad albero"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Salva come"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Dimensione immagine"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Salva come"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltri"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Mostra segnalibri dei filtri"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Rimuovi questo segnalibro"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Memorizza questo filtro"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Nome segnalibro:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Trova"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Oggi"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Vista settimanale"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Vista mensile"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Settimana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Pulisci"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Tutti i files"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Mostra testo semplice"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Aggiungi valore"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Rimuovi \"%s\""
@@ -1867,65 +1537,71 @@ msgstr "Rimuovi \"%s\""
 msgid "Images"
 msgstr "Immagini"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Aggiungi un record esistente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Elimina il record selezionato <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Rimuovi i record selezionati"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Modifica il record selezionato <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 #, fuzzy
 msgid "Translation"
 msgstr "Traduzione"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Modifica"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Vago"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "E' necessario salvare il record prima di aggiungere le traduzioni!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Nessun altra lingua disponibile!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo
index 85f59a4..06be136 100644
Binary files a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo and b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
index 51f095d..58d78d5 100644
--- a/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po
@@ -43,69 +43,89 @@ msgid "File \"%s\" not found"
 msgstr "ファイル \"%s\" が見つかりません"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "設定ファイル %s が書きこめません!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "動作を選択する"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "動作が定義されていません!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton接続"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "サーバー名:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "ポート番号:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "選択"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "あなたの選択:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "名前を付けて保存"
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "常にこの警告を無視する。"
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "確認"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "並列性例外"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -123,50 +143,50 @@ msgstr ""
 "    - \"比較\"で変更されたものを見る\n"
 "    - \"とにかく書き込む\"で現在の物を書き込む。"
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "比較"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "とにかく書き込む"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "エラー"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "バグ報告"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "アプリケーションエラー!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "エラー:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format, fuzzy, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "記録しておきたいバグを報告<u>%s</u>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "バグトラッカー"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "ユーザー:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "パスワード:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -174,45 +194,49 @@ msgstr ""
 "別のユーザーに同じバグが報告されています。\n"
 "お知らせするためにこの問題の通知リストにあなたのユーザー名を追加しました。"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "新しいバグがID番号と一緒に作成されました"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "接続エラー!\n"
 "ユーザー名またはパスワードが違います!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "例外:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "このサーバーのフィンガープリントが最後の接続から変化しています!\n"
 "フィンガープリントが訂正されるまで接続を停止します。"
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "セキュリティリスク!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "接続エラー!\n"
 "サーバーに接続できません!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "ネットワーク エラー!"
 
 #: tryton/common/completion.py:22
@@ -223,66 +247,60 @@ msgstr ""
 msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "偽"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "ノーマル(_N)"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "カレンダーを開く"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "yes"
-msgstr "バイト"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "真"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "真"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "偽"
 
@@ -296,31 +314,31 @@ msgstr "終了(_Q)"
 msgid "Attachments..."
 msgstr "添付:"
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 #, fuzzy
 msgid "Actions..."
 msgstr "実行(_A)"
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 #, fuzzy
 msgid "Relate..."
 msgstr "削除(_D)"
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 #, fuzzy
 msgid "Report..."
 msgstr "データのインポート(_I)"
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 #, fuzzy
 msgid "E-Mail..."
 msgstr "Eメール(_E)"
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 #, fuzzy
 msgid "Print..."
 msgstr "印刷(_P)"
@@ -353,282 +371,179 @@ msgstr "分"
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "ファイル(_F)"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "ユーザー(_U)"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "オプション(_O)"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "ヘルプ(_H)"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "接続(_C)"
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "切断(_D)"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "データベース(_b)"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "新規データベース(_N)"
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "データベースの復元(_R)"
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "データベースのバックアップ(_B)"
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "データベースの削除(_P)"
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "終了(_Q)"
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "設定(_P)"
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "再読み込み(_R)"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "ツールバー(_T)"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "デフォルト(_D)"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "テキストとアイコン(_T)"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "アイコン(_I)"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "テキスト(_T)"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "メニューバー(_M)"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "アクセラレーターの変更"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "モード(_M)"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "ノーマル(_N)"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "フォーム(_F)"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "幅/高さを保存"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "スペルチェック"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "前(_P)"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr ""
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "Eメール(_E)"
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "オプションの保存(_S)"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "今日の技(_T)"
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "キーボードショートカット(_K)"
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "Trytonについて"
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "検索"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "タブを閉じる"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Trytonデータベースを削除します。\n"
-"本当に実行しますか?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Trytonサーバのパスワードが違います\n"
-"もう一度試して下さい。"
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "アクセスが拒否されました!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "データベースの削除に失敗しました。エラーメッセージ:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "データベースの削除に失敗しました!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "データベースの削除に成功しました!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "復元のためバックアップファイルを開く"
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"パスワードで保護されたデータベースを復元できません。\n"
-"バックアップと復元は手動でする必要があります。"
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "データベースはパスワードで保護されています!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Trytonサーバーのパスワードが違います。\n"
-"もう一度試して下さい。"
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "データベースの復元に失敗しました。エラーメッセージ:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "データベースの復元に失敗しました!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "データベースの復元に成功しました!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"パスワードで保護されたデータベースのダンプはできません。\n"
-"バックアップと復元は手動でする必要があります。"
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "データベースのダンプに失敗しました。エラーメッセージ:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "データベースのダンプに失敗しました!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "データベースのバックアップに成功しました!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "添付(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 #, fuzzy
@@ -640,7 +555,7 @@ msgid "Create a new record"
 msgstr "レコードの新規作成"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "保存"
 
@@ -649,8 +564,8 @@ msgid "Save this record"
 msgstr "レコードの保存"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "切替"
 
@@ -691,389 +606,127 @@ msgstr "削除(_D)"
 msgid "_Close Tab"
 msgstr "タブを閉じる(_C)"
 
-#: tryton/gui/window/dbcreate.py:29
-#, fuzzy
-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サーバーのURLです。このコンピュータにインストールされているのならばサーバーに'localhost',ポート番号に'8070'を使って下さい。'変更'をクリックするとアドレスを変更します。"
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "接続がありません!"
-
-#: tryton/gui/window/dbcreate.py:43
-#, fuzzy
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"サーバーに接続できません!\n"
-"1. サーバーが動作しているか確認して下さい。\n"
-"2. 使用しているアドレスとポート番号を確認して下さい\n"
-"3. サーバーとクライアントの間にファイアウォールがある場合,サーバーのアドレスとポート番号(通常は8070)がブロックされてないか確かめて下さい。\n"
-"'変更'をクリックしてアドレスを変更して下さい。"
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "新しいデータベースを作成する"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "作成(_C)"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "新しいデータベースを作成する。"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "サーバーセットアップ:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "サーバー接続:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-#, fuzzy
-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 ""
-"これはサーバーのURLです。このコンピュータにサーバーがインストールされていればサーバーは'localhost'でポート番号は'8070'です。'変更'をクリックしてアドレスを変更します。"
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "変更(_C)"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "サーバ接続をセットアップする"
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Trytonサーバパスワード:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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:215
-msgid "New database setup:"
-msgstr "新規データベースセットアップ:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "データベース名:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"新しいデータベースの名前を選択する。\n"
-"英数字と_(アンダースコア)が使えます。\n"
-"アセントや空白・特殊文字は避けて下さい! 例: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "デフォルトの言語:"
-
-#: tryton/gui/window/dbcreate.py:251
-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:255
-msgid "Admin password:"
-msgstr "管理者パスワード:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"新規データベースの管理者パスワードを選択して下さい。このパスワードは後にデータベースにログインするのに使います:\n"
-"ユーザー名: admin\n"
-"パスワード: <ここにパスワードを入力>"
-
-#: tryton/gui/window/dbcreate.py:274
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"未知の理由でデータベースが作成できませんでした。\n"
-"作成されていたとしても壊れているでしょう。データベースが削除されているかもしれません。可能な情報をエラーメッセージでチェックして下さい。\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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "データベース:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "追加(_A)"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "削除(_R)"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 #, fuzzy
 msgid "Host:"
 msgstr "ポート番号:"
 
-#: tryton/gui/window/dblogin.py:98
-#, fuzzy
-msgid "Create"
-msgstr "作成(_C)"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "データベース:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "新規データベースセットアップ:"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 #, fuzzy
 msgid "Username:"
 msgstr "ユーザー名:"
 
-#: tryton/gui/window/dblogin.py:297
-#, fuzzy
-msgid "Could not connect to the server"
-msgstr "サーバーに接続できませんでした!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "サーバのバージョンが非互換です!"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+#, fuzzy
+msgid "Could not connect to the server"
+msgstr "サーバーに接続できませんでした!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "ログイン"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "キャンセル(_C)"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Trytonサーバへの接続を中止する"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "接続(_N)"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Trytonサーバーへ接続する"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "ユーザー名:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "データベースの復元"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "復元するファイル:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"復元するデータベースの名前を選択して下さい。\n"
-"英数字と\"_\"(アンダースコア)が使えます。\n"
-"アセントや空白・特殊文字は使えません!\n"
-"例: tryton "
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "新しいデータベース名:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "データベースをアップデートする:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr "以前のTrytonのバージョンのデータベースから復元したデータベースが自動的に更新できるか確認"
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "復元"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "データベースをファイルから復元"
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Eメール"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Emailプログラムの設定"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "コマンドライン:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "利用できるプレースホルダーの凡例:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "宛先:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "題名:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "本文:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "添付:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "前"
 
@@ -1081,10 +734,10 @@ msgstr "前"
 msgid "Previous Record"
 msgstr "前のレコード"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "次"
 
@@ -1173,78 +826,78 @@ msgstr "データのエクスポート(_E)"
 msgid "_Import Data..."
 msgstr "データのインポート(_I)"
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "添付(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "レコードを一つ選択して下さい!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "作成日:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "最終更新ユーザー:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "モデル:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "このレコードを削除しますか?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "レコードが削除されませんでした!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "レコードが削除されました!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "重複したレコードで作業中です!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "レコードが保存されました!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " 中 "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1299,7 +952,7 @@ msgid "Print report"
 msgstr ""
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "未知"
 
@@ -1308,19 +961,24 @@ msgstr "未知"
 msgid "Limit"
 msgstr "リミット:"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr ""
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "リミット:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "設定"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "個人設定の編集"
 
@@ -1328,21 +986,17 @@ msgstr "個人設定の編集"
 msgid "Preference"
 msgstr "設定"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "現在のパスワード:"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "前"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "選択"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "前"
@@ -1351,155 +1005,155 @@ msgstr "前"
 msgid "Keyboard Shortcuts"
 msgstr "キーボードショートカット"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "選択されたテキストを切り取り"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "選択されたテキストをコピー"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "コピーされたテキストを貼り付け"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "次のウィジェット"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "前のウィジェット"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "リレーションエントリショートカット"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "新しいリレーションを作る"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "リレーションを開く/検索"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "テキストエントリショートカット"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "Create new line"
 msgstr "新しいリレーションを作る"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Open relation"
 msgstr "リレーションを開く/検索"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "エディションウィジェット"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1561,7 +1215,7 @@ msgstr ""
 msgid "Tips"
 msgstr "技"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "新しい技を次回も表示する(_D)"
 
@@ -1594,7 +1248,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "エンコーディング:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "フィールド名"
 
@@ -1620,42 +1274,42 @@ msgstr "エクスポートを保存"
 msgid "_Delete Export"
 msgstr "エクスポートを削除"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "開く"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "フィールド名を追加(_F)"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "このエクスポートの名前は何ですか?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d レコード保存されました!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1663,32 +1317,32 @@ msgstr ""
 "エラーメッセージ:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "リンク"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "追加"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "レコードの新規作成"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "選択したレコードを削除"
@@ -1706,9 +1360,9 @@ msgstr "自動検出"
 msgid "File to Import:"
 msgstr "インポートするファイル:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "開く"
 
@@ -1716,195 +1370,218 @@ msgstr "開く"
 msgid "Lines to Skip:"
 msgstr "スキップする行:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "最初にインポートするファイルを選択して下さい!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "CSVファイルを開くときにエラーが起こりました"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format, fuzzy, python-format
 msgid "Error processing the file at field %s."
 msgstr "ファイルの%sフィールドの処理でエラーが起こりました。"
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d レコードをインポートしました!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d レコードをインポートしました。"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "ウィザード"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 #, fuzzy
 msgid "ID"
 msgstr "日"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "作成ユーザー:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "作成日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "最終更新日:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "%s ロケールに設定できません"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "名前をつけて保存"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "画像サイズ"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "幅:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "高さ:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG画像 (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "名前をつけて保存"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 #, fuzzy
 msgid "F_ilters"
 msgstr "ファイル(_F)"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "検索"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "本文:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "ビューの切替"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "クリア"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "全てのファイル"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1913,70 +1590,76 @@ msgstr ""
 msgid "Images"
 msgstr "画像"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 #, fuzzy
 msgid "Add existing record"
 msgstr "レコードの保存"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
 #, fuzzy
-msgid "Open a record <F2>"
+msgid "Open the record <F2>"
 msgstr "レコードを開く"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "レコードを検索する"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 #, fuzzy
 msgid "Remove selected record"
 msgstr "選択したレコードを削除"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "選択したレコードを編集"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 #, fuzzy
 msgid "Translation"
 msgstr "翻訳を追加"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "翻訳を追加する前にレコードを保存して下さい!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "他の利用できる言語はありません"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/lo/LC_MESSAGES/tryton.mo b/tryton/data/locale/lo/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..9f09e3d
Binary files /dev/null and b/tryton/data/locale/lo/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po b/tryton/data/locale/lo/LC_MESSAGES/tryton.po
similarity index 55%
rename from tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
rename to tryton/data/locale/lo/LC_MESSAGES/tryton.po
index 2639603..d3adf21 100644
--- a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lo/LC_MESSAGES/tryton.po
@@ -45,69 +45,89 @@ msgid "File \"%s\" not found"
 msgstr "ບໍ່ພໍ້ ຟາຍລ໌ \"%s\" ນີ້"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "ບໍ່ສາມາດ ຂຽນ config file %s ນີ້ໄດ້."
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "ບໍ່ສາມາດຕັ້ງຄ່າ ທ້ອງຖິ່ນ %s ໄດ້."
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "ເລືອກການດຳເນີນການຂອງທ່ານ"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "ບໍ່ມີການດຳເນີນການທີ່ລະບຸໄວ້!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "ການເຊື່ອມຕໍ່ເຂົ້າ ໄຕຣຕັອນ"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "ແມ່ຂ່າຍ:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "ປະຕູເຊື່ອມຕໍ່:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "ການເລືອກ"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "ການເລືອກຂອງທ່ານ:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "ບັນທຶກເປັນ..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "ບໍ່ສົນກັບຄຳເຕືອນນີ້ເລີຍ."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "ທ່ານຕ້ອງການດຳເນີນການຕໍ່ໄປບໍ່?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "ການຢືນຢັນ"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "ຍົກເວັ້ນການເຂົ້າເຖິງພ້ອມກັນ"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -125,50 +145,50 @@ msgstr ""
 "    - \"ສົມທຽບ\" ເພື່ອເບິ່ງສະບັບທີ່ປ່ຽນແປງ;\n"
 "    - \"ຂຽນລົງເລີຍ\" ເພື່ອບັນທຶກ ສະບັບປັດຈຸບັນຂອງທ່ານ."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "ສົມທຽບ"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "ຂຽນລົງເລີຍ"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "ຜິດພາດ"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "ລາຍງານຂໍ້ຜິດພາດ"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "ໂປຣແກຣມ ຜິດພາດ!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "ຂໍ້ຜິດພາດ:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "ທ່ານຕ້ອງມີບັນຊີໃຊ້ຈຶ່ງຈະສາມາດລາຍງານຂໍ້ຜິດພາດ <u>%s</u> ນີ້ໄດ້"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "ໂຕຕິດຕາມ ຂໍ້ຜິດພາດ"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "ຜູ້ໃຊ້:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "ລະຫັດຜ່ານ:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,45 +196,49 @@ msgstr ""
 "ຂໍ້ຜິດພາດອັນດຽວກັນນີ້ ຖືກລາຍງານ ໂດຍຜູ້ໃຊ້ງານຄົນອື່ນແລ້ວ.\n"
 "ເພື່ອໃຫ້ທ່ານໄດ້ຮັບຂໍ້ມູນການແກ້ໄຂ ຊື່ເຂົ້າໃຊ້ງານຂອງທ່ານ ໄດ້ຖືກເພີ່ມ ເຂົ້າໃນ ບັນຊີລາຍຊື່ຂອງບັນຫານີ້້"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "ສ້າງ ລາຍການຂໍ້ຜິດພາດ ໃໝ່ ດ້ວຍ ເລກກຳກັບ "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "ການເຊື່ອມຕໍ່ ຜິດພາດ!\n"
 "ຊື່ຜູໃຊ້ ຫຼື ລະຫັດຜ່ານ ບໍ່ຖືກຕ້ອງ!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "ຂໍ້ຍົກເວັ້ນ:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "ແມ່ຂ່າຍລາຍພິມນີ້ວມື ຖືກປ່ຽນແປງ ຕັ້ງແຕ່ ການເຊື່ອມຕໍ່ເຂົ້າໃຊ້ ຄັ້ງລ້າສຸດ!\n"
 "ໂປຣແກຣມ ຈະຢຸດ ການເຊື່ອມຕໍ່ເຂົ້າແມ່ຂ່າຍນີ້ ຈົນກວ່າ ການພິມລາຍນີ້ວມຶ ຈະຖືກແກ້ໄຂ."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "ຄວາມປອດໄພ ມີຄວາມສ່ຽງ!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "ການເຊື່ອມຕໍ່ຜິດພາດ!\n"
 "ບໍ່ສາມາດ ເຊື່ອມຕໍ່ເຂົ້າຫາແມ່ຂ່າຍໄດ້!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "ເຄືອຂ່າຍ ຜິດພາດ!"
 
 #: tryton/common/completion.py:22
@@ -225,61 +249,57 @@ msgstr "<i>ຊອກຫາ...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>ສ້າງ...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "ຄ່າ"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "ຄ່າສະແດງອອກ"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "ຮູບແບບ"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "ຮູບແບບສະແດງອອກ"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "ໄຂປະຕິທິນ"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "ຮູບແບບວັນທີ"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "ຮູບແບບວັນທີທີ່ສະແດງອອກ"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "ມ"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "ແມ່ນ"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "ຈິງ"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "ຈ"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "ຈິງ"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "ຜິດ"
 
@@ -291,27 +311,27 @@ msgstr "ແກ້ໄຂ..."
 msgid "Attachments..."
 msgstr "ຄັດຕິດ..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "ໝາຍເຫດ..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "ດຳເນີນການ..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "ທີ່ກ່ຽວພັນ..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "ລາຍງານ..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "ອີ-ເມວລ໌..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "ພິມອອກ..."
 
@@ -343,183 +363,164 @@ msgstr "ນ"
 msgid "s"
 msgstr "ວ"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_ຟາຍລ໌"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_ຜູ້ໃຊ້"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_ທາງເລືອກ"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "ທີ່_ມັກຫຼາຍ"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_ຊ່ອຍເຫຼືອ"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "ບໍ່ພົບຜົນຊອກຫາ"
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_ເຊື່ອມຕໍ່..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_ຕັດການເຊື່ອມຕໍ່"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "ຖານ_ຂໍ້ມູນ"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_ສ້າງ ຖານຂໍ້ມູນ..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_ກູ້ຄືນ ຖານຂໍ້ມູນ..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_ສຳເນົາ ຖານຂໍ້ມູນ..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_ຖິ້ມ ຖານຂໍ້ມູນ..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_ອອກ..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_ການຕັ້ງຄ່າຂອງ..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_ໂຫຼດ ລາຍການຄຳສັ່ງໃໝ່"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "_ສະຫຼັບລາຍການຄຳສັ່ງ"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "_ຊອກຫາໂດຍລວມ"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_ແຖບເຄື່ອງມື"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_ຄ່າເດີມ"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_ຂໍ້ຄວາມ ແລະ ປຸ່ມລັດ"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_ປຸ່ມລັດ"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_ຂໍ້ຄວາມ"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_ແຖບຄຳສັ່ງງານ"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "ປ່ຽນໂຕເລັ່ງ"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_ແບບສະແດງ"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_ທຳມະດາ"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_ພີດີເອ (PDA)"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_ຮ່າງ"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "ບັນທຶກ ຄວາມກວ້າງ/ຄວາມສູງ"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "ບັນທຶກ ສະຖານະ ໂຄງສ້າງ"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "ຍ້າຍແບບໄວ"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "ກວດສອບການສະກົດຄຳ"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_ແຖບງານກ່ອນໜ້າ"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_ແຖບງານ ຕໍ່ໄປ"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "ຈຳກັດການຊອກຫາ..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_ອີເມວລ໌..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_ບັນທຶກ ທາງເລືອກ"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_ຂໍ້ແນະນຳ..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_ປຸ່ມລັດທາງແປ້ນພິມ..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_ກ່ຽວກັບ..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "ບໍລິຫານລາຍການທີ່ມັກ"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "ຊອກຫາ"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -527,98 +528,14 @@ msgstr ""
 "ການດຳເນີນການດັ່ງຕໍ່ໄປນີ້ ຕ້ອງການໃຫ້ ອັດແຖບງານທັງໝົດລົງ\n"
 "ທ່ານຕ້ອງການສືບຕໍ່ບໍ່?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "ອັດແຖບງານ"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"ທ່ານກຳລັງຈະລຶບ ຖານຂໍ້ມູນ ໄຕຣຕັອນ.\n"
-"ທ່ານແນ່ໃຈບໍ່ວ່າຈະດຳເນີນການຕໍ່?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"ລະຫັດ ເຂົ້າ ແມ່ຂ່າຍ ໄຕຣຕັອນ ຜິດ\n"
-"ກະລຸນາ ລອງໃໝ່ອີກ"
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "ການເຂົ້າຫາຖືກປະຕິເສດ!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "ການຖິ້ມຖານຂໍ້ມູນລົ້ມເຫຼວ ພ້ອມກັບຂໍ້ຄວາມແຈ້ງຜິດພາດ:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "ການຖິ້ມຖານຂໍ້ມູນລົ້ມເຫຼວ!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "ຖານຂໍ້ມູນຖືກຖິ້ມສຳເລັດ!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "ໄຂຟາຍລ໌ສຳເນົາຂໍ້ມມູນຂຶ້ນມາເພື່ອກູ້ຄືນ..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"ການກູ້ຄືນຖານຂໍ້ມູນທີ່ມີລະຫັດປ້ອງກັນ ເປັນໄປບໍ່ໄດ້.\n"
-"ການສຳເນົາຂໍ້ມູນ ແລະ ການກູ້ຄືນ ຕ້ອງການໃຫ້ດຳເນີນການເອງດ້ວຍມື."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "ຖານຂໍ້ມູນມີລະຫັດປ້ອງກັນ!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"ລະຫັດຜ່ານແມ່ຂ່າຍ ຜິດ!\n"
-"ກະລຸນາ ລອງອີກໃໝ່."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "ການກູ້ຄືນຂໍ້ມູນລົ້ມເຫຼວ ພ້ອມກັບຂໍ້ຄວາມແຈ້ງຜິດພາດ:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "ການກູ້ຄືນຖານຂໍ້ມູນ ລົ້ມເຫຼວ!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "ການກູ້ຄືນຖານຂໍ້ມູນສຳເລັດ!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"ການຖ້າຍໂອນຖານຂໍ້ມູນທີ່ມີລະຫັດປ້ອງກັນ ເປັນໄປບໍ່ໄດ້.\n"
-"ການສຳເນົາຂໍ້ມູນ ແລະ ການກູ້ຄືນ ຕ້ອງການໃຫ້ດຳເນີນການເອງດ້ວຍມື."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "ການໂອນຖ່າຍຖານຂໍ້ມູນລົ້ມເຫຼວ ດ້ວຍຂໍ້ຄວາມຜິດພາດແຈ້ງເຕືອນ:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "ການໂອນຖ່າຍຂໍ້ມູນລົ້ມເຫຼວ!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "ການສຳເນົາຂໍ້ມູນສຳເລັດຜົນ!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "ຄັດຕິດ(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -629,7 +546,7 @@ msgid "Create a new record"
 msgstr "ສ້າງແຖວຂໍ້ມູນໃໝ່"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "ບັນທຶກ"
 
@@ -638,8 +555,8 @@ msgid "Save this record"
 msgstr "ບັນທຶກແຖວຂໍ້ມູນນີ້"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "ສະຫຼັບ"
 
@@ -680,393 +597,122 @@ msgstr "_ລຶບ..."
 msgid "_Close Tab"
 msgstr "_ອັດແຖບງານ"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"ນີ້ແມ່ນທີ່ຢູ່ຂອງແມ່ຂ່າຍ ໄຕຣຕັອນ. ໃຫ້ໃຊ້ ແມ່ຂ່າຍ 'ແມ່ຂ່າຍກັບທີ່' "
-"ແລະປະຕູເຊື່ອມຕໍ່ '8000' ຖ້າຫາກແມ່ຂ່າຍ ຖືກຕິດຕັ້ງໄວ້ໃນຄັອມພິວເຕີຣ໌ນີ້. ກົດໃສ່"
-" 'ປ່ຽນ' ເພື່ອປ່ຽນ ທີ່ຢູ່."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "ບໍ່ມີການເຊື່ອມຕໍ່!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍນີ້ໄດ້!\n"
-"1. ລອງກວດເບິ່ງວ່າ ແມ່ຂ່າຍ ແລ່ນຢູ່ ຫຼື ບໍ່.\n"
-"2. ຊອກໃຫ້ເຫັນສາເຫດວ່າ ທີ່ຢູ່ໃດ ແລະ ປະຕູເຊື່ອມຕໍ່ໃດ ທີ່ມັນລໍຮັບຢູ່.\n"
-"3. ຖ້າຫາກວ່າ ມີລະບົບກຳແພງໄຟປ້ອງກັນຢູ່ ລະຫວ່າງກາງ ແມ່ຂ່າຍ ແລະ ລູກຂ່າຍ, ໃຫ້ແນ່ໃຈວ່າ ທີ່ຢູ່ ແລະ ປະຕູເຊື່ອມຕໍ່ (ໂດຍທົ່ວໄປແມ່ນ 8000) ຂອງ ແມ່ຂ່າຍ ບໍ່ໄດ້ຖືກກັນໄວ້.\n"
-"ໃຫ້ກົດໃສ່ 'ປ່ຽນ' ເພື່ອປ່ຽນທີ່ຢູ່."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "ສ້າງຖານຂໍ້ມູນໃໝ່"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "ສ້_າງ"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "ສ້າງຖານຂໍ້ມູນຂຶ້ນໃໝ່."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "ຕັ້ງຄ່າ ແມ່ຂ່າຍ:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "ການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"ນີ້ແມ່ນ ທີ່ຢູ່ ຂອງ ແມ່ຂ່າຍ. ໃຫ້ໃຊ້ ແມ່ຂ່າຍ 'ແມ່ຂ່າຍກັບທີ່' ແລະ ປະຕູເຊື່ອມຕໍ່"
-" '8000' ຖ້າຫາກແມ່ຂ່າຍ ຖືກຕິດຕັ້ງໄວ້ໃນຄັອມພິວເຕີຣ໌ນີ້. ກົດໃສ່ 'ປ່ຽນ' "
-"ເພື່ອປ່ຽນ ທີ່ຢູ່."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "ປ່ຽ_ນ"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "ຕັ້ງຄ່າການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "ລະຫັດຜ່ານແມ່ຂ່າຍໄຕຣຕັອນ:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"ນີ້ແມ່ນລະຫັດຜ່ານຂອງແມ່ຂ່າຍໄຕຣຕັອນ. ມັນບໍ່ແມ່ນເປັນຂອງຜູ້ໃຊ້ງານຕົວຈິງ. "
-"ລະຫັດຜ່ານນີ້ ໃຊ້ສຳລັບລະບຸໃນການກຳນົດຄ່າ ໄຕຣຕັອນດີ (Trytond) ເທົ່ານັ້ນ."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "ຕິດຕັ້ງຖານຂໍ້ມູນໃໝ່:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "ຊື່ຖານຂໍ້ມູນ:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"ເລືອກຊື່ຂອງຖານຂໍ້ມູນໃໝ່.\n"
-"ອະນຸຍາດໃຫ້ໃສ່ທັງ ໂຕອັກສອນແລະໂຕເລກ ຫຼື _ (ຂີດຕໍ່ລຸ່ມ)\n"
-"ທ່ານຕ້ອງຫຼີກເວັ້ນທຸກວັນນະຍຸດ, ວ່າງ ຫຼື ອັກຄະລະ ພິເສດ! ຕົວຢ່າງ: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "ພາສາ ເລີ່ມຕົ້ນ:"
-
-#: tryton/gui/window/dbcreate.py:251
-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:255
-msgid "Admin password:"
-msgstr "ລະຫັດຜ່ານຜູ້ບໍລິຫານ:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"ເລືອກລະຫັດຜ່ານຖານຂໍ້ມູນໃໝ່ ສຳລັບຜູ້ໃຊ້ໃນນາມຜູ້ບໍລິຫານ. ດ້ວຍການມີສິທິດນີ້ ທ່ານຈຶ່ງຈະສາມາດເຂົ້າໄປເຖິງຖານຂໍ້ມູນນີ້ໄດ້ໃນພາຍຫຼັງ.\n"
-"ຜູ້ໃຊ້: admin\n"
-"ລະຫັດຜ່ານ: <ໃສ່ລະຫັດຜ່ານທີ່ທ່ານຕັ້ງຢູ່ບ່ອນນີ້>"
-
-#: tryton/gui/window/dbcreate.py:274
-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 ""
-"ຖານຂໍ້ມູນທີ່ມີຊື່ດຽວກັນນີ້ມີຢູ່ແລ້ວ.\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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"ບໍ່ສາມາດສ້າງຖານຂໍ້ມູນ, ເກີດຈາກ ສາເຫດທີ່ບໍ່ຮູ້ຈັກ.\n"
-"ຖ້າຫາກວ່າ ຖານຂໍ້ມູນນີ້ຖືກສ້າງແລ້ວ, ມັນອາດແຕກຫັກກະໄດ້. ອາດຈະປະຖິ້ມຖານຂໍ້ມູນນີ້! ກະລຸນາ ກວດກາເບິ່ງຕາມຂໍ້ຄວາມແຈ້ງຜິດພາດນັ້ນ ເພື່ອວ່າຈະໄດ້ ຂໍ້ມູນເພີ່ມທີ່ເປັນໄປໄດ້.\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/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
-msgid "Server Connection:"
-msgstr "ການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ:"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "ຖານຂໍ້ມູນ:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "ຂໍ້ມູນລາຍລະອຽດສ່ວນຕົວຂອງຜູ້ແກ້ໄຂ"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "ຂໍ້ມູນລາຍລະອຽດສ່ວນຕົວ"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_ເພີ່ມເຂົ້າ"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "ເ_ອົາອອກ"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "ແມ່ຂ່າຍ:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "ສ້າງ"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "ຖານຂໍ້ມູນ:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "ລາຍການດຶງເອົາຖານຂໍ້ມູນ"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "ຜູ້ໃຊ້:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍໄດ້"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "ບໍ່ຖືກລຸ່ນກັບແມ່ຂ່າຍ"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍໄດ້"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "ເຂົ້າສູ່ລະບົບ"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_ຍົກເລີກ"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "ຍົກເລີກການເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ ໄຕຣຕັອນ"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "ເ_ຊື່ອມຕໍ່"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "ເຊື່ອມຕໍ່ກັບແມ່ຂ່າຍ ໄຕຣຕັອນ"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "ລາຍລະອຽດສ່ວນຕົວ:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_ບໍລິຫານລາຍລະອຽດສ່ວນຕົວ"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "ແມ່ຂ່າຍ / ຂໍ້ມູນກ່ຽວກັບຖານຂໍ້ມູນ"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "ຊື່ຜູ້ໃຊ້:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "ກູ້ຄືນຖານຂໍ້ມູນ"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "ຟາຍລ໌ທີ່ຈະກູ້ຄືນ:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"ເລືອກເອົາຊື່ຂອງຖານຂໍ້ມູນທີ່ຈະກູ້ຄືນ.\n"
-"ອະນຸຍາດໃຫ້ໃຊ້ໂຕອັກສອນ ໂຕເລກ ຫຼື _ (ຂີດຕໍ່ລຸ່ມ)\n"
-"ທ່ານຕ້ອງຫຼີກເວັ້ນທຸກ ວັນນະຍຸດ, ວ່າງ ຫຼື ອັກຄະລະ ພິເສດ!\n"
-"ຕົວຢ່າງ: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "ຊື່ຖານຂໍ້ມູນໃໝ່:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "ປັບປຸງຖານຂໍ້ມູນ:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"ກວດສອບການປັບປຸງຖານຂໍ້ມູນອັດຕະໂນມັດ ພາຍຫຼັງ ກູ້ຄືນຖານຂໍ້ມູນ ຈາກ ໄຕຣຕັອນ "
-"ລຸ່ນກ່ອນ."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "ກູ້ຄືນ"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "ກູ້ຄືນຖານຂໍ້ມູນ ຈາກຟາຍລ໌."
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "ອີເມວລ໌"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "ການຕັ້ງຄ່າໂປຣແກຣມອີເມວລ໌"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "ຄຳສັ່ງງານ:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "ເລື່ອງຂອງ ທີ່ຢູ່ ທີ່ມີປັດຈຸບັນ:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "ເຖິງ:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "ຫົວເລື່ອງ:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "ໂຕ:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "ເອກະສານຄັດຕິດ:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "ກ່ອນໜ້າ"
 
@@ -1074,10 +720,10 @@ msgstr "ກ່ອນໜ້າ"
 msgid "Previous Record"
 msgstr "ແຖວຂໍ້ມູນກ່ອນນີ້"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "ຕໍ່ໄປ"
 
@@ -1161,73 +807,73 @@ msgstr "_ສົ່ງອອກຂໍ້ມູນ..."
 msgid "_Import Data..."
 msgstr "_ນໍາເຂົ້າຂໍ້ມູນ..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "ຄັດຕິດ(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "ບັນທຶກ (%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "ທ່ານຕ້ອງໄດ້ເລືອກ ໜຶ່ງແຖວຂໍ້ມູນ."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ເລກລໍາດັບ:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "ຜູ້ສ້າງ:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "ວັນທີສ້າງ:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "ປັບປ່ຽນລ້າສຸດ ໂດຍ:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "ວັນທີປັບປ່ຽນລ້າສຸດ:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "ແບບ:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "ທ່ານແນ່ໃຈບໍ່ທີ່ຈະລຶບແຖວຂໍ້ມູນນີ້?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "ທ່ານແນ່ໃຈບໍ່ທີ່ຈະລຶບແຖວຂໍ້ມູນເຫຼົ່ານີ້?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "ແຖວຂໍ້ມູນບໍ່ທັນຖືກເອົາອອກ."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "ແຖວຂໍ້ມູນຖືກເອົາອອກແລ້ວ."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "ດຽວນີ້ກຳລັງເຮັດວຽກກັບແຖວຂໍ້ມູນທີ່ສ້າງຂຶ້ນຊ້ອນກັນ."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "ແຖວຂໍ້ມູນບັນທຶກແລ້ວ"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr "ຂອງ"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1274,7 +920,7 @@ msgid "Print report"
 msgstr "ພິມລາຍງານອອກ"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "ບໍ່ຮູ້"
 
@@ -1282,19 +928,24 @@ msgstr "ບໍ່ຮູ້"
 msgid "Limit"
 msgstr "ຂີດຈຳກັດ:"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "ການຕັ້ງຄ່າຂີດຈຳກັດການຊອກຫາ"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "ຂີດຈຳກັດ:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "ການຕັ້ງຄ່າ"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "ແກ້ໄຂການຕັ້ງຄ່າຜູ້ໃຊ້ງານ"
 
@@ -1302,19 +953,15 @@ msgstr "ແກ້ໄຂການຕັ້ງຄ່າຜູ້ໃຊ້ງານ
 msgid "Preference"
 msgstr "ການຕັ້ງຄ່າ"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "ລະຫັດຜ່ານປັດຈຸບັນ:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "ການກວດແກ້ຄືນ"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "ເລືອກໜຶ່ງການກວດແກ້ຄືນ"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "ການກວດແກ້ຄືນ:"
 
@@ -1322,152 +969,152 @@ msgstr "ການກວດແກ້ຄືນ:"
 msgid "Keyboard Shortcuts"
 msgstr "ປຸ່ມລັດແປ້ນພິມ"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "ປຸ່ມລັດການປ້ອນຂໍ້ຄວາມ"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "ຕັດຂໍ້ຄວາມທີ່ເລືອກໄວ້"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "ກ່າຍເອົາຂໍ້ຄວາມທີ່ເລືອກໄວ້"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "ວາງຂໍ້ຄວາມທີ່ກ່າຍເອົາໃສ່"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "ເຄື່ອງມື ຕໍ່ໄປ"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "ເຄື່ອງມືກ່ອນໜ້ານີ້"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "ປຸ່ມລັດລາຍການສາຍພົວພັນ"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "ສ້າງການກ່ຽວພັນໃໝ່"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "ໄຂ/ຊອກຫາການກ່ຽວພັນ"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "ປຸ່ມລັດການປ້ອນລາຍການ"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "ສ້າງແຖວໃໝ່"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "ໄຂການກ່ຽວພັນ"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "ໝາຍແຖວເພື່ອລຶບອອກ"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "ບໍ່ໝາຍແຖວທີ່ຈະລຶບ"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "ເຄື່ອງມືການແກ້ໄຂ"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "ຍ້າຍ ເຄິກເຊີຣ໌"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "ຍ້າຍໄປຂວາ"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "ຍ້າຍໄປຊ້າຍ"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "ຍ້າຍຂຶ້ນ"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "ຍ້າຍລົງ"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "ຫຍັບຂຶ້ນໜຶ່ງໜ້າ"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "ຍ້າຍລົງລຸ່ມໜຶ່ງໜ້າ"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "ຍ້າຍຂຶ້ນເທິງສຸດ"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "ຍ້າຍລົງລຸ່ມ"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "ຍ້າຍໄປຫາບັນຊີແມ່"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "ເລືອກທັງໝົດ"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "ບໍ່ເລືອກທັງໝົດ"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "ເລືອກ ບັນຊີແມ່"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "ເລືອກ/ໃຊ້ງານແຖວປັດຈຸບັນ"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "ສະຫຼັບການເລືອກ"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "ຂະຫຽາຍອອກ/ຍຸບເຂົ້າກັນ"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "ຂະຫຽາຍແຖວອອກ"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "ຍຸບແຖວເຂົ້າກັນ"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "ສະຫຼັບແຖວ"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "ຂະຫຽາຍແຖວທັງໝົດ"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "ຍຸບແຖວທັງໝົດ"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "ມູມມອງແບບຕົ້ນໄມ້"
 
@@ -1534,7 +1181,7 @@ msgstr ""
 msgid "Tips"
 msgstr "ການແນະນຳພິເສດ"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_ສະແດງເຄັດລັບຄັ້ງຕໍ່ໄປ"
 
@@ -1566,7 +1213,7 @@ msgstr "ຂໍ້ຄວາມອ້າງອີງ:"
 msgid "Encoding:"
 msgstr "ເຂົ້າລະຫັດ:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "ຊື່ຊ່ອງຂໍ້ມູນ"
 
@@ -1590,42 +1237,42 @@ msgstr "_ບັນທຶກການສົ່ງອອກ"
 msgid "_Delete Export"
 msgstr "_ລຶບການສົ່ງອອກ"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "ໄຂ"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "ເພີ່ມ_ຊ່ອງຂໍ້ມູນ"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (ສະຕຣິງ)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "ຊື່ຂອງການສົ່ງອອກນີ້ແມ່ນຫຍັງ?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "ຂຽນທັບ ຄຳອະທິບາຍ '%s' ນີ້ບໍ່?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "ແຖວຂໍ້ມູນ %d ຖືກບັນທຶກແລ້ວ!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "ບັນດາແຖວຂໍ້ມູນ %d ຖືກບັນທຶກແລ້ວ!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1633,30 +1280,30 @@ msgstr ""
 "ຂໍ້ຄວາມເຕືອນຂໍ້ຜິດພາດ:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "ເຊື່ອມໂຍງ"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "ເພີ່ມ"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "ເອົາອອກ"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "ສ້າງແຖວຂໍ້ມູນໃໝ່ <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "ລຶບແຖວຂໍ້ມູນທີ່ເລືອກ <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "ຍົກເລີກການລຶບແຖວທີ່ເລືອກ"
 
@@ -1672,9 +1319,9 @@ msgstr "_ກວດຫາ-ອັດຕະໂນມັດ"
 msgid "File to Import:"
 msgstr "ຟາຍລ໌ທີ່ຈະນໍາເຂົ້າ:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "ໄຂ..."
 
@@ -1682,184 +1329,207 @@ msgstr "ໄຂ..."
 msgid "Lines to Skip:"
 msgstr "ແຖວທີ່ຈະຂວ້າມ:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "ກ່ອນອື່ນ ທ່ານຕ້ອງໄດ້ເລືອກ ຟາຍລ໌ ທີ່ຈະນໍາເຂົ້າ ກ່ອນ!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "ຜິດພາດໃນການໄຂ ຟາຍລ໌ CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "ປະມວນຜົນ ຟາຍລ໌ ຜິດພາດ ໃນຊ່ອງຂໍ້ມູນ %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "ແຖວຂໍ້ມູນ %d ຖືກນໍາເຂົ້າແລ້ວ!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "ບັນດາແຖວຂໍ້ມູນ %d ຖືກນໍາເຂົ້າແລ້ວ!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "ໂຕນໍາພາສ້າງ"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ເລກລໍາດັບ"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "ຜູ້ສ້າງ"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "ວັນທີສ້າງ"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "ຜູ້ປັບປ່ຽນ"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "ວັນທີປັບປ່ຽນ"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "ບໍ່ສາມາດເອົາສະຖານະມູມມອງແບບຕົ້ນໄມ້ໄດ້"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "ບໍ່ສາມາດຕັ້ງຄ່າສະຖານະມູມມອງແບບຕົ້ນໄມ້ໄດ້"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" ບໍ່ຖືກຕ້ອງ ກັບ ໂດເມນຂອງມັນ"
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "ຕ້ອງໃຫ້ມີ \"%s\""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "ຄ່າຂອງ \"%s\" ນີ້ ບໍ່ຖືກຕ້ອງ"
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "ກ່ອນ-ການກວດສອບ"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "ບັນທຶກເປັນ"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "ຂະໜາດຮູບ"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "ຄວາມກວ້າງ:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "ຄວາມສູງ:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "ຮູບແບບ PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "ບັນທຶກເປັນ"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "ກັ່_ນຕອງ"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "ສະແດງໝາຍໜ້າຂອງການກັ່ນຕອງ"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "ເອົາໝາຍໜ້ານີ້ອອກ"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "ໝາຍໜ້າກັ່ນຕອງນີ້"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "ຊື່ໝາຍໜ້າ:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "ຊອກພົບ"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "ມື້ນີ້"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "ເບິ່ງເປັນລາຍອາທິດ"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "ເບິ່ງເປັນເດືອນ"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "ອາທິດ"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "ເລືອກ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "ໃຫ້ເປົ່າ"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "ຟາຍລ໌ ທັງໝົດ"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "ເລືອກ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "ສະແດງເປັນຂໍ້ຄວາມທຳມະດາ"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "ເພີ່ມຄ່າ"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "ເອົາ \"%s\" ອອກ"
@@ -1868,63 +1538,70 @@ msgstr "ເອົາ \"%s\" ອອກ"
 msgid "Images"
 msgstr "ຮູບ"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "ເພີ່ມແຖວຂໍ້ມູນທີ່ມີຢູ່"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "ເອົາແຖວຂໍ້ມູນທີ່ເລືອກນີ້ອອກ <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "ໄຂແຖວຂໍ້ມູນ <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "ຊອກຫາແຖວຂໍ້ມູນໜຶ່ງ <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "ເອົາແຖວຂໍ້ມູນທີ່ເລືອກນີ້ອອກ"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "ແກ້ໄຂ ແຖວຂໍ້ມູນ ທີ່ເລືອກ <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "ພື້ນໜ້າ"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "ເລືອກສີ"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "ການແປ"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "ແກ້ໄຂ"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "ເລືອນລາງ"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "ທ່ານຕ້ອງບັນທຶກຂໍ້ມູນໄວ້ກ່ອນຈຶ່ງເພີ່ມການແປເຂົ້າໄປໄດ້!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "ບໍ່ມີພາສາອື່ນໃຫ້ໃຊ້"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo b/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 955062a..0000000
Binary files a/tryton/data/locale/lo_LA/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/lt/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..d8439be
Binary files /dev/null and b/tryton/data/locale/lt/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po b/tryton/data/locale/lt/LC_MESSAGES/tryton.po
similarity index 51%
rename from tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
rename to tryton/data/locale/lt/LC_MESSAGES/tryton.po
index 4d47309..54a85ea 100644
--- a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/lt/LC_MESSAGES/tryton.po
@@ -44,68 +44,88 @@ msgstr ""
 
 #: tryton/config.py:136
 #, python-format
-msgid "Unable to write config file %s!"
+msgid "Unable to write config file %s."
 msgstr ""
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Pasirinkite veiksmą"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Nėra apibrėžtų veiksmų!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton prisijungimas"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Serveris:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Prievadas:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Pasirinkimas"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Jūsų pasirinkimas:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Įrašyti kaip..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Daugiau nepaisyti šio pranešimo."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Ar tikrai norite vykdyti?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Patvirtinimas"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Lygiagretaus duomenų rašymo klaida"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -123,50 +143,50 @@ msgstr ""
 "    - \"Palyginti\", kad peržiūrėti pakeistą versiją;\n"
 "    - \"Rašyti visvien\", kad išsaugoti jūsų turimą versiją."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Palyginti"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Rašyti visvien"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Klaida"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Pranešti apie klaidą"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Programos klaida!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Klaida: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Klaidų pėdsekys"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Naudotojas:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Slaptažodis:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -174,45 +194,49 @@ msgstr ""
 "Ta pati klaida jau buvo pranešta kito naudotojo.\n"
 "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:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Užregistruoti naują klaidą su ID"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Prisijungimo klaida!\n"
 "Neteisingas naudotojo vardas arba slaptažodis!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Klaida:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Serverio identifikatorius (fingerprint) pasikeitė nuo paskutinio prisijungimo!\n"
 "Programa nustos jungtis su šiuos serveriui, kol bus sutvarkytas identifikatorius."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Saugumo pavojus!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Prisijungimo klaida!\n"
 "Nepavyko prisijungti prie serverio!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Tinklo klaida!"
 
 #: tryton/common/completion.py:22
@@ -223,65 +247,61 @@ msgstr "<i>Ieškoti...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Sukurti...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "Pridėti reikšmę"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 #, fuzzy
 msgid "Displayed value"
 msgstr "Pridėti reikšmę"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "Sta_ndartinis"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Atverti kalendorių <F2>"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "taip"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "teisa"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Tiesa"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Tiesa"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Netiesa"
 
@@ -294,27 +314,27 @@ msgstr "Išei_ti..."
 msgid "Attachments..."
 msgstr "Priedai..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Veiksmai..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Susiję įrašai..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Ataskaita..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "El. paštas..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Spausdinti..."
 
@@ -346,184 +366,165 @@ msgstr "m"
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Failas"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Naudotojas"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Parinktys"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "_Mėgstami"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Žinynas"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Nerasta rezultatų."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Prisijungti..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Atsijungti"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Duomenų bazė"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nauja duomenų bazė..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Atkurti duomenų bazę..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_Duomenų bazės atsarginė kopija..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Nai_kinti duomenų bazę"
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "Išei_ti..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "Nus_tatymai..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "Pekrauti meniu"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Įjungti/išjungti _meniu"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Globali paieška"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "Įrankių _juosta"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Numatytasis"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Tekstas ir piktogramos"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "P_iktogramos"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Tekstas"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Meniu juosta"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Keisti trumpinius"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Rėžimas"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "Sta_ndartinis"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Forma"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Įsiminti plotį/aukštį"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Įsiminti hierarchinio sąrašo išskleistas šakas"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Rašybos klaidų tikrinimas"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Buvusi kortelė"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "Kita kortelė"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Paieškos ribojimas..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_El. paštas..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Iš_saugoti pasirinktis"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "Pa_tarimai..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Trumpiniai..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Apie..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "_Tvarkyti mėgstamus"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Ieškoti"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -531,99 +532,14 @@ msgstr ""
 "Atliekant šį veiksmą bus uždarytos visos kortelės.\n"
 "Ar norite tęsti?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Uždaryti kortelę"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Bus ištrinta Tryton duomenų bazė.\n"
-"Ar jūs tikrai norite tęsti?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Neteisingas Tryon serverio slaptažodis\n"
-"Bandykite iš naujo."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Neturite teisių!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Nepavyko sunaikinti duomenų bazės. Klaidos pranešimas:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Nepavyko sunaikinti duomenų bazės!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Sėkmingai sunaikinta duomenų bazė!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Atverti atsarginę kopiją atkūrimui..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Duomenų bazės slaptažodis yra apsaugotas!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Neteisingas Tryton serverio slaptažodis.\n"
-"Bandykite iš naujo."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Nepavyko sunaikinti duomenų bazės. Klaidos pranešimas:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Nepavyko sunaikinti duomenų bazės!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Sėkmingai sunaikinta duomenų bazė!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Negalima sukurti duomenų bazės apsaugotos slaptažodžiu atsarginės kopijos.\n"
-"Atsarginės kopijos sukūrimą bei atkūrimą atlikite savarankiškai."
-
-#: tryton/gui/main.py:1382
-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:1384
-msgid "Database dump failed!"
-msgstr "Nepavyko padaryti duomenų bazės atsarginės kopijos!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Sėkmingai padaryta duomenų bazės atsarginė kopija!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Priedai(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -634,7 +550,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Išsaugoti"
 
@@ -643,8 +559,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Perjungti"
 
@@ -685,393 +601,122 @@ msgstr "_Ištrinti..."
 msgid "_Close Tab"
 msgstr "Uždaryti _kortelę"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"Tai yra Tryton serverio URL. Naudokite serverio adresą 'localhost' ir "
-"prievadą '8000', jeigu serveris įdiegtas šiame kompiuteryje. Spauskite ant "
-"'Keisti' norėdami pakeisti serverio adresą."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Nėra ryšio su serveriu!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Nepavyko prisijungti prie serverio!\n"
-"1. Patikrinkite ar serveris tikrai veikia.\n"
-"2. Patikrinkite, kuriuo adresu bei prievadu veikia serveris.\n"
-"3. Jeigu tarp serverio ir kliento yra ugniasienė, įsitikinkite, kad serverio adresas ir prievadas (dažniausiai 8000) yra neužblokuoti.\n"
-"Spauskite 'Keisti', kad pakeisti serverio jungtį."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Kurti naują duomenų bazę"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "Ku_rti"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Kurti naują duomenų bazę"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Serverio nustatymai:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Serverio jungtis:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"Tai yra serverio URL. Naudokite serverio adresą 'localhost' ir prievadą "
-"'8000', jeigu serveris įdiegtas šiame kompiuteryje. Spauskite ant 'Keisti' "
-"norėdami pakeisti serverio adresą."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "Ke_isti"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Keisti serverio jungtį..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Tryton serverio slaptažodis:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"Tai yra Tryton serverio slaptažodis. Šis slaptažodis nėra priskirtas kuriam "
-"nors naudotojui. Slaptažodis dažniausiai nurodomas trytond konfiguraciniame "
-"faile."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Naujos duomenų bazės nustatymai:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Duomenų bazės pavadinimas:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Įveskite duomenų bazės pavadinimą.\n"
-"Leidžiami simboliai yra šie: lotyniškos raidės, skaičiai ir _ (pabraukimas)\n"
-"Negalima įvesti nelotyniškų raidžių, tarpų bei skyrybos ženklų! Pavyzdys: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Numatytoji kalba:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Pasirinkite numatytąją kalbą, kuri bus įdiegta šiai duomenų bazei. "
-"Papildomas kalbas galima įdiegti per administravimo meniu, kai bus sukurta "
-"nauja duomenų bazė"
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Administratoriaus slaptažodis:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Įveskite 'admin' naudotojo slaptažodį prisijungimui prie naujos duomenų bazės. Su šiais duomenimis prisijungsite prie naujos duomenų bazės:\n"
-"Naudotojas: admin\n"
-"Slaptažodis: <Slaptažodis, kurį įvedėte čia>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Nepavyko sukurti duomenų bazės dėl nežinomos priežasties.\n"
-"Jeigu duomenų bazė vis dėlto buvo sukurta, tikėtina, kad ji pažeista. Geriau sunaikinti šią duomenų bazę! Patikrinkite klaidos pranešimą dėl 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Duomenų bazė:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Profilių tvarkymas"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profilis"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Pridėti"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Ištrinti"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Serveris:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Kurti"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Duomenų bazė:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Gaunamas duomenų bazių sąrašas"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Naudotojas:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Nepavyko prisijungti prie serverio"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Nesuderinama serverio versija"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Nepavyko prisijungti prie serverio"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Prisijungti"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Atsisakyti"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Atšaukti prisijungimą prie Tryton serverio"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "_Prisijungti"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Prisijungti prie Tryton serverio"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profilis:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Tvarkyti profilius"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Serverio / duomenų bazės duomenys"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Naudotojas:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Atkurti duomenų bazę"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Atkuriama iš failo:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Įveskite duomenų bazės pavadinimą į kurią atkurti.\n"
-"Leidžiami simboliai yra šie: lotyniškos raidės, skaičiai ir _ (pabraukimas)\n"
-"Negalima įvesti nelotyniškų raidžių, tarpų bei skyrybos ženklų! Pavyzdys: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Naujos duomenų bazės pavadinimas:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Atnaujinti duomenų bazę:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Pažymėkite, jeigu norite, kad po duomenų bazė atkūrimo būtų atnaujinama iki "
-"esamos Tryton versijos."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Atkurti"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "El. pašto programos nustatymai"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Komandinė eilutė:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Galimos žymekliai:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Kam:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Tema:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Turinys:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Priedas:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Buvęs"
 
@@ -1079,10 +724,10 @@ msgstr "Buvęs"
 msgid "Previous Record"
 msgstr "Buvęs įrašas"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Kitas"
 
@@ -1166,78 +811,78 @@ msgstr "_Eksportuoti duomenis..."
 msgid "_Import Data..."
 msgstr "_Importuoti duomenis..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priedai(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Pasirinkite bent vieną įrašą!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Paskutinį kartą redagavo:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modelis:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Ar tikrai norite ištrinti šį įrašą?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Ar tikrai norite ištrinti šiuos įrašus?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Įrašai nebuvo ištrinti!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Įrašai ištrinti!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Dabar dirbate su įrašo(-ų) kopija(-omis)!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Įrašas išsaugotas!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " iš "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1287,7 +932,7 @@ msgid "Print report"
 msgstr "Spausdinti ataskaitą"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Nežinomas"
 
@@ -1295,19 +940,24 @@ msgstr "Nežinomas"
 msgid "Limit"
 msgstr "Riba"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Paieškos ribojimo nustatymai"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Riba:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nustatymai"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Keisti naudotojo nustatymus"
 
@@ -1315,21 +965,17 @@ msgstr "Keisti naudotojo nustatymus"
 msgid "Preference"
 msgstr "Nustatymai"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Dabartinis slaptažodis:"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Buvęs"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "Pasirinkimas"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "Buvęs"
@@ -1338,152 +984,152 @@ msgstr "Buvęs"
 msgid "Keyboard Shortcuts"
 msgstr "Spartieji klavišai"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Teksto laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Iškirpti pažymėtą tekstą"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Kopijuoti pažymėtą tekstą"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Įdėti nukopijuotą tekstą"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Peršokti į kitą lauką"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Grįžti į buvusį lauką"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Sąryšinių laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Kurti naują sąryšį"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Atverti/ieškoti sąryšinio įrašo"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Sąrašo laukų trumpiniai"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Kurti naują eilutę"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Atverti sąryšį"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Pažymėti eilutę ištrinimui"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Nužymėti eilutę ištrinimui"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Trumpiniai pagal laukus"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1549,7 +1195,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Patarimai"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Rodyti patarimus ir kitą kartą"
 
@@ -1582,7 +1228,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Koduotė:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Lauko pavadinimas"
 
@@ -1608,42 +1254,42 @@ msgstr "Išsaugoti šabloną"
 msgid "_Delete Export"
 msgstr "Ištrinti šabloną"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Atvėrimas"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Pridėti laukų pavadinimus"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Kokiu pavadinimu išsaugoti šį eksportavimo šabloną?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d įrašas išsaugotas!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d įrašai išsaugoti!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1651,30 +1297,30 @@ msgstr ""
 "Klaidos pranešimas:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Nuoroda"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Pridėti"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Šalinti <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Sukurti naują įrašą <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Atkurti pasirinktą įrašą <Ins>"
 
@@ -1691,9 +1337,9 @@ msgstr "Aptikti automatiškai"
 msgid "File to Import:"
 msgstr "Importuoti iš failo:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Atverti..."
 
@@ -1701,193 +1347,216 @@ msgstr "Atverti..."
 msgid "Lines to Skip:"
 msgstr "Praleisti eilutes:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Pasirinkite failą iš kurio importuosite!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Klaida atveriant CSV failą"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Klaida apdorojant failą ties lauku %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d įrašas importuotas!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d įrašai importuoti!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Vedlys"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "Sukūrė naudotojas:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "Sukūrimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "Paskutinio redagavimo data:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Nepavyko nustatyti lokalės %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Įrašyti kaip"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Paveiklėlio dydis"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Plotis:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Aukštis"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG paveikslėlis (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Įrašyti kaip"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltras"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Rodyti filtrų žymeles"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Šalinti šią žymelę"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Sukurti šio filtro žymelę"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Žymelės pavadinimas:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Rasti"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "Turinys:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "Perjungti rodymą"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Valyti"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Visi failai"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Rodyti paprastą tekstą"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Pridėti reikšmę"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Šalinti \"%s\""
@@ -1896,63 +1565,70 @@ msgstr "Šalinti \"%s\""
 msgid "Images"
 msgstr "Paveikslėliai"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Pridėti turimą įrašą"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Pašalinti pasirinktą įrašą <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "Atverti įrašą <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Ieškoti įrašo <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Pašalinti pasirinktą įrašą"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Keisti pasirinktą įrašą <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Vertimas"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Keisti"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Neaiškus"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+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:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Jokia kita kalba nėra prieinama!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo b/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo
deleted file mode 100644
index fde7fa2..0000000
Binary files a/tryton/data/locale/lt_LT/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/nl/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..e6ce9e4
Binary files /dev/null and b/tryton/data/locale/nl/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po b/tryton/data/locale/nl/LC_MESSAGES/tryton.po
similarity index 51%
rename from tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
rename to tryton/data/locale/nl/LC_MESSAGES/tryton.po
index 7766432..505550c 100644
--- a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/nl/LC_MESSAGES/tryton.po
@@ -44,69 +44,89 @@ msgid "File \"%s\" not found"
 msgstr "Bestand \"%s\" niet gevonden"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Kan configuratiebestand %s niet opslaan! "
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Selecteer je handeling."
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Geen handeling gedefinieerd!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton verbinding"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Server:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Poort:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Selectie"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Uw selectie:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Opslaan als..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Altijd deze waarschuwing negeren."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Bevestiging"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Simultaan gebruik"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 #, fuzzy
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
@@ -125,51 +145,51 @@ msgstr ""
 " - \"Vergelijk\" om de verschillen te vergelijken;\n"
 " - \"Toch opslaan\" om deze versie op te slaan. "
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Vergelijk"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Overschrijven"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Fout"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Programmafout melden"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Programmafout"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Fout: "
 
-#: tryton/common/common.py:880
-#, python-format, fuzzy, python-format
+#: tryton/common/common.py:837
+#, python-format, python-format, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Foutrapportage"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Gebruiker:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Wachtwoord:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -177,45 +197,49 @@ msgstr ""
 "Dezelfde programmafout was al gemeld door een andere gebruiker.\n"
 "Om je op de hoogte te houden is je gebuikersnaam toegevoegd aan de lijst van belangstellenden"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Nieuwe foutmelding gemaakt met ID "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Geen verbinding!\n"
 "Verkeerde gebruikersnaam of wachtwoord!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Uitzondering:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "De identificatiecode van de server is gewijzigd sinds de laatste verbinding!\n"
 "Het programma maakt geen verbinding meer met de server totdat de identificatiecode is hersteld."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Beveiligingsrisico!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Verbinding mislukt!\n"
 "Verbinden met de server niet mogelijk!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Netwerkfout."
 
 #: tryton/common/completion.py:22
@@ -226,66 +250,60 @@ msgstr ""
 msgid "<i>Create...</i>"
 msgstr ""
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "Niet waar"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr ""
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "_Normaal"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Open de kalender"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "yes"
-msgstr "bytes"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-#, fuzzy
-msgid "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
 msgstr "Waar"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr ""
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Waar"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Niet waar"
 
@@ -299,31 +317,31 @@ msgstr "Afsluiten"
 msgid "Attachments..."
 msgstr "Bijlage:"
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 #, fuzzy
 msgid "Actions..."
 msgstr "_Acties.."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 #, fuzzy
 msgid "Relate..."
 msgstr "Verwijderen... "
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 #, fuzzy
 msgid "Report..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 #, fuzzy
 msgid "E-Mail..."
 msgstr "E-mail"
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 #, fuzzy
 msgid "Print..."
 msgstr "Afdrukken"
@@ -356,282 +374,179 @@ msgstr "m"
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Bestand"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Gebruiker"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Opties"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr ""
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Help"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr ""
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Verbinden..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Verbinding verbreken"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Data_base"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nieuwe database..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Herstel database..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Reservekopie van database..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Verwijder database..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "Afsluiten"
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Voorkeuren..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 #, fuzzy
 msgid "_Menu Reload"
 msgstr "He_rladen"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr ""
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr ""
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Werkbalk"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Standaard"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Tekst en pictogrammen"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "Pictogrammen..."
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Tekst"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Menubalk"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Versnellers aanpassen"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Modus"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normaal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "Formulier"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Bewaar breedte/hoogte"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr ""
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Spellingscontrole uitvoeren"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 #, fuzzy
 msgid "_Previous Tab"
 msgstr "V_orige"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr ""
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Zoek limiet..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "E-mail"
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Sla opties op"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Tips..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "Sneltoetsen"
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "I_nfo..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr ""
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Zoeken"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Tabblad sluiten"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"U gaat een Tryton database verwijderen.\n"
-"Weet u zeker dat u door wil gaan?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Verkeerde wachtwoord voor de Tryton server\n"
-"Probeer het opnieuw."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Geen toegang!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Verwijderen database is mislukt met foutmelding:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Database kan niet worden verwijderd."
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Database succesvol verwijderd!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Open reservekopie om te herstellen..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Een met een wachtwoord beveiligde database kan niet terug gezet worden.\n"
-"Voer deze handeling handmatig uit."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Database beveiligd met een wachtwoord!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Verkeerde wachtwoord voor de Tryton server\n"
-"Probeer het opnieuw."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Herstellen database is mislukt met foutmelding:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Database terugzetten mislukt!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Database succesvol teruggezet!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Een met een wachtwoord beveiligde database kan niet verwijderd worden.\n"
-"Voer deze handeling handmatig uit."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Verwijderen database is mislukt met foutmelding:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Database verwijderen mislukt!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Reservekopie van database gemaakt!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Bijlage (%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 #, fuzzy
@@ -643,7 +558,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Opslaan"
 
@@ -652,8 +567,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Omschakelen"
 
@@ -694,406 +609,127 @@ msgstr "Verwijderen... "
 msgid "_Close Tab"
 msgstr "Tabblad sluiten"
 
-#: tryton/gui/window/dbcreate.py:29
-#, fuzzy
-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 ""
-"Dit is de URL van de Tryton server. Gebruik 'localhost' en poort '8070' als "
-"de server op deze computer is geïnstalleerd. Klik op 'Wijzig' om het adres "
-"aan te passen."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Geen verbinding met server"
-
-#: tryton/gui/window/dbcreate.py:43
-#, fuzzy
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Kan geen verbinding maken met de server!\n"
-"1. Controleer of de server actief is.\n"
-"2. Onderzoek op welk adres en op welke poort.\n"
-"3. Als er een 'firewall' tussen de server en deze computer zit, zorg er dan voor dat het adres van de server en de poort (doorgaans 8070) niet geblokkeerd worden.\n"
-"Klik op 'Wijzig' om het adres aan te passen."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Maak een nieuwe Database."
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "Aan_maken"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Maak de nieuwe Database."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Server instelling:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Server verbinding:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-#, fuzzy
-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 ""
-"Dit is de URL van de server. Gebruik server 'localhost' en poort '8070' als "
-"de server op deze computer is geïnstalleerd. Klik op 'Wijzig' om het adres "
-"aan te passen."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "_Wijzigen"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Verbinden met server..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Wachtwoord Tryton server:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"Dit is het wachtwoord van de Tryton server. Het is niet het wachtwoord van "
-"een gebruiker. Dit wachtwoord is doorgaans gedefinieerd in de trytond "
-"configuratie."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Maak een nieuwe database:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Naam database:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Kies de naam van de nieuwe database.\n"
-"Toegestane tekens zijn alfa-numeriek of _ (underscore).\n"
-"Vermijd alle accenten, spaties en speciale tekens! Voorbeeld: tryton."
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Standaardtaal:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Admin wachtwoord:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Kies een wachtwoord voor de admin gebruiker van de nieuwe database. Hiermee kan je later inloggen op deze database:\n"
-"Gebruikersnaam: admin\n"
-"Wachtwoord: <het wachtwoord dat je hier ingeeft>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Kan de database niet aanmaken als gevolg van een onbekende redenen.\n"
-"Als er een database is gemaakt kan deze beschadigd zijn. Misschien moet je deze database verwijderen! Zie foutmelding voor mogelijk meer 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Database:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Toevoegen"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Verwijderen"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 #, fuzzy
 msgid "Host:"
 msgstr "Poort:"
 
-#: tryton/gui/window/dblogin.py:98
-#, fuzzy
-msgid "Create"
-msgstr "Aan_maken"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Database:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 #, fuzzy
 msgid "Fetching databases list"
 msgstr "Maak een nieuwe database:"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 #, fuzzy
 msgid "Username:"
 msgstr "Gebruikersnaam:"
 
-#: tryton/gui/window/dblogin.py:297
-#, fuzzy
-msgid "Could not connect to the server"
-msgstr "Geen verbinding met de server!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 #, fuzzy
 msgid "Incompatible version of the server"
 msgstr "Deze versie is onverenigbaar met de server! "
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+#, fuzzy
+msgid "Could not connect to the server"
+msgstr "Geen verbinding met de server!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Inlognaam"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr " _Annuleren"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Verbreek verbinding met Tryton server"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "_Verbinden"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Verbind met Tryton server"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr ""
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Gebruikersnaam:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Database terug zetten"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Terug te zetten bestand:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Kies de naam van de database die hersteld moet worden.\n"
-"Toegestane tekens zijn alfa-numeriek of _ (underscore)\n"
-"Vermijd alle accenten, spaties en speciale tekens!\n"
-"Voorbeeld: tryton "
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Naam nieuwe database:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Database bijwerken:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Inschakelen voor het automatisch bijwerken van de database uit een vorige "
-"Tryton versie."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Herstellen"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "E-mail instellingen "
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Opdrachtregel:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Legenda van beschikbare sjablonen: "
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Aan:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Onderwerp:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Bericht:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Bijlage:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Vorige"
 
@@ -1101,10 +737,10 @@ msgstr "Vorige"
 msgid "Previous Record"
 msgstr "Vorige item"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Volgende"
 
@@ -1193,78 +829,78 @@ msgstr "_Exporteer gegevens... "
 msgid "_Import Data..."
 msgstr "_Importeer gegevens... "
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Bijlage (%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Je moet één item selecteren!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Laatste wijziging door:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Weet je zeker dat je dit item wilt verwijderen?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Weet je zeker dat je deze items wilt verwijderen?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Items niet verwijderd!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Items verwijderd!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Je werkt nu met het gekopieerde item!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Item opgeslagen!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " van "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1319,7 +955,7 @@ msgid "Print report"
 msgstr ""
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Onbekend"
 
@@ -1327,19 +963,24 @@ msgstr "Onbekend"
 msgid "Limit"
 msgstr "Limiet:"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Zoek limiet instellen"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr " Limiet:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Voorkeuren"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Voorkeuren gebruiker aanpassen"
 
@@ -1347,21 +988,17 @@ msgstr "Voorkeuren gebruiker aanpassen"
 msgid "Preference"
 msgstr "Voorkeur"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Huidig Wachtwoord:"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Vorige"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "Selectie"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "Vorige"
@@ -1370,155 +1007,155 @@ msgstr "Vorige"
 msgid "Keyboard Shortcuts"
 msgstr "Sneltoetsen"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Knip geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Kopieer geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Plak geselecteerde tekst"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Volgend element"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Vorig element"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Relatie sneltoetsen"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Nieuwe relatie aanmaken"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Zoek / open relatie"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 #, fuzzy
 msgid "List Entries Shortcuts"
 msgstr "Sneltoetsen in tekstvakken"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 #, fuzzy
 msgid "Create new line"
 msgstr "Nieuwe relatie aanmaken"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 #, fuzzy
 msgid "Open relation"
 msgstr "Zoek / open relatie"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Versies widgets"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1584,7 +1221,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Tips"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Volgende keer een tip"
 
@@ -1617,7 +1254,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Codering:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Veldnaam"
 
@@ -1643,42 +1280,42 @@ msgstr "Exportgegevens opslaan"
 msgid "_Delete Export"
 msgstr "Exportgegevens verwijderen"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Open"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Voeg veldnamen toe"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Wat is de naam voor deze export?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d item opgeslagen!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d items opgeslagen!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1686,32 +1323,32 @@ msgstr ""
 "Foutmelding:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Koppeling"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Toevoegen"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr ""
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 #, fuzzy
 msgid "Create a new record <F3>"
 msgstr "Maak een nieuw item"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 #, fuzzy
 msgid "Delete selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 #, fuzzy
 msgid "Undelete selected record <Ins>"
 msgstr "Geselecteerd item verwijderen"
@@ -1729,9 +1366,9 @@ msgstr "Automatisch"
 msgid "File to Import:"
 msgstr "Bestand om te importeren:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Openen..."
 
@@ -1739,195 +1376,218 @@ msgstr "Openen..."
 msgid "Lines to Skip:"
 msgstr "Regels overslaan:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "U moet eerst een import bestand selecteren!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Fout bij openen CSV-bestand"
 
-#: tryton/gui/window/win_import.py:137
-#, python-format, fuzzy, python-format
+#: tryton/gui/window/win_import.py:141
+#, python-format, python-format, 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:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d item geïmporteerd!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d items geïmporteerd!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Assistent"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 #, fuzzy
 msgid "ID"
 msgstr " d"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "Aangemaakt door:"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "Aanmaakdatum"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "Laatste wijzigingsdatum:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Kan omgeving %s niet instellen"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Opslaan als"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Afbeeldingsgrootte"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Breedte:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Hoogte:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG afbeelding (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Opslaan als"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 #, fuzzy
 msgid "F_ilters"
 msgstr "_Bestand"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Vind"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "Bericht:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "Wijzig beeld"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Wissen"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Alle bestanden"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr ""
@@ -1936,70 +1596,76 @@ msgstr ""
 msgid "Images"
 msgstr "Afbeeldingen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 #, fuzzy
 msgid "Add existing record"
 msgstr "Bewaar dit item"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 #, fuzzy
 msgid "Remove selected record <Del>"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
 #, fuzzy
-msgid "Open a record <F2>"
+msgid "Open the record <F2>"
 msgstr "Item openen"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 #, fuzzy
 msgid "Search a record <F2>"
 msgstr "Item zoeken"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 #, fuzzy
 msgid "Remove selected record"
 msgstr "Geselecteerd item verwijderen"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 #, fuzzy
 msgid "Edit selected record <F2>"
 msgstr "Geselecteerd item aanpassen"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 #, fuzzy
 msgid "Translation"
 msgstr "Voeg vertaling toe"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+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:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Geen andere taal beschikbaar!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo b/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 491b08b..0000000
Binary files a/tryton/data/locale/nl_NL/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/pl/LC_MESSAGES/tryton.mo b/tryton/data/locale/pl/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..7403fcf
Binary files /dev/null and b/tryton/data/locale/pl/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pl/LC_MESSAGES/tryton.po b/tryton/data/locale/pl/LC_MESSAGES/tryton.po
new file mode 100644
index 0000000..7dd87e4
--- /dev/null
+++ b/tryton/data/locale/pl/LC_MESSAGES/tryton.po
@@ -0,0 +1,1593 @@
+# Translations template for tryton.
+# Copyright (C) 2016 Tryton
+# This file is distributed under the same license as the tryton project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2016.
+msgid ""
+msgstr "Content-Type: text/plain; charset=utf-8\n"
+
+#: tryton/config.py:76
+msgid "specify alternate config file"
+msgstr "podaj alternatywny plik konfiguracyjny"
+
+#: tryton/config.py:79
+msgid "development mode"
+msgstr "tryb dewelopera"
+
+#: tryton/config.py:82
+msgid "logging everything at INFO level"
+msgstr "rejestrowanie wszystkiego na poziomie INFO"
+
+#: tryton/config.py:84
+msgid "specify the log level: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+msgstr "podaj poziom rejestrowania: DEBUG, INFO, WARNING, ERROR, CRITICAL"
+
+#: tryton/config.py:87
+msgid "specify the login user"
+msgstr "podaj login użytkownika"
+
+#: tryton/config.py:89
+msgid "specify the server port"
+msgstr "podaj port serwera"
+
+#: tryton/config.py:91
+msgid "specify the server hostname"
+msgstr "podaj nazwę serwera"
+
+#: tryton/config.py:95
+msgid "Too much arguments"
+msgstr "Zbyt wiele argumentów"
+
+#: tryton/config.py:98
+#, python-format
+msgid "File \"%s\" not found"
+msgstr "Nie znaleziono pliku \"%s\""
+
+#: tryton/config.py:136
+#, python-format, python-format, python-format
+msgid "Unable to write config file %s."
+msgstr "Nie można zapisać pliku konfiguracyjnego %s!"
+
+#: tryton/translate.py:185
+#, python-format
+msgid "Unable to set locale %s"
+msgstr "Nie można ustawić lokalizacji %s"
+
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
+msgid "Select your action"
+msgstr "Wybierz akcję"
+
+#: tryton/action/main.py:184
+msgid "No action defined."
+msgstr "Brak zdefiniowanej akcji!"
+
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Przez: "
+
+#: tryton/common/common.py:231
+msgid "Tryton Connection"
+msgstr "Łączenie z systemem Tryton"
+
+#: tryton/common/common.py:241
+msgid "Server:"
+msgstr "Serwer:"
+
+#: tryton/common/common.py:259
+msgid "Port:"
+msgstr "Port:"
+
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
+msgid "Selection"
+msgstr "Zaznaczenie"
+
+#: tryton/common/common.py:335
+msgid "Your selection:"
+msgstr "Twoje zaznaczenie:"
+
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
+msgid "Save As..."
+msgstr "Zapisz jako..."
+
+#: tryton/common/common.py:605
+msgid "Always ignore this warning."
+msgstr "Zawsze ignoruj takie ostrzeżenie."
+
+#: tryton/common/common.py:610
+msgid "Do you want to proceed?"
+msgstr "Czy chcesz kontynuować?"
+
+#: tryton/common/common.py:629
+msgid "Confirmation"
+msgstr "Potwierdzenie"
+
+#: tryton/common/common.py:731 tryton/common/common.py:1036
+msgid "Concurrency Exception"
+msgstr "Wyjątek równoczesnego zapisu danych"
+
+#: tryton/common/common.py:744
+msgid ""
+"<b>Write Concurrency Warning:</b>\n"
+"\n"
+"This record has been modified while you were editing it.\n"
+" Choose:\n"
+"    - \"Cancel\" to cancel saving;\n"
+"    - \"Compare\" to see the modified version;\n"
+"    - \"Write Anyway\" to save your current version."
+msgstr ""
+"<b>Ostrzeżenie o równoczesnym zapisie danych:</b>\n"
+"\n"
+"Dane zostały zmienione w trakcie twojej pracy nad nimi.\n"
+" Wybierz:\n"
+"    - \"Anuluj\" jeśli chcesz anulować zapis danych;\n"
+"    - \"Porównaj\" jeśli chcesz zobaczyć zmienioną wersję danych;\n"
+"    - \"Zapisz\" jeśli chcesz zapisać aktualną wersję danych."
+
+#: tryton/common/common.py:753
+msgid "Compare"
+msgstr "Porównaj"
+
+#: tryton/common/common.py:758
+msgid "Write Anyway"
+msgstr "Zapisz"
+
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
+msgid "Error"
+msgstr "Błąd"
+
+#: tryton/common/common.py:787
+msgid "Report Bug"
+msgstr "Zgłoś błąd"
+
+#: tryton/common/common.py:794
+msgid "Application Error."
+msgstr "Błąd aplikacji!"
+
+#: tryton/common/common.py:817
+msgid "Error: "
+msgstr "Błąd: "
+
+#: tryton/common/common.py:837
+#, python-format
+msgid "To report bugs you must have an account on <u>%s</u>"
+msgstr "Aby zgłosić błędy musisz posiadać konto w <u>%s</u>"
+
+#: tryton/common/common.py:867
+msgid "Bug Tracker"
+msgstr "Bug Tracker"
+
+#: tryton/common/common.py:884
+msgid "User:"
+msgstr "Użytkownik:"
+
+#: tryton/common/common.py:892
+msgid "Password:"
+msgstr "Hasło:"
+
+#: tryton/common/common.py:947
+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 ""
+"Taki sam błąd został już zgłoszony przez innego użytkownika.\n"
+"Abyś był na bieżąco z informacjami o błędzie zostałeś dopisany do właściwej listy"
+
+#: tryton/common/common.py:958
+msgid "Created new bug with ID "
+msgstr "Nowe zgłoszenie o błędzie otrzymało ID "
+
+#: tryton/common/common.py:966
+msgid ""
+"Connection error.\n"
+"Bad username or password."
+msgstr "Błędna nazwa użytkownika lub hasło!"
+
+#: tryton/common/common.py:971
+msgid "Exception:"
+msgstr "Wyjątek:"
+
+#: tryton/common/common.py:988
+msgid ""
+"The server fingerprint has changed since last connection.\n"
+"The application will stop connecting to this server until its fingerprint is fixed."
+msgstr ""
+"Odcisk palca serwera uległ zmianie od ostatniego połączenia!\n"
+"Aplikacja zostanie rozłączona z serwerem do momentu ustalenia właściwego odcisku palca."
+
+#: tryton/common/common.py:990
+msgid "Security risk."
+msgstr "Zagrożenie bezpieczeństwa!"
+
+#: tryton/common/common.py:995
+msgid ""
+"Connection error.\n"
+"Unable to connect to the server."
+msgstr ""
+"Błąd połączenia!\n"
+"Nie można połączyć się z serwerem!"
+
+#: tryton/common/common.py:1061
+msgid "Network Error."
+msgstr "Problem z siecią!"
+
+#: tryton/common/completion.py:22
+msgid "<i>Search...</i>"
+msgstr "<i>Szukaj...</i>"
+
+#: tryton/common/completion.py:24
+msgid "<i>Create...</i>"
+msgstr "<i>Utwórz...</i>"
+
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
+msgid "Value"
+msgstr "Wartość"
+
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
+msgid "Displayed value"
+msgstr "Wyświetlana wartość"
+
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
+msgid "Format"
+msgstr "Format"
+
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
+msgid "Display format"
+msgstr "Wyświetl format"
+
+#: tryton/common/datetime_.py:63
+msgid "Open the calendar"
+msgstr "Otwórz kalendarz"
+
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
+msgid "Date Format"
+msgstr "Format daty"
+
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
+msgid "Displayed date format"
+msgstr "Wyświetlany format daty"
+
+#: tryton/common/domain_parser.py:236
+msgid "y"
+msgstr "t"
+
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr "Tak"
+
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Tak"
+
+#: tryton/common/domain_parser.py:236
+msgid "t"
+msgstr "p"
+
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "False"
+msgstr "Nie"
+
+#: tryton/common/popup_menu.py:81
+msgid "Edit..."
+msgstr "Edycja..."
+
+#: tryton/common/popup_menu.py:86
+msgid "Attachments..."
+msgstr "Załączniki..."
+
+#: tryton/common/popup_menu.py:93
+msgid "Notes..."
+msgstr "Notatki..."
+
+#: tryton/common/popup_menu.py:106
+msgid "Actions..."
+msgstr "Akcje..."
+
+#: tryton/common/popup_menu.py:107
+msgid "Relate..."
+msgstr "Dotyczy..."
+
+#: tryton/common/popup_menu.py:108
+msgid "Report..."
+msgstr "Raport..."
+
+#: tryton/common/popup_menu.py:109
+msgid "E-Mail..."
+msgstr "E-mail..."
+
+#: tryton/common/popup_menu.py:110
+msgid "Print..."
+msgstr "Wydruk..."
+
+#: tryton/common/timedelta.py:26
+msgid "Y"
+msgstr "R"
+
+#: tryton/common/timedelta.py:27
+msgid "M"
+msgstr "M"
+
+#: tryton/common/timedelta.py:28
+msgid "w"
+msgstr "t"
+
+#: tryton/common/timedelta.py:29
+msgid "d"
+msgstr "d"
+
+#: tryton/common/timedelta.py:30
+msgid "h"
+msgstr "g"
+
+#: tryton/common/timedelta.py:31
+msgid "m"
+msgstr "m"
+
+#: tryton/common/timedelta.py:32
+msgid "s"
+msgstr "s"
+
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "Połączenie"
+
+#: tryton/gui/main.py:219
+msgid "_User"
+msgstr "Użytkownik"
+
+#: tryton/gui/main.py:233
+msgid "_Options"
+msgstr "Opcje"
+
+#: tryton/gui/main.py:241
+msgid "Fa_vorites"
+msgstr "Ulubione"
+
+#: tryton/gui/main.py:257
+msgid "_Help"
+msgstr "Pomoc"
+
+#: tryton/gui/main.py:366
+msgid "No result found."
+msgstr "Nie znaleziono wyniku."
+
+#: tryton/gui/main.py:388
+msgid "_Connect..."
+msgstr "Połącz..."
+
+#: tryton/gui/main.py:398
+msgid "_Disconnect"
+msgstr "Rozłącz"
+
+#: tryton/gui/main.py:408
+msgid "_Quit..."
+msgstr "Wyjście..."
+
+#: tryton/gui/main.py:424
+msgid "_Preferences..."
+msgstr "Preferencje..."
+
+#: tryton/gui/main.py:436
+msgid "_Menu Reload"
+msgstr "Przeładuj menu"
+
+#: tryton/gui/main.py:446
+msgid "_Menu Toggle"
+msgstr "Zwiń/rozwiń menu"
+
+#: tryton/gui/main.py:454
+msgid "_Global Search"
+msgstr "Wyszukiwanie globalne"
+
+#: tryton/gui/main.py:470
+msgid "_Toolbar"
+msgstr "Pasek narzędzi"
+
+#: tryton/gui/main.py:478
+msgid "_Default"
+msgstr "Domyślnie"
+
+#: tryton/gui/main.py:489
+msgid "_Text and Icons"
+msgstr "Tekst i ikony"
+
+#: tryton/gui/main.py:499
+msgid "_Icons"
+msgstr "Ikony"
+
+#: tryton/gui/main.py:508
+msgid "_Text"
+msgstr "Tekst"
+
+#: tryton/gui/main.py:517
+msgid "_Menubar"
+msgstr "Pasek menu"
+
+#: tryton/gui/main.py:525
+msgid "Change Accelerators"
+msgstr "Zmień klawisze skrótów"
+
+#: tryton/gui/main.py:534
+msgid "_Mode"
+msgstr "Tryb"
+
+#: tryton/gui/main.py:542
+msgid "_Normal"
+msgstr "Normalny"
+
+#: tryton/gui/main.py:551
+msgid "_PDA"
+msgstr "PDA"
+
+#: tryton/gui/main.py:558
+msgid "_Form"
+msgstr "Formularz"
+
+#: tryton/gui/main.py:567
+msgid "Save Width/Height"
+msgstr "Zapamiętaj szerokość/wysokość"
+
+#: tryton/gui/main.py:578
+msgid "Save Tree State"
+msgstr "Zapamiętaj stan drzewa"
+
+#: tryton/gui/main.py:590
+msgid "Fast Tabbing"
+msgstr "Szybki tabulator"
+
+#: tryton/gui/main.py:600
+msgid "Spell Checking"
+msgstr "Sprawdzanie pisowni"
+
+#: tryton/gui/main.py:611
+msgid "_Previous Tab"
+msgstr "Poprzednia zakładka"
+
+#: tryton/gui/main.py:618
+msgid "_Next Tab"
+msgstr "Następna zakładka"
+
+#: tryton/gui/main.py:625
+msgid "Search Limit..."
+msgstr "Ograniczenie wyszukiwania..."
+
+#: tryton/gui/main.py:631
+msgid "_Email..."
+msgstr "E-mail..."
+
+#: tryton/gui/main.py:639
+msgid "_Save Options"
+msgstr "Zapisz opcje"
+
+#: tryton/gui/main.py:652
+msgid "_Tips..."
+msgstr "Porady..."
+
+#: tryton/gui/main.py:662
+msgid "_Keyboard Shortcuts..."
+msgstr "Skróty klawiszowe..."
+
+#: tryton/gui/main.py:672
+msgid "_About..."
+msgstr "O programie..."
+
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
+msgid "Manage Favorites"
+msgstr "Zarządzaj ulubionymi"
+
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
+msgid "Search"
+msgstr "Szukaj"
+
+#: tryton/gui/main.py:880
+msgid ""
+"The following action requires to close all tabs.\n"
+"Do you want to continue?"
+msgstr ""
+"Wykonanie polecenia wymaga zamknięcia wszystkich zakładek.\n"
+"Czy chcesz kontynuować?"
+
+#: tryton/gui/main.py:1139
+msgid "Close Tab"
+msgstr "Zamknij zakładkę"
+
+#: tryton/gui/window/attachment.py:22
+#, python-format
+msgid "Attachments (%s)"
+msgstr "Załączniki (%s)"
+
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
+msgid "New"
+msgstr "Nowy"
+
+#: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
+msgid "Create a new record"
+msgstr "Utwórz nowy rekord"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+#: tryton/gui/window/win_export.py:86
+msgid "Save"
+msgstr "Zapisz"
+
+#: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
+msgid "Save this record"
+msgstr "Zapisz rekord"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
+msgid "Switch"
+msgstr "Przełącz"
+
+#: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
+msgid "Switch view"
+msgstr "Przełącz widok"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
+msgid "_Reload"
+msgstr "Przeładuj"
+
+#: tryton/gui/window/board.py:23 tryton/gui/window/form.py:38
+msgid "Reload"
+msgstr "Przeładuj"
+
+#: tryton/gui/window/board.py:28 tryton/gui/window/form.py:52
+msgid "_New"
+msgstr "Nowy"
+
+#: tryton/gui/window/board.py:29 tryton/gui/window/form.py:53
+#: tryton/gui/window/win_form.py:68
+msgid "_Save"
+msgstr "Zapisz"
+
+#: tryton/gui/window/board.py:30 tryton/gui/window/form.py:54
+msgid "_Switch View"
+msgstr "Przełącz widok"
+
+#: tryton/gui/window/board.py:32 tryton/gui/window/form.py:56
+msgid "_Reload/Undo"
+msgstr "Przeładuj/Przywróć"
+
+#: tryton/gui/window/board.py:34 tryton/gui/window/form.py:60
+msgid "_Delete..."
+msgstr "Usuń..."
+
+#: tryton/gui/window/board.py:36 tryton/gui/window/form.py:70
+msgid "_Close Tab"
+msgstr "Zamknij zakładkę"
+
+#: tryton/gui/window/dblogin.py:31
+msgid "Profile Editor"
+msgstr "Edytor profili"
+
+#: tryton/gui/window/dblogin.py:45
+msgid "Profile"
+msgstr "Profil"
+
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
+msgid "_Add"
+msgstr "Dodaj"
+
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
+msgid "_Remove"
+msgstr "Usuń"
+
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
+msgid "Host:"
+msgstr "Host:"
+
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Baza danych:"
+
+#: tryton/gui/window/dblogin.py:98
+msgid "Fetching databases list"
+msgstr "Pobieranie listy baz danych"
+
+#: tryton/gui/window/dblogin.py:114
+msgid "Username:"
+msgstr "Użytkownik:"
+
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
+msgid "Incompatible version of the server"
+msgstr "Niewłaściwa wersja serwera"
+
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Nie można połączyć się z serwerem"
+
+#: tryton/gui/window/dblogin.py:379
+msgid "Login"
+msgstr "Login"
+
+#: tryton/gui/window/dblogin.py:385
+msgid "_Cancel"
+msgstr "Anuluj"
+
+#: tryton/gui/window/dblogin.py:390
+msgid "Cancel connection to the Tryton server"
+msgstr "Anuluj połączenie z serwerem Tryton"
+
+#: tryton/gui/window/dblogin.py:392
+msgid "C_onnect"
+msgstr "Połącz"
+
+#: tryton/gui/window/dblogin.py:397
+msgid "Connect the Tryton server"
+msgstr "Połącz z serwerem Tryton"
+
+#: tryton/gui/window/dblogin.py:425
+msgid "Profile:"
+msgstr "Profil:"
+
+#: tryton/gui/window/dblogin.py:429
+msgid "_Manage profiles"
+msgstr "Zarządzanie profilami"
+
+#: tryton/gui/window/dblogin.py:441
+msgid "Host / Database information"
+msgstr "Informacje o hoście / bazie danych"
+
+#: tryton/gui/window/dblogin.py:470
+msgid "User name:"
+msgstr "Użytkownik:"
+
+#: tryton/gui/window/email.py:16
+msgid "Email"
+msgstr "E-mail"
+
+#: tryton/gui/window/email.py:24
+msgid "Email Program Settings"
+msgstr "Ustawienia czytnika poczty"
+
+#: tryton/gui/window/email.py:27
+msgid "Command Line:"
+msgstr "Linia poleceń:"
+
+#: tryton/gui/window/email.py:37
+msgid "Legend of Available Placeholders:"
+msgstr "Lista dostępnych symboli zastępczych:"
+
+#: tryton/gui/window/email.py:44
+msgid "To:"
+msgstr "Do:"
+
+#: tryton/gui/window/email.py:48
+msgid "CC:"
+msgstr "DW:"
+
+#: tryton/gui/window/email.py:52
+msgid "Subject:"
+msgstr "Temat:"
+
+#: tryton/gui/window/email.py:56
+msgid "Body:"
+msgstr "Treść:"
+
+#: tryton/gui/window/email.py:60
+msgid "Attachment:"
+msgstr "Załącznik:"
+
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
+msgid "Previous"
+msgstr "Poprzedni"
+
+#: tryton/gui/window/form.py:42
+msgid "Previous Record"
+msgstr "Poprzedni rekord"
+
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
+msgid "Next"
+msgstr "Następny"
+
+#: tryton/gui/window/form.py:43
+msgid "Next Record"
+msgstr "Następny rekord"
+
+#: tryton/gui/window/form.py:46
+msgid "Attachment(0)"
+msgstr "Załącznik(0)"
+
+#: tryton/gui/window/form.py:47
+msgid "Add an attachment to the record"
+msgstr "Dodaj załącznik do rekordu"
+
+#: tryton/gui/window/form.py:48
+msgid "Note(0)"
+msgstr "Notatka(0)"
+
+#: tryton/gui/window/form.py:49
+msgid "Add a note to the record"
+msgstr "Dodaj notatkę do rekordu"
+
+#: tryton/gui/window/form.py:58
+msgid "_Duplicate"
+msgstr "Duplikuj"
+
+#: tryton/gui/window/form.py:63
+msgid "_Previous"
+msgstr "Poprzedni"
+
+#: tryton/gui/window/form.py:65
+msgid "_Next"
+msgstr "Następny"
+
+#: tryton/gui/window/form.py:66
+msgid "_Search"
+msgstr "Szukaj"
+
+#: tryton/gui/window/form.py:67
+msgid "View _Logs..."
+msgstr "Przeglądaj dziennik..."
+
+#: tryton/gui/window/form.py:68
+msgid "Show revisions..."
+msgstr "Pokaż rewizje..."
+
+#: tryton/gui/window/form.py:73
+msgid "A_ttachments..."
+msgstr "Załączniki..."
+
+#: tryton/gui/window/form.py:75
+msgid "_Notes..."
+msgstr "Notatki..."
+
+#: tryton/gui/window/form.py:76
+msgid "_Actions..."
+msgstr "Akcje..."
+
+#: tryton/gui/window/form.py:78
+msgid "_Relate..."
+msgstr "Odnośnik..."
+
+#: tryton/gui/window/form.py:81
+msgid "_Report..."
+msgstr "Raport..."
+
+#: tryton/gui/window/form.py:83
+msgid "_E-Mail..."
+msgstr "E-mail..."
+
+#: tryton/gui/window/form.py:85
+msgid "_Print..."
+msgstr "Wydruk..."
+
+#: tryton/gui/window/form.py:88
+msgid "_Export Data..."
+msgstr "Eksportuj dane..."
+
+#: tryton/gui/window/form.py:90
+msgid "_Import Data..."
+msgstr "Importuj dane..."
+
+#: tryton/gui/window/form.py:204
+#, python-format
+msgid "Attachment(%d)"
+msgstr "Załącznik(%d)"
+
+#: tryton/gui/window/form.py:230
+#, python-format
+msgid "Note(%d)"
+msgstr "Notatka(%d)"
+
+#: tryton/gui/window/form.py:252
+msgid "You have to select one record."
+msgstr "Musisz wybrać jeden rekord."
+
+#: tryton/gui/window/form.py:256
+msgid "ID:"
+msgstr "ID:"
+
+#: tryton/gui/window/form.py:257
+msgid "Creation User:"
+msgstr "Utworzył:"
+
+#: tryton/gui/window/form.py:258
+msgid "Creation Date:"
+msgstr "Data utworzenia:"
+
+#: tryton/gui/window/form.py:259
+msgid "Latest Modification by:"
+msgstr "Autor ostatniej modyfikacji:"
+
+#: tryton/gui/window/form.py:260
+msgid "Latest Modification Date:"
+msgstr "Data ostatniej modyfikacji:"
+
+#: tryton/gui/window/form.py:279
+msgid "Model:"
+msgstr "Model:"
+
+#: tryton/gui/window/form.py:340
+msgid "Are you sure to remove this record?"
+msgstr "Czy na pewno usunąć wybrany rekord?"
+
+#: tryton/gui/window/form.py:342
+msgid "Are you sure to remove those records?"
+msgstr "Czy na pewno usunąć wybrane rekordy?"
+
+#: tryton/gui/window/form.py:345
+msgid "Records not removed."
+msgstr "Rekordy nie zostały usunięte."
+
+#: tryton/gui/window/form.py:347
+msgid "Records removed."
+msgstr "Rekordy zostały usunięte."
+
+#: tryton/gui/window/form.py:376
+msgid "Working now on the duplicated record(s)."
+msgstr "Pracujesz na zduplikowanym(ch) rekordzie(ch)."
+
+#: tryton/gui/window/form.py:388
+msgid "Record saved."
+msgstr "Rekord został zapisany."
+
+#: tryton/gui/window/form.py:491
+msgid " of "
+msgstr " z "
+
+#: tryton/gui/window/form.py:512
+msgid ""
+"This record has been modified\n"
+"do you want to save it?"
+msgstr ""
+"Rekord został zmodyfikowany.\n"
+"Czy chcesz go zapisać?"
+
+#: tryton/gui/window/form.py:566
+msgid "Action"
+msgstr "Akcja"
+
+#: tryton/gui/window/form.py:566
+msgid "Launch action"
+msgstr "Uruchom akcję"
+
+#: tryton/gui/window/form.py:567
+msgid "Relate"
+msgstr "Odnośnik"
+
+#: tryton/gui/window/form.py:567
+msgid "Open related records"
+msgstr "Otwórz powiązane rekordy"
+
+#: tryton/gui/window/form.py:569
+msgid "Report"
+msgstr "Raport"
+
+#: tryton/gui/window/form.py:569
+msgid "Open report"
+msgstr "Otwórz raport"
+
+#: tryton/gui/window/form.py:570
+msgid "E-Mail"
+msgstr "E-mail"
+
+#: tryton/gui/window/form.py:570
+msgid "E-Mail report"
+msgstr "Wyślij raport"
+
+#: tryton/gui/window/form.py:571
+msgid "Print"
+msgstr "Wydruk"
+
+#: tryton/gui/window/form.py:571
+msgid "Print report"
+msgstr "Drukuj raport"
+
+#: tryton/gui/window/form.py:637
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
+msgid "Unknown"
+msgstr "Nieznany"
+
+#: tryton/gui/window/limit.py:17
+msgid "Limit"
+msgstr "Limit"
+
+#: tryton/gui/window/limit.py:25
+msgid "Search Limit Settings"
+msgstr "Ustawienia limitu wyszukiwania"
+
+#: tryton/gui/window/limit.py:28
+msgid "Limit:"
+msgstr "Limit:"
+
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Notatki (%s)"
+
+#: tryton/gui/window/preference.py:23
+msgid "Preferences"
+msgstr "Preferencje"
+
+#: tryton/gui/window/preference.py:48
+msgid "Edit User Preferences"
+msgstr "Edytuj preferencje użytkownika"
+
+#: tryton/gui/window/preference.py:75
+msgid "Preference"
+msgstr "Preferencje"
+
+#: tryton/gui/window/revision.py:19
+msgid "Revision"
+msgstr "Rewizja"
+
+#: tryton/gui/window/revision.py:27
+msgid "Select a revision"
+msgstr "Wybierz rewizję"
+
+#: tryton/gui/window/revision.py:30
+msgid "Revision:"
+msgstr "Rewizja:"
+
+#: tryton/gui/window/shortcuts.py:17
+msgid "Keyboard Shortcuts"
+msgstr "Skróty klawiszowe"
+
+#: tryton/gui/window/shortcuts.py:27
+msgid "Text Entries Shortcuts"
+msgstr "Skróty dotyczące tekstu"
+
+#: tryton/gui/window/shortcuts.py:28
+msgid "Cut selected text"
+msgstr "Wytnij zaznaczony tekst"
+
+#: tryton/gui/window/shortcuts.py:29
+msgid "Copy selected text"
+msgstr "Skopiuj zaznaczony tekst"
+
+#: tryton/gui/window/shortcuts.py:30
+msgid "Paste copied text"
+msgstr "Wklej zaznaczony tekst"
+
+#: tryton/gui/window/shortcuts.py:31
+msgid "Next widget"
+msgstr "Następny widżet"
+
+#: tryton/gui/window/shortcuts.py:32
+msgid "Previous widget"
+msgstr "Poprzedni widżet"
+
+#: tryton/gui/window/shortcuts.py:33
+msgid "Relation Entries Shortcuts"
+msgstr "Skróty dotyczące odnośników"
+
+#: tryton/gui/window/shortcuts.py:34
+msgid "Create new relation"
+msgstr "Utwórz nowy odnośnik"
+
+#: tryton/gui/window/shortcuts.py:35
+msgid "Open/Search relation"
+msgstr "Otwórz/Szukaj odnośnik"
+
+#: tryton/gui/window/shortcuts.py:36
+msgid "List Entries Shortcuts"
+msgstr "Skróty dotyczące list"
+
+#: tryton/gui/window/shortcuts.py:37
+msgid "Create new line"
+msgstr "Utwórz nowy wiersz"
+
+#: tryton/gui/window/shortcuts.py:38
+msgid "Open relation"
+msgstr "Utwórz odnośnik"
+
+#: tryton/gui/window/shortcuts.py:39
+msgid "Mark line for deletion"
+msgstr "Zaznacz wiersz do usunięcia"
+
+#: tryton/gui/window/shortcuts.py:40
+msgid "Unmark line for deletion"
+msgstr "Odznacz wiersz do usunięcia"
+
+#: tryton/gui/window/shortcuts.py:43
+msgid "Edition Widgets"
+msgstr "Widżety edycji"
+
+#: tryton/gui/window/shortcuts.py:46
+msgid "Move Cursor"
+msgstr "Przesuń kursor"
+
+#: tryton/gui/window/shortcuts.py:47
+msgid "Move to right"
+msgstr "Przesuń w prawo"
+
+#: tryton/gui/window/shortcuts.py:48
+msgid "Move to left"
+msgstr "Przesuń w lewo"
+
+#: tryton/gui/window/shortcuts.py:49
+msgid "Move up"
+msgstr "Przesuń w górę"
+
+#: tryton/gui/window/shortcuts.py:50
+msgid "Move down"
+msgstr "Przesuń w dół"
+
+#: tryton/gui/window/shortcuts.py:51
+msgid "Move up of one page"
+msgstr "Przesuń w górę o jedną stronę"
+
+#: tryton/gui/window/shortcuts.py:52
+msgid "Move down of one page"
+msgstr "Przesuń w dół o jedną stronę"
+
+#: tryton/gui/window/shortcuts.py:53
+msgid "Move to top"
+msgstr "Przesuń do góry"
+
+#: tryton/gui/window/shortcuts.py:54
+msgid "Move to bottom"
+msgstr "Przesuń do dołu"
+
+#: tryton/gui/window/shortcuts.py:55
+msgid "Move to parent"
+msgstr "Przesuń do elementu nadrzędnego"
+
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
+msgid "Select all"
+msgstr "Zaznacz wszystko"
+
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
+msgid "Unselect all"
+msgstr "Odznacz wszystko"
+
+#: tryton/gui/window/shortcuts.py:61
+msgid "Select parent"
+msgstr "Zaznacz element nadrzędny"
+
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
+msgid "Select/Activate current row"
+msgstr "Zaznacz/Aktywuj bieżący wiersz"
+
+#: tryton/gui/window/shortcuts.py:66
+msgid "Toggle selection"
+msgstr "Przełącz zaznaczenie"
+
+#: tryton/gui/window/shortcuts.py:67
+msgid "Expand/Collapse"
+msgstr "Rozwiń/Zwiń"
+
+#: tryton/gui/window/shortcuts.py:68
+msgid "Expand row"
+msgstr "Rozwiń wiersz"
+
+#: tryton/gui/window/shortcuts.py:69
+msgid "Collapse row"
+msgstr "Zwiń wiersz"
+
+#: tryton/gui/window/shortcuts.py:70
+msgid "Toggle row"
+msgstr "Przełącz wiersz"
+
+#: tryton/gui/window/shortcuts.py:71
+msgid "Expand all rows"
+msgstr "Rozwiń wszystkie wiersze"
+
+#: tryton/gui/window/shortcuts.py:72
+msgid "Collapse all rows"
+msgstr "Zwiń wszystkie wiersze"
+
+#: tryton/gui/window/shortcuts.py:75
+msgid "Tree view"
+msgstr "Widok drzewa"
+
+#: tryton/gui/window/tips.py:17
+msgid ""
+"<b>Welcome to Tryton</b>\n"
+"\n"
+"\n"
+msgstr ""
+"<b>Witaj w systemie Tryton</b>\n"
+"\n"
+"\n"
+
+#: tryton/gui/window/tips.py:21
+msgid ""
+"<b>Do you know Triton, one of the namesakes for our project?</b>\n"
+"\n"
+"Triton (pronounced /ˈtraɪtən/ TRYE-tən, or as in Greek Τρίτων) is the\n"
+"largest moon of the planet Neptune, discovered on October 10, 1846\n"
+"by William Lassell. It is the only large moon in the Solar System\n"
+"with a retrograde orbit, which is an orbit in the opposite direction\n"
+"to its planet's rotation. At 2,700 km in diameter, it is the seventh-largest\n"
+"moon in the Solar System. Triton comprises more than 99.5 percent of all\n"
+"the mass known to orbit Neptune, including the planet's rings and twelve\n"
+"other known moons. It is also more massive than all the Solar System's\n"
+"159 known smaller moons combined.\n"
+msgstr ""
+"<b>Czy znasz Trytona, imiennika naszego projektu?</b>\n"
+"\n"
+"Tryton (ang. Triton, wymawiany /ˈtraɪtən/ TRYE-tən, lub gr. Τρίτων) jest\n"
+"największym księżycem Neptuna. Został odkryty przez Williama Lassella\n"
+"10 października 1846 roku. Tryton jest jedynym dużym księżycem w Układzie\n"
+"Słonecznym, który porusza się ruchem wstecznym wokół swojej planety.\n"
+"Średnia odległość od planety wynosi 354,8 tys. km i jest bardzo podobna\n"
+"do odległości Księżyca od Ziemi. Tryton powoli zbliża się do Neptuna\n"
+"i za 1,4 do 3,6 miliarda lat najprawdopodobniej zderzy się z planetą\n"
+"bądź rozpadnie się na niewielkie fragmenty, tworząc system pierścieni\n"
+"o wielkości porównywalnej z tymi posiadanymi przez Saturna.\n"
+
+#: tryton/gui/window/tips.py:33
+msgid ""
+"<b>Export list records</b>\n"
+"\n"
+"You can copy records from any list with Ctrl + C\n"
+"and paste in any application with Ctrl + V\n"
+msgstr ""
+"<b>Eksport listy rekordów</b>\n"
+"\n"
+"Możesz skopiować rekordy z każdej listy używając Ctrl + C\n"
+"i wkleić do każdej aplikacji za pomocą Ctrl + V\n"
+
+#: tryton/gui/window/tips.py:38
+msgid ""
+"<b>Export graphs</b>\n"
+"\n"
+"You can save any graphs in PNG file with right-click on it.\n"
+msgstr ""
+"<b>Eksport wykresów</b>\n"
+"\n"
+"Możesz zapisać każdy wykres do pliku w formacie PNG klikając\n"
+"na niego prawym klawiszem myszki.\n"
+
+#: tryton/gui/window/tips.py:45
+msgid "Tips"
+msgstr "Porady"
+
+#: tryton/gui/window/tips.py:64
+msgid "_Display a new tip next time"
+msgstr "Pokaż następnym razem nową poradę"
+
+#: tryton/gui/window/win_csv.py:59
+msgid "<b>All fields</b>"
+msgstr "<b>Wszystkie pola</b>"
+
+#: tryton/gui/window/win_csv.py:86
+msgid "_Clear"
+msgstr "Wyczyść"
+
+#: tryton/gui/window/win_csv.py:107
+msgid "<b>Fields selected</b>"
+msgstr "<b>Pola wybrane</b>"
+
+#: tryton/gui/window/win_csv.py:126
+msgid "CSV Parameters"
+msgstr "Parametry CSV"
+
+#: tryton/gui/window/win_csv.py:134
+msgid "Delimiter:"
+msgstr "Separator:"
+
+#: tryton/gui/window/win_csv.py:148
+msgid "Quote char:"
+msgstr "Symbol dziesiętny:"
+
+#: tryton/gui/window/win_csv.py:157
+msgid "Encoding:"
+msgstr "Kodowanie:"
+
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
+msgid "Field name"
+msgstr "Nazwa pola"
+
+#: tryton/gui/window/win_export.py:28
+msgid "Export to CSV"
+msgstr "Eksport do CSV"
+
+#: tryton/gui/window/win_export.py:39
+msgid "<b>Predefined exports</b>"
+msgstr "<b>Predefiniowane eksporty</b>"
+
+#: tryton/gui/window/win_export.py:46
+msgid "Name"
+msgstr "Nazwa"
+
+#: tryton/gui/window/win_export.py:60
+msgid "_Save Export"
+msgstr "Zapisz eksport"
+
+#: tryton/gui/window/win_export.py:69
+msgid "_Delete Export"
+msgstr "Usuń eksport"
+
+#: tryton/gui/window/win_export.py:85
+msgid "Open"
+msgstr "Otwórz"
+
+#: tryton/gui/window/win_export.py:90
+msgid "Add _field names"
+msgstr "Dodaj nazwy pól"
+
+#: tryton/gui/window/win_export.py:104
+#, python-format
+msgid "%s (string)"
+msgstr "%s (string)"
+
+#: tryton/gui/window/win_export.py:202
+msgid "What is the name of this export?"
+msgstr "Jaka jest nazwa tego eksportu?"
+
+#: tryton/gui/window/win_export.py:208
+#, python-format
+msgid "Override '%s' definition?"
+msgstr "Czy nadpisać definicję '%s'?"
+
+#: tryton/gui/window/win_export.py:325
+#, python-format
+msgid "%d record saved."
+msgstr "%d rekord został zapisany."
+
+#: tryton/gui/window/win_export.py:327
+#, python-format
+msgid "%d records saved."
+msgstr "%d rekordy zostały zapisane."
+
+#: tryton/gui/window/win_export.py:330
+#, python-format
+msgid ""
+"Operation failed.\n"
+"Error message:\n"
+"%s"
+msgstr ""
+"Operacja nie powiodła się.\n"
+"Komunikat błędu:\n"
+"%s"
+
+#: tryton/gui/window/win_form.py:37
+msgid "Link"
+msgstr "Link"
+
+#: tryton/gui/window/win_form.py:125
+msgid "Add"
+msgstr "Dodaj"
+
+#: tryton/gui/window/win_form.py:138
+msgid "Remove <Del>"
+msgstr "Usuń <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
+msgid "Create a new record <F3>"
+msgstr "Utwórz nowy rekord <F3>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
+msgid "Delete selected record <Del>"
+msgstr "Usuń zaznaczony rekord <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
+msgid "Undelete selected record <Ins>"
+msgstr "Przywróć zaznaczony rekord <Ins>"
+
+#: tryton/gui/window/win_import.py:25
+msgid "Import from CSV"
+msgstr "Importuj z CSV"
+
+#: tryton/gui/window/win_import.py:32
+msgid "_Auto-Detect"
+msgstr "Rozpoznaj"
+
+#: tryton/gui/window/win_import.py:43
+msgid "File to Import:"
+msgstr "Plik do zaimportowania:"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
+#: tryton/gui/window/win_import.py:45
+msgid "Open..."
+msgstr "Otwórz..."
+
+#: tryton/gui/window/win_import.py:50
+msgid "Lines to Skip:"
+msgstr "Wiersze do ominięcia:"
+
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
+msgstr "Najpierw wybierz plik do zaimportowania."
+
+#: tryton/gui/window/win_import.py:113
+msgid "Error opening CSV file"
+msgstr "Błąd otwarcia pliku CSV"
+
+#: tryton/gui/window/win_import.py:141
+#, python-format
+msgid "Error processing the file at field %s."
+msgstr "Błąd przetwarzania pliku w polu %s."
+
+#: tryton/gui/window/win_import.py:200
+#, python-format
+msgid "%d record imported."
+msgstr "Rekord %d został zaimportowany."
+
+#: tryton/gui/window/win_import.py:202
+#, python-format
+msgid "%d records imported."
+msgstr "Rekordy %d zostały zaimportowane."
+
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr "Szukaj %s"
+
+#: tryton/gui/window/wizard.py:288
+msgid "Wizard"
+msgstr "Kreator"
+
+#: tryton/gui/window/view_form/screen/screen.py:197
+msgid "ID"
+msgstr "ID"
+
+#: tryton/gui/window/view_form/screen/screen.py:198
+msgid "Creation User"
+msgstr "Utworzył"
+
+#: tryton/gui/window/view_form/screen/screen.py:199
+msgid "Creation Date"
+msgstr "Data utworzenia"
+
+#: tryton/gui/window/view_form/screen/screen.py:200
+msgid "Modification User"
+msgstr "Zmodyfikował"
+
+#: tryton/gui/window/view_form/screen/screen.py:201
+msgid "Modification Date"
+msgstr "Data modyfikacji"
+
+#: tryton/gui/window/view_form/screen/screen.py:748
+msgid "Unable to get view tree state"
+msgstr "Brak możliwości uzyskania stanu widoku drzewa"
+
+#: tryton/gui/window/view_form/screen/screen.py:807
+msgid "Unable to set view tree state"
+msgstr "Brak możliwości ustawienia stanu widoku drzewa"
+
+#: tryton/gui/window/view_form/screen/screen.py:983
+#, python-format
+msgid "\"%s\" is not valid according to its domain"
+msgstr "\"%s\" jest nieprawidłowy pod względem swojej domeny"
+
+#: tryton/gui/window/view_form/screen/screen.py:990
+#, python-format
+msgid "\"%s\" is required"
+msgstr "\"%s\" jest wymagany"
+
+#: tryton/gui/window/view_form/screen/screen.py:994
+#, python-format
+msgid "The values of \"%s\" are not valid"
+msgstr "Wartości \"%s\" nie są prawidłowe"
+
+#: tryton/gui/window/view_form/screen/screen.py:1045
+msgid "Pre-validation"
+msgstr "Wstępna walidacja"
+
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
+msgid ":"
+msgstr ":"
+
+#: tryton/gui/window/view_form/view/graph.py:100
+msgid "Image Size"
+msgstr "Rozmiar obrazka"
+
+#: tryton/gui/window/view_form/view/graph.py:110
+msgid "Width:"
+msgstr "Szerokość:"
+
+#: tryton/gui/window/view_form/view/graph.py:118
+msgid "Height:"
+msgstr "Wysokość:"
+
+#: tryton/gui/window/view_form/view/graph.py:128
+msgid "PNG image (*.png)"
+msgstr "Obrazek w formacie PNG (*.png)"
+
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Zapisz jako"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+msgid "Image size too large."
+msgstr "Za duży rozmiar obrazka."
+
+#: tryton/gui/window/view_form/view/screen_container.py:24
+msgid ".."
+msgstr ".."
+
+#: tryton/gui/window/view_form/view/screen_container.py:145
+msgid "F_ilters"
+msgstr "Filtry"
+
+#: tryton/gui/window/view_form/view/screen_container.py:199
+msgid "Show bookmarks of filters"
+msgstr "Pokaż zakładki filtrów"
+
+#: tryton/gui/window/view_form/view/screen_container.py:369
+msgid "Remove this bookmark"
+msgstr "Usuń zakładkę"
+
+#: tryton/gui/window/view_form/view/screen_container.py:376
+msgid "Bookmark this filter"
+msgstr "Dodaj filtr do zakładek"
+
+#: tryton/gui/window/view_form/view/screen_container.py:462
+msgid "Bookmark Name:"
+msgstr "Dodaj do zakładek nazwę:"
+
+#: tryton/gui/window/view_form/view/screen_container.py:570
+msgid "Find"
+msgstr "Znajdź"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
+msgid "Today"
+msgstr "Dzisiaj"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "wstecz"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "dalej"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "poprzedni rok"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "następny rok"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
+msgid "Week View"
+msgstr "Widok tygodnia"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
+msgid "Month View"
+msgstr "Widok miesiąca"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
+msgid "Week"
+msgstr "Tydzień"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
+msgid "Select..."
+msgstr "Wybierz..."
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
+msgid "Clear"
+msgstr "Wyczyść"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
+msgid "All files"
+msgstr "Wszystkie pliki"
+
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
+msgid "Select"
+msgstr "Wybierz"
+
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
+msgid "Show plain text"
+msgstr "Pokaż tekst"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
+msgid "Add value"
+msgstr "Dodaj wartość"
+
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
+#, python-format
+msgid "Remove \"%s\""
+msgstr "Usuń \"%s\""
+
+#: tryton/gui/window/view_form/view/form_gtk/image.py:49
+msgid "Images"
+msgstr "Obrazki"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
+msgid "Add existing record"
+msgstr "Dodaj istniejący rekord"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
+msgid "Remove selected record <Del>"
+msgstr "Usuń wybrany rekored <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
+msgstr "Otwórz rekord <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Wyczyść record <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
+msgid "Search a record <F2>"
+msgstr "Szukaj rekord <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
+msgid "Remove selected record"
+msgstr "Usuń wybrany rekord"
+
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
+msgid "Edit selected record <F2>"
+msgstr "Edytuj wybrany rekord <F2>"
+
+#: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
+#, python-format
+msgid "%s%%"
+msgstr "%s%%"
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
+msgid "Foreground"
+msgstr "Przód"
+
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
+msgid "Select a color"
+msgstr "Wybierz kolor"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
+msgid "Translation"
+msgstr "Tłumaczenie"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
+msgid "Edit"
+msgstr "Edycja"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
+msgid "Fuzzy"
+msgstr "Niejasne"
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+msgid "You need to save the record before adding translations."
+msgstr "Musisz zapisać rekord przed dodaniem tłumaczeń."
+
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
+msgstr "Brak innych języków."
+
+#: tryton/plugins/translation/__init__.py:22
+msgid "Translate view"
+msgstr "Widok tłumaczenia"
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo
index 98d17d6..d319832 100644
Binary files a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo and b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
index e654e13..ff983cb 100644
--- a/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/pt_BR/LC_MESSAGES/tryton.po
@@ -46,69 +46,89 @@ msgid "File \"%s\" not found"
 msgstr "Arquivo \"%s\" não encontrado"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Não foi possível gravar o arquivo de configuração %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Não foi possível definir as configurações regionais %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Selecione sua ação"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Nenhuma ação definida!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Conexão ao Tryton"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Servidor:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Porta:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Seleção"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Sua seleção:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Salvar como..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Sempre ignorar esse aviso."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Você deseja prosseguir?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Confirmação"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Exceção de concorrência"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -126,50 +146,50 @@ msgstr ""
 "- \"Comparar\" para ver a versão modificada;\n"
 "- \"Gravar\" para salvar a versão atual."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Comparar"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Gravar mesmo assim"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Erro"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Reportar erro (bug)"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Erro da aplicação!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Erro:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "Para reportar erros você deve ter uma conta em <u>%s</u>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Sistema de registro de erros"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Usuário:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Senha:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -177,45 +197,49 @@ msgstr ""
 "O mesmo erro já foi reportado por outro usuário.\n"
 "Para mantê-lo informado, seu nome de usuário foi adicionado à lista de acompanhamento deste caso"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Criar novo erro (bug) com ID"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Erro de conexão!\n"
 "Usuário ou senha errados!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Exceção:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "A identidade (fingerprint) do servidor mudou desde a última conexão!\n"
 "A aplicação não irá se conectar a este servidor até que sua identidade seja corrigida."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Risco de segurança"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Erro de conexão!\n"
 "Não foi possível conectar ao servidor!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Erro da rede!"
 
 #: tryton/common/completion.py:22
@@ -226,61 +250,57 @@ msgstr "<i>Pesquisar...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Criar...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Valor"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Valor exibido"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Formato"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Formato de exibição"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Abrir o calendário"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Formato de Data"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Formato de data exibido"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "a"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "sim"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "verdadeiro"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Verdadeiro"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "v"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Verdadeiro"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Falso"
 
@@ -292,27 +312,27 @@ msgstr "Editar..."
 msgid "Attachments..."
 msgstr "Anexos..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Notas..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Ações..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Relacionado..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Relatório..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "E-mail..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Imprimir..."
 
@@ -344,183 +364,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Arquivo"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Usuário"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Opções"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Fa_voritos"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Ajuda"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Nenhum resultado encontrado."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Conectar..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "_Desconectar"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Banco_de_dados"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Novo Banco de Dados..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Restaurar Banco de Dados..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "_Backup do Banco de Dados..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "A_pagar Banco de Dados..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Sair..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Preferências..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Recarregar Menu"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "_Ativar Menu"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "_Busca Global"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Barra de Ferramentas"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Default"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "_Texto e Ícones"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Ícones"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Texto"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Barra do Menu"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Mudar teclas de atalho"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Modo"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Normal"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "_Formulário"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Gravar Largura/Altura"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Gravar Estado da Árvore"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Tabulação rápida"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Verificar Ortografia"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "_Aba Anterior"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_Próxima Aba"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Limite de Buscas..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Email..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Salvar Opções"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Dicas..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Atalhos do Teclado..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Sobre..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "Gerenciar Favoritos"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Busca"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -528,98 +529,14 @@ msgstr ""
 "A ação seguinte requer que todas as abas sejam fechadas.\n"
 "Você deseja prosseguir?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Fechar Aba"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Você está prestes a apagar um banco de dados do Tryton.\n"
-"Tem certeza que deseja prosseguir?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Senha do servidor Tryton errada\n"
-"Favor tentar novamente."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Acesso Negado!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "A deleção do banco de dados falhou com a seguinte mensagem de erro:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "A deleção do banco de dados falhou!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "O banco de dados foi apagado com sucesso!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Abrir arquivo de backup para restaurar..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Não é possível recuperar um banco de dados protegido por senha.\n"
-"O processo de backup e restauração deve ser feito manualmente."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "O banco de dados está protegido por senha!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Senha do servidor Tryton errada.\n"
-"Favor tentar novamente."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "A restauração do banco falhou com a seguinte mensagem:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "A recuperação do banco de dados falhou!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Banco de dados restaurado com sucesso!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Não é possível gerar uma cópia de um banco de dados protegido por senha.\n"
-"Os processos de backup e restauração devem ser feitos manualmente."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "A deleção do banco de dados falhou com a seguinte mensagem:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "A cópia do banco de dados falhou!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Backup do banco de dados feito com sucesso!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Anexo(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -630,7 +547,7 @@ msgid "Create a new record"
 msgstr "Criar novo registro"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Gravar"
 
@@ -639,8 +556,8 @@ msgid "Save this record"
 msgstr "Gravar este registro"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Trocar"
 
@@ -681,394 +598,122 @@ msgstr "_Apagar..."
 msgid "_Close Tab"
 msgstr "_Fechar aba"
 
-#: tryton/gui/window/dbcreate.py:29
-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 é a URL do servidor Tryton. Use serivdor 'localhost' e porta '8000' se "
-"o servidor estiver instalado neste computador. Clique em 'Mudar' para "
-"modificar o endereço."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Sem conexão!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Não foi possível se conectar ao servidor!\n"
-"1. Verifique se o servidor está sendo executado.\n"
-"2. Verifique o endereço e a porta nos quais o servidor responde.\n"
-"3. Se houver um firewall entre o servidor e este cliente, certifique-se que o endereço e a porta do servidor (normalmente 8000) não estão sendo bloqueados.\n"
-"Clique em 'Mudar' para modificar o endereço."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Criar novo banco de dados"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "C_riar"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Criar novo banco de dados."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Configuração do servidor:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Conexão do Servidor:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 é a URL do servidor. Use o servidor 'localhost' e a porta '8000' se o "
-"servidor estiver instalado neste computador. Clique em 'Mudar' para trocar o"
-" endereço."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "M_udar"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Configuração do servidor..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Senha do Servidor do Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 é a senha do servidor do Tryton. Ela não pertence a um usuário "
-"específico. Esta senha é normalmente definida na configuração do trytond."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Configuração de novo banco de dados:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Nome do banco de dados:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Escolha o nome do novo banco de dados.\n"
-"Os caracteres permitidos são alphanuméricos ou _(underscore)\n"
-"Você deve evitar acentos, espaços ou caracteres especiais! Exemplo: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Idioma padrão:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"Escolha o idioma padrão que será instalado para este banco. É possível a "
-"instalação de novos idiomas após a instalação do programa por meio do menu "
-"de administração."
-
-#: tryton/gui/window/dbcreate.py:255
-msgid "Admin password:"
-msgstr "Senha do Administrador:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Escolha uma senha para o usuário admin do novo banco de dados. Com essas credenciais, você será capaz de se autenticar no banco de dados:\n"
-"Nome de usuário: admin\n"
-"Senha: <A senha escolhida aqui>"
-
-#: tryton/gui/window/dbcreate.py:274
-msgid "Confirm admin password:"
-msgstr "Confirme a senha do admin:"
-
-#: tryton/gui/window/dbcreate.py:284
-msgid "Type the Admin password again"
-msgstr "Digite a senha do administrador novamente"
-
-#: tryton/gui/window/dbcreate.py:333
-msgid "The new admin password doesn't match the confirmation field.\n"
-msgstr "A nova senha do administrador não confere com o campo de confirmação.\n"
-
-#: tryton/gui/window/dbcreate.py:335
-msgid "Passwords doesn't match!"
-msgstr "As senhas não conferem!"
-
-#: tryton/gui/window/dbcreate.py:343
-msgid ""
-"A database with the same name already exists.\n"
-"Try another database name."
-msgstr ""
-"Um banco de dados já existe com o mesmo nome.\n"
-"Tente um nome diferente."
-
-#: tryton/gui/window/dbcreate.py:346
-msgid "This database name already exist!"
-msgstr "Este banco de dados já existe!"
-
-#: tryton/gui/window/dbcreate.py:359
-msgid "Sorry, wrong password for the Tryton server. Please try again."
-msgstr "Senha incorreta para o servidor do Tryton. Favor tentar novamente."
-
-#: 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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Não foi possível criar o banco de dados por razões desconhecidas.\n"
-"Se um banco de dados foi criado, ele pode estar corrompido. Talvez seja melhor apagar esse banco! Favor verificar a mensagem de erro para possíveis detalhes.\n"
-"Mensagem de erro:\n"
-
-#: tryton/gui/window/dbcreate.py:375
-msgid "Error creating database!"
-msgstr "Erro ao criar o banco de dados."
-
-#: tryton/gui/window/dbdumpdrop.py:26
-msgid "Could not connect to server!"
-msgstr "Não foi possível conectar com o servidor!"
-
-#: tryton/gui/window/dbdumpdrop.py:30
-msgid "This client version is not compatible with the server!"
-msgstr "Esta versão do cliente não é compatível com a versão do servidor!"
-
-#: tryton/gui/window/dbdumpdrop.py:39
-msgid "No database found, you must create one!"
-msgstr ""
-"Não foi encontrado nenhum banco de dados. Deve ser criado um banco de dados!"
-
-#: tryton/gui/window/dbdumpdrop.py:77
-msgid "Backup a database"
-msgstr "Fazer backup do banco de dados."
-
-#: tryton/gui/window/dbdumpdrop.py:78
-msgid "Backup"
-msgstr "Backup"
-
-#: tryton/gui/window/dbdumpdrop.py:79
-msgid "Backup the choosen database."
-msgstr "Fazer backup do banco de dados selecionado."
-
-#: tryton/gui/window/dbdumpdrop.py:81
-msgid "Choose a Tryton database to backup:"
-msgstr "Escolha um banco de dados do Tryton para fazer backup:"
-
-#: tryton/gui/window/dbdumpdrop.py:83
-msgid "Delete a database"
-msgstr "Apagar um banco de dados"
-
-#: tryton/gui/window/dbdumpdrop.py:84
-msgid "Delete"
-msgstr "Apagar"
-
-#: tryton/gui/window/dbdumpdrop.py:85
-msgid "Delete the choosen database."
-msgstr "Apagar o banco de dados selecionado."
-
-#: tryton/gui/window/dbdumpdrop.py:87
-msgid "Choose a Tryton database to delete:"
-msgstr "Escolha um banco de dados do Tryton para apagar:"
-
-#: tryton/gui/window/dbdumpdrop.py:130 tryton/gui/window/dbrestore.py:77
-msgid "Server Connection:"
-msgstr "Conexão com o servidor:"
-
-#: tryton/gui/window/dbdumpdrop.py:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Banco de Dados:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Editor de Perfil"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Perfil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Adicionar"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Remover"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Servidor:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Criar"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Banco de Dados:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Recuperando a lista de bancos de dados"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Nome de Usuário:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Não foi possível conectar com o servidor"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Versão do servidor incompatível"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Não foi possível conectar com o servidor"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Usuário"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Cancelar"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Cancelar a conexão com o servidor do Tryton"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "C_onectar"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Conectar ao servidor do Tryton"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Gerenciar Perfis"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Informações do Servidor / Banco de Dados"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Nome de Usuário:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Recuperar banco de dados"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Arquivo para recuperar:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Escolha o nome do banco de dados a ser restaurado.\n"
-"Caracteres válidos são alfanuméricos ou _ (underscore)\n"
-"Acentos, espaços e caracteres especiais são proibidos!\n"
-"Exemplo de um nome válido: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Nome do novo banco de dados:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Atualizar Banco de Dados:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Verificar atualização automática do banco de dados após recuperar um banco "
-"de uma versão anterior do Tryton."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Restaurar"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "Restaurar banco a partir do arquivo."
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Email"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Enviar preferências do programa por email"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Linha de Comado:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Legenda de posições de palavras disponíveis:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Para:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "CC:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Assunto:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Corpo da Mensagem:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Anexo:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Anterior"
 
@@ -1076,10 +721,10 @@ msgstr "Anterior"
 msgid "Previous Record"
 msgstr "Registro anterior"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Próximo"
 
@@ -1163,73 +808,73 @@ msgstr "_Exportar Dados..."
 msgid "_Import Data..."
 msgstr "_Importar Dados..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Anexo(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Nota(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "Você deve selecionar um registro."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Criado por:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Data de criação:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Última modificação por:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Data da última modificação:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Modelo:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Você tem certeza que deseja apagar esse registro?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Você tem certeza que deseja apagar estes registros?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Registros não apagados."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Registros apagados."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Trabalhando nos registros duplicados(s)."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Registro gravado."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " de "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1278,7 +923,7 @@ msgid "Print report"
 msgstr "Imprimir relatório"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Desconhecido"
 
@@ -1286,19 +931,24 @@ msgstr "Desconhecido"
 msgid "Limit"
 msgstr "Limite"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Preferências de limite de buscas"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Limite:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Preferências"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Editar preferências do usuário"
 
@@ -1306,19 +956,15 @@ msgstr "Editar preferências do usuário"
 msgid "Preference"
 msgstr "Preferência"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Senha atual:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Revisão"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Selecione uma revisão"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Revisão:"
 
@@ -1326,152 +972,152 @@ msgstr "Revisão:"
 msgid "Keyboard Shortcuts"
 msgstr "Atalhos do teclado"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Atalhos de texto"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Recortar o texto selecionado"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Copiar o texto selecionado"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Colar o texto copiado"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Próximo campo"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Campo anterior"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Atalhos para registros de relações"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Criar nova relação"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Abrir/Buscar relação"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Atalhos em listas"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Criar nova linha"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Abrir relação"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Marcar linha para deleção"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Desmarcar linha para deleção"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Controles de edição"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Mover cursor"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Mover para a direita"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Mover para a direita"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Mover para cima"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Mover para baixo"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Mover uma página para cima"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Mover uma página para baixo"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "Mover para o princípio"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Mover para o final"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Mover para o pai"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Selecionar todos"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Desmarcar Todos"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Selecionar pai"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Selecionar/Ativar linha atual"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Mudar seleção"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Expandir/Recolher"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Expandir a linha"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Recolher a linha"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Ativar a linha"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "Expandir todas as linhas"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "Recolher todas as linhas"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Exibição de listagem"
 
@@ -1536,7 +1182,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Dicas"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "_Exibir uma nova dica da próxima vez"
 
@@ -1568,7 +1214,7 @@ msgstr "Caracter para citação:"
 msgid "Encoding:"
 msgstr "Codificação:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Nome do campo"
 
@@ -1592,42 +1238,42 @@ msgstr "_Gravar exportação"
 msgid "_Delete Export"
 msgstr "_Apagar exportação"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Abrir"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Adicionar _nomes de campos"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (texto)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Qual é o nome dessa exportação?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Sobrescrever a definição '%s'?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d registro gravado!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d registros gravados!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1635,30 +1281,30 @@ msgstr ""
 "Mensagem de erro:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Link"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Adicionar"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Remover <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Criar novo registro <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Apagar o registro selecionado <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Recuperar o registro selecionado <Ins>"
 
@@ -1674,9 +1320,9 @@ msgstr "_Detecção automática"
 msgid "File to Import:"
 msgstr "Arquivo para importar:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Abrir..."
 
@@ -1684,184 +1330,207 @@ msgstr "Abrir..."
 msgid "Lines to Skip:"
 msgstr "Linhas a ignorar:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Você deve selecionar primeiro um arquivo para importar!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Erro ao abrir arquivo CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Erro ao processar o arquivo no campo %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d registros importados!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d registros importados!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Assistente"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Criado por"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Data de criação"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Editado por"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Data de modificação"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "Impossível obter o estado da visualização em árvore"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "Não foi possível definir o estado da visão da árvore"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "\"%s\" não é válido de acordo com seu domínio"
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" é obrigatório"
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Os valores de \"%s\" não são válidos"
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Pré-validação"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Salvar como"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Tamanho da imagem"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Largura:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Altura:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "Imagem PNG (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Salvar como"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+msgid "Image size too large."
 msgstr "Imagem muito grande!"
 
 #: tryton/gui/window/view_form/view/screen_container.py:24
 msgid ".."
 msgstr ".."
 
-#: tryton/gui/window/view_form/view/screen_container.py:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "F_iltros"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Mostrar filtros favoritos"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Remover favorito"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Marcar filtro como favorito"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Nome do favorito:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Encontrar"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Hoje"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Visão Semanal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Visão Mensal"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Semana"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Pré-validação"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Limpar"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Todos os arquivos"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Selecionar"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Mostrar em formato texto"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Adicionar valor"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
@@ -1870,63 +1539,70 @@ msgstr "Remover \"%s\""
 msgid "Images"
 msgstr "Imagens"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Adicionar um registro existente"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Remover registro selecionado <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "Abrir um registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Buscar um registro <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Remover o registro selecionado"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Editar o registro selecionado <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Cor de primeiro plano"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Selecione uma cor"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Tradução"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Editar"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Aproximado"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "Você precisa de salvar o registro antes de adicionar traduções!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Não há outros idiomas disponíveis!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/ru/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..7b58960
Binary files /dev/null and b/tryton/data/locale/ru/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po b/tryton/data/locale/ru/LC_MESSAGES/tryton.po
similarity index 53%
rename from tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
rename to tryton/data/locale/ru/LC_MESSAGES/tryton.po
index f7cede7..4d4e939 100644
--- a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/ru/LC_MESSAGES/tryton.po
@@ -44,69 +44,89 @@ msgid "File \"%s\" not found"
 msgstr "Файл \"%s\" не найден"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "Невозможно записать файл конфигурации %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Выберите действие"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "Не определены действия!"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton соединение"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Сервер:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Порт:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Выбор"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Ваш выбор:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Сохранить как..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Всегда игнорировать это предупреждение."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Вы хотите продолжить?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Подтвердите"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Прерывание конкурентных записей"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -124,51 +144,51 @@ msgstr ""
 "- \" Сравнить \", чтобы увидеть модифицированный вариант;\n"
 "- \" Переписать \", чтобы сохранить вашу текущую версию."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Сравнить"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Записать все равно"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Ошибка"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Сообщить об ошибке"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "Ошибка приложения!"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Ошибка: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr ""
 "Вы можете отправить отчет об ошибке если вы зарегистрированны на <u>%s</u>"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Система сбора ошибок"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Пользователь:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Пароль:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -176,45 +196,49 @@ msgstr ""
 "Эта же ошибка была уже сообщена от другого пользователя.\n"
 "Чтобы держать вас в курсе ваше имя пользователя будет добавлен в список перечень по этому вопросу"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Создан новый отчет об ошибке с идентификатором"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "Ошибка соединения!\n"
 "Неверное имя пользователя или пароль!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Исключительная ситуация:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "Цифровой сертификат сервера изменился с момента последнего подключения!\n"
 "Подключение к серверу приостановлено до тех пор пока сертификат не будет исправлен."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "Угроза безопасности!"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "Ошибка соединения!\n"
 "Невозможно соединиться с сервером!"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "Сетевая ошибка!"
 
 #: tryton/common/completion.py:22
@@ -225,65 +249,61 @@ msgstr "<i>Поиск...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Создать...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 #, fuzzy
 msgid "Value"
 msgstr "Добавить значение"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 #, fuzzy
 msgid "Displayed value"
 msgstr "Добавить значение"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 #, fuzzy
 msgid "Format"
 msgstr "Нормальный"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr ""
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 #, fuzzy
 msgid "Open the calendar"
 msgstr "Открыть календарь <F2>"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr ""
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "да"
-
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "истинный"
-
-#: tryton/common/domain_parser.py:235
-msgid "t"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
 msgstr ""
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "True"
 msgstr "Истинный"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:236
+msgid "t"
+msgstr ""
+
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Ложный"
 
@@ -296,27 +316,27 @@ msgstr "_Выход..."
 msgid "Attachments..."
 msgstr "Вложения..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "Действия..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "Связанные..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Отчет..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "Эл.почта..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "Печать..."
 
@@ -348,184 +368,165 @@ msgstr "м"
 msgid "s"
 msgstr ""
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "Файл"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Пользователь"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Параметры"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "Избранное"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "Помощь"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Ничего не найдено."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "Подключение..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Отключение"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "База данных"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "Новая база данных..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "Восстановить базу данных..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Сохранить базу данных..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "Удалить базу данных..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Выход..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "Настройки..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "Обновить меню"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "Показать/скрыть меню"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "Глобальный поиск"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "Панель инструментов"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "По умолчанию"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Текст и Значки"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "Значки"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "Текст"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Меню"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Режим изменения быстрых клавиш"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "Режим"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "Нормальный"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "Упрощенный"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "Форма"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Сохранить размеры"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 #, fuzzy
 msgid "Save Tree State"
 msgstr "Запомнить состояние дерева"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr ""
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Проверка орфографии"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "Предыдущая вкладка"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "Следующая вкладка"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Максимальное количество строк..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "Настройки _Эл.почты"
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "Сохранить настройки"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Советы..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Быстрые клавиши"
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "О программе"
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "Управление закладками"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Поиск"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -533,98 +534,14 @@ msgstr ""
 "Данное действие приведет к закрытию всех вкладок.\n"
 "Продолжить?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Закрыть вкладку"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Вы собираетесь удалить базу данных.\n"
-"Вы действительно уверены, продолжить?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Неверный административный пароль сервера Tryton\n"
-"Пожалуйста, попробуйте снова"
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Доступ запрещен!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Удаление базы данных завершено с сообщением об ошибке:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Не удалось удалить базу данных!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "База успешно удалена!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Открыть файл для восстановления..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Не возможно восстановить на защищенной паролем базе данных.\n"
-"Резервное копирование и восстановление необходимо выполнить вручную."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "База данных защищена паролем!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Неверный административный пароль сервера Tryton\n"
-"Пожалуйста, попробуйте снова"
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Восстановление базы данных с сообщением об ошибке:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Базу данных восстановить не удалось!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "База данных восстановлена полностью!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"Не возможно сделать снимок на защищенной паролем базе данных. \n"
-"Резервное копирование и восстановление необходимо выполнить вручную."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Резервное копирование базы данных завершилось с сообщением об ошибке:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Не удалось выполнить резервное копирование базы данных!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "База данных сохранена успешно!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "Вложений (%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -635,7 +552,7 @@ msgid "Create a new record"
 msgstr "Создать новую запись"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Сохранить"
 
@@ -644,8 +561,8 @@ msgid "Save this record"
 msgstr "Сохранить эту запись"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Переключить"
 
@@ -686,395 +603,122 @@ msgstr "Удалить..."
 msgid "_Close Tab"
 msgstr "Закрыть вкладку"
 
-#: tryton/gui/window/dbcreate.py:29
-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. Используйте адрес сервера 'localhost' и порт "
-"'8000', если сервер установлен на этом компьютере. Нажмите кнопку 'Изменить'"
-" для изменения адреса."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Нет соединения!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Не удается подключиться к серверу!\n"
-"1. Постарайтесь проверить, работает ли сервер.\n"
-"2. Узнайте, на каком адресе и порту, он ожидает соединения.\n"
-"3. При наличии межсетевого экрана между сервером и этим клиентом проверьте доступность, адреса сервера и порта (обычно TCP 8000)\n"
-"Нажмите на 'Изменить' для изменения адреса.\n"
-"4. Если это не помогло обратитесь к администратору вашей сети."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Создать новую базу данных"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "С_оздать"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Создать новую базу данных"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Параметры подключения к серверу:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Соединение с сервером:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"Это адрес сервера. Используйте адрес сервера 'localhost' и порта '8000', "
-"если сервер установлен на этом компьютере. Нажмите кнопку 'Изменить' для "
-"изменения адреса."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "Изменить"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Настройка соединения с сервером"
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Пароль сервера Tryton:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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. Он не относится к реальному пользователю. "
-"Этот пароль обычно определяется в серверной конфигурации."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "Параметры новой базы данных:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Имя базы данных:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Выберите имя базы данных.\n"
-"Разрешены символьно-цифровые символы и подчеркивание (_)\n"
-"Недопустимо использование пробелов и других специальных символов!\n"
-"Примеры: Tryton, test_1, MyCompany"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Язык по умолчанию:"
-
-#: tryton/gui/window/dbcreate.py:251
-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:255
-msgid "Admin password:"
-msgstr "Пароль администратора:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Выберите пароль администратора для новой базы данных.С этими данными вы будете иметь возможность войти в базу данных:\n"
-"Имя пользователя: Admin\n"
-"Пароль: <пароль вы установите здесь>"
-
-#: tryton/gui/window/dbcreate.py:274
-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 ""
-"База данных с таким же названием уже существует.\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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Не удалось создать базу данных по неизвестной причине.\n"
-"Если база данных создана, она может быть неполной. Удалите эту базу данных! Дополнительная информация может быть в сообщении об ошибке.\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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "База данных:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Редактор профилей"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Профиль"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Добавить"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Удалить"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Сервер:порт"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Создать"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "База данных:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Получение списка баз данных"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Имя пользователя:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Не удается подключиться к серверу!"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Несовместимая версия сервера"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Не удается подключиться к серверу!"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Логин"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "Отмена"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Отмена подключения к серверу"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "Соединение"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Соединение с сервером"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Профиль:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "Управление профилями"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Сервер / база данных"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Имя пользователя:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Восстановить базу данных"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Файл для восстановления:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Выберите имя базы данных для восстановления.\n"
-"Разрешены символьно-цифровые символы и подчеркивание (_)\n"
-"Недопустимо использование пробелов и других специальных символов!\n"
-"Примеры: Tryton, test_1, MyCompany"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Название новой базы данных:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Обновить базу данных:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Проверить наличие автоматического обновления базы данных после "
-"восстановления базы данных из предыдущей версии Tryton."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Восстановить"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "Восстановить базу данных из файла."
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "Эл.почта"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Настройки программы электронной почты"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Командная строка:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Переменные доступные для подстановки:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Кому:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "Скрытая копия:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Тема:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Сообщение:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Вложение:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Предыдущий"
 
@@ -1082,10 +726,10 @@ msgstr "Предыдущий"
 msgid "Previous Record"
 msgstr "Предыдущая запись"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Следующий"
 
@@ -1169,78 +813,78 @@ msgstr "Экспорт данных"
 msgid "_Import Data..."
 msgstr "Импорт данных"
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Вложений (%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 #, fuzzy
 msgid "You have to select one record."
 msgstr "Вы должны выбрать одну запись!"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "Номер строки"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Дата создания"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Изменена пользователем:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Модель:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Вы уверены что хотите удалить эту запись?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Вы уверены что хотите удалить эти записи?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 #, fuzzy
 msgid "Records not removed."
 msgstr "Записи не удалены!"
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 #, fuzzy
 msgid "Records removed."
 msgstr "Записи удалены!"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 #, fuzzy
 msgid "Working now on the duplicated record(s)."
 msgstr "Сейчас работает на дублирующихся записях!"
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 #, fuzzy
 msgid "Record saved."
 msgstr "Запись сохранена!"
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr "из"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1290,7 +934,7 @@ msgid "Print report"
 msgstr "Печать отчета"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Неизвестно"
 
@@ -1298,19 +942,24 @@ msgstr "Неизвестно"
 msgid "Limit"
 msgstr "Ограничение"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Настройки ограничения поиска"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Кол-во записей"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Настройки"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Изменить настройки пользователя"
 
@@ -1318,21 +967,17 @@ msgstr "Изменить настройки пользователя"
 msgid "Preference"
 msgstr "Настройка"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Текущий пароль:"
-
 #: tryton/gui/window/revision.py:19
 #, fuzzy
 msgid "Revision"
 msgstr "Предыдущий"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 #, fuzzy
 msgid "Select a revision"
 msgstr "Выбор"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 #, fuzzy
 msgid "Revision:"
 msgstr "Предыдущий"
@@ -1341,152 +986,152 @@ msgstr "Предыдущий"
 msgid "Keyboard Shortcuts"
 msgstr "Сочетания клавиш быстрого доступа"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Горячие клавиши в текстовых полях"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Вырезать  выделенный текст"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Скопировать выделенный текст"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Вставить скопированный текст"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Следующий Widget"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Предыдущий Widget"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Связи записей \"быстрого доступа\""
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Создать новую связь"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Открыть / Поиск связей"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Список горячих клавиш"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Создать новую строку"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Открыть связь"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Отметить линию на удаление"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Убрать отметку на удаление"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Редактируемые поля"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr ""
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr ""
 
@@ -1552,7 +1197,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Советы"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Показывать  новый совет при следующем запуске"
 
@@ -1585,7 +1230,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "Кодировка:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Наименование поля"
 
@@ -1611,42 +1256,42 @@ msgstr "Сохранить настройку экспорта"
 msgid "_Delete Export"
 msgstr "Удалить настройку экспорта"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Открыть"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Добавить имя поля"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Укажите имя для экспорта."
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr ""
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d запись сохранена!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d записей сохранено!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1654,30 +1299,30 @@ msgstr ""
 "Сообщение об ошибке:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Ссылка"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Добавить"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Удалить <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Создать новую запись <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Восстановить выбраную запись <Ins>"
 
@@ -1694,9 +1339,9 @@ msgstr "Авто-обнаружение"
 msgid "File to Import:"
 msgstr "Файл для импорта:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Открыть..."
 
@@ -1704,193 +1349,216 @@ msgstr "Открыть..."
 msgid "Lines to Skip:"
 msgstr "Строки для пропуска:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "Вы должны сначала выбрать файл для импорта!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Ошибка открытия файла CSV"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Ошибка при обработке файла на поле %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d запись импортирована!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d записей импортировано!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Мастер"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 #, fuzzy
 msgid "Creation User"
 msgstr "Создано пользователем"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 #, fuzzy
 msgid "Creation Date"
 msgstr "Дата создания"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 #, fuzzy
 msgid "Modification User"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 #, fuzzy
 msgid "Modification Date"
 msgstr "Дата изменения:"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 #, fuzzy
 msgid "Unable to get view tree state"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 #, fuzzy
 msgid "Unable to set view tree state"
 msgstr "Не удается установить локализацию %s"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr ""
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Сохранить как"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Размер изображения"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Ширина:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Ввысота:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG изображение (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Сохранить как"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "Фильтры"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Показать сохраненные фильтры"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Удалить эту закладку"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Запомнить этот фильтр"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Имя закладки:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Найти"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 #, fuzzy
 msgid "Today"
 msgstr "Сообщение:"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 #, fuzzy
 msgid "Week View"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 #, fuzzy
 msgid "Month View"
 msgstr "Переключить вид"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Очистить"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Все фалы"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Показать в виде текста"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Добавить значение"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Удалить \"%s\""
@@ -1899,63 +1567,70 @@ msgstr "Удалить \"%s\""
 msgid "Images"
 msgstr "Изображения"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Добавить существующую запись"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Удалить выбраную запись <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "Открыть запись <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Поиск записи <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Удалить выбраную запись"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Изменить выбранную запись <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr ""
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Перевод"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Редактировать"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Неточный"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "Необходимо сохранить запись перед добавлением перевода!"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "Отсутствуют другие доступные языки!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo b/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo
deleted file mode 100644
index 66d245d..0000000
Binary files a/tryton/data/locale/ru_RU/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/sl/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..8eac9a0
Binary files /dev/null and b/tryton/data/locale/sl/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po b/tryton/data/locale/sl/LC_MESSAGES/tryton.po
similarity index 50%
rename from tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
rename to tryton/data/locale/sl/LC_MESSAGES/tryton.po
index c5336b1..7a229a3 100644
--- a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/sl/LC_MESSAGES/tryton.po
@@ -43,69 +43,87 @@ msgid "File \"%s\" not found"
 msgstr "Datoteke \"%s\" ni moč najti"
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
-msgstr "Ni možno zapisati konfiguracijske datoteke %s!"
+#, python-format, python-format
+msgid "Unable to write config file %s."
+msgstr "Ni možno zapisati konfiguracijske datoteke %s."
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "Ni možno nastaviti krajevnih nastavitev %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+msgid ",…"
+msgstr ",…"
+
+# ?
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "Izberi ukrep"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
-msgstr "Nobenega ukrepa ni določenega!"
+#: tryton/action/main.py:184
+msgid "No action defined."
+msgstr "Nobenega ukrepa ni določenega."
+
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr "Od: "
 
-#: tryton/common/common.py:274
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "Tryton povezava"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "Strežnik:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "Vrata:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "Izbira"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "Vaša izbira:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "Shrani kot..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "Vedno prezri to opozorilo."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "Ali želite nadaljevati?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "Potrditev"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "Izjema sočasnega izvajanja"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -123,50 +141,49 @@ msgstr ""
 "    - \"Primerjaj\" za vpogled v spremenjeno inačico;\n"
 "    - \"Vseeno zapiši\" za shranitev vaše trenutne inačice."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "Primerjaj"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "Vseeno zapiši"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "Napaka"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "Prijava programske napake"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
-msgstr "Napaka programa!"
+#: tryton/common/common.py:794
+msgid "Application Error."
+msgstr "Napaka programa."
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "Napaka: "
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, 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:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Sledilnik programskih napak"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "Uporabnik:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "Geslo:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -174,46 +191,45 @@ msgstr ""
 "Drugi uporabnik je že prijavil enako programsko napako.\n"
 "Zaradi obveščanja je vaše uporabniško ime dodano na seznam te programske napake"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Evidentirana je nova programska napaka z ID "
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
-"Napaka pri povezavovanju!\n"
-"Napačno uporabniško ime ali geslo!"
+"Napaka pri povezavovanju.\n"
+"Napačno uporabniško ime ali geslo."
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "Izjema:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
-"Prstni odtis strežnika se je spremenil od zadnje povezave!\n"
+"Prstni odtis strežnika se je spremenil od zadnje povezave.\n"
 "Program bo ustavil povezovanje na ta strežnik, dokler ne bo njegov prstni odtis popravljen."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
-msgstr "Varnostno tveganje"
+#: tryton/common/common.py:990
+msgid "Security risk."
+msgstr "Varnostno tveganje."
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
-"Napaka pri povezovanju!\n"
-"Ni se možno povezati na strežnik!"
+"Napaka pri povezovanju.\n"
+"Ni se možno povezati na strežnik."
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
-msgstr "Napaka mreže!"
+#: tryton/common/common.py:1061
+msgid "Network Error."
+msgstr "Napaka mreže."
 
 #: tryton/common/completion.py:22
 msgid "<i>Search...</i>"
@@ -223,61 +239,57 @@ msgstr "<i>Išči...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>Ustvari...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "Vrednost"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "Prikazana vrednost"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "Oblika"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "Oblika prikaza"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "Odpri koledar"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "Oblika datuma"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "Prikazana oblika datuma"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "d"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "da"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr "Da"
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "da"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "Da"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "Da"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "Ne"
 
@@ -289,27 +301,27 @@ msgstr "Uredi ..."
 msgid "Attachments..."
 msgstr "Priponke..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr "Zabeležke ..."
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "_Ukrepi..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "_Veze..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "Poročila..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "_Elektronska pošta..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "_Izpis..."
 
@@ -341,183 +353,164 @@ msgstr "m"
 msgid "s"
 msgstr "s"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "_Datoteka"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr "Po_vezava"
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "_Uporabnik"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "_Možnosti"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "P_riljubljeno"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "_Pomoč"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "Brez rezultatov."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "_Poveži..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "Pre_kini povezavo"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "Podatkovna _baza"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "_Nova podatkovna baza ..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "_Obnovitev podatkovne baze ..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "Varnostno _kopiranje podatkovne baze ..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "_Brisanje podatkovne baze ..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "_Izhod..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "_Nastavitve..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "_Ponovno naloži meni"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "_Preklopi meni"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "_Globalno iskanje"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "_Orodna vrstica"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "_Privzeto"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "Bese_dilo in ikone"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "_Ikone"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "_Besedilo"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "_Menu vrstica"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "Spremeni bližnjice"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "_Način"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "_Navaden"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "_PDA"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "O_brazec"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "Shrani širino/višino"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "Shrani stanje drevesa"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "Hitri premik"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "Črkovanje"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "P_rejšnji zavihek"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "_Naslednji zavihek"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "Omejitev iskanja..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "_Epošta..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "_Shrani možnosti"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "_Nasveti..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "_Bližnjice na tipkovnici..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "_Vizitka..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "_Upravljaj zaznamke"
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "Išči"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -525,98 +518,14 @@ msgstr ""
 "Za naslednji ukrep morajo biti vsi zavihki zaprti.\n"
 "Ali želite nadaljevati?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "Zapri zavihek"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"Nameravate izbrisati Tryton podatkovno bazo.\n"
-"Ali res želite nadaljevati?"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr ""
-"Napačno geslo za Tryton strežnik.\n"
-"Prosimo, poskusite še enkrat."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "Dostop zavrnjen!"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "Brisanje podatkovne baze je odpovedalo z napako:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "Brisanje podatkovne baze je odpovedalo!"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "Brisanje podatkovne baze uspešno zaključeno!"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "Odpri varnostno kopijo za obnovitev..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-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:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "Podatkovna baza je zaščitena z geslom!"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr ""
-"Napačno geslo za Tryton strežnik.\n"
-"Prosimo, poskusite še enkrat."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "Obnovitev podatkovne baze je odpovedala z napako:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "Obnovitev podatkovne baze je odpovedala!"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "Obnovitev podatkovne baze uspešno zaključena!"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-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:1382
-msgid "Database dump failed with error message:\n"
-msgstr "Zapisovanje podatkovne baze je odpovedalo z napako:\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "Zapisovanje podatkovne baze odpovedalo!"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "Varnostno kopiranje podatkovne baze uspešno zaključeno!"
+#: tryton/gui/window/attachment.py:22
+#, python-format, python-format
+msgid "Attachments (%s)"
+msgstr "Priponke (%s)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -627,7 +536,7 @@ 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:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "Shrani"
 
@@ -636,8 +545,8 @@ 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:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "Preklopi"
 
@@ -678,392 +587,122 @@ msgstr "Z_briši..."
 msgid "_Close Tab"
 msgstr "Zapri zavi_hek"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"To je URL Tryton strežnika. Če je strežnik nameščen na tem računalniku, "
-"uporabi strežnik 'localhost' in vrata '8000'. Za spremembo naslova klikni na"
-" 'Spremeni'."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "Ni povezave!"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"Ni se možno povezati s strežnikom!\n"
-"1. Poskusi preveriti, če strežnik teče.\n"
-"2. Preveri, na katerem naslovu in vratih posluša.\n"
-"3. Če je med strežnikom in tem odjemalcem požarni zid, zagotovi, da naslov in vrata (ponavadi 8000) strežnika nista blokirana.\n"
-"Za spremembo naslova klikni na 'Spremeni'."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "Ustvari novo podatkovno bazo"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "_Ustvari"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "Ustvari novo podatkovno bazo."
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "Nastavitev strežnika:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "Povezava do strežnika:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"To je URL Tryton strežnika. Če je strežnik nameščen na tem računalniku, "
-"uporabi strežnik 'localhost' in vrata '8000'. Za spremembo naslova klikni na"
-" 'Spremeni'."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "_Spremeni"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "Nastavi povezavo s strežnikom..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "Geslo za Tryton strežnik:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 ""
-"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:215
-msgid "New database setup:"
-msgstr "Namestitev nove podatkovne baze:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "Ime podatkovne baze:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"Izberi ime nove podatkovne baze.\n"
-"Dovoljeni so alfanumerični znaki oziroma _ (podčrtaj).\n"
-"Izogibaj se vsem znakom za naglaševanje, presledku ali posebnim znakom! Primer: tryton"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "Privzet jezik:"
-
-#: tryton/gui/window/dbcreate.py:251
-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 ""
-"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:255
-msgid "Admin password:"
-msgstr "Skrbniško geslo:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"Izberi geslo za skrbnika nove podatkovne baze. S to poverilnico se lahko kasneje prijaviš v podatkovno bazo:\n"
-"Uporabniško ime: admin\n"
-"Geslo: <vpiši geslo>"
-
-#: tryton/gui/window/dbcreate.py:274
-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."
-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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"Ni možno izdelati podatkovne baze zaradi neznanega razloga.\n"
-"Če je podatkovna baza izdelana, je verjetno pokvarjena in jo morda 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "Podatkovna baza:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "Urejevalnik profilov"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "Profil"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "_Dodaj"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "_Odstrani"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "Strežnik:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "Ustvari"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "Podatkovna baza:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "Pridobivanje seznama podatkovnih baz"
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "Uporabniško ime:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "Ni se možno povezati s strežnikom"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "Nezdružljiva inačica strežnika"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "Ni se možno povezati s strežnikom"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "Prijava"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "_Prekliči"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "Prekliči povezavo do Tryton strežnika"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "P_oveži"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "Poveži se s Tryton strežnikom"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "Profil:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "_Upravljaj profile"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "Strežnik in podatkovna baza"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "Uporabnik:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "Obnovitev podatkovne baze"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "Datoteka za obnovitev:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"Izberi ime podatkovne baze za obnovitev.\n"
-"Dovoljeni so alfanumerični znaki oziroma \"_\" (podčrtaj). \n"
-"Izogibaj se vsem znakom za naglaševanje, presledku ali drugim posebnim znakom.\n"
-"Primer: tryton"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "Novo ime podatkovne baze:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "Posodobitev podatkovne baze:"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr ""
-"Po obnovitvi podatkovne baze iz prejšnje Tryton inačice preveri samodejno "
-"posodabljanje podatkovne baze."
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "Obnovi"
-
-#: tryton/gui/window/dbrestore.py:170
-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
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "Nastavitve poštnega odjemalca"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "Ukazna vrstica:"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "Opis možnih prostornikov:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "Za:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "Kp:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "Zadeva:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "Vsebina:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "Priponka:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "Prejšnji"
 
@@ -1071,10 +710,10 @@ msgstr "Prejšnji"
 msgid "Previous Record"
 msgstr "Prejšnji zapis"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "Naslednji"
 
@@ -1158,73 +797,73 @@ msgstr "I_zvozi podatke..."
 msgid "_Import Data..."
 msgstr "Uv_ozi podatke..."
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "Priponka(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr "Zabeležka(%d)"
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "En zapis mora biti izbran."
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "ID:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "Ustvaril:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "Ustvarjeno:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "Nazadnje popravil:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "Nazadnje popravljeno:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "Model:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "Ali res želiš izbrisati ta zapis?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "Ali res želiš izbrisati te zapise?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "Zapisi niso izbrisani."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "Zapisi izbrisani."
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "Trenutno se dela na podvojenih zapisih."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "Zapis shranjen."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr " od "
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 msgid ""
 "This record has been modified\n"
 "do you want to save it?"
@@ -1273,7 +912,7 @@ msgid "Print report"
 msgstr "Izpis poročila"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "Neznano"
 
@@ -1281,19 +920,24 @@ msgstr "Neznano"
 msgid "Limit"
 msgstr "Omejitev"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "Nastavitev omejitev iskanja"
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "Omejitev:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr "Zabeležke (%s)"
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "Nastavitve"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "Uredi uporabniške nastavitve"
 
@@ -1301,19 +945,15 @@ msgstr "Uredi uporabniške nastavitve"
 msgid "Preference"
 msgstr "Nastavitev"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "Trenutno geslo:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "Različica"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "Izberi različico"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "Različica:"
 
@@ -1321,152 +961,152 @@ msgstr "Različica:"
 msgid "Keyboard Shortcuts"
 msgstr "Bližnjice"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "Bližnjice za urejanje"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "Izreži vsebino"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "Kopiraj vsebino"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "Prilepi vsebino"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "Naslednje polje"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "Prejšnje polje"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "Bližnjice za veze"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "Dodajanje nove veze"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "Urejanje/iskanje veze"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "Bližnjice za postavke"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "Dodajanje postavke"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "Urejenje postavke"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "Postavka označena za brisanje"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "Postavka neoznačena za brisanje"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "Vnašanje podatkov"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "Premiki"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "Premik desno"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "Premik levo"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "Premik gor"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "Premik dol"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "Premik za eno stran gor"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "Premik za eno stran dol"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "Premik na začetek"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "Premik na konec"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "Premik na nadrejeno vejo"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "Izberi vse"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "Odznači vse"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "Izberi nadrejeno vejo"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "Izberi/Aktiviraj trenutno vrstico"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "Vklopi/Izklopi izbor"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "Razširi/Skrči"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "Razširi vrstico"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "Skrči vrstico"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "Razširi/Skrči vrstico"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "Razširi vse vrstice"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "Skrči vse vrstice"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "Drevesni pogled"
 
@@ -1532,7 +1172,7 @@ msgstr ""
 msgid "Tips"
 msgstr "Namigi"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "Naslednjič _prikaži nov namig"
 
@@ -1564,7 +1204,7 @@ msgstr "Narekovaj:"
 msgid "Encoding:"
 msgstr "Kodiranje:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "Naziv polja"
 
@@ -1588,73 +1228,73 @@ msgstr "_Shrani izvoz"
 msgid "_Delete Export"
 msgstr "_Izbriši izvoz"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "Odpri"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "Dodaj imena _polj"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (niz)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "Kako se imenuje ta izvoz?"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "Prepišem definicijo izvoza '%s'?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
-msgstr "%d zapis shranjen!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, python-format
+msgid "%d record saved."
+msgstr "%d zapis shranjen."
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
-msgstr "%d zapisov shranjenih!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, python-format
+msgid "%d records saved."
+msgstr "%d zapisov shranjenih."
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
-"Operacija odpovedala!\n"
+"Operacija odpovedala.\n"
 "Sporočilo napake:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "Povezava"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "Dodaj"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "Odstrani <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "Ustvari nov zapis <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "Zbriši izbran zapis <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "Povrni izbran zapis <Ins>"
 
@@ -1670,9 +1310,9 @@ msgstr "_Samozaznava"
 msgid "File to Import:"
 msgstr "Datoteka za uvoz:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "Odpri..."
 
@@ -1680,184 +1320,205 @@ msgstr "Odpri..."
 msgid "Lines to Skip:"
 msgstr "Izpuščene vrstice:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
-msgstr "Najprej morate izbrati datoteke za uvažanje!"
+#: tryton/gui/window/win_import.py:103
+msgid "You must select an import file first."
+msgstr "Najprej morate izbrati datoteke za uvažanje."
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "Napaka pri odpiranju CSV datoteke"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "Napaka obdelave datoteke pri polju %s."
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
-msgstr "%d zapis uvožen!"
-
 #: tryton/gui/window/win_import.py:200
+#, python-format, python-format
+msgid "%d record imported."
+msgstr "%d zapis uvožen."
+
+#: tryton/gui/window/win_import.py:202
+#, python-format, python-format
+msgid "%d records imported."
+msgstr "%d zapisov uvoženih."
+
+#: tryton/gui/window/win_search.py:65
 #, python-format
-msgid "%d records imported!"
-msgstr "%d zapisov uvoženih!"
+msgid "Search %s"
+msgstr "Išči %s"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "Čarovnik"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "ID"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "Ustvaril"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "Ustvarjeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "Popravil"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "Popravljeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "Stanja obrazca ni možno dobiti"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "Ni možno nastaviti stanja obrazca"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "Polje \"%s\" ni veljavno glede na svojo domeno"
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "Polje \"%s\" je obvezno"
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "Vrednosti v polju \"%s\" niso veljavne"
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "Predpreverjanje"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "Shrani kot"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "Velikost slike"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "Širina:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "Velikost:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG slika (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
-msgstr "Slika je prevelika!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "Shrani kot"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "_Filtri"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "Prikaži zaznamke filtrov"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "Odstrani ta zaznamek"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "Shrani ta filter"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "Ime zaznamka:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "Najdi"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "Danes"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr "pojdi nazaj"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr "pojdi naprej"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr "Prejšnje leto"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr "naslednje leto"
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "Tedensko"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "Mesečno"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "Teden"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "Izberi ..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "Počisti"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "Vse datoteke"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "Izberi"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "Prikaži navadno besedilo"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "Dodaj vrednost"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "Odstrani \"%s\""
@@ -1866,64 +1527,68 @@ msgstr "Odstrani \"%s\""
 msgid "Images"
 msgstr "Slike"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "Dodaj obstoječi zapis"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "Odstrani izbran zapis <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+msgid "Open the record <F2>"
 msgstr "Odpri zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr "Počisti zapis <Del>"
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "Poišči zapis <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "Odstrani izbran zapis"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "Uredi izbran zapis <F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "Ospredje"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "Izberi barvo"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "Prevod"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "Uredi"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "Nejasno"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-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:256
+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:258
-msgid "No other language available!"
-msgstr "Drugih jezikov ni na voljo!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+msgid "No other language available."
+msgstr "Drugih jezikov ni na voljo."
 
 #: tryton/plugins/translation/__init__.py:22
 msgid "Translate view"
diff --git a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo b/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo
deleted file mode 100644
index cc9a76e..0000000
Binary files a/tryton/data/locale/sl_SI/LC_MESSAGES/tryton.mo and /dev/null differ
diff --git a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo
index 104411e..1ffe416 100644
Binary files a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo and b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff --git a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
index 3266972..d62306a 100644
--- a/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
+++ b/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po
@@ -44,69 +44,89 @@ msgid "File \"%s\" not found"
 msgstr "没找到文件 \"%s\" "
 
 #: tryton/config.py:136
-#, python-format
-msgid "Unable to write config file %s!"
+#, python-format, fuzzy, python-format
+msgid "Unable to write config file %s."
 msgstr "无法写入配置文件 %s!"
 
-#: tryton/translate.py:184
+#: tryton/translate.py:185
 #, python-format
 msgid "Unable to set locale %s"
 msgstr "无法设置语言地域 %s"
 
-#: tryton/action/main.py:162
+#: tryton/action/main.py:90 tryton/common/button.py:56
+#, fuzzy
+msgid ", "
+msgstr ", "
+
+#: tryton/action/main.py:92
+#, fuzzy
+msgid ",…"
+msgstr ",…"
+
+#: tryton/action/main.py:93
+#, python-format
+msgid "%s (%s)"
+msgstr ""
+
+#: tryton/action/main.py:178
 msgid "Select your action"
 msgstr "选择一项操作"
 
-#: tryton/action/main.py:168
-msgid "No action defined!"
+#: tryton/action/main.py:184
+#, fuzzy
+msgid "No action defined."
 msgstr "没有定义任何操作 !"
 
-#: tryton/common/common.py:274
+#: tryton/common/button.py:56
+msgid "By: "
+msgstr ""
+
+#: tryton/common/common.py:231
 msgid "Tryton Connection"
 msgstr "服务器连接"
 
-#: tryton/common/common.py:285
+#: tryton/common/common.py:241
 msgid "Server:"
 msgstr "服务器:"
 
-#: tryton/common/common.py:303
+#: tryton/common/common.py:259
 msgid "Port:"
 msgstr "端口:"
 
-#: tryton/common/common.py:371 tryton/gui/window/shortcuts.py:57
+#: tryton/common/common.py:327 tryton/gui/window/shortcuts.py:56
 msgid "Selection"
 msgstr "选择"
 
-#: tryton/common/common.py:380
+#: tryton/common/common.py:335
 msgid "Your selection:"
 msgstr "已选择:"
 
-#: tryton/common/common.py:495 tryton/gui/main.py:1388
-#: tryton/gui/window/win_export.py:297
-#: tryton/gui/window/view_form/view/graph.py:169
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:55
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:122
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:493
+#: tryton/common/common.py:458
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:56
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:123
+#: tryton/gui/window/view_form/view/graph.py:159
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:498
+#: tryton/gui/window/win_export.py:299
 msgid "Save As..."
 msgstr "另存为..."
 
-#: tryton/common/common.py:642
+#: tryton/common/common.py:605
 msgid "Always ignore this warning."
 msgstr "下次不再提示."
 
-#: tryton/common/common.py:647
+#: tryton/common/common.py:610
 msgid "Do you want to proceed?"
 msgstr "继续此项操作 ?"
 
-#: tryton/common/common.py:666
+#: tryton/common/common.py:629
 msgid "Confirmation"
 msgstr "确认"
 
-#: tryton/common/common.py:772 tryton/common/common.py:1080
+#: tryton/common/common.py:731 tryton/common/common.py:1036
 msgid "Concurrency Exception"
 msgstr "并行操作异常"
 
-#: tryton/common/common.py:786
+#: tryton/common/common.py:744
 msgid ""
 "<b>Write Concurrency Warning:</b>\n"
 "\n"
@@ -124,50 +144,50 @@ msgstr ""
 "    - \"对比\" 查看变更的数据;\n"
 "    - \"覆写\" 保存当前数据."
 
-#: tryton/common/common.py:795
+#: tryton/common/common.py:753
 msgid "Compare"
 msgstr "对比"
 
-#: tryton/common/common.py:800
+#: tryton/common/common.py:758
 msgid "Write Anyway"
 msgstr "覆写"
 
-#: tryton/common/common.py:826 tryton/gui/window/win_export.py:330
-#: tryton/gui/window/win_import.py:109 tryton/gui/window/win_import.py:138
+#: tryton/common/common.py:784 tryton/gui/window/win_export.py:331
+#: tryton/gui/window/win_import.py:113 tryton/gui/window/win_import.py:142
 msgid "Error"
 msgstr "错误"
 
-#: tryton/common/common.py:830
+#: tryton/common/common.py:787
 msgid "Report Bug"
 msgstr "报告Bug"
 
-#: tryton/common/common.py:837
-msgid "Application Error!"
+#: tryton/common/common.py:794
+#, fuzzy
+msgid "Application Error."
 msgstr "程序错误 !"
 
-#: tryton/common/common.py:860
+#: tryton/common/common.py:817
 msgid "Error: "
 msgstr "错误:"
 
-#: tryton/common/common.py:880
+#: tryton/common/common.py:837
 #, python-format
 msgid "To report bugs you must have an account on <u>%s</u>"
 msgstr "提交Bug报告,需要 <u>%s</u>账户"
 
-#: tryton/common/common.py:910
+#: tryton/common/common.py:867
 msgid "Bug Tracker"
 msgstr "Bug 追踪器"
 
-#: tryton/common/common.py:928
+#: tryton/common/common.py:884
 msgid "User:"
 msgstr "用户名:"
 
-#: tryton/common/common.py:936 tryton/common/common.py:1090
-#: tryton/gui/window/dblogin.py:453
+#: tryton/common/common.py:892
 msgid "Password:"
 msgstr "密码:"
 
-#: tryton/common/common.py:991
+#: tryton/common/common.py:947
 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"
@@ -175,45 +195,49 @@ msgstr ""
 "已有其他用户报告相同bug.\n"
 "用户名已加入通知列表,将随时接收相关信息"
 
-#: tryton/common/common.py:1002
+#: tryton/common/common.py:958
 msgid "Created new bug with ID "
 msgstr "Bug 已提交备案"
 
-#: tryton/common/common.py:1010 tryton/gui/main.py:900
+#: tryton/common/common.py:966
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Bad username or password!"
+"Connection error.\n"
+"Bad username or password."
 msgstr ""
 "连接错误!\n"
 "用户名或密码有误!"
 
-#: tryton/common/common.py:1015
+#: tryton/common/common.py:971
 msgid "Exception:"
 msgstr "异常:"
 
-#: tryton/common/common.py:1032
+#: tryton/common/common.py:988
+#, fuzzy
 msgid ""
-"The server fingerprint has changed since last connection!\n"
+"The server fingerprint has changed since last connection.\n"
 "The application will stop connecting to this server until its fingerprint is fixed."
 msgstr ""
 "服务器指纹与上次连接不同!\n"
 "指纹问题处理后,才能同服务器连接."
 
-#: tryton/common/common.py:1034
-msgid "Security risk!"
+#: tryton/common/common.py:990
+#, fuzzy
+msgid "Security risk."
 msgstr "安全隐患 !"
 
-#: tryton/common/common.py:1039 tryton/common/common.py:1096
-#: tryton/gui/main.py:897
+#: tryton/common/common.py:995
+#, fuzzy
 msgid ""
-"Connection error!\n"
-"Unable to connect to the server!"
+"Connection error.\n"
+"Unable to connect to the server."
 msgstr ""
 "连接错误 !\n"
 "无法连接服务器 !"
 
-#: tryton/common/common.py:1111
-msgid "Network Error!"
+#: tryton/common/common.py:1061
+#, fuzzy
+msgid "Network Error."
 msgstr "网络连接错误!"
 
 #: tryton/common/completion.py:22
@@ -224,61 +248,57 @@ msgstr "<i>查找...</i>"
 msgid "<i>Create...</i>"
 msgstr "<i>创建...</i>"
 
-#: tryton/common/datetime_.py:33 tryton/common/datetime_.py:233
-#: tryton/common/datetime_.py:383
+#: tryton/common/datetime_.py:35 tryton/common/datetime_.py:235
+#: tryton/common/datetime_.py:385
 msgid "Value"
 msgstr "值"
 
-#: tryton/common/datetime_.py:34 tryton/common/datetime_.py:234
-#: tryton/common/datetime_.py:384
+#: tryton/common/datetime_.py:36 tryton/common/datetime_.py:236
+#: tryton/common/datetime_.py:386
 msgid "Displayed value"
 msgstr "显示"
 
-#: tryton/common/datetime_.py:38 tryton/common/datetime_.py:191
-#: tryton/common/datetime_.py:237 tryton/common/datetime_.py:340
+#: tryton/common/datetime_.py:40 tryton/common/datetime_.py:193
+#: tryton/common/datetime_.py:239 tryton/common/datetime_.py:342
 msgid "Format"
 msgstr "格式"
 
-#: tryton/common/datetime_.py:39 tryton/common/datetime_.py:192
-#: tryton/common/datetime_.py:238 tryton/common/datetime_.py:341
+#: tryton/common/datetime_.py:41 tryton/common/datetime_.py:194
+#: tryton/common/datetime_.py:240 tryton/common/datetime_.py:343
 msgid "Display format"
 msgstr "显示格式"
 
-#: tryton/common/datetime_.py:61
+#: tryton/common/datetime_.py:63
 msgid "Open the calendar"
 msgstr "打开日历"
 
-#: tryton/common/datetime_.py:388 tryton/common/datetime_.py:393
+#: tryton/common/datetime_.py:390 tryton/common/datetime_.py:395
 msgid "Date Format"
 msgstr "日期格式"
 
-#: tryton/common/datetime_.py:389 tryton/common/datetime_.py:394
+#: tryton/common/datetime_.py:391 tryton/common/datetime_.py:396
 msgid "Displayed date format"
 msgstr "日期显示格式"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "y"
 msgstr "y"
 
-#: tryton/common/domain_parser.py:235
-msgid "yes"
-msgstr "yes"
+#: tryton/common/domain_parser.py:236
+msgid "Yes"
+msgstr ""
 
-#: tryton/common/domain_parser.py:235
-msgid "true"
-msgstr "true"
+#: tryton/common/domain_parser.py:236 tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
+msgid "True"
+msgstr "True"
 
-#: tryton/common/domain_parser.py:235
+#: tryton/common/domain_parser.py:236
 msgid "t"
 msgstr "t"
 
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
-msgid "True"
-msgstr "True"
-
-#: tryton/common/domain_parser.py:457
-#: tryton/gui/window/view_form/view/screen_container.py:508
+#: tryton/common/domain_parser.py:458
+#: tryton/gui/window/view_form/view/screen_container.py:539
 msgid "False"
 msgstr "False"
 
@@ -290,27 +310,27 @@ msgstr "编辑..."
 msgid "Attachments..."
 msgstr "附件文档..."
 
-#: tryton/common/popup_menu.py:90
+#: tryton/common/popup_menu.py:93
 msgid "Notes..."
 msgstr ""
 
-#: tryton/common/popup_menu.py:100
+#: tryton/common/popup_menu.py:106
 msgid "Actions..."
 msgstr "操作..."
 
-#: tryton/common/popup_menu.py:101
+#: tryton/common/popup_menu.py:107
 msgid "Relate..."
 msgstr "关联..."
 
-#: tryton/common/popup_menu.py:102
+#: tryton/common/popup_menu.py:108
 msgid "Report..."
 msgstr "报告..."
 
-#: tryton/common/popup_menu.py:103
+#: tryton/common/popup_menu.py:109
 msgid "E-Mail..."
 msgstr "用电子邮件发送..."
 
-#: tryton/common/popup_menu.py:104
+#: tryton/common/popup_menu.py:110
 msgid "Print..."
 msgstr "打印..."
 
@@ -342,183 +362,164 @@ msgstr "分"
 msgid "s"
 msgstr "秒"
 
-#: tryton/gui/main.py:218
-msgid "_File"
-msgstr "文件(_F)"
+#: tryton/gui/main.py:211
+msgid "_Connection"
+msgstr ""
 
-#: tryton/gui/main.py:226
+#: tryton/gui/main.py:219
 msgid "_User"
 msgstr "用户(_U)"
 
-#: tryton/gui/main.py:240
+#: tryton/gui/main.py:233
 msgid "_Options"
 msgstr "选项(_O)"
 
-#: tryton/gui/main.py:248
+#: tryton/gui/main.py:241
 msgid "Fa_vorites"
 msgstr "收藏(_V)"
 
-#: tryton/gui/main.py:264
+#: tryton/gui/main.py:257
 msgid "_Help"
 msgstr "帮助(_H)"
 
-#: tryton/gui/main.py:373
+#: tryton/gui/main.py:366
 msgid "No result found."
 msgstr "无符合条件的数据."
 
-#: tryton/gui/main.py:395
+#: tryton/gui/main.py:388
 msgid "_Connect..."
 msgstr "连接数据服务(_C)..."
 
-#: tryton/gui/main.py:404
+#: tryton/gui/main.py:398
 msgid "_Disconnect"
 msgstr "断开数据服务(_D)"
 
-#: tryton/gui/main.py:414
-msgid "Data_base"
-msgstr "数据服务管理(_B)"
-
-#: tryton/gui/main.py:425
-msgid "_New Database..."
-msgstr "添加新服务(_N)..."
-
-#: tryton/gui/main.py:434
-msgid "_Restore Database..."
-msgstr "从备份重构(_R)..."
-
-#: tryton/gui/main.py:443
-msgid "_Backup Database..."
-msgstr "备份数据(_B)..."
-
-#: tryton/gui/main.py:452
-msgid "Dro_p Database..."
-msgstr "删除服务(_P)..."
-
-#: tryton/gui/main.py:461
+#: tryton/gui/main.py:408
 msgid "_Quit..."
 msgstr "退出(_Q)..."
 
-#: tryton/gui/main.py:476
+#: tryton/gui/main.py:424
 msgid "_Preferences..."
 msgstr "设置偏好(_P)..."
 
-#: tryton/gui/main.py:487
+#: tryton/gui/main.py:436
 msgid "_Menu Reload"
 msgstr "重载菜单(_M)"
 
-#: tryton/gui/main.py:496
+#: tryton/gui/main.py:446
 msgid "_Menu Toggle"
 msgstr "关闭/打开侧导航栏(_T)"
 
-#: tryton/gui/main.py:503
+#: tryton/gui/main.py:454
 msgid "_Global Search"
 msgstr "查找(_F)"
 
-#: tryton/gui/main.py:518
+#: tryton/gui/main.py:470
 msgid "_Toolbar"
 msgstr "工具栏(_T)"
 
-#: tryton/gui/main.py:526
+#: tryton/gui/main.py:478
 msgid "_Default"
 msgstr "默认设置(_D)"
 
-#: tryton/gui/main.py:536
+#: tryton/gui/main.py:489
 msgid "_Text and Icons"
 msgstr "图标文字(_R)"
 
-#: tryton/gui/main.py:546
+#: tryton/gui/main.py:499
 msgid "_Icons"
 msgstr "显示图标(_I)"
 
-#: tryton/gui/main.py:555
+#: tryton/gui/main.py:508
 msgid "_Text"
 msgstr "显示文字(_T)"
 
-#: tryton/gui/main.py:564
+#: tryton/gui/main.py:517
 msgid "_Menubar"
 msgstr "菜单栏(_M)"
 
-#: tryton/gui/main.py:572
+#: tryton/gui/main.py:525
 msgid "Change Accelerators"
 msgstr "启用加速"
 
-#: tryton/gui/main.py:580
+#: tryton/gui/main.py:534
 msgid "_Mode"
 msgstr "工作模式(_M)"
 
-#: tryton/gui/main.py:588
+#: tryton/gui/main.py:542
 msgid "_Normal"
 msgstr "桌面(_N)"
 
-#: tryton/gui/main.py:596
+#: tryton/gui/main.py:551
 msgid "_PDA"
 msgstr "PDA模式(_P)"
 
-#: tryton/gui/main.py:603
+#: tryton/gui/main.py:558
 msgid "_Form"
 msgstr "表单视图(_F)"
 
-#: tryton/gui/main.py:612
+#: tryton/gui/main.py:567
 msgid "Save Width/Height"
 msgstr "保存窗体大小"
 
-#: tryton/gui/main.py:623
+#: tryton/gui/main.py:578
 msgid "Save Tree State"
 msgstr "保存导航状态"
 
-#: tryton/gui/main.py:635
+#: tryton/gui/main.py:590
 msgid "Fast Tabbing"
 msgstr "快速切换标签"
 
-#: tryton/gui/main.py:645
+#: tryton/gui/main.py:600
 msgid "Spell Checking"
 msgstr "开启拼写检查"
 
-#: tryton/gui/main.py:655
+#: tryton/gui/main.py:611
 msgid "_Previous Tab"
 msgstr "上一标签(_P)"
 
-#: tryton/gui/main.py:661
+#: tryton/gui/main.py:618
 msgid "_Next Tab"
 msgstr "下一标签(_N)"
 
-#: tryton/gui/main.py:667
+#: tryton/gui/main.py:625
 msgid "Search Limit..."
 msgstr "数据查询..."
 
-#: tryton/gui/main.py:673
+#: tryton/gui/main.py:631
 msgid "_Email..."
 msgstr "电子邮件(_E)..."
 
-#: tryton/gui/main.py:681
+#: tryton/gui/main.py:639
 msgid "_Save Options"
 msgstr "保存设置(_S)"
 
-#: tryton/gui/main.py:693
+#: tryton/gui/main.py:652
 msgid "_Tips..."
 msgstr "小技巧(_T)..."
 
-#: tryton/gui/main.py:702
+#: tryton/gui/main.py:662
 msgid "_Keyboard Shortcuts..."
 msgstr "快捷键(K)..."
 
-#: tryton/gui/main.py:711
+#: tryton/gui/main.py:672
 msgid "_About..."
 msgstr "关于(_A)..."
 
-#: tryton/gui/main.py:762
+#: tryton/gui/main.py:707 tryton/gui/main.py:729
 msgid "Manage Favorites"
 msgstr "收藏管理..."
 
-#: tryton/gui/main.py:859 tryton/gui/window/win_search.py:26
-#: tryton/gui/window/view_form/view/screen_container.py:151
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:335
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:44
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:50
+#: tryton/gui/main.py:827
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:337
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:45
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:51
+#: tryton/gui/window/view_form/view/screen_container.py:152
+#: tryton/gui/window/win_search.py:28
 msgid "Search"
 msgstr "查找"
 
-#: tryton/gui/main.py:914
+#: tryton/gui/main.py:880
 msgid ""
 "The following action requires to close all tabs.\n"
 "Do you want to continue?"
@@ -526,94 +527,14 @@ msgstr ""
 "该操作需要关闭打开的项目\n"
 "是否继续?"
 
-#: tryton/gui/main.py:1173
+#: tryton/gui/main.py:1139
 msgid "Close Tab"
 msgstr "关闭标签"
 
-#: tryton/gui/main.py:1294
-msgid ""
-"You are going to delete a Tryton database.\n"
-"Are you really sure to proceed?"
-msgstr ""
-"将永久性删除服务数据?\n"
-"如果非本意,可以取消操作"
-
-#: tryton/gui/main.py:1304
-msgid ""
-"Wrong Tryton Server Password\n"
-"Please try again."
-msgstr "密码有误,请重试."
-
-#: tryton/gui/main.py:1306 tryton/gui/main.py:1343 tryton/gui/main.py:1379
-#: tryton/gui/window/dbcreate.py:362
-msgid "Access denied!"
-msgstr "无操作权限 !"
-
-#: tryton/gui/main.py:1309
-msgid "Database drop failed with error message:\n"
-msgstr "数据删除失败,错误信息:\n"
-
-#: tryton/gui/main.py:1310
-msgid "Database drop failed!"
-msgstr "数据删除失败 !"
-
-#: tryton/gui/main.py:1312
-msgid "Database dropped successfully!"
-msgstr "数据删除成功 !"
-
-#: tryton/gui/main.py:1317
-msgid "Open Backup File to Restore..."
-msgstr "打开备份文件..."
-
-#: tryton/gui/main.py:1335
-msgid ""
-"It is not possible to restore a password protected database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"加密数据,无法导入.\n"
-"请尝试其他方式."
-
-#: tryton/gui/main.py:1339 tryton/gui/main.py:1375
-msgid "Database is password protected!"
-msgstr "数据已加密 !"
-
-#: tryton/gui/main.py:1341 tryton/gui/main.py:1377
-msgid ""
-"Wrong Tryton Server Password.\n"
-"Please try again."
-msgstr "密码有误,请重试."
-
-#: tryton/gui/main.py:1346
-msgid "Database restore failed with error message:\n"
-msgstr "重建失败,错误信息:\n"
-
-#: tryton/gui/main.py:1348 tryton/gui/main.py:1353
-msgid "Database restore failed!"
-msgstr "重建失败 !"
-
-#: tryton/gui/main.py:1351
-msgid "Database restored successfully!"
-msgstr "重建成功 !"
-
-#: tryton/gui/main.py:1372
-msgid ""
-"It is not possible to dump a password protected Database.\n"
-"Backup and restore needed to be proceed manual."
-msgstr ""
-"加密数据,无法导出.\n"
-"请尝试其他方式."
-
-#: tryton/gui/main.py:1382
-msgid "Database dump failed with error message:\n"
-msgstr "导出失败,错误信息 :\n"
-
-#: tryton/gui/main.py:1384
-msgid "Database dump failed!"
-msgstr "导出失败 !"
-
-#: tryton/gui/main.py:1395
-msgid "Database backuped successfully!"
-msgstr "数据备份成功 !"
+#: tryton/gui/window/attachment.py:22
+#, python-format, fuzzy, python-format
+msgid "Attachments (%s)"
+msgstr "附件文档(%d)"
 
 #: tryton/gui/window/board.py:19 tryton/gui/window/form.py:32
 msgid "New"
@@ -624,7 +545,7 @@ msgid "Create a new record"
 msgstr "新建项目"
 
 #: tryton/gui/window/board.py:20 tryton/gui/window/form.py:34
-#: tryton/gui/window/win_export.py:83
+#: tryton/gui/window/win_export.py:86
 msgid "Save"
 msgstr "保存"
 
@@ -633,8 +554,8 @@ msgid "Save this record"
 msgstr "保存项目"
 
 #: tryton/gui/window/board.py:21 tryton/gui/window/form.py:36
-#: tryton/gui/window/win_form.py:224
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:162
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:163
+#: tryton/gui/window/win_form.py:221
 msgid "Switch"
 msgstr "切换"
 
@@ -675,386 +596,122 @@ msgstr "删除(_D)..."
 msgid "_Close Tab"
 msgstr "关闭标签页(_C)"
 
-#: tryton/gui/window/dbcreate.py:29
-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 ""
-"这是数据服务的URL. 如果服务器在同一台电脑上,服务器填'localhost', 端口填 '8000' .  点击\" 更改 \" 更改服务器地址 ."
-
-#: tryton/gui/window/dbcreate.py:42
-msgid "No connection!"
-msgstr "无连接 !"
-
-#: tryton/gui/window/dbcreate.py:43
-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"
-"Click on 'Change' to change the address."
-msgstr ""
-"无法连接服务器!\n"
-"1. 检查服务器正在运行.\n"
-"2. 查看服务器监听的地址和端口.\n"
-"3. 检查客户端和服务器之间是否有防火墙屏蔽.\n"
-"点击\" 更改 \" 更改服务器地址 ."
-
-#: tryton/gui/window/dbcreate.py:134
-msgid "Create new database"
-msgstr "添加数据服务"
-
-#: tryton/gui/window/dbcreate.py:144
-msgid "C_reate"
-msgstr "添加(_C)"
-
-#: tryton/gui/window/dbcreate.py:152
-msgid "Create the new database."
-msgstr "添加新的数据服务。"
-
-#: tryton/gui/window/dbcreate.py:163
-msgid "Server Setup:"
-msgstr "服务器:"
-
-#: tryton/gui/window/dbcreate.py:168
-msgid "Server connection:"
-msgstr "连接地址:"
-
-#: tryton/gui/window/dbcreate.py:178 tryton/gui/window/dbdumpdrop.py:141
-#: tryton/gui/window/dbrestore.py:89
-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 ""
-"这是数据服务的URL. 如果服务器在同一台电脑上: \n"
-" 服务器填'localhost', 端口填 '8000' .  \n"
-"点击\" 更改 \" 更改服务器地址 ."
-
-#: tryton/gui/window/dbcreate.py:181 tryton/gui/window/dbdumpdrop.py:148
-#: tryton/gui/window/dbrestore.py:94
-msgid "C_hange"
-msgstr "更改(_H)"
-
-#: tryton/gui/window/dbcreate.py:190 tryton/gui/window/dbrestore.py:100
-msgid "Setup the server connection..."
-msgstr "设置服务器地址和端口..."
-
-#: tryton/gui/window/dbcreate.py:193 tryton/gui/window/dbdumpdrop.py:187
-#: tryton/gui/window/dbrestore.py:103
-msgid "Tryton Server Password:"
-msgstr "口      令:"
-
-#: tryton/gui/window/dbcreate.py:204 tryton/gui/window/dbdumpdrop.py:198
-#: tryton/gui/window/dbrestore.py:114
-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 "通常在服务器配置文件里的super_pwd一项中找到它的加密字符串,但此处应填写的未加密的字符."
-
-#: tryton/gui/window/dbcreate.py:215
-msgid "New database setup:"
-msgstr "数据设置:"
-
-#: tryton/gui/window/dbcreate.py:221
-msgid "Database name:"
-msgstr "服务标识:"
-
-#: tryton/gui/window/dbcreate.py:234
-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"
-msgstr ""
-"填入容易记忆和区分的标识.\n"
-"标识不可含有除英文字母、数字、下划线外的字符\n"
-"如空格,重音号,括号等特殊字符 ! \n"
-"合格: t22ry_ton 不合格: a b!"
-
-#: tryton/gui/window/dbcreate.py:241
-msgid "Default language:"
-msgstr "界面语言:"
-
-#: tryton/gui/window/dbcreate.py:251
-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:255
-msgid "Admin password:"
-msgstr "管理口令:"
-
-#: tryton/gui/window/dbcreate.py:266
-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 ""
-"设置此服务管理员(admin)的用户密码.\n"
-"安全起见,首次以登入服务后,建议更换密码"
-
-#: tryton/gui/window/dbcreate.py:274
-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 ""
-"已存在相同的服务标识.\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 database! Please check the error message for possible informations.\n"
-"Error message:\n"
-msgstr ""
-"由于未知原因,数据服务添加未完成.\n"
-"即使服务标识出现在列表中,因数据不完整,简易删除改标识!\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 ""
-"客户端同服务器版本不兼容 ! \n"
-", 客户端和服务器版本的大版本号需相同, 如3.8.1和3.8.0"
-
-#: 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:157 tryton/gui/window/dblogin.py:80
-#: tryton/gui/window/dblogin.py:434
-msgid "Database:"
-msgstr "服务标识:"
-
 #: tryton/gui/window/dblogin.py:31
 msgid "Profile Editor"
 msgstr "数据服务配置器"
 
-#: tryton/gui/window/dblogin.py:46
+#: tryton/gui/window/dblogin.py:45
 msgid "Profile"
 msgstr "配置列表"
 
-#: tryton/gui/window/dblogin.py:52 tryton/gui/window/win_csv.py:68
+#: tryton/gui/window/dblogin.py:51 tryton/gui/window/win_csv.py:68
 msgid "_Add"
 msgstr "添加(_A)"
 
-#: tryton/gui/window/dblogin.py:57 tryton/gui/window/win_csv.py:77
+#: tryton/gui/window/dblogin.py:56 tryton/gui/window/win_csv.py:77
 msgid "_Remove"
 msgstr "删除(_R)"
 
-#: tryton/gui/window/dblogin.py:70 tryton/gui/window/dblogin.py:423
+#: tryton/gui/window/dblogin.py:69 tryton/gui/window/dblogin.py:444
 msgid "Host:"
 msgstr "主机:"
 
-#: tryton/gui/window/dblogin.py:98
-msgid "Create"
-msgstr "新建"
+#: tryton/gui/window/dblogin.py:79 tryton/gui/window/dblogin.py:455
+msgid "Database:"
+msgstr "服务标识:"
 
-#: tryton/gui/window/dblogin.py:101
+#: tryton/gui/window/dblogin.py:98
 msgid "Fetching databases list"
 msgstr "获取服务列表..."
 
-#: tryton/gui/window/dblogin.py:119
+#: tryton/gui/window/dblogin.py:114
 msgid "Username:"
 msgstr "用户名:"
 
-#: tryton/gui/window/dblogin.py:297
-msgid "Could not connect to the server"
-msgstr "无法连接服务器"
-
-#: tryton/gui/window/dblogin.py:299 tryton/gui/window/dblogin.py:601
+#: tryton/gui/window/dblogin.py:300 tryton/gui/window/dblogin.py:611
 msgid "Incompatible version of the server"
 msgstr "服务器版本与客户端不兼容"
 
-#: tryton/gui/window/dblogin.py:359
+#: tryton/gui/window/dblogin.py:302 tryton/gui/window/dblogin.py:614
+msgid "Could not connect to the server"
+msgstr "无法连接服务器"
+
+#: tryton/gui/window/dblogin.py:379
 msgid "Login"
 msgstr "登录"
 
-#: tryton/gui/window/dblogin.py:366
+#: tryton/gui/window/dblogin.py:385
 msgid "_Cancel"
 msgstr "取消(_C)"
 
-#: tryton/gui/window/dblogin.py:371
+#: tryton/gui/window/dblogin.py:390
 msgid "Cancel connection to the Tryton server"
 msgstr "取消与服务器的连接"
 
-#: tryton/gui/window/dblogin.py:373
+#: tryton/gui/window/dblogin.py:392
 msgid "C_onnect"
 msgstr "连机(_O)"
 
-#: tryton/gui/window/dblogin.py:378
+#: tryton/gui/window/dblogin.py:397
 msgid "Connect the Tryton server"
 msgstr "连接数据服务器"
 
-#: tryton/gui/window/dblogin.py:406
+#: tryton/gui/window/dblogin.py:425
 msgid "Profile:"
 msgstr "配置:"
 
-#: tryton/gui/window/dblogin.py:410
+#: tryton/gui/window/dblogin.py:429
 msgid "_Manage profiles"
 msgstr "管理配置(_M)"
 
-#: tryton/gui/window/dblogin.py:420
+#: tryton/gui/window/dblogin.py:441
 msgid "Host / Database information"
 msgstr "数据服务器:"
 
-#: tryton/gui/window/dblogin.py:459
+#: tryton/gui/window/dblogin.py:470
 msgid "User name:"
 msgstr "用户:"
 
-#: tryton/gui/window/dbrestore.py:66
-msgid "Restore Database"
-msgstr "重建服务"
-
-#: tryton/gui/window/dbrestore.py:122
-msgid "File to Restore:"
-msgstr "备份数据:"
-
-#: tryton/gui/window/dbrestore.py:136
-msgid ""
-"Choose the name of the database to be restored.\n"
-"Allowed characters are alphanumerical or _ (underscore)\n"
-"You need to avoid all accents, space or special characters! \n"
-"Example: tryton"
-msgstr ""
-"填入标识区分重建的服务.\n"
-"标识不可含有除英文字母、数字、下划线外的字符\n"
-"如空格,重音号,括号等特殊字符 ! \n"
-"合格: t22ry_ton 不合格: a b!"
-
-#: tryton/gui/window/dbrestore.py:142
-msgid "New Database Name:"
-msgstr "标识:"
-
-#: tryton/gui/window/dbrestore.py:146
-msgid "Update Database:"
-msgstr "更新覆盖同名服务数据"
-
-#: tryton/gui/window/dbrestore.py:151
-msgid ""
-"Check for an automatic database update after restoring a database from a "
-"previous Tryton version."
-msgstr "如要更新数据库勾选这里。"
-
-#: tryton/gui/window/dbrestore.py:161
-msgid "Restore"
-msgstr "重建"
-
-#: tryton/gui/window/dbrestore.py:170
-msgid "Restore the database from file."
-msgstr "从备份数据重建服务"
-
 #: tryton/gui/window/email.py:16
 msgid "Email"
 msgstr "邮件"
 
-#: tryton/gui/window/email.py:25
+#: tryton/gui/window/email.py:24
 msgid "Email Program Settings"
 msgstr "电子邮件相关设置"
 
-#: tryton/gui/window/email.py:28
+#: tryton/gui/window/email.py:27
 msgid "Command Line:"
 msgstr "电子邮件程序命令行"
 
-#: tryton/gui/window/email.py:38
+#: tryton/gui/window/email.py:37
 msgid "Legend of Available Placeholders:"
 msgstr "替换变量列表:"
 
-#: tryton/gui/window/email.py:45
+#: tryton/gui/window/email.py:44
 msgid "To:"
 msgstr "收件人:"
 
-#: tryton/gui/window/email.py:49
+#: tryton/gui/window/email.py:48
 msgid "CC:"
 msgstr "抄送:"
 
-#: tryton/gui/window/email.py:53
+#: tryton/gui/window/email.py:52
 msgid "Subject:"
 msgstr "主题:"
 
-#: tryton/gui/window/email.py:57
+#: tryton/gui/window/email.py:56
 msgid "Body:"
 msgstr "内容:"
 
-#: tryton/gui/window/email.py:61
+#: tryton/gui/window/email.py:60
 msgid "Attachment:"
 msgstr "附件:"
 
-#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:73
-#: tryton/gui/window/win_form.py:197
-#: tryton/gui/window/view_form/view/screen_container.py:214
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:136
+#: tryton/gui/window/form.py:41 tryton/gui/window/tips.py:72
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:137
+#: tryton/gui/window/view_form/view/screen_container.py:215
+#: tryton/gui/window/win_form.py:194
 msgid "Previous"
 msgstr "向前"
 
@@ -1062,10 +719,10 @@ msgstr "向前"
 msgid "Previous Record"
 msgstr "前一项"
 
-#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:80
-#: tryton/gui/window/win_form.py:211
-#: tryton/gui/window/view_form/view/screen_container.py:226
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:150
+#: tryton/gui/window/form.py:43 tryton/gui/window/tips.py:79
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:151
+#: tryton/gui/window/view_form/view/screen_container.py:227
+#: tryton/gui/window/win_form.py:208
 msgid "Next"
 msgstr "向后"
 
@@ -1149,73 +806,73 @@ msgstr "导出数据(_X)"
 msgid "_Import Data..."
 msgstr "导入数据(_I)"
 
-#: tryton/gui/window/form.py:210
+#: tryton/gui/window/form.py:204
 #, python-format
 msgid "Attachment(%d)"
 msgstr "附件文档(%d)"
 
-#: tryton/gui/window/form.py:236
+#: tryton/gui/window/form.py:230
 #, python-format
 msgid "Note(%d)"
 msgstr ""
 
-#: tryton/gui/window/form.py:258
+#: tryton/gui/window/form.py:252
 msgid "You have to select one record."
 msgstr "选择需要操作的项目"
 
-#: tryton/gui/window/form.py:262
+#: tryton/gui/window/form.py:256
 msgid "ID:"
 msgstr "标识:"
 
-#: tryton/gui/window/form.py:263
+#: tryton/gui/window/form.py:257
 msgid "Creation User:"
 msgstr "创建者:"
 
-#: tryton/gui/window/form.py:264
+#: tryton/gui/window/form.py:258
 msgid "Creation Date:"
 msgstr "创建日期:"
 
-#: tryton/gui/window/form.py:265
+#: tryton/gui/window/form.py:259
 msgid "Latest Modification by:"
 msgstr "最近更改:"
 
-#: tryton/gui/window/form.py:266
+#: tryton/gui/window/form.py:260
 msgid "Latest Modification Date:"
 msgstr "最近更改日期:"
 
-#: tryton/gui/window/form.py:285
+#: tryton/gui/window/form.py:279
 msgid "Model:"
 msgstr "模型:"
 
-#: tryton/gui/window/form.py:345
+#: tryton/gui/window/form.py:340
 msgid "Are you sure to remove this record?"
 msgstr "确定要删除此项吗?"
 
-#: tryton/gui/window/form.py:347
+#: tryton/gui/window/form.py:342
 msgid "Are you sure to remove those records?"
 msgstr "确定要删除这些项目?"
 
-#: tryton/gui/window/form.py:350
+#: tryton/gui/window/form.py:345
 msgid "Records not removed."
 msgstr "所选项目未删除成功."
 
-#: tryton/gui/window/form.py:352
+#: tryton/gui/window/form.py:347
 msgid "Records removed."
 msgstr "项目已成功删除"
 
-#: tryton/gui/window/form.py:380
+#: tryton/gui/window/form.py:376
 msgid "Working now on the duplicated record(s)."
 msgstr "当前处理的是项目的副本."
 
-#: tryton/gui/window/form.py:390
+#: tryton/gui/window/form.py:388
 msgid "Record saved."
 msgstr "保存成功."
 
-#: tryton/gui/window/form.py:492
+#: tryton/gui/window/form.py:491
 msgid " of "
 msgstr "of"
 
-#: tryton/gui/window/form.py:513
+#: tryton/gui/window/form.py:512
 #, fuzzy
 msgid ""
 "This record has been modified\n"
@@ -1263,7 +920,7 @@ msgid "Print report"
 msgstr "打印报表"
 
 #: tryton/gui/window/form.py:637
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:876
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:891
 msgid "Unknown"
 msgstr "未知"
 
@@ -1271,19 +928,24 @@ msgstr "未知"
 msgid "Limit"
 msgstr "限制"
 
-#: tryton/gui/window/limit.py:26
+#: tryton/gui/window/limit.py:25
 msgid "Search Limit Settings"
 msgstr "查询限制..."
 
-#: tryton/gui/window/limit.py:29
+#: tryton/gui/window/limit.py:28
 msgid "Limit:"
 msgstr "限制:"
 
+#: tryton/gui/window/note.py:17
+#, python-format
+msgid "Notes (%s)"
+msgstr ""
+
 #: tryton/gui/window/preference.py:23
 msgid "Preferences"
 msgstr "偏好"
 
-#: tryton/gui/window/preference.py:49
+#: tryton/gui/window/preference.py:48
 msgid "Edit User Preferences"
 msgstr "设置用户偏好..."
 
@@ -1291,19 +953,15 @@ msgstr "设置用户偏好..."
 msgid "Preference"
 msgstr "偏好"
 
-#: tryton/gui/window/preference.py:88
-msgid "Current Password:"
-msgstr "当前密码:"
-
 #: tryton/gui/window/revision.py:19
 msgid "Revision"
 msgstr "版本"
 
-#: tryton/gui/window/revision.py:28
+#: tryton/gui/window/revision.py:27
 msgid "Select a revision"
 msgstr "选择版本"
 
-#: tryton/gui/window/revision.py:31
+#: tryton/gui/window/revision.py:30
 msgid "Revision:"
 msgstr "版本:"
 
@@ -1311,152 +969,152 @@ msgstr "版本:"
 msgid "Keyboard Shortcuts"
 msgstr "快捷键"
 
-#: tryton/gui/window/shortcuts.py:28
+#: tryton/gui/window/shortcuts.py:27
 msgid "Text Entries Shortcuts"
 msgstr "文本相关"
 
-#: tryton/gui/window/shortcuts.py:29
+#: tryton/gui/window/shortcuts.py:28
 msgid "Cut selected text"
 msgstr "剪切"
 
-#: tryton/gui/window/shortcuts.py:30
+#: tryton/gui/window/shortcuts.py:29
 msgid "Copy selected text"
 msgstr "复制"
 
-#: tryton/gui/window/shortcuts.py:31
+#: tryton/gui/window/shortcuts.py:30
 msgid "Paste copied text"
 msgstr "粘贴"
 
-#: tryton/gui/window/shortcuts.py:32
+#: tryton/gui/window/shortcuts.py:31
 msgid "Next widget"
 msgstr "下一个文本"
 
-#: tryton/gui/window/shortcuts.py:33
+#: tryton/gui/window/shortcuts.py:32
 msgid "Previous widget"
 msgstr "上一个文本"
 
-#: tryton/gui/window/shortcuts.py:34
+#: tryton/gui/window/shortcuts.py:33
 msgid "Relation Entries Shortcuts"
 msgstr "关联操作"
 
-#: tryton/gui/window/shortcuts.py:35
+#: tryton/gui/window/shortcuts.py:34
 msgid "Create new relation"
 msgstr "新建关联"
 
-#: tryton/gui/window/shortcuts.py:36
+#: tryton/gui/window/shortcuts.py:35
 msgid "Open/Search relation"
 msgstr "打开. 查找关联"
 
-#: tryton/gui/window/shortcuts.py:37
+#: tryton/gui/window/shortcuts.py:36
 msgid "List Entries Shortcuts"
 msgstr "列表项相关"
 
-#: tryton/gui/window/shortcuts.py:38
+#: tryton/gui/window/shortcuts.py:37
 msgid "Create new line"
 msgstr "新建一行"
 
-#: tryton/gui/window/shortcuts.py:39
+#: tryton/gui/window/shortcuts.py:38
 msgid "Open relation"
 msgstr "打开关联项"
 
-#: tryton/gui/window/shortcuts.py:40
+#: tryton/gui/window/shortcuts.py:39
 msgid "Mark line for deletion"
 msgstr "标定删除选择"
 
-#: tryton/gui/window/shortcuts.py:41
+#: tryton/gui/window/shortcuts.py:40
 msgid "Unmark line for deletion"
 msgstr "取消删除选择"
 
-#: tryton/gui/window/shortcuts.py:44
+#: tryton/gui/window/shortcuts.py:43
 msgid "Edition Widgets"
 msgstr "编辑界面"
 
-#: tryton/gui/window/shortcuts.py:47
+#: tryton/gui/window/shortcuts.py:46
 msgid "Move Cursor"
 msgstr "光标移动"
 
-#: tryton/gui/window/shortcuts.py:48
+#: tryton/gui/window/shortcuts.py:47
 msgid "Move to right"
 msgstr "右移"
 
-#: tryton/gui/window/shortcuts.py:49
+#: tryton/gui/window/shortcuts.py:48
 msgid "Move to left"
 msgstr "左移"
 
-#: tryton/gui/window/shortcuts.py:50
+#: tryton/gui/window/shortcuts.py:49
 msgid "Move up"
 msgstr "上移"
 
-#: tryton/gui/window/shortcuts.py:51
+#: tryton/gui/window/shortcuts.py:50
 msgid "Move down"
 msgstr "下移"
 
-#: tryton/gui/window/shortcuts.py:52
+#: tryton/gui/window/shortcuts.py:51
 msgid "Move up of one page"
 msgstr "上移一页"
 
-#: tryton/gui/window/shortcuts.py:53
+#: tryton/gui/window/shortcuts.py:52
 msgid "Move down of one page"
 msgstr "下移一页"
 
-#: tryton/gui/window/shortcuts.py:54
+#: tryton/gui/window/shortcuts.py:53
 msgid "Move to top"
 msgstr "移到顶端"
 
-#: tryton/gui/window/shortcuts.py:55
+#: tryton/gui/window/shortcuts.py:54
 msgid "Move to bottom"
 msgstr "移到底部"
 
-#: tryton/gui/window/shortcuts.py:56
+#: tryton/gui/window/shortcuts.py:55
 msgid "Move to parent"
 msgstr "上一级"
 
-#: tryton/gui/window/shortcuts.py:58 tryton/gui/window/shortcuts.py:59
+#: tryton/gui/window/shortcuts.py:57 tryton/gui/window/shortcuts.py:58
 msgid "Select all"
 msgstr "全选"
 
-#: tryton/gui/window/shortcuts.py:60 tryton/gui/window/shortcuts.py:61
+#: tryton/gui/window/shortcuts.py:59 tryton/gui/window/shortcuts.py:60
 msgid "Unselect all"
 msgstr "全不选"
 
-#: tryton/gui/window/shortcuts.py:62
+#: tryton/gui/window/shortcuts.py:61
 msgid "Select parent"
 msgstr "选择上一级"
 
-#: tryton/gui/window/shortcuts.py:63 tryton/gui/window/shortcuts.py:64
-#: tryton/gui/window/shortcuts.py:65 tryton/gui/window/shortcuts.py:66
+#: tryton/gui/window/shortcuts.py:62 tryton/gui/window/shortcuts.py:63
+#: tryton/gui/window/shortcuts.py:64 tryton/gui/window/shortcuts.py:65
 msgid "Select/Activate current row"
 msgstr "选择/激活当前行"
 
-#: tryton/gui/window/shortcuts.py:67
+#: tryton/gui/window/shortcuts.py:66
 msgid "Toggle selection"
 msgstr "切换状态"
 
-#: tryton/gui/window/shortcuts.py:68
+#: tryton/gui/window/shortcuts.py:67
 msgid "Expand/Collapse"
 msgstr "展开/收起"
 
-#: tryton/gui/window/shortcuts.py:69
+#: tryton/gui/window/shortcuts.py:68
 msgid "Expand row"
 msgstr "展开"
 
-#: tryton/gui/window/shortcuts.py:70
+#: tryton/gui/window/shortcuts.py:69
 msgid "Collapse row"
 msgstr "收起"
 
-#: tryton/gui/window/shortcuts.py:71
+#: tryton/gui/window/shortcuts.py:70
 msgid "Toggle row"
 msgstr "切换状态"
 
-#: tryton/gui/window/shortcuts.py:72
+#: tryton/gui/window/shortcuts.py:71
 msgid "Expand all rows"
 msgstr "展开所有"
 
-#: tryton/gui/window/shortcuts.py:73
+#: tryton/gui/window/shortcuts.py:72
 msgid "Collapse all rows"
 msgstr "收起所有"
 
-#: tryton/gui/window/shortcuts.py:76
+#: tryton/gui/window/shortcuts.py:75
 msgid "Tree view"
 msgstr "树形导航"
 
@@ -1511,7 +1169,7 @@ msgstr ""
 msgid "Tips"
 msgstr "每日一招"
 
-#: tryton/gui/window/tips.py:65
+#: tryton/gui/window/tips.py:64
 msgid "_Display a new tip next time"
 msgstr "每次显示不同的小技巧(_D)"
 
@@ -1544,7 +1202,7 @@ msgstr ""
 msgid "Encoding:"
 msgstr "编码:"
 
-#: tryton/gui/window/win_csv.py:192 tryton/gui/window/win_csv.py:196
+#: tryton/gui/window/win_csv.py:193 tryton/gui/window/win_csv.py:197
 msgid "Field name"
 msgstr "列名"
 
@@ -1570,42 +1228,42 @@ msgstr "保存设定"
 msgid "_Delete Export"
 msgstr "删除设定"
 
-#: tryton/gui/window/win_export.py:82
+#: tryton/gui/window/win_export.py:85
 msgid "Open"
 msgstr "打开"
 
-#: tryton/gui/window/win_export.py:87
+#: tryton/gui/window/win_export.py:90
 msgid "Add _field names"
 msgstr "添加列名称(_F)"
 
-#: tryton/gui/window/win_export.py:101
+#: tryton/gui/window/win_export.py:104
 #, python-format
 msgid "%s (string)"
 msgstr "%s (string)"
 
-#: tryton/gui/window/win_export.py:199
+#: tryton/gui/window/win_export.py:202
 msgid "What is the name of this export?"
 msgstr "导出设定的名称"
 
-#: tryton/gui/window/win_export.py:205
+#: tryton/gui/window/win_export.py:208
 #, python-format
 msgid "Override '%s' definition?"
 msgstr "替换设定 '%s' ?"
 
-#: tryton/gui/window/win_export.py:324
-#, python-format
-msgid "%d record saved!"
+#: tryton/gui/window/win_export.py:325
+#, python-format, fuzzy, python-format
+msgid "%d record saved."
 msgstr "%d 项保存成功!"
 
-#: tryton/gui/window/win_export.py:326
-#, python-format
-msgid "%d records saved!"
+#: tryton/gui/window/win_export.py:327
+#, python-format, fuzzy, python-format
+msgid "%d records saved."
 msgstr "%d 项目保存成功!"
 
-#: tryton/gui/window/win_export.py:329
-#, python-format
+#: tryton/gui/window/win_export.py:330
+#, python-format, fuzzy, python-format
 msgid ""
-"Operation failed!\n"
+"Operation failed.\n"
 "Error message:\n"
 "%s"
 msgstr ""
@@ -1613,30 +1271,30 @@ msgstr ""
 "相关错误信息:\n"
 "%s"
 
-#: tryton/gui/window/win_form.py:36
+#: tryton/gui/window/win_form.py:37
 msgid "Link"
 msgstr "链接"
 
-#: tryton/gui/window/win_form.py:128
+#: tryton/gui/window/win_form.py:125
 msgid "Add"
 msgstr "添加"
 
-#: tryton/gui/window/win_form.py:141
+#: tryton/gui/window/win_form.py:138
 msgid "Remove <Del>"
 msgstr "删除 <Del>"
 
-#: tryton/gui/window/win_form.py:156
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:94
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:95
+#: tryton/gui/window/win_form.py:153
 msgid "Create a new record <F3>"
 msgstr "新建项目 <F3>"
 
-#: tryton/gui/window/win_form.py:168
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:114
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:115
+#: tryton/gui/window/win_form.py:165
 msgid "Delete selected record <Del>"
 msgstr "删除选择项 <Del>"
 
-#: tryton/gui/window/win_form.py:182
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:124
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:125
+#: tryton/gui/window/win_form.py:179
 msgid "Undelete selected record <Ins>"
 msgstr "回滚删除项 <Ins>"
 
@@ -1653,9 +1311,9 @@ msgstr "自动设置"
 msgid "File to Import:"
 msgstr "数据文件:"
 
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:44
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:463
 #: tryton/gui/window/win_import.py:45
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:43
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:458
 msgid "Open..."
 msgstr "打开..."
 
@@ -1663,184 +1321,207 @@ msgstr "打开..."
 msgid "Lines to Skip:"
 msgstr "跳过行:"
 
-#: tryton/gui/window/win_import.py:99
-msgid "You must select an import file first!"
+#: tryton/gui/window/win_import.py:103
+#, fuzzy
+msgid "You must select an import file first."
 msgstr "选择导入的文件!"
 
-#: tryton/gui/window/win_import.py:109
+#: tryton/gui/window/win_import.py:113
 msgid "Error opening CSV file"
 msgstr "打开CSV出错 !"
 
-#: tryton/gui/window/win_import.py:137
+#: tryton/gui/window/win_import.py:141
 #, python-format
 msgid "Error processing the file at field %s."
 msgstr "处理数值 %s 时出错"
 
-#: tryton/gui/window/win_import.py:198
-#, python-format
-msgid "%d record imported!"
+#: tryton/gui/window/win_import.py:200
+#, python-format, fuzzy, python-format
+msgid "%d record imported."
 msgstr "%d 项导入成功!"
 
-#: tryton/gui/window/win_import.py:200
-#, python-format
-msgid "%d records imported!"
+#: tryton/gui/window/win_import.py:202
+#, python-format, fuzzy, python-format
+msgid "%d records imported."
 msgstr "%d 项导入成功!"
 
-#: tryton/gui/window/wizard.py:287
+#: tryton/gui/window/win_search.py:65
+#, python-format
+msgid "Search %s"
+msgstr ""
+
+#: tryton/gui/window/wizard.py:288
 msgid "Wizard"
 msgstr "向导"
 
-#: tryton/gui/window/view_form/screen/screen.py:183
+#: tryton/gui/window/view_form/screen/screen.py:197
 msgid "ID"
 msgstr "标识"
 
-#: tryton/gui/window/view_form/screen/screen.py:184
+#: tryton/gui/window/view_form/screen/screen.py:198
 msgid "Creation User"
 msgstr "创建者"
 
-#: tryton/gui/window/view_form/screen/screen.py:185
+#: tryton/gui/window/view_form/screen/screen.py:199
 msgid "Creation Date"
 msgstr "创建日期"
 
-#: tryton/gui/window/view_form/screen/screen.py:186
+#: tryton/gui/window/view_form/screen/screen.py:200
 msgid "Modification User"
 msgstr "修改者"
 
-#: tryton/gui/window/view_form/screen/screen.py:187
+#: tryton/gui/window/view_form/screen/screen.py:201
 msgid "Modification Date"
 msgstr "修改日期"
 
-#: tryton/gui/window/view_form/screen/screen.py:710
+#: tryton/gui/window/view_form/screen/screen.py:748
 msgid "Unable to get view tree state"
 msgstr "无法获得视图树状态"
 
-#: tryton/gui/window/view_form/screen/screen.py:769
+#: tryton/gui/window/view_form/screen/screen.py:807
 msgid "Unable to set view tree state"
 msgstr "无法设置视图树状态"
 
-#: tryton/gui/window/view_form/screen/screen.py:945
+#: tryton/gui/window/view_form/screen/screen.py:983
 #, python-format
 msgid "\"%s\" is not valid according to its domain"
 msgstr "根据域设置,\"%s\"不可用"
 
-#: tryton/gui/window/view_form/screen/screen.py:952
+#: tryton/gui/window/view_form/screen/screen.py:990
 #, python-format
 msgid "\"%s\" is required"
 msgstr "\"%s\" 是必填项"
 
-#: tryton/gui/window/view_form/screen/screen.py:956
+#: tryton/gui/window/view_form/screen/screen.py:994
 #, python-format
 msgid "The values of \"%s\" are not valid"
 msgstr "无法获得\"%s\" 的值"
 
-#: tryton/gui/window/view_form/screen/screen.py:1007
+#: tryton/gui/window/view_form/screen/screen.py:1045
 msgid "Pre-validation"
 msgstr "预校验"
 
-#: tryton/gui/window/view_form/view/form.py:190
-#: tryton/gui/window/view_form/view/form.py:192
-#: tryton/gui/window/view_form/view/list.py:538
-#: tryton/gui/window/view_form/view/list.py:540
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:472
+#: tryton/gui/window/view_form/view/form.py:197
+#: tryton/gui/window/view_form/view/form.py:199
 #: tryton/gui/window/view_form/view/form_gtk/dictionary.py:474
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:137
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:139
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:476
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:144
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:146
+#: tryton/gui/window/view_form/view/list.py:534
+#: tryton/gui/window/view_form/view/list.py:536
 msgid ":"
 msgstr ":"
 
-#: tryton/gui/window/view_form/view/graph.py:99
-msgid "Save As"
-msgstr "另存为"
-
-#: tryton/gui/window/view_form/view/graph.py:110
+#: tryton/gui/window/view_form/view/graph.py:100
 msgid "Image Size"
 msgstr "图片尺寸"
 
-#: tryton/gui/window/view_form/view/graph.py:119
+#: tryton/gui/window/view_form/view/graph.py:110
 msgid "Width:"
 msgstr "宽:"
 
-#: tryton/gui/window/view_form/view/graph.py:126
+#: tryton/gui/window/view_form/view/graph.py:118
 msgid "Height:"
 msgstr "高:"
 
-#: tryton/gui/window/view_form/view/graph.py:137
+#: tryton/gui/window/view_form/view/graph.py:128
 msgid "PNG image (*.png)"
 msgstr "PNG 图片格式 (*.png)"
 
-#: tryton/gui/window/view_form/view/graph.py:159
-msgid "Image size too large!"
+#: tryton/gui/window/view_form/view/graph.py:137
+msgid "Save As"
+msgstr "另存为"
+
+#: tryton/gui/window/view_form/view/graph.py:149
+#, fuzzy
+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:144
+#: tryton/gui/window/view_form/view/screen_container.py:145
 msgid "F_ilters"
 msgstr "筛选(_F)"
 
-#: tryton/gui/window/view_form/view/screen_container.py:198
+#: tryton/gui/window/view_form/view/screen_container.py:199
 msgid "Show bookmarks of filters"
 msgstr "显示筛选器书签"
 
-#: tryton/gui/window/view_form/view/screen_container.py:359
+#: tryton/gui/window/view_form/view/screen_container.py:369
 msgid "Remove this bookmark"
 msgstr "移除书签"
 
-#: tryton/gui/window/view_form/view/screen_container.py:366
+#: tryton/gui/window/view_form/view/screen_container.py:376
 msgid "Bookmark this filter"
 msgstr "收藏筛选器"
 
-#: tryton/gui/window/view_form/view/screen_container.py:431
+#: tryton/gui/window/view_form/view/screen_container.py:462
 msgid "Bookmark Name:"
 msgstr "书签名称:"
 
-#: tryton/gui/window/view_form/view/screen_container.py:539
+#: tryton/gui/window/view_form/view/screen_container.py:570
 msgid "Find"
 msgstr "查找"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:20
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:22
 msgid "Today"
 msgstr "今天"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:87
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:32
+msgid "go back"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:73
+msgid "go forward"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:82
+msgid "previous year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:96
+msgid "next year"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:107
 msgid "Week View"
 msgstr "周视图"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:94
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:117
 msgid "Month View"
 msgstr "月视图"
 
-#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:115
+#: tryton/gui/window/view_form/view/calendar_gtk/toolbar.py:142
 msgid "Week"
 msgstr "周"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:33
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:34
 msgid "Select..."
 msgstr "选择..."
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:64
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:65
 msgid "Clear"
 msgstr "清除"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:77
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:78
 msgid "All files"
 msgstr "所有文件"
 
-#: tryton/gui/window/view_form/view/form_gtk/binary.py:90
+#: tryton/gui/window/view_form/view/form_gtk/binary.py:91
 msgid "Select"
 msgstr "选择"
 
-#: tryton/gui/window/view_form/view/form_gtk/char.py:158
+#: tryton/gui/window/view_form/view/form_gtk/char.py:162
 msgid "Show plain text"
 msgstr "显示纯文本"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:361
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:363
 msgid "Add value"
 msgstr "添加条目"
 
-#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:485
+#: tryton/gui/window/view_form/view/form_gtk/dictionary.py:487
 #, python-format
 msgid "Remove \"%s\""
 msgstr "删除\"%s\""
@@ -1849,63 +1530,70 @@ msgstr "删除\"%s\""
 msgid "Images"
 msgstr "图片"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:64
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:69
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:65
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:70
 msgid "Add existing record"
 msgstr "添加现存条目"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2many.py:75
+#: tryton/gui/window/view_form/view/form_gtk/many2many.py:76
 msgid "Remove selected record <Del>"
 msgstr "删除选择项 <Del>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:291
-msgid "Open a record <F2>"
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:303
+#, fuzzy
+msgid "Open the record <F2>"
 msgstr "打开条目 <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/many2one.py:293
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:304
+msgid "Clear the record <Del>"
+msgstr ""
+
+#: tryton/gui/window/view_form/view/form_gtk/many2one.py:307
 msgid "Search a record <F2>"
 msgstr "查找条目 <F2>"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:81
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:82
 msgid "Remove selected record"
 msgstr "删除所选条目"
 
-#: tryton/gui/window/view_form/view/form_gtk/one2many.py:104
+#: tryton/gui/window/view_form/view/form_gtk/one2many.py:105
 msgid "Edit selected record <F2>"
 msgstr "编辑所选条目<F2>"
 
 #: tryton/gui/window/view_form/view/form_gtk/progressbar.py:35
-#: tryton/gui/window/view_form/view/list_gtk/widget.py:852
+#: tryton/gui/window/view_form/view/list_gtk/widget.py:867
 #, python-format
 msgid "%s%%"
 msgstr "%s%%"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:86
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:99
 msgid "Foreground"
 msgstr "字体颜色"
 
-#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:272
+#: tryton/gui/window/view_form/view/form_gtk/richtextbox.py:296
 msgid "Select a color"
 msgstr "选择颜色"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:113
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:120
 msgid "Translation"
 msgstr "翻译"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:173
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:181
 msgid "Edit"
 msgstr "编辑"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:178
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:186
 msgid "Fuzzy"
 msgstr "模糊"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:247
-msgid "You need to save the record before adding translations!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:256
+#, fuzzy
+msgid "You need to save the record before adding translations."
 msgstr "请先保存已翻译条目,再增加新翻译 !"
 
-#: tryton/gui/window/view_form/view/form_gtk/widget.py:258
-msgid "No other language available!"
+#: tryton/gui/window/view_form/view/form_gtk/widget.py:267
+#, fuzzy
+msgid "No other language available."
 msgstr "没有其他可翻译语言!"
 
 #: tryton/plugins/translation/__init__.py:22
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index 8623d92..c0f49d0 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -8,10 +8,7 @@ from urlparse import urlparse, parse_qsl
 import urllib
 import gobject
 import gtk
-try:
-    import simplejson as json
-except ImportError:
-    import json
+import json
 import webbrowser
 import threading
 
@@ -29,19 +26,15 @@ from tryton.gui.window.preference import Preference
 from tryton.gui.window import Limit
 from tryton.gui.window import Email
 from tryton.gui.window.dblogin import DBLogin
-from tryton.gui.window.dbcreate import DBCreate
-from tryton.gui.window.dbdumpdrop import DBBackupDrop
 from tryton.gui.window.tips import Tips
 from tryton.gui.window.about import About
 from tryton.gui.window.shortcuts import Shortcuts
-from tryton.gui.window.dbrestore import DBRestore
 from tryton.common.cellrendererclickablepixbuf import \
     CellRendererClickablePixbuf
 import tryton.translate as translate
 import tryton.plugins
 from tryton.common.placeholder_entry import PlaceholderEntry
 import pango
-import time
 if os.environ.get('GTKOSXAPPLICATION'):
     import gtkosx_application
 else:
@@ -89,9 +82,9 @@ class Main(object):
             self.macapp.connect("NSApplicationBlockTermination",
                 self.sig_close)
 
-        gtk.accel_map_add_entry('<tryton>/File/Connect', gtk.keysyms.O,
+        gtk.accel_map_add_entry('<tryton>/Connection/Connect', gtk.keysyms.O,
                 gtk.gdk.CONTROL_MASK)
-        gtk.accel_map_add_entry('<tryton>/File/Quit', gtk.keysyms.Q,
+        gtk.accel_map_add_entry('<tryton>/Connection/Quit', gtk.keysyms.Q,
                 gtk.gdk.CONTROL_MASK)
         if sys.platform != 'darwin':
             gtk.accel_map_add_entry('<tryton>/User/Reload Menu', gtk.keysyms.T,
@@ -147,6 +140,7 @@ class Main(object):
         self.buttons = {}
 
         self.pane = gtk.HPaned()
+        self.vbox.pack_start(self.pane, True, True)
         self.pane.connect('button-press-event',
             self.on_paned_button_press_event)
 
@@ -158,9 +152,7 @@ class Main(object):
         else:
             self.menu_expander.set_direction(gtk.TEXT_DIR_RTL)
         self.menu_expander.set_expanded(CONFIG['menu.expanded'])
-        self.pane.add(self.menu_expander)
-
-        self.vbox.pack_start(self.pane, True, True)
+        self.pane.add1(self.menu_expander)
 
         self.notebook = gtk.Notebook()
         self.notebook.popup_enable()
@@ -215,15 +207,16 @@ class Main(object):
         self.vbox.pack_start(menubar, False, True)
         self.vbox.reorder_child(menubar, 0)
 
-        menuitem_file = gtk.MenuItem(_('_File'))
-        menubar.add(menuitem_file)
+        menuitem_connection = gtk.MenuItem(
+            _('_Connection'), use_underline=True)
+        menubar.add(menuitem_connection)
 
-        menu_file = self._set_menu_file()
-        menuitem_file.set_submenu(menu_file)
-        menu_file.set_accel_group(self.accel_group)
-        menu_file.set_accel_path('<tryton>/File')
+        menu_connection = self._set_menu_connection()
+        menuitem_connection.set_submenu(menu_connection)
+        menu_connection.set_accel_group(self.accel_group)
+        menu_connection.set_accel_path('<tryton>/Connection')
 
-        menuitem_user = gtk.MenuItem(_('_User'))
+        menuitem_user = gtk.MenuItem(_('_User'), use_underline=True)
         if self.menuitem_user:
             menuitem_user.set_sensitive(
                     self.menuitem_user.get_property('sensitive'))
@@ -237,7 +230,7 @@ class Main(object):
         menu_user.set_accel_group(self.accel_group)
         menu_user.set_accel_path('<tryton>/User')
 
-        menuitem_options = gtk.MenuItem(_('_Options'))
+        menuitem_options = gtk.MenuItem(_('_Options'), use_underline=True)
         menubar.add(menuitem_options)
 
         menu_options = self._set_menu_options()
@@ -245,7 +238,7 @@ class Main(object):
         menu_options.set_accel_group(self.accel_group)
         menu_options.set_accel_path('<tryton>/Options')
 
-        menuitem_favorite = gtk.MenuItem(_('Fa_vorites'))
+        menuitem_favorite = gtk.MenuItem(_('Fa_vorites'), use_underline=True)
         if self.menuitem_favorite:
             menuitem_favorite.set_sensitive(
                 self.menuitem_favorite.get_property('sensitive'))
@@ -261,7 +254,7 @@ class Main(object):
                 self.favorite_set()
         menuitem_favorite.connect('select', favorite_activate)
 
-        menuitem_help = gtk.MenuItem(_('_Help'))
+        menuitem_help = gtk.MenuItem(_('_Help'), use_underline=True)
         menubar.add(menuitem_help)
 
         menu_help = self._set_menu_help()
@@ -273,7 +266,7 @@ class Main(object):
             self.menubar.set_no_show_all(True)
             self.macapp.set_menu_bar(self.menubar)
             self.macapp.insert_app_menu_item(self.aboutitem, 0)
-            menuitem_file.show_all()
+            menuitem_connection.show_all()
             menuitem_user.show_all()
             menuitem_options.show_all()
             menuitem_favorite.show_all()
@@ -283,10 +276,11 @@ 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(
-                gtk.gdk.Pixbuf, str, str, int))
+                gtk.gdk.Pixbuf, str, str, int, str))
         pixbuf_cell = gtk.CellRendererPixbuf()
         global_search_completion.pack_start(pixbuf_cell, False)
         global_search_completion.add_attribute(pixbuf_cell, 'pixbuf', 0)
@@ -299,7 +293,7 @@ class Main(object):
             'gtk-find')
 
         def match_selected(completion, model, iter_):
-            model, record_id = model.get(iter_, 2, 3)
+            model, record_id, model_name = model.get(iter_, 2, 3, 4)
             if model == self.menu_screen.model_name:
                 Action.exec_keyword('tree_open', {
                         'model': model,
@@ -308,7 +302,7 @@ class Main(object):
                         }, context=self.menu_screen.context.copy())
             else:
                 Window.create(False, model, res_id=record_id,
-                    mode=['form', 'tree'])
+                    mode=['form', 'tree'], name=model_name)
             self.global_search_entry.set_text('')
             return True
 
@@ -351,7 +345,7 @@ class Main(object):
                             common.to_xml(model_name),
                             common.to_xml(record_name))
                         pixbuf = None
-                    gmodel.append([pixbuf, text, model, record_id])
+                    gmodel.append([pixbuf, text, model, record_id, model_name])
                 gmodel.search_text = search_text
                 # Force display of popup
                 widget.emit('changed')
@@ -384,96 +378,52 @@ class Main(object):
         self.global_search_entry.grab_focus()
 
     def set_title(self, value=''):
-        title = 'Tryton'
+        title = CONFIG['client.title']
         if value:
             title += ' - ' + value
         self.window.set_title(title)
 
-    def _set_menu_file(self):
-        menu_file = gtk.Menu()
+    def _set_menu_connection(self):
+        menu_connection = gtk.Menu()
 
         imagemenuitem_connect = gtk.ImageMenuItem(_('_Connect...'),
             self.accel_group)
+        imagemenuitem_connect.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-connect', gtk.ICON_SIZE_MENU)
         imagemenuitem_connect.set_image(image)
         imagemenuitem_connect.connect('activate', self.sig_login)
-        imagemenuitem_connect.set_accel_path('<tryton>/File/Connect')
-        menu_file.add(imagemenuitem_connect)
+        imagemenuitem_connect.set_accel_path('<tryton>/Connection/Connect')
+        menu_connection.add(imagemenuitem_connect)
 
         imagemenuitem_disconnect = gtk.ImageMenuItem(_('_Disconnect'))
+        imagemenuitem_disconnect.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-disconnect', gtk.ICON_SIZE_MENU)
         imagemenuitem_disconnect.set_image(image)
         imagemenuitem_disconnect.connect('activate', self.sig_logout)
-        imagemenuitem_disconnect.set_accel_path('<tryton>/File/Disconnect')
-        menu_file.add(imagemenuitem_disconnect)
-
-        menu_file.add(gtk.SeparatorMenuItem())
-
-        imagemenuitem_database = gtk.ImageMenuItem(_('Data_base'))
-        image = gtk.Image()
-        image.set_from_stock('tryton-system-file-manager', gtk.ICON_SIZE_MENU)
-        imagemenuitem_database.set_image(image)
-        menu_file.add(imagemenuitem_database)
-
-        menu_database = gtk.Menu()
-        menu_database.set_accel_group(self.accel_group)
-        menu_database.set_accel_path('<tryton>/File/Database')
-        imagemenuitem_database.set_submenu(menu_database)
-
-        imagemenuitem_db_new = gtk.ImageMenuItem(_('_New Database...'))
-        image = gtk.Image()
-        image.set_from_stock('tryton-folder-new', gtk.ICON_SIZE_MENU)
-        imagemenuitem_db_new.set_image(image)
-        imagemenuitem_db_new.connect('activate', self.sig_db_new)
-        imagemenuitem_db_new.set_accel_path(
-            '<tryton>/File/Database/New Database')
-        menu_database.add(imagemenuitem_db_new)
-
-        imagemenuitem_db_restore = gtk.ImageMenuItem(_('_Restore Database...'))
-        image = gtk.Image()
-        image.set_from_stock('tryton-folder-saved-search', gtk.ICON_SIZE_MENU)
-        imagemenuitem_db_restore.set_image(image)
-        imagemenuitem_db_restore.connect('activate', self.sig_db_restore)
-        imagemenuitem_db_restore.set_accel_path(
-            '<tryton>/File/Database/Restore Database')
-        menu_database.add(imagemenuitem_db_restore)
-
-        imagemenuitem_db_dump = gtk.ImageMenuItem(_('_Backup Database...'))
-        image = gtk.Image()
-        image.set_from_stock('tryton-save-as', gtk.ICON_SIZE_MENU)
-        imagemenuitem_db_dump.set_image(image)
-        imagemenuitem_db_dump.connect('activate', self.sig_db_dump)
-        imagemenuitem_db_dump.set_accel_path(
-            '<tryton>/File/Database/Backup Database')
-        menu_database.add(imagemenuitem_db_dump)
-
-        imagemenuitem_db_drop = gtk.ImageMenuItem(_('Dro_p Database...'))
-        image = gtk.Image()
-        image.set_from_stock('tryton-delete', gtk.ICON_SIZE_MENU)
-        imagemenuitem_db_drop.set_image(image)
-        imagemenuitem_db_drop.connect('activate', self.sig_db_drop)
-        imagemenuitem_db_drop.set_accel_path(
-            '<tryton>/File/Database/Drop Database')
-        menu_database.add(imagemenuitem_db_drop)
+        imagemenuitem_disconnect.set_accel_path(
+            '<tryton>/Connection/Disconnect')
+        menu_connection.add(imagemenuitem_disconnect)
 
         imagemenuitem_close = gtk.ImageMenuItem(_('_Quit...'),
             self.accel_group)
+        imagemenuitem_close.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-log-out', gtk.ICON_SIZE_MENU)
         imagemenuitem_close.set_image(image)
         imagemenuitem_close.connect('activate', self.sig_close)
-        imagemenuitem_close.set_accel_path('<tryton>/File/Quit')
+        imagemenuitem_close.set_accel_path('<tryton>/Connection/Quit')
         if self.macapp is None:
-            menu_file.add(gtk.SeparatorMenuItem())
-            menu_file.add(imagemenuitem_close)
-        return menu_file
+            menu_connection.add(gtk.SeparatorMenuItem())
+            menu_connection.add(imagemenuitem_close)
+        return menu_connection
 
     def _set_menu_user(self):
         menu_user = gtk.Menu()
 
         imagemenuitem_preference = gtk.ImageMenuItem(_('_Preferences...'))
+        imagemenuitem_preference.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-preferences-system-session',
                 gtk.ICON_SIZE_MENU)
@@ -486,6 +436,7 @@ class Main(object):
 
         imagemenuitem_menu = gtk.ImageMenuItem(_('_Menu Reload'),
             self.accel_group)
+        imagemenuitem_menu.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-start-here', gtk.ICON_SIZE_MENU)
         imagemenuitem_menu.set_image(image)
@@ -495,6 +446,7 @@ class Main(object):
 
         imagemenuitem_menu_toggle = gtk.ImageMenuItem(_('_Menu Toggle'),
                 self.accel_group)
+        imagemenuitem_menu_toggle.set_use_underline(True)
         imagemenuitem_menu_toggle.connect('activate',
             lambda *a: self.menu_toggle())
         imagemenuitem_menu_toggle.set_accel_path('<tryton>/User/Toggle Menu')
@@ -502,6 +454,7 @@ class Main(object):
 
         imagemenuitem_global_search = gtk.ImageMenuItem(_('_Global Search'),
             self.accel_group)
+        imagemenuitem_global_search.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('gtk-find', gtk.ICON_SIZE_MENU)
         imagemenuitem_global_search.set_image(image)
@@ -515,7 +468,7 @@ class Main(object):
     def _set_menu_options(self):
         menu_options = gtk.Menu()
 
-        menuitem_toolbar = gtk.MenuItem(_('_Toolbar'))
+        menuitem_toolbar = gtk.MenuItem(_('_Toolbar'), use_underline=True)
         menu_options.add(menuitem_toolbar)
 
         menu_toolbar = gtk.Menu()
@@ -523,7 +476,8 @@ class Main(object):
         menu_toolbar.set_accel_path('<tryton>/Options/Toolbar')
         menuitem_toolbar.set_submenu(menu_toolbar)
 
-        radiomenuitem_default = gtk.RadioMenuItem(label=_('_Default'))
+        radiomenuitem_default = gtk.RadioMenuItem(label=_('_Default'),
+            use_underline=True)
         radiomenuitem_default.connect('activate',
                 lambda x: self.sig_toolbar('default'))
         radiomenuitem_default.set_accel_path(
@@ -533,7 +487,7 @@ class Main(object):
             radiomenuitem_default.set_active(True)
 
         radiomenuitem_both = gtk.RadioMenuItem(group=radiomenuitem_default,
-                label=_('_Text and Icons'))
+                label=_('_Text and Icons'), use_underline=True)
         radiomenuitem_both.connect('activate',
                 lambda x: self.sig_toolbar('both'))
         radiomenuitem_both.set_accel_path(
@@ -543,7 +497,7 @@ class Main(object):
             radiomenuitem_both.set_active(True)
 
         radiomenuitem_icons = gtk.RadioMenuItem(group=radiomenuitem_default,
-                label=_('_Icons'))
+                label=_('_Icons'), use_underline=True)
         radiomenuitem_icons.connect('activate',
                 lambda x: self.sig_toolbar('icons'))
         radiomenuitem_icons.set_accel_path('<tryton>/Options/Toolbar/Icons')
@@ -552,7 +506,7 @@ class Main(object):
             radiomenuitem_icons.set_active(True)
 
         radiomenuitem_text = gtk.RadioMenuItem(group=radiomenuitem_default,
-                label=_('_Text'))
+                label=_('_Text'), use_underline=True)
         radiomenuitem_text.connect('activate',
                 lambda x: self.sig_toolbar('text'))
         radiomenuitem_text.set_accel_path('<tryton>/Options/Toolbar/Text')
@@ -561,7 +515,7 @@ class Main(object):
             radiomenuitem_text.set_active(True)
 
         # Menubar accelerators
-        menuitem_menubar = gtk.MenuItem(_('_Menubar'))
+        menuitem_menubar = gtk.MenuItem(_('_Menubar'), use_underline=True)
         menu_options.add(menuitem_menubar)
 
         menu_menubar = gtk.Menu()
@@ -569,7 +523,8 @@ class Main(object):
         menu_menubar.set_accel_path('<tryton>/Options/Menubar')
         menuitem_menubar.set_submenu(menu_menubar)
 
-        checkmenuitem_accel = gtk.CheckMenuItem(_('Change Accelerators'))
+        checkmenuitem_accel = gtk.CheckMenuItem(_('Change Accelerators'),
+            use_underline=True)
         checkmenuitem_accel.connect('activate',
                 lambda menuitem: self.sig_accel_change(menuitem.get_active()))
         checkmenuitem_accel.set_accel_path('<tryton>/Options/Menubar/Accel')
@@ -577,7 +532,7 @@ class Main(object):
         if CONFIG['client.can_change_accelerators']:
             checkmenuitem_accel.set_active(True)
 
-        menuitem_mode = gtk.MenuItem(_('_Mode'))
+        menuitem_mode = gtk.MenuItem(_('_Mode'), use_underline=True)
         menu_options.add(menuitem_mode)
 
         menu_mode = gtk.Menu()
@@ -585,7 +540,8 @@ class Main(object):
         menu_mode.set_accel_path('<tryton>/Options/Mode')
         menuitem_mode.set_submenu(menu_mode)
 
-        radiomenuitem_normal = gtk.RadioMenuItem(label=_('_Normal'))
+        radiomenuitem_normal = gtk.RadioMenuItem(label=_('_Normal'),
+            use_underline=True)
         self.radiomenuitem_normal = radiomenuitem_normal
         radiomenuitem_normal.connect('activate',
                 lambda x: self.sig_mode_change(False))
@@ -593,14 +549,14 @@ class Main(object):
         menu_mode.add(radiomenuitem_normal)
 
         radiomenuitem_pda = gtk.RadioMenuItem(group=radiomenuitem_normal,
-                label=_('_PDA'))
+                label=_('_PDA'), use_underline=True)
         self.radiomenuitem_pda = radiomenuitem_pda
         radiomenuitem_pda.connect('activate',
                 lambda x: self.sig_mode_change(True))
         radiomenuitem_pda.set_accel_path('<tryton>/Options/Mode/PDA')
         menu_mode.add(radiomenuitem_pda)
 
-        menuitem_form = gtk.MenuItem(_('_Form'))
+        menuitem_form = gtk.MenuItem(_('_Form'), use_underline=True)
         menu_options.add(menuitem_form)
 
         menu_form = gtk.Menu()
@@ -609,7 +565,7 @@ class Main(object):
         menuitem_form.set_submenu(menu_form)
 
         checkmenuitem_save_width_height = gtk.CheckMenuItem(
-            _('Save Width/Height'))
+            _('Save Width/Height'), use_underline=True)
         checkmenuitem_save_width_height.connect('activate',
             lambda menuitem: CONFIG.__setitem__('client.save_width_height',
                 menuitem.get_active()))
@@ -620,7 +576,7 @@ class Main(object):
             checkmenuitem_save_width_height.set_active(True)
 
         checkmenuitem_save_tree_state = gtk.CheckMenuItem(
-            _('Save Tree State'))
+            _('Save Tree State'), use_underline=True)
         checkmenuitem_save_tree_state.connect('activate',
             lambda menuitem: CONFIG.__setitem__(
                 'client.save_tree_state',
@@ -632,7 +588,7 @@ class Main(object):
             checkmenuitem_save_tree_state.set_active(True)
 
         checkmenuitem_fast_tabbing = gtk.CheckMenuItem(
-            _('Fast Tabbing'))
+            _('Fast Tabbing'), use_underline=True)
         checkmenuitem_fast_tabbing.connect('activate',
             lambda menuitem: CONFIG.__setitem__('client.fast_tabbing',
                 menuitem.get_active()))
@@ -642,7 +598,8 @@ class Main(object):
         checkmenuitem_fast_tabbing.set_active(CONFIG['client.fast_tabbing'])
 
         if gtkspell:
-            checkmenuitem_spellcheck = gtk.CheckMenuItem(_('Spell Checking'))
+            checkmenuitem_spellcheck = gtk.CheckMenuItem(_('Spell Checking'),
+                use_underline=True)
             checkmenuitem_spellcheck.connect('activate',
                     lambda menuitem: CONFIG.__setitem__('client.spellcheck',
                         menuitem.get_active()))
@@ -654,23 +611,25 @@ class Main(object):
 
         imagemenuitem_win_prev = gtk.ImageMenuItem(_('_Previous Tab'),
             self.accel_group)
+        imagemenuitem_win_prev.set_use_underline(True)
         imagemenuitem_win_prev.connect('activate', self.sig_win_prev)
         imagemenuitem_win_prev.set_accel_path('<tryton>/Form/Previous Tab')
         menu_form.add(imagemenuitem_win_prev)
 
         imagemenuitem_win_next = gtk.ImageMenuItem(_('_Next Tab'),
             self.accel_group)
+        imagemenuitem_win_next.set_use_underline(True)
         imagemenuitem_win_next.connect('activate', self.sig_win_next)
         imagemenuitem_win_next.set_accel_path('<tryton>/Form/Next Tab')
         menu_form.add(imagemenuitem_win_next)
 
-        menuitem_limit = gtk.MenuItem(_('Search Limit...'))
+        menuitem_limit = gtk.MenuItem(_('Search Limit...'), use_underline=True)
         self.menuitem_limit = menuitem_limit
         menuitem_limit.connect('activate', self.sig_limit)
         menuitem_limit.set_accel_path('<tryton>/Options/Search Limit')
         menu_options.add(menuitem_limit)
 
-        menuitem_email = gtk.MenuItem(_('_Email...'))
+        menuitem_email = gtk.MenuItem(_('_Email...'), use_underline=True)
         self.menuitem_email = menuitem_email
         menuitem_email.connect('activate', self.sig_email)
         menuitem_email.set_accel_path('<tryton>/Options/Email')
@@ -679,6 +638,7 @@ class Main(object):
         menu_options.add(gtk.SeparatorMenuItem())
 
         imagemenuitem_opt_save = gtk.ImageMenuItem(_('_Save Options'))
+        imagemenuitem_opt_save.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-save', gtk.ICON_SIZE_MENU)
         imagemenuitem_opt_save.set_image(image)
@@ -691,6 +651,7 @@ class Main(object):
         menu_help = gtk.Menu()
 
         imagemenuitem_tips = gtk.ImageMenuItem(_('_Tips...'))
+        imagemenuitem_tips.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-information', gtk.ICON_SIZE_MENU)
         imagemenuitem_tips.set_image(image)
@@ -700,6 +661,7 @@ class Main(object):
 
         imagemenuitem_shortcuts = gtk.ImageMenuItem(
             _('_Keyboard Shortcuts...'))
+        imagemenuitem_shortcuts.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('tryton-help', gtk.ICON_SIZE_MENU)
         imagemenuitem_shortcuts.set_image(image)
@@ -709,6 +671,7 @@ class Main(object):
         menu_help.add(imagemenuitem_shortcuts)
 
         imagemenuitem_about = gtk.ImageMenuItem(_('_About...'))
+        imagemenuitem_about.set_use_underline(True)
         image = gtk.Image()
         image.set_from_stock('gtk-about', gtk.ICON_SIZE_MENU)
         imagemenuitem_about.set_image(image)
@@ -730,15 +693,19 @@ class Main(object):
             return False
 
         def _action_favorite(widget, id_):
-            Action.exec_keyword('tree_open', {
-                'model': self.menu_screen.model_name,
-                'id': id_,
-                'ids': [id_],
+            event = gtk.get_current_event()
+            allow_similar = (event.state & gtk.gdk.MOD1_MASK or
+                             event.state & gtk.gdk.SHIFT_MASK)
+            with Window(allow_similar=allow_similar):
+                Action.exec_keyword('tree_open', {
+                    'model': self.menu_screen.model_name,
+                    'id': id_,
+                    'ids': [id_],
                 })
 
         def _manage_favorites(widget):
             Window.create(False, self.menu_screen.model_name + '.favorite',
-                False, mode=['tree', 'form'])
+                False, mode=['tree', 'form'], name=_('Manage Favorites'))
         try:
             favorites = RPCExecute('model',
                 self.menu_screen.model_name + '.favorite', 'get',
@@ -760,7 +727,8 @@ class Main(object):
             menuitem.connect('activate', _action_favorite, id_)
             menu.add(menuitem)
         menu.add(gtk.SeparatorMenuItem())
-        manage_favorites = gtk.MenuItem(_('Manage Favorites'))
+        manage_favorites = gtk.MenuItem(_('Manage Favorites'),
+            use_underline=True)
         manage_favorites.connect('activate', _manage_favorites)
         menu.add(manage_favorites)
         menu.show_all()
@@ -769,7 +737,7 @@ class Main(object):
 
     def favorite_unset(self):
         had_submenu = self.menuitem_favorite.get_submenu()
-        self.menuitem_favorite.remove_submenu()
+        self.menuitem_favorite.set_submenu(None)
         # Set a submenu to get keyboard shortcut working
         self.menuitem_favorite.set_submenu(gtk.Menu())
 
@@ -857,7 +825,8 @@ class Main(object):
                     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'))
+            if self.global_search_entry:
+                self.global_search_entry.set_placeholder_text(_('Search'))
             CONFIG.save()
 
         def _get_preferences():
@@ -875,32 +844,30 @@ class Main(object):
         self._sig_remove_book(widget,
             self.notebook.get_nth_page(self.notebook.get_current_page()))
 
-    def sig_login(self, widget=None, res=None):
+    def sig_login(self, widget=None):
         if not self.sig_logout(widget, disconnect=False):
             return
-        if not res:
-            try:
-                res = DBLogin().run()
-            except TrytonError, exception:
-                if exception.faultCode == 'QueryCanceled':
-                    return False
-            except TrytonServerError, exception:
-                common.process_exception(exception)
+        language = CONFIG['client.lang']
+        try:
+            host, port, database, username = DBLogin().run()
+        except TrytonError, exception:
+            if exception.faultCode == 'QueryCanceled':
                 return
+            raise
+        func = lambda parameters: rpc.login(
+            host, port, database, username, parameters, language)
         try:
-            log_response = rpc.login(*res)
-        except TrytonServerError, exception:
+            common.Login(func)
+        except Exception, exception:
+            if (isinstance(exception, TrytonError)
+                    and exception.faultCode == 'QueryCanceled'):
+                return
+            if (isinstance(exception, TrytonServerError)
+                    and exception.faultCode.startswith('404')):
+                return self.sig_login()
             common.process_exception(exception)
             return
-        if log_response > 0:
-            self.get_preferences()
-        elif log_response == -1:
-            common.message(_('Connection error!\n'
-                    'Unable to connect to the server!'))
-        elif log_response == -2:
-            common.message(_('Connection error!\n'
-                    'Bad username or password!'))
-            return self.sig_login()
+        self.get_preferences()
         self.favorite_unset()
         self.menuitem_favorite.set_sensitive(True)
         self.menuitem_user.set_sensitive(True)
@@ -976,7 +943,6 @@ class Main(object):
             self.notebook.grab_focus()
 
     def menu_expander_clear(self):
-        self.menu_expander.hide()
         if self.menu_expander.get_child():
             self.menu_expander.remove(self.menu_expander.get_child())
             expanded = self.menu_expander.get_expanded()
@@ -1001,6 +967,8 @@ class Main(object):
                 return False
 
         vbox = gtk.VBox()
+        if hasattr(vbox, 'set_vexpand'):
+            vbox.set_vexpand(True)
 
         self.set_global_search()
         vbox.pack_start(self.global_search_entry, False, False)
@@ -1031,7 +999,6 @@ class Main(object):
         treeview.set_headers_visible(False)
 
         self.menu_expander.add(vbox)
-        self.menu_expander.show()
 
         # Favorite column
         column = gtk.TreeViewColumn()
@@ -1086,7 +1053,7 @@ class Main(object):
         except RPCException:
             return
         menu.value['favorite'] = value
-        store.emit('row-changed', path, iter_)
+        store.row_changed(path, iter_)
         self.favorite_unset()
 
     @classmethod
@@ -1142,7 +1109,7 @@ class Main(object):
         self.previous_pages[page] = previous_widget
         self.pages.append(page)
         hbox = gtk.HBox(spacing=3)
-        icon_w, icon_h = gtk.icon_size_lookup(gtk.ICON_SIZE_SMALL_TOOLBAR)
+        icon_w, icon_h = gtk.icon_size_lookup(gtk.ICON_SIZE_SMALL_TOOLBAR)[-2:]
         if page.icon is not None:
             common.ICONFACTORY.register_icon(page.icon)
             image = gtk.Image()
@@ -1169,13 +1136,13 @@ class Main(object):
         img.set_from_stock('tryton-close', gtk.ICON_SIZE_MENU)
         width, height = img.size_request()
         button.set_relief(gtk.RELIEF_NONE)
-        button.unset_flags(gtk.CAN_FOCUS)
+        button.set_can_focus(False)
         button.add(img)
         self.tooltips.set_tip(button, _('Close Tab'))
         button.connect('clicked', self._sig_remove_book, page.widget)
         hbox.pack_start(button, expand=False, fill=False)
         x, y = gtk.icon_size_lookup_for_settings(button.get_settings(),
-                gtk.ICON_SIZE_MENU)
+            gtk.ICON_SIZE_MENU)[-2:]
         button.set_size_request(x, y)
 
         hbox.show_all()
@@ -1273,130 +1240,6 @@ class Main(object):
         for dialog in current_form.dialogs:
             dialog.show()
 
-    def sig_db_new(self, widget):
-        if not self.sig_logout(widget):
-            return False
-        dia = DBCreate(CONFIG['login.server'], int(CONFIG['login.port']),
-            sig_login=self.sig_login)
-        res = dia.run()
-        if res:
-            CONFIG.save()
-        return res
-
-    def sig_db_drop(self, widget=None):
-        if not self.sig_logout(widget):
-            return False
-        url, dbname, passwd = DBBackupDrop(function='drop').run()
-        if not dbname:
-            rpc.logout()
-            return
-
-        host, port = url.rsplit(':', 1)
-        sure = common.sur_3b(_("You are going to delete a Tryton "
-                "database.\nAre you really sure to proceed?"))
-        if sure == "ko" or sure == "cancel":
-            return
-        rpcprogress = common.RPCProgress('db_exec', (host, int(port), 'drop',
-            dbname, passwd))
-        try:
-            rpcprogress.run(False)
-        except TrytonServerError, exception:
-            if exception.faultCode == "AccessDenied":
-                common.warning(_("Wrong Tryton Server Password\n"
-                        "Please try again."),
-                        _('Access denied!'))
-                self.sig_db_drop()
-            else:
-                common.warning(_('Database drop failed with error message:\n')
-                    + str(exception.faultCode), _('Database drop failed!'))
-            return
-        common.message(_("Database dropped successfully!"))
-
-    def sig_db_restore(self, widget=None):
-        if not self.sig_logout(widget):
-            return False
-        filename = common.file_selection(_('Open Backup File to Restore...'),
-            preview=False)
-        if not filename:
-            return
-        dialog = DBRestore(filename=filename)
-        url, dbname, passwd, update = dialog.run()
-        if dbname:
-            with open(filename, 'rb') as file_p:
-                data = file_p.read()
-            host, port = url.rsplit(':', 1)
-            cast = bytearray if bytes == str else bytes
-            rpcprogress = common.RPCProgress('db_exec', (host, int(port),
-                'restore', dbname, passwd, cast(data), update))
-            try:
-                res = rpcprogress.run(False)
-            except TrytonServerError, exception:
-                if exception.faultCode == \
-                        "Couldn't restore database with password":
-                    common.warning(_("It is not possible to restore a "
-                            "password protected database.\n"
-                            "Backup and restore needed to be proceed "
-                            "manual."),
-                            _('Database is password protected!'))
-                elif exception.faultCode == "AccessDenied":
-                    common.warning(_("Wrong Tryton Server Password.\n"
-                            "Please try again."),
-                            _('Access denied!'))
-                    self.sig_db_restore()
-                else:
-                    common.warning(_('Database restore failed with '
-                            'error message:\n') + str(exception.faultCode),
-                        _('Database restore failed!'))
-                return
-            if res:
-                common.message(_("Database restored successfully!"))
-            else:
-                common.message(_('Database restore failed!'))
-
-    def sig_db_dump(self, widget=None):
-        if not self.sig_logout(widget):
-            return False
-        dialog = DBBackupDrop(function='backup')
-        url, dbname, passwd = dialog.run()
-
-        if not (dbname and url and passwd):
-            rpc.logout()
-            return
-
-        host, port = url.rsplit(':', 1)
-        rpcprogress = common.RPCProgress('db_exec', (host, int(port), 'dump',
-            dbname, passwd))
-        try:
-            dump = rpcprogress.run(False)
-        except TrytonServerError, exception:
-            if exception.faultCode == "Couldn't dump database with password":
-                common.warning(_("It is not possible to dump a password "
-                        "protected Database.\nBackup and restore "
-                        "needed to be proceed manual."),
-                    _('Database is password protected!'))
-            elif exception.faultCode == "AccessDenied":
-                common.warning(_("Wrong Tryton Server Password.\n"
-                        "Please try again."),
-                    _('Access denied!'))
-                self.sig_db_dump()
-            else:
-                common.warning(_('Database dump failed with '
-                        'error message:\n') + str(exception.faultCode),
-                    _('Database dump failed!'))
-            rpc.logout()
-            return
-
-        filename = common.file_selection(_('Save As...'),
-            action=gtk.FILE_CHOOSER_ACTION_SAVE, preview=False,
-            filename=dbname + '-' + time.strftime('%Y%m%d%H%M') + '.dump')
-
-        if filename:
-            with open(filename, 'wb') as file_:
-                file_.write(dump)
-            common.message(_("Database backuped successfully!"))
-        else:
-            rpc.logout()
-
     def _open_url(self, url):
         urlp = urlparse(url)
         if not urlp.scheme == 'tryton':
@@ -1429,7 +1272,7 @@ class Main(object):
             try:
                 view_ids = json.loads(params.get('views', 'false'))
                 limit = json.loads(params.get('limit', 'null'))
-                name = json.loads(params.get('window_name', 'false'))
+                name = json.loads(params.get('name', ''))
                 search_value = json.loads(params.get('search_value', '{}'),
                     object_hook=object_hook)
                 domain = json.loads(params.get('domain', '[]'),
diff --git a/tryton/gui/window/about.py b/tryton/gui/window/about.py
index 0f4cec5..1bc08e7 100644
--- a/tryton/gui/window/about.py
+++ b/tryton/gui/window/about.py
@@ -4,7 +4,7 @@
 import gtk
 import gettext
 import webbrowser
-from tryton.config import TRYTON_ICON
+from tryton.config import TRYTON_ICON, CONFIG
 from tryton.common import get_toplevel_window
 from tryton import __version__
 
@@ -711,14 +711,16 @@ _ = gettext.gettext
 class About(object):
 
     def __init__(self):
-        gtk.about_dialog_set_email_hook(lambda widget, link:
-                webbrowser.open(link, new=2))
-        gtk.about_dialog_set_url_hook(lambda widget, link:
-                webbrowser.open(link, new=2))
+        if hasattr(gtk, 'about_dialog_set_email_hook'):
+            gtk.about_dialog_set_email_hook(lambda widget, link:
+                    webbrowser.open(link, new=2))
+        if hasattr(gtk, 'about_dialog_set_url_hook'):
+            gtk.about_dialog_set_url_hook(lambda widget, link:
+                    webbrowser.open(link, new=2))
         parent = get_toplevel_window()
         self.win = gtk.AboutDialog()
         self.win.set_transient_for(parent)
-        self.win.set_name('Tryton')
+        self.win.set_name(CONFIG['client.title'])
         self.win.set_version(__version__)
         self.win.set_copyright(COPYRIGHT)
         self.win.set_license(LICENSE)
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index 0095870..67916c0 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -5,10 +5,13 @@ import os
 import urllib
 import urlparse
 import sys
+import gettext
 
 from tryton.gui.window.view_form.screen import Screen
 from tryton.gui.window.win_form import WinForm
 
+_ = gettext.gettext
+
 
 class Attachment(WinForm):
     "Attachment window"
@@ -16,14 +19,12 @@ class Attachment(WinForm):
     def __init__(self, record, callback=None):
         self.resource = '%s,%s' % (record.model_name, record.id)
         self.attachment_callback = callback
-        context = record.context_get()
-        context['resource'] = self.resource
+        title = _('Attachments (%s)') % (record.rec_name())
         screen = Screen('ir.attachment', domain=[
             ('resource', '=', self.resource),
-            ], mode=['tree', 'form'], context=context,
-            exclude_field='resource')
+            ], mode=['tree', 'form'], exclude_field='resource')
         super(Attachment, self).__init__(screen, self.callback,
-            view_type='tree')
+            view_type='tree', title=title)
         screen.search_filter()
 
     def destroy(self):
diff --git a/tryton/gui/window/board.py b/tryton/gui/window/board.py
index bc91bfe..492023d 100644
--- a/tryton/gui/window/board.py
+++ b/tryton/gui/window/board.py
@@ -85,9 +85,7 @@ class Board(SignalEvent, TabContent):
         Main.get_main().sig_win_close(widget)
 
     def set_cursor(self):
-        if not self.board.widgets:
+        if not self.board.actions:
             return
-        first_widget = self.board.widgets[0]
-        # only Actions are added to self.board.widgets, so no need to test
-        # further
-        first_widget.screen.set_cursor()
+        first_action = self.board.actions[0]
+        first_action.screen.set_cursor()
diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py
deleted file mode 100644
index 1f76178..0000000
--- a/tryton/gui/window/dbcreate.py
+++ /dev/null
@@ -1,392 +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 gettext
-
-import tryton.common as common
-from tryton.config import CONFIG, TRYTON_ICON
-from tryton.exceptions import TrytonServerError
-import tryton.rpc as rpc
-
-_ = gettext.gettext
-
-
-class DBCreate(object):
-    def server_connection_state(self, state):
-        """
-        Method to set the server connection information depending on the
-        connection state. If state is True, the connection string will shown.
-        Otherwise the wrong connection string will be shown plus an additional
-        errormessage. In this case, all entryboxes set insensitive
-        """
-        if state:
-            self.entry_serverpasswd.set_sensitive(True)
-            self.entry_dbname.set_sensitive(True)
-            self.entry_adminpasswd.set_sensitive(True)
-            self.entry_adminpasswd2.set_sensitive(True)
-            self.tooltips.set_tip(self.entry_server_connection,
-                _("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."))
-        else:
-            self.entry_serverpasswd.set_sensitive(False)
-            self.entry_dbname.set_sensitive(False)
-            self.entry_adminpasswd.set_sensitive(False)
-            self.entry_adminpasswd2.set_sensitive(False)
-            self.entry_server_connection.set_editable(False)
-            self.entry_server_connection.set_sensitive(False)
-            self.entry_server_connection.set_text(
-                self.entry_server_connection.get_text()
-                + "  " + _("No connection!"))
-            self.tooltips.set_tip(self.entry_server_connection, _(
-                    "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"
-                    "Click on 'Change' to change the address."))
-        return state
-
-    def server_change(self, widget):
-        """
-        This method checks the server connection via host and port. If the
-        connection is successfull, it query the language list and pass true
-        state to the GUI. Otherwise it pass false state to the GUI.
-        """
-        res = common.request_server(self.entry_server_connection)
-        if not res:
-            return False
-        host, port = res
-        try:
-            if self.combo_language and host and port:
-                common.refresh_langlist(self.combo_language, host, port)
-            self.server_connection_state(True)
-        except TrytonServerError:
-            self.server_connection_state(False)
-            return False
-        return True
-
-    def event_passwd_clear(self, widget, event, data=None):
-        """
-        This event method clear the text in a widget if CTRL-u
-        is pressed.
-        """
-        if ((event.keyval == gtk.keysyms.u)
-                and (event.state & gtk.gdk.CONTROL_MASK)):
-            widget.set_text("")
-
-    def event_show_button_create(self, widget, event, data=None):
-        """
-        This event method decide by rules if the Create button will be
-        sensitive or insensitive. The general rule is, all given fields
-        must be filled, then the Create button is set to sensitive. This
-        event method doesn't check the valid of single entrys.
-        """
-        if (self.entry_server_connection.get_text() != ""
-                and self.entry_serverpasswd.get_text() != ""
-                and self.entry_dbname.get_text() != ""
-                and self.combo_language.get_active() != -1
-                and self.entry_adminpasswd.get_text() != ""
-                and self.entry_adminpasswd2.get_text() != ""):
-            widget.unset_flags(gtk.HAS_DEFAULT)
-            self.button_create.set_sensitive(True)
-            self.button_create.set_flags(gtk.CAN_DEFAULT)
-            self.button_create.set_flags(gtk.HAS_DEFAULT)
-            self.button_create.set_flags(gtk.CAN_FOCUS)
-            self.button_create.set_flags(gtk.RECEIVES_DEFAULT)
-            self.button_create.grab_default()
-
-        else:
-            self.button_create.set_sensitive(False)
-
-    def entry_insert_text(self, entry, new_text, new_text_length, position):
-        """
-        This event method checks each text input for the PostgreSQL
-        database name. It allows the following rules:
-        - Allowed characters are alpha-nummeric [A-Za-z0-9] and underscore (_)
-        - First character must be a letter
-        """
-
-        if new_text.isalnum() or new_text == '_':
-            _hid = entry.get_data('handlerid')
-            entry.handler_block(_hid)
-            _pos = entry.get_position()
-            _pos = entry.insert_text(new_text, _pos)
-            entry.handler_unblock(_hid)
-
-            def _move_cursor():
-                if not entry.props.window:
-                    return
-                with gtk.gdk.lock:
-                    entry.set_position(_pos)
-                    return False
-            gobject.idle_add(_move_cursor)
-        entry.stop_emission("insert-text")
-
-    def __init__(self, host=None, port=None, sig_login=None):
-        self.host = host
-        self.port = port
-
-        # GTK Stuffs
-        self.dialog = gtk.Dialog(title=_("Create new database"),
-            flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT |
-            gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_has_separator(True)
-        self.dialog.set_icon(TRYTON_ICON)
-        # This event is needed for controlling the button_create
-        self.dialog.connect("key-press-event", self.event_show_button_create)
-        self.tooltips = common.Tooltips()
-        self.dialog.add_button("gtk-cancel",
-            gtk.RESPONSE_CANCEL)
-        self.button_create = gtk.Button(_('C_reate'))
-        self.button_create.set_flags(gtk.CAN_DEFAULT)
-        self.button_create.set_flags(gtk.HAS_DEFAULT)
-        self.button_create.set_sensitive(False)
-        img_connect = gtk.Image()
-        img_connect.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON)
-        self.button_create.set_image(img_connect)
-        self.tooltips.set_tip(self.button_create,
-            _('Create the new database.'))
-        self.dialog.add_action_widget(self.button_create, gtk.RESPONSE_OK)
-        self.dialog.set_default_response(gtk.RESPONSE_OK)
-
-        dialog_vbox = gtk.VBox()
-        table = gtk.Table(9, 3, False)
-        table.set_border_width(10)
-        table.set_row_spacings(3)
-        table.set_col_spacings(3)
-
-        self.label_server_setup = gtk.Label()
-        self.label_server_setup.set_markup("<b>" + _("Server Setup:") + "</b>")
-        self.label_server_setup.set_justify(gtk.JUSTIFY_LEFT)
-        self.label_server_setup.set_alignment(0, 1)
-        self.label_server_setup.set_padding(9, 5)
-        table.attach(self.label_server_setup, 0, 3, 0, 1, xoptions=gtk.FILL)
-        self.label_server = gtk.Label(_("Server connection:"))
-        self.label_server.set_alignment(1, 0.5)
-        self.label_server.set_padding(3, 3)
-        table.attach(self.label_server, 0, 1, 1, 2, xoptions=gtk.FILL)
-        self.entry_server_connection = gtk.Entry()
-        self.entry_server_connection.set_sensitive(False)
-        self.entry_server_connection.unset_flags(gtk.CAN_FOCUS)
-        self.entry_server_connection.set_editable(False)
-        self.label_server.set_mnemonic_widget(self.entry_server_connection)
-        self.tooltips.set_tip(self.entry_server_connection,
-            _("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."))
-        self.button_server_change = gtk.Button(_("C_hange"), stock=None,
-             use_underline=True)
-        img_button_server_change = gtk.Image()
-        img_button_server_change.set_from_stock('tryton-preferences-system',
-            gtk.ICON_SIZE_BUTTON)
-        self.button_server_change.set_image(img_button_server_change)
-        table.attach(self.button_server_change, 2, 3, 1, 2, yoptions=False,
-            xoptions=gtk.FILL)
-        self.tooltips.set_tip(self.button_server_change,
-            _("Setup the server connection..."))
-
-        table.attach(self.entry_server_connection, 1, 2, 1, 2)
-        self.label_serverpasswd = gtk.Label(_("Tryton Server Password:"))
-        self.label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT)
-        self.label_serverpasswd.set_alignment(1, 0.5)
-        self.label_serverpasswd.set_padding(3, 3)
-        table.attach(self.label_serverpasswd, 0, 1, 2, 3, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        self.entry_serverpasswd = gtk.Entry()
-        self.entry_serverpasswd.set_visibility(False)
-        self.entry_serverpasswd.set_activates_default(True)
-        self.label_serverpasswd.set_mnemonic_widget(self.entry_serverpasswd)
-        table.attach(self.entry_serverpasswd, 1, 3, 2, 3, yoptions=gtk.FILL)
-        self.tooltips.set_tip(self.entry_serverpasswd, _("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."))
-        self.entry_serverpasswd.connect("key-press-event",
-            self.event_passwd_clear)
-
-        self.hseparator = gtk.HSeparator()
-        table.attach(self.hseparator, 0, 3, 3, 4, yoptions=gtk.FILL)
-
-        label_dbname = gtk.Label()
-        label_dbname.set_markup("<b>" + _("New database setup:") + "</b>")
-        label_dbname.set_justify(gtk.JUSTIFY_LEFT)
-        label_dbname.set_alignment(0, 1)
-        label_dbname.set_padding(9, 5)
-        table.attach(label_dbname, 0, 3, 4, 5, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        label_dbname = gtk.Label(_("Database name:"))
-        label_dbname.set_justify(gtk.JUSTIFY_RIGHT)
-        label_dbname.set_padding(3, 3)
-        label_dbname.set_alignment(1, 0.5)
-        table.attach(label_dbname, 0, 1, 5, 6, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        self.entry_dbname = gtk.Entry()
-        self.entry_dbname.set_max_length(63)
-        self.entry_dbname.set_width_chars(16)
-        self.entry_dbname.set_activates_default(True)
-        label_dbname.set_mnemonic_widget(self.entry_dbname)
-        table.attach(self.entry_dbname, 1, 3, 5, 6, yoptions=gtk.FILL)
-        self.tooltips.set_tip(self.entry_dbname,
-            _("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"))
-        handlerid = self.entry_dbname.connect("insert-text",
-            self.entry_insert_text)
-        self.entry_dbname.set_data('handlerid', handlerid)
-        label_language = gtk.Label(_("Default language:"))
-        label_language.set_justify(gtk.JUSTIFY_RIGHT)
-        label_language.set_alignment(1, 0.5)
-        label_language.set_padding(3, 3)
-        table.attach(label_language, 0, 1, 6, 7, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        eventbox_language = gtk.EventBox()
-        self.combo_language = gtk.combo_box_new_text()
-        eventbox_language.add(self.combo_language)
-        table.attach(eventbox_language, 1, 3, 6, 7, yoptions=gtk.FILL)
-        self.tooltips.set_tip(eventbox_language, _("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."))
-        label_adminpasswd = gtk.Label(_("Admin password:"))
-        label_adminpasswd.set_justify(gtk.JUSTIFY_RIGHT)
-        label_adminpasswd.set_padding(3, 3)
-        label_adminpasswd.set_alignment(1, 0.5)
-        table.attach(label_adminpasswd, 0, 1, 7, 8, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        self.entry_adminpasswd = gtk.Entry()
-        self.entry_adminpasswd.set_visibility(False)
-        self.entry_adminpasswd.set_activates_default(True)
-        label_adminpasswd.set_mnemonic_widget(self.entry_adminpasswd)
-        self.tooltips.set_tip(self.entry_adminpasswd,
-            _("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>"))
-        table.attach(self.entry_adminpasswd, 1, 3, 7, 8, yoptions=gtk.FILL)
-        self.entry_adminpasswd.connect("key-press-event",
-            self.event_passwd_clear)
-        label_adminpasswd2 = gtk.Label(_("Confirm admin password:"))
-        label_adminpasswd2.set_justify(gtk.JUSTIFY_RIGHT)
-        label_adminpasswd2.set_padding(3, 3)
-        label_adminpasswd2.set_alignment(1, 0.5)
-        table.attach(label_adminpasswd2, 0, 1, 8, 9, xoptions=gtk.FILL,
-                yoptions=gtk.FILL)
-        self.entry_adminpasswd2 = gtk.Entry()
-        self.entry_adminpasswd2.set_visibility(False)
-        self.entry_adminpasswd2.set_activates_default(True)
-        label_adminpasswd2.set_mnemonic_widget(self.entry_adminpasswd2)
-        self.tooltips.set_tip(self.entry_adminpasswd2, _("Type the Admin "
-                "password again"))
-        table.attach(self.entry_adminpasswd2, 1, 3, 8, 9, yoptions=gtk.FILL)
-        self.entry_adminpasswd2.connect("key-press-event",
-            self.event_passwd_clear)
-        self.entry_serverpasswd.grab_focus()
-        dialog_vbox.pack_start(table)
-        self.dialog.vbox.pack_start(dialog_vbox)
-        self.sig_login = sig_login
-
-    def run(self):
-        parent = common.get_toplevel_window()
-        self.dialog.set_default_response(gtk.RESPONSE_OK)
-        self.dialog.set_transient_for(parent)
-        self.dialog.show_all()
-
-        pass_widget = self.entry_serverpasswd
-        change_button = self.button_server_change
-        admin_passwd = self.entry_adminpasswd
-        admin_passwd2 = self.entry_adminpasswd2
-        change_button.connect_after('clicked', self.server_change)
-
-        if self.host and self.port:
-            url = '%s:%d' % (self.host, self.port)
-        else:
-            url = ''
-        self.entry_server_connection.set_text(url)
-
-        liststore = gtk.ListStore(str, str)
-        self.combo_language.set_model(liststore)
-        try:
-            common.refresh_langlist(self.combo_language, self.host, self.port)
-        except TrytonServerError:
-            self.button_create.set_sensitive(False)
-
-        while True:
-            self.dialog.props.sensitive = True
-            res = self.dialog.run()
-            dbname = self.entry_dbname.get_text()
-            netloc = self.entry_server_connection.get_text()
-            host = common.get_hostname(netloc)
-            port = common.get_port(netloc)
-            langidx = self.combo_language.get_active_iter()
-            langreal = langidx \
-                and self.combo_language.get_model().get_value(langidx, 1)
-            passwd = pass_widget.get_text()
-            if res == gtk.RESPONSE_OK:
-                if admin_passwd.get_text() != admin_passwd2.get_text():
-                    common.warning(
-                        _("The new admin password "
-                            "doesn't match the confirmation field.\n"),
-                        _("Passwords doesn't match!"))
-                    continue
-                try:
-                    exist = rpc.db_exec(host, port, 'db_exist', dbname)
-                except TrytonServerError, exception:
-                    common.process_exception(exception)
-                    continue
-                if exist:
-                    common.warning(_("A database with the same name "
-                            "already exists.\n"
-                            "Try another database name."),
-                        _("This database name already exist!"))
-                    self.entry_dbname.set_text("")
-                    self.entry_dbname.grab_focus()
-                    continue
-                else:  # Everything runs fine, break the block here
-                    self.dialog.props.sensitive = False
-                    try:
-                        rpcprogress = common.RPCProgress('db_exec',
-                            (host, port, 'create', dbname, passwd, langreal,
-                                admin_passwd.get_text()))
-                        rpcprogress.run(False)
-                    except TrytonServerError, exception:
-                        if str(exception.faultCode) == "AccessDenied":
-                            common.warning(_("Sorry, wrong password for "
-                                    "the Tryton server. "
-                                    "Please try again."),
-                                _("Access denied!"))
-                            self.entry_serverpasswd.set_text("")
-                            self.entry_serverpasswd.grab_focus()
-                            continue
-                        else:  # Unclassified error
-                            common.warning(_("Can't create the "
-                                "database, caused by an unknown reason.\n"
-                                "If there is a database created, it could "
-                                "be broken. Maybe drop this database! "
-                                "Please check the error message for "
-                                "possible informations.\n"
-                                "Error message:\n")
-                                + str(exception.faultCode),
-                                _("Error creating database!"))
-                        parent.present()
-                        self.dialog.destroy()
-                        rpc.logout()
-                        break
-                    parent.present()
-                    self.dialog.destroy()
-                    if self.sig_login:
-                        CONFIG['login.server'] = host
-                        CONFIG['login.port'] = str(port)
-                        CONFIG['login.db'] = dbname
-                        CONFIG['login.login'] = 'admin'
-                        self.sig_login()
-                    break
-            break
-        parent.present()
-        self.dialog.destroy()
-        return dbname
diff --git a/tryton/gui/window/dbdumpdrop.py b/tryton/gui/window/dbdumpdrop.py
deleted file mode 100644
index 60a9748..0000000
--- a/tryton/gui/window/dbdumpdrop.py
+++ /dev/null
@@ -1,240 +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 gettext
-import tryton.common as common
-from tryton.config import CONFIG, TRYTON_ICON
-import tryton.rpc as rpc
-
-_ = gettext.gettext
-
-
-class DBBackupDrop(object):
-    """
-    Widget for database backup and drop.
-    """
-    def refreshlist(self, host, port):
-        self.combo_database.hide()
-        self.combo_database_label.hide()
-        self.combo_database_entry.hide()
-        dbprogress = common.DBProgress(host, port)
-
-        def callback(dbs):
-            if dbs is None:
-                self.combo_database_label.set_label('<b>' +
-                    _('Could not connect to server!') + '</b>')
-                self.combo_database_label.show()
-            elif dbs == -1:
-                self.combo_database_label.set_label('<b>' +
-                    _('This client version is not compatible '
-                        'with the server!')
-                    + '</b>')
-                self.combo_database_label.show()
-            elif dbs == -2:
-                self.combo_database_entry.show()
-                self.combo_database_entry.grab_focus()
-            elif dbs == 0:
-                self.combo_database_label.set_label('<b>'
-                    + _('No database found, you must create one!') + '</b>')
-                self.combo_database_label.show()
-            else:
-                self.combo_database.show()
-        dbprogress.update(self.combo_database, self.db_progressbar, callback)
-
-    def refreshlist_ask(self, widget=None):
-        res = common.request_server(self.entry_server_connection)
-        if not res:
-            return None
-        host, port = res
-        self.refreshlist(host, port)
-        return (host, port)
-
-    def event_show_button_ok(self, widget, event, data=None):
-        """
-        This event method decide by rules if the Create button will be
-        sensitive or insensitive. The general rule is, all given fields
-        must be filled, then the Create button is set to sensitive. This
-        event method doesn't check the valid of single entrys.
-        """
-        if (self.entry_server_connection.get_text() != ""
-                and (self.combo_database.get_active_text() != ""
-                    or self.combo_database_entry.get_text() != "")
-                and self.entry_serverpasswd.get_text() != ""):
-            widget.unset_flags(gtk.HAS_DEFAULT)
-            self.button_ok.set_sensitive(True)
-            self.button_ok.set_flags(gtk.CAN_DEFAULT)
-            self.button_ok.set_flags(gtk.HAS_DEFAULT)
-            self.button_ok.set_flags(gtk.CAN_FOCUS)
-            self.button_ok.set_flags(gtk.RECEIVES_DEFAULT)
-            self.button_ok.grab_default()
-        else:
-            self.button_ok.set_sensitive(False)
-
-    def __init__(self, function=None):
-        # This widget is used for creating and droping a database!
-        if function == "backup":
-            dialog_title = _("Backup a database")
-            button_ok_text = _("Backup")
-            button_ok_tooltip = _("Backup the choosen database.")
-            button_ok_icon = "tryton-save-as"
-            label_subtitle_text = _("Choose a Tryton database to backup:")
-        elif function == "drop":
-            dialog_title = _("Delete a database")
-            button_ok_text = _("Delete")
-            button_ok_tooltip = _("Delete the choosen database.")
-            button_ok_icon = "tryton-delete"
-            label_subtitle_text = _("Choose a Tryton database to delete:")
-        else:
-            return None
-
-        self.parent = common.get_toplevel_window()
-        self.dialog = gtk.Dialog(title=dialog_title, parent=self.parent,
-            flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
-            | gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_has_separator(True)
-        self.dialog.set_icon(TRYTON_ICON)
-        self.dialog.connect("key-press-event", self.event_show_button_ok)
-        self.tooltips = common.Tooltips()
-        self.dialog.add_button("gtk-cancel",
-            gtk.RESPONSE_CANCEL)
-        self.button_ok = gtk.Button(button_ok_text)
-        self.button_ok.set_flags(gtk.CAN_DEFAULT)
-        self.button_ok.set_flags(gtk.HAS_DEFAULT)
-        self.button_ok.set_sensitive(False)
-        img_connect = gtk.Image()
-        img_connect.set_from_stock(button_ok_icon, gtk.ICON_SIZE_BUTTON)
-        self.button_ok.set_image(img_connect)
-        self.tooltips.set_tip(self.button_ok, button_ok_tooltip)
-        self.dialog.add_action_widget(self.button_ok, gtk.RESPONSE_OK)
-        self.dialog.set_default_response(gtk.RESPONSE_OK)
-        self.dialog_vbox = gtk.VBox()
-
-        table = gtk.Table(5, 3, False)
-        table.set_border_width(10)
-        table.set_row_spacings(3)
-        table.set_col_spacings(3)
-        self.dialog_vbox.pack_start(table, True, False, 0)
-
-        label_subtitle = gtk.Label()
-        label_subtitle.set_markup("<b>" + label_subtitle_text + "</b>")
-        label_subtitle.set_justify(gtk.JUSTIFY_LEFT)
-        label_subtitle.set_alignment(0, 1)
-        label_subtitle.set_padding(9, 5)
-        table.attach(label_subtitle, 0, 3, 0, 1, yoptions=False,
-            xoptions=gtk.FILL)
-
-        hseparator = gtk.HSeparator()
-        table.attach(hseparator, 0, 3, 1, 2, yoptions=False)
-
-        self.label_server = gtk.Label(_("Server Connection:"))
-        self.label_server.set_alignment(1, 0.5)
-        self.label_server.set_padding(3, 3)
-        table.attach(self.label_server, 0, 1, 2, 3, yoptions=False,
-            xoptions=gtk.FILL)
-
-        self.entry_server_connection = gtk.Entry()
-        self.entry_server_connection.set_sensitive(False)
-        self.entry_server_connection.unset_flags(gtk.CAN_FOCUS)
-        self.entry_server_connection.set_editable(False)
-        self.label_server.set_mnemonic_widget(self.entry_server_connection)
-        self.tooltips.set_tip(self.entry_server_connection, _("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."))
-        table.attach(self.entry_server_connection, 1, 2, 2, 3,
-                yoptions=gtk.FILL)
-
-        self.button_server_change = gtk.Button(_("C_hange"), stock=None,
-            use_underline=True)
-        img_button_server_change = gtk.Image()
-        img_button_server_change.set_from_stock('tryton-preferences-system',
-            gtk.ICON_SIZE_BUTTON)
-        self.button_server_change.set_image(img_button_server_change)
-        table.attach(self.button_server_change, 2, 3, 2, 3, yoptions=False)
-
-        self.label_database = gtk.Label()
-        self.label_database.set_text(_("Database:"))
-        self.label_database.set_alignment(1, 0.5)
-        self.label_database.set_padding(3, 3)
-        table.attach(self.label_database, 0, 1, 3, 4, yoptions=False,
-            xoptions=gtk.FILL)
-
-        vbox_combo = gtk.VBox(homogeneous=True)
-        self.combo_database = gtk.ComboBox()
-        dbstore = gtk.ListStore(gobject.TYPE_STRING)
-        cell = gtk.CellRendererText()
-        self.combo_database.pack_start(cell, True)
-        self.combo_database.add_attribute(cell, 'text', 0)
-        self.combo_database.set_model(dbstore)
-        self.db_progressbar = gtk.ProgressBar()
-        self.combo_database_label = gtk.Label()
-        self.combo_database_label.set_use_markup(True)
-        self.combo_database_label.set_alignment(0, 1)
-        self.combo_database_entry = gtk.Entry()
-        vbox_combo.pack_start(self.combo_database)
-        vbox_combo.pack_start(self.combo_database_label)
-        vbox_combo.pack_start(self.db_progressbar)
-        vbox_combo.pack_start(self.combo_database_entry)
-        width, height = 0, 0
-        # Compute size_request of box in order to prevent "form jumping"
-        for child in vbox_combo.get_children():
-            cwidth, cheight = child.size_request()
-            width, height = max(width, cwidth), max(height, cheight)
-        vbox_combo.set_size_request(width, height)
-        table.attach(vbox_combo, 1, 3, 3, 4, yoptions=False)
-
-        self.label_serverpasswd = gtk.Label(_("Tryton Server Password:"))
-        self.label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT)
-        self.label_serverpasswd.set_alignment(1, 0.5)
-        self.label_serverpasswd.set_padding(3, 3)
-        table.attach(self.label_serverpasswd, 0, 1, 4, 5, yoptions=False,
-            xoptions=gtk.FILL)
-
-        self.entry_serverpasswd = gtk.Entry()
-        self.entry_serverpasswd.set_visibility(False)
-        self.entry_serverpasswd.set_activates_default(True)
-        self.label_serverpasswd.set_mnemonic_widget(self.entry_serverpasswd)
-        self.tooltips.set_tip(self.entry_serverpasswd, _("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."))
-        table.attach(self.entry_serverpasswd, 1, 3, 4, 5, yoptions=False)
-
-        self.entry_serverpasswd.grab_focus()
-        self.dialog.vbox.pack_start(self.dialog_vbox)
-
-    def run(self):
-        self.dialog.set_default_response(gtk.RESPONSE_OK)
-        self.dialog.show_all()
-
-        self.entry_server_connection.set_text(
-            '%(login.server)s:%(login.port)s' % CONFIG)
-        self.refreshlist(CONFIG['login.server'], CONFIG['login.port'])
-
-        self.button_server_change.connect_after('clicked',
-            self.refreshlist_ask)
-
-        while True:
-            database = False
-            url = False
-            passwd = False
-            res = self.dialog.run()
-            if res == gtk.RESPONSE_OK:
-                if self.combo_database.get_visible():
-                    database = self.combo_database.get_active_text()
-                elif self.combo_database_entry.get_visible():
-                    database = self.combo_database_entry.get_text()
-                else:
-                    continue
-                url = self.entry_server_connection.get_text()
-                passwd = self.entry_serverpasswd.get_text()
-                break
-            if res != gtk.RESPONSE_OK:
-                self.dialog.destroy()
-                rpc.logout()
-                break
-        self.parent.present()
-        self.dialog.destroy()
-
-        return (url, database, passwd)
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index d441552..9f3bc6a 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -6,12 +6,12 @@ import gtk
 import gobject
 import os
 import gettext
+import threading
 
 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
-from tryton.gui.window.dbcreate import DBCreate
 from tryton.exceptions import TrytonError
 
 _ = gettext.gettext
@@ -33,7 +33,6 @@ class DBListEditor(object):
         self.ok_button = self.dialog.add_button(gtk.STOCK_OK,
             gtk.RESPONSE_ACCEPT)
         self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_has_separator(True)
         self.dialog.set_icon(TRYTON_ICON)
 
         hpaned = gtk.HPaned()
@@ -49,12 +48,12 @@ class DBListEditor(object):
         scroll = gtk.ScrolledWindow()
         scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
         scroll.add(self.profile_tree)
-        self.add_button = gtk.Button(_(u'_Add'))
+        self.add_button = gtk.Button(_(u'_Add'), use_underline=True)
         self.add_button.connect('clicked', self.profile_create)
         add_image = gtk.Image()
         add_image.set_from_stock('gtk-add', gtk.ICON_SIZE_BUTTON)
         self.add_button.set_image(add_image)
-        self.remove_button = gtk.Button(_(u'_Remove'))
+        self.remove_button = gtk.Button(_(u'_Remove'), use_underline=True)
         self.remove_button.connect('clicked', self.profile_delete)
         remove_image = gtk.Image()
         remove_image.set_from_stock('gtk-remove', gtk.ICON_SIZE_BUTTON)
@@ -95,18 +94,14 @@ class DBListEditor(object):
         self.database_combo.add_attribute(cell, 'text', 0)
         self.database_combo.set_model(dbstore)
         self.database_combo.connect('changed', self.dbcombo_changed)
-        self.database_button = gtk.Button(_(u'Create'))
-        self.database_button.connect('clicked', self.db_create)
         self.database_progressbar = gtk.ProgressBar()
         self.database_progressbar.set_text(_(u'Fetching databases list'))
         image = gtk.Image()
         image.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON)
-        self.database_button.set_image(image)
         db_box = gtk.VBox(homogeneous=True)
         db_box.pack_start(self.database_entry)
         db_box.pack_start(self.database_combo)
         db_box.pack_start(self.database_label)
-        db_box.pack_start(self.database_button)
         db_box.pack_start(self.database_progressbar)
         # Compute size_request of box in order to prevent "form jumping"
         width, height = 0, 0
@@ -177,7 +172,6 @@ class DBListEditor(object):
         self.database_entry.hide()
         self.database_combo.hide()
         self.database_label.hide()
-        self.database_button.hide()
         self.database_progressbar.hide()
 
     def profile_create(self, button):
@@ -219,7 +213,7 @@ class DBListEditor(object):
             if field == 'database':
                 self.current_database = entry_value
 
-        self.display_dbwidget(None, None, self.current_database)
+        self.display_dbwidget(None, None)
 
     def edit_started(self, renderer, editable, path):
         if isinstance(editable, gtk.Entry):
@@ -266,7 +260,75 @@ class DBListEditor(object):
             for option in ('host', 'database'))
         model[selection][1] = active
 
-    def display_dbwidget(self, entry, event, dbname=None):
+    @classmethod
+    def test_server_version(cls, host, port):
+        '''
+        Tests if the server version is compatible with the client version
+        It returns None if no information on server version is available.
+        '''
+        version = rpc.server_version(host, port)
+        if not version:
+            return None
+        return version.split('.')[:2] == __version__.split('.')[:2]
+
+    def refresh_databases(self, host, port):
+        self.dbs_updated = threading.Event()
+        threading.Thread(target=self.refresh_databases_start,
+            args=(host, port)).start()
+        gobject.timeout_add(100, self.refresh_databases_end, host, port)
+
+    def refresh_databases_start(self, host, port):
+        dbs = None
+        try:
+            dbs = rpc.db_list(host, port)
+        except Exception:
+            pass
+        finally:
+            self.dbs = dbs
+            self.dbs_updated.set()
+
+    def refresh_databases_end(self, host, port):
+        if not self.dbs_updated.isSet():
+            self.database_progressbar.show()
+            self.database_progressbar.pulse()
+            return True
+        self.database_progressbar.hide()
+        dbs = self.dbs
+
+        label = None
+        if self.test_server_version(host, port) is False:
+            label = _(u'Incompatible version of the server')
+        elif dbs is None:
+            label = _(u'Could not connect to the server')
+        if label:
+            self.database_label.set_label('<b>%s</b>' % label)
+            self.database_label.show()
+        else:
+            liststore = self.database_combo.get_model()
+            liststore.clear()
+            index = -1
+            for db_num, db_name in enumerate(dbs):
+                liststore.append([db_name])
+                if self.current_database and db_name == self.current_database:
+                    index = db_num
+            if index == -1:
+                index = 0
+            self.database_combo.set_active(index)
+            dbs = len(dbs)
+            self.database_entry.set_text(self.current_database
+                if self.current_database else '')
+            self.database_combo.show()
+        self.db_cache = (host, port, self.current_profile['name'])
+
+        self.add_button.set_sensitive(True)
+        self.remove_button.set_sensitive(True)
+        self.ok_button.set_sensitive(True)
+        self.cell.set_property('editable', True)
+        self.host_entry.set_sensitive(True)
+        self.updating_db = False
+        return False
+
+    def display_dbwidget(self, entry, event):
         netloc = self.host_entry.get_text()
         host = common.get_hostname(netloc)
         if not host:
@@ -276,10 +338,7 @@ class DBListEditor(object):
             return
         if self.updating_db:
             return
-        if dbname is None:
-            dbname = self.current_database
 
-        dbprogress = common.DBProgress(host, port)
         self.hide_database_info()
         self.add_button.set_sensitive(False)
         self.remove_button.set_sensitive(False)
@@ -287,46 +346,7 @@ class DBListEditor(object):
         self.cell.set_property('editable', False)
         self.host_entry.set_sensitive(False)
         self.updating_db = True
-
-        def callback(dbs):
-            self.updating_db = False
-            self.db_cache = (host, port, self.current_profile['name'])
-
-            if dbs is None or dbs == -1:
-                if dbs is None:
-                    label = _(u'Could not connect to the server')
-                else:
-                    label = _(u'Incompatible version of the server')
-                self.database_label.set_label('<b>%s</b>' % label)
-                self.database_label.show()
-            elif dbs == 0:
-                self.database_button.show()
-            elif dbs == -2:
-                self.database_entry.show()
-            else:
-                self.database_entry.set_text(dbname if dbname else '')
-                self.database_combo.show()
-
-            self.add_button.set_sensitive(True)
-            self.remove_button.set_sensitive(True)
-            self.ok_button.set_sensitive(True)
-            self.cell.set_property('editable', True)
-            self.host_entry.set_sensitive(True)
-
-        dbprogress.update(self.database_combo,
-            self.database_progressbar, callback, dbname)
-
-    def db_create(self, button):
-        if not self.current_profile['name']:
-            return
-        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
-        self.username_entry.set_text('admin')
-        self.display_dbwidget(None, None, dbname)
+        self.refresh_databases(host, port)
 
     def dbcombo_changed(self, combobox):
         dbname = combobox.get_active_text()
@@ -359,22 +379,21 @@ class DBLogin(object):
         self.dialog = gtk.Dialog(title=_('Login'), parent=self.parent,
             flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
         self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
-        self.dialog.set_has_separator(True)
         self.dialog.set_icon(TRYTON_ICON)
 
         tooltips = common.Tooltips()
-        button_cancel = gtk.Button(_('_Cancel'))
+        button_cancel = gtk.Button(_('_Cancel'), use_underline=True)
         img_cancel = gtk.Image()
         img_cancel.set_from_stock('gtk-cancel', gtk.ICON_SIZE_BUTTON)
         button_cancel.set_image(img_cancel)
         tooltips.set_tip(button_cancel,
             _('Cancel connection to the Tryton server'))
         self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
-        self.button_connect = gtk.Button(_('C_onnect'))
+        self.button_connect = gtk.Button(_('C_onnect'), use_underline=True)
         img_connect = gtk.Image()
         img_connect.set_from_stock('tryton-connect', gtk.ICON_SIZE_BUTTON)
         self.button_connect.set_image(img_connect)
-        self.button_connect.set_flags(gtk.CAN_DEFAULT)
+        self.button_connect.set_can_default(True)
         tooltips.set_tip(self.button_connect, _('Connect the Tryton server'))
         self.dialog.add_action_widget(self.button_connect, gtk.RESPONSE_OK)
         self.dialog.set_default_response(gtk.RESPONSE_OK)
@@ -407,7 +426,8 @@ class DBLogin(object):
         self.profile_label.set_justify(gtk.JUSTIFY_RIGHT)
         self.profile_label.set_alignment(1, 0.5)
         self.profile_label.set_padding(3, 3)
-        self.profile_button = gtk.Button(_('_Manage profiles'))
+        self.profile_button = gtk.Button(_('_Manage profiles'),
+            use_underline=True)
         self.profile_button.connect('clicked', self.profile_manage)
         self.table_main.attach(self.profile_label, 0, 1, 1, 2,
             xoptions=gtk.FILL)
@@ -417,7 +437,8 @@ class DBLogin(object):
         image = gtk.Image()
         image.set_from_stock('gtk-edit', gtk.ICON_SIZE_BUTTON)
         self.profile_button.set_image(image)
-        self.expander = gtk.Expander(_('Host / Database information'))
+        self.expander = gtk.Expander()
+        self.expander.set_label(_('Host / Database information'))
         self.expander.connect('notify::expanded', self.expand_hostspec)
         self.table_main.attach(self.expander, 0, 3, 3, 4)
         self.label_host = gtk.Label(_('Host:'))
@@ -443,20 +464,10 @@ class DBLogin(object):
         self.table_main.attach(self.label_database, 0, 1, 5, 6,
             xoptions=gtk.FILL)
         self.table_main.attach(self.entry_database, 1, 3, 5, 6)
-        self.entry_password = gtk.Entry()
-        self.entry_password.set_visibility(False)
-        self.entry_password.set_activates_default(True)
-        self.table_main.attach(self.entry_password, 1, 3, 7, 8)
         self.entry_login = gtk.Entry()
         self.entry_login.set_activates_default(True)
         self.table_main.attach(self.entry_login, 1, 3, 6, 7)
-        label_password = gtk.Label(str=_("Password:"))
-        label_password.set_justify(gtk.JUSTIFY_RIGHT)
-        label_password.set_alignment(1, 0.5)
-        label_password.set_padding(3, 3)
-        label_password.set_mnemonic_widget(self.entry_password)
-        self.table_main.attach(label_password, 0, 1, 7, 8, xoptions=gtk.FILL)
-        label_username = gtk.Label(str=_("User name:"))
+        label_username = gtk.Label(_("User name:"))
         label_username.set_alignment(1, 0.5)
         label_username.set_padding(3, 3)
         label_username.set_mnemonic_widget(self.entry_login)
@@ -572,10 +583,7 @@ class DBLogin(object):
             self.entry_login.set_text(CONFIG['login.login'])
         self.dialog.show_all()
 
-        if not self.entry_login.get_text():
-            self.entry_login.grab_focus()
-        else:
-            self.entry_password.grab_focus()
+        self.entry_login.grab_focus()
 
         # Reshow dialog for gtk-quarks
         self.dialog.reshow_with_initial_size()
@@ -583,10 +591,10 @@ class DBLogin(object):
         # The previous action did not called expand_hostspec
         self.expand_hostspec(self.expander)
 
-        res, result = None, ('', '', '', '', '')
+        response, result = None, ('', '', '', '')
         while not all(result):
-            res = self.dialog.run()
-            if res != gtk.RESPONSE_OK:
+            response = self.dialog.run()
+            if response != gtk.RESPONSE_OK:
                 break
             active_profile = self.combo_profile.get_active()
             if active_profile != -1:
@@ -596,9 +604,14 @@ class DBLogin(object):
             host = common.get_hostname(netloc)
             port = common.get_port(netloc)
             try:
-                if not common.test_server_version(host, port):
-                    common.warning('',
-                        _(u'Incompatible version of the server'))
+                test = DBListEditor.test_server_version(host, port)
+                if not test:
+                    if test is False:
+                        common.warning('',
+                            _(u'Incompatible version of the server'))
+                    else:
+                        common.warning('',
+                            _(u'Could not connect to the server'))
                     continue
             except Exception, exception:
                 common.process_exception(exception)
@@ -610,12 +623,12 @@ class DBLogin(object):
             CONFIG['login.db'] = database
             CONFIG['login.expanded'] = self.expander.props.expanded
             CONFIG['login.login'] = login
-            result = (self.entry_login.get_text(),
-                self.entry_password.get_text(), host, port, database)
+            result = (
+                host, port, database, self.entry_login.get_text())
 
         self.parent.present()
         self.dialog.destroy()
-        if res != gtk.RESPONSE_OK:
+        if response != gtk.RESPONSE_OK:
             rpc.logout()
             raise TrytonError('QueryCanceled')
         return result
diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py
deleted file mode 100644
index 12fe330..0000000
--- a/tryton/gui/window/dbrestore.py
+++ /dev/null
@@ -1,207 +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 gettext
-import tryton.common as common
-from tryton.config import CONFIG
-import tryton.rpc as rpc
-
-_ = gettext.gettext
-
-
-class DBRestore(object):
-    def event_show_button_restore(self, widget, event, data=None):
-        """
-        This event method decide by rules if the restore button will be
-        sensitive or insensitive. The general rule is, all given fields
-        must be filled, then the restore button is set to sensitive. This
-        event method doesn't check the valid of single entrys.
-        """
-        if (self.entry_server_url.get_text() != ""
-                and self.entry_server_password.get_text() != ""
-                and self.entry_server_url.get_text() != ""
-                and self.entry_db_name.get_text() != ""):
-            widget.unset_flags(gtk.HAS_DEFAULT)
-            self.button_restore.set_sensitive(True)
-            self.button_restore.set_flags(gtk.CAN_DEFAULT)
-            self.button_restore.set_flags(gtk.HAS_DEFAULT)
-            self.button_restore.set_flags(gtk.CAN_FOCUS)
-            self.button_restore.set_flags(gtk.RECEIVES_DEFAULT)
-            self.button_restore.grab_default()
-        else:
-            self.button_restore.set_sensitive(False)
-
-    def entry_insert_text(self, entry, new_text, new_text_length, position):
-        """
-        This event method checks each text input for the PostgreSQL
-        database name. It allows the following rules:
-        - Allowed characters are alpha-nummeric [A-Za-z0-9] and underscore (_)
-        - First character must be a letter
-        """
-        if new_text.isalnum() or new_text == '_':
-            _hid = entry.get_data('handlerid')
-            entry.handler_block(_hid)
-            _pos = entry.get_position()
-            if _pos == 0 and not new_text.isalpha():
-                new_text = ""
-            _pos = entry.insert_text(new_text, _pos)
-            entry.handler_unblock(_hid)
-
-            def _move_cursor():
-                if not entry.props.window:
-                    return
-                with gtk.gdk.lock:
-                    entry.set_position(_pos)
-                    return False
-            gobject.idle_add(_move_cursor)
-        entry.stop_emission("insert-text")
-
-    def __init__(self, filename=None):
-        """
-        Database restore widget
-        """
-        self.parent = common.get_toplevel_window()
-        self.dialog = gtk.Dialog(title=_("Restore Database"),
-            parent=self.parent, flags=gtk.DIALOG_MODAL
-            | gtk.WIN_POS_CENTER_ON_PARENT)
-        vbox = gtk.VBox()
-        self.dialog.vbox.pack_start(vbox)
-        self.tooltips = common.Tooltips()
-        table = gtk.Table(6, 3, False)
-        table.set_border_width(9)
-        table.set_row_spacings(3)
-        table.set_col_spacings(3)
-        vbox.pack_start(table)
-        self.label_server_url = gtk.Label(_("Server Connection:"))
-        self.label_server_url.set_size_request(117, -1)
-        self.label_server_url.set_alignment(1, 0.5)
-        self.label_server_url.set_padding(3, 3)
-        table.attach(self.label_server_url, 0, 1, 0, 1, yoptions=gtk.FILL)
-        self.entry_server_url = gtk.Entry()
-        self.entry_server_url.set_sensitive(False)
-        self.entry_server_url.unset_flags(gtk.CAN_FOCUS)
-        self.entry_server_url.set_editable(False)
-        self.entry_server_url.set_activates_default(True)
-        self.entry_server_url.set_width_chars(16)
-        self.label_server_url.set_mnemonic_widget(self.entry_server_url)
-        self.tooltips.set_tip(self.entry_server_url, _("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."))
-        table.attach(self.entry_server_url, 1, 2, 0, 1, yoptions=gtk.FILL)
-        self.button_server_change = gtk.Button(_("C_hange"), stock=None,
-            use_underline=True)
-        img_button_server_change = gtk.Image()
-        img_button_server_change.set_from_stock(
-            'tryton-preferences-system', gtk.ICON_SIZE_BUTTON)
-        self.button_server_change.set_image(img_button_server_change)
-        self.tooltips.set_tip(self.button_server_change, _("Setup the "
-                "server connection..."))
-        table.attach(self.button_server_change, 2, 3, 0, 1, yoptions=gtk.FILL)
-        self.label_server_password = gtk.Label(_("Tryton Server Password:"))
-        self.label_server_password.set_justify(gtk.JUSTIFY_RIGHT)
-        self.label_server_password.set_alignment(1, 0.5)
-        self.label_server_password.set_padding(3, 3)
-        table.attach(self.label_server_password, 0, 1, 1, 2, yoptions=gtk.FILL)
-        self.entry_server_password = gtk.Entry()
-        self.entry_server_password.set_visibility(False)
-        self.entry_server_password.set_activates_default(True)
-        self.entry_server_password.set_width_chars(16)
-        self.label_server_password.set_mnemonic_widget(
-            self.entry_server_password)
-        self.tooltips.set_tip(self.entry_server_password, _("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."))
-        table.attach(self.entry_server_password, 1, 3, 1, 2, yoptions=gtk.FILL)
-        self.hseparator = gtk.HSeparator()
-        table.attach(self.hseparator, 0, 3, 2, 3, yoptions=gtk.FILL)
-        label_filename = gtk.Label()
-        label_filename.set_markup(_("File to Restore:"))
-        label_filename.set_alignment(1, 0.5)
-        table.attach(label_filename, 0, 1, 3, 4, yoptions=gtk.FILL)
-        entry_filename = gtk.Label()
-        entry_filename.set_markup("<tt>" + filename + "</tt>")
-        table.attach(entry_filename, 1, 3, 3, 4, yoptions=gtk.FILL)
-        self.entry_db_name = gtk.Entry()
-        self.entry_db_name.set_visibility(True)
-        self.entry_db_name.set_activates_default(True)
-        self.entry_db_name.set_width_chars(16)
-        self.entry_db_name.set_max_length(63)
-        handlerid = self.entry_db_name.connect("insert-text",
-            self.entry_insert_text)
-        self.entry_db_name.set_data('handlerid', handlerid)
-        self.tooltips.set_tip(self.entry_db_name, _("Choose the name of "
-                "the database to be restored.\n"
-                "Allowed characters are alphanumerical or _ (underscore)\n"
-                "You need to avoid all accents, space or special "
-                "characters! \nExample: tryton"))
-        table.attach(self.entry_db_name, 1, 3, 4, 5, yoptions=gtk.FILL)
-        label_db_name = gtk.Label(_("New Database Name:"))
-        label_db_name.set_alignment(1, 0.5)
-        label_db_name.set_mnemonic_widget(self.entry_db_name)
-        table.attach(label_db_name, 0, 1, 4, 5, yoptions=gtk.FILL)
-        label_db_update = gtk.Label(_('Update Database:'))
-        label_db_update.set_alignment(1, 0.5)
-        table.attach(label_db_update, 0, 1, 5, 6, yoptions=gtk.FILL)
-        self.check_update = gtk.CheckButton()
-        label_db_update.set_mnemonic_widget(self.check_update)
-        self.tooltips.set_tip(self.check_update, _('Check for an automatic '
-                'database update after restoring a database from a previous '
-                'Tryton version.'))
-        self.check_update.set_active(True)
-        table.attach(self.check_update, 1, 3, 5, 6, yoptions=gtk.FILL)
-        # Buttons and events
-        self.dialog.connect("key-press-event",
-            self.event_show_button_restore)
-        self.dialog.add_button("gtk-cancel",
-            gtk.RESPONSE_CANCEL)
-        self.button_restore = gtk.Button(_('Restore'))
-        self.button_restore.set_flags(gtk.CAN_DEFAULT)
-        self.button_restore.set_flags(gtk.HAS_DEFAULT)
-        self.button_restore.set_sensitive(False)
-        img_restore = gtk.Image()
-        img_restore.set_from_stock('tryton-folder-saved-search',
-            gtk.ICON_SIZE_BUTTON)
-        self.button_restore.set_image(img_restore)
-        self.tooltips.set_tip(self.button_restore,
-            _('Restore the database from file.'))
-        self.dialog.add_action_widget(self.button_restore, gtk.RESPONSE_OK)
-        self.dialog.set_default_response(gtk.RESPONSE_OK)
-
-        self.entry_server_password.grab_focus()
-
-    def run(self):
-        """
-        Database Restore widget run part
-        """
-        self.dialog.show_all()
-
-        self.entry_server_url.set_text('%(login.server)s:%(login.port)s' %
-            CONFIG)
-        while True:
-            database = False
-            passwd = False
-            url = False
-            update = False
-            # 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)
-            res = self.dialog.run()
-            if res == gtk.RESPONSE_OK:
-                database = self.entry_db_name.get_text()
-                url = self.entry_server_url.get_text()
-                passwd = self.entry_server_password.get_text()
-                update = self.check_update.get_active()
-                break
-            else:
-                self.dialog.destroy()
-                rpc.logout()
-                break
-        self.parent.present()
-        self.dialog.destroy()
-
-        return url, database, passwd, update
diff --git a/tryton/gui/window/email.py b/tryton/gui/window/email.py
index 57e41ec..4b40be0 100644
--- a/tryton/gui/window/email.py
+++ b/tryton/gui/window/email.py
@@ -19,7 +19,6 @@ class Email(object):
                 gtk.RESPONSE_OK))
         self.win.set_default_response(gtk.RESPONSE_OK)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(True)
         self.win.vbox.set_spacing(3)
         self.win.vbox.pack_start(gtk.Label(
             _('Email Program Settings')), expand=False, fill=True)
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index 5bceecb..02ee6d0 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -92,7 +92,7 @@ class Form(SignalEvent, TabContent):
     ]
 
     def __init__(self, model, res_id=False, domain=None, order=None, mode=None,
-            view_ids=None, context=None, name=False, limit=None,
+            view_ids=None, context=None, name='', limit=None,
             search_value=None, tab_domain=None, context_model=None):
         super(Form, self).__init__()
 
@@ -117,10 +117,7 @@ class Form(SignalEvent, TabContent):
             context_model=context_model)
         self.screen.widget.show()
 
-        if not name:
-            self.name = self.screen.current_view.title
-        else:
-            self.name = name
+        self.name = name
 
         if self.model not in common.MODELHISTORY:
             self.menu_def = self.menu_def[:]
@@ -133,9 +130,6 @@ class Form(SignalEvent, TabContent):
         self.url_entry = url_entry = gtk.Entry()
         url_entry.show()
         url_entry.set_editable(False)
-        style = url_entry.get_style()
-        url_entry.modify_bg(gtk.STATE_ACTIVE,
-            style.bg[gtk.STATE_INSENSITIVE])
         self.widget.pack_start(url_entry, False, False)
 
         self.set_buttons_sensitive()
@@ -351,6 +345,7 @@ class Form(SignalEvent, TabContent):
                 self.message_info(_('Records not removed.'), gtk.MESSAGE_ERROR)
             else:
                 self.message_info(_('Records removed.'), gtk.MESSAGE_INFO)
+                self.screen.count_tab_domain()
 
     def sig_import(self, widget=None):
         WinImport(self.model, self.screen.context)
@@ -380,6 +375,7 @@ class Form(SignalEvent, TabContent):
         if self.screen.copy():
             self.message_info(_('Working now on the duplicated record(s).'),
                 gtk.MESSAGE_INFO)
+            self.screen.count_tab_domain()
 
     def sig_save(self, widget=None):
         if widget:
@@ -390,6 +386,7 @@ class Form(SignalEvent, TabContent):
             return
         if self.screen.save_current():
             self.message_info(_('Record saved.'), gtk.MESSAGE_INFO)
+            self.screen.count_tab_domain()
             return True
         else:
             self.message_info(self.screen.invalid_message(), gtk.MESSAGE_ERROR)
@@ -429,6 +426,7 @@ class Form(SignalEvent, TabContent):
         self.screen.display(set_cursor=set_cursor)
         self.message_info()
         self.activate_save()
+        self.screen.count_tab_domain()
         return True
 
     def sig_action(self, widget):
@@ -464,17 +462,16 @@ class Form(SignalEvent, TabContent):
             menu.popdown()
             return
 
-        def menu_position(menu):
-            parent = widget.get_toplevel()
-            parent_x, parent_y = parent.window.get_origin()
+        def menu_position(menu, data):
+            x, y = widget.window.get_origin()
             widget_allocation = widget.get_allocation()
             return (
-                widget_allocation.x + parent_x,
-                widget_allocation.y + widget_allocation.height + parent_y,
-                False
-            )
+                x + widget_allocation.x,
+                y + widget_allocation.y + widget_allocation.height,
+                False)
         menu.show_all()
-        menu.popup(None, None, menu_position, 0, 0)
+        menu.popup(None, None, menu_position, 0, gtk.get_current_event_time(),
+            None)
 
     def _record_message(self, screen, signal_data):
         name = '_'
@@ -551,9 +548,10 @@ class Form(SignalEvent, TabContent):
         gtktoolbar = super(Form, self).create_toolbar(toolbars)
 
         attach_btn = self.buttons['attach']
+        target_entry = gtk.TargetEntry.new('text/uri-list', 0, 0)
         attach_btn.drag_dest_set(gtk.DEST_DEFAULT_ALL, [
-                ('text/uri-list', 0, 0),
-                ], gtk.gdk.ACTION_MOVE)
+                target_entry,
+                ], gtk.gdk.ACTION_MOVE | gtk.gdk.ACTION_COPY)
         attach_btn.connect('drag_data_received',
             self.attach_drag_data_received)
 
@@ -635,9 +633,13 @@ class Form(SignalEvent, TabContent):
         if buttons:
             menu.add(gtk.SeparatorMenuItem())
         for button in buttons:
-            menuitem = gtk.ImageMenuItem(button.attrs.get('icon'))
+            menuitem = gtk.ImageMenuItem()
             menuitem.set_label('_' + button.attrs.get('string', _('Unknown')))
             menuitem.set_use_underline(True)
+            if button.attrs.get('icon'):
+                icon = gtk.Image()
+                icon.set_from_stock(button.attrs['icon'], gtk.ICON_SIZE_MENU)
+                menuitem.set_image(icon)
             menuitem.connect('activate',
                 lambda m, attrs: self.screen.button(attrs), button.attrs)
             menuitem._update_action = True
diff --git a/tryton/gui/window/limit.py b/tryton/gui/window/limit.py
index f13c134..e3532f0 100644
--- a/tryton/gui/window/limit.py
+++ b/tryton/gui/window/limit.py
@@ -20,7 +20,6 @@ class Limit(object):
                 gtk.RESPONSE_OK))
         self.win.set_default_response(gtk.RESPONSE_OK)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(True)
         self.win.vbox.set_spacing(3)
         self.win.vbox.pack_start(gtk.Label(
             _('Search Limit Settings')), expand=False, fill=True)
@@ -30,7 +29,8 @@ class Limit(object):
         hbox.pack_start(label, expand=True, fill=True)
         adjustment = gtk.Adjustment(value=CONFIG['client.limit'],
             lower=1, upper=sys.maxint, step_incr=10, page_incr=100)
-        self.spin_limit = gtk.SpinButton(adjustment, climb_rate=1, digits=0)
+        self.spin_limit = gtk.SpinButton()
+        self.spin_limit.configure(adjustment, climb_rate=1, digits=0)
         self.spin_limit.set_numeric(False)
         self.spin_limit.set_activates_default(True)
         label.set_mnemonic_widget(self.spin_limit)
diff --git a/tryton/gui/window/note.py b/tryton/gui/window/note.py
index efac25b..bf0f2eb 100644
--- a/tryton/gui/window/note.py
+++ b/tryton/gui/window/note.py
@@ -1,9 +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.
+import gettext
 
 from tryton.gui.window.view_form.screen import Screen
 from tryton.gui.window.win_form import WinForm
 
+_ = gettext.gettext
+
 
 class Note(WinForm):
     "Note window"
@@ -11,13 +14,12 @@ class Note(WinForm):
     def __init__(self, record, callback=None):
         self.resource = '%s,%s' % (record.model_name, record.id)
         self.note_callback = callback
-        context = record.context_get()
-        context['resource'] = self.resource
+        title = _('Notes (%s)') % (record.rec_name())
         screen = Screen('ir.note', domain=[
                 ('resource', '=', self.resource),
-                ], mode=['tree', 'form'], context=context,
-            exclude_field='resource')
-        super(Note, self).__init__(screen, self.callback, view_type='tree')
+                ], mode=['tree', 'form'], exclude_field='resource')
+        super(Note, self).__init__(screen, self.callback, view_type='tree',
+            title=title)
         screen.search_filter()
 
     def destroy(self):
diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py
index d81f789..394f567 100644
--- a/tryton/gui/window/preference.py
+++ b/tryton/gui/window/preference.py
@@ -6,9 +6,9 @@ import gtk
 import copy
 from tryton.gui.window.view_form.screen import Screen
 from tryton.config import TRYTON_ICON
-import tryton.common as common
-from tryton.common import RPCExecute, RPCException
+from tryton.common import RPCExecute, RPCException, process_exception, Login
 from tryton.gui.window.nomodal import NoModal
+from tryton.exceptions import TrytonError
 import tryton.rpc as rpc
 
 _ = gettext.gettext
@@ -23,7 +23,6 @@ class Preference(NoModal):
         self.win = gtk.Dialog(_('Preferences'), self.parent,
             gtk.DIALOG_DESTROY_WITH_PARENT)
         self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
-        self.win.set_has_separator(False)
         self.win.set_icon(TRYTON_ICON)
 
         self.accel_group = gtk.AccelGroup()
@@ -65,6 +64,7 @@ class Preference(NoModal):
             self.win.destroy()
             self.win = None
             return
+        self.screen.current_record.cancel()
         self.screen.current_record.set(preferences)
         self.screen.current_record.id = rpc._USER
         self.screen.current_record.validate(softvalidation=True)
@@ -84,17 +84,16 @@ class Preference(NoModal):
         if response_id == gtk.RESPONSE_OK:
             if self.screen.current_record.validate():
                 vals = copy.copy(self.screen.get())
-                if 'password' in vals:
-                    password = common.ask(_('Current Password:'),
-                        visibility=False)
-                    if not password:
-                        return
-                else:
-                    password = False
+                context = rpc.CONTEXT.copy()
+                func = lambda parameters: rpc.execute(
+                    'model', 'res.user', 'set_preferences', vals, parameters,
+                    context)
                 try:
-                    RPCExecute('model', 'res.user', 'set_preferences',
-                        vals, password)
-                except RPCException:
+                    Login(func)
+                except TrytonError, exception:
+                    if exception.faultCode == 'QueryCanceled':
+                        return
+                    process_exception(exception)
                     return
         self.parent.present()
         self.destroy()
diff --git a/tryton/gui/window/revision.py b/tryton/gui/window/revision.py
index 3b8af89..c2aaaac 100644
--- a/tryton/gui/window/revision.py
+++ b/tryton/gui/window/revision.py
@@ -22,7 +22,6 @@ class Revision(object):
                 gtk.STOCK_OK, gtk.RESPONSE_OK))
         self.win.set_default_response(gtk.RESPONSE_OK)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(True)
         self.win.vbox.set_spacing(3)
         self.win.vbox.pack_start(gtk.Label(
                 _('Select a revision')), expand=False, fill=True)
diff --git a/tryton/gui/window/shortcuts.py b/tryton/gui/window/shortcuts.py
index d89de2c..700086b 100644
--- a/tryton/gui/window/shortcuts.py
+++ b/tryton/gui/window/shortcuts.py
@@ -19,7 +19,6 @@ class Shortcuts(object):
             | gtk.WIN_POS_CENTER_ON_PARENT | gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
             (gtk.STOCK_OK, gtk.RESPONSE_OK))
         self.dialog.set_icon(TRYTON_ICON)
-        self.dialog.set_has_separator(True)
         self.dialog.set_default_response(gtk.RESPONSE_OK)
         notebook = gtk.Notebook()
         self.dialog.vbox.pack_start(notebook)
@@ -69,8 +68,8 @@ class Shortcuts(object):
             ('+', _('Expand row')),
             ('-', _('Collapse row')),
             ('<Space>', _('Toggle row')),
-            ('<Shift> + <Left>', _('Expand all rows')),
-            ('<Shift> + <Right>', _('Collapse all rows')),
+            ('<Shift> + <Left>', _('Collapse all rows')),
+            ('<Shift> + <Right>', _('Expand all rows')),
             ]
         notebook.append_page(self._fill_table(shortcuts),
                 gtk.Label(_('Tree view')))
diff --git a/tryton/gui/window/tabcontent.py b/tryton/gui/window/tabcontent.py
index d077067..eb3a716 100644
--- a/tryton/gui/window/tabcontent.py
+++ b/tryton/gui/window/tabcontent.py
@@ -26,9 +26,6 @@ class TabContent(InfoBar):
         title_box = self.make_title_bar()
         self.widget.pack_start(title_box, expand=False, fill=True, padding=3)
 
-        self.create_info_bar()
-        self.widget.pack_start(self.info_bar, False, True)
-
         self.toolbar = self.create_toolbar(self.get_toolbars())
         self.toolbar.show_all()
         self.widget.pack_start(self.toolbar, False, True)
@@ -46,6 +43,9 @@ class TabContent(InfoBar):
 
         self.widget.pack_start(self.scrolledwindow)
 
+        self.create_info_bar()
+        self.widget.pack_start(self.info_bar, False, True)
+
     def make_title_bar(self):
         self.title = title = gtk.Label()
         title.modify_font(pango.FontDescription("bold 14"))
@@ -123,6 +123,7 @@ class TabContent(InfoBar):
         for label, stock_id, callback, accel_path in self.menu_def:
             if label:
                 menuitem = gtk.ImageMenuItem(label, self.accel_group)
+                menuitem.set_use_underline(True)
                 if callback:
                     menuitem.connect('activate', getattr(self, callback))
                 else:
diff --git a/tryton/gui/window/tips.py b/tryton/gui/window/tips.py
index 8fa031a..10cae56 100644
--- a/tryton/gui/window/tips.py
+++ b/tryton/gui/window/tips.py
@@ -46,7 +46,6 @@ You can save any graphs in PNG file with right-click on it.
                 gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
         self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(True)
         self.win.set_default_size(500, 400)
 
         self.win.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index ddd801c..d34a608 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -73,16 +73,13 @@ class Action(SignalEvent):
             view_ids=view_ids, domain=self.domain,
             search_value=search_value, row_activate=self.row_activate)
         vbox.pack_start(self.screen.widget, expand=True, fill=True)
-        name = self.screen.current_view.title
         self.screen.signal_connect(self, 'record-message',
             self._active_changed)
 
         if attrs.get('string'):
             self.title.set_text(attrs['string'])
-        elif self.action.get('window_name'):
-            self.title.set_text(self.action['name'])
         else:
-            self.title.set_text(name)
+            self.title.set_text(self.action['name'])
 
         self.widget.set_size_request(int(attrs.get('width', -1)),
                 int(attrs.get('height', -1)))
diff --git a/tryton/gui/window/view_board/view_board.py b/tryton/gui/window/view_board/view_board.py
index aa0505b..d800455 100644
--- a/tryton/gui/window/view_board/view_board.py
+++ b/tryton/gui/window/view_board/view_board.py
@@ -16,7 +16,6 @@ class ViewBoard(object):
 
     def __init__(self, arch, context=None):
         self.context = context
-        self.widgets = []
         self.actions = []
 
         xml_dom = xml.dom.minidom.parseString(arch)
@@ -154,10 +153,6 @@ class ViewBoard(object):
         self.actions.append(action)
         container.add(action.widget, attributes)
 
-    @property
-    def title(self):
-        self.attributes.get('string', '')
-
     def widget_get(self):
         return self.widget
 
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index cff6894..ebb8137 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -723,8 +723,6 @@ class O2MField(Field):
         return screen_domain
 
     def validate(self, record, softvalidation=False, pre_validate=None):
-        if self.attrs.get('readonly'):
-            return True
         invalid = False
         ldomain = localize_domain(domain_inversion(
                 record.group.clean4inversion(pre_validate or []), self.name,
@@ -750,16 +748,15 @@ class O2MField(Field):
     def state_set(self, record, states=('readonly', 'required', 'invisible')):
         self._set_default_value(record)
         super(O2MField, self).state_set(record, states=states)
-        record.value[self.name].readonly = self.get_state_attrs(record).get(
-            'readonly', False)
 
     def get_removed_ids(self, record):
         return [x.id for x in record.value[self.name].record_removed]
 
     def domain_get(self, record):
         screen_domain, attr_domain = self.domains_get(record)
-        return concat(localize_domain(inverse_leaf(screen_domain), self.name),
-            attr_domain)
+        # Forget screen_domain because it only means at least one record
+        # and not all records
+        return attr_domain
 
 
 class M2MField(O2MField):
@@ -840,6 +837,13 @@ class ReferenceField(Field):
         record.value[self.name] = ref_model, ref_id
         record.value[self.name + '.rec_name'] = rec_name
 
+    def context_get(self, record):
+        context = super(ReferenceField, self).context_get(record)
+        if self.attrs.get('datetime_field'):
+            context['_datetime'] = record.get_eval(
+                )[self.attrs.get('datetime_field')]
+        return context
+
     def get_on_change_value(self, record):
         if record.parent_name == self.name and record.parent:
             return record.parent.model_name, record.parent.get_on_change_value(
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 0724c67..72584ae 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -294,11 +294,31 @@ class Group(SignalEvent, list):
         return record
 
     def set_sequence(self, field='sequence'):
-        index = 0
         changed = False
+        prev = None
         for record in self:
-            if record[field]:
-                if index >= record[field].get(record):
+            # Assume not loaded records are correctly ordered
+            # as far as we do not change any previous records.
+            if (record.get_loaded([field]) and not changed) or record.id < 0:
+                if prev:
+                    index = prev[field].get(prev)
+                else:
+                    index = None
+                update = False
+                value = record[field].get(record)
+                if value is None:
+                    if index:
+                        update = True
+                    elif prev and record.id >= 0:
+                        update = record.id < prev.id
+                if value == index:
+                    if prev and record.id >= 0:
+                        update = record.id < prev.id
+                elif value < index:
+                    update = True
+                if update:
+                    if index is None:
+                        index = 0
                     index += 1
                     record.signal_unconnect(self, 'record-changed')
                     try:
@@ -307,15 +327,14 @@ class Group(SignalEvent, list):
                         record.signal_connect(self, 'record-changed',
                             self._record_changed)
                     changed = record
-                else:
-                    index = record[field].get(record)
+            prev = record
         if changed:
             self.signal('group-changed', changed)
 
-    def new(self, default=True, obj_id=None):
+    def new(self, default=True, obj_id=None, rec_name=None):
         record = Record(self.model_name, obj_id, group=self)
         if default:
-            record.default_get()
+            record.default_get(rec_name=rec_name)
         record.signal_connect(self, 'record-changed', self._record_changed)
         record.signal_connect(self, 'record-modified', self._record_modified)
         return record
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 18fb6a2..de92742 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -32,6 +32,7 @@ class Record(SignalEvent):
         self._timestamp = None
         self.attachment_count = -1
         self.unread_note = -1
+        self.button_clicks = {}
         self.next = {}  # Used in Group list
         self.value = {}
         self.autocompletion = {}
@@ -196,6 +197,17 @@ class Record(SignalEvent):
         path.reverse()
         return tuple(path)
 
+    def get_index_path(self, group=None):
+        path = []
+        record = self
+        while record:
+            path.append(record.group.index(record))
+            if record.group is group:
+                break
+            record = record.parent
+        path.reverse()
+        return tuple(path)
+
     def get_removed(self):
         if self.group is not None:
             return self in self.group.record_removed
@@ -272,6 +284,7 @@ class Record(SignalEvent):
         self._loaded.clear()
         self.modified_fields.clear()
         self._timestamp = None
+        self.button_clicks.clear()
 
     def get_timestamp(self):
         result = {self.model_name + ',' + str(self.id): self._timestamp}
@@ -350,11 +363,13 @@ class Record(SignalEvent):
             root_group.reload(reload_ids)
         return True
 
-    def default_get(self):
+    def default_get(self, rec_name=None):
         if len(self.group.fields):
+            context = self.context_get()
+            context.setdefault('default_rec_name', rec_name)
             try:
                 vals = RPCExecute('model', self.model_name, 'default_get',
-                    self.group.fields.keys(), context=self.context_get())
+                    self.group.fields.keys(), context=context)
             except RPCException:
                 return
             if (self.parent
@@ -434,8 +449,9 @@ class Record(SignalEvent):
         if signal:
             self.signal('record-changed')
 
-    def set(self, val, signal=True):
+    def set(self, val, signal=True, validate=True):
         later = {}
+        fieldnames = []
         for fieldname, value in val.iteritems():
             if fieldname == '_timestamp':
                 # Always keep the older timestamp
@@ -458,9 +474,15 @@ class Record(SignalEvent):
                     del self.value[field_rec_name]
             self.group.fields[fieldname].set(self, value)
             self._loaded.add(fieldname)
+            fieldnames.append(fieldname)
         for fieldname, value in later.iteritems():
             self.group.fields[fieldname].set(self, value)
             self._loaded.add(fieldname)
+        for fieldname, fieldinfo in self.group.fields.iteritems():
+            if fieldinfo.attrs.get('autocomplete'):
+                self.do_autocomplete(fieldname)
+        if validate:
+            self.validate(fieldnames, softvalidation=True)
         if signal:
             self.signal('record-changed')
 
@@ -633,6 +655,20 @@ class Record(SignalEvent):
                 return 0
         return self.unread_note
 
+    def get_button_clicks(self, name):
+        if self.id < 0:
+            return
+        clicks = self.button_clicks.get(name)
+        if clicks is not None:
+            return clicks
+        try:
+            clicks = RPCExecute('model', 'ir.model.button.click',
+                'get_click', self.model_name, name, self.id)
+            self.button_clicks[name] = clicks
+        except RPCException:
+            return
+        return clicks
+
     def destroy(self):
         for v in self.value.itervalues():
             if hasattr(v, 'destroy'):
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index c79c2de..f7f7492 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -2,13 +2,11 @@
 # this repository contains the full copyright notices and license terms.
 "Screen"
 import copy
+import functools
 import gobject
 import datetime
 import calendar
-try:
-    import simplejson as json
-except ImportError:
-    import json
+import json
 import collections
 import urllib
 import urlparse
@@ -113,12 +111,12 @@ class Screen(SignalEvent):
 
             def remove_bin(widget):
                 assert isinstance(widget, (gtk.ScrolledWindow, gtk.Viewport))
-                parent = widget.parent
+                parent = widget.get_parent()
                 parent.remove(widget)
                 child = widget.get_child()
                 while isinstance(child, (gtk.ScrolledWindow, gtk.Viewport)):
                     child = child.get_child()
-                child.parent.remove(child)
+                child.get_parent().remove(child)
                 parent.add(child)
                 return child
 
@@ -138,13 +136,14 @@ class Screen(SignalEvent):
         self.__current_view = 0
         self.search_value = search_value
         self.fields_view_tree = {}
-        self.order = order
+        self.order = self.default_order = order
         self.view_to_load = []
         self._domain_parser = {}
         self.pre_validate = False
         self.view_to_load = mode[:]
         if view_ids or mode:
             self.switch_view()
+        self.count_tab_domain()
 
     def __repr__(self):
         return '<Screen %s at %s>' % (self.model_name, id(self))
@@ -252,29 +251,7 @@ class Screen(SignalEvent):
             context.update(self.context_screen.get_on_change_value())
             self.new_group(context)
 
-        domain = []
-
-        if self.domain_parser and not self.parent:
-            if search_string is not None:
-                domain = self.domain_parser.parse(search_string)
-            else:
-                domain = self.search_value
-            self.screen_container.set_text(self.domain_parser.string(domain))
-        else:
-            domain = [('id', 'in', [x.id for x in self.group])]
-
-        if domain:
-            if self.domain:
-                domain = ['AND', domain, self.domain]
-        else:
-            domain = self.domain
-
-        if self.current_view.view_type == 'calendar':
-            if domain:
-                domain = ['AND', domain, self.current_view.current_domain()]
-            else:
-                domain = self.current_view.current_domain()
-
+        domain = self.search_domain(search_string, True)
         tab_domain = self.screen_container.get_tab_domain()
         if tab_domain:
             domain = ['AND', domain, tab_domain]
@@ -303,8 +280,50 @@ class Screen(SignalEvent):
             return ids
         self.clear()
         self.load(ids)
+        self.count_tab_domain()
         return bool(ids)
 
+    def search_domain(self, search_string=None, set_text=False):
+        domain = []
+        # Test first parent to avoid calling unnecessary domain_parser
+        if not self.parent and self.domain_parser:
+            if search_string is not None:
+                domain = self.domain_parser.parse(search_string)
+            else:
+                domain = self.search_value
+            if set_text:
+                self.screen_container.set_text(
+                    self.domain_parser.string(domain))
+        else:
+            domain = [('id', 'in', [x.id for x in self.group])]
+
+        if domain:
+            if self.domain:
+                domain = ['AND', domain, self.domain]
+        else:
+            domain = self.domain
+
+        if self.current_view and self.current_view.view_type == 'calendar':
+            if domain:
+                domain = ['AND', domain, self.current_view.current_domain()]
+            else:
+                domain = self.current_view.current_domain()
+        return domain
+
+    def count_tab_domain(self):
+        def set_tab_counter(count, idx):
+            self.screen_container.set_tab_counter(count(), idx)
+        screen_domain = self.search_domain(self.screen_container.get_text())
+        for idx, (name, domain, count) in enumerate(
+                self.screen_container.tab_domain):
+            if not count:
+                continue
+            domain = ['AND', domain, screen_domain]
+            set_tab_counter(lambda: None, idx)
+            RPCExecute('model', self.model_name,
+                'search_count', domain, context=self.context,
+                callback=functools.partial(set_tab_counter, idx=idx))
+
     @property
     def context(self):
         return self.group.context
@@ -369,16 +388,14 @@ class Screen(SignalEvent):
 
     def __set_current_record(self, record):
         self.__current_record = record
-        try:
-            pos = self.group.index(record) + self.offset + 1
-        except ValueError:
-            pos = []
-            i = record
-            while i:
-                pos.append(i.group.index(i) + 1)
-                i = i.parent
-            pos.reverse()
-            pos = tuple(pos)
+        if record:
+            try:
+                pos = self.group.index(record) + self.offset + 1
+            except ValueError:
+                # XXX offset?
+                pos = record.get_index_path()
+        else:
+            pos = None
         self.signal('record-message', (pos or 0, len(self.group) + self.offset,
             self.search_count, record and record.id))
         attachment_count = 0
@@ -413,10 +430,11 @@ class Screen(SignalEvent):
         return False
 
     def destroy(self):
-        self.group.destroy()
         for view in self.views:
             view.destroy()
+        del self.views[:]
         super(Screen, self).destroy()
+        self.group.destroy()
 
     def default_row_activate(self):
         if (self.current_view.view_type == 'tree' and
@@ -516,7 +534,7 @@ class Screen(SignalEvent):
 
         return view
 
-    def new(self, default=True):
+    def new(self, default=True, rec_name=None):
         previous_view = self.current_view
         if self.current_view.view_type == 'calendar':
             selected_date = self.current_view.get_selected_date()
@@ -528,7 +546,7 @@ class Screen(SignalEvent):
             group = self.current_record.group
         else:
             group = self.group
-        record = group.new(default)
+        record = group.new(default, rec_name=rec_name)
         group.add(record, self.new_model_position())
         if previous_view.view_type == 'calendar':
             previous_view.set_default_date(record, selected_date)
@@ -553,7 +571,7 @@ class Screen(SignalEvent):
         if self.current_record:
             self.current_record.cancel()
             if self.current_record.id < 0:
-                self.remove()
+                self.remove(records=[self.current_record])
 
     def save_current(self):
         if not self.current_record:
@@ -635,8 +653,9 @@ class Screen(SignalEvent):
         for record in records:
             self.group.unremove(record)
 
-    def remove(self, delete=False, remove=False, force_remove=False):
-        records = self.selected_records
+    def remove(self, delete=False, remove=False, force_remove=False,
+            records=None):
+        records = records or self.selected_records
         if not records:
             return
         if delete:
@@ -701,7 +720,12 @@ class Screen(SignalEvent):
             return
         if view.view_type == 'form' and self.tree_states_done:
             return
+        if (view.view_type == 'tree'
+                and not view.attributes.get('tree_state', False)):
+            return
         parent = self.parent.id if self.parent else None
+        if parent is not None and parent < 0:
+            return
         expanded_nodes, selected_nodes = [], []
         timestamp = self.parent._timestamp if self.parent else None
         state = self.tree_states[parent][view.children_field]
diff --git a/tryton/gui/window/view_form/view/__init__.py b/tryton/gui/window/view_form/view/__init__.py
index cbca0ab..b06737b 100644
--- a/tryton/gui/window/view_form/view/__init__.py
+++ b/tryton/gui/window/view_form/view/__init__.py
@@ -30,10 +30,6 @@ class View(object):
     def get_buttons(self):
         raise NotImplementedError
 
-    @property
-    def title(self):
-        return self.attributes.get('string', '')
-
     @staticmethod
     def parse(screen, xml, children_field):
         from .list import ViewTree
diff --git a/tryton/gui/window/view_form/view/calendar_.py b/tryton/gui/window/view_form/view/calendar_.py
index f1818d5..de9bd60 100644
--- a/tryton/gui/window/view_form/view/calendar_.py
+++ b/tryton/gui/window/view_form/view/calendar_.py
@@ -11,7 +11,7 @@ from . import View
 try:
     from .calendar_gtk.calendar_ import Calendar_
     from .calendar_gtk.toolbar import Toolbar
-except ImportError:
+except ImportError, e:
     Calendar_ = None
     Toolbar = None
 
@@ -82,8 +82,8 @@ class ViewCalendar(View):
         self.screen.switch_view('form')
 
     def on_event_released(self, goocalendar, event):
-        dtstart = self.attributes.get('dtstart')
-        dtend = self.attributes.get('dtend') or dtstart
+        dtstart = self.attributes['dtstart']
+        dtend = self.attributes.get('dtend')
         record = event.record
         group = record.group
         previous_start = record[dtstart].get(record)
@@ -93,12 +93,12 @@ class ViewCalendar(View):
             new_start = event.start.date()
             new_end = event.end.date() if event.end else None
         if previous_start <= new_start:
-            if new_end:
+            if dtend:
                 group.fields[dtend].set_client(record, new_end)
             group.fields[dtstart].set_client(record, new_start)
         else:
             group.fields[dtstart].set_client(record, new_start)
-            if new_end:
+            if dtend:
                 group.fields[dtend].set_client(record, new_end)
         goocalendar.select(new_start)
         record.save()
@@ -141,13 +141,6 @@ class ViewCalendar(View):
     @goocalendar_required
     def display(self):
         self.widgets['goocalendar'].display(self.screen.group)
-        gtkcal = self.widgets['toolbar'].gtkcal
-        if gtkcal and not gtkcal.is_drawable():
-            import goocanvas
-            # disable gtk.Calendar if it is not drawable anymore
-            self.widgets['toolbar'].gtkcal_item.set_property('visibility',
-                goocanvas.ITEM_INVISIBLE)
-            self.widgets['toolbar'].current_page.set_active(False)
 
     def set_cursor(self, new=False, reset_view=True):
         pass
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 e2e35cc..e3cb774 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
@@ -10,7 +10,8 @@ class Calendar_(goocalendar.Calendar):
     'Calendar'
 
     def __init__(self, attrs, screen, fields, event_store=None):
-        super(Calendar_, self).__init__(event_store)
+        super(Calendar_, self).__init__(
+            event_store, attrs.get('mode', 'month'))
         self.attrs = attrs
         self.screen = screen
         self.fields = fields
@@ -18,7 +19,7 @@ class Calendar_(goocalendar.Calendar):
         self.current_domain_period = self.get_displayed_period()
 
     def set_default_date(self, record, selected_date):
-        dtstart = self.attrs.get('dtstart')
+        dtstart = self.attrs['dtstart']
         record[dtstart].set(record, datetime.datetime.combine(selected_date,
             datetime.time(0)))
 
@@ -49,7 +50,7 @@ class Calendar_(goocalendar.Calendar):
     def current_domain(self):
         first_datetime, last_datetime = \
             self.current_domain_period.get_dates(True)
-        dtstart = self.attrs.get('dtstart')
+        dtstart = self.attrs['dtstart']
         dtend = self.attrs.get('dtend') or dtstart
         domain = ['OR',
             ['AND', (dtstart, '>=', first_datetime),
@@ -60,9 +61,19 @@ class Calendar_(goocalendar.Calendar):
                 (dtend, '>', last_datetime)]]
         return domain
 
+    def get_colors(self, record):
+        text_color = None
+        if self.attrs.get('color'):
+            text_color = record[self.attrs['color']].get(record)
+        bg_color = 'lightblue'
+        if self.attrs.get('background_color'):
+            bg_color = record[self.attrs['background_color']].get(
+                record)
+        return text_color, bg_color
+
     def display(self, group):
-        dtstart = self.attrs.get('dtstart')
-        dtend = self.attrs.get('dtend') or dtstart
+        dtstart = self.attrs['dtstart']
+        dtend = self.attrs.get('dtend')
         if self.screen.current_record:
             record = self.screen.current_record
             date = record[dtstart].get(record)
@@ -80,7 +91,10 @@ class Calendar_(goocalendar.Calendar):
                 continue
 
             start = record[dtstart].get_client(record)
-            end = record[dtend].get_client(record)
+            if dtend:
+                end = record[dtend].get_client(record)
+            else:
+                end = None
             midnight = datetime.time(0)
             all_day = False
             if not isinstance(start, datetime.datetime):
@@ -95,11 +109,11 @@ class Calendar_(goocalendar.Calendar):
             if end is not None and start > end:
                 continue
 
-            # TODO define color code
+            text_color, bg_color = self.get_colors(record)
             label = '\n'.join(record[attrs['name']].get_client(record)
                 for attrs in self.fields).rstrip()
-            event = goocalendar.Event(label, start, end,
-                bg_color='lightblue', all_day=all_day)
+            event = goocalendar.Event(label, start, end, text_color=text_color,
+                bg_color=bg_color, all_day=all_day)
             event.record = record
             self._event_store.add(event)
 
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 5c0923f..45942e2 100644
--- a/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py
+++ b/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py
@@ -4,8 +4,9 @@ import datetime
 import calendar
 import gettext
 import gtk
-import goocanvas
+
 from tryton.gui import Main
+from tryton.common.datetime_ import popup_position, popup_show, popup_hide
 
 _ = gettext.gettext
 
@@ -17,8 +18,8 @@ class Toolbar(gtk.Toolbar):
         self.goocalendar = goocalendar
         self.accel_group = Main.get_main().accel_group
 
-        today_label = gtk.Label(_('Today'))
-        today_button = gtk.ToolButton(today_label)
+        today_button = gtk.ToolButton()
+        today_button.set_label(_('Today'))
         today_button.set_homogeneous(False)
         today_button.connect("clicked", self.on_today_button_clicked)
         today_button.add_accelerator("clicked", self.accel_group,
@@ -26,7 +27,9 @@ class Toolbar(gtk.Toolbar):
         self.insert(today_button, -1)
 
         arrow_left = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
-        go_back = gtk.ToolButton(arrow_left, "go left")
+        go_back = gtk.ToolButton()
+        go_back.set_icon_widget(arrow_left)
+        go_back.set_label(_("go back"))
         go_back.set_expand(False)
         go_back.set_homogeneous(False)
         go_back.connect("clicked", self.on_go_back_clicked)
@@ -34,34 +37,49 @@ class Toolbar(gtk.Toolbar):
 
         self.current_page_label = gtk.Label("")
         self.current_page = gtk.ToggleToolButton()
-        self.current_page.set_icon_widget(self.current_page_label)
+        self.current_page.set_label_widget(self.current_page_label)
         self.current_page.connect("clicked", self.on_current_page_clicked)
         self.insert(self.current_page, -1)
 
+        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.on_cal_popup_closed)
+        self.__cal_popup.connect(
+            'key-press-event', self.on_cal_popup_key_pressed)
+        self.__cal_popup.connect(
+            'button-press-event', self.on_cal_popup_button_pressed)
+
         gtkcal = gtk.Calendar()
         gtkcal.connect('day-selected', self.on_gtkcal_day_selected)
+        gtkcal.connect(
+            'day-selected-double-click',
+            self.on_gtkcal_day_selected_double_click)
         gtkcal.set_display_options(
             gtk.CALENDAR_SHOW_HEADING |
             gtk.CALENDAR_SHOW_WEEK_NUMBERS |
             gtk.CALENDAR_SHOW_DAY_NAMES)
         gtkcal.set_no_show_all(True)
-        gtkcal_item = goocanvas.Widget(widget=gtkcal)
-        gtkcal_item.set_property('visibility', goocanvas.ITEM_INVISIBLE)
-        goocalendar.get_root_item().add_child(gtkcal_item)
+        self.__cal_popup.add(gtkcal)
+        gtkcal.show()
         self.gtkcal = gtkcal
-        self.gtkcal_item = gtkcal_item
         self.goocalendar.connect('day-selected',
             self.on_goocalendar_day_selected)
 
         arrow_right = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)
-        go_forward = gtk.ToolButton(arrow_right, "go right")
+        go_forward = gtk.ToolButton()
+        go_forward.set_icon_widget(arrow_right)
+        go_forward.set_label(_("go forward"))
         go_forward.set_expand(False)
         go_forward.set_homogeneous(False)
         go_forward.connect("clicked", self.on_go_forward_clicked)
         self.insert(go_forward, -1)
 
         arrow_left = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
-        previous_year = gtk.ToolButton(arrow_left, "next year")
+        previous_year = gtk.ToolButton()
+        previous_year.set_icon_widget(arrow_left)
+        previous_year.set_label(_("previous year"))
         previous_year.set_expand(False)
         previous_year.set_homogeneous(False)
         previous_year.connect("clicked", self.on_previous_year_clicked)
@@ -73,7 +91,9 @@ class Toolbar(gtk.Toolbar):
         self.insert(current_year, -1)
 
         arrow_right = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)
-        next_year = gtk.ToolButton(arrow_right, "next year")
+        next_year = gtk.ToolButton()
+        next_year.set_icon_widget(arrow_right)
+        next_year.set_label(_("next year"))
         next_year.set_expand(False)
         next_year.set_homogeneous(False)
         next_year.connect("clicked", self.on_next_year_clicked)
@@ -90,13 +110,20 @@ class Toolbar(gtk.Toolbar):
             gtk.gdk.MODIFIER_MASK, gtk.ACCEL_VISIBLE)
         self.insert(week_button, -1)
 
-        month_button = gtk.RadioToolButton(week_button)
-        month_button.set_label(_('Month View'))
+        if hasattr(gtk.RadioToolButton, 'new_from_widget'):
+            month_button = gtk.RadioToolButton.new_from_widget(week_button)
+        else:
+            month_button = gtk.RadioToolButton(week_button)
+        month_button.set_label_widget(gtk.Label(_('Month View')))
         month_button.connect("clicked", self.on_month_button_clicked)
         month_button.add_accelerator("clicked", self.accel_group,
             gtk.keysyms.m, gtk.gdk.MODIFIER_MASK, gtk.ACCEL_VISIBLE)
-        month_button.set_active(True)
         self.insert(month_button, -1)
+        buttons = {
+            'month': month_button,
+            'week': week_button
+            }
+        buttons[self.goocalendar.view].set_active(True)
         self.update_displayed_date()
         self.set_style(gtk.TOOLBAR_ICONS)
 
@@ -123,17 +150,44 @@ class Toolbar(gtk.Toolbar):
         self.goocalendar.previous_page()
 
     def on_current_page_clicked(self, widget):
-        gtkcal_item = self.gtkcal_item
-        if gtkcal_item.get_property('visibility') == goocanvas.ITEM_VISIBLE:
-            gtkcal_item.set_property('visibility', goocanvas.ITEM_INVISIBLE)
-        else:
-            gtkcal_item.set_property('visibility', goocanvas.ITEM_VISIBLE)
+        if widget.get_active():
+            self.__cal_popup.set_transient_for(widget.get_toplevel())
+            popup_position(widget, self.__cal_popup)
+            popup_show(self.__cal_popup)
+
+    def on_cal_popup_closed(self, widget):
+        self.cal_popup_hide()
+        return True
+
+    def on_cal_popup_key_pressed(self, widget, event):
+        if event.keyval != gtk.keysyms.Escape:
+            return False
+        widget.stop_emission('key-press-event')
+        self.cal_popup_hide()
+        return True
+
+    def on_cal_popup_button_pressed(self, widget, event):
+        child = event.window
+        if child != widget.window:
+            while child:
+                if child == widget.window:
+                    return False
+                child = child.get_parent()
+        self.cal_popup_hide()
+        return True
+
+    def cal_popup_hide(self):
+        popup_hide(self.__cal_popup)
+        self.current_page.set_active(False)
 
     def on_gtkcal_day_selected(self, gtkcal):
         year, month, day = gtkcal.get_date()
         month += 1  # months go from 1 to 12 instead of from 0 to 11
         self.goocalendar.select(datetime.date(year, month, day))
 
+    def on_gtkcal_day_selected_double_click(self, gtkcal):
+        self.cal_popup_hide()
+
     def on_goocalendar_day_selected(self, goocalendar, day):
         # months go from 0 to 11 in gtk.Calendar instead of 1 to 12
         new_date = self.goocalendar.selected_date
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index 90ca2ed..5ce267e 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -31,6 +31,7 @@ from .form_gtk.one2one import One2One
 from .form_gtk.richtextbox import RichTextBox
 from .form_gtk.dictionary import DictWidget
 from .form_gtk.multiselection import MultiSelection
+from .form_gtk.pyson import PYSON
 from .form_gtk.state_widget import (Label, VBox, Image, Frame, ScrolledWindow,
     Notebook, Alignment)
 
@@ -73,15 +74,21 @@ class Container(object):
 
         yopt = 0
         if attributes.get('yexpand'):
-            yopt |= gtk.EXPAND
+            yopt = gtk.EXPAND
         if attributes.get('yfill'):
-            yopt |= gtk.FILL
+            if yopt:
+                yopt |= gtk.FILL
+            else:
+                yopt = gtk.FILL
 
         xopt = 0
         if attributes.get('xexpand', True):
-            xopt |= gtk.EXPAND
+            xopt = gtk.EXPAND
         if attributes.get('xfill', True):
-            xopt |= gtk.FILL
+            if xopt:
+                xopt |= gtk.FILL
+            else:
+                xopt = gtk.FILL
 
         if attributes.get('help'):
             self.tooltips.set_tip(widget, attributes['help'])
@@ -377,6 +384,7 @@ class ViewForm(View):
         'richtext': RichTextBox,
         'dict': DictWidget,
         'multiselection': MultiSelection,
+        'pyson': PYSON,
         }
 
     @classmethod
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 413aa8a..1df150e 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -7,6 +7,7 @@ import tempfile
 from tryton.common import common
 from tryton.common import file_selection, Tooltips, file_open, slugify
 from tryton.common.entry_position import reset_position
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 from .widget import Widget
 
@@ -129,6 +130,8 @@ class BinaryMixin(Widget):
                     fp.write(self.field.get(self.record))
 
     def clear(self, widget=None):
+        if self.filename_field:
+            self.filename_field.set_client(self.record, None)
         self.field.set_client(self.record, None)
 
 
@@ -167,6 +170,7 @@ class Binary(BinaryMixin, Widget):
             self.but_clear.show()
         if self.wid_text:
             self.wid_text.set_editable(not value)
+            set_widget_style(self.wid_text, not value)
         if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
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 6f82d06..7c6af7b 100644
--- a/tryton/gui/window/view_form/view/form_gtk/calendar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py
@@ -8,6 +8,7 @@ import gobject
 from .widget import Widget
 from tryton.common.datetime_ import (Date as DateEntry, Time as TimeEntry,
     DateTime as DateTimeEntry, add_operators)
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 _ = gettext.gettext
@@ -34,6 +35,7 @@ class Date(Widget):
 
     def _set_editable(self, value):
         self.entry.set_editable(value)
+        set_widget_style(self.entry, value)
         self.entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
 
     def _readonly_set(self, value):
@@ -130,6 +132,7 @@ class DateTime(Date):
         for child in self.entry.get_children():
             if isinstance(child, gtk.Entry):
                 child.set_editable(value)
+                set_widget_style(child, value)
                 child.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
             elif isinstance(child, gtk.ComboBoxEntry):
                 child.set_sensitive(value)
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 d9aaf3e..23bb6e8 100644
--- a/tryton/gui/window/view_form/view/form_gtk/char.py
+++ b/tryton/gui/window/view_form/view/form_gtk/char.py
@@ -8,6 +8,7 @@ from .widget import Widget, TranslateMixin
 from tryton.common import Tooltips
 from tryton.common.entry_position import reset_position
 from tryton.common.selection import PopdownMixin, selection_shortcuts
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 _ = gettext.gettext
@@ -81,9 +82,8 @@ class Char(Widget, TranslateMixin, PopdownMixin):
     @property
     def modified(self):
         if self.record and self.field:
-            entry = self.entry.get_child() if self.autocomplete else self.entry
-            value = entry.get_text() or ''
-            return self.field.get_client(self.record) != value
+            value = self.get_client_value(self.record, self.field)
+            return value != self.get_value()
         return False
 
     def set_value(self, record, field):
@@ -95,6 +95,13 @@ class Char(Widget, TranslateMixin, PopdownMixin):
         entry = self.entry.get_child() if self.autocomplete else self.entry
         return entry.get_text()
 
+    def get_client_value(self, record, field):
+        if not field:
+            value = ''
+        else:
+            value = field.get_client(record)
+        return value
+
     def display(self, record, field):
         super(Char, self).display(record, field)
         if self.autocomplete:
@@ -117,11 +124,7 @@ class Char(Widget, TranslateMixin, PopdownMixin):
             size_entry.set_width_chars(-1)
             size_entry.set_max_length(0)
 
-        if not field:
-            value = ''
-        else:
-            value = field.get_client(record)
-
+        value = self.get_client_value(record, field)
         if not self.autocomplete:
             self.entry.set_text(value)
             reset_position(self.entry)
@@ -141,6 +144,7 @@ class Char(Widget, TranslateMixin, PopdownMixin):
             self.entry.set_button_sensitivity(sensitivity[value])
         else:
             self.entry.set_editable(not value)
+        set_widget_style(self.entry, not value)
         if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
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 1562f76..32b5826 100644
--- a/tryton/gui/window/view_form/view/form_gtk/dictionary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/dictionary.py
@@ -20,6 +20,7 @@ from tryton.common.completion import get_completion, update_completion
 from tryton.common.datetime_ import Date, DateTime
 from tryton.common.domain_parser import quote
 from tryton.common.entry_position import reset_position
+from tryton.common.widget_style import set_widget_style
 
 _ = gettext.gettext
 
@@ -53,6 +54,7 @@ class DictEntry(object):
 
     def set_readonly(self, readonly):
         self.widget.set_editable(not readonly)
+        set_widget_style(self.widget, not readonly)
 
 
 class DictBooleanEntry(DictEntry):
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 3a0fa92..f3d18de 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -22,9 +22,9 @@ class Image(BinaryMixin, Widget):
         self.widget = gtk.VBox(spacing=3)
         self.event = gtk.EventBox()
         self.event.drag_dest_set(gtk.DEST_DEFAULT_ALL, [
-            ('text/plain', 0, 0),
-            ('text/uri-list', 0, 1),
-            ("image/x-xpixmap", 0, 2)], gtk.gdk.ACTION_MOVE)
+            gtk.TargetEntry.new('text/plain', 0, 0),
+            gtk.TargetEntry.new('text/uri-list', 0, 1),
+            gtk.TargetEntry.new("image/x-xpixmap", 0, 2)], gtk.gdk.ACTION_MOVE)
         self.event.connect('drag_motion', self.drag_motion)
         self.event.connect('drag_data_received', self.drag_data_received)
 
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 fd8e80e..3c7b641 100644
--- a/tryton/gui/window/view_form/view/form_gtk/integer.py
+++ b/tryton/gui/window/view_form/view/form_gtk/integer.py
@@ -3,8 +3,6 @@
 from .char import Char
 import locale
 
-from tryton.common.entry_position import reset_position
-
 
 class Integer(Char):
     "Integer"
@@ -21,26 +19,16 @@ class Integer(Char):
         self.entry.connect('insert_text', self.sig_insert_text)
         self.factor = float(attrs.get('factor', 1))
 
-    @property
-    def modified(self):
-        if self.record and self.field:
-            entry = self.entry.get_child() if self.autocomplete else self.entry
-            value = entry.get_text() or ''
-            return self.field.get_client(self.record, self.factor) != value
-        return False
-
     def set_value(self, record, field):
         return field.set_client(record, self.entry.get_text(),
             factor=self.factor)
 
-    def display(self, record, field):
-        # skip Char call because set_text doesn't work with int
-        super(Char, self).display(record, field)
+    def get_client_value(self, record, field):
         if not field:
-            self.entry.set_text('')
-            return False
-        self.entry.set_text(field.get_client(record, factor=self.factor))
-        reset_position(self.entry)
+            value = ''
+        else:
+            value = field.get_client(record, factor=self.factor)
+        return value
 
     def sig_insert_text(self, entry, new_text, new_text_length, position):
         value = entry.get_text()
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 f2f13cd..9e5ffde 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -27,14 +27,15 @@ class Many2Many(Widget):
         vbox = gtk.VBox(homogeneous=False, spacing=5)
         self.widget.add(vbox)
         self._readonly = True
+        self._required = False
         self._position = 0
 
         hbox = gtk.HBox(homogeneous=False, spacing=0)
         hbox.set_border_width(2)
 
-        label = gtk.Label(attrs.get('string', ''))
-        label.set_alignment(0.0, 0.5)
-        hbox.pack_start(label, expand=True, fill=True)
+        self.title = gtk.Label(attrs.get('string', ''))
+        self.title.set_alignment(0.0, 0.5)
+        hbox.pack_start(self.title, expand=True, fill=True)
 
         hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
 
@@ -157,7 +158,8 @@ class Many2Many(Widget):
             context=context, domain=domain,
             view_ids=self.attrs.get('view_ids', '').split(','),
             views_preload=self.attrs.get('views', {}),
-            new=self.attrs.get('create', True))
+            new=self.attrs.get('create', True),
+            title=self.attrs.get('string'))
         win.screen.search_filter(quote(value))
         win.show()
 
@@ -167,22 +169,27 @@ class Many2Many(Widget):
     def _on_activate(self):
         self._sig_edit()
 
-    def _sig_edit(self):
-        if not self.screen.current_record:
-            return
-        # Create a new screen that is not linked to the parent otherwise on the
-        # save of the record will trigger the save of the parent
+    def _get_screen_form(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(','),
+        view_ids = self.attrs.get('view_ids', '').split(',')
+        if view_ids:
+            # Remove the first tree view as mode is form only
+            view_ids.pop(0)
+        return Screen(self.attrs['relation'], domain=domain,
+            view_ids=view_ids,
             mode=['form'], views_preload=self.attrs.get('views', {}),
-            readonly=self.attrs.get('readonly', False),
             context=context)
+
+    def _sig_edit(self):
+        if not self.screen.current_record:
+            return
+        # Create a new screen that is not linked to the parent otherwise on the
+        # save of the record will trigger the save of the parent
+        screen = self._get_screen_form()
         screen.load([self.screen.current_record.id])
 
         def callback(result):
@@ -192,19 +199,10 @@ class Many2Many(Widget):
                 self.screen.current_record.cancel()
                 # Force a display to clear the CellCache
                 self.screen.display()
-        WinForm(screen, callback)
+        WinForm(screen, callback, title=self.attrs.get('string'))
 
     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)
+        screen = self._get_screen_form()
 
         def callback(result):
             self.focus_out = True
@@ -215,12 +213,22 @@ class Many2Many(Widget):
             self.wid_text.grab_focus()
 
         self.focus_out = False
-        WinForm(screen, callback, new=True, save_current=True)
+        WinForm(screen, callback, new=True, save_current=True,
+            title=self.attrs.get('string'), rec_name=self.wid_text.get_text())
 
     def _readonly_set(self, value):
         self._readonly = value
         self._set_button_sensitive()
         self.wid_text.set_sensitive(not value)
+        self._set_label_state()
+
+    def _required_set(self, value):
+        self._required = value
+        self._set_label_state()
+
+    def _set_label_state(self):
+        attrlist = common.get_label_attributes(self._readonly, self._required)
+        self.title.set_attributes(attrlist)
 
     def _set_button_sensitive(self):
         if self.record and self.field:
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 e8cf500..d6fd75c 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -13,6 +13,7 @@ from tryton.common.popup_menu import populate
 from tryton.common.completion import get_completion, update_completion
 from tryton.common.entry_position import reset_position
 from tryton.common.domain_parser import quote
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 _ = gettext.gettext
@@ -42,8 +43,6 @@ class Many2One(Widget):
             self.wid_text.connect('changed', self._update_completion)
         self.wid_completion = None
 
-        self.wid_text.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY,
-            'tryton-find')
         self.wid_text.connect('icon-press', self.sig_edit)
 
         self.widget.pack_end(self.wid_text, expand=True, fill=True)
@@ -63,8 +62,11 @@ class Many2One(Widget):
 
     def _set_button_sensitive(self):
         self.wid_text.set_editable(not self._readonly)
-        self.wid_text.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY,
-            self.read_access)
+        set_widget_style(self.wid_text, not self._readonly)
+        self.wid_text.set_icon_sensitive(
+            gtk.ENTRY_ICON_PRIMARY, self.read_access)
+        self.wid_text.set_icon_sensitive(
+            gtk.ENTRY_ICON_SECONDARY, not self._readonly)
 
     def get_access(self, type_):
         model = self.get_model()
@@ -135,7 +137,8 @@ class Many2One(Widget):
                     context=context, domain=domain,
                     view_ids=self.attrs.get('view_ids', '').split(','),
                     views_preload=self.attrs.get('views', {}),
-                    new=self.create_access)
+                    new=self.create_access,
+                    title=self.attrs.get('string'))
                 win.screen.search_filter(quote(text))
                 if len(win.screen.group) == 1:
                     win.response(None, gtk.RESPONSE_OK)
@@ -167,20 +170,29 @@ class Many2One(Widget):
                     self.value_from_id(screen.current_record.id,
                         screen.current_record.rec_name()))
             self.focus_out = True
-        WinForm(screen, callback, new=True, save_current=True)
+        WinForm(screen, callback, new=True, save_current=True,
+            title=self.attrs.get('string'), rec_name=self.wid_text.get_text())
 
-    def sig_edit(self, *args):
+    def sig_edit(self, entry=None, icon_pos=None, *args):
         model = self.get_model()
         if not model or not common.MODELACCESS[model]['read']:
             return
         if not self.focus_out or not self.field:
             return
         self.changed = False
+        self.focus_out = False
         value = self.field.get(self.record)
-        model = self.get_model()
 
-        self.focus_out = False
-        if model and self.has_target(value):
+        if (icon_pos == gtk.ENTRY_ICON_SECONDARY
+                and not self._readonly
+                and self.has_target(value)):
+            self.field.set_client(self.record, self.value_from_id(None, ''))
+            self.wid_text.set_text('')
+            self.changed = True
+            self.focus_out = True
+            return
+
+        if self.has_target(value):
             screen = self.get_screen()
             screen.load([self.id_from_value(self.field.get(self.record))])
 
@@ -192,9 +204,10 @@ class Many2One(Widget):
                         force_change=True)
                 self.focus_out = True
                 self.changed = True
-            WinForm(screen, callback, save_current=True)
+            WinForm(screen, callback, save_current=True,
+                title=self.attrs.get('string'))
             return
-        elif model and not self._readonly:
+        if not self._readonly:
             domain = self.field.domain_get(self.record)
             context = self.field.context_get(self.record)
             text = self.wid_text.get_text().decode('utf-8')
@@ -209,13 +222,12 @@ class Many2One(Widget):
                 context=context, domain=domain,
                 view_ids=self.attrs.get('view_ids', '').split(','),
                 views_preload=self.attrs.get('views', {}),
-                new=self.create_access)
+                new=self.create_access, title=self.attrs.get('string'))
             win.screen.search_filter(quote(text))
             win.show()
             return
         self.focus_out = True
         self.changed = True
-        return
 
     def sig_key_press(self, widget, event, *args):
         editable = self.wid_text.get_editable()
@@ -288,11 +300,17 @@ class Many2One(Widget):
             return False
         self.set_text(field.get_client(record))
         if self.has_target(field.get(record)):
-            stock, tooltip = 'tryton-open', _('Open a record <F2>')
+            stock1, tooltip1 = 'tryton-open', _('Open the record <F2>')
+            stock2, tooltip2 = 'tryton-clear', _('Clear the record <Del>')
         else:
-            stock, tooltip = 'tryton-find', _('Search a record <F2>')
-        self.wid_text.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, stock)
-        self.wid_text.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY, tooltip)
+            stock1, tooltip1 = None, ''
+            stock2, tooltip2 = 'tryton-find', _('Search a record <F2>')
+        if not self.wid_text.get_editable():
+            stock2, tooltip2 = None, ''
+        for pos, stock, tooltip in [(gtk.ENTRY_ICON_PRIMARY, stock1, tooltip1),
+                (gtk.ENTRY_ICON_SECONDARY, stock2, tooltip2)]:
+            self.wid_text.set_icon_from_stock(pos, stock)
+            self.wid_text.set_icon_tooltip_text(pos, tooltip)
         self.changed = True
 
     def _populate_popup(self, widget, menu):
diff --git a/tryton/gui/window/view_form/view/form_gtk/multiselection.py b/tryton/gui/window/view_form/view/form_gtk/multiselection.py
index 7818f15..6543290 100644
--- a/tryton/gui/window/view_form/view/form_gtk/multiselection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/multiselection.py
@@ -6,6 +6,7 @@ import gobject
 from .widget import Widget
 from tryton.common.selection import SelectionMixin
 from tryton.common.treeviewcontrol import TreeViewControl
+from tryton.common.widget_style import set_widget_style
 
 
 class MultiSelection(Widget, SelectionMixin):
@@ -14,9 +15,12 @@ class MultiSelection(Widget, SelectionMixin):
     def __init__(self, view, attrs):
         super(MultiSelection, self).__init__(view, attrs)
 
-        self.widget = gtk.ScrolledWindow()
-        self.widget.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        self.widget.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+        if int(attrs.get('yexpand', self.expand)):
+            self.widget = gtk.ScrolledWindow()
+            self.widget.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+            self.widget.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+        else:
+            self.widget = gtk.VBox()
         self.widget.get_accessible().set_name(attrs.get('string', ''))
 
         self.model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING)
@@ -41,6 +45,7 @@ class MultiSelection(Widget, SelectionMixin):
 
     def _readonly_set(self, readonly):
         super(MultiSelection, self)._readonly_set(readonly)
+        set_widget_style(self.tree, not readonly)
         selection = self.tree.get_selection()
         selection.set_select_function(lambda info: not readonly)
 
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 27ab688..a7963fe 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -28,15 +28,16 @@ class One2Many(Widget):
         vbox = gtk.VBox(homogeneous=False, spacing=2)
         self.widget.add(vbox)
         self._readonly = True
+        self._required = False
         self._position = 0
         self._length = 0
 
         self.title_box = hbox = gtk.HBox(homogeneous=False, spacing=0)
         hbox.set_border_width(2)
 
-        label = gtk.Label(attrs.get('string', ''))
-        label.set_alignment(0.0, 0.5)
-        hbox.pack_start(label, expand=True, fill=True)
+        self.title = gtk.Label(attrs.get('string', ''))
+        self.title.set_alignment(0.0, 0.5)
+        hbox.pack_start(self.title, expand=True, fill=True)
 
         hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
 
@@ -186,7 +187,6 @@ class One2Many(Widget):
             view_ids=attrs.get('view_ids', '').split(','),
             views_preload=attrs.get('views', {}),
             row_activate=self._on_activate,
-            readonly=self.attrs.get('readonly', False),
             exclude_field=attrs.get('relation_field', None))
         self.screen.pre_validate = bool(int(attrs.get('pre_validate', 0)))
         self.screen.signal_connect(self, 'record-message', self._sig_label)
@@ -245,6 +245,15 @@ class One2Many(Widget):
     def _readonly_set(self, value):
         self._readonly = value
         self._set_button_sensitive()
+        self._set_label_state()
+
+    def _required_set(self, value):
+        self._required = value
+        self._set_label_state()
+
+    def _set_label_state(self):
+        attrlist = common.get_label_attributes(self._readonly, self._required)
+        self.title.set_attributes(attrlist)
 
     def _set_button_sensitive(self):
         access = common.MODELACCESS[self.screen.model_name]
@@ -349,7 +358,7 @@ class One2Many(Widget):
             field_size = self.record.expr_eval(self.attrs.get('size')) or -1
             field_size -= len(self.field.get_eval(self.record)) + 1
             WinForm(self.screen, lambda a: update_sequence(), new=True,
-                many=field_size, context=ctx)
+                many=field_size, context=ctx, title=self.attrs.get('string'))
 
     def _new_product(self):
         fields = self.attrs['product'].split(',')
@@ -375,7 +384,7 @@ class One2Many(Widget):
                     product[field.name] = result
 
             win_search = WinSearch(relation, callback, sel_multi=True,
-                context=context, domain=domain)
+                context=context, domain=domain, title=self.attrs.get('string'))
             win_search.win.connect('destroy', search_set)
             win_search.screen.search_filter()
             win_search.show()
@@ -408,7 +417,8 @@ class One2Many(Widget):
             return
         record = self.screen.current_record
         if record:
-            WinForm(self.screen, lambda a: None)
+            WinForm(self.screen, lambda a: None,
+                title=self.attrs.get('string'))
 
     def _sig_next(self, widget):
         if not self._validate():
@@ -468,7 +478,8 @@ class One2Many(Widget):
             context=context, domain=domain,
             view_ids=self.attrs.get('view_ids', '').split(','),
             views_preload=self.attrs.get('views', {}),
-            new=self.but_new.get_property('sensitive'))
+            new=self.but_new.get_property('sensitive'),
+            title=self.attrs.get('string'))
         win.screen.search_filter(quote(text))
         win.show()
 
@@ -501,16 +512,13 @@ class One2Many(Widget):
             if (self.screen.current_view.view_type == 'tree') \
                     and self.screen.current_view.editable:
                 self.screen.current_record = None
-        readonly = False
         domain = []
         size_limit = None
         if record:
-            readonly = field.get_state_attrs(record).get('readonly', False)
             domain = field.domain_get(record)
             size_limit = record.expr_eval(self.attrs.get('size'))
         if self.screen.domain != domain:
             self.screen.domain = domain
-        self.screen.group.readonly = readonly
         self.screen.size_limit = size_limit
         self.screen.display()
         return True
diff --git a/tryton/gui/window/view_form/view/form_gtk/pyson.py b/tryton/gui/window/view_form/view/form_gtk/pyson.py
new file mode 100644
index 0000000..5700e75
--- /dev/null
+++ b/tryton/gui/window/view_form/view/form_gtk/pyson.py
@@ -0,0 +1,42 @@
+# 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
+from tryton.pyson import CONTEXT, PYSONEncoder, PYSONDecoder
+
+
+class PYSON(Char):
+
+    def __init__(self, view, attrs):
+        super(PYSON, self).__init__(view, attrs)
+        self.encoder = PYSONEncoder()
+        self.decoder = PYSONDecoder(noeval=True)
+        self.entry.connect('key-release-event', self.validate_pyson)
+
+    def get_encoded_value(self):
+        value = self.get_value()
+        if not value:
+            return value
+        try:
+            return self.encoder.encode(eval(value, CONTEXT))
+        except (ValueError, TypeError, NameError, SyntaxError):
+            return None
+
+    def set_value(self, record, field):
+        field.set_client(record, self.get_encoded_value())
+
+    def get_client_value(self, record, field):
+        value = super(PYSON, self).get_client_value(record, field)
+        if value:
+            value = repr(self.decoder.decode(value))
+        return value
+
+    def validate_pyson(self, *args):
+        icon = gtk.STOCK_OK
+        if self.get_encoded_value() is None:
+            icon = gtk.STOCK_CANCEL
+        self.entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, icon)
+
+    def _focus_out(self):
+        self.validate_pyson()
+        super(PYSON, self)._focus_out()
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 aa6edf0..c595622 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -6,6 +6,7 @@ import gettext
 from .many2one import Many2One
 from tryton.common.selection import SelectionMixin, PopdownMixin, \
         selection_shortcuts
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 _ = gettext.gettext
@@ -49,7 +50,8 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
 
     def _set_button_sensitive(self):
         super(Reference, self)._set_button_sensitive()
-        self.widget_combo.child.set_editable(not self._readonly)
+        self.widget_combo.get_child().set_editable(not self._readonly)
+        set_widget_style(self.widget_combo.get_child(), not self._readonly)
         self.widget_combo.set_button_sensitivity(
             gtk.SENSITIVITY_OFF if self._readonly else gtk.SENSITIVITY_AUTO)
         if self._readonly and CONFIG['client.fast_tabbing']:
diff --git a/tryton/gui/window/view_form/view/form_gtk/richtextbox.py b/tryton/gui/window/view_form/view/form_gtk/richtextbox.py
index 460387a..0023471 100644
--- a/tryton/gui/window/view_form/view/form_gtk/richtextbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/richtextbox.py
@@ -12,6 +12,9 @@ from tryton.common.htmltextbuffer import (serialize, deserialize,
 from tryton.config import CONFIG
 
 SIZES = sorted(SIZE2SCALE.keys())
+# Disable serialize/deserialize registration function because it does not work
+# on GTK-3, the "guint8 *data" is converted into a Gtk.TextIter
+_use_serialize_func = False
 
 
 class RichTextBox(TextBox):
@@ -21,32 +24,38 @@ class RichTextBox(TextBox):
         self.text_buffer = gtk.TextBuffer()
         setup_tags(self.text_buffer)
         self.text_buffer.register_serialize_format(
-            MIME, serialize, None)
+            str(MIME), serialize, None)
         self.text_buffer.register_deserialize_format(
-            MIME, deserialize, None)
+            str(MIME), deserialize, None)
         self.text_buffer.connect_after('insert-text', self.insert_text_style)
         self.textview.set_buffer(self.text_buffer)
         self.textview.connect_after('move-cursor', self.detect_style)
         self.textview.connect('button-release-event', self.detect_style)
 
-        self.toolbar = gtk.Toolbar()
-        self.toolbar.set_style({
+        self.toolbar = None
+        self.tag_widgets = {}
+        self.tags = {}
+        self.colors = {}
+        if int(self.attrs.get('toolbar', 1)):
+            self.toolbar = self.get_toolbar()
+
+    def get_toolbar(self):
+        toolbar = gtk.Toolbar()
+        toolbar.set_style({
                 'default': False,
                 'both': gtk.TOOLBAR_BOTH,
                 'text': gtk.TOOLBAR_TEXT,
                 'icons': gtk.TOOLBAR_ICONS}[CONFIG['client.toolbar']])
 
-        self.widget.pack_start(self.toolbar, expand=False, fill=True)
-        self.tag_widgets = {}
-        self.tags = {}
+        self.widget.pack_start(toolbar, expand=False, fill=True)
 
         for icon in ['bold', 'italic', 'underline']:
             button = gtk.ToggleToolButton('gtk-%s' % icon)
             button.connect('toggled', self.toggle_props, icon)
-            self.toolbar.insert(button, -1)
+            toolbar.insert(button, -1)
             self.tag_widgets[icon] = button
 
-        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+        toolbar.insert(gtk.SeparatorToolItem(), -1)
 
         for name, options, active in [
                 ('family', FAMILIES, FAMILIES.index('normal')),
@@ -63,25 +72,29 @@ class RichTextBox(TextBox):
             combobox.connect('changed', self.change_props, name)
             tool = gtk.ToolItem()
             tool.add(combobox)
-            self.toolbar.insert(tool, -1)
+            toolbar.insert(tool, -1)
             self.tag_widgets[name] = combobox
 
-        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+        toolbar.insert(gtk.SeparatorToolItem(), -1)
 
         button = None
         for icon in ['left', 'center', 'right', 'fill']:
             name = icon
             if icon == 'fill':
                 name = 'justify'
-            button = gtk.RadioToolButton(button, 'gtk-justify-%s' % icon)
+            stock_id = 'gtk-justify-%s' % icon
+            if hasattr(gtk.RadioToolButton, 'new_with_stock_from_widget'):
+                button = gtk.RadioToolButton.new_with_stock_from_widget(
+                    button, stock_id)
+            else:
+                button = gtk.RadioToolButton(button, stock_id)
             button.set_active(icon == 'left')
             button.connect('toggled', self.toggle_justification, name)
-            self.toolbar.insert(button, -1)
+            toolbar.insert(button, -1)
             self.tag_widgets[name] = button
 
-        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+        toolbar.insert(gtk.SeparatorToolItem(), -1)
 
-        self.colors = {}
         for icon, label in [
                 ('foreground', _('Foreground')),
                 # TODO ('background', _('Background')),
@@ -89,14 +102,20 @@ class RichTextBox(TextBox):
             button = gtk.ToolButton('tryton-text-%s' % icon)
             button.set_label(label)
             button.connect('clicked', self.toggle_color, icon)
-            self.toolbar.insert(button, -1)
+            toolbar.insert(button, -1)
             self.tag_widgets[icon] = button
 
+        return toolbar
+
     def get_value(self):
         start = self.text_buffer.get_start_iter()
         end = self.text_buffer.get_end_iter()
-        return self.text_buffer.serialize(
-            self.text_buffer, MIME, start, end)
+        if _use_serialize_func:
+            return self.text_buffer.serialize(
+                self.text_buffer, MIME, start, end)
+        else:
+            return serialize(
+                self.text_buffer, self.text_buffer, start, end, None)
 
     @property
     def modified(self):
@@ -110,13 +129,18 @@ class RichTextBox(TextBox):
         start = self.text_buffer.get_start_iter()
         end = self.text_buffer.get_end_iter()
         self.text_buffer.delete(start, end)
-        self.text_buffer.deserialize(
-            self.text_buffer, MIME, start, value)
+        if _use_serialize_func:
+            self.text_buffer.deserialize(self.text_buffer, MIME, start, value)
+        else:
+            deserialize(
+                self.text_buffer, self.text_buffer, start, value,
+                self.text_buffer.deserialize_get_can_create_tags(MIME), None)
         self.text_buffer.handler_unblock_by_func(self.insert_text_style)
 
     def _readonly_set(self, value):
         super(RichTextBox, self)._readonly_set(value)
-        self.toolbar.set_sensitive(not value)
+        if self.toolbar:
+            self.toolbar.set_sensitive(not value)
 
     def detect_style(self, *args):
         try:
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 9694353..a3663ee 100644
--- a/tryton/gui/window/view_form/view/form_gtk/selection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -6,6 +6,7 @@ import gobject
 from .widget import Widget
 from tryton.common.selection import SelectionMixin, selection_shortcuts, \
     PopdownMixin
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 
@@ -16,7 +17,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
 
         self.widget = gtk.HBox(spacing=3)
         self.entry = gtk.ComboBoxEntry()
-        child = self.mnemonic_widget = self.entry.child
+        child = self.mnemonic_widget = self.entry.get_child()
         child.set_property('activates_default', True)
         child.set_max_length(int(attrs.get('size', 0)))
         child.set_width_chars(10)
@@ -52,7 +53,8 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
 
     def _readonly_set(self, value):
         super(Selection, self)._readonly_set(value)
-        self.entry.child.set_editable(not value)
+        self.entry.get_child().set_editable(not value)
+        set_widget_style(self.entry.get_child(), not value)
         self.entry.set_button_sensitivity(
             gtk.SENSITIVITY_OFF if value else gtk.SENSITIVITY_AUTO)
         if value and CONFIG['client.fast_tabbing']:
@@ -61,7 +63,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
             self.widget.unset_focus_chain()
 
     def get_value(self):
-        if not self.entry.child:  # entry is destroyed
+        if not self.entry.get_child():  # entry is destroyed
             return
         return self.get_popdown_value(self.entry)
 
@@ -74,7 +76,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
     def set_value(self, record, field):
         value = self.get_value()
         if 'relation' in self.attrs and value:
-            value = (value, self.entry.get_active_text())
+            value = (value, self.get_popdown_text(self.entry))
         field.set_client(record, value)
 
     def display(self, record, field):
@@ -83,7 +85,7 @@ class Selection(Widget, SelectionMixin, PopdownMixin):
         if not field:
             self.entry.set_active(-1)
             # When setting no item GTK doesn't clear the entry
-            self.entry.child.set_text('')
+            self.entry.get_child().set_text('')
             return
         super(Selection, self).display(record, field)
         value = field.get(record)
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 67a731d..bc8bf3e 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,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.
 import gtk
-import pango
+
+import tryton.common as common
 
 
 class StateMixin(object):
@@ -39,20 +40,11 @@ class Label(StateMixin, gtk.Label):
             state_changes = record.expr_eval(self.attrs.get('states', {}))
         else:
             state_changes = {}
-        if ((field and field.attrs.get('required'))
-                or state_changes.get('required')):
-            weight = pango.WEIGHT_BOLD
-        else:
-            weight = pango.WEIGHT_NORMAL
-        if ((field and field.attrs.get('readonly'))
-                or state_changes.get('readonly')):
-            style = pango.STYLE_NORMAL
-            weight = pango.WEIGHT_NORMAL
-        else:
-            style = pango.STYLE_ITALIC
-        attrlist = pango.AttrList()
-        attrlist.change(pango.AttrWeight(weight, 0, -1))
-        attrlist.change(pango.AttrStyle(style, 0, -1))
+        required = ((field and field.attrs.get('required'))
+                or state_changes.get('required'))
+        readonly = ((field and field.attrs.get('readonly'))
+                or state_changes.get('readonly'))
+        attrlist = common.get_label_attributes(readonly, required)
         self.set_attributes(attrlist)
 
 
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 f141dd8..b0fe0fa 100644
--- a/tryton/gui/window/view_form/view/form_gtk/textbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/textbox.py
@@ -2,6 +2,7 @@
 # this repository contains the full copyright notices and license terms.
 import gtk
 from .widget import Widget, TranslateMixin
+from tryton.common.widget_style import set_widget_style
 from tryton.config import CONFIG
 
 try:
@@ -85,6 +86,7 @@ class TextBox(Widget, TranslateMixin):
     def _readonly_set(self, value):
         super(TextBox, self)._readonly_set(value)
         self.textview.set_editable(not value)
+        set_widget_style(self.textview, not value)
         if self.button:
             self.button.set_sensitive(not value)
         if value and CONFIG['client.fast_tabbing']:
diff --git a/tryton/gui/window/view_form/view/form_gtk/timedelta.py b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
index fc5e859..a32efd7 100644
--- a/tryton/gui/window/view_form/view/form_gtk/timedelta.py
+++ b/tryton/gui/window/view_form/view/form_gtk/timedelta.py
@@ -4,6 +4,7 @@ import gtk
 
 from tryton.config import CONFIG
 from tryton.common.entry_position import reset_position
+from tryton.common.widget_style import set_widget_style
 from .widget import Widget
 
 
@@ -48,6 +49,7 @@ class TimeDelta(Widget):
     def _readonly_set(self, value):
         super(TimeDelta, self)._readonly_set(value)
         self.entry.set_editable(not value)
+        set_widget_style(self.entry, not value)
         if value and CONFIG['client.fast_tabbing']:
             self.widget.set_focus_chain([])
         else:
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 bd6d6cc..baaecef 100644
--- a/tryton/gui/window/view_form/view/form_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/form_gtk/widget.py
@@ -22,6 +22,7 @@ class Widget(object):
         self.widget = None
         self.mnemonic_widget = None
         self.visible = True
+        self._readonly = False
 
     @property
     def field_name(self):
@@ -48,6 +49,9 @@ class Widget(object):
         self._focus_out()
 
     def _readonly_set(self, readonly):
+        self._readonly = readonly
+
+    def _required_set(self, required):
         pass
 
     def _invisible_widget(self):
@@ -92,6 +96,7 @@ class Widget(object):
         if not field:
             self._readonly_set(self.attrs.get('readonly', True))
             self.invisible_set(self.attrs.get('invisible', False))
+            self._required_set(False)
             return
         readonly = self.attrs.get('readonly',
             field.get_state_attrs(record).get('readonly', False))
@@ -100,6 +105,8 @@ class Widget(object):
         self._readonly_set(readonly)
         self.invisible_set(self.attrs.get('invisible',
             field.get_state_attrs(record).get('invisible', False)))
+        self._required_set(
+            field.get_state_attrs(record).get('required', False))
 
     def set_value(self, record, field):
         pass
@@ -107,7 +114,7 @@ class Widget(object):
 
 class TranslateDialog(NoModal):
 
-    def __init__(self, widget, languages):
+    def __init__(self, widget, languages, readonly):
         NoModal.__init__(self)
         self.widget = widget
         self.win = gtk.Dialog(_('Translation'), self.parent,
@@ -170,6 +177,7 @@ class TranslateDialog(NoModal):
             table.attach(widget, 1, 2, i, i + 1, yoptions=yopt)
             editing = gtk.CheckButton()
             editing.connect('toggled', self.editing_toggled, widget)
+            editing.props.sensitive = not readonly
             tooltips.set_tip(editing, _('Edit'))
             table.attach(editing, 2, 3, i, i + 1, xoptions=gtk.FILL)
             fuzzy = gtk.CheckButton()
@@ -245,7 +253,7 @@ class TranslateMixin:
         self.view.set_value()
         if self.record.id < 0 or self.record.modified:
             common.message(
-                _('You need to save the record before adding translations!'))
+                _('You need to save the record before adding translations.'))
             return
 
         try:
@@ -256,7 +264,7 @@ class TranslateMixin:
             return
 
         if not lang_ids:
-            common.message(_('No other language available!'))
+            common.message(_('No other language available.'))
             return
         try:
             languages = RPCExecute('model', 'ir.lang', 'read', lang_ids,
@@ -264,7 +272,7 @@ class TranslateMixin:
         except RPCException:
             return
 
-        TranslateDialog(self, languages)
+        TranslateDialog(self, languages, self._readonly)
 
     def translate_widget(self):
         raise NotImplemented
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index 6886674..7a6ff7a 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -7,6 +7,7 @@ import gettext
 
 from . import View
 from tryton.common import node_attributes, get_toplevel_window, message
+from tryton.common import file_selection
 from tryton.config import TRYTON_ICON
 from .graph_gtk.bar import VerticalBar, HorizontalBar
 from .graph_gtk.line import Line
@@ -96,58 +97,47 @@ class ViewGraph(View):
 
     def save(self, widget):
         parent = get_toplevel_window()
-        dia = gtk.Dialog(_('Save As'), parent,
+        dia = gtk.Dialog(_('Image Size'), parent,
             gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
             (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                 gtk.STOCK_OK, gtk.RESPONSE_OK))
         dia.set_icon(TRYTON_ICON)
-        dia.set_has_separator(True)
         dia.set_default_response(gtk.RESPONSE_OK)
 
-        dia.vbox.set_spacing(5)
-        dia.vbox.set_homogeneous(False)
-
-        title = gtk.Label('<b>' + _('Image Size') + '</b>')
-        title.set_alignment(0.0, 0.5)
-        title.set_use_markup(True)
-        dia.vbox.pack_start(title)
-
-        table = gtk.Table(2, 2)
-        table.set_col_spacings(3)
-        table.set_row_spacings(3)
-        table.set_border_width(1)
-        table.attach(gtk.Label(_('Width:')), 0, 1, 0, 1, yoptions=False,
-                xoptions=gtk.FILL)
-        spinwidth = gtk.SpinButton(gtk.Adjustment(400.0,
-                0.0, sys.maxint, 1.0, 10.0))
+        hbox = gtk.HBox(spacing=3)
+        dia.vbox.pack_start(hbox, False, True)
+
+        hbox.pack_start(gtk.Label(_('Width:')), False, True)
+        spinwidth = gtk.SpinButton()
+        spinwidth.configure(gtk.Adjustment(400.0, 0.0, sys.maxint, 1.0, 10.0),
+            climb_rate=1, digits=0)
         spinwidth.set_numeric(True)
         spinwidth.set_activates_default(True)
-        table.attach(spinwidth, 1, 2, 0, 1, yoptions=False, xoptions=gtk.FILL)
-        table.attach(gtk.Label(_('Height:')), 0, 1, 1, 2, yoptions=False,
-                xoptions=gtk.FILL)
-        spinheight = gtk.SpinButton(gtk.Adjustment(200.0,
-                0.0, sys.maxint, 1.0, 10.0))
+        hbox.pack_start(spinwidth, True, True)
+
+        hbox.pack_start(gtk.Label(_('Height:')), False, True)
+        spinheight = gtk.SpinButton()
+        spinheight.configure(gtk.Adjustment(200.0, 0.0, sys.maxint, 1.0, 10.0),
+            climb_rate=1, digits=0)
         spinheight.set_numeric(True)
         spinheight.set_activates_default(True)
-        table.attach(spinheight, 1, 2, 1, 2, yoptions=False, xoptions=gtk.FILL)
-        dia.vbox.pack_start(table)
+        hbox.pack_start(spinheight, True, True)
+        dia.show_all()
 
-        filechooser = gtk.FileChooserWidget(gtk.FILE_CHOOSER_ACTION_SAVE, None)
         filter = gtk.FileFilter()
         filter.set_name(_('PNG image (*.png)'))
         filter.add_mime_type('image/png')
         filter.add_pattern('*.png')
-        filechooser.add_filter(filter)
-        dia.vbox.pack_start(filechooser)
-
-        dia.show_all()
 
         while True:
             response = dia.run()
             width = spinwidth.get_value_as_int()
             height = spinheight.get_value_as_int()
-            filename = filechooser.get_filename()
             if response == gtk.RESPONSE_OK:
+                filename = file_selection(_('Save As'),
+                    action=gtk.FILE_CHOOSER_ACTION_SAVE,
+                    preview=False,
+                    filters=[filter])
                 if width and height and filename:
                     if not filename.endswith('.png'):
                         filename = filename + '.png'
@@ -156,7 +146,7 @@ class ViewGraph(View):
                             filename, width, height)
                         break
                     except MemoryError:
-                        message(_('Image size too large!'), dia,
+                        message(_('Image size too large.'), dia,
                                 gtk.MESSAGE_ERROR)
             else:
                 break
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 5d21276..47be8b6 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -3,6 +3,7 @@
 # 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, \
         COLOR_SCHEMES, datetime_strftime
@@ -16,6 +17,8 @@ import cairo
 from tryton.action import Action
 from tryton.gui.window import Window
 
+gtk_version = getattr(gtk, 'get_major_version', lambda: 2)()
+
 
 class Popup(object):
 
@@ -34,7 +37,8 @@ class Popup(object):
 
     def set_position(self, widget, x, y):
         widget_x, widget_y = widget.window.get_origin()
-        width, height = widget.window.get_size()
+        allocation = widget.get_allocation()
+        width, height = allocation.width, allocation.height
         popup_width, popup_height = self.win.get_size()
         if x < popup_width // 2:
             x = popup_width // 2
@@ -68,7 +72,10 @@ class Popup(object):
 class Graph(gtk.DrawingArea):
     'Graph'
 
-    __gsignals__ = {"expose-event": "override"}
+    if gtk_version == 2:
+        __gsignals__ = {"expose-event": "override"}
+    else:
+        __gsignals__ = {"draw": "override"}
 
     def __init__(self, view, xfield, yfields):
         super(Graph, self).__init__()
@@ -103,23 +110,36 @@ class Graph(gtk.DrawingArea):
     def leave(self, widget, event):
         self.popup.hide()
 
-    # Handle the expose-event by drawing
-    def do_expose_event(self, event):
-
-        # Create the cairo context
-        cr = self.window.cairo_create()
-
-        # Restrict Cairo to the exposed area; avoid extra work
-        cr.rectangle(event.area.x, event.area.y,
-                event.area.width, event.area.height)
-        cr.clip()
-
-        self.updateArea(cr, *self.window.get_size())
-        self.drawBackground(cr, *self.window.get_size())
-        self.drawLines(cr, *self.window.get_size())
-        self.drawGraph(cr, *self.window.get_size())
-        self.drawAxis(cr, *self.window.get_size())
-        self.drawLegend(cr, *self.window.get_size())
+    if gtk_version == 2:
+        # Handle the expose-event by drawing
+        def do_expose_event(self, event):
+
+            # Create the cairo context
+            cr = self.window.cairo_create()
+
+            # Restrict Cairo to the exposed area; avoid extra work
+            cr.rectangle(event.area.x, event.area.y,
+                    event.area.width, event.area.height)
+            cr.clip()
+
+            self.updateArea(cr, *self.window.get_size())
+            self.drawBackground(cr, *self.window.get_size())
+            self.drawLines(cr, *self.window.get_size())
+            self.drawGraph(cr, *self.window.get_size())
+            self.drawAxis(cr, *self.window.get_size())
+            self.drawLegend(cr, *self.window.get_size())
+    else:
+        def do_draw(self, cr):
+            cr = self.window.cairo_create()
+            width = self.get_allocated_width()
+            height = self.get_allocated_height()
+
+            self.updateArea(cr, width, height)
+            self.drawBackground(cr, width, height)
+            self.drawLines(cr, width, height)
+            self.drawGraph(cr, width, height)
+            self.drawAxis(cr, width, height)
+            self.drawLegend(cr, width, height)
 
     def export_png(self, filename, width, height):
         surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index da6700d..4381034 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -4,10 +4,7 @@ import gobject
 import gtk
 import pango
 import sys
-try:
-    import simplejson as json
-except ImportError:
-    import json
+import json
 import locale
 import gettext
 from functools import wraps
@@ -20,6 +17,7 @@ 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
+from tryton.pyson import PYSONDecoder
 import tryton.common as common
 from . import View
 from .list_gtk.editabletree import EditableTreeView, TreeView
@@ -49,14 +47,16 @@ def path_convert_id2pos(model, id_path):
     "This function will transform a path of id into a path of position"
     group = model.group
     id_path = id_path[:]
+    indexes = []
     while id_path:
         current_id = id_path.pop(0)
         try:
             record = group.get(current_id)
+            indexes.append(group.index(record))
             group = record.children_group(model.children_field)
-        except (KeyError, AttributeError):
+        except (KeyError, AttributeError, ValueError):
             return None
-    return model.on_get_path(record)
+    return tuple(indexes)
 
 
 class AdaptModelGroup(gtk.GenericTreeModel):
@@ -72,14 +72,14 @@ class AdaptModelGroup(gtk.GenericTreeModel):
         if (group is self.group
                 and (record.group is self.group
                     or record.group.child_name == self.children_field)):
-            path = self.on_get_path(record)
+            path = record.get_index_path(self.group)
             iter_ = self.get_iter(path)
             self.row_inserted(path, iter_)
             if record.children_group(self.children_field):
                 self.row_has_child_toggled(path, iter_)
             if (record.parent and
                     record.group is not self.group):
-                path = self.on_get_path(record.parent)
+                path = record.parent.get_index_path(self.group)
                 iter_ = self.get_iter(path)
                 self.row_has_child_toggled(path, iter_)
 
@@ -87,7 +87,7 @@ class AdaptModelGroup(gtk.GenericTreeModel):
         if (group is self.group
                 and (record.group is self.group
                     or record.group.child_name == self.children_field)):
-            path = self.on_get_path(record)
+            path = record.get_index_path(self.group)
             self.row_deleted(path)
 
     def append(self, model):
@@ -168,7 +168,14 @@ class AdaptModelGroup(gtk.GenericTreeModel):
             prev = record
         if prev:
             prev.next[id(self.group)] = None
-        self.rows_reordered(None, None, new_order)
+        path = gtk.TreePath()
+        # XXX pygobject does not allow to create empty TreePath,
+        # it is always a path of 0
+        # see: https://bugzilla.gnome.org/show_bug.cgi?id=770665
+        if hasattr(path, 'get_depth'):
+            while path.get_depth():
+                path.up()
+        self.rows_reordered(path, None, new_order)
 
     def __len__(self):
         return len(self.group)
@@ -186,22 +193,8 @@ class AdaptModelGroup(gtk.GenericTreeModel):
         # XXX
         return gobject.TYPE_PYOBJECT
 
-    def on_get_path(self, iter_):
-        if isinstance(iter_, tuple):
-            return tuple(x[0] for x in iter_)
-        else:
-            path = []
-            i = iter_
-            while i:
-                path.append(i.group.index(i))
-                if i.group is self.group:
-                    break
-                i = i.parent
-            path.reverse()
-            return tuple(path)
-
-    def on_get_tree_path(self, iter):
-        return self.on_get_path(iter)
+    def on_get_path(self, record):
+        return record.get_index_path(self.group)
 
     def on_get_iter(self, path):
         group = self.group
@@ -337,7 +330,7 @@ class ViewTree(View):
         node_attrs = node_attributes(node)
         name = node_attrs['name']
         field = group.fields[name]
-        for b_field in ('readonly', 'expand', 'tree_invisible'):
+        for b_field in ('readonly', 'expand'):
             if b_field in node_attrs:
                 node_attrs[b_field] = bool(int(node_attrs[b_field]))
         for i_field in ('width', 'height'):
@@ -419,7 +412,9 @@ class ViewTree(View):
         self.set_column_widget(column, None, node_attrs, arrow=False)
         self.set_column_width(column, None, node_attrs)
 
-        column.set_visible(not node_attrs.get('tree_invisible', False))
+        decoder = PYSONDecoder(self.screen.context)
+        column.set_visible(
+            not decoder.decode(node_attrs.get('tree_invisible', '0')))
 
         self.treeview.append_column(column)
 
@@ -460,7 +455,8 @@ class ViewTree(View):
         if field and self.editable:
             required = field.attrs.get('required')
             readonly = field.attrs.get('readonly')
-            if required or not readonly:
+            if (required or not readonly) and hasattr(pango, 'AttrWeight'):
+                # FIXME when Pango.attr_weight_new is introspectable
                 attrlist = pango.AttrList()
                 if required:
                     attrlist.insert(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1))
@@ -522,7 +518,7 @@ class ViewTree(View):
         expand = attributes.get('expand', False)
         column.set_expand(expand)
         column.set_resizable(True)
-        if field and field.attrs['type'] != 'text':
+        if not field or field.attrs['type'] != 'text':
             column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
 
     def get_column_widget(self, column):
@@ -552,7 +548,7 @@ class ViewTree(View):
         for col in self.treeview.get_columns():
             if col != column and getattr(col, 'arrow', None):
                 col.arrow.set(gtk.ARROW_NONE, gtk.SHADOW_NONE)
-        self.screen.order = None
+        self.screen.order = self.screen.default_order
         if column.arrow.props.arrow_type == gtk.ARROW_NONE:
             column.arrow.set(gtk.ARROW_DOWN, gtk.SHADOW_IN)
             self.screen.order = [(column.name, 'ASC')]
@@ -615,7 +611,8 @@ class ViewTree(View):
         # https://bugzilla.gnome.org/show_bug.cgi?id=756177
         self.treeview.drag_source_set(
             gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
-            [('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0)],
+            [gtk.TargetEntry.new(
+                    'MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0)],
             gtk.gdk.ACTION_MOVE)
 
         self.treeview.connect("drag-data-get", self.drag_data_get)
@@ -688,7 +685,7 @@ class ViewTree(View):
                     or sys.platform == 'darwin':
                 data = []
                 selection.selected_foreach(self.copy_foreach, data)
-                clipboard.set_text('\n'.join(data))
+                clipboard.set_text('\n'.join(data), -1)
             else:
                 clipboard.set_with_data(targets, self.copy_get_func,
                         self.copy_clear_func, selection)
@@ -709,7 +706,7 @@ class ViewTree(View):
     def copy_get_func(self, clipboard, selectiondata, info, selection):
         data = []
         selection.selected_foreach(self.copy_foreach, data)
-        clipboard.set_text('\n'.join(data))
+        clipboard.set_text('\n'.join(data), -1)
         del data
         return
 
@@ -784,7 +781,7 @@ class ViewTree(View):
         if not data:
             return
         data = str(data[0])
-        selection.set(selection.target, 8, data)
+        selection.set(selection.get_target(), 8, data)
         return True
 
     def drag_data_received(self, treeview, context, x, y, selection,
@@ -796,7 +793,11 @@ class ViewTree(View):
                 if field.get_state_attrs(
                         record).get('readonly', False):
                     return
-        if not selection.data:
+        try:
+            selection_data = selection.data
+        except AttributeError:
+            selection_data = selection.get_data()
+        if not selection_data:
             return
 
         # Don't received if the treeview was editing because it breaks the
@@ -809,11 +810,11 @@ class ViewTree(View):
 
         model = treeview.get_model()
         try:
-            data = json.loads(selection.data)
+            data = json.loads(selection_data)
         except ValueError:
             return
         record = model.group.get_by_path(data)
-        record_path = model.on_get_path(record)
+        record_path = record.get_index_path(model.group)
         drop_info = treeview.get_dest_row_at_pos(x, y)
 
         def check_recursion(from_, to):
@@ -841,14 +842,19 @@ class ViewTree(View):
                 model.move_into(record, path)
         else:
             model.move_after(record, (len(model) - 1,))
-        context.drop_finish(False, etime)
+        if hasattr(gtk.gdk, 'drop_finish'):
+            gtk.gdk.drop_finish(context, False, etime)
+        else:
+            context.drop_finish(False, etime)
         if self.attributes.get('sequence'):
             record.group.set_sequence(field=self.attributes['sequence'])
         return True
 
     def drag_drop(self, treeview, context, x, y, time):
         treeview.emit_stop_by_name('drag-drop')
-        treeview.drag_get_data(context, context.targets[-1], time)
+        targets = treeview.drag_dest_get_target_list()
+        target = treeview.drag_dest_find_target(context, targets)
+        treeview.drag_get_data(context, target, time)
         return True
 
     def drag_data_delete(self, treeview, context):
@@ -862,23 +868,20 @@ class ViewTree(View):
             except TypeError:
                 # Outside row
                 return False
-            selection = treeview.get_selection()
-            if selection.get_mode() == gtk.SELECTION_SINGLE:
-                model = selection.get_selected()[0]
-            elif selection.get_mode() == gtk.SELECTION_MULTIPLE:
-                model = selection.get_selected_rows()[0]
-            record = model.get_value(model.get_iter(path), 0)
-            group = record.group
             menu = gtk.Menu()
-            menu.popup(None, None, None, event.button, event.time)
-
-            def pop(menu, group, record):
-                copy_item = gtk.ImageMenuItem('gtk-copy')
-                copy_item.connect('activate', lambda x: self.on_copy())
-                menu.append(copy_item)
+            copy_item = gtk.ImageMenuItem('gtk-copy')
+            copy_item.set_use_stock(True)
+            copy_item.connect('activate', lambda x: self.on_copy())
+            menu.append(copy_item)
+            if self.editable:
                 paste_item = gtk.ImageMenuItem('gtk-paste')
+                paste_item.set_use_stock(True)
                 paste_item.connect('activate', lambda x: self.on_paste())
                 menu.append(paste_item)
+            menu.show_all()
+            menu.popup(None, None, None, event.button, event.time)
+
+            def pop(menu, group, record):
                 # Don't activate actions if parent is modified
                 parent = record.parent if record else None
                 while parent:
@@ -905,8 +908,18 @@ class ViewTree(View):
                     label = field.attrs['string']
                     populate(menu, model, record_id, title=label, field=field)
                 menu.show_all()
-            # Delay filling of popup as it can take time
-            gobject.idle_add(pop, menu, group, record)
+
+            selection = treeview.get_selection()
+            if selection.count_selected_rows() == 1:
+                group = self.screen.group
+                if selection.get_mode() == gtk.SELECTION_SINGLE:
+                    model = selection.get_selected()[0]
+                elif selection.get_mode() == gtk.SELECTION_MULTIPLE:
+                    model = selection.get_selected_rows()[0]
+                record = model.get_value(model.get_iter(path), 0)
+                # Delay filling of popup as it can take time
+                gobject.idle_add(pop, menu, group, record)
+            return True  # Don't change the selection
         elif event.button == 2:
             event.button = 1
             event.state |= gtk.gdk.MOD1_MASK
@@ -991,7 +1004,8 @@ class ViewTree(View):
         elif tree_sel.get_mode() == gtk.SELECTION_MULTIPLE:
             model, paths = tree_sel.get_selected_rows()
             if model and paths:
-                record = model.on_get_iter(paths[0])
+                iter_ = model.get_iter(paths[0])
+                record = model.get_value(iter_, 0)
                 self.screen.current_record = record
             else:
                 self.screen.current_record = None
@@ -1045,7 +1059,7 @@ class ViewTree(View):
             self.screen.current_record = current_record
             if current_record:
                 selection = self.treeview.get_selection()
-                path = model.on_get_path(current_record)
+                path = current_record.get_index_path(model.group)
                 selection.select_path(path)
         self.reload = False
         if not current_record:
@@ -1064,12 +1078,13 @@ class ViewTree(View):
         if tab_domain:
             domain.append(tab_domain)
         domain = simplify(domain)
+        decoder = PYSONDecoder(self.screen.context)
         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):
+            if decoder.decode(widget.attrs.get('tree_invisible', '0')):
                 column.set_visible(False)
             elif name == self.screen.exclude_field:
                 column.set_visible(False)
@@ -1144,24 +1159,25 @@ class ViewTree(View):
         self.treeview.grab_focus()
         model = self.treeview.get_model()
         if self.screen.current_record and model:
-            path = model.on_get_path(self.screen.current_record)
+            path = self.screen.current_record.get_index_path(model.group)
             if model.get_flags() & gtk.TREE_MODEL_LIST_ONLY:
                 path = (path[0],)
             focus_column = self.treeview.next_column(path, editable=new)
             if path[:-1]:
-                self.treeview.expand_to_path(path[:-1])
+                self.treeview.expand_to_path(gtk.TreePath(path[:-1]))
             self.treeview.scroll_to_cell(path, focus_column,
                 use_align=False)
             current_path = self.treeview.get_cursor()[0]
             selected_path = \
                 self.treeview.get_selection().get_selected_rows()[1]
+            path = gtk.TreePath(path)
             if (current_path != path and path not in selected_path) or new:
                 self.treeview.set_cursor(path, focus_column, new)
 
     @property
     def selected_records(self):
-        def _func_sel_get(model, path, iter, records):
-            records.append(model.on_get_iter(path))
+        def _func_sel_get(model, path, iter_, records):
+            records.append(model.get_value(iter_, 0))
         records = []
         sel = self.treeview.get_selection()
         sel.selected_foreach(_func_sel_get, records)
@@ -1189,7 +1205,8 @@ class ViewTree(View):
             id_path = []
             for node in row:
                 path += (node,)
-                id_path.append(model.on_get_iter(path).id)
+                iter_ = model.get_iter(path)
+                id_path.append(model.get_value(iter_, 0).id)
             id_paths.append(id_path)
         return id_paths
 
@@ -1199,10 +1216,11 @@ class ViewTree(View):
             return
         selection.unselect_all()
         scroll = False
+        model = self.treeview.get_model()
         for node in nodes:
-            path = path_convert_id2pos(self.treeview.get_model(), node)
+            path = path_convert_id2pos(model, node)
             if path:
-                selection.select_path(path)
+                selection.select_path(gtk.TreePath(path))
                 if not scroll:
                     self.treeview.scroll_to_cell(path)
                     scroll = True
@@ -1211,17 +1229,21 @@ class ViewTree(View):
         # Use id instead of position
         # because the position may change between load
         if not starting_path:
-            starting_path = []
+            starting_path = tuple()
         if not starting_id_path:
             starting_id_path = []
         id_paths = []
         model = self.treeview.get_model()
-        record = model.on_get_iter(starting_path)
-        for path_idx in range(model.on_iter_n_children(record)):
-            path = starting_path + [path_idx]
-            expanded = self.treeview.row_expanded(tuple(path))
+        if starting_path:
+            iter_ = model.get_iter(gtk.TreePath(starting_path))
+        else:
+            iter_ = None
+        for path_idx in range(model.iter_n_children(iter_)):
+            path = starting_path + (path_idx,)
+            expanded = self.treeview.row_expanded(gtk.TreePath(path))
             if expanded:
-                expanded_record = model.on_get_iter(path)
+                iter_ = model.get_iter(path)
+                expanded_record = model.get_value(iter_, 0)
                 id_path = starting_id_path + [expanded_record.id]
                 id_paths.append(id_path)
                 child_id_paths = self.get_expanded_paths(path, id_path)
@@ -1233,4 +1255,4 @@ class ViewTree(View):
         for node in nodes:
             expand_path = path_convert_id2pos(model, node)
             if expand_path:
-                self.treeview.expand_to_path(expand_path)
+                self.treeview.expand_to_path(gtk.TreePath(expand_path))
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 f0c7f81..4a2957b 100644
--- a/tryton/gui/window/view_form/view/list_gtk/widget.py
+++ b/tryton/gui/window/view_form/view/list_gtk/widget.py
@@ -506,7 +506,10 @@ class Binary(GenericText):
 
     def clear_binary(self, renderer, path):
         record, field = self._get_record_field(path)
-        field.set_client(record, False)
+        if self.filename:
+            filename_field = record.group.fields[self.filename]
+            filename_field.set_client(record, None)
+        field.set_client(record, None)
 
 
 class Image(GenericText):
@@ -602,9 +605,11 @@ class M2O(GenericText):
                 callback()
         if obj_id:
             screen.load([obj_id])
-            WinForm(screen, open_callback, save_current=True)
+            WinForm(screen, open_callback, save_current=True,
+                title=field.attrs.get('string'))
         else:
-            WinForm(screen, open_callback, new=True, save_current=True)
+            WinForm(screen, open_callback, new=True, save_current=True,
+                title=field.attrs.get('string'), rec_name=text)
 
     def search_remote(self, record, relation, text, domain=None,
             context=None, callback=None):
@@ -623,7 +628,7 @@ class M2O(GenericText):
         win = WinSearch(relation, search_callback, sel_multi=False,
             context=context, domain=domain,
             view_ids=self.attrs.get('view_ids', '').split(','),
-            new=create_access)
+            new=create_access, title=self.attrs.get('string'))
         win.screen.search_filter(quote(text.decode('utf-8')))
         return win
 
@@ -725,7 +730,8 @@ class O2M(GenericText):
         def open_callback(result):
             if callback:
                 callback()
-        WinForm(screen, open_callback, view_type='tree', context=context)
+        WinForm(screen, open_callback, view_type='tree', context=context,
+            title=field.attrs.get('string'))
 
 
 class M2M(O2M):
@@ -747,7 +753,7 @@ class M2M(O2M):
             if callback:
                 callback()
         WinForm(screen, open_callback, view_type='tree', domain=domain,
-            context=context)
+            context=context, title=field.attrs.get('string'))
 
 
 class Selection(GenericText, SelectionMixin, PopdownMixin):
@@ -757,8 +763,9 @@ class Selection(GenericText, SelectionMixin, PopdownMixin):
             kwargs['renderer'] = CellRendererCombo
         super(Selection, self).__init__(*args, **kwargs)
         self.init_selection()
-        self.renderer.set_property('model',
-            self.get_popdown_model(self.selection)[0])
+        # Use a variable let Python holding reference when calling set_property
+        model = self.get_popdown_model(self.selection)[0]
+        self.renderer.set_property('model', model)
         self.renderer.set_property('text-column', 0)
 
     def get_textual_value(self, record):
@@ -781,8 +788,8 @@ class Selection(GenericText, SelectionMixin, PopdownMixin):
         field = record[self.attrs['name']]
 
         set_value = lambda *a: self.set_value(editable, record, field)
-        editable.child.connect('activate', set_value)
-        editable.child.connect('focus-out-event', set_value)
+        editable.get_child().connect('activate', set_value)
+        editable.get_child().connect('focus-out-event', set_value)
         editable.connect('changed', set_value)
 
         self.update_selection(record, field)
@@ -841,7 +848,10 @@ class ProgressBar(object):
         self.renderer = gtk.CellRendererProgress()
         orientation = self.orientations.get(self.attrs.get('orientation',
             'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
-        self.renderer.set_property('orientation', orientation)
+        if hasattr(self.renderer, 'set_orientation'):
+            self.renderer.set_orientation(orientation)
+        else:
+            self.renderer.set_property('orientation', orientation)
         self.renderer.set_property('yalign', 0)
 
     @realized
diff --git a/tryton/gui/window/view_form/view/screen_container.py b/tryton/gui/window/view_form/view/screen_container.py
index 6ad6a60..ba192c3 100644
--- a/tryton/gui/window/view_form/view/screen_container.py
+++ b/tryton/gui/window/view_form/view/screen_container.py
@@ -62,7 +62,7 @@ class Times(Dates):
 
     def connect_activate(self, callback):
         for widget in self.from_.get_children() + self.to.get_children():
-            widget.child.connect('activate', callback)
+            widget.get_child().connect('activate', callback)
 
 
 class DateTimes(Dates):
@@ -85,7 +85,7 @@ class DateTimes(Dates):
             if isinstance(widget, Date):
                 widget.connect('activate', callback)
             elif isinstance(widget, Time):
-                widget.child.connect('activate', callback)
+                widget.get_child().connect('activate', callback)
 
 
 class Selection(gtk.ScrolledWindow):
@@ -133,6 +133,7 @@ class ScreenContainer(object):
         self.search_table = None
         self.last_search_text = ''
         self.tab_domain = tab_domain or []
+        self.tab_counter = []
 
         tooltips = common.Tooltips()
 
@@ -167,13 +168,13 @@ class ScreenContainer(object):
 
         def popup(widget):
             menu = widget._menu
-            for child in menu.children():
+            for child in menu.get_children():
                 menu.remove(child)
             if not widget.props.active:
                 menu.popdown()
                 return
 
-            def menu_position(menu):
+            def menu_position(menu, data=None):
                 x, y = widget.window.get_origin()
                 widget_allocation = widget.get_allocation()
                 return (
@@ -243,12 +244,22 @@ class ScreenContainer(object):
 
         if self.tab_domain:
             self.notebook = gtk.Notebook()
-            self.notebook.props.homogeneous = True
+            try:
+                self.notebook.props.homogeneous = True
+            except AttributeError:
+                # No more supported by GTK+3
+                pass
             self.notebook.set_scrollable(True)
-            for name, domain in self.tab_domain:
+            for name, domain, count in self.tab_domain:
+                hbox = gtk.HBox(spacing=3)
                 label = gtk.Label('_' + name)
                 label.set_use_underline(True)
-                self.notebook.append_page(gtk.VBox(), label)
+                hbox.pack_start(label, expand=True, fill=True)
+                counter = gtk.Label()
+                hbox.pack_start(counter, expand=False, fill=True)
+                hbox.show_all()
+                self.notebook.append_page(gtk.VBox(), hbox)
+                self.tab_counter.append(counter)
             self.filter_vbox.pack_start(self.notebook, expand=True, fill=True)
             self.notebook.show_all()
             # Set the current page before connecting to switch-page to not
@@ -302,19 +313,17 @@ class ScreenContainer(object):
                 self.vbox.pack_end(self.viewport)
 
     def set(self, widget):
+        viewport1 = self.viewport
+        viewport2 = self.alternate_viewport
         if self.alternate_view:
-            if self.alternate_viewport.get_child():
-                self.alternate_viewport.remove(
-                        self.alternate_viewport.get_child())
-            if widget == self.viewport.get_child():
-                self.viewport.remove(self.viewport.get_child())
-            self.alternate_viewport.add(widget)
-            self.alternate_viewport.show_all()
-            return
-        if self.viewport.get_child():
-            self.viewport.remove(self.viewport.get_child())
-        self.viewport.add(widget)
-        self.viewport.show_all()
+            viewport1, viewport2 = viewport2, viewport1
+
+        if viewport1.get_child():
+            viewport1.remove(viewport1.get_child())
+        if widget == viewport2.get_child():
+            viewport2.remove(widget)
+        viewport1.add(widget)
+        viewport1.show_all()
 
     def update(self):
         res = self.screen.search_complete(self.get_text())
@@ -340,31 +349,32 @@ class ScreenContainer(object):
         self.do_search()
 
     def bookmark_match(self):
-        current_text = self.get_text()
-        current_domain = self.screen.domain_parser.parse(current_text)
-        self.search_entry.set_icon_activatable(gtk.ENTRY_ICON_SECONDARY,
-            bool(current_text))
-        self.search_entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY,
-            bool(current_text))
         icon_stock = self.search_entry.get_icon_stock(gtk.ENTRY_ICON_SECONDARY)
-        for id_, name, domain in self.bookmarks():
-            text = self.screen.domain_parser.string(domain)
-            domain = self.screen.domain_parser.parse(text.decode('utf-8'))
-            if (text == current_text
-                    or domain == current_domain):
-                if icon_stock != 'tryton-star':
-                    self.search_entry.set_icon_from_stock(
-                        gtk.ENTRY_ICON_SECONDARY, 'tryton-star')
-                self.search_entry.set_icon_tooltip_text(
-                    gtk.ENTRY_ICON_SECONDARY, _('Remove this bookmark'))
-                return id_
+        current_text = self.get_text()
+        if current_text:
+            current_domain = self.screen.domain_parser.parse(current_text)
+            self.search_entry.set_icon_activatable(gtk.ENTRY_ICON_SECONDARY,
+                bool(current_text))
+            self.search_entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY,
+                bool(current_text))
+            for id_, name, domain in self.bookmarks():
+                text = self.screen.domain_parser.string(domain)
+                domain = self.screen.domain_parser.parse(text.decode('utf-8'))
+                if (text == current_text
+                        or domain == current_domain):
+                    if icon_stock != 'tryton-star':
+                        self.search_entry.set_icon_from_stock(
+                            gtk.ENTRY_ICON_SECONDARY, 'tryton-star')
+                    self.search_entry.set_icon_tooltip_text(
+                        gtk.ENTRY_ICON_SECONDARY, _('Remove this bookmark'))
+                    return id_
         if icon_stock != 'tryton-unstar':
             self.search_entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY,
                 'tryton-unstar')
         if current_text:
             self.search_entry.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY,
                 _('Bookmark this filter'))
-        else:
+        elif self.search_entry.get_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY):
             self.search_entry.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY,
                 None)
 
@@ -384,6 +394,7 @@ class ScreenContainer(object):
     def switch_page_after(self, notebook, page, page_num):
         self.do_search()
         notebook.grab_focus()
+        self.screen.count_tab_domain()
 
     def get_tab_domain(self):
         if not self.notebook:
@@ -393,6 +404,26 @@ class ScreenContainer(object):
             return []
         return self.tab_domain[idx][1]
 
+    def set_tab_counter(self, count, idx=None):
+        if not self.tab_counter or not self.notebook:
+            return
+        if idx is None:
+            idx = self.notebook.get_current_page()
+        if idx < 0:
+            return
+        label = self.tab_counter[idx]
+        tooltip = common.Tooltips()
+        if count is None:
+            label.set_label('')
+            tooltip.set_tip(label, '')
+        else:
+            tooltip.set_tip(label, '%d' % count)
+            fmt = '(%d)'
+            if count > 99:
+                fmt = '(%d+)'
+                count = 99
+            label.set_label(fmt % count)
+
     def match_selected(self, completion, model, iter):
         def callback():
             if not self.search_entry.props.window:
diff --git a/tryton/gui/window/win_csv.py b/tryton/gui/window/win_csv.py
index 42c7354..4beaa1a 100644
--- a/tryton/gui/window/win_csv.py
+++ b/tryton/gui/window/win_csv.py
@@ -109,7 +109,7 @@ class WinCSV(NoModal):
         frame_fields_selected.set_label_widget(label_fields_selected)
         hbox_mapping.pack_start(frame_fields_selected, True, True, 0)
 
-        frame_csv_param = gtk.Frame(None)
+        frame_csv_param = gtk.Frame()
         frame_csv_param.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
         dialog_vbox.pack_start(frame_csv_param, False, True, 0)
         alignment_csv_param = gtk.Alignment(0.5, 0.5, 1, 1)
@@ -121,7 +121,7 @@ class WinCSV(NoModal):
 
         self.add_chooser(vbox_csv_param)
 
-        expander_csv = gtk.Expander(None)
+        expander_csv = gtk.Expander()
         vbox_csv_param.pack_start(expander_csv, False, True, 0)
         label_csv_param = gtk.Label(_('CSV Parameters'))
         expander_csv.set_label_widget(label_csv_param)
@@ -157,7 +157,10 @@ class WinCSV(NoModal):
         label_csv_enc = gtk.Label(_("Encoding:"))
         label_csv_enc.set_alignment(1, 0.5)
         table.attach(label_csv_enc, 0, 1, 1, 2)
-        self.csv_enc = gtk.combo_box_new_text()
+        if hasattr(gtk, 'ComboBoxText'):
+            self.csv_enc = gtk.ComboBoxText()
+        else:
+            self.csv_enc = gtk.combo_box_new_text()
         for i, encoding in enumerate(encodings):
             self.csv_enc.append_text(encoding)
             if ((os.name == 'nt' and encoding == 'cp1252')
@@ -170,11 +173,9 @@ class WinCSV(NoModal):
 
         button_cancel = gtk.Button("gtk-cancel", stock="gtk-cancel")
         self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
-        button_cancel.set_flags(gtk.CAN_DEFAULT)
 
         button_ok = gtk.Button("gtk-ok", stock="gtk-ok")
         self.dialog.add_action_widget(button_ok, gtk.RESPONSE_OK)
-        button_ok.set_flags(gtk.CAN_DEFAULT)
 
         self.dialog.vbox.pack_start(dialog_vbox)
 
@@ -218,10 +219,12 @@ class WinCSV(NoModal):
         if sys.platform != 'darwin':
             self.view2.drag_source_set(
                 gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
-                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
+                [gtk.TargetEntry.new(
+                        'EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
                 gtk.gdk.ACTION_MOVE)
             self.view2.drag_dest_set(gtk.DEST_DEFAULT_ALL,
-                [('EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
+                [gtk.TargetEntry.new(
+                        'EXPORT_TREE', gtk.TARGET_SAME_WIDGET, 0)],
                 gtk.gdk.ACTION_MOVE)
             self.view2.connect('drag-begin', self.drag_begin)
             self.view2.connect('drag-motion', self.drag_motion)
@@ -239,7 +242,10 @@ class WinCSV(NoModal):
         except TypeError:
             treeview.set_drag_dest_row(len(treeview.get_model()) - 1,
                 gtk.TREE_VIEW_DROP_AFTER)
-        context.drag_status(gtk.gdk.ACTION_MOVE, time)
+        if hasattr(gtk.gdk, 'drag_status'):
+            gtk.gdk.drag_status(context, gtk.gdk.ACTION_MOVE, time)
+        else:
+            context.drag_status(gtk.gdk.ACTION_MOVE, time)
         return True
 
     def drag_drop(self, treeview, context, x, y, time):
@@ -257,18 +263,23 @@ class WinCSV(NoModal):
         treeselection.selected_foreach(_func_sel_get, data)
         if not data:
             return
-        selection.set('STRING', 8, ','.join(str(x) for x in data))
+        data = ','.join(str(x) for x in data)
+        selection.set(selection.get_target(), 8, data)
         return True
 
     def drag_data_received(self, treeview, context, x, y, selection,
             info, etime):
         treeview.emit_stop_by_name('drag-data-received')
-        if not selection.data:
+        try:
+            selection_data = selection.data
+        except AttributeError:
+            selection_data = selection.get_data()
+        if not selection_data:
             return
         store = treeview.get_model()
 
         data_iters = [store.get_iter((int(i),))
-            for i in selection.data.split(',')]
+            for i in selection_data.split(',')]
         drop_info = treeview.get_dest_row_at_pos(x, y)
         if drop_info:
             path, position = drop_info
@@ -283,7 +294,10 @@ class WinCSV(NoModal):
                 store.move_before(item, pos)
             else:
                 store.move_after(item, pos)
-        context.drop_finish(False, etime)
+        if hasattr(gtk.gdk, 'drop_finish'):
+            gtk.gdk.drop_finish(context, False, etime)
+        else:
+            context.drop_finish(False, etime)
         return True
 
     def drag_data_delete(self, treeview, context):
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index f86d028..d9ffdd7 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -77,7 +77,10 @@ class WinExport(WinCSV):
     def add_chooser(self, box):
         hbox_csv_export = gtk.HBox()
         box.pack_start(hbox_csv_export, False, True, 0)
-        self.saveas = gtk.combo_box_new_text()
+        if hasattr(gtk, 'ComboBoxText'):
+            self.saveas = gtk.ComboBoxText()
+        else:
+            self.saveas = gtk.combo_box_new_text()
         hbox_csv_export.pack_start(self.saveas, True, True, 0)
         self.saveas.append_text(_("Open"))
         self.saveas.append_text(_("Save"))
@@ -181,7 +184,7 @@ class WinExport(WinCSV):
         self.pref_export.set_model(self.predef_model)
 
     def addreplace_predef(self, widget):
-        iter = self.model2.get_iter_root()
+        iter = self.model2.get_iter_first()
         fields = []
         while iter:
             field_name = self.model2.get_value(iter, 1)
@@ -275,7 +278,7 @@ class WinExport(WinCSV):
         if response == gtk.RESPONSE_OK:
             fields = []
             fields2 = []
-            iter = self.model2.get_iter_root()
+            iter = self.model2.get_iter_first()
             while iter:
                 fields.append(self.model2.get_value(iter, 1))
                 fields2.append(self.model2.get_value(iter, 0))
@@ -319,12 +322,12 @@ class WinExport(WinCSV):
                 writer.writerow(row)
             if popup:
                 if len(data) == 1:
-                    common.message(_('%d record saved!') % len(data))
+                    common.message(_('%d record saved.') % len(data))
                 else:
-                    common.message(_('%d records saved!') % len(data))
+                    common.message(_('%d records saved.') % len(data))
             return True
         except IOError, exception:
-            common.warning(_("Operation failed!\nError message:\n%s")
+            common.warning(_("Operation failed.\nError message:\n%s")
                 % exception, _('Error'))
             return False
 
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 0df9080..a26d37f 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -17,7 +17,7 @@ class WinForm(NoModal, InfoBar):
 
     def __init__(self, screen, callback, view_type='form',
             new=False, many=0, domain=None, context=None,
-            save_current=False):
+            save_current=False, title='', rec_name=None):
         NoModal.__init__(self)
         self.screen = screen
         self.callback = callback
@@ -25,6 +25,7 @@ class WinForm(NoModal, InfoBar):
         self.domain = domain
         self.context = context
         self.save_current = save_current
+        self.title = title
         self.prev_view = self.screen.current_view
         self.screen.screen_container.alternate_view = True
         if view_type not in (x.view_type for x in self.screen.views) and \
@@ -32,12 +33,11 @@ class WinForm(NoModal, InfoBar):
             self.screen.add_view_id(None, view_type)
         self.screen.switch_view(view_type=view_type)
         if new:
-            self.screen.new()
+            self.screen.new(rec_name=rec_name)
         self.win = gtk.Dialog(_('Link'), self.parent,
                 gtk.DIALOG_DESTROY_WITH_PARENT)
         self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(False)
         self.win.set_deletable(False)
         self.win.connect('delete-event', lambda *a: True)
         self.win.connect('close', self.close)
@@ -82,11 +82,11 @@ class WinForm(NoModal, InfoBar):
             gtk.keysyms.Return, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
         self.win.set_default_response(gtk.RESPONSE_OK)
 
-        self.win.set_title(self.screen.current_view.title)
+        self.win.set_title(self.title)
 
         title = gtk.Label()
         title.modify_font(pango.FontDescription("bold 12"))
-        title.set_label(self.screen.current_view.title)
+        title.set_label(self.title)
         title.set_padding(20, 3)
         title.set_alignment(0.0, 0.5)
         title.set_size_request(0, -1)  # Allow overflow
@@ -109,9 +109,6 @@ class WinForm(NoModal, InfoBar):
 
         self.win.vbox.pack_start(eb, expand=False, fill=True, padding=3)
 
-        self.create_info_bar()
-        self.win.vbox.pack_start(self.info_bar, False, True)
-
         if view_type == 'tree':
             hbox = gtk.HBox(homogeneous=False, spacing=0)
             tooltips = common.Tooltips()
@@ -250,6 +247,9 @@ class WinForm(NoModal, InfoBar):
 
         scroll.add(self.screen.screen_container.alternate_viewport)
 
+        self.create_info_bar()
+        self.win.vbox.pack_start(self.info_bar, False, True)
+
         sensible_allocation = self.sensible_widget.get_allocation()
         self.win.set_default_size(int(sensible_allocation.width * 0.9),
             int(sensible_allocation.height * 0.9))
@@ -410,8 +410,7 @@ class WinForm(NoModal, InfoBar):
                 and response_id in cancel_responses):
             if (self.screen.current_record.id < 0
                     or self.save_current):
-                self.screen.group.remove(self.screen.current_record,
-                    remove=True)
+                self.screen.cancel_current()
             elif self.screen.current_record.modified:
                 self.screen.current_record.cancel()
                 self.screen.current_record.reload()
@@ -434,8 +433,7 @@ class WinForm(NoModal, InfoBar):
     def destroy(self):
         self.screen.screen_container.alternate_view = False
         viewport = self.screen.screen_container.alternate_viewport
-        if viewport.get_child():
-            viewport.remove(viewport.get_child())
+        viewport.get_parent().remove(viewport)
         self.screen.switch_view(view_type=self.prev_view.view_type)
         self.screen.signal_unconnect(self)
         self.win.destroy()
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index 1586893..4890078 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -51,8 +51,8 @@ class WinImport(WinCSV):
         label_csv_skip.set_alignment(1, 0.5)
         table.attach(label_csv_skip, 2, 3, 1, 2)
 
-        self.csv_skip = gtk.SpinButton(
-            gtk.Adjustment(0, 0, 100, 1, 10), 1, 0)
+        self.csv_skip = gtk.SpinButton()
+        self.csv_skip.configure(gtk.Adjustment(0, 0, 100, 1, 10), 1, 0)
         label_csv_skip.set_mnemonic_widget(self.csv_skip)
         table.attach(self.csv_skip, 3, 4, 1, 2)
 
@@ -100,7 +100,7 @@ class WinImport(WinCSV):
     def sig_autodetect(self, widget=None):
         fname = self.import_csv_file.get_filename()
         if not fname:
-            common.message(_('You must select an import file first!'))
+            common.message(_('You must select an import file first.'))
             return True
 
         self.csv_skip.set_value(1)
@@ -167,7 +167,7 @@ class WinImport(WinCSV):
     def response(self, dialog, response):
         if response == gtk.RESPONSE_OK:
             fields = []
-            iter = self.model2.get_iter_root()
+            iter = self.model2.get_iter_first()
             while iter:
                 fields.append(self.model2.get_value(iter, 1))
                 iter = self.model2.iter_next(iter)
@@ -197,6 +197,6 @@ class WinImport(WinCSV):
         except RPCException:
             return
         if count == 1:
-            common.message(_('%d record imported!') % count)
+            common.message(_('%d record imported.') % count)
         else:
-            common.message(_('%d records imported!') % count)
+            common.message(_('%d records imported.') % count)
diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py
index ed1a6e6..fd68456 100644
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -14,7 +14,8 @@ _ = gettext.gettext
 class WinSearch(NoModal):
 
     def __init__(self, model, callback, sel_multi=True, context=None,
-            domain=None, view_ids=None, views_preload=None, new=True):
+            domain=None, view_ids=None, views_preload=None, new=True,
+            title=''):
         NoModal.__init__(self)
         if views_preload is None:
             views_preload = {}
@@ -22,11 +23,11 @@ class WinSearch(NoModal):
         self.context = context or {}
         self.sel_multi = sel_multi
         self.callback = callback
+        self.title = title
 
         self.win = gtk.Dialog(_('Search'), self.parent,
             gtk.DIALOG_DESTROY_WITH_PARENT)
         self.win.set_icon(TRYTON_ICON)
-        self.win.set_has_separator(True)
         self.win.set_default_response(gtk.RESPONSE_APPLY)
         self.win.connect('response', self.response)
 
@@ -61,6 +62,7 @@ class WinSearch(NoModal):
         # Prevent to set tree_state
         self.screen.tree_states_done.add(id(self.view))
         sel = self.view.treeview.get_selection()
+        self.win.set_title(_('Search %s') % self.title)
 
         if not sel_multi:
             sel.set_mode(gtk.SELECTION_SINGLE)
@@ -119,7 +121,7 @@ class WinSearch(NoModal):
                 else:
                     self.callback(None)
             self.destroy()
-            WinForm(screen, callback, new=True)
+            WinForm(screen, callback, new=True, title=self.title)
             return
         if res:
             group = self.screen.group
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index 5d0b27f..b9003a0 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -20,7 +20,7 @@ class Window(object):
 
     @staticmethod
     def create(view_ids, model, res_id=False, domain=None,
-            context=None, order=None, mode=None, name=False, limit=None,
+            context=None, order=None, mode=None, name='', limit=None,
             search_value=None, icon=None, tab_domain=None, context_model=None):
         from tryton.gui import Main
         if context is None:
@@ -42,7 +42,7 @@ class Window(object):
 
     @staticmethod
     def create_wizard(action, data, direct_print=False, email_print=False,
-            email=None, name=False, context=None, icon=None, window=False):
+            email=None, name='', context=None, icon=None, window=False):
         from tryton.gui import Main
         from wizard import WizardForm, WizardDialog
         if window:
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index 5085335..b57f275 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -19,7 +19,7 @@ _ = gettext.gettext
 
 class Wizard(InfoBar):
 
-    def __init__(self, name=False):
+    def __init__(self, name=''):
         super(Wizard, self).__init__()
         self.widget = gtk.VBox(spacing=3)
         self.toolbar_box = None
@@ -60,6 +60,7 @@ class Wizard(InfoBar):
             try:
                 result = result()
             except RPCException:
+                self.destroy()
                 return
             self.session_id, self.start_state, self.end_state = result
             self.state = self.start_state
@@ -179,7 +180,7 @@ class Wizard(InfoBar):
 
         title = gtk.Label()
         title.modify_font(pango.FontDescription("bold 14"))
-        title.set_label(self.screen.current_view.title)
+        title.set_label(self.name)
         title.set_padding(20, 4)
         title.set_alignment(0.0, 0.5)
         title.set_size_request(0, -1)  # Allow overflow
@@ -202,9 +203,6 @@ class Wizard(InfoBar):
 
         self.widget.pack_start(eb, expand=False, fill=True, padding=3)
 
-        self.create_info_bar()
-        self.widget.pack_start(self.info_bar, False, True)
-
         if self.toolbar_box:
             self.widget.pack_start(self.toolbar_box, False, True)
 
@@ -219,7 +217,10 @@ class Wizard(InfoBar):
         self.scrolledwindow.add(viewport)
         self.scrolledwindow.show()
 
-        self.widget.pack_start(self.scrolledwindow)
+        self.widget.pack_start(self.scrolledwindow, expand=True, fill=True)
+
+        self.create_info_bar()
+        self.widget.pack_start(self.info_bar, False, True)
 
         self.screen.new(default=False)
         self.screen.current_record.set_default(defaults)
@@ -230,7 +231,7 @@ class Wizard(InfoBar):
 class WizardForm(Wizard, SignalEvent):
     "Wizard"
 
-    def __init__(self, name=False):
+    def __init__(self, name=''):
         super(WizardForm, self).__init__(name=name)
         self.toolbar_box = gtk.HBox()
         self.hbuttonbox = gtk.HButtonBox()
@@ -282,7 +283,7 @@ class WizardForm(Wizard, SignalEvent):
 
 class WizardDialog(Wizard, NoModal):
 
-    def __init__(self, name=False):
+    def __init__(self, name=''):
         if not name:
             name = _('Wizard')
         Wizard.__init__(self, name=name)
@@ -299,7 +300,7 @@ class WizardDialog(Wizard, NoModal):
         self.accel_group = gtk.AccelGroup()
         self.dia.add_accel_group(self.accel_group)
 
-        self.dia.vbox.add(self.widget)
+        self.dia.vbox.pack_start(self.widget, expand=True, fill=True)
 
         self.register()
 
@@ -314,10 +315,11 @@ class WizardDialog(Wizard, NoModal):
         response = len(self.states)
         self.dia.add_action_widget(button, response)
         if definition['default']:
-            button.set_flags(gtk.CAN_DEFAULT)
             button.add_accelerator('clicked', self.accel_group,
                 gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
                 gtk.ACCEL_VISIBLE)
+            button.set_can_default(True)
+            button.grab_default()
             self.dia.set_default_response(response)
         return button
 
diff --git a/tryton/jsonrpc.py b/tryton/jsonrpc.py
index a933f5f..8f1d8cc 100644
--- a/tryton/jsonrpc.py
+++ b/tryton/jsonrpc.py
@@ -1,10 +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.
 import xmlrpclib
-try:
-    import simplejson as json
-except ImportError:
-    import json
+import json
 import ssl
 import httplib
 from decimal import Decimal
@@ -69,11 +66,6 @@ def object_hook(dct):
 
 class JSONEncoder(json.JSONEncoder):
 
-    def __init__(self, *args, **kwargs):
-        super(JSONEncoder, self).__init__(*args, **kwargs)
-        # Force to use our custom decimal with simplejson
-        self.use_decimal = False
-
     def default(self, obj):
         if isinstance(obj, datetime.date):
             if isinstance(obj, datetime.datetime):
@@ -168,7 +160,7 @@ class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
         return host, extra_headers, x509
 
     def send_content(self, connection, request_body):
-        connection.putheader("Content-Type", "text/json")
+        connection.putheader("Content-Type", "application/json")
         if (self.encode_threshold is not None and
                 self.encode_threshold < len(request_body) and
                 gzip):
@@ -294,6 +286,8 @@ class ServerProxy(xmlrpclib.ServerProxy):
                 request,
                 verbose=self.__verbose
                 )
+        except xmlrpclib.ProtocolError, e:
+            raise Fault(str(e.errcode), e.errmsg)
         except:
             self.__transport.close()
             raise
@@ -315,6 +309,7 @@ class ServerProxy(xmlrpclib.ServerProxy):
 
 
 class ServerPool(object):
+    keep_max = 4
 
     def __init__(self, *args, **kwargs):
         self.ServerProxy = partial(ServerProxy, *args, **kwargs)
@@ -337,10 +332,17 @@ class ServerPool(object):
             self._pool.append(conn)
             del self._used[id(conn)]
 
+            # Remove oldest connections
+            while len(self._pool) > self.keep_max:
+                conn = self._pool.pop()
+                conn.close()
+
     def close(self):
         with self._lock:
             for conn in self._pool + self._used.values():
                 conn.close()
+            self._pool = []
+            self._used.clear()
 
     @property
     def ssl(self):
diff --git a/tryton/pyson.py b/tryton/pyson.py
index cc8d0c6..e30a839 100644
--- a/tryton/pyson.py
+++ b/tryton/pyson.py
@@ -1,9 +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.
-try:
-    import simplejson as json
-except ImportError:
-    import json
+import json
 import datetime
 from dateutil.relativedelta import relativedelta
 from functools import reduce, wraps
@@ -313,10 +310,10 @@ class Greater(PYSON):
         super(Greater, self).__init__()
         for i in (statement1, statement2):
             if isinstance(i, PYSON):
-                assert i.types().issubset(set([int, long, float])), \
+                assert i.types().issubset({int, long, float, type(None)}), \
                     'statement must be an integer or a float'
             else:
-                assert isinstance(i, (int, long, float)), \
+                assert isinstance(i, (int, long, float, type(None))), \
                     'statement must be an integer or a float'
         if isinstance(equal, PYSON):
             assert equal.types() == set([bool])
@@ -344,6 +341,8 @@ class Greater(PYSON):
     @staticmethod
     def _convert(dct):
         for i in ('s1', 's2'):
+            if dct[i] is None:
+                dct[i] = 0.0
             if not isinstance(dct[i], (int, long, float)):
                 dct = dct.copy()
                 dct[i] = float(dct[i])
diff --git a/tryton/rpc.py b/tryton/rpc.py
index 98d6619..de99b52 100644
--- a/tryton/rpc.py
+++ b/tryton/rpc.py
@@ -42,21 +42,13 @@ def db_list(host, port):
         return result
     except Fault, exception:
         if exception.faultCode == 'AccessDenied':
-            logging.getLogger(__name__).debug(-2)
-            return -2
+            logging.getLogger(__name__).debug('AccessDenied')
+            return None
         else:
             logging.getLogger(__name__).debug(repr(None))
             return None
 
 
-def db_exec(host, port, method, database='', *args):
-    connection = ServerProxy(host, port, database=database)
-    logging.getLogger(__name__).info('common.db.%s(%s)' % (method, args))
-    result = getattr(connection.common.db, method)(*args)
-    logging.getLogger(__name__).debug(repr(result))
-    return result
-
-
 def server_version(host, port):
     try:
         connection = ServerProxy(host, port)
@@ -69,36 +61,27 @@ def server_version(host, port):
         return None
 
 
-def login(username, password, host, port, database):
+def login(host, port, database, username, parameters, language=None):
     global CONNECTION, _USER, _USERNAME, _HOST, _PORT, _DATABASE
     global _VIEW_CACHE, _TOOLBAR_CACHE, _KEYWORD_CACHE
-    _VIEW_CACHE = {}
-    _TOOLBAR_CACHE = {}
-    _KEYWORD_CACHE = {}
-    try:
-        if CONNECTION is not None:
-            CONNECTION.close()
-        CONNECTION = ServerPool(host, port, database)
-        logging.getLogger(__name__).info('common.db.login(%s, %s)' %
-            (username, 'x' * 10))
-        with CONNECTION() as conn:
-            result = conn.common.db.login(username, password)
-        logging.getLogger(__name__).debug(repr(result))
-    except socket.error:
-        _USER = None
-        return -1
-    if not result:
-        _USER = None
-        return -2
+    connection = ServerProxy(host, port, database)
+    logging.getLogger(__name__).info('common.db.login(%s, %s, %s)'
+        % (username, 'x' * 10, language))
+    result = connection.common.db.login(username, parameters, language)
+    logging.getLogger(__name__).debug(repr(result))
     _USER = result[0]
     _USERNAME = username
     session = ':'.join(map(str, [username] + result))
+    if CONNECTION is not None:
+        CONNECTION.close()
     CONNECTION = ServerPool(host, port, database, session=session)
     _HOST = host
     _PORT = port
     _DATABASE = database
+    _VIEW_CACHE = {}
+    _TOOLBAR_CACHE = {}
+    _KEYWORD_CACHE = {}
     IPCServer(host, port, database).run()
-    return 1
 
 
 def logout():
diff --git a/tryton/translate.py b/tryton/translate.py
index 3ed4df8..6516416 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -168,9 +168,9 @@ def setlang(lang=None, locale_dict=None):
         if encoding == 'cp1252':
             encoding = '1252'
         try:
-            lang2 = lang
+            lang2 = locale.normalize(lang).split('.')[0]
             if os.name == 'nt':
-                lang2 = _LOCALE2WIN32.get(lang, lang)
+                lang2 = _LOCALE2WIN32.get(lang2, lang2)
             elif sys.platform == 'darwin':
                 encoding = 'UTF-8'
             # ensure environment variable are str
diff --git a/win32/gtk-2.0/gdk-pixbuf.loaders b/win32/gtk-2.0/gdk-pixbuf.loaders
new file mode 100644
index 0000000..4d13e1c
--- /dev/null
+++ b/win32/gtk-2.0/gdk-pixbuf.loaders
@@ -0,0 +1,14 @@
+# GdkPixbuf Image Loader Modules file
+# Automatically generated file, do not edit
+# Created by gdk-pixbuf-query-loaders.exe from gdk-pixbuf-2.35.4
+#
+# LoaderDir = C:\msys32\mingw32/lib/gdk-pixbuf-2.0/2.10.0/loaders
+#
+"lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll"
+"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
+"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
+"svg" "svgz" "svg.gz" ""
+" <svg" "*    " 100
+" <!DOCTYPE svg" "*             " 100
+
+
diff --git a/win32/gtk-2.0/gtk.immodules b/win32/gtk-2.0/gtk.immodules
new file mode 100644
index 0000000..e69de29
diff --git a/win32/gtk-2.0/gtkrc b/win32/gtk-2.0/gtkrc
new file mode 100644
index 0000000..e69de29
-- 
tryton-client



More information about the tryton-debian-vcs mailing list